From daea773fce00eb460612df70522f06c4721ce47d Mon Sep 17 00:00:00 2001 From: Paolo Tranquilli Date: Fri, 14 Jun 2024 17:23:23 +0200 Subject: [PATCH 001/347] Python: tests with false positives around `match` --- .../Functions/return_values/ConsistentReturns.expected | 1 + .../Functions/return_values/functions_test.py | 10 +++++++++- .../Statements/unreachable/UnreachableCode.expected | 2 ++ .../ql/test/query-tests/Statements/unreachable/test.py | 9 +++++++++ 4 files changed, 21 insertions(+), 1 deletion(-) diff --git a/python/ql/test/query-tests/Functions/return_values/ConsistentReturns.expected b/python/ql/test/query-tests/Functions/return_values/ConsistentReturns.expected index 7c0bad373b37..62289acfe3fb 100644 --- a/python/ql/test/query-tests/Functions/return_values/ConsistentReturns.expected +++ b/python/ql/test/query-tests/Functions/return_values/ConsistentReturns.expected @@ -1,2 +1,3 @@ | functions_test.py:18:1:18:11 | Function cr1 | Mixing implicit and explicit returns may indicate an error as implicit returns always return None. | | functions_test.py:22:1:22:11 | Function cr2 | Mixing implicit and explicit returns may indicate an error as implicit returns always return None. | +| functions_test.py:336:1:336:16 | Function ok_match | Mixing implicit and explicit returns may indicate an error as implicit returns always return None. | diff --git a/python/ql/test/query-tests/Functions/return_values/functions_test.py b/python/ql/test/query-tests/Functions/return_values/functions_test.py index c8a7cf377348..409cbb30fd97 100644 --- a/python/ql/test/query-tests/Functions/return_values/functions_test.py +++ b/python/ql/test/query-tests/Functions/return_values/functions_test.py @@ -330,4 +330,12 @@ def indirectly_returning_different_tuple_sizes(x): def mismatched_multi_assign(x): a,b = returning_different_tuple_sizes(x) - return a,b \ No newline at end of file + return a,b + + +def ok_match(x): # FP + match x: + case True | 'true': + return 0 + case _: + raise ValueError(x) diff --git a/python/ql/test/query-tests/Statements/unreachable/UnreachableCode.expected b/python/ql/test/query-tests/Statements/unreachable/UnreachableCode.expected index 2417041f472d..013d7a0fe68d 100644 --- a/python/ql/test/query-tests/Statements/unreachable/UnreachableCode.expected +++ b/python/ql/test/query-tests/Statements/unreachable/UnreachableCode.expected @@ -4,3 +4,5 @@ | test.py:21:5:21:38 | For | This statement is unreachable. | | test.py:28:9:28:21 | ExprStmt | This statement is unreachable. | | test.py:84:5:84:21 | ExceptStmt | This statement is unreachable. | +| test.py:144:13:144:16 | Pass | This statement is unreachable. | +| test.py:147:9:148:16 | Case | This statement is unreachable. | diff --git a/python/ql/test/query-tests/Statements/unreachable/test.py b/python/ql/test/query-tests/Statements/unreachable/test.py index 493dcc24dd15..a58f4172b1b3 100755 --- a/python/ql/test/query-tests/Statements/unreachable/test.py +++ b/python/ql/test/query-tests/Statements/unreachable/test.py @@ -137,3 +137,12 @@ def unreachable_catch_all_raise(x): pass else: raise ValueError(x) + +def ok_match(x): + match x: + case False: + pass # FP + case True: + pass + case _: # FP + pass From 5c8c99d31f210485d9ed170f9468a8f4c5f186bc Mon Sep 17 00:00:00 2001 From: Kevin Stubbings Date: Fri, 30 Aug 2024 18:16:01 -0700 Subject: [PATCH 002/347] Add header support for bottle and tornado --- .../change-notes/2024-08-30-bottle-tornado.md | 4 + .../lib/semmle/python/frameworks/Bottle.qll | 121 ++++++++++++++++++ .../frameworks/bottle/ConceptsTest.expected | 2 + .../frameworks/bottle/ConceptsTest.ql | 2 + 4 files changed, 129 insertions(+) create mode 100644 python/ql/lib/change-notes/2024-08-30-bottle-tornado.md create mode 100644 python/ql/lib/semmle/python/frameworks/Bottle.qll create mode 100644 python/ql/test/library-tests/frameworks/bottle/ConceptsTest.expected create mode 100644 python/ql/test/library-tests/frameworks/bottle/ConceptsTest.ql diff --git a/python/ql/lib/change-notes/2024-08-30-bottle-tornado.md b/python/ql/lib/change-notes/2024-08-30-bottle-tornado.md new file mode 100644 index 000000000000..2562359b073a --- /dev/null +++ b/python/ql/lib/change-notes/2024-08-30-bottle-tornado.md @@ -0,0 +1,4 @@ +--- +category: majorAnalysis +--- +* Added modeling of the `bottle` and `tornado` framework, leading to new remote flow sources and header writes \ No newline at end of file diff --git a/python/ql/lib/semmle/python/frameworks/Bottle.qll b/python/ql/lib/semmle/python/frameworks/Bottle.qll new file mode 100644 index 000000000000..a9e8a83c114f --- /dev/null +++ b/python/ql/lib/semmle/python/frameworks/Bottle.qll @@ -0,0 +1,121 @@ +/** + * Provides classes modeling security-relevant aspects of the `bottle` PyPI package. + * See https://www.tornadoweb.org/en/stable/. + */ + +private import python +private import semmle.python.Concepts +private import semmle.python.dataflow.new.DataFlow +private import semmle.python.ApiGraphs +private import semmle.python.dataflow.new.RemoteFlowSources +private import semmle.python.frameworks.internal.InstanceTaintStepsHelper + +/** + * INTERNAL: Do not use. + * + * Provides models for the `bottle` PyPI package. + * See https://www.tornadoweb.org/en/stable/. + */ +module Bottle { + module BottleModule { + API::Node bottle() { result = API::moduleImport("bottle") } + + module Response { + API::Node response() { + result = bottle().getMember("response") + //or + //result = ModelOutput::getATypeNode("tornado.web.RequestHandler~Subclass").getASubclass*() + } + + /** + * A call to the `bottle.web.RequestHandler.set_header` method. + * + * See https://www.tornadoweb.org/en/stable/web.html#tornado.web.RequestHandler.set_header + */ + class BottleRequestHandlerSetHeaderCall extends Http::Server::ResponseHeaderWrite::Range, + DataFlow::MethodCallNode + { + BottleRequestHandlerSetHeaderCall() { + this = response().getMember(["set_header", "add_header"]).getACall() + } + + override DataFlow::Node getNameArg() { + result in [this.getArg(0), this.getArgByName("name")] + } + + override DataFlow::Node getValueArg() { + result in [this.getArg(1), this.getArgByName("value")] + } + + override predicate nameAllowsNewline() { none() } + + override predicate valueAllowsNewline() { none() } + } + + module Request { + API::Node request() { result = bottle().getMember("request") } + + private class Request extends RemoteFlowSource::Range { + Request() { this = request().asSource() } + + //or + //result = ModelOutput::getATypeNode("tornado.web.RequestHandler~Subclass").getASubclass*() + override string getSourceType() { result = "bottle.request" } + } + + /** + * Taint propagation for `bottle.request`. + * + * See https://flask.palletsprojects.com/en/1.1.x/api/#flask.Request + */ + private class InstanceTaintSteps extends InstanceTaintStepsHelper { + InstanceTaintSteps() { this = "bottle.request" } + + override DataFlow::Node getInstance() { + result = request().getAValueReachableFromSource() + } + + override string getAttributeName() { + result in ["headers", "query", "forms", "params", "json", "url"] + } + + override string getMethodName() { none() } + + override string getAsyncMethodName() { none() } + } + } + + module Header { + API::Node instance() { + result = bottle().getMember("response").getMember("headers") + //or + //result = ModelOutput::getATypeNode("tornado.web.RequestHandler~Subclass").getASubclass*() + } + + /** A dict-like write to a response header. */ + class HeaderWriteSubscript extends Http::Server::ResponseHeaderWrite::Range, DataFlow::Node { + API::Node name; + API::Node value; + + HeaderWriteSubscript() { + exists(API::Node holder | + holder = instance() and + this = holder.asSource() and + value = holder.getSubscriptAt(name) + ) + } + + //name = instance().getASubscript().getIndex().asSink() + override DataFlow::Node getNameArg() { result = name.asSink() } + + override DataFlow::Node getValueArg() { result = value.asSink() } + + // TODO: These checks perhaps could be made more precise. + override predicate nameAllowsNewline() { none() } + + override predicate valueAllowsNewline() { none() } + } + } + } + } +} diff --git a/python/ql/test/library-tests/frameworks/bottle/ConceptsTest.expected b/python/ql/test/library-tests/frameworks/bottle/ConceptsTest.expected new file mode 100644 index 000000000000..a74f2c23cda2 --- /dev/null +++ b/python/ql/test/library-tests/frameworks/bottle/ConceptsTest.expected @@ -0,0 +1,2 @@ +testFailures +failures \ No newline at end of file diff --git a/python/ql/test/library-tests/frameworks/bottle/ConceptsTest.ql b/python/ql/test/library-tests/frameworks/bottle/ConceptsTest.ql new file mode 100644 index 000000000000..d6b791c12a3d --- /dev/null +++ b/python/ql/test/library-tests/frameworks/bottle/ConceptsTest.ql @@ -0,0 +1,2 @@ +import python +import experimental.meta.ConceptsTest \ No newline at end of file From 326eb6946ec02e9dea05b73bf77f2291df5cf80a Mon Sep 17 00:00:00 2001 From: Kevin Stubbings Date: Fri, 30 Aug 2024 18:17:38 -0700 Subject: [PATCH 003/347] Added --- python/ql/lib/semmle/python/Frameworks.qll | 1 + .../lib/semmle/python/frameworks/Tornado.qll | 21 +++++++++++++++++++ 2 files changed, 22 insertions(+) diff --git a/python/ql/lib/semmle/python/Frameworks.qll b/python/ql/lib/semmle/python/Frameworks.qll index 74d4dedd00c6..da35994b955d 100644 --- a/python/ql/lib/semmle/python/Frameworks.qll +++ b/python/ql/lib/semmle/python/Frameworks.qll @@ -15,6 +15,7 @@ private import semmle.python.frameworks.Anyio private import semmle.python.frameworks.Asyncpg private import semmle.python.frameworks.Baize private import semmle.python.frameworks.BSon +private import semmle.python.frameworks.Bottle private import semmle.python.frameworks.CassandraDriver private import semmle.python.frameworks.Cherrypy private import semmle.python.frameworks.ClickhouseDriver diff --git a/python/ql/lib/semmle/python/frameworks/Tornado.qll b/python/ql/lib/semmle/python/frameworks/Tornado.qll index 7cfe381b1f98..a9bf79b7341a 100644 --- a/python/ql/lib/semmle/python/frameworks/Tornado.qll +++ b/python/ql/lib/semmle/python/frameworks/Tornado.qll @@ -605,4 +605,25 @@ module Tornado { override DataFlow::Node getValueArg() { result in [this.getArg(1), this.getArgByName("value")] } } + + /** + * A call to the `tornado.web.RequestHandler.set_header` method. + * + * See https://www.tornadoweb.org/en/stable/web.html#tornado.web.RequestHandler.set_header + */ + class TornadoRequestHandlerSetHeaderCall extends Http::Server::ResponseHeaderWrite::Range, + DataFlow::MethodCallNode + { + TornadoRequestHandlerSetHeaderCall() { + this.calls(TornadoModule::Web::RequestHandler::instance(), "set_header") + } + + override DataFlow::Node getNameArg() { result in [this.getArg(0), this.getArgByName("name")] } + + override DataFlow::Node getValueArg() { result in [this.getArg(1), this.getArgByName("value")] } + + override predicate nameAllowsNewline() { none() } + + override predicate valueAllowsNewline() { none() } + } } From 581e7f5d3c12df2983593695101525fd39655938 Mon Sep 17 00:00:00 2001 From: Kevin Stubbings Date: Tue, 3 Sep 2024 14:00:27 -0700 Subject: [PATCH 004/347] Bottle --- .../lib/semmle/python/frameworks/Bottle.qll | 30 ++++++------------- .../lib/semmle/python/frameworks/Tornado.qll | 21 ------------- 2 files changed, 9 insertions(+), 42 deletions(-) diff --git a/python/ql/lib/semmle/python/frameworks/Bottle.qll b/python/ql/lib/semmle/python/frameworks/Bottle.qll index a9e8a83c114f..85b6f2772f24 100644 --- a/python/ql/lib/semmle/python/frameworks/Bottle.qll +++ b/python/ql/lib/semmle/python/frameworks/Bottle.qll @@ -1,6 +1,6 @@ /** * Provides classes modeling security-relevant aspects of the `bottle` PyPI package. - * See https://www.tornadoweb.org/en/stable/. + * See https://bottlepy.org/docs/dev/. */ private import python @@ -14,28 +14,24 @@ private import semmle.python.frameworks.internal.InstanceTaintStepsHelper * INTERNAL: Do not use. * * Provides models for the `bottle` PyPI package. - * See https://www.tornadoweb.org/en/stable/. + * See https://bottlepy.org/docs/dev/. */ module Bottle { module BottleModule { API::Node bottle() { result = API::moduleImport("bottle") } module Response { - API::Node response() { - result = bottle().getMember("response") - //or - //result = ModelOutput::getATypeNode("tornado.web.RequestHandler~Subclass").getASubclass*() - } + API::Node response() { result = bottle().getMember("response") } /** - * A call to the `bottle.web.RequestHandler.set_header` method. + * A call to the `bottle.web.RequestHandler.set_header` or `bottle.web.RequestHandler.add_header` method. * - * See https://www.tornadoweb.org/en/stable/web.html#tornado.web.RequestHandler.set_header + * See https://bottlepy.org/docs/dev/api.html#bottle.BaseResponse.set_header */ - class BottleRequestHandlerSetHeaderCall extends Http::Server::ResponseHeaderWrite::Range, + class BottleResponseHandlerSetHeaderCall extends Http::Server::ResponseHeaderWrite::Range, DataFlow::MethodCallNode { - BottleRequestHandlerSetHeaderCall() { + BottleResponseHandlerSetHeaderCall() { this = response().getMember(["set_header", "add_header"]).getACall() } @@ -58,15 +54,13 @@ module Bottle { private class Request extends RemoteFlowSource::Range { Request() { this = request().asSource() } - //or - //result = ModelOutput::getATypeNode("tornado.web.RequestHandler~Subclass").getASubclass*() override string getSourceType() { result = "bottle.request" } } /** * Taint propagation for `bottle.request`. * - * See https://flask.palletsprojects.com/en/1.1.x/api/#flask.Request + * See https://bottlepy.org/docs/dev/api.html#bottle.request */ private class InstanceTaintSteps extends InstanceTaintStepsHelper { InstanceTaintSteps() { this = "bottle.request" } @@ -86,11 +80,7 @@ module Bottle { } module Header { - API::Node instance() { - result = bottle().getMember("response").getMember("headers") - //or - //result = ModelOutput::getATypeNode("tornado.web.RequestHandler~Subclass").getASubclass*() - } + API::Node instance() { result = bottle().getMember("response").getMember("headers") } /** A dict-like write to a response header. */ class HeaderWriteSubscript extends Http::Server::ResponseHeaderWrite::Range, DataFlow::Node { @@ -105,12 +95,10 @@ module Bottle { ) } - //name = instance().getASubscript().getIndex().asSink() override DataFlow::Node getNameArg() { result = name.asSink() } override DataFlow::Node getValueArg() { result = value.asSink() } - // TODO: These checks perhaps could be made more precise. override predicate nameAllowsNewline() { none() } override predicate valueAllowsNewline() { none() } diff --git a/python/ql/lib/semmle/python/frameworks/Tornado.qll b/python/ql/lib/semmle/python/frameworks/Tornado.qll index a9bf79b7341a..7cfe381b1f98 100644 --- a/python/ql/lib/semmle/python/frameworks/Tornado.qll +++ b/python/ql/lib/semmle/python/frameworks/Tornado.qll @@ -605,25 +605,4 @@ module Tornado { override DataFlow::Node getValueArg() { result in [this.getArg(1), this.getArgByName("value")] } } - - /** - * A call to the `tornado.web.RequestHandler.set_header` method. - * - * See https://www.tornadoweb.org/en/stable/web.html#tornado.web.RequestHandler.set_header - */ - class TornadoRequestHandlerSetHeaderCall extends Http::Server::ResponseHeaderWrite::Range, - DataFlow::MethodCallNode - { - TornadoRequestHandlerSetHeaderCall() { - this.calls(TornadoModule::Web::RequestHandler::instance(), "set_header") - } - - override DataFlow::Node getNameArg() { result in [this.getArg(0), this.getArgByName("name")] } - - override DataFlow::Node getValueArg() { result in [this.getArg(1), this.getArgByName("value")] } - - override predicate nameAllowsNewline() { none() } - - override predicate valueAllowsNewline() { none() } - } } From bd2564ee4442db410a42d3f9ae944a373fae34b6 Mon Sep 17 00:00:00 2001 From: Kevin Stubbings Date: Tue, 3 Sep 2024 14:34:25 -0700 Subject: [PATCH 005/347] Formatting --- .../lib/change-notes/2024-08-30-bottle-tornado.md | 4 ---- python/ql/lib/change-notes/2024-08-30-bottle.md | 4 ++++ python/ql/lib/semmle/python/frameworks/Bottle.qll | 13 +++++++++---- .../library-tests/frameworks/bottle/ConceptsTest.ql | 2 +- 4 files changed, 14 insertions(+), 9 deletions(-) delete mode 100644 python/ql/lib/change-notes/2024-08-30-bottle-tornado.md create mode 100644 python/ql/lib/change-notes/2024-08-30-bottle.md diff --git a/python/ql/lib/change-notes/2024-08-30-bottle-tornado.md b/python/ql/lib/change-notes/2024-08-30-bottle-tornado.md deleted file mode 100644 index 2562359b073a..000000000000 --- a/python/ql/lib/change-notes/2024-08-30-bottle-tornado.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: majorAnalysis ---- -* Added modeling of the `bottle` and `tornado` framework, leading to new remote flow sources and header writes \ No newline at end of file diff --git a/python/ql/lib/change-notes/2024-08-30-bottle.md b/python/ql/lib/change-notes/2024-08-30-bottle.md new file mode 100644 index 000000000000..b3a07f41f599 --- /dev/null +++ b/python/ql/lib/change-notes/2024-08-30-bottle.md @@ -0,0 +1,4 @@ +--- +category: majorAnalysis +--- +* Added modeling of the `bottle` framework, leading to new remote flow sources and header writes \ No newline at end of file diff --git a/python/ql/lib/semmle/python/frameworks/Bottle.qll b/python/ql/lib/semmle/python/frameworks/Bottle.qll index 85b6f2772f24..d9f97e3b3536 100644 --- a/python/ql/lib/semmle/python/frameworks/Bottle.qll +++ b/python/ql/lib/semmle/python/frameworks/Bottle.qll @@ -5,7 +5,6 @@ private import python private import semmle.python.Concepts -private import semmle.python.dataflow.new.DataFlow private import semmle.python.ApiGraphs private import semmle.python.dataflow.new.RemoteFlowSources private import semmle.python.frameworks.internal.InstanceTaintStepsHelper @@ -17,14 +16,18 @@ private import semmle.python.frameworks.internal.InstanceTaintStepsHelper * See https://bottlepy.org/docs/dev/. */ module Bottle { - module BottleModule { - API::Node bottle() { result = API::moduleImport("bottle") } + /** Gets a reference to the `bottle` module. */ + API::Node bottle() { result = API::moduleImport("bottle") } + /** Provides models for the `bottle` module. */ + module BottleModule { + /** Provides models for the `bottle.response` module */ module Response { + /** Gets a reference to the `bottle.response` module. */ API::Node response() { result = bottle().getMember("response") } /** - * A call to the `bottle.web.RequestHandler.set_header` or `bottle.web.RequestHandler.add_header` method. + * A call to the `bottle.BaseResponse.set_header` or `bottle.BaseResponse.add_header` method. * * See https://bottlepy.org/docs/dev/api.html#bottle.BaseResponse.set_header */ @@ -48,7 +51,9 @@ module Bottle { override predicate valueAllowsNewline() { none() } } + /** Provides models for the `bottle.request` module */ module Request { + /** Gets a reference to the `bottle.request` module. */ API::Node request() { result = bottle().getMember("request") } private class Request extends RemoteFlowSource::Range { diff --git a/python/ql/test/library-tests/frameworks/bottle/ConceptsTest.ql b/python/ql/test/library-tests/frameworks/bottle/ConceptsTest.ql index d6b791c12a3d..b557a0bccb69 100644 --- a/python/ql/test/library-tests/frameworks/bottle/ConceptsTest.ql +++ b/python/ql/test/library-tests/frameworks/bottle/ConceptsTest.ql @@ -1,2 +1,2 @@ import python -import experimental.meta.ConceptsTest \ No newline at end of file +import experimental.meta.ConceptsTest From 6efb3c69efb0d7c74c9ed8a23e89ae8caa7a25f4 Mon Sep 17 00:00:00 2001 From: Kevin Stubbings Date: Tue, 3 Sep 2024 15:54:06 -0700 Subject: [PATCH 006/347] QLformatting --- python/ql/lib/semmle/python/frameworks/Bottle.qll | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/python/ql/lib/semmle/python/frameworks/Bottle.qll b/python/ql/lib/semmle/python/frameworks/Bottle.qll index d9f97e3b3536..2372cfc20f4a 100644 --- a/python/ql/lib/semmle/python/frameworks/Bottle.qll +++ b/python/ql/lib/semmle/python/frameworks/Bottle.qll @@ -84,8 +84,10 @@ module Bottle { } } - module Header { - API::Node instance() { result = bottle().getMember("response").getMember("headers") } + /** Provides models for the `bottle.headers` module */ + module Headers { + /** Gets a reference to the `bottle.headers` module. */ + API::Node headers() { result = bottle().getMember("response").getMember("headers") } /** A dict-like write to a response header. */ class HeaderWriteSubscript extends Http::Server::ResponseHeaderWrite::Range, DataFlow::Node { @@ -94,7 +96,7 @@ module Bottle { HeaderWriteSubscript() { exists(API::Node holder | - holder = instance() and + holder = headers() and this = holder.asSource() and value = holder.getSubscriptAt(name) ) From 5d12f7bd30a87900e818f230189d6c6ee88b7d59 Mon Sep 17 00:00:00 2001 From: Kevin Stubbings Date: Mon, 23 Sep 2024 14:37:22 -0700 Subject: [PATCH 007/347] Pre formatting Bottle tests --- .../lib/semmle/python/frameworks/Bottle.qll | 151 ++++++++++++------ .../bottle/InlineTaintTest.expected | 4 + .../frameworks/bottle/InlineTaintTest.ql | 2 + .../frameworks/bottle/bottle_test.py | 10 ++ .../frameworks/bottle/taint_test.py | 21 +++ 5 files changed, 142 insertions(+), 46 deletions(-) create mode 100644 python/ql/test/library-tests/frameworks/bottle/InlineTaintTest.expected create mode 100644 python/ql/test/library-tests/frameworks/bottle/InlineTaintTest.ql create mode 100644 python/ql/test/library-tests/frameworks/bottle/bottle_test.py create mode 100644 python/ql/test/library-tests/frameworks/bottle/taint_test.py diff --git a/python/ql/lib/semmle/python/frameworks/Bottle.qll b/python/ql/lib/semmle/python/frameworks/Bottle.qll index 2372cfc20f4a..e845d2fd7301 100644 --- a/python/ql/lib/semmle/python/frameworks/Bottle.qll +++ b/python/ql/lib/semmle/python/frameworks/Bottle.qll @@ -4,10 +4,13 @@ */ private import python +private import semmle.python.dataflow.new.DataFlow private import semmle.python.Concepts private import semmle.python.ApiGraphs private import semmle.python.dataflow.new.RemoteFlowSources private import semmle.python.frameworks.internal.InstanceTaintStepsHelper +private import semmle.python.frameworks.Stdlib +private import semmle.python.dataflow.new.RemoteFlowSources /** * INTERNAL: Do not use. @@ -21,11 +24,65 @@ module Bottle { /** Provides models for the `bottle` module. */ module BottleModule { + module App { + API::Node cls() { result = API::moduleImport("bottle").getMember("Bottle") } + + /** Gets a reference to a FastAPI application (an instance of `fastapi.FastAPI`). */ + API::Node instance() { result = cls().getReturn() } + + API::Node app() { result = bottle().getMember("app").getReturn() } + } + + /** Provides models for functions that are possible "views" */ + module View { + /** + * A Bottle view callable, that handles incoming requests. + */ + class ViewCallable extends Function { + ViewCallable() { this = any(BottleRouteSetup rs).getARequestHandler() } + } + + private class BottleRouteSetup extends Http::Server::RouteSetup::Range, DataFlow::CallCfgNode { + BottleRouteSetup() { + this = + [ + App::instance() + .getMember(["route", "get", "post", "put", "delete", "patch"]) + .getACall(), + App::app().getMember(["route", "get", "post", "put", "delete", "patch"]).getACall(), + bottle().getMember(["route", "get", "post", "put", "delete", "patch"]).getACall() + ] + } + + override DataFlow::Node getUrlPatternArg() { + result in [this.getArg(0), this.getArgByName("route")] + } + + override string getFramework() { result = "Bottle" } + + override Parameter getARoutedParameter() { none() } + + override Function getARequestHandler() { result.getADecorator().getAFlowNode() = node } + } + } + /** Provides models for the `bottle.response` module */ module Response { /** Gets a reference to the `bottle.response` module. */ API::Node response() { result = bottle().getMember("response") } + class BottleReturnResponse extends Http::Server::HttpResponse::Range { + BottleReturnResponse() { + this.asCfgNode() = any(View::ViewCallable vc).getAReturnValueFlowNode() + } + + override DataFlow::Node getBody() { result = this } + + override DataFlow::Node getMimetypeOrContentTypeArg() { none() } + + override string getMimetypeDefault() { result = "text/html" } + } + /** * A call to the `bottle.BaseResponse.set_header` or `bottle.BaseResponse.add_header` method. * @@ -50,66 +107,68 @@ module Bottle { override predicate valueAllowsNewline() { none() } } + } - /** Provides models for the `bottle.request` module */ - module Request { - /** Gets a reference to the `bottle.request` module. */ - API::Node request() { result = bottle().getMember("request") } - - private class Request extends RemoteFlowSource::Range { - Request() { this = request().asSource() } - - override string getSourceType() { result = "bottle.request" } - } + /** Provides models for the `bottle.request` module */ + module Request { + /** Gets a reference to the `bottle.request` module. */ + API::Node request() { result = bottle().getMember("request") } - /** - * Taint propagation for `bottle.request`. - * - * See https://bottlepy.org/docs/dev/api.html#bottle.request - */ - private class InstanceTaintSteps extends InstanceTaintStepsHelper { - InstanceTaintSteps() { this = "bottle.request" } + private class Request extends RemoteFlowSource::Range { + Request() { this = request().asSource() } - override DataFlow::Node getInstance() { - result = request().getAValueReachableFromSource() - } + override string getSourceType() { result = "bottle.request" } + } - override string getAttributeName() { - result in ["headers", "query", "forms", "params", "json", "url"] - } + /** + * Taint propagation for `bottle.request`. + * + * See https://bottlepy.org/docs/dev/api.html#bottle.request + */ + private class InstanceTaintSteps extends InstanceTaintStepsHelper { + InstanceTaintSteps() { this = "bottle.request" } - override string getMethodName() { none() } + override DataFlow::Node getInstance() { result = request().getAValueReachableFromSource() } - override string getAsyncMethodName() { none() } + override string getAttributeName() { + result in [ + "headers", "query", "forms", "params", "json", "url", "body", "fullpath", + "query_string" + ] } - } - /** Provides models for the `bottle.headers` module */ - module Headers { - /** Gets a reference to the `bottle.headers` module. */ - API::Node headers() { result = bottle().getMember("response").getMember("headers") } + override string getMethodName() { none() } - /** A dict-like write to a response header. */ - class HeaderWriteSubscript extends Http::Server::ResponseHeaderWrite::Range, DataFlow::Node { - API::Node name; - API::Node value; + override string getAsyncMethodName() { none() } + } + } - HeaderWriteSubscript() { - exists(API::Node holder | - holder = headers() and - this = holder.asSource() and - value = holder.getSubscriptAt(name) - ) - } + /** Provides models for the `bottle.headers` module */ + module Headers { + /** Gets a reference to the `bottle.headers` module. */ + API::Node headers() { result = bottle().getMember("response").getMember("headers") } + + /** A dict-like write to a response header. */ + class HeaderWriteSubscript extends Http::Server::ResponseHeaderWrite::Range, DataFlow::Node { + DataFlow::Node name; + DataFlow::Node value; + + HeaderWriteSubscript() { + exists(SubscriptNode subscript | + this.asCfgNode() = subscript and + value.asCfgNode() = subscript.(DefinitionNode).getValue() and + name.asCfgNode() = subscript.getIndex() and + subscript.getObject() = headers().asSource().asCfgNode() + ) + } - override DataFlow::Node getNameArg() { result = name.asSink() } + override DataFlow::Node getNameArg() { result = name } - override DataFlow::Node getValueArg() { result = value.asSink() } + override DataFlow::Node getValueArg() { result = value } - override predicate nameAllowsNewline() { none() } + override predicate nameAllowsNewline() { none() } - override predicate valueAllowsNewline() { none() } - } + override predicate valueAllowsNewline() { none() } } } } diff --git a/python/ql/test/library-tests/frameworks/bottle/InlineTaintTest.expected b/python/ql/test/library-tests/frameworks/bottle/InlineTaintTest.expected new file mode 100644 index 000000000000..a1a783553972 --- /dev/null +++ b/python/ql/test/library-tests/frameworks/bottle/InlineTaintTest.expected @@ -0,0 +1,4 @@ +argumentToEnsureNotTaintedNotMarkedAsSpurious +untaintedArgumentToEnsureTaintedNotMarkedAsMissing +testFailures +failures \ No newline at end of file diff --git a/python/ql/test/library-tests/frameworks/bottle/InlineTaintTest.ql b/python/ql/test/library-tests/frameworks/bottle/InlineTaintTest.ql new file mode 100644 index 000000000000..cea4ef9a31e8 --- /dev/null +++ b/python/ql/test/library-tests/frameworks/bottle/InlineTaintTest.ql @@ -0,0 +1,2 @@ +import experimental.meta.InlineTaintTest +import MakeInlineTaintTest \ No newline at end of file diff --git a/python/ql/test/library-tests/frameworks/bottle/bottle_test.py b/python/ql/test/library-tests/frameworks/bottle/bottle_test.py new file mode 100644 index 000000000000..a703646539cc --- /dev/null +++ b/python/ql/test/library-tests/frameworks/bottle/bottle_test.py @@ -0,0 +1,10 @@ +import bottle +from bottle import Bottle, response, request + +app = Bottle() +@app.route('/test', method=['OPTIONS', 'GET']) # $ routeSetup="/test" +def test1(): # $ requestHandler + response.headers['Content-type'] = 'application/json' # $ headerWriteName='Content-type' headerWriteValue='application/json' + return '[1]' # $ HttpResponse responseBody='[1]' mimetype=text/html + +app.run() \ No newline at end of file diff --git a/python/ql/test/library-tests/frameworks/bottle/taint_test.py b/python/ql/test/library-tests/frameworks/bottle/taint_test.py new file mode 100644 index 000000000000..3e092178ae4e --- /dev/null +++ b/python/ql/test/library-tests/frameworks/bottle/taint_test.py @@ -0,0 +1,21 @@ +import bottle +from bottle import response, request + + +app = bottle.app() +@app.route('/test', method=['OPTIONS', 'GET']) # $ routeSetup="/test" +def test1(): # $ requestHandler + + ensure_tainted( + request.headers, # $ tainted + request.headers, # $ tainted + request.forms, # $ tainted + request.params, # $ tainted + request.url, # $ tainted + request.body, # $ tainted + request.fullpath, # $ tainted + request.query_string # $ tainted + ) + return '[1]' # $ HttpResponse mimetype=text/html responseBody='[1]' + +app.run() \ No newline at end of file From 05765c42848eb70130f6b4ee189a914596208fb0 Mon Sep 17 00:00:00 2001 From: Kevin Stubbings Date: Mon, 23 Sep 2024 14:51:50 -0700 Subject: [PATCH 008/347] Formatting --- python/ql/lib/semmle/python/frameworks/Bottle.qll | 8 +++++++- .../library-tests/frameworks/bottle/InlineTaintTest.ql | 2 +- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/python/ql/lib/semmle/python/frameworks/Bottle.qll b/python/ql/lib/semmle/python/frameworks/Bottle.qll index e845d2fd7301..3a3b94110cc4 100644 --- a/python/ql/lib/semmle/python/frameworks/Bottle.qll +++ b/python/ql/lib/semmle/python/frameworks/Bottle.qll @@ -24,12 +24,17 @@ module Bottle { /** Provides models for the `bottle` module. */ module BottleModule { + /** + * Provides models for Bottle applications. + */ module App { + /** Gets class `bottle.Bottle`) */ API::Node cls() { result = API::moduleImport("bottle").getMember("Bottle") } - /** Gets a reference to a FastAPI application (an instance of `fastapi.FastAPI`). */ + /** Gets a reference to a Bottle application (an instance of `bottle.Bottle`) */ API::Node instance() { result = cls().getReturn() } + /** Gets a reference to a Bottle application (an instance of `bottle.app`) */ API::Node app() { result = bottle().getMember("app").getReturn() } } @@ -71,6 +76,7 @@ module Bottle { /** Gets a reference to the `bottle.response` module. */ API::Node response() { result = bottle().getMember("response") } + /** A response returned by a view callable. */ class BottleReturnResponse extends Http::Server::HttpResponse::Range { BottleReturnResponse() { this.asCfgNode() = any(View::ViewCallable vc).getAReturnValueFlowNode() diff --git a/python/ql/test/library-tests/frameworks/bottle/InlineTaintTest.ql b/python/ql/test/library-tests/frameworks/bottle/InlineTaintTest.ql index cea4ef9a31e8..8524da5fe7db 100644 --- a/python/ql/test/library-tests/frameworks/bottle/InlineTaintTest.ql +++ b/python/ql/test/library-tests/frameworks/bottle/InlineTaintTest.ql @@ -1,2 +1,2 @@ import experimental.meta.InlineTaintTest -import MakeInlineTaintTest \ No newline at end of file +import MakeInlineTaintTest From b1c0e28aff460f6409676b1c744bcea688fa2e68 Mon Sep 17 00:00:00 2001 From: Kevin Stubbings Date: Mon, 23 Sep 2024 15:00:23 -0700 Subject: [PATCH 009/347] Extra test --- python/ql/test/library-tests/frameworks/bottle/bottle_test.py | 1 + 1 file changed, 1 insertion(+) diff --git a/python/ql/test/library-tests/frameworks/bottle/bottle_test.py b/python/ql/test/library-tests/frameworks/bottle/bottle_test.py index a703646539cc..ab7b9dc856a3 100644 --- a/python/ql/test/library-tests/frameworks/bottle/bottle_test.py +++ b/python/ql/test/library-tests/frameworks/bottle/bottle_test.py @@ -5,6 +5,7 @@ @app.route('/test', method=['OPTIONS', 'GET']) # $ routeSetup="/test" def test1(): # $ requestHandler response.headers['Content-type'] = 'application/json' # $ headerWriteName='Content-type' headerWriteValue='application/json' + response.set_header('Content-type', 'application/json') # $ headerWriteName='Content-type' headerWriteValue='application/json' return '[1]' # $ HttpResponse responseBody='[1]' mimetype=text/html app.run() \ No newline at end of file From e6b775422d594731e4606fbdc0142c2028683818 Mon Sep 17 00:00:00 2001 From: Kevin Stubbings Date: Mon, 23 Sep 2024 15:08:24 -0700 Subject: [PATCH 010/347] Remove redundant imports --- python/ql/lib/semmle/python/frameworks/Bottle.qll | 3 --- 1 file changed, 3 deletions(-) diff --git a/python/ql/lib/semmle/python/frameworks/Bottle.qll b/python/ql/lib/semmle/python/frameworks/Bottle.qll index 3a3b94110cc4..f869209c686d 100644 --- a/python/ql/lib/semmle/python/frameworks/Bottle.qll +++ b/python/ql/lib/semmle/python/frameworks/Bottle.qll @@ -4,14 +4,11 @@ */ private import python -private import semmle.python.dataflow.new.DataFlow private import semmle.python.Concepts private import semmle.python.ApiGraphs private import semmle.python.dataflow.new.RemoteFlowSources private import semmle.python.frameworks.internal.InstanceTaintStepsHelper private import semmle.python.frameworks.Stdlib -private import semmle.python.dataflow.new.RemoteFlowSources - /** * INTERNAL: Do not use. * From 02a664319a5b3f19be0e77e1b745f00171b9b0d3 Mon Sep 17 00:00:00 2001 From: Kevin Stubbings Date: Mon, 23 Sep 2024 15:10:25 -0700 Subject: [PATCH 011/347] formatting --- python/ql/lib/semmle/python/frameworks/Bottle.qll | 1 + 1 file changed, 1 insertion(+) diff --git a/python/ql/lib/semmle/python/frameworks/Bottle.qll b/python/ql/lib/semmle/python/frameworks/Bottle.qll index f869209c686d..000794af707c 100644 --- a/python/ql/lib/semmle/python/frameworks/Bottle.qll +++ b/python/ql/lib/semmle/python/frameworks/Bottle.qll @@ -9,6 +9,7 @@ private import semmle.python.ApiGraphs private import semmle.python.dataflow.new.RemoteFlowSources private import semmle.python.frameworks.internal.InstanceTaintStepsHelper private import semmle.python.frameworks.Stdlib + /** * INTERNAL: Do not use. * From 2d76752ca09cee0aace554fef43ae24f213ee4d9 Mon Sep 17 00:00:00 2001 From: Anders Schack-Mulligen Date: Fri, 27 Sep 2024 11:28:20 +0200 Subject: [PATCH 012/347] Java: Add model for CharArrayWriter.toString(). --- java/ql/lib/ext/java.io.model.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/java/ql/lib/ext/java.io.model.yml b/java/ql/lib/ext/java.io.model.yml index 1d16ed8b8276..8836c5085eba 100644 --- a/java/ql/lib/ext/java.io.model.yml +++ b/java/ql/lib/ext/java.io.model.yml @@ -82,6 +82,7 @@ extensions: - ["java.io", "ByteArrayOutputStream", False, "writeTo", "", "", "Argument[this]", "Argument[0]", "taint", "manual"] - ["java.io", "CharArrayReader", False, "CharArrayReader", "", "", "Argument[0]", "Argument[this]", "taint", "manual"] - ["java.io", "CharArrayWriter", True, "toCharArray", "", "", "Argument[this]", "ReturnValue", "taint", "manual"] + - ["java.io", "CharArrayWriter", True, "toString", "()", "", "Argument[this]", "ReturnValue", "taint", "manual"] - ["java.io", "DataInput", True, "readFully", "", "", "Argument[this]", "Argument[0]", "taint", "manual"] - ["java.io", "DataInput", True, "readLine", "()", "", "Argument[this]", "ReturnValue", "taint", "manual"] - ["java.io", "DataInput", True, "readUTF", "()", "", "Argument[this]", "ReturnValue", "taint", "manual"] From 0483b8004cc62b158e1782dbf65bc2d754485556 Mon Sep 17 00:00:00 2001 From: Kevin Stubbings Date: Tue, 29 Oct 2024 15:45:11 -0700 Subject: [PATCH 013/347] Feedback --- python/ql/lib/semmle/python/frameworks/Bottle.qll | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/python/ql/lib/semmle/python/frameworks/Bottle.qll b/python/ql/lib/semmle/python/frameworks/Bottle.qll index 000794af707c..6b16fcdd4c47 100644 --- a/python/ql/lib/semmle/python/frameworks/Bottle.qll +++ b/python/ql/lib/semmle/python/frameworks/Bottle.qll @@ -26,11 +26,8 @@ module Bottle { * Provides models for Bottle applications. */ module App { - /** Gets class `bottle.Bottle`) */ - API::Node cls() { result = API::moduleImport("bottle").getMember("Bottle") } - /** Gets a reference to a Bottle application (an instance of `bottle.Bottle`) */ - API::Node instance() { result = cls().getReturn() } + API::Node instance() { result = bottle().getMember("Bottle").getReturn() } /** Gets a reference to a Bottle application (an instance of `bottle.app`) */ API::Node app() { result = bottle().getMember("app").getReturn() } @@ -45,15 +42,15 @@ module Bottle { ViewCallable() { this = any(BottleRouteSetup rs).getARequestHandler() } } + string routeMethods() { result = ["route", "get", "post", "put", "delete", "patch"] } + private class BottleRouteSetup extends Http::Server::RouteSetup::Range, DataFlow::CallCfgNode { BottleRouteSetup() { this = [ - App::instance() - .getMember(["route", "get", "post", "put", "delete", "patch"]) - .getACall(), - App::app().getMember(["route", "get", "post", "put", "delete", "patch"]).getACall(), - bottle().getMember(["route", "get", "post", "put", "delete", "patch"]).getACall() + App::instance().getMember(routeMethods()).getACall(), + App::app().getMember(routeMethods()).getACall(), + bottle().getMember(routeMethods()).getACall() ] } From ac411f1254a7783a2e13693b0b04dc5adef1d465 Mon Sep 17 00:00:00 2001 From: Kevin Stubbings Date: Wed, 30 Oct 2024 13:52:38 -0700 Subject: [PATCH 014/347] Second round feedback --- python/ql/lib/semmle/python/frameworks/Bottle.qll | 13 ++++++------- .../library-tests/frameworks/bottle/basic_test.py | 11 +++++++++++ .../bottle/{bottle_test.py => header_test.py} | 0 3 files changed, 17 insertions(+), 7 deletions(-) create mode 100644 python/ql/test/library-tests/frameworks/bottle/basic_test.py rename python/ql/test/library-tests/frameworks/bottle/{bottle_test.py => header_test.py} (100%) diff --git a/python/ql/lib/semmle/python/frameworks/Bottle.qll b/python/ql/lib/semmle/python/frameworks/Bottle.qll index 6b16fcdd4c47..ce2a41dbaf4e 100644 --- a/python/ql/lib/semmle/python/frameworks/Bottle.qll +++ b/python/ql/lib/semmle/python/frameworks/Bottle.qll @@ -27,10 +27,7 @@ module Bottle { */ module App { /** Gets a reference to a Bottle application (an instance of `bottle.Bottle`) */ - API::Node instance() { result = bottle().getMember("Bottle").getReturn() } - - /** Gets a reference to a Bottle application (an instance of `bottle.app`) */ - API::Node app() { result = bottle().getMember("app").getReturn() } + API::Node app() { result = bottle().getMember(["Bottle", "app"]).getReturn() } } /** Provides models for functions that are possible "views" */ @@ -42,13 +39,13 @@ module Bottle { ViewCallable() { this = any(BottleRouteSetup rs).getARequestHandler() } } + /** Get methods that reprsent a route in Bottle */ string routeMethods() { result = ["route", "get", "post", "put", "delete", "patch"] } private class BottleRouteSetup extends Http::Server::RouteSetup::Range, DataFlow::CallCfgNode { BottleRouteSetup() { this = [ - App::instance().getMember(routeMethods()).getACall(), App::app().getMember(routeMethods()).getACall(), bottle().getMember(routeMethods()).getACall() ] @@ -68,8 +65,10 @@ module Bottle { /** Provides models for the `bottle.response` module */ module Response { - /** Gets a reference to the `bottle.response` module. */ - API::Node response() { result = bottle().getMember("response") } + /** Gets a reference to the `bottle.response` module or instantiation of Bottle Response class. */ + API::Node response() { + result = [bottle().getMember("response"), bottle().getMember("Response").getReturn()] + } /** A response returned by a view callable. */ class BottleReturnResponse extends Http::Server::HttpResponse::Range { diff --git a/python/ql/test/library-tests/frameworks/bottle/basic_test.py b/python/ql/test/library-tests/frameworks/bottle/basic_test.py new file mode 100644 index 000000000000..03bc15a027b2 --- /dev/null +++ b/python/ql/test/library-tests/frameworks/bottle/basic_test.py @@ -0,0 +1,11 @@ +# Source: https://bottlepy.org/docs/dev/tutorial.html#the-application-object +from bottle import Bottle, run + +app = Bottle() + +@app.route('/hello') # $ routeSetup="/hello" +def hello(): # $ requestHandler + return "Hello World!" # $ HttpResponse responseBody="Hello World!" mimetype=text/html + +if __name__ == '__main__': + app.run(host='localhost', port=8080) \ No newline at end of file diff --git a/python/ql/test/library-tests/frameworks/bottle/bottle_test.py b/python/ql/test/library-tests/frameworks/bottle/header_test.py similarity index 100% rename from python/ql/test/library-tests/frameworks/bottle/bottle_test.py rename to python/ql/test/library-tests/frameworks/bottle/header_test.py From cee2ed0ec467a9c59d0ceefe4c8a3e4ad638b880 Mon Sep 17 00:00:00 2001 From: Paolo Tranquilli Date: Thu, 31 Oct 2024 14:19:15 +0100 Subject: [PATCH 015/347] Rust: extract some resolved paths --- rust/extractor/src/generated/.generated.list | 2 +- rust/extractor/src/generated/top.rs | 171 ++++++++++++------ rust/extractor/src/translate/base.rs | 113 +++++++++++- rust/ql/.generated.list | 32 ++-- rust/ql/.gitattributes | 12 +- rust/ql/lib/codeql/rust/elements.qll | 1 + .../codeql/rust/elements/MethodCallExpr.qll | 1 + rust/ql/lib/codeql/rust/elements/Path.qll | 2 +- .../lib/codeql/rust/elements/Resolvable.qll | 12 ++ .../elements/internal/MethodCallExprImpl.qll | 6 +- .../rust/elements/internal/NameImpl.qll | 6 +- .../rust/elements/internal/NameRefImpl.qll | 6 +- .../rust/elements/internal/PathImpl.qll | 10 +- .../elements/internal/PathSegmentImpl.qll | 11 +- .../rust/elements/internal/ResolvableImpl.qll | 19 ++ .../internal/generated/MethodCallExpr.qll | 5 +- .../internal/generated/ParentChild.qll | 68 ++++--- .../rust/elements/internal/generated/Path.qll | 4 +- .../rust/elements/internal/generated/Raw.qll | 60 +++--- .../internal/generated/Resolvable.qll | 52 ++++++ .../elements/internal/generated/Synth.qll | 43 ++++- rust/ql/lib/rust.dbscheme | 51 ++++-- .../canonical_path/canonical_path.expected | 28 --- .../canonical_path/canonical_path.ql | 12 -- .../canonical_path/canonical_paths.expected | 70 +++++++ .../canonical_path/canonical_paths.ql | 30 +++ .../canonical_path/canonical_paths.rs | 20 ++ .../MethodCallExpr/MethodCallExpr.expected | 4 +- .../MethodCallExpr/MethodCallExpr.ql | 13 +- ...odCallExpr_getResolvedCrateOrigin.expected | 0 .../MethodCallExpr_getResolvedCrateOrigin.ql | 7 + .../MethodCallExpr_getResolvedPath.expected | 0 .../MethodCallExpr_getResolvedPath.ql | 7 + .../generated/Path/Path.expected | 4 +- .../extractor-tests/generated/Path/Path.ql | 12 +- .../Path/Path_getResolvedCrateOrigin.expected | 0 .../Path/Path_getResolvedCrateOrigin.ql | 7 + .../Path/Path_getResolvedPath.expected | 0 .../generated/Path/Path_getResolvedPath.ql | 7 + rust/schema/annotations.py | 5 +- rust/schema/prelude.py | 8 + 41 files changed, 700 insertions(+), 221 deletions(-) create mode 100644 rust/ql/lib/codeql/rust/elements/Resolvable.qll create mode 100644 rust/ql/lib/codeql/rust/elements/internal/ResolvableImpl.qll create mode 100644 rust/ql/lib/codeql/rust/elements/internal/generated/Resolvable.qll delete mode 100644 rust/ql/test/extractor-tests/canonical_path/canonical_path.expected delete mode 100644 rust/ql/test/extractor-tests/canonical_path/canonical_path.ql create mode 100644 rust/ql/test/extractor-tests/canonical_path/canonical_paths.expected create mode 100644 rust/ql/test/extractor-tests/canonical_path/canonical_paths.ql create mode 100644 rust/ql/test/extractor-tests/generated/MethodCallExpr/MethodCallExpr_getResolvedCrateOrigin.expected create mode 100644 rust/ql/test/extractor-tests/generated/MethodCallExpr/MethodCallExpr_getResolvedCrateOrigin.ql create mode 100644 rust/ql/test/extractor-tests/generated/MethodCallExpr/MethodCallExpr_getResolvedPath.expected create mode 100644 rust/ql/test/extractor-tests/generated/MethodCallExpr/MethodCallExpr_getResolvedPath.ql create mode 100644 rust/ql/test/extractor-tests/generated/Path/Path_getResolvedCrateOrigin.expected create mode 100644 rust/ql/test/extractor-tests/generated/Path/Path_getResolvedCrateOrigin.ql create mode 100644 rust/ql/test/extractor-tests/generated/Path/Path_getResolvedPath.expected create mode 100644 rust/ql/test/extractor-tests/generated/Path/Path_getResolvedPath.ql diff --git a/rust/extractor/src/generated/.generated.list b/rust/extractor/src/generated/.generated.list index d6b6eac35e84..7335c95f7b8c 100644 --- a/rust/extractor/src/generated/.generated.list +++ b/rust/extractor/src/generated/.generated.list @@ -1,2 +1,2 @@ mod.rs 4bcb9def847469aae9d8649461546b7c21ec97cf6e63d3cf394e339915ce65d7 4bcb9def847469aae9d8649461546b7c21ec97cf6e63d3cf394e339915ce65d7 -top.rs 60b0821a7535361e4f0dd280d654c4d8167fca919bda082b17f91ff9878788a5 60b0821a7535361e4f0dd280d654c4d8167fca919bda082b17f91ff9878788a5 +top.rs cdfb9890318d847e6db320abd8b9e9939524ecc47bcdc8491b9c8253bd3178c2 cdfb9890318d847e6db320abd8b9e9939524ecc47bcdc8491b9c8253bd3178c2 diff --git a/rust/extractor/src/generated/top.rs b/rust/extractor/src/generated/top.rs index 8fa8cac061d0..13a0adecbca4 100644 --- a/rust/extractor/src/generated/top.rs +++ b/rust/extractor/src/generated/top.rs @@ -1648,60 +1648,6 @@ impl From> for trap::Label { } } -#[derive(Debug)] -pub struct Path { - pub id: trap::TrapId, - pub qualifier: Option>, - pub part: Option>, -} - -impl trap::TrapEntry for Path { - fn extract_id(&mut self) -> trap::TrapId { - std::mem::replace(&mut self.id, trap::TrapId::Star) - } - - fn emit(self, id: trap::Label, out: &mut trap::Writer) { - out.add_tuple("paths", vec![id.into()]); - if let Some(v) = self.qualifier { - out.add_tuple("path_qualifiers", vec![id.into(), v.into()]); - } - if let Some(v) = self.part { - out.add_tuple("path_parts", vec![id.into(), v.into()]); - } - } -} - -impl trap::TrapClass for Path { - fn class_name() -> &'static str { "Path" } -} - -impl From> for trap::Label { - fn from(value: trap::Label) -> Self { - // SAFETY: this is safe because in the dbscheme Path is a subclass of AstNode - unsafe { - Self::from_untyped(value.as_untyped()) - } - } -} - -impl From> for trap::Label { - fn from(value: trap::Label) -> Self { - // SAFETY: this is safe because in the dbscheme Path is a subclass of Element - unsafe { - Self::from_untyped(value.as_untyped()) - } - } -} - -impl From> for trap::Label { - fn from(value: trap::Label) -> Self { - // SAFETY: this is safe because in the dbscheme Path is a subclass of Locatable - unsafe { - Self::from_untyped(value.as_untyped()) - } - } -} - #[derive(Debug)] pub struct PathSegment { pub id: trap::TrapId, @@ -2116,6 +2062,51 @@ impl From> for trap::Label { } } +#[derive(Debug)] +pub struct Resolvable { + _unused: () +} + +impl Resolvable { + pub fn emit_resolved_path(id: trap::Label, value: String, out: &mut trap::Writer) { + out.add_tuple("resolvable_resolved_paths", vec![id.into(), value.into()]); + } + pub fn emit_resolved_crate_origin(id: trap::Label, value: String, out: &mut trap::Writer) { + out.add_tuple("resolvable_resolved_crate_origins", vec![id.into(), value.into()]); + } +} + +impl trap::TrapClass for Resolvable { + fn class_name() -> &'static str { "Resolvable" } +} + +impl From> for trap::Label { + fn from(value: trap::Label) -> Self { + // SAFETY: this is safe because in the dbscheme Resolvable is a subclass of AstNode + unsafe { + Self::from_untyped(value.as_untyped()) + } + } +} + +impl From> for trap::Label { + fn from(value: trap::Label) -> Self { + // SAFETY: this is safe because in the dbscheme Resolvable is a subclass of Element + unsafe { + Self::from_untyped(value.as_untyped()) + } + } +} + +impl From> for trap::Label { + fn from(value: trap::Label) -> Self { + // SAFETY: this is safe because in the dbscheme Resolvable is a subclass of Locatable + unsafe { + Self::from_untyped(value.as_untyped()) + } + } +} + #[derive(Debug)] pub struct RetType { pub id: trap::TrapId, @@ -6240,6 +6231,69 @@ impl From> for trap::Label { } } +#[derive(Debug)] +pub struct Path { + pub id: trap::TrapId, + pub qualifier: Option>, + pub part: Option>, +} + +impl trap::TrapEntry for Path { + fn extract_id(&mut self) -> trap::TrapId { + std::mem::replace(&mut self.id, trap::TrapId::Star) + } + + fn emit(self, id: trap::Label, out: &mut trap::Writer) { + out.add_tuple("paths", vec![id.into()]); + if let Some(v) = self.qualifier { + out.add_tuple("path_qualifiers", vec![id.into(), v.into()]); + } + if let Some(v) = self.part { + out.add_tuple("path_parts", vec![id.into(), v.into()]); + } + } +} + +impl trap::TrapClass for Path { + fn class_name() -> &'static str { "Path" } +} + +impl From> for trap::Label { + fn from(value: trap::Label) -> Self { + // SAFETY: this is safe because in the dbscheme Path is a subclass of AstNode + unsafe { + Self::from_untyped(value.as_untyped()) + } + } +} + +impl From> for trap::Label { + fn from(value: trap::Label) -> Self { + // SAFETY: this is safe because in the dbscheme Path is a subclass of Element + unsafe { + Self::from_untyped(value.as_untyped()) + } + } +} + +impl From> for trap::Label { + fn from(value: trap::Label) -> Self { + // SAFETY: this is safe because in the dbscheme Path is a subclass of Locatable + unsafe { + Self::from_untyped(value.as_untyped()) + } + } +} + +impl From> for trap::Label { + fn from(value: trap::Label) -> Self { + // SAFETY: this is safe because in the dbscheme Path is a subclass of Resolvable + unsafe { + Self::from_untyped(value.as_untyped()) + } + } +} + #[derive(Debug)] pub struct PathExprBase { _unused: () @@ -9136,6 +9190,15 @@ impl From> for trap::Label { } } +impl From> for trap::Label { + fn from(value: trap::Label) -> Self { + // SAFETY: this is safe because in the dbscheme MethodCallExpr is a subclass of Resolvable + unsafe { + Self::from_untyped(value.as_untyped()) + } + } +} + #[derive(Debug)] pub struct Module { pub id: trap::TrapId, diff --git a/rust/extractor/src/translate/base.rs b/rust/extractor/src/translate/base.rs index 10240632ff51..99b13a2544e5 100644 --- a/rust/extractor/src/translate/base.rs +++ b/rust/extractor/src/translate/base.rs @@ -4,11 +4,12 @@ use crate::generated::{self}; use crate::trap::{DiagnosticSeverity, TrapFile, TrapId}; use crate::trap::{Label, TrapClass}; use codeql_extractor::trap::{self}; +use itertools::Either; use log::Level; use ra_ap_base_db::salsa::InternKey; use ra_ap_base_db::CrateOrigin; use ra_ap_hir::db::ExpandDatabase; -use ra_ap_hir::{Adt, ItemContainer, Module, Semantics, Type}; +use ra_ap_hir::{Adt, Crate, ItemContainer, Module, ModuleDef, PathResolution, Semantics, Type}; use ra_ap_hir_def::type_ref::Mutability; use ra_ap_hir_def::ModuleId; use ra_ap_hir_expand::ExpandTo; @@ -46,6 +47,12 @@ macro_rules! emit_detached { $self.extract_canonical_origin(&$node, $label.into()); }; // TODO canonical origin of other items + (Path, $self:ident, $node:ident, $label:ident) => { + $self.extract_canonical_destination(&$node, $label); + }; + (MethodCallExpr, $self:ident, $node:ident, $label:ident) => { + $self.extract_method_canonical_destination(&$node, $label); + }; ($($_:tt)*) => {}; } @@ -276,13 +283,13 @@ impl<'a> Translator<'a> { } else { let range = self.text_range_for_node(mcall); self.emit_parse_error(mcall, &SyntaxError::new( - format!( - "macro expansion failed: the macro '{}' expands to {:?} but a {:?} was expected", - mcall.path().map(|p| p.to_string()).unwrap_or_default(), - kind, expand_to - ), - range.unwrap_or_else(|| TextRange::empty(TextSize::from(0))), - )); + format!( + "macro expansion failed: the macro '{}' expands to {:?} but a {:?} was expected", + mcall.path().map(|p| p.to_string()).unwrap_or_default(), + kind, expand_to + ), + range.unwrap_or_else(|| TextRange::empty(TextSize::from(0))), + )); } } else { let range = self.text_range_for_node(mcall); @@ -380,10 +387,34 @@ impl<'a> Translator<'a> { Some(format!("{prefix}::{name}")) } + fn canonical_path_from_module_def(&self, item: ModuleDef) -> Option { + match item { + ModuleDef::Module(it) => self.canonical_path_from_hir(it), + ModuleDef::Function(it) => self.canonical_path_from_hir(it), + ModuleDef::Adt(Adt::Enum(it)) => self.canonical_path_from_hir(it), + ModuleDef::Adt(Adt::Struct(it)) => self.canonical_path_from_hir(it), + ModuleDef::Adt(Adt::Union(it)) => self.canonical_path_from_hir(it), + ModuleDef::Trait(it) => self.canonical_path_from_hir(it), + ModuleDef::Static(_) => None, + ModuleDef::TraitAlias(_) => None, + ModuleDef::TypeAlias(_) => None, + ModuleDef::BuiltinType(_) => None, + ModuleDef::Macro(_) => None, + ModuleDef::Variant(_) => None, + ModuleDef::Const(_) => None, + } + } + fn origin_from_hir(&self, item: impl AddressableHir) -> String { // if we have a Hir entity, it means we have semantics let sema = self.semantics.as_ref().unwrap(); - match item.module(sema).krate().origin(sema.db) { + self.origin_from_crate(item.module(sema).krate()) + } + + fn origin_from_crate(&self, item: Crate) -> String { + // if we have a Hir entity, it means we have semantics + let sema = self.semantics.as_ref().unwrap(); + match item.origin(sema.db) { CrateOrigin::Rustc { name } => format!("rustc:{}", name), CrateOrigin::Local { repo, name } => format!( "repo:{}:{}", @@ -397,6 +428,24 @@ impl<'a> Translator<'a> { } } + fn origin_from_module_def(&self, item: ModuleDef) -> Option { + match item { + ModuleDef::Module(it) => Some(self.origin_from_hir(it)), + ModuleDef::Function(it) => Some(self.origin_from_hir(it)), + ModuleDef::Adt(Adt::Enum(it)) => Some(self.origin_from_hir(it)), + ModuleDef::Adt(Adt::Struct(it)) => Some(self.origin_from_hir(it)), + ModuleDef::Adt(Adt::Union(it)) => Some(self.origin_from_hir(it)), + ModuleDef::Trait(it) => Some(self.origin_from_hir(it)), + ModuleDef::Static(_) => None, + ModuleDef::TraitAlias(_) => None, + ModuleDef::TypeAlias(_) => None, + ModuleDef::BuiltinType(_) => None, + ModuleDef::Macro(_) => None, + ModuleDef::Variant(_) => None, + ModuleDef::Const(_) => None, + } + } + pub(crate) fn extract_canonical_origin( &mut self, item: &T, @@ -412,4 +461,50 @@ impl<'a> Translator<'a> { Some(()) })(); } + + pub(crate) fn extract_canonical_destination( + &mut self, + item: &ast::Path, + label: Label, + ) { + (|| { + let sema = self.semantics.as_ref()?; + let resolution = sema.resolve_path(item)?; + let PathResolution::Def(def) = resolution else { + return None; + }; + let origin = self.origin_from_module_def(def)?; + let path = self.canonical_path_from_module_def(def)?; + generated::Resolvable::emit_resolved_crate_origin( + label.into(), + origin, + &mut self.trap.writer, + ); + generated::Resolvable::emit_resolved_path(label.into(), path, &mut self.trap.writer); + Some(()) + })(); + } + + pub(crate) fn extract_method_canonical_destination( + &mut self, + item: &ast::MethodCallExpr, + label: Label, + ) { + (|| { + let sema = self.semantics.as_ref()?; + let resolved = sema.resolve_method_call_fallback(item)?; + let Either::Left(function) = resolved else { + return None; + }; + let origin = self.origin_from_hir(function); + let path = self.canonical_path_from_hir(function)?; + generated::Resolvable::emit_resolved_crate_origin( + label.into(), + origin, + &mut self.trap.writer, + ); + generated::Resolvable::emit_resolved_path(label.into(), path, &mut self.trap.writer); + Some(()) + })(); + } } diff --git a/rust/ql/.generated.list b/rust/ql/.generated.list index c42ae033fc96..3e7c702b65c2 100644 --- a/rust/ql/.generated.list +++ b/rust/ql/.generated.list @@ -82,7 +82,7 @@ lib/codeql/rust/elements/MatchArmList.qll e6c48fd7419d88e996b82eb45e4aa2686dfd07 lib/codeql/rust/elements/MatchExpr.qll e9ef1664f020823b6f4bb72d906a9dc0c1ee6432d4a9a13f7dbdbab2b2b1ee4d 38d71e5c487abcb5682293c573343be66e499a6e131bb630604c120d34b7777b lib/codeql/rust/elements/MatchGuard.qll 20754ab2009a7d40b50feece496ff7f38650586d79190ed2a372308594693694 471f8f118317efcf112f4ddfd60125ca2a9d9b3b08e6ee331c430961de7885ff lib/codeql/rust/elements/Meta.qll 9fa3216c86fa55ed5c0c4671708110a6ffc7c0f5d6cda8dda31aaff17f87534d c44ee2754dd71776ffd0a8a7d6c1ae8737c47e998e6bdb8efab5283625807cf4 -lib/codeql/rust/elements/MethodCallExpr.qll 91b411e0fb1a0547dcad8726db460dccc61bed972741598d5cb3740593fe75a7 538d23b6db115bb699389d29a1829bb0449c08424a1fff80377828eb7ceb2563 +lib/codeql/rust/elements/MethodCallExpr.qll 318a46ba61e3e4f0d6ce0e8fa9f79ccbbf2d0f3d0638e6813e1bcb44d624715a 35e03ed4beddd75834fcfc4371bd65eaf099053aa23f7f1d1e6bea2e5825aa6e lib/codeql/rust/elements/Missing.qll 70e6ac9790314752849c9888443c98223ccfc93a193998b7ce350b2c6ebe8ea4 e2f0623511acaa76b091f748d417714137a8b94f1f2bdbbd177f1c682c786dad lib/codeql/rust/elements/Module.qll 0bc85019177709256f8078d9de2a36f62f848d476225bff7bba1e35f249875c7 3fbb70e0c417a644dd0cada2c364c6e6876cfa16f37960e219c87e49c966c94e lib/codeql/rust/elements/Name.qll 3d7ed16c232912e30e5a075f5087ad344a8f76dcc27bc8f71a80c133802b89d7 036dc3ba0c20eb0907ef6dcc532214aa5de8e0de0fa819eca1fce0355b3741a3 @@ -96,7 +96,7 @@ lib/codeql/rust/elements/ParenExpr.qll b635f0e5d300cd9cf3651cfcefd58316c21727295 lib/codeql/rust/elements/ParenPat.qll 40d033de6c85ad042223e0da80479adebab35494396ab652da85d3497e435c5a 8f2febe5d5cefcb076d201ae9607d403b9cfe8169d2f4b71d13868e0af43dc25 lib/codeql/rust/elements/ParenType.qll e1f5695b143c97b98ccdb460a5cf872461cfc13b83a4f005f26c288dc0afae10 1164f8efae7f255925411bddb33939fab0bf1c07955a16fef173b3f4675d09ae lib/codeql/rust/elements/Pat.qll 56211c5cb4709e7c12a2bfd2da5e413a451672d99e23a8386c08ad0b999fd45c b1b1893a13a75c4f0390f7e2a14ee98a46f067cfdc991a8d43adc82497d20aff -lib/codeql/rust/elements/Path.qll 0655adfe84b08c286022a0307511a781bc1bfc943c12bc50600ebffb9d00e4b0 48e55afee9d019b7c62bfb02110c626c570ecbf683258cf23786807966f0b6fc +lib/codeql/rust/elements/Path.qll a0078e6d57dfd5a3b7fb2be4587f55f8e9c65ee042815a8a5b8dbd5273b4076a 0e2d4f8cbd54bd60aa4929b5fd50fe214346b6c0451f73e45143445d15420108 lib/codeql/rust/elements/PathExpr.qll 906df1d80c662b79f1b0b0428c39754b7f8dbcb2234919dd45dd8206a099dd36 1d6015afab6378c926c5838c9a5772cfcfeedf474e2eeca3e46085300ff8d4e1 lib/codeql/rust/elements/PathExprBase.qll bb41092ec690ae926e3233c215dcaf1fd8e161b8a6955151949f492e02dba13a b2257072f8062d31c29c63ee1311b07e0d2eb37075f582cfc76bb542ef773198 lib/codeql/rust/elements/PathPat.qll 6897e69bcb24b56d39ede796cf5767988dcd5741e02333fa8495dd7c814f771a 2a011fb92f17e4b4ff713e6d29f591054dfede22a9aaa006e67fca2c23ab76bf @@ -118,6 +118,7 @@ lib/codeql/rust/elements/RefExpr.qll 91a0d3a86002289dc01ffbe8daca13e34e92e522fbb lib/codeql/rust/elements/RefPat.qll fe076bdccb454111b38f360837d180274ba8a003b4cffe910b5197cd74188089 2604c8bb2b0b47091d5fc4aa276de46fe3561e346bd98f291c3783cef402ba06 lib/codeql/rust/elements/RefType.qll 5dc6012188d5baf36cd7bf0ebc127e28e98862a3f91ea4df2f9b9c962f3a395d ddb06ebe7fb92ad7bbe86cf182270e8494b74edf91b8c841aaf7ba932e5092ac lib/codeql/rust/elements/Rename.qll 55fa06145f2160304caac0a5ce4cf6a496e41adfd66f44b3c0a1d23229ed8ce0 80262f0abf61749cdf0d5701637db359960f5404ad1dbfdd90f5048d2e7c315d +lib/codeql/rust/elements/Resolvable.qll 213c0c157541002ddd61cc76cdc11386819aa59dff0a81780474cccb6b7fb211 cdcf807587f887493888341a1b6f9bed202b80b37cacc77041a256b05ff4d3d1 lib/codeql/rust/elements/RestPat.qll a898a2c396f974a52424efbc8168174416ac6ed30f90d57c81646d2c08455794 db635ead3fa236e45bbd9955c714ff0abb1e57e1ce80d99dc5bb13438475adbf lib/codeql/rust/elements/RetType.qll 36ea39240a56c504d94d5487ea9679563eef3dfe0e23bf42d992d1ab2b883518 2fe5b6f62a634c6aa30a1ecd620f3446c167669cf1285c8ef8dd5e5a6ef5fc71 lib/codeql/rust/elements/ReturnExpr.qll b87187cff55bc33c8c18558c9b88617179183d1341b322c1cab35ba07167bbdb 892f3a9df2187e745c869e67f33c228ee42754bc9e4f8f4c1718472eb8f8c80f @@ -302,15 +303,12 @@ lib/codeql/rust/elements/internal/MatchGuardImpl.qll 77453be572769507e6515e622e6 lib/codeql/rust/elements/internal/MetaConstructor.qll 49ab9aafdcab7785fc5fc9fb8f7c5bb0ae76cf85d0d259c4b3ac4b0eccbbeb56 bc11aef22661077e398b6ca75e3701fd8d0ac94a0e96dc556a6f6de4089d8b8c lib/codeql/rust/elements/internal/MetaImpl.qll c0768335e8b290d33474fac7d12b994c659c3020dcc488314e6b732000837584 ae56040758f407238008a952a29cf336b3e87115b0ab4bfde15b0d0f90d13b88 lib/codeql/rust/elements/internal/MethodCallExprConstructor.qll a1b3c4587f0ae60d206980b1d9e6881d998f29d2b592a73421d6a44124c70c20 8d4eaa3eb54653fac17f7d95e9cc833fe1398d27c02b2388cd9af8724a560ded -lib/codeql/rust/elements/internal/MethodCallExprImpl.qll 85bb150fa738c4206913cf8de15d3b0525e47c1a2cf5de77ac1978194f4b6333 a565680745b8c1374c17c6a0a9b1b4c8058b4f44ea934e36a919d2eb454b289d lib/codeql/rust/elements/internal/MissingConstructor.qll aab0b7f2846f14a5914661a18c7c9eae71b9bde2162a3c5e5e8a8ecafa20e854 8f30b00b5b7918a7500786cc749b61695158b5b3cc8e9f2277b6b6bf0f7850a0 lib/codeql/rust/elements/internal/MissingImpl.qll e81caa383797dfe837cf101fb78d23ab150b32fef7b47ffcc5489bfcd942ac3e 9f3212d45d77e5888e435e7babd55c1e6b42c3c16f5b1f71170ac41f93ee8d0b lib/codeql/rust/elements/internal/ModuleConstructor.qll 31cc83c9d8f25ac07375d19e568f05c068e1f5aa205ff3d9ac31c2510e6f8468 8a70f3f1c18ff87f17e6baf2f05ccaed55c70469288192fc39ef0bb5531b8c0e lib/codeql/rust/elements/internal/ModuleImpl.qll bbff32cadbad54bdb613df8c1ac6da8cd2a80d0576361b843f1529e6c63b1938 7342473026561b8e4923625a083ba52c31d3b6797f9061accd1a712598244410 lib/codeql/rust/elements/internal/NameConstructor.qll a760134c6d4fc785746e1a5dc042a6bf25b8adaa3947a6897c31e50fd91dd5fd 1359f903d57112bcc1f62a609febb288301bfa810e569aa12e1045fd48b5b5c9 -lib/codeql/rust/elements/internal/NameImpl.qll 1cf9c1aa3bfa6c41b9faf737bfb7e756285aea151c487fbc2be852c47b12e55f a8ccffeb36a55bd224aa98745bfdff86c7bb2bd64bf0ace93088b0bc2376a138 lib/codeql/rust/elements/internal/NameRefConstructor.qll 5ff6eacc614fd41f98b54cbb4960a07a1471cf4ea291758d33e54a48fd5d1bc4 c538d65414a24dfdbeb49cfd997588227559ba038f0b55d14bb5d89ed1a016f2 -lib/codeql/rust/elements/internal/NameRefImpl.qll 6700cc8817e53bee89307a278486cd68d68140ef3f5b18a5ab8035d5a1a9c13a d8f0ce1cab406836c645ab51216af00e6e7922e390efe5252b1ed0697f6e1acc lib/codeql/rust/elements/internal/NeverTypeConstructor.qll 6a86bff9d885eddf39a159698710def40d693ccfd0888aefd090a283cb59ae95 9c51d6569f267dde5597067a8470d19d7714304399de4f730e7b85ca21feee20 lib/codeql/rust/elements/internal/NeverTypeImpl.qll 8c7464cb76f9d081dab318d743817d87ecd69672f382d27323ade94c82e8e0f6 55351661214854bbf7faed6c7d17d598459d4e88eaba130a9b3a9f43f6665c37 lib/codeql/rust/elements/internal/OffsetOfExprConstructor.qll 616e146562adb3ac0fba4d6f55dd6ce60518ed377c0856f1f09ba49593e7bfab 80518ce90fc6d08011d6f5fc2a543958067739e1b0a6a5f2ed90fc9b1db078f0 @@ -331,11 +329,9 @@ lib/codeql/rust/elements/internal/PathConstructor.qll 5c6354c28faf9f28f3efee8e19 lib/codeql/rust/elements/internal/PathExprBaseImpl.qll e8b09447ee41b4123f7d94c6b366b2602d8022c9644f1088c670c7794307ab2e 96b9b328771aaf19ba18d0591e85fcc915c0f930b2479b433de3bfdd2ea25249 lib/codeql/rust/elements/internal/PathExprConstructor.qll cf6e0a338a8ed2d1042bdee4c2c49be5827e8c572d8c56e828db265d39e59ae3 36a3d1b7c5cc2cf527616be787b32071b9e2a6613a4f6b3f82e2a3b0e02a516f lib/codeql/rust/elements/internal/PathExprImpl.qll 01ad25aa940bf949056db86220362f0f5a1b03a772af6a2f6aff8854170c5e49 a0f5ff6b04e2f9f22bda78bb2a7352d890899ba16cb7f6a267af902a3650c5ed -lib/codeql/rust/elements/internal/PathImpl.qll 67ccef5792c0d17d800b910cbda3651aaa5c0ba8daa64e1fea23a1518b562193 6a54b958f7206c43565889a273a64b95aa4b915044a986ffffe7cfb4b8f9c3a9 lib/codeql/rust/elements/internal/PathPatConstructor.qll 966c4ea22218ef71e000d7ce8dd5b570c39ad96b9239a3aa8a38292e2a9f36d2 8a1f348e9257ffc6e6bedcd70389b8e7ec2a3ed6e7b3733744ddfab284826e57 lib/codeql/rust/elements/internal/PathPatImpl.qll 6ab5b5959cfd94e74f60422cbdbd764a5f51ff541db428938c36ba3a512d1d6b 47585157460e8384047de307b0b05deaab758d0f07fd0183d874f7bb9d8bda4b lib/codeql/rust/elements/internal/PathSegmentConstructor.qll 2d9639e42035dc7e73b7d6ddb8a977beadc6b4492dee4292b2f85b4409344441 c337fc3b9ef56366428772563e3f25f711474d16e860d3e89c1395a95d9e83e7 -lib/codeql/rust/elements/internal/PathSegmentImpl.qll f8679dc63f0d71d412c3e1ce7666b050e276229a32ebd79769d90e7201fe27c4 d0a73488338a46fbaf626a00360b385d431da86d8fbc8e313414e1e571e5e7a3 lib/codeql/rust/elements/internal/PathTypeConstructor.qll 8949742c7ab7fcfa3a3f6469e87355a6888931ab9ac7a6a07d2bd51e3fdf8283 fb1a402e94e9a1f33b7757338d7e95b107933339615a4fe86de33e41206dd94a lib/codeql/rust/elements/internal/PathTypeImpl.qll 0e3b85df054d1194505796e457ee31a8dac2a2a77284c077cbf1a3bfc179294e c198d4fdf8d1d55f1cf57685a9ad2adf88cc2d6d4f84bafa1e9f039192761399 lib/codeql/rust/elements/internal/PrefixExprConstructor.qll 90c50b0df2d4b4cbf5e2b7d67a9d243a1af9bfff660b7a70d8b9c7859c28bca7 1a1b5ea1f06ed8d41a658c872e8e1915c241a7c799c691df81b9a7b55d8f2f1e @@ -369,6 +365,7 @@ lib/codeql/rust/elements/internal/RefTypeConstructor.qll e1952aa69586b440f878400 lib/codeql/rust/elements/internal/RefTypeImpl.qll f72b760a8a26be21170435da2cb2981638513617fd82742f45f38bc437d9f2c4 f32df49f0b6df85ca5fc4393ccd341ac4304b4947a282ccea48468a26837ef3d lib/codeql/rust/elements/internal/RenameConstructor.qll 65fa2e938978d154701e6cac05b56320b176ee014ef5c20a7b66f3e94fd5c4a7 dfc0ff4606b8e1c14003cc93a0811f4d62ec993b07ff3c1aa0776746577ed103 lib/codeql/rust/elements/internal/RenameImpl.qll 4f5943fbda4ec772203e651ed4b7dd1fb072219ddc0cb208c0a0951af5e72bd6 b9854cdcf02e70ee372330a4e0bfdb03012bc81af79dd12af2a567fd7fc4672b +lib/codeql/rust/elements/internal/ResolvableImpl.qll 7599625454fe81c3490a122943363a2a2522a7877b78a80649e93155a418fedd 442072c3d70bdaababd7de8bc6c9382f4a50bab41d13759dcd1a5bee9ea32e49 lib/codeql/rust/elements/internal/RestPatConstructor.qll 45430925ddf08fba70ede44c7f413ddb41b3113c149b7efc276e0c2bf72507b4 25c678898d72446e7a975bb8b7f2fde51e55b59dbd42f2cca997c833b1a995f1 lib/codeql/rust/elements/internal/RestPatImpl.qll 1b83464367e5fdc28b0b3946ae74c67c64d30b286c39268b4118337539250e51 83a03308cba4cb3344d48f0a0730b1d3e41a73f16f729d39dc2bae6d3f57f232 lib/codeql/rust/elements/internal/RetTypeConstructor.qll a96d803c6e4b40be49cfed0853a3e04ae917c47351e5c880fcab06eddf1af9cc d06a0a191cb14c270c0441ffc3d289263808170dcbe05e01847a35ac9d61dfb3 @@ -539,7 +536,7 @@ lib/codeql/rust/elements/internal/generated/MatchArmList.qll 13362680c037fe83fef lib/codeql/rust/elements/internal/generated/MatchExpr.qll 689d65f690fe05bc262d0a5bfe69bb4f8a142db387c5765fcc4958a9b49989f8 2979cd2017d0538870d17b2b7592c75cc05b706bd36c9de3e5dc38fa3a957e5b lib/codeql/rust/elements/internal/generated/MatchGuard.qll 521a507883963106780f1782084c581fbcf1179863c7c15438c4db79e30e78dd 6226feffaaa8d828a42ece0c693e616cd375672eb987c3b7ff1ca15fa23c116a lib/codeql/rust/elements/internal/generated/Meta.qll 38fca2c9958b4179de311546fe0850319010aca9cd17c97d57e12b521c5d0947 740f99c9d41044ceebfcc9d29baaa22f59c11a40f45502a34aa587d423c018f8 -lib/codeql/rust/elements/internal/generated/MethodCallExpr.qll 0966b268c9d71a8007044d608935e0c07d2144eaafef4812ef259d68b00a06f4 b3a5ab7ec79a6cfa55f671288b8c7c946883fd2edc0b3fac68221ab742cf8604 +lib/codeql/rust/elements/internal/generated/MethodCallExpr.qll 17bffcc826851a8be32a1900b8fdf777f9bab6aed9f8268d566173c4974c1cf9 134a2860bdf16daafdb3e574c52a69d2598210653db89c2fa062ca25e8f8a649 lib/codeql/rust/elements/internal/generated/Missing.qll 16735d91df04a4e1ae52fae25db5f59a044e540755734bbab46b5fbb0fe6b0bd 28ca4e49fb7e6b4734be2f2f69e7c224c570344cc160ef80c5a5cd413e750dad lib/codeql/rust/elements/internal/generated/Module.qll ebae5d8963c9fd569c0fbad1d7770abd3fd2479437f236cbce0505ba9f9af52c fa3c382115fed18a26f1a755d8749a201b9489f82c09448a88fb8e9e1435fe5f lib/codeql/rust/elements/internal/generated/Name.qll 12aad57744b7d1b04454159536409244c47319aedd580acb58ee93ef9d7f837d 63fc67ccc085db22f82576a53489f15216a7c29d5b941b14a965eab481534e2e @@ -552,9 +549,9 @@ lib/codeql/rust/elements/internal/generated/ParamList.qll c808c9d84dd7800573832b lib/codeql/rust/elements/internal/generated/ParenExpr.qll bc0731505bfe88516205ec360582a4222d2681d11342c93e15258590ddee82f2 d4bd6e0c80cf1d63746c88d4bcb3a01d4c75732e5da09e3ebd9437ced227fb60 lib/codeql/rust/elements/internal/generated/ParenPat.qll ce24b8f8ecbf0f204af200317405724063887257460c80cf250c39b2fdf37185 e7c87d37e1a0ca7ea03840017e1aa9ddb7f927f1f3b6396c0305b46aeee33db6 lib/codeql/rust/elements/internal/generated/ParenType.qll 9cc954d73f8330dcac7b475f97748b63af5c8766dee9d2f2872c0a7e4c903537 c07534c8a9c683c4a9b11d490095647e420de0a0bfc23273eaf6f31b00244273 -lib/codeql/rust/elements/internal/generated/ParentChild.qll b47dca44e6b74947419128e95d51e994ef28e59b02e81110b6a54eb5d2d46f30 f317538e9919e39dfbf3825a96231f8023568f2d4c61d814c4cebaaf8335f94c +lib/codeql/rust/elements/internal/generated/ParentChild.qll b4d25c43ed44715053255c3c2f8aeb8d21826adc365f24026b2123a4f25cba86 1bc4bb0380a1a8b69055ffeac203b11b2a1b94e5ad88d1b32ff659e8feb26016 lib/codeql/rust/elements/internal/generated/Pat.qll 3605ac062be2f294ee73336e9669027b8b655f4ad55660e1eab35266275154ee 7f9400db2884d336dd1d21df2a8093759c2a110be9bf6482ce8e80ae0fd74ed4 -lib/codeql/rust/elements/internal/generated/Path.qll 299abce24762a5ab023f3cf1ab9718b83047e171aed42a8092e7a155914b1657 db1a23d18640c548f08c9f94823838b5e019ac85877c7b15df2d1493d1846572 +lib/codeql/rust/elements/internal/generated/Path.qll f2b1be2f8f44001a6533533c978c4a9a8b7d64838d6f39eef5f0c0e7890611b8 d724a00a38f42429ffa8fb3bffbb5ec69e16a32ceeeb1d1f026fc7adf87424a8 lib/codeql/rust/elements/internal/generated/PathExpr.qll 2096e3c1db22ee488a761690adabfc9cfdea501c99f7c5d96c0019cb113fc506 54245ce0449c4e263173213df01e079d5168a758503a5dbd61b25ad35a311140 lib/codeql/rust/elements/internal/generated/PathExprBase.qll d8218e201b8557fa6d9ca2c30b764e5ad9a04a2e4fb695cc7219bbd7636a6ac2 4ef178426d7095a156f4f8c459b4d16f63abc64336cb50a6cf883a5f7ee09113 lib/codeql/rust/elements/internal/generated/PathPat.qll 98c9938d6a359fd717829b196eb09701d2c798e18c1f43fa7b2a9145afdf6c19 caba2e629cae08682baac90a76ae9a48cda2d7d6f9c23d506fa0ff3f292978a4 @@ -565,7 +562,7 @@ lib/codeql/rust/elements/internal/generated/PtrType.qll 40099c5a4041314b66932dfd lib/codeql/rust/elements/internal/generated/PureSynthConstructors.qll ea294a3ba33fd1bc632046c4fedbcb84dcb961a8e4599969d65893b19d90e590 ea294a3ba33fd1bc632046c4fedbcb84dcb961a8e4599969d65893b19d90e590 lib/codeql/rust/elements/internal/generated/RangeExpr.qll 23cca03bf43535f33b22a38894f70d669787be4e4f5b8fe5c8f7b964d30e9027 18624cef6c6b679eeace2a98737e472432e0ead354cca02192b4d45330f047c9 lib/codeql/rust/elements/internal/generated/RangePat.qll efd93730de217cf50dcba5875595263a5eadf9f7e4e1272401342a094d158614 229b251b3d118932e31e78ac4dfb75f48b766f240f20d436062785606d44467b -lib/codeql/rust/elements/internal/generated/Raw.qll 33a346db246b169742c9f3c00b70a631f1305c2273b9abbeee9ef0dbc7b711c8 8eab21f53c60c1df042c6850b5d3474ad6330a3a71166e8e96a2738c7720800c +lib/codeql/rust/elements/internal/generated/Raw.qll 5f83209cda8319c5c6c932631b60c6f2163d2d9cf7be63f63523e2206c01d004 3581039746e86365f37644e86ac2c89d67e2123aa1b039d9e0afdffc7156c96d lib/codeql/rust/elements/internal/generated/RecordExpr.qll eb6cb662e463f9260efae1a6ce874fa781172063b916ef1963f861e9942d308d 1a21cbccc8f3799ff13281e822818ebfb21d81591720a427cac3625512cb9d40 lib/codeql/rust/elements/internal/generated/RecordExprField.qll 7e9f8663d3b74ebbc9603b10c9912f082febba6bd73d344b100bbd3edf837802 fbe6b578e7fd5d5a6f21bbb8c388957ab7210a6a249ec71510a50fb35b319ea1 lib/codeql/rust/elements/internal/generated/RecordExprFieldList.qll 179a97211fe7aa6265085d4d54115cdbc0e1cd7c9b2135591e8f36d6432f13d3 dd44bbbc1e83a1ed3a587afb729d7debf7aeb7b63245de181726af13090e50c0 @@ -578,6 +575,7 @@ lib/codeql/rust/elements/internal/generated/RefExpr.qll 7d995884e3dc1c25fc719f5d lib/codeql/rust/elements/internal/generated/RefPat.qll 5c4d908f851d89f42cf765007c46ac4199200f9b997f368d5b0e2a435efa82cd 42fd637bc98b5a9275386f1c5fb3ae8c4681987289a89b060991416a25131306 lib/codeql/rust/elements/internal/generated/RefType.qll 3603a3e000acc25c5e675bd4bc4a5551b8f63851591e1e9247709e48d1769dc5 91bea4a1d5ef0779d575567253cd007157d3982524e63a7c49c5cae85cb42e5f lib/codeql/rust/elements/internal/generated/Rename.qll d23f999dab4863f9412e142756f956d79867a3579bd077c56993bdde0a5ac2f1 9256c487d3614bf3d22faa294314f490cf312ab526b8de0882e3a4a371434931 +lib/codeql/rust/elements/internal/generated/Resolvable.qll c038fa24b121ee3e7f6060bce639e7483ea1a14bb552e459b6c67663732dfd6c 4025f2ef318793913e6cfc5d8984e538f402bc062865dcb5496563bec64a2ea9 lib/codeql/rust/elements/internal/generated/RestPat.qll b3a4206e68cf67a0310a466721e7c4b3ab855e65490d589d3d856ad333b3d5e8 30b471bec377784f61d73ef93e74fc0dcec7f512ac4b8791d1ca65f2bcea14b8 lib/codeql/rust/elements/internal/generated/RetType.qll a26860cd526b339b9527c089d126c5486e678dd080e88c60ea2fe641e7d661fd a83c1ce32fd043945ad455b892a60c2a9b6a62d7a5aadf121c4b4056d1dfb094 lib/codeql/rust/elements/internal/generated/ReturnExpr.qll c9c05400d326cd8e0da11c3bfa524daa08b2579ecaee80e468076e5dd7911d56 e7694926727220f46a7617b6ca336767450e359c6fa3782e82b1e21d85d37268 @@ -590,7 +588,7 @@ lib/codeql/rust/elements/internal/generated/Static.qll 5fbd6879858cf356d4bdaa6da lib/codeql/rust/elements/internal/generated/Stmt.qll 8473ff532dd5cc9d7decaddcd174b94d610f6ca0aec8e473cc051dad9f3db917 6ef7d2b5237c2dbdcacbf7d8b39109d4dc100229f2b28b5c9e3e4fbf673ba72b lib/codeql/rust/elements/internal/generated/StmtList.qll a667193e32341e17400867c6e359878c4e645ef9f5f4d97676afc0283a33a026 a320ed678ee359302e2fc1b70a9476705cd616fcfa44a499d32f0c7715627f73 lib/codeql/rust/elements/internal/generated/Struct.qll 4d57f0db12dc7ad3e31e750a24172ef1505406b4dab16386af0674bd18bf8f4b 1a73c83df926b996f629316f74c61ea775be04532ab61b56af904223354f033e -lib/codeql/rust/elements/internal/generated/Synth.qll 68126fecadf402b76a30b6e916b1d1c15db1b06c48a401267bf59ac06aaa5ec3 545f3fa49591cf9a11b9bf6d9c860726db31dffe43be8c96ac3f2cac8d47c010 +lib/codeql/rust/elements/internal/generated/Synth.qll 1ba88215c3f0640558a644534b954e4b93acb15a0f51a1e4887230f451718aa9 747eb3bec1c7245e59ea2b500604f5b4e614e4f061473d1a22fa398ee48ba080 lib/codeql/rust/elements/internal/generated/SynthConstructors.qll e929c49ea60810a2bbc19ad38110b8bbaf21db54dae90393b21a3459a54abf6f e929c49ea60810a2bbc19ad38110b8bbaf21db54dae90393b21a3459a54abf6f lib/codeql/rust/elements/internal/generated/Token.qll 77a91a25ca5669703cf3a4353b591cef4d72caa6b0b9db07bb9e005d69c848d1 2fdffc4882ed3a6ca9ac6d1fb5f1ac5a471ca703e2ffdc642885fa558d6e373b lib/codeql/rust/elements/internal/generated/TokenTree.qll 8577c2b097c1be2f0f7daa5acfcf146f78674a424d99563e08a84dd3e6d91b46 d2f30764e84dbfc0a6a5d3d8a5f935cd432413688cb32da9c94e420fbc10665c @@ -625,7 +623,7 @@ lib/codeql/rust/elements/internal/generated/WhileExpr.qll fec8a9211b82a80601bf73 lib/codeql/rust/elements/internal/generated/WildcardPat.qll d74b70b57a0a66bfae017a329352a5b27a6b9e73dd5521d627f680e810c6c59e 4b913b548ba27ff3c82fcd32cf996ff329cb57d176d3bebd0fcef394486ea499 lib/codeql/rust/elements/internal/generated/YeetExpr.qll cac328200872a35337b4bcb15c851afb4743f82c080f9738d295571eb01d7392 94af734eea08129b587fed849b643e7572800e8330c0b57d727d41abda47930b lib/codeql/rust/elements/internal/generated/YieldExpr.qll 37e5f0c1e373a22bbc53d8b7f2c0e1f476e5be5080b8437c5e964f4e83fad79a 4a9a68643401637bf48e5c2b2f74a6bf0ddcb4ff76f6bffb61d436b685621e85 -lib/codeql/rust/elements.qll 6dc44d60d8180da23e7df8815adafa506936c7704723df0592bd1c6c60280abe 6dc44d60d8180da23e7df8815adafa506936c7704723df0592bd1c6c60280abe +lib/codeql/rust/elements.qll 173d5ffbcc2874757033caab37559e84dbcbfed319730f8e41a4e9e10b146835 173d5ffbcc2874757033caab37559e84dbcbfed319730f8e41a4e9e10b146835 test/extractor-tests/generated/Abi/Abi.ql 7f6e7dc4af86eca3ebdc79b10373988cd0871bd78b51997d3cffd969105e5fdd 2f936b6ca005c6157c755121584410c03e4a3949c23bee302fbe05ee10ce118f test/extractor-tests/generated/Abi/Abi_getAbiString.ql a496762fcec5a0887b87023bbf93e9b650f02e20113e25c44d6e4281ae8f5335 14109c7ce11ba25e3cd6e7f1b3fcb4cb00622f2a4eac91bfe43145c5f366bc52 test/extractor-tests/generated/ArgList/ArgList.ql e412927756e72165d0e7c5c9bd3fca89d08197bbf760db8fb7683c64bb2229bc 043dba8506946fbb87753e22c387987d7eded6ddb963aa067f9e60ef9024d684 @@ -888,12 +886,14 @@ test/extractor-tests/generated/Meta/Meta.ql 16f163f00ba2bbaa0a8c6f3f6710c860a8f6 test/extractor-tests/generated/Meta/Meta_getExpr.ql ec9ec61f5be7d65c32775fb5c068daea04f9db7d875293ed99cc1b2481db041f 77a0c52f1cb6ddc8fdb294d637f9eda1b7301ffa3067f0fca6272d894f57d3ee test/extractor-tests/generated/Meta/Meta_getPath.ql aa9d4145a4e613c51b6e4637d57e3b7d0f66e0bb88f4ce959d598870814c06bb 2087e00686d502c0e2e89c88eae0fb354463576a9ae4101320981d3fd79b9078 test/extractor-tests/generated/Meta/Meta_getTokenTree.ql 1051c27ffd0d9a20436d684fde529b9ff55abe30d50e1d575b0318951e75bd34 983975672d928fb907676628384c949731da9807bf0c781bb7ec749d25733d2d -test/extractor-tests/generated/MethodCallExpr/MethodCallExpr.ql 05b938f3fdc53ca16a6403e79d04d44ba2a7ea3d1f643fc3aa82a04593d459b9 099fa93ce75278505b38e8025fcc6961308bb88866ce3e17748a3f958f01262b +test/extractor-tests/generated/MethodCallExpr/MethodCallExpr.ql 0149a2d174c72a530b39a5878e204cb6db7632935a5ceaf20e2b2363b67dfdf6 8284d9133c21136f89a04105c280efe736a782035235c6abc081f3d9a2616447 test/extractor-tests/generated/MethodCallExpr/MethodCallExpr_getArgList.ql 180e0b1715f5cd2be0de01bff3d3a45594b495b8250748d40ff7108d6c85923d bdadcdbecca5891287a47b6dd6b2fda62e07457718aef39212503ab63bc17783 test/extractor-tests/generated/MethodCallExpr/MethodCallExpr_getAttr.ql 2ce876a04a159efce83b863dffc47fbb714b95daea2b91fa6fbb623d28eed9ec 7bca1cd0e8fbceec0e640afb6800e1780eff5b5b402e71b9b169c0ba26966f96 test/extractor-tests/generated/MethodCallExpr/MethodCallExpr_getGenericArgList.ql 655db9a0501b1ef20d604cc4cd9d708371781291443e8dec97b70ec2914601d2 2fc7df0eca22dcef2f9f5c86d37ee43452d372a4c0f9f4da0194828c82ba93e0 test/extractor-tests/generated/MethodCallExpr/MethodCallExpr_getNameRef.ql 9a4829a174388e818f0c63ee6b8bdf1b68beaab48f51734ec6cc14635d24001c f57c9cdaf5235aad604f60b53ce92e73946d03a085f95ed051a26683967be4ba test/extractor-tests/generated/MethodCallExpr/MethodCallExpr_getReceiver.ql 77407ac956c897ff7234132de1a825f1af5cfd0b6c1fd3a30f64fe08813d56db d80719e02d19c45bd6534c89ec7255652655f5680199854a0a6552b7c7793249 +test/extractor-tests/generated/MethodCallExpr/MethodCallExpr_getResolvedCrateOrigin.ql c22504665900715e8a32dd47627111e8cef4ed2646f74a8886dead15fbc85bb5 d92462cf3cb40dcd383bcaffc67d9a43e840494df9d7491339cbd09a0a73427b +test/extractor-tests/generated/MethodCallExpr/MethodCallExpr_getResolvedPath.ql 9e7bbb7ed60db49b45c3bdf8e01ec58de751889fc394f59ac33f9d6e98200aa1 c055d877e2ff0edc78cce6dd79c78b2881e7940889729cbb5c12e7029ddeb5a3 test/extractor-tests/generated/Module/Module.ql 4bc4d74921a5af94b124a5010cdf6908cdc9ecf26124e354155fba781009071f acca26579b087ce1fc674703c4d95d8d353075d3021c464d2f3fc06891716774 test/extractor-tests/generated/Module/Module_getAttr.ql b97ae3f5175a358bf02c47ec154f7c2a0bd7ca54d0561517008d59344736d5cd f199116633c183826afa9ab8e409c3bf118d8e626647dbc617ae0d40d42e5d25 test/extractor-tests/generated/Module/Module_getCrateOrigin.ql ff479546bf8fe8ef3da60c9c95b7e8e523c415be61839b2fff5f44c146c4e7df b14d3c0577bd6d6e3b6e5f4b93448cdccde424e21327a2e0213715b16c064a52 @@ -926,9 +926,11 @@ test/extractor-tests/generated/ParenPat/ParenPat.ql 565182ccd81a9b420911b488c083 test/extractor-tests/generated/ParenPat/ParenPat_getPat.ql 96f3db0ec4e71fd8706192a16729203448ccc7b0a12ba0abeb0c20757b64fba1 0c66ba801869dc6d48dc0b2bca146757b868e8a88ad9429ba340837750f3a902 test/extractor-tests/generated/ParenType/ParenType.ql 81c8ad667397ce36157941abd9b879e9305a440018853af4528eb737ae4d2935 3ef3b86203b0143be2d7f7f4833f55fd6c226cb9205e3c1940b6c2a1371622f3 test/extractor-tests/generated/ParenType/ParenType_getTy.ql 41dd6605e7b348618156712b559e2f1b6aac02d6c727e8cbf8653530794ec969 30ac6611c730e76cfb75f98efcf817783a50cec0cf3b3197459d7642f74dde85 -test/extractor-tests/generated/Path/Path.ql 2bdcd99b3b5ffc83ac47d8cc27a4561d616bcf06844f0c452c699cd10ee640ca 5a7d7ffb8b0c04d6a8cbb2a953761df8561b796c4372bef1bd55c359b2f19911 +test/extractor-tests/generated/Path/Path.ql f17c1c4d23c0d5e9776cee84444f6ee7445de88afbc1f26c34b96e13ab618158 89499cb0f63b3634d6b5e2b8c4a13bd4401ce82e54af0ab46e41a34b0288eeb9 test/extractor-tests/generated/Path/Path_getPart.ql 8aa45a0b58203ef1177166efbe1c2851faf4b4c9a453c83137f0c9298badcdbf b82d490d9b3a8237487cd5da8b3b6fc4aa477977b332a5c6539b3cd4e6d5b45b test/extractor-tests/generated/Path/Path_getQualifier.ql 9af95e22cdf3a65da6a41d93136aef4523db5ce81d38f6ed4bc613f1c68784d0 3102d9241a417a92c97a53ac56a7a8683463f1adc7a593cda1382c0d25b3f261 +test/extractor-tests/generated/Path/Path_getResolvedCrateOrigin.ql 7c0ff524595514630de4178028260d4832bfc4f57bfddec9f8e72a6c6dbf241c 55e617380476c183ef9259199d2cfd551b07466e94bc452c4723754d0c82691b +test/extractor-tests/generated/Path/Path_getResolvedPath.ql 20c8977781dfe687d5db03290612179cf1360eb47b86ea62d25d1eef62a681e7 c35b76e7d63c05dc80867285bb913042cbe90b45d4d4306df9eac2cba5e8db70 test/extractor-tests/generated/PathExpr/PathExpr.ql b9696cd7ad9f3874e4bc4b1b9c77f42f06ab6c61b77fb641458da63667087b9b db84a7a8dd05e30ff80733af01f08d43ff031bb4b3e3af06332a73ba7e7bbc43 test/extractor-tests/generated/PathExpr/PathExpr_getAttr.ql 2ccac48cd91d86670c1d2742de20344135d424e6f0e3dafcc059555046f92d92 9b7b5f5f9e3674fad9b3a5bcd3cabc0dff32a95640da0fce6f4d0eb931f1757d test/extractor-tests/generated/PathExpr/PathExpr_getPath.ql e7894071313a74166bdd31d7cd974037fcd5a7f0e92d5eec42833266196eb858 46a06e8a1207e7a0fa175cd4b61068e5fd6c43b5575b88986409f0ac2be64c51 diff --git a/rust/ql/.gitattributes b/rust/ql/.gitattributes index 2d19334cbc73..3cc5424a8f9a 100644 --- a/rust/ql/.gitattributes +++ b/rust/ql/.gitattributes @@ -120,6 +120,7 @@ /lib/codeql/rust/elements/RefPat.qll linguist-generated /lib/codeql/rust/elements/RefType.qll linguist-generated /lib/codeql/rust/elements/Rename.qll linguist-generated +/lib/codeql/rust/elements/Resolvable.qll linguist-generated /lib/codeql/rust/elements/RestPat.qll linguist-generated /lib/codeql/rust/elements/RetType.qll linguist-generated /lib/codeql/rust/elements/ReturnExpr.qll linguist-generated @@ -304,15 +305,12 @@ /lib/codeql/rust/elements/internal/MetaConstructor.qll linguist-generated /lib/codeql/rust/elements/internal/MetaImpl.qll linguist-generated /lib/codeql/rust/elements/internal/MethodCallExprConstructor.qll linguist-generated -/lib/codeql/rust/elements/internal/MethodCallExprImpl.qll linguist-generated /lib/codeql/rust/elements/internal/MissingConstructor.qll linguist-generated /lib/codeql/rust/elements/internal/MissingImpl.qll linguist-generated /lib/codeql/rust/elements/internal/ModuleConstructor.qll linguist-generated /lib/codeql/rust/elements/internal/ModuleImpl.qll linguist-generated /lib/codeql/rust/elements/internal/NameConstructor.qll linguist-generated -/lib/codeql/rust/elements/internal/NameImpl.qll linguist-generated /lib/codeql/rust/elements/internal/NameRefConstructor.qll linguist-generated -/lib/codeql/rust/elements/internal/NameRefImpl.qll linguist-generated /lib/codeql/rust/elements/internal/NeverTypeConstructor.qll linguist-generated /lib/codeql/rust/elements/internal/NeverTypeImpl.qll linguist-generated /lib/codeql/rust/elements/internal/OffsetOfExprConstructor.qll linguist-generated @@ -333,11 +331,9 @@ /lib/codeql/rust/elements/internal/PathExprBaseImpl.qll linguist-generated /lib/codeql/rust/elements/internal/PathExprConstructor.qll linguist-generated /lib/codeql/rust/elements/internal/PathExprImpl.qll linguist-generated -/lib/codeql/rust/elements/internal/PathImpl.qll linguist-generated /lib/codeql/rust/elements/internal/PathPatConstructor.qll linguist-generated /lib/codeql/rust/elements/internal/PathPatImpl.qll linguist-generated /lib/codeql/rust/elements/internal/PathSegmentConstructor.qll linguist-generated -/lib/codeql/rust/elements/internal/PathSegmentImpl.qll linguist-generated /lib/codeql/rust/elements/internal/PathTypeConstructor.qll linguist-generated /lib/codeql/rust/elements/internal/PathTypeImpl.qll linguist-generated /lib/codeql/rust/elements/internal/PrefixExprConstructor.qll linguist-generated @@ -371,6 +367,7 @@ /lib/codeql/rust/elements/internal/RefTypeImpl.qll linguist-generated /lib/codeql/rust/elements/internal/RenameConstructor.qll linguist-generated /lib/codeql/rust/elements/internal/RenameImpl.qll linguist-generated +/lib/codeql/rust/elements/internal/ResolvableImpl.qll linguist-generated /lib/codeql/rust/elements/internal/RestPatConstructor.qll linguist-generated /lib/codeql/rust/elements/internal/RestPatImpl.qll linguist-generated /lib/codeql/rust/elements/internal/RetTypeConstructor.qll linguist-generated @@ -580,6 +577,7 @@ /lib/codeql/rust/elements/internal/generated/RefPat.qll linguist-generated /lib/codeql/rust/elements/internal/generated/RefType.qll linguist-generated /lib/codeql/rust/elements/internal/generated/Rename.qll linguist-generated +/lib/codeql/rust/elements/internal/generated/Resolvable.qll linguist-generated /lib/codeql/rust/elements/internal/generated/RestPat.qll linguist-generated /lib/codeql/rust/elements/internal/generated/RetType.qll linguist-generated /lib/codeql/rust/elements/internal/generated/ReturnExpr.qll linguist-generated @@ -896,6 +894,8 @@ /test/extractor-tests/generated/MethodCallExpr/MethodCallExpr_getGenericArgList.ql linguist-generated /test/extractor-tests/generated/MethodCallExpr/MethodCallExpr_getNameRef.ql linguist-generated /test/extractor-tests/generated/MethodCallExpr/MethodCallExpr_getReceiver.ql linguist-generated +/test/extractor-tests/generated/MethodCallExpr/MethodCallExpr_getResolvedCrateOrigin.ql linguist-generated +/test/extractor-tests/generated/MethodCallExpr/MethodCallExpr_getResolvedPath.ql linguist-generated /test/extractor-tests/generated/Module/Module.ql linguist-generated /test/extractor-tests/generated/Module/Module_getAttr.ql linguist-generated /test/extractor-tests/generated/Module/Module_getCrateOrigin.ql linguist-generated @@ -931,6 +931,8 @@ /test/extractor-tests/generated/Path/Path.ql linguist-generated /test/extractor-tests/generated/Path/Path_getPart.ql linguist-generated /test/extractor-tests/generated/Path/Path_getQualifier.ql linguist-generated +/test/extractor-tests/generated/Path/Path_getResolvedCrateOrigin.ql linguist-generated +/test/extractor-tests/generated/Path/Path_getResolvedPath.ql linguist-generated /test/extractor-tests/generated/PathExpr/PathExpr.ql linguist-generated /test/extractor-tests/generated/PathExpr/PathExpr_getAttr.ql linguist-generated /test/extractor-tests/generated/PathExpr/PathExpr_getPath.ql linguist-generated diff --git a/rust/ql/lib/codeql/rust/elements.qll b/rust/ql/lib/codeql/rust/elements.qll index 10411df5a797..b516d8a9d185 100644 --- a/rust/ql/lib/codeql/rust/elements.qll +++ b/rust/ql/lib/codeql/rust/elements.qll @@ -123,6 +123,7 @@ import codeql.rust.elements.RefExpr import codeql.rust.elements.RefPat import codeql.rust.elements.RefType import codeql.rust.elements.Rename +import codeql.rust.elements.Resolvable import codeql.rust.elements.RestPat import codeql.rust.elements.RetType import codeql.rust.elements.ReturnExpr diff --git a/rust/ql/lib/codeql/rust/elements/MethodCallExpr.qll b/rust/ql/lib/codeql/rust/elements/MethodCallExpr.qll index fca8b0861345..c3d62106100e 100644 --- a/rust/ql/lib/codeql/rust/elements/MethodCallExpr.qll +++ b/rust/ql/lib/codeql/rust/elements/MethodCallExpr.qll @@ -8,6 +8,7 @@ import codeql.rust.elements.CallExprBase import codeql.rust.elements.Expr import codeql.rust.elements.GenericArgList import codeql.rust.elements.NameRef +import codeql.rust.elements.Resolvable /** * A method call expression. For example: diff --git a/rust/ql/lib/codeql/rust/elements/Path.qll b/rust/ql/lib/codeql/rust/elements/Path.qll index df6b4a880dff..530c40397c31 100644 --- a/rust/ql/lib/codeql/rust/elements/Path.qll +++ b/rust/ql/lib/codeql/rust/elements/Path.qll @@ -4,8 +4,8 @@ */ private import internal.PathImpl -import codeql.rust.elements.AstNode import codeql.rust.elements.PathSegment +import codeql.rust.elements.Resolvable /** * A path. For example: diff --git a/rust/ql/lib/codeql/rust/elements/Resolvable.qll b/rust/ql/lib/codeql/rust/elements/Resolvable.qll new file mode 100644 index 000000000000..e3e7b7725015 --- /dev/null +++ b/rust/ql/lib/codeql/rust/elements/Resolvable.qll @@ -0,0 +1,12 @@ +// generated by codegen, do not edit +/** + * This module provides the public class `Resolvable`. + */ + +private import internal.ResolvableImpl +import codeql.rust.elements.AstNode + +/** + * Either a `Path`, or a `MethodCallExpr`. + */ +final class Resolvable = Impl::Resolvable; diff --git a/rust/ql/lib/codeql/rust/elements/internal/MethodCallExprImpl.qll b/rust/ql/lib/codeql/rust/elements/internal/MethodCallExprImpl.qll index 729c2fff0ed8..a599feded626 100644 --- a/rust/ql/lib/codeql/rust/elements/internal/MethodCallExprImpl.qll +++ b/rust/ql/lib/codeql/rust/elements/internal/MethodCallExprImpl.qll @@ -1,4 +1,3 @@ -// generated by codegen, remove this comment if you wish to edit this file /** * This module provides a hand-modifiable wrapper around the generated class `MethodCallExpr`. * @@ -12,6 +11,7 @@ private import codeql.rust.elements.internal.generated.MethodCallExpr * be referenced directly. */ module Impl { + // the following QLdoc is generated: if you need to edit it, do it in the schema file /** * A method call expression. For example: * ```rust @@ -19,5 +19,7 @@ module Impl { * x.foo::(42); * ``` */ - class MethodCallExpr extends Generated::MethodCallExpr { } + class MethodCallExpr extends Generated::MethodCallExpr { + override string toString() { result = "... ." + this.getNameRef().toString() + "(...)" } + } } diff --git a/rust/ql/lib/codeql/rust/elements/internal/NameImpl.qll b/rust/ql/lib/codeql/rust/elements/internal/NameImpl.qll index 672f29e24559..43642a03886f 100644 --- a/rust/ql/lib/codeql/rust/elements/internal/NameImpl.qll +++ b/rust/ql/lib/codeql/rust/elements/internal/NameImpl.qll @@ -1,4 +1,3 @@ -// generated by codegen, remove this comment if you wish to edit this file /** * This module provides a hand-modifiable wrapper around the generated class `Name`. * @@ -12,11 +11,14 @@ private import codeql.rust.elements.internal.generated.Name * be referenced directly. */ module Impl { + // the following QLdoc is generated: if you need to edit it, do it in the schema file /** * A Name. For example: * ```rust * todo!() * ``` */ - class Name extends Generated::Name { } + class Name extends Generated::Name { + override string toString() { result = this.getText() } + } } diff --git a/rust/ql/lib/codeql/rust/elements/internal/NameRefImpl.qll b/rust/ql/lib/codeql/rust/elements/internal/NameRefImpl.qll index 708e6d3e03f8..9f5f3eac48eb 100644 --- a/rust/ql/lib/codeql/rust/elements/internal/NameRefImpl.qll +++ b/rust/ql/lib/codeql/rust/elements/internal/NameRefImpl.qll @@ -1,4 +1,3 @@ -// generated by codegen, remove this comment if you wish to edit this file /** * This module provides a hand-modifiable wrapper around the generated class `NameRef`. * @@ -12,11 +11,14 @@ private import codeql.rust.elements.internal.generated.NameRef * be referenced directly. */ module Impl { + // the following QLdoc is generated: if you need to edit it, do it in the schema file /** * A NameRef. For example: * ```rust * todo!() * ``` */ - class NameRef extends Generated::NameRef { } + class NameRef extends Generated::NameRef { + override string toString() { result = this.getText() } + } } diff --git a/rust/ql/lib/codeql/rust/elements/internal/PathImpl.qll b/rust/ql/lib/codeql/rust/elements/internal/PathImpl.qll index 9e3d4127cb7e..b53c86559f0c 100644 --- a/rust/ql/lib/codeql/rust/elements/internal/PathImpl.qll +++ b/rust/ql/lib/codeql/rust/elements/internal/PathImpl.qll @@ -1,4 +1,3 @@ -// generated by codegen, remove this comment if you wish to edit this file /** * This module provides a hand-modifiable wrapper around the generated class `Path`. * @@ -12,11 +11,18 @@ private import codeql.rust.elements.internal.generated.Path * be referenced directly. */ module Impl { + // the following QLdoc is generated: if you need to edit it, do it in the schema file /** * A path. For example: * ```rust * foo::bar; * ``` */ - class Path extends Generated::Path { } + class Path extends Generated::Path { + override string toString() { + if this.hasQualifier() + then result = this.getQualifier().toString() + "::" + this.getPart().toString() + else result = this.getPart().toString() + } + } } diff --git a/rust/ql/lib/codeql/rust/elements/internal/PathSegmentImpl.qll b/rust/ql/lib/codeql/rust/elements/internal/PathSegmentImpl.qll index cc3f669dd5d7..300a6c7d4a0c 100644 --- a/rust/ql/lib/codeql/rust/elements/internal/PathSegmentImpl.qll +++ b/rust/ql/lib/codeql/rust/elements/internal/PathSegmentImpl.qll @@ -1,4 +1,3 @@ -// generated by codegen, remove this comment if you wish to edit this file /** * This module provides a hand-modifiable wrapper around the generated class `PathSegment`. * @@ -12,11 +11,19 @@ private import codeql.rust.elements.internal.generated.PathSegment * be referenced directly. */ module Impl { + // the following QLdoc is generated: if you need to edit it, do it in the schema file /** * A PathSegment. For example: * ```rust * todo!() * ``` */ - class PathSegment extends Generated::PathSegment { } + class PathSegment extends Generated::PathSegment { + override string toString() { + // TODO: this does not cover everything + if this.hasGenericArgList() + then result = this.getNameRef().toString() + "::<...>" + else result = this.getNameRef().toString() + } + } } diff --git a/rust/ql/lib/codeql/rust/elements/internal/ResolvableImpl.qll b/rust/ql/lib/codeql/rust/elements/internal/ResolvableImpl.qll new file mode 100644 index 000000000000..c6f1f2e7a693 --- /dev/null +++ b/rust/ql/lib/codeql/rust/elements/internal/ResolvableImpl.qll @@ -0,0 +1,19 @@ +// generated by codegen, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `Resolvable`. + * + * INTERNAL: Do not use. + */ + +private import codeql.rust.elements.internal.generated.Resolvable + +/** + * INTERNAL: This module contains the customizable definition of `Resolvable` and should not + * be referenced directly. + */ +module Impl { + /** + * Either a `Path`, or a `MethodCallExpr`. + */ + class Resolvable extends Generated::Resolvable { } +} diff --git a/rust/ql/lib/codeql/rust/elements/internal/generated/MethodCallExpr.qll b/rust/ql/lib/codeql/rust/elements/internal/generated/MethodCallExpr.qll index 4aeb89e8e85b..dc1b32bea6c8 100644 --- a/rust/ql/lib/codeql/rust/elements/internal/generated/MethodCallExpr.qll +++ b/rust/ql/lib/codeql/rust/elements/internal/generated/MethodCallExpr.qll @@ -10,6 +10,7 @@ import codeql.rust.elements.internal.CallExprBaseImpl::Impl as CallExprBaseImpl import codeql.rust.elements.Expr import codeql.rust.elements.GenericArgList import codeql.rust.elements.NameRef +import codeql.rust.elements.internal.ResolvableImpl::Impl as ResolvableImpl /** * INTERNAL: This module contains the fully generated definition of `MethodCallExpr` and should not @@ -25,7 +26,9 @@ module Generated { * INTERNAL: Do not reference the `Generated::MethodCallExpr` class directly. * Use the subclass `MethodCallExpr`, where the following predicates are available. */ - class MethodCallExpr extends Synth::TMethodCallExpr, CallExprBaseImpl::CallExprBase { + class MethodCallExpr extends Synth::TMethodCallExpr, CallExprBaseImpl::CallExprBase, + ResolvableImpl::Resolvable + { override string getAPrimaryQlClass() { result = "MethodCallExpr" } /** diff --git a/rust/ql/lib/codeql/rust/elements/internal/generated/ParentChild.qll b/rust/ql/lib/codeql/rust/elements/internal/generated/ParentChild.qll index 6264dc674205..470207683ae5 100644 --- a/rust/ql/lib/codeql/rust/elements/internal/generated/ParentChild.qll +++ b/rust/ql/lib/codeql/rust/elements/internal/generated/ParentChild.qll @@ -652,25 +652,6 @@ private module Impl { ) } - private Element getImmediateChildOfPath(Path e, int index, string partialPredicateCall) { - exists(int b, int bAstNode, int n, int nQualifier, int nPart | - b = 0 and - bAstNode = b + 1 + max(int i | i = -1 or exists(getImmediateChildOfAstNode(e, i, _)) | i) and - n = bAstNode and - nQualifier = n + 1 and - nPart = nQualifier + 1 and - ( - none() - or - result = getImmediateChildOfAstNode(e, index - b, partialPredicateCall) - or - index = n and result = e.getQualifier() and partialPredicateCall = "Qualifier()" - or - index = nQualifier and result = e.getPart() and partialPredicateCall = "Part()" - ) - ) - } - private Element getImmediateChildOfPathSegment( PathSegment e, int index, string partialPredicateCall ) { @@ -854,6 +835,19 @@ private module Impl { ) } + private Element getImmediateChildOfResolvable(Resolvable e, int index, string partialPredicateCall) { + exists(int b, int bAstNode, int n | + b = 0 and + bAstNode = b + 1 + max(int i | i = -1 or exists(getImmediateChildOfAstNode(e, i, _)) | i) and + n = bAstNode and + ( + none() + or + result = getImmediateChildOfAstNode(e, index - b, partialPredicateCall) + ) + ) + } + private Element getImmediateChildOfRetType(RetType e, int index, string partialPredicateCall) { exists(int b, int bAstNode, int n, int nTy | b = 0 and @@ -2242,6 +2236,26 @@ private module Impl { ) } + private Element getImmediateChildOfPath(Path e, int index, string partialPredicateCall) { + exists(int b, int bResolvable, int n, int nQualifier, int nPart | + b = 0 and + bResolvable = + b + 1 + max(int i | i = -1 or exists(getImmediateChildOfResolvable(e, i, _)) | i) and + n = bResolvable and + nQualifier = n + 1 and + nPart = nQualifier + 1 and + ( + none() + or + result = getImmediateChildOfResolvable(e, index - b, partialPredicateCall) + or + index = n and result = e.getQualifier() and partialPredicateCall = "Qualifier()" + or + index = nQualifier and result = e.getPart() and partialPredicateCall = "Part()" + ) + ) + } + private Element getImmediateChildOfPathExprBase( PathExprBase e, int index, string partialPredicateCall ) { @@ -3167,11 +3181,17 @@ private module Impl { private Element getImmediateChildOfMethodCallExpr( MethodCallExpr e, int index, string partialPredicateCall ) { - exists(int b, int bCallExprBase, int n, int nGenericArgList, int nNameRef, int nReceiver | + exists( + int b, int bCallExprBase, int bResolvable, int n, int nGenericArgList, int nNameRef, + int nReceiver + | b = 0 and bCallExprBase = b + 1 + max(int i | i = -1 or exists(getImmediateChildOfCallExprBase(e, i, _)) | i) and - n = bCallExprBase and + bResolvable = + bCallExprBase + 1 + + max(int i | i = -1 or exists(getImmediateChildOfResolvable(e, i, _)) | i) and + n = bResolvable and nGenericArgList = n + 1 and nNameRef = nGenericArgList + 1 and nReceiver = nNameRef + 1 and @@ -3180,6 +3200,8 @@ private module Impl { or result = getImmediateChildOfCallExprBase(e, index - b, partialPredicateCall) or + result = getImmediateChildOfResolvable(e, index - bCallExprBase, partialPredicateCall) + or index = n and result = e.getGenericArgList() and partialPredicateCall = "GenericArgList()" or index = nGenericArgList and result = e.getNameRef() and partialPredicateCall = "NameRef()" @@ -3573,8 +3595,6 @@ private module Impl { or result = getImmediateChildOfParamList(e, index, partialAccessor) or - result = getImmediateChildOfPath(e, index, partialAccessor) - or result = getImmediateChildOfPathSegment(e, index, partialAccessor) or result = getImmediateChildOfRecordExprField(e, index, partialAccessor) @@ -3713,6 +3733,8 @@ private module Impl { or result = getImmediateChildOfParenType(e, index, partialAccessor) or + result = getImmediateChildOfPath(e, index, partialAccessor) + or result = getImmediateChildOfPathPat(e, index, partialAccessor) or result = getImmediateChildOfPathType(e, index, partialAccessor) diff --git a/rust/ql/lib/codeql/rust/elements/internal/generated/Path.qll b/rust/ql/lib/codeql/rust/elements/internal/generated/Path.qll index 2bc8e3dfd6a1..58f7d891d263 100644 --- a/rust/ql/lib/codeql/rust/elements/internal/generated/Path.qll +++ b/rust/ql/lib/codeql/rust/elements/internal/generated/Path.qll @@ -6,9 +6,9 @@ private import codeql.rust.elements.internal.generated.Synth private import codeql.rust.elements.internal.generated.Raw -import codeql.rust.elements.internal.AstNodeImpl::Impl as AstNodeImpl import codeql.rust.elements.Path import codeql.rust.elements.PathSegment +import codeql.rust.elements.internal.ResolvableImpl::Impl as ResolvableImpl /** * INTERNAL: This module contains the fully generated definition of `Path` and should not @@ -23,7 +23,7 @@ module Generated { * INTERNAL: Do not reference the `Generated::Path` class directly. * Use the subclass `Path`, where the following predicates are available. */ - class Path extends Synth::TPath, AstNodeImpl::AstNode { + class Path extends Synth::TPath, ResolvableImpl::Resolvable { override string getAPrimaryQlClass() { result = "Path" } /** diff --git a/rust/ql/lib/codeql/rust/elements/internal/generated/Raw.qll b/rust/ql/lib/codeql/rust/elements/internal/generated/Raw.qll index 29be5f96117b..25af8ddac644 100644 --- a/rust/ql/lib/codeql/rust/elements/internal/generated/Raw.qll +++ b/rust/ql/lib/codeql/rust/elements/internal/generated/Raw.qll @@ -576,27 +576,6 @@ module Raw { */ class Pat extends @pat, AstNode { } - /** - * INTERNAL: Do not use. - * A path. For example: - * ```rust - * foo::bar; - * ``` - */ - class Path extends @path, AstNode { - override string toString() { result = "Path" } - - /** - * Gets the qualifier of this path, if it exists. - */ - Path getQualifier() { path_qualifiers(this, result) } - - /** - * Gets the part of this path, if it exists. - */ - PathSegment getPart() { path_parts(this, result) } - } - /** * INTERNAL: Do not use. * A PathSegment. For example: @@ -789,6 +768,22 @@ module Raw { Name getName() { rename_names(this, result) } } + /** + * INTERNAL: Do not use. + * Either a `Path`, or a `MethodCallExpr`. + */ + class Resolvable extends @resolvable, AstNode { + /** + * Gets the resolved path of this resolvable, if it exists. + */ + string getResolvedPath() { resolvable_resolved_paths(this, result) } + + /** + * Gets the resolved crate origin of this resolvable, if it exists. + */ + string getResolvedCrateOrigin() { resolvable_resolved_crate_origins(this, result) } + } + /** * INTERNAL: Do not use. * A RetType. For example: @@ -2471,6 +2466,27 @@ module Raw { TypeRef getTy() { paren_type_ties(this, result) } } + /** + * INTERNAL: Do not use. + * A path. For example: + * ```rust + * foo::bar; + * ``` + */ + class Path extends @path, Resolvable { + override string toString() { result = "Path" } + + /** + * Gets the qualifier of this path, if it exists. + */ + Path getQualifier() { path_qualifiers(this, result) } + + /** + * Gets the part of this path, if it exists. + */ + PathSegment getPart() { path_parts(this, result) } + } + /** * INTERNAL: Do not use. * A path expression or a variable access in a formatting template. See `PathExpr` and `FormatTemplateVariableAccess` for further details. @@ -3548,7 +3564,7 @@ module Raw { * x.foo::(42); * ``` */ - class MethodCallExpr extends @method_call_expr, CallExprBase { + class MethodCallExpr extends @method_call_expr, CallExprBase, Resolvable { override string toString() { result = "MethodCallExpr" } /** diff --git a/rust/ql/lib/codeql/rust/elements/internal/generated/Resolvable.qll b/rust/ql/lib/codeql/rust/elements/internal/generated/Resolvable.qll new file mode 100644 index 000000000000..018c451e5849 --- /dev/null +++ b/rust/ql/lib/codeql/rust/elements/internal/generated/Resolvable.qll @@ -0,0 +1,52 @@ +// generated by codegen, do not edit +/** + * This module provides the generated definition of `Resolvable`. + * INTERNAL: Do not import directly. + */ + +private import codeql.rust.elements.internal.generated.Synth +private import codeql.rust.elements.internal.generated.Raw +import codeql.rust.elements.internal.AstNodeImpl::Impl as AstNodeImpl + +/** + * INTERNAL: This module contains the fully generated definition of `Resolvable` and should not + * be referenced directly. + */ +module Generated { + /** + * Either a `Path`, or a `MethodCallExpr`. + * INTERNAL: Do not reference the `Generated::Resolvable` class directly. + * Use the subclass `Resolvable`, where the following predicates are available. + */ + class Resolvable extends Synth::TResolvable, AstNodeImpl::AstNode { + /** + * Gets the resolved path of this resolvable, if it exists. + * + * INTERNAL: Do not use. + */ + string getResolvedPath() { + result = Synth::convertResolvableToRaw(this).(Raw::Resolvable).getResolvedPath() + } + + /** + * Holds if `getResolvedPath()` exists. + * INTERNAL: Do not use. + */ + final predicate hasResolvedPath() { exists(this.getResolvedPath()) } + + /** + * Gets the resolved crate origin of this resolvable, if it exists. + * + * INTERNAL: Do not use. + */ + string getResolvedCrateOrigin() { + result = Synth::convertResolvableToRaw(this).(Raw::Resolvable).getResolvedCrateOrigin() + } + + /** + * Holds if `getResolvedCrateOrigin()` exists. + * INTERNAL: Do not use. + */ + final predicate hasResolvedCrateOrigin() { exists(this.getResolvedCrateOrigin()) } + } +} diff --git a/rust/ql/lib/codeql/rust/elements/internal/generated/Synth.qll b/rust/ql/lib/codeql/rust/elements/internal/generated/Synth.qll index 05b3fd5ece7b..927ba1f238d8 100644 --- a/rust/ql/lib/codeql/rust/elements/internal/generated/Synth.qll +++ b/rust/ql/lib/codeql/rust/elements/internal/generated/Synth.qll @@ -624,12 +624,12 @@ module Synth { TExpr or TExternItem or TExternItemList or TFieldList or TFormatArgsArg or TGenericArg or TGenericArgList or TGenericParam or TGenericParamList or TItemList or TLabel or TLetElse or TLifetime or TMacroItems or TMacroStmts or TMatchArm or TMatchArmList or TMatchGuard or - TMeta or TName or TNameRef or TParam or TParamList or TPat or TPath or TPathSegment or + TMeta or TName or TNameRef or TParam or TParamList or TPat or TPathSegment or TRecordExprField or TRecordExprFieldList or TRecordField or TRecordPatField or - TRecordPatFieldList or TRename or TRetType or TReturnTypeSyntax or TSelfParam or - TSourceFile or TStmt or TStmtList or TToken or TTokenTree or TTupleField or TTypeBound or - TTypeBoundList or TTypeRef or TUseTree or TUseTreeList or TVariant or TVariantList or - TVisibility or TWhereClause or TWherePred; + TRecordPatFieldList or TRename or TResolvable or TRetType or TReturnTypeSyntax or + TSelfParam or TSourceFile or TStmt or TStmtList or TToken or TTokenTree or TTupleField or + TTypeBound or TTypeBoundList or TTypeRef or TUseTree or TUseTreeList or TVariant or + TVariantList or TVisibility or TWhereClause or TWherePred; /** * INTERNAL: Do not use. @@ -698,6 +698,11 @@ module Synth { */ class TPathExprBase = TFormatTemplateVariableAccess or TPathExpr; + /** + * INTERNAL: Do not use. + */ + class TResolvable = TMethodCallExpr or TPath; + /** * INTERNAL: Do not use. */ @@ -1690,8 +1695,6 @@ module Synth { or result = convertPatFromRaw(e) or - result = convertPathFromRaw(e) - or result = convertPathSegmentFromRaw(e) or result = convertRecordExprFieldFromRaw(e) @@ -1706,6 +1709,8 @@ module Synth { or result = convertRenameFromRaw(e) or + result = convertResolvableFromRaw(e) + or result = convertRetTypeFromRaw(e) or result = convertReturnTypeSyntaxFromRaw(e) @@ -2001,6 +2006,16 @@ module Synth { result = convertPathExprFromRaw(e) } + /** + * INTERNAL: Do not use. + * Converts a raw DB element to a synthesized `TResolvable`, if possible. + */ + TResolvable convertResolvableFromRaw(Raw::Element e) { + result = convertMethodCallExprFromRaw(e) + or + result = convertPathFromRaw(e) + } + /** * INTERNAL: Do not use. * Converts a raw DB element to a synthesized `TStmt`, if possible. @@ -3030,8 +3045,6 @@ module Synth { or result = convertPatToRaw(e) or - result = convertPathToRaw(e) - or result = convertPathSegmentToRaw(e) or result = convertRecordExprFieldToRaw(e) @@ -3046,6 +3059,8 @@ module Synth { or result = convertRenameToRaw(e) or + result = convertResolvableToRaw(e) + or result = convertRetTypeToRaw(e) or result = convertReturnTypeSyntaxToRaw(e) @@ -3341,6 +3356,16 @@ module Synth { result = convertPathExprToRaw(e) } + /** + * INTERNAL: Do not use. + * Converts a synthesized `TResolvable` to a raw DB element, if possible. + */ + Raw::Element convertResolvableToRaw(TResolvable e) { + result = convertMethodCallExprToRaw(e) + or + result = convertPathToRaw(e) + } + /** * INTERNAL: Do not use. * Converts a synthesized `TStmt` to a raw DB element, if possible. diff --git a/rust/ql/lib/rust.dbscheme b/rust/ql/lib/rust.dbscheme index d5d61e69a94a..666a1e2b0e16 100644 --- a/rust/ql/lib/rust.dbscheme +++ b/rust/ql/lib/rust.dbscheme @@ -165,7 +165,6 @@ locatable_locations( | @param | @param_list | @pat -| @path | @path_segment | @record_expr_field | @record_expr_field_list @@ -173,6 +172,7 @@ locatable_locations( | @record_pat_field | @record_pat_field_list | @rename +| @resolvable | @ret_type | @return_type_syntax | @self_param @@ -644,22 +644,6 @@ param_list_self_params( | @wildcard_pat ; -paths( - unique int id: @path -); - -#keyset[id] -path_qualifiers( - int id: @path ref, - int qualifier: @path ref -); - -#keyset[id] -path_parts( - int id: @path ref, - int part: @path_segment ref -); - path_segments( unique int id: @path_segment ); @@ -832,6 +816,23 @@ rename_names( int name: @name ref ); +@resolvable = + @method_call_expr +| @path +; + +#keyset[id] +resolvable_resolved_paths( + int id: @resolvable ref, + string resolved_path: string ref +); + +#keyset[id] +resolvable_resolved_crate_origins( + int id: @resolvable ref, + string resolved_crate_origin: string ref +); + ret_types( unique int id: @ret_type ); @@ -2125,6 +2126,22 @@ paren_type_ties( int ty: @type_ref ref ); +paths( + unique int id: @path +); + +#keyset[id] +path_qualifiers( + int id: @path ref, + int qualifier: @path ref +); + +#keyset[id] +path_parts( + int id: @path ref, + int part: @path_segment ref +); + @path_expr_base = @path_expr ; diff --git a/rust/ql/test/extractor-tests/canonical_path/canonical_path.expected b/rust/ql/test/extractor-tests/canonical_path/canonical_path.expected deleted file mode 100644 index abfa4a99802a..000000000000 --- a/rust/ql/test/extractor-tests/canonical_path/canonical_path.expected +++ /dev/null @@ -1,28 +0,0 @@ -| canonical_paths.rs:1:1:23:1 | Module | crate::canonical_paths::a | -| canonical_paths.rs:2:5:2:22 | Struct | crate::canonical_paths::a::Struct | -| canonical_paths.rs:4:5:6:5 | Trait | crate::canonical_paths::a::Trait | -| canonical_paths.rs:5:9:5:20 | f | crate::canonical_paths::a::Trait::f | -| canonical_paths.rs:8:5:10:5 | Impl | None | -| canonical_paths.rs:9:9:9:22 | f | ::f | -| canonical_paths.rs:12:5:14:5 | Impl | None | -| canonical_paths.rs:13:9:13:22 | g | ::g | -| canonical_paths.rs:16:5:18:5 | Trait | crate::canonical_paths::a::TraitWithBlanketImpl | -| canonical_paths.rs:17:9:17:20 | h | crate::canonical_paths::a::TraitWithBlanketImpl::h | -| canonical_paths.rs:20:5:22:5 | Impl | None | -| canonical_paths.rs:21:9:21:22 | h | <_ as crate::canonical_paths::a::TraitWithBlanketImpl>::h | -| canonical_paths.rs:25:1:53:1 | Module | crate::canonical_paths::without | -| canonical_paths.rs:26:5:48:5 | canonicals | crate::canonical_paths::without::canonicals | -| canonical_paths.rs:27:9:27:27 | Struct | {0}::OtherStruct | -| canonical_paths.rs:29:9:31:9 | Trait | {0}::OtherTrait | -| canonical_paths.rs:30:13:30:24 | g | {0}::OtherTrait::g | -| canonical_paths.rs:33:9:35:9 | Impl | None | -| canonical_paths.rs:34:13:34:26 | g | <{0}::OtherStruct as {0}::OtherTrait>::g | -| canonical_paths.rs:37:9:39:9 | Impl | None | -| canonical_paths.rs:38:13:38:26 | g | ::g | -| canonical_paths.rs:41:9:43:9 | Impl | None | -| canonical_paths.rs:42:13:42:26 | f | <{0}::OtherStruct as crate::canonical_paths::a::Trait>::f | -| canonical_paths.rs:45:9:47:9 | nested | {0}::nested | -| canonical_paths.rs:46:13:46:31 | Struct | {1}::OtherStruct | -| canonical_paths.rs:50:5:52:5 | other | crate::canonical_paths::without::other | -| canonical_paths.rs:51:9:51:27 | Struct | {2}::OtherStruct | -| lib.rs:1:1:1:20 | Module | crate::canonical_paths | diff --git a/rust/ql/test/extractor-tests/canonical_path/canonical_path.ql b/rust/ql/test/extractor-tests/canonical_path/canonical_path.ql deleted file mode 100644 index 5548ba977737..000000000000 --- a/rust/ql/test/extractor-tests/canonical_path/canonical_path.ql +++ /dev/null @@ -1,12 +0,0 @@ -import rust -import TestUtils - -from Item i, string path -where - toBeTested(i) and - ( - path = i.getExtendedCanonicalPath() - or - not i.hasExtendedCanonicalPath() and path = "None" - ) -select i, path diff --git a/rust/ql/test/extractor-tests/canonical_path/canonical_paths.expected b/rust/ql/test/extractor-tests/canonical_path/canonical_paths.expected new file mode 100644 index 000000000000..622652e091f7 --- /dev/null +++ b/rust/ql/test/extractor-tests/canonical_path/canonical_paths.expected @@ -0,0 +1,70 @@ +canonicalPaths +| canonical_paths.rs:1:1:34:1 | Module | repo::test | crate::canonical_paths::a | +| canonical_paths.rs:2:5:3:22 | Struct | repo::test | crate::canonical_paths::a::Struct | +| canonical_paths.rs:5:5:7:5 | Trait | repo::test | crate::canonical_paths::a::Trait | +| canonical_paths.rs:6:9:6:20 | f | repo::test | crate::canonical_paths::a::Trait::f | +| canonical_paths.rs:9:5:11:5 | Impl | None | None | +| canonical_paths.rs:10:9:10:22 | f | repo::test | ::f | +| canonical_paths.rs:13:5:15:5 | Impl | None | None | +| canonical_paths.rs:14:9:14:22 | g | repo::test | ::g | +| canonical_paths.rs:17:5:19:5 | Trait | repo::test | crate::canonical_paths::a::TraitWithBlanketImpl | +| canonical_paths.rs:18:9:18:20 | h | repo::test | crate::canonical_paths::a::TraitWithBlanketImpl::h | +| canonical_paths.rs:21:5:23:5 | Impl | None | None | +| canonical_paths.rs:22:9:22:22 | h | repo::test | <_ as crate::canonical_paths::a::TraitWithBlanketImpl>::h | +| canonical_paths.rs:25:5:25:16 | free | repo::test | crate::canonical_paths::a::free | +| canonical_paths.rs:27:5:33:5 | usage | repo::test | crate::canonical_paths::a::usage | +| canonical_paths.rs:36:1:73:1 | Module | repo::test | crate::canonical_paths::without | +| canonical_paths.rs:37:5:37:24 | Use | None | None | +| canonical_paths.rs:39:5:68:5 | canonicals | repo::test | crate::canonical_paths::without::canonicals | +| canonical_paths.rs:40:9:40:27 | Struct | repo::test | {34}::OtherStruct | +| canonical_paths.rs:42:9:44:9 | Trait | repo::test | {34}::OtherTrait | +| canonical_paths.rs:43:13:43:24 | g | repo::test | {34}::OtherTrait::g | +| canonical_paths.rs:46:9:48:9 | Impl | None | None | +| canonical_paths.rs:47:13:47:26 | g | repo::test | <{34}::OtherStruct as {34}::OtherTrait>::g | +| canonical_paths.rs:50:9:52:9 | Impl | None | None | +| canonical_paths.rs:51:13:51:26 | g | repo::test | ::g | +| canonical_paths.rs:54:9:56:9 | Impl | None | None | +| canonical_paths.rs:55:13:55:26 | f | repo::test | <{34}::OtherStruct as crate::canonical_paths::a::Trait>::f | +| canonical_paths.rs:58:9:60:9 | nested | repo::test | {34}::nested | +| canonical_paths.rs:59:13:59:31 | Struct | repo::test | {35}::OtherStruct | +| canonical_paths.rs:62:9:67:9 | usage | repo::test | {34}::usage | +| canonical_paths.rs:70:5:72:5 | other | repo::test | crate::canonical_paths::without::other | +| canonical_paths.rs:71:9:71:27 | Struct | repo::test | {36}::OtherStruct | +| lib.rs:1:1:1:20 | Module | repo::test | crate::canonical_paths | +resolvedPaths +| canonical_paths.rs:2:7:2:12 | derive | None | None | +| canonical_paths.rs:9:10:9:14 | Trait | repo::test | crate::canonical_paths::a::Trait | +| canonical_paths.rs:9:20:9:25 | Struct | repo::test | crate::canonical_paths::a::Struct | +| canonical_paths.rs:13:10:13:15 | Struct | repo::test | crate::canonical_paths::a::Struct | +| canonical_paths.rs:21:13:21:14 | Eq | lang:core | crate::cmp::Eq | +| canonical_paths.rs:21:17:21:36 | TraitWithBlanketImpl | repo::test | crate::canonical_paths::a::TraitWithBlanketImpl | +| canonical_paths.rs:21:42:21:42 | T | None | None | +| canonical_paths.rs:28:17:28:22 | Struct | repo::test | crate::canonical_paths::a::Struct | +| canonical_paths.rs:29:9:29:9 | s | None | None | +| canonical_paths.rs:29:9:29:13 | ... .f(...) | repo::test | ::f | +| canonical_paths.rs:30:9:30:9 | s | None | None | +| canonical_paths.rs:30:9:30:13 | ... .g(...) | repo::test | ::g | +| canonical_paths.rs:31:9:31:9 | s | None | None | +| canonical_paths.rs:31:9:31:13 | ... .h(...) | repo::test | <_ as crate::canonical_paths::a::TraitWithBlanketImpl>::h | +| canonical_paths.rs:32:9:32:12 | free | repo::test | crate::canonical_paths::a::free | +| canonical_paths.rs:37:9:37:13 | super | repo::test | crate::canonical_paths | +| canonical_paths.rs:37:9:37:16 | super::a | repo::test | crate::canonical_paths::a | +| canonical_paths.rs:37:9:37:23 | super::a::Trait | repo::test | crate::canonical_paths::a::Trait | +| canonical_paths.rs:46:14:46:23 | OtherTrait | repo::test | {34}::OtherTrait | +| canonical_paths.rs:46:29:46:39 | OtherStruct | repo::test | {34}::OtherStruct | +| canonical_paths.rs:50:14:50:23 | OtherTrait | repo::test | {34}::OtherTrait | +| canonical_paths.rs:50:29:50:33 | crate | None | None | +| canonical_paths.rs:50:29:50:50 | crate::canonical_paths | repo::test | crate::canonical_paths | +| canonical_paths.rs:50:29:50:53 | crate::canonical_paths::a | repo::test | crate::canonical_paths::a | +| canonical_paths.rs:50:29:50:61 | crate::canonical_paths::a::Struct | repo::test | crate::canonical_paths::a::Struct | +| canonical_paths.rs:54:14:54:18 | crate | None | None | +| canonical_paths.rs:54:14:54:35 | crate::canonical_paths | repo::test | crate::canonical_paths | +| canonical_paths.rs:54:14:54:38 | crate::canonical_paths::a | repo::test | crate::canonical_paths::a | +| canonical_paths.rs:54:14:54:45 | crate::canonical_paths::a::Trait | repo::test | crate::canonical_paths::a::Trait | +| canonical_paths.rs:54:51:54:61 | OtherStruct | repo::test | {34}::OtherStruct | +| canonical_paths.rs:63:21:63:31 | OtherStruct | repo::test | {34}::OtherStruct | +| canonical_paths.rs:64:13:64:13 | s | None | None | +| canonical_paths.rs:64:13:64:17 | ... .f(...) | repo::test | <{34}::OtherStruct as crate::canonical_paths::a::Trait>::f | +| canonical_paths.rs:65:13:65:13 | s | None | None | +| canonical_paths.rs:65:13:65:17 | ... .g(...) | repo::test | <{34}::OtherStruct as {34}::OtherTrait>::g | +| canonical_paths.rs:66:13:66:18 | nested | repo::test | {34}::nested | diff --git a/rust/ql/test/extractor-tests/canonical_path/canonical_paths.ql b/rust/ql/test/extractor-tests/canonical_path/canonical_paths.ql new file mode 100644 index 000000000000..7488d699087c --- /dev/null +++ b/rust/ql/test/extractor-tests/canonical_path/canonical_paths.ql @@ -0,0 +1,30 @@ +import rust +import TestUtils + +query predicate canonicalPaths(Item i, string origin, string path) { + toBeTested(i) and + ( + origin = i.getCrateOrigin() + or + not i.hasCrateOrigin() and origin = "None" + ) and + ( + path = i.getExtendedCanonicalPath() + or + not i.hasExtendedCanonicalPath() and path = "None" + ) +} + +query predicate resolvedPaths(Resolvable e, string origin, string path) { + toBeTested(e) and + ( + origin = e.getResolvedCrateOrigin() + or + not e.hasResolvedCrateOrigin() and origin = "None" + ) and + ( + path = e.getResolvedPath() + or + not e.hasResolvedPath() and path = "None" + ) +} diff --git a/rust/ql/test/extractor-tests/canonical_path/canonical_paths.rs b/rust/ql/test/extractor-tests/canonical_path/canonical_paths.rs index 39a5d8672b3b..7444903dc01f 100644 --- a/rust/ql/test/extractor-tests/canonical_path/canonical_paths.rs +++ b/rust/ql/test/extractor-tests/canonical_path/canonical_paths.rs @@ -1,4 +1,5 @@ mod a { + #[derive(Eq, PartialEq)] pub struct Struct; pub trait Trait { @@ -20,9 +21,21 @@ mod a { impl TraitWithBlanketImpl for T { fn h(&self) {} } + + fn free() {} + + fn usage() { + let s = Struct {}; + s.f(); + s.g(); + s.h(); + free(); + } } mod without { + use super::a::Trait; + fn canonicals() { struct OtherStruct; @@ -45,6 +58,13 @@ mod without { fn nested() { struct OtherStruct; } + + fn usage() { + let s = OtherStruct {}; + s.f(); + s.g(); + nested(); + } } fn other() { diff --git a/rust/ql/test/extractor-tests/generated/MethodCallExpr/MethodCallExpr.expected b/rust/ql/test/extractor-tests/generated/MethodCallExpr/MethodCallExpr.expected index 453da55dbbca..33ab9edbb293 100644 --- a/rust/ql/test/extractor-tests/generated/MethodCallExpr/MethodCallExpr.expected +++ b/rust/ql/test/extractor-tests/generated/MethodCallExpr/MethodCallExpr.expected @@ -1,2 +1,2 @@ -| gen_method_call_expr.rs:5:5:5:13 | MethodCallExpr | hasArgList: | yes | getNumberOfAttrs: | 0 | hasGenericArgList: | no | hasNameRef: | yes | hasReceiver: | yes | -| gen_method_call_expr.rs:6:5:6:25 | MethodCallExpr | hasArgList: | yes | getNumberOfAttrs: | 0 | hasGenericArgList: | yes | hasNameRef: | yes | hasReceiver: | yes | +| gen_method_call_expr.rs:5:5:5:13 | MethodCallExpr | hasArgList: | yes | getNumberOfAttrs: | 0 | hasGenericArgList: | no | hasNameRef: | yes | hasReceiver: | yes | hasResolvedPath: | no | hasResolvedCrateOrigin: | no | +| gen_method_call_expr.rs:6:5:6:25 | MethodCallExpr | hasArgList: | yes | getNumberOfAttrs: | 0 | hasGenericArgList: | yes | hasNameRef: | yes | hasReceiver: | yes | hasResolvedPath: | no | hasResolvedCrateOrigin: | no | diff --git a/rust/ql/test/extractor-tests/generated/MethodCallExpr/MethodCallExpr.ql b/rust/ql/test/extractor-tests/generated/MethodCallExpr/MethodCallExpr.ql index 90176a31d896..989540265a00 100644 --- a/rust/ql/test/extractor-tests/generated/MethodCallExpr/MethodCallExpr.ql +++ b/rust/ql/test/extractor-tests/generated/MethodCallExpr/MethodCallExpr.ql @@ -3,15 +3,22 @@ import codeql.rust.elements import TestUtils from - MethodCallExpr x, string hasArgList, int getNumberOfAttrs, string hasGenericArgList, - string hasNameRef, string hasReceiver + MethodCallExpr x, string hasArgList, int getNumberOfAttrs, string hasResolvedPath, + string hasResolvedCrateOrigin, string hasGenericArgList, string hasNameRef, string hasReceiver where toBeTested(x) and not x.isUnknown() and (if x.hasArgList() then hasArgList = "yes" else hasArgList = "no") and getNumberOfAttrs = x.getNumberOfAttrs() and + (if x.hasResolvedPath() then hasResolvedPath = "yes" else hasResolvedPath = "no") and + ( + if x.hasResolvedCrateOrigin() + then hasResolvedCrateOrigin = "yes" + else hasResolvedCrateOrigin = "no" + ) and (if x.hasGenericArgList() then hasGenericArgList = "yes" else hasGenericArgList = "no") and (if x.hasNameRef() then hasNameRef = "yes" else hasNameRef = "no") and if x.hasReceiver() then hasReceiver = "yes" else hasReceiver = "no" -select x, "hasArgList:", hasArgList, "getNumberOfAttrs:", getNumberOfAttrs, "hasGenericArgList:", +select x, "hasArgList:", hasArgList, "getNumberOfAttrs:", getNumberOfAttrs, "hasResolvedPath:", + hasResolvedPath, "hasResolvedCrateOrigin:", hasResolvedCrateOrigin, "hasGenericArgList:", hasGenericArgList, "hasNameRef:", hasNameRef, "hasReceiver:", hasReceiver diff --git a/rust/ql/test/extractor-tests/generated/MethodCallExpr/MethodCallExpr_getResolvedCrateOrigin.expected b/rust/ql/test/extractor-tests/generated/MethodCallExpr/MethodCallExpr_getResolvedCrateOrigin.expected new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/rust/ql/test/extractor-tests/generated/MethodCallExpr/MethodCallExpr_getResolvedCrateOrigin.ql b/rust/ql/test/extractor-tests/generated/MethodCallExpr/MethodCallExpr_getResolvedCrateOrigin.ql new file mode 100644 index 000000000000..dfb292181331 --- /dev/null +++ b/rust/ql/test/extractor-tests/generated/MethodCallExpr/MethodCallExpr_getResolvedCrateOrigin.ql @@ -0,0 +1,7 @@ +// generated by codegen, do not edit +import codeql.rust.elements +import TestUtils + +from MethodCallExpr x +where toBeTested(x) and not x.isUnknown() +select x, x.getResolvedCrateOrigin() diff --git a/rust/ql/test/extractor-tests/generated/MethodCallExpr/MethodCallExpr_getResolvedPath.expected b/rust/ql/test/extractor-tests/generated/MethodCallExpr/MethodCallExpr_getResolvedPath.expected new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/rust/ql/test/extractor-tests/generated/MethodCallExpr/MethodCallExpr_getResolvedPath.ql b/rust/ql/test/extractor-tests/generated/MethodCallExpr/MethodCallExpr_getResolvedPath.ql new file mode 100644 index 000000000000..df94686cbf68 --- /dev/null +++ b/rust/ql/test/extractor-tests/generated/MethodCallExpr/MethodCallExpr_getResolvedPath.ql @@ -0,0 +1,7 @@ +// generated by codegen, do not edit +import codeql.rust.elements +import TestUtils + +from MethodCallExpr x +where toBeTested(x) and not x.isUnknown() +select x, x.getResolvedPath() diff --git a/rust/ql/test/extractor-tests/generated/Path/Path.expected b/rust/ql/test/extractor-tests/generated/Path/Path.expected index 9c26bcd9c365..aac69a7f4667 100644 --- a/rust/ql/test/extractor-tests/generated/Path/Path.expected +++ b/rust/ql/test/extractor-tests/generated/Path/Path.expected @@ -1,2 +1,2 @@ -| gen_path.rs:5:5:5:7 | Path | hasQualifier: | no | hasPart: | yes | -| gen_path.rs:5:5:5:12 | Path | hasQualifier: | yes | hasPart: | yes | +| gen_path.rs:5:5:5:7 | Path | hasQualifier: | no | hasPart: | yes | hasResolvedPath: | no | hasResolvedCrateOrigin: | no | +| gen_path.rs:5:5:5:12 | Path | hasQualifier: | yes | hasPart: | yes | hasResolvedPath: | no | hasResolvedCrateOrigin: | no | diff --git a/rust/ql/test/extractor-tests/generated/Path/Path.ql b/rust/ql/test/extractor-tests/generated/Path/Path.ql index c5e1ba9d78a2..d84c2d869874 100644 --- a/rust/ql/test/extractor-tests/generated/Path/Path.ql +++ b/rust/ql/test/extractor-tests/generated/Path/Path.ql @@ -2,10 +2,18 @@ import codeql.rust.elements import TestUtils -from Path x, string hasQualifier, string hasPart +from + Path x, string hasResolvedPath, string hasResolvedCrateOrigin, string hasQualifier, string hasPart where toBeTested(x) and not x.isUnknown() and + (if x.hasResolvedPath() then hasResolvedPath = "yes" else hasResolvedPath = "no") and + ( + if x.hasResolvedCrateOrigin() + then hasResolvedCrateOrigin = "yes" + else hasResolvedCrateOrigin = "no" + ) and (if x.hasQualifier() then hasQualifier = "yes" else hasQualifier = "no") and if x.hasPart() then hasPart = "yes" else hasPart = "no" -select x, "hasQualifier:", hasQualifier, "hasPart:", hasPart +select x, "hasResolvedPath:", hasResolvedPath, "hasResolvedCrateOrigin:", hasResolvedCrateOrigin, + "hasQualifier:", hasQualifier, "hasPart:", hasPart diff --git a/rust/ql/test/extractor-tests/generated/Path/Path_getResolvedCrateOrigin.expected b/rust/ql/test/extractor-tests/generated/Path/Path_getResolvedCrateOrigin.expected new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/rust/ql/test/extractor-tests/generated/Path/Path_getResolvedCrateOrigin.ql b/rust/ql/test/extractor-tests/generated/Path/Path_getResolvedCrateOrigin.ql new file mode 100644 index 000000000000..c998981364fa --- /dev/null +++ b/rust/ql/test/extractor-tests/generated/Path/Path_getResolvedCrateOrigin.ql @@ -0,0 +1,7 @@ +// generated by codegen, do not edit +import codeql.rust.elements +import TestUtils + +from Path x +where toBeTested(x) and not x.isUnknown() +select x, x.getResolvedCrateOrigin() diff --git a/rust/ql/test/extractor-tests/generated/Path/Path_getResolvedPath.expected b/rust/ql/test/extractor-tests/generated/Path/Path_getResolvedPath.expected new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/rust/ql/test/extractor-tests/generated/Path/Path_getResolvedPath.ql b/rust/ql/test/extractor-tests/generated/Path/Path_getResolvedPath.ql new file mode 100644 index 000000000000..c89693098365 --- /dev/null +++ b/rust/ql/test/extractor-tests/generated/Path/Path_getResolvedPath.ql @@ -0,0 +1,7 @@ +// generated by codegen, do not edit +import codeql.rust.elements +import TestUtils + +from Path x +where toBeTested(x) and not x.isUnknown() +select x, x.getResolvedPath() diff --git a/rust/schema/annotations.py b/rust/schema/annotations.py index f8f5f182ad6f..d8e9835b16a6 100644 --- a/rust/schema/annotations.py +++ b/rust/schema/annotations.py @@ -63,8 +63,7 @@ class _: ``` """ - -@annotate(Path) +@annotate(Path, replace_bases={AstNode: Resolvable}) class _: """ A path. For example: @@ -221,7 +220,7 @@ class _: attrs: drop -@annotate(MethodCallExpr, replace_bases={Expr: CallExprBase}) +@annotate(MethodCallExpr, replace_bases={Expr: CallExprBase}, add_bases=(Resolvable,)) class _: """ A method call expression. For example: diff --git a/rust/schema/prelude.py b/rust/schema/prelude.py index 4f001ed2b5b8..60de626e59cb 100644 --- a/rust/schema/prelude.py +++ b/rust/schema/prelude.py @@ -71,3 +71,11 @@ class Callable(AstNode): """ param_list: optional["ParamList"] | child attrs: list["Attr"] | child + + +class Resolvable(AstNode): + """ + Either a `Path`, or a `MethodCallExpr`. + """ + resolved_path: optional[string] | rust.detach | ql.internal + resolved_crate_origin: optional[string] | rust.detach | ql.internal From e5a199b821caaf327b7373194763b711cee441b2 Mon Sep 17 00:00:00 2001 From: Paolo Tranquilli Date: Thu, 31 Oct 2024 16:02:56 +0100 Subject: [PATCH 016/347] Rust: accept test changes due to `toString` implementations --- .../FieldExpr/FieldExpr_getNameRef.expected | 2 +- .../Function/Function_getName.expected | 4 ++-- .../IdentPat/IdentPat_getName.expected | 4 ++-- .../MacroCall/MacroCall_getPath.expected | 2 +- .../MethodCallExpr/MethodCallExpr.expected | 4 ++-- .../MethodCallExpr_getArgList.expected | 4 ++-- .../MethodCallExpr_getGenericArgList.expected | 2 +- .../MethodCallExpr_getNameRef.expected | 4 ++-- .../MethodCallExpr_getReceiver.expected | 4 ++-- .../generated/Module/Module_getName.expected | 6 ++--- .../generated/Name/Name.expected | 4 ++-- .../generated/Name/Name_getText.expected | 4 ++-- .../generated/NameRef/NameRef.expected | 8 +++---- .../NameRef/NameRef_getText.expected | 8 +++---- .../OffsetOfExpr_getField.expected | 2 +- .../generated/Path/Path.expected | 4 ++-- .../generated/Path/Path_getPart.expected | 4 ++-- .../generated/Path/Path_getQualifier.expected | 2 +- .../PathExpr/PathExpr_getPath.expected | 8 +++---- .../PathPat/PathPat_getPath.expected | 2 +- .../PathSegment/PathSegment.expected | 8 +++---- .../PathSegment_getNameRef.expected | 8 +++---- .../RecordExpr/RecordExpr_getPath.expected | 8 +++---- .../RecordExprField_getNameRef.expected | 4 ++-- .../RecordPat/RecordPat_getPath.expected | 4 ++-- .../RecordPatField_getNameRef.expected | 4 ++-- .../generated/Trait/Trait_getName.expected | 4 ++-- .../TupleStructPat_getPath.expected | 6 ++--- .../ql/test/extractor-tests/utf8/ast.expected | 20 ++++++++-------- .../library-tests/controlflow/Cfg.expected | 12 +++++----- .../test/library-tests/variables/Cfg.expected | 24 +++++++++---------- 31 files changed, 92 insertions(+), 92 deletions(-) diff --git a/rust/ql/test/extractor-tests/generated/FieldExpr/FieldExpr_getNameRef.expected b/rust/ql/test/extractor-tests/generated/FieldExpr/FieldExpr_getNameRef.expected index 4855c264b2c7..667f3130968c 100644 --- a/rust/ql/test/extractor-tests/generated/FieldExpr/FieldExpr_getNameRef.expected +++ b/rust/ql/test/extractor-tests/generated/FieldExpr/FieldExpr_getNameRef.expected @@ -1 +1 @@ -| gen_field_expr.rs:5:5:5:9 | FieldExpr | gen_field_expr.rs:5:7:5:9 | NameRef | +| gen_field_expr.rs:5:5:5:9 | FieldExpr | gen_field_expr.rs:5:7:5:9 | foo | diff --git a/rust/ql/test/extractor-tests/generated/Function/Function_getName.expected b/rust/ql/test/extractor-tests/generated/Function/Function_getName.expected index c21fa43f4aae..62676019818d 100644 --- a/rust/ql/test/extractor-tests/generated/Function/Function_getName.expected +++ b/rust/ql/test/extractor-tests/generated/Function/Function_getName.expected @@ -1,2 +1,2 @@ -| gen_function.rs:3:1:4:38 | foo | gen_function.rs:4:4:4:6 | Name | -| gen_function.rs:7:5:7:13 | bar | gen_function.rs:7:8:7:10 | Name | +| gen_function.rs:3:1:4:38 | foo | gen_function.rs:4:4:4:6 | foo | +| gen_function.rs:7:5:7:13 | bar | gen_function.rs:7:8:7:10 | bar | diff --git a/rust/ql/test/extractor-tests/generated/IdentPat/IdentPat_getName.expected b/rust/ql/test/extractor-tests/generated/IdentPat/IdentPat_getName.expected index 45273e9c8a41..b4168bbb7508 100644 --- a/rust/ql/test/extractor-tests/generated/IdentPat/IdentPat_getName.expected +++ b/rust/ql/test/extractor-tests/generated/IdentPat/IdentPat_getName.expected @@ -1,2 +1,2 @@ -| gen_ident_pat.rs:6:22:6:22 | y | gen_ident_pat.rs:6:22:6:22 | Name | -| gen_ident_pat.rs:10:9:10:25 | y | gen_ident_pat.rs:10:9:10:9 | Name | +| gen_ident_pat.rs:6:22:6:22 | y | gen_ident_pat.rs:6:22:6:22 | y | +| gen_ident_pat.rs:10:9:10:25 | y | gen_ident_pat.rs:10:9:10:9 | y | diff --git a/rust/ql/test/extractor-tests/generated/MacroCall/MacroCall_getPath.expected b/rust/ql/test/extractor-tests/generated/MacroCall/MacroCall_getPath.expected index f029d3ea015e..33685ad0aad9 100644 --- a/rust/ql/test/extractor-tests/generated/MacroCall/MacroCall_getPath.expected +++ b/rust/ql/test/extractor-tests/generated/MacroCall/MacroCall_getPath.expected @@ -1 +1 @@ -| gen_macro_call.rs:5:5:5:11 | MacroCall | gen_macro_call.rs:5:5:5:8 | Path | +| gen_macro_call.rs:5:5:5:11 | MacroCall | gen_macro_call.rs:5:5:5:8 | todo | diff --git a/rust/ql/test/extractor-tests/generated/MethodCallExpr/MethodCallExpr.expected b/rust/ql/test/extractor-tests/generated/MethodCallExpr/MethodCallExpr.expected index 33ab9edbb293..d6c0d90cd750 100644 --- a/rust/ql/test/extractor-tests/generated/MethodCallExpr/MethodCallExpr.expected +++ b/rust/ql/test/extractor-tests/generated/MethodCallExpr/MethodCallExpr.expected @@ -1,2 +1,2 @@ -| gen_method_call_expr.rs:5:5:5:13 | MethodCallExpr | hasArgList: | yes | getNumberOfAttrs: | 0 | hasGenericArgList: | no | hasNameRef: | yes | hasReceiver: | yes | hasResolvedPath: | no | hasResolvedCrateOrigin: | no | -| gen_method_call_expr.rs:6:5:6:25 | MethodCallExpr | hasArgList: | yes | getNumberOfAttrs: | 0 | hasGenericArgList: | yes | hasNameRef: | yes | hasReceiver: | yes | hasResolvedPath: | no | hasResolvedCrateOrigin: | no | +| gen_method_call_expr.rs:5:5:5:13 | ... .foo(...) | hasArgList: | yes | getNumberOfAttrs: | 0 | hasResolvedPath: | no | hasResolvedCrateOrigin: | no | hasGenericArgList: | no | hasNameRef: | yes | hasReceiver: | yes | +| gen_method_call_expr.rs:6:5:6:25 | ... .foo(...) | hasArgList: | yes | getNumberOfAttrs: | 0 | hasResolvedPath: | no | hasResolvedCrateOrigin: | no | hasGenericArgList: | yes | hasNameRef: | yes | hasReceiver: | yes | diff --git a/rust/ql/test/extractor-tests/generated/MethodCallExpr/MethodCallExpr_getArgList.expected b/rust/ql/test/extractor-tests/generated/MethodCallExpr/MethodCallExpr_getArgList.expected index 2ad859d74e46..e6fad5c36ec5 100644 --- a/rust/ql/test/extractor-tests/generated/MethodCallExpr/MethodCallExpr_getArgList.expected +++ b/rust/ql/test/extractor-tests/generated/MethodCallExpr/MethodCallExpr_getArgList.expected @@ -1,2 +1,2 @@ -| gen_method_call_expr.rs:5:5:5:13 | MethodCallExpr | gen_method_call_expr.rs:5:10:5:13 | ArgList | -| gen_method_call_expr.rs:6:5:6:25 | MethodCallExpr | gen_method_call_expr.rs:6:22:6:25 | ArgList | +| gen_method_call_expr.rs:5:5:5:13 | ... .foo(...) | gen_method_call_expr.rs:5:10:5:13 | ArgList | +| gen_method_call_expr.rs:6:5:6:25 | ... .foo(...) | gen_method_call_expr.rs:6:22:6:25 | ArgList | diff --git a/rust/ql/test/extractor-tests/generated/MethodCallExpr/MethodCallExpr_getGenericArgList.expected b/rust/ql/test/extractor-tests/generated/MethodCallExpr/MethodCallExpr_getGenericArgList.expected index 8f63b756ae44..8b2622f09abe 100644 --- a/rust/ql/test/extractor-tests/generated/MethodCallExpr/MethodCallExpr_getGenericArgList.expected +++ b/rust/ql/test/extractor-tests/generated/MethodCallExpr/MethodCallExpr_getGenericArgList.expected @@ -1 +1 @@ -| gen_method_call_expr.rs:6:5:6:25 | MethodCallExpr | gen_method_call_expr.rs:6:10:6:21 | GenericArgList | +| gen_method_call_expr.rs:6:5:6:25 | ... .foo(...) | gen_method_call_expr.rs:6:10:6:21 | GenericArgList | diff --git a/rust/ql/test/extractor-tests/generated/MethodCallExpr/MethodCallExpr_getNameRef.expected b/rust/ql/test/extractor-tests/generated/MethodCallExpr/MethodCallExpr_getNameRef.expected index ac9aa15ebec6..ba9fb15a1139 100644 --- a/rust/ql/test/extractor-tests/generated/MethodCallExpr/MethodCallExpr_getNameRef.expected +++ b/rust/ql/test/extractor-tests/generated/MethodCallExpr/MethodCallExpr_getNameRef.expected @@ -1,2 +1,2 @@ -| gen_method_call_expr.rs:5:5:5:13 | MethodCallExpr | gen_method_call_expr.rs:5:7:5:9 | NameRef | -| gen_method_call_expr.rs:6:5:6:25 | MethodCallExpr | gen_method_call_expr.rs:6:7:6:9 | NameRef | +| gen_method_call_expr.rs:5:5:5:13 | ... .foo(...) | gen_method_call_expr.rs:5:7:5:9 | foo | +| gen_method_call_expr.rs:6:5:6:25 | ... .foo(...) | gen_method_call_expr.rs:6:7:6:9 | foo | diff --git a/rust/ql/test/extractor-tests/generated/MethodCallExpr/MethodCallExpr_getReceiver.expected b/rust/ql/test/extractor-tests/generated/MethodCallExpr/MethodCallExpr_getReceiver.expected index 16cc94b89925..0b82390293bd 100644 --- a/rust/ql/test/extractor-tests/generated/MethodCallExpr/MethodCallExpr_getReceiver.expected +++ b/rust/ql/test/extractor-tests/generated/MethodCallExpr/MethodCallExpr_getReceiver.expected @@ -1,2 +1,2 @@ -| gen_method_call_expr.rs:5:5:5:13 | MethodCallExpr | gen_method_call_expr.rs:5:5:5:5 | PathExpr | -| gen_method_call_expr.rs:6:5:6:25 | MethodCallExpr | gen_method_call_expr.rs:6:5:6:5 | PathExpr | +| gen_method_call_expr.rs:5:5:5:13 | ... .foo(...) | gen_method_call_expr.rs:5:5:5:5 | PathExpr | +| gen_method_call_expr.rs:6:5:6:25 | ... .foo(...) | gen_method_call_expr.rs:6:5:6:5 | PathExpr | diff --git a/rust/ql/test/extractor-tests/generated/Module/Module_getName.expected b/rust/ql/test/extractor-tests/generated/Module/Module_getName.expected index 918f151e292c..cc295b1da89a 100644 --- a/rust/ql/test/extractor-tests/generated/Module/Module_getName.expected +++ b/rust/ql/test/extractor-tests/generated/Module/Module_getName.expected @@ -1,3 +1,3 @@ -| gen_module.rs:3:1:4:8 | Module | gen_module.rs:4:5:4:7 | Name | -| gen_module.rs:5:1:7:1 | Module | gen_module.rs:5:5:5:7 | Name | -| lib.rs:1:1:1:15 | Module | lib.rs:1:5:1:14 | Name | +| gen_module.rs:3:1:4:8 | Module | gen_module.rs:4:5:4:7 | foo | +| gen_module.rs:5:1:7:1 | Module | gen_module.rs:5:5:5:7 | bar | +| lib.rs:1:1:1:15 | Module | lib.rs:1:5:1:14 | gen_module | diff --git a/rust/ql/test/extractor-tests/generated/Name/Name.expected b/rust/ql/test/extractor-tests/generated/Name/Name.expected index 38072342a84d..37d1c2e1dd4f 100644 --- a/rust/ql/test/extractor-tests/generated/Name/Name.expected +++ b/rust/ql/test/extractor-tests/generated/Name/Name.expected @@ -1,2 +1,2 @@ -| gen_name.rs:3:4:3:12 | Name | hasText: | yes | -| lib.rs:1:5:1:12 | Name | hasText: | yes | +| gen_name.rs:3:4:3:12 | test_name | hasText: | yes | +| lib.rs:1:5:1:12 | gen_name | hasText: | yes | diff --git a/rust/ql/test/extractor-tests/generated/Name/Name_getText.expected b/rust/ql/test/extractor-tests/generated/Name/Name_getText.expected index edc4ae3244d0..9cee64fd236e 100644 --- a/rust/ql/test/extractor-tests/generated/Name/Name_getText.expected +++ b/rust/ql/test/extractor-tests/generated/Name/Name_getText.expected @@ -1,2 +1,2 @@ -| gen_name.rs:3:4:3:12 | Name | test_name | -| lib.rs:1:5:1:12 | Name | gen_name | +| gen_name.rs:3:4:3:12 | test_name | test_name | +| lib.rs:1:5:1:12 | gen_name | gen_name | diff --git a/rust/ql/test/extractor-tests/generated/NameRef/NameRef.expected b/rust/ql/test/extractor-tests/generated/NameRef/NameRef.expected index d28b8224609f..2c0b9dffa4d2 100644 --- a/rust/ql/test/extractor-tests/generated/NameRef/NameRef.expected +++ b/rust/ql/test/extractor-tests/generated/NameRef/NameRef.expected @@ -1,4 +1,4 @@ -| gen_name_ref.rs:5:5:5:8 | NameRef | hasText: | yes | -| gen_name_ref.rs:5:5:5:11 | NameRef | hasText: | yes | -| gen_name_ref.rs:5:5:5:11 | NameRef | hasText: | yes | -| gen_name_ref.rs:5:5:5:11 | NameRef | hasText: | yes | +| gen_name_ref.rs:5:5:5:8 | todo | hasText: | yes | +| gen_name_ref.rs:5:5:5:11 | $crate | hasText: | yes | +| gen_name_ref.rs:5:5:5:11 | panic | hasText: | yes | +| gen_name_ref.rs:5:5:5:11 | panicking | hasText: | yes | diff --git a/rust/ql/test/extractor-tests/generated/NameRef/NameRef_getText.expected b/rust/ql/test/extractor-tests/generated/NameRef/NameRef_getText.expected index 8b41037f56d2..17f24a9cefe1 100644 --- a/rust/ql/test/extractor-tests/generated/NameRef/NameRef_getText.expected +++ b/rust/ql/test/extractor-tests/generated/NameRef/NameRef_getText.expected @@ -1,4 +1,4 @@ -| gen_name_ref.rs:5:5:5:8 | NameRef | todo | -| gen_name_ref.rs:5:5:5:11 | NameRef | $crate | -| gen_name_ref.rs:5:5:5:11 | NameRef | panic | -| gen_name_ref.rs:5:5:5:11 | NameRef | panicking | +| gen_name_ref.rs:5:5:5:8 | todo | todo | +| gen_name_ref.rs:5:5:5:11 | $crate | $crate | +| gen_name_ref.rs:5:5:5:11 | panic | panic | +| gen_name_ref.rs:5:5:5:11 | panicking | panicking | diff --git a/rust/ql/test/extractor-tests/generated/OffsetOfExpr/OffsetOfExpr_getField.expected b/rust/ql/test/extractor-tests/generated/OffsetOfExpr/OffsetOfExpr_getField.expected index f98fbf4969f1..bec224d18cee 100644 --- a/rust/ql/test/extractor-tests/generated/OffsetOfExpr/OffsetOfExpr_getField.expected +++ b/rust/ql/test/extractor-tests/generated/OffsetOfExpr/OffsetOfExpr_getField.expected @@ -1 +1 @@ -| gen_offset_of_expr.rs:5:5:5:38 | OffsetOfExpr | 0 | gen_offset_of_expr.rs:5:33:5:37 | NameRef | +| gen_offset_of_expr.rs:5:5:5:38 | OffsetOfExpr | 0 | gen_offset_of_expr.rs:5:33:5:37 | field | diff --git a/rust/ql/test/extractor-tests/generated/Path/Path.expected b/rust/ql/test/extractor-tests/generated/Path/Path.expected index aac69a7f4667..db093224b76b 100644 --- a/rust/ql/test/extractor-tests/generated/Path/Path.expected +++ b/rust/ql/test/extractor-tests/generated/Path/Path.expected @@ -1,2 +1,2 @@ -| gen_path.rs:5:5:5:7 | Path | hasQualifier: | no | hasPart: | yes | hasResolvedPath: | no | hasResolvedCrateOrigin: | no | -| gen_path.rs:5:5:5:12 | Path | hasQualifier: | yes | hasPart: | yes | hasResolvedPath: | no | hasResolvedCrateOrigin: | no | +| gen_path.rs:5:5:5:7 | foo | hasResolvedPath: | no | hasResolvedCrateOrigin: | no | hasQualifier: | no | hasPart: | yes | +| gen_path.rs:5:5:5:12 | foo::bar | hasResolvedPath: | no | hasResolvedCrateOrigin: | no | hasQualifier: | yes | hasPart: | yes | diff --git a/rust/ql/test/extractor-tests/generated/Path/Path_getPart.expected b/rust/ql/test/extractor-tests/generated/Path/Path_getPart.expected index 5d56b2fb3f77..0e05956ea897 100644 --- a/rust/ql/test/extractor-tests/generated/Path/Path_getPart.expected +++ b/rust/ql/test/extractor-tests/generated/Path/Path_getPart.expected @@ -1,2 +1,2 @@ -| gen_path.rs:5:5:5:7 | Path | gen_path.rs:5:5:5:7 | PathSegment | -| gen_path.rs:5:5:5:12 | Path | gen_path.rs:5:10:5:12 | PathSegment | +| gen_path.rs:5:5:5:7 | foo | gen_path.rs:5:5:5:7 | foo | +| gen_path.rs:5:5:5:12 | foo::bar | gen_path.rs:5:10:5:12 | bar | diff --git a/rust/ql/test/extractor-tests/generated/Path/Path_getQualifier.expected b/rust/ql/test/extractor-tests/generated/Path/Path_getQualifier.expected index 3d9554c43cd9..44aa2ca5a006 100644 --- a/rust/ql/test/extractor-tests/generated/Path/Path_getQualifier.expected +++ b/rust/ql/test/extractor-tests/generated/Path/Path_getQualifier.expected @@ -1 +1 @@ -| gen_path.rs:5:5:5:12 | Path | gen_path.rs:5:5:5:7 | Path | +| gen_path.rs:5:5:5:12 | foo::bar | gen_path.rs:5:5:5:7 | foo | diff --git a/rust/ql/test/extractor-tests/generated/PathExpr/PathExpr_getPath.expected b/rust/ql/test/extractor-tests/generated/PathExpr/PathExpr_getPath.expected index 8dd98e1fb0d7..39ec516064de 100644 --- a/rust/ql/test/extractor-tests/generated/PathExpr/PathExpr_getPath.expected +++ b/rust/ql/test/extractor-tests/generated/PathExpr/PathExpr_getPath.expected @@ -1,4 +1,4 @@ -| gen_path_expr.rs:5:13:5:20 | PathExpr | gen_path_expr.rs:5:13:5:20 | Path | -| gen_path_expr.rs:6:13:6:20 | PathExpr | gen_path_expr.rs:6:13:6:20 | Path | -| gen_path_expr.rs:7:13:7:20 | PathExpr | gen_path_expr.rs:7:13:7:20 | Path | -| gen_path_expr.rs:8:13:8:35 | PathExpr | gen_path_expr.rs:8:13:8:35 | Path | +| gen_path_expr.rs:5:13:5:20 | PathExpr | gen_path_expr.rs:5:13:5:20 | variable | +| gen_path_expr.rs:6:13:6:20 | PathExpr | gen_path_expr.rs:6:13:6:20 | foo::bar | +| gen_path_expr.rs:7:13:7:20 | PathExpr | gen_path_expr.rs:7:13:7:20 | (no string representation) | +| gen_path_expr.rs:8:13:8:35 | PathExpr | gen_path_expr.rs:8:13:8:35 | (no string representation) | diff --git a/rust/ql/test/extractor-tests/generated/PathPat/PathPat_getPath.expected b/rust/ql/test/extractor-tests/generated/PathPat/PathPat_getPath.expected index 11c280c85bb3..d48ba6549dba 100644 --- a/rust/ql/test/extractor-tests/generated/PathPat/PathPat_getPath.expected +++ b/rust/ql/test/extractor-tests/generated/PathPat/PathPat_getPath.expected @@ -1 +1 @@ -| gen_path_pat.rs:6:9:6:16 | PathPat | gen_path_pat.rs:6:9:6:16 | Path | +| gen_path_pat.rs:6:9:6:16 | PathPat | gen_path_pat.rs:6:9:6:16 | Foo::Bar | diff --git a/rust/ql/test/extractor-tests/generated/PathSegment/PathSegment.expected b/rust/ql/test/extractor-tests/generated/PathSegment/PathSegment.expected index d3edb17d535b..32042fc6a59d 100644 --- a/rust/ql/test/extractor-tests/generated/PathSegment/PathSegment.expected +++ b/rust/ql/test/extractor-tests/generated/PathSegment/PathSegment.expected @@ -1,4 +1,4 @@ -| gen_path_segment.rs:5:5:5:8 | PathSegment | hasGenericArgList: | no | hasNameRef: | yes | hasParamList: | no | hasPathType: | no | hasRetType: | no | hasReturnTypeSyntax: | no | hasTy: | no | -| gen_path_segment.rs:5:5:5:11 | PathSegment | hasGenericArgList: | no | hasNameRef: | yes | hasParamList: | no | hasPathType: | no | hasRetType: | no | hasReturnTypeSyntax: | no | hasTy: | no | -| gen_path_segment.rs:5:5:5:11 | PathSegment | hasGenericArgList: | no | hasNameRef: | yes | hasParamList: | no | hasPathType: | no | hasRetType: | no | hasReturnTypeSyntax: | no | hasTy: | no | -| gen_path_segment.rs:5:5:5:11 | PathSegment | hasGenericArgList: | no | hasNameRef: | yes | hasParamList: | no | hasPathType: | no | hasRetType: | no | hasReturnTypeSyntax: | no | hasTy: | no | +| gen_path_segment.rs:5:5:5:8 | todo | hasGenericArgList: | no | hasNameRef: | yes | hasParamList: | no | hasPathType: | no | hasRetType: | no | hasReturnTypeSyntax: | no | hasTy: | no | +| gen_path_segment.rs:5:5:5:11 | $crate | hasGenericArgList: | no | hasNameRef: | yes | hasParamList: | no | hasPathType: | no | hasRetType: | no | hasReturnTypeSyntax: | no | hasTy: | no | +| gen_path_segment.rs:5:5:5:11 | panic | hasGenericArgList: | no | hasNameRef: | yes | hasParamList: | no | hasPathType: | no | hasRetType: | no | hasReturnTypeSyntax: | no | hasTy: | no | +| gen_path_segment.rs:5:5:5:11 | panicking | hasGenericArgList: | no | hasNameRef: | yes | hasParamList: | no | hasPathType: | no | hasRetType: | no | hasReturnTypeSyntax: | no | hasTy: | no | diff --git a/rust/ql/test/extractor-tests/generated/PathSegment/PathSegment_getNameRef.expected b/rust/ql/test/extractor-tests/generated/PathSegment/PathSegment_getNameRef.expected index 38207ad29282..28346240d296 100644 --- a/rust/ql/test/extractor-tests/generated/PathSegment/PathSegment_getNameRef.expected +++ b/rust/ql/test/extractor-tests/generated/PathSegment/PathSegment_getNameRef.expected @@ -1,4 +1,4 @@ -| gen_path_segment.rs:5:5:5:8 | PathSegment | gen_path_segment.rs:5:5:5:8 | NameRef | -| gen_path_segment.rs:5:5:5:11 | PathSegment | gen_path_segment.rs:5:5:5:11 | NameRef | -| gen_path_segment.rs:5:5:5:11 | PathSegment | gen_path_segment.rs:5:5:5:11 | NameRef | -| gen_path_segment.rs:5:5:5:11 | PathSegment | gen_path_segment.rs:5:5:5:11 | NameRef | +| gen_path_segment.rs:5:5:5:8 | todo | gen_path_segment.rs:5:5:5:8 | todo | +| gen_path_segment.rs:5:5:5:11 | $crate | gen_path_segment.rs:5:5:5:11 | $crate | +| gen_path_segment.rs:5:5:5:11 | panic | gen_path_segment.rs:5:5:5:11 | panic | +| gen_path_segment.rs:5:5:5:11 | panicking | gen_path_segment.rs:5:5:5:11 | panicking | diff --git a/rust/ql/test/extractor-tests/generated/RecordExpr/RecordExpr_getPath.expected b/rust/ql/test/extractor-tests/generated/RecordExpr/RecordExpr_getPath.expected index d027792d93ad..91d4f5cb0b56 100644 --- a/rust/ql/test/extractor-tests/generated/RecordExpr/RecordExpr_getPath.expected +++ b/rust/ql/test/extractor-tests/generated/RecordExpr/RecordExpr_getPath.expected @@ -1,4 +1,4 @@ -| gen_record_expr.rs:5:17:5:34 | RecordExpr | gen_record_expr.rs:5:17:5:19 | Path | -| gen_record_expr.rs:6:18:6:38 | RecordExpr | gen_record_expr.rs:6:18:6:20 | Path | -| gen_record_expr.rs:7:5:7:22 | RecordExpr | gen_record_expr.rs:7:5:7:7 | Path | -| gen_record_expr.rs:8:5:8:14 | RecordExpr | gen_record_expr.rs:8:5:8:7 | Path | +| gen_record_expr.rs:5:17:5:34 | RecordExpr | gen_record_expr.rs:5:17:5:19 | Foo | +| gen_record_expr.rs:6:18:6:38 | RecordExpr | gen_record_expr.rs:6:18:6:20 | Foo | +| gen_record_expr.rs:7:5:7:22 | RecordExpr | gen_record_expr.rs:7:5:7:7 | Foo | +| gen_record_expr.rs:8:5:8:14 | RecordExpr | gen_record_expr.rs:8:5:8:7 | Foo | diff --git a/rust/ql/test/extractor-tests/generated/RecordExprField/RecordExprField_getNameRef.expected b/rust/ql/test/extractor-tests/generated/RecordExprField/RecordExprField_getNameRef.expected index 14096d8b7cec..081e3ccac566 100644 --- a/rust/ql/test/extractor-tests/generated/RecordExprField/RecordExprField_getNameRef.expected +++ b/rust/ql/test/extractor-tests/generated/RecordExprField/RecordExprField_getNameRef.expected @@ -1,2 +1,2 @@ -| gen_record_expr_field.rs:5:11:5:14 | RecordExprField | gen_record_expr_field.rs:5:11:5:11 | NameRef | -| gen_record_expr_field.rs:5:17:5:20 | RecordExprField | gen_record_expr_field.rs:5:17:5:17 | NameRef | +| gen_record_expr_field.rs:5:11:5:14 | RecordExprField | gen_record_expr_field.rs:5:11:5:11 | a | +| gen_record_expr_field.rs:5:17:5:20 | RecordExprField | gen_record_expr_field.rs:5:17:5:17 | b | diff --git a/rust/ql/test/extractor-tests/generated/RecordPat/RecordPat_getPath.expected b/rust/ql/test/extractor-tests/generated/RecordPat/RecordPat_getPath.expected index a365bfa83d0f..a9e0be01d5b5 100644 --- a/rust/ql/test/extractor-tests/generated/RecordPat/RecordPat_getPath.expected +++ b/rust/ql/test/extractor-tests/generated/RecordPat/RecordPat_getPath.expected @@ -1,2 +1,2 @@ -| gen_record_pat.rs:6:9:6:26 | RecordPat | gen_record_pat.rs:6:9:6:11 | Path | -| gen_record_pat.rs:7:9:7:18 | RecordPat | gen_record_pat.rs:7:9:7:11 | Path | +| gen_record_pat.rs:6:9:6:26 | RecordPat | gen_record_pat.rs:6:9:6:11 | Foo | +| gen_record_pat.rs:7:9:7:18 | RecordPat | gen_record_pat.rs:7:9:7:11 | Foo | diff --git a/rust/ql/test/extractor-tests/generated/RecordPatField/RecordPatField_getNameRef.expected b/rust/ql/test/extractor-tests/generated/RecordPatField/RecordPatField_getNameRef.expected index cfc6515d79df..abbb171ae68d 100644 --- a/rust/ql/test/extractor-tests/generated/RecordPatField/RecordPatField_getNameRef.expected +++ b/rust/ql/test/extractor-tests/generated/RecordPatField/RecordPatField_getNameRef.expected @@ -1,2 +1,2 @@ -| gen_record_pat_field.rs:5:15:5:18 | RecordPatField | gen_record_pat_field.rs:5:15:5:15 | NameRef | -| gen_record_pat_field.rs:5:21:5:24 | RecordPatField | gen_record_pat_field.rs:5:21:5:21 | NameRef | +| gen_record_pat_field.rs:5:15:5:18 | RecordPatField | gen_record_pat_field.rs:5:15:5:15 | a | +| gen_record_pat_field.rs:5:21:5:24 | RecordPatField | gen_record_pat_field.rs:5:21:5:21 | b | diff --git a/rust/ql/test/extractor-tests/generated/Trait/Trait_getName.expected b/rust/ql/test/extractor-tests/generated/Trait/Trait_getName.expected index c9fbc3495f17..cc60a2ab9386 100644 --- a/rust/ql/test/extractor-tests/generated/Trait/Trait_getName.expected +++ b/rust/ql/test/extractor-tests/generated/Trait/Trait_getName.expected @@ -1,2 +1,2 @@ -| gen_trait.rs:3:1:8:1 | Trait | gen_trait.rs:4:7:4:18 | Name | -| gen_trait.rs:10:1:10:57 | Trait | gen_trait.rs:10:11:10:13 | Name | +| gen_trait.rs:3:1:8:1 | Trait | gen_trait.rs:4:7:4:18 | Frobinizable | +| gen_trait.rs:10:1:10:57 | Trait | gen_trait.rs:10:11:10:13 | Foo | diff --git a/rust/ql/test/extractor-tests/generated/TupleStructPat/TupleStructPat_getPath.expected b/rust/ql/test/extractor-tests/generated/TupleStructPat/TupleStructPat_getPath.expected index e51529b2708f..0c07d081720e 100644 --- a/rust/ql/test/extractor-tests/generated/TupleStructPat/TupleStructPat_getPath.expected +++ b/rust/ql/test/extractor-tests/generated/TupleStructPat/TupleStructPat_getPath.expected @@ -1,3 +1,3 @@ -| gen_tuple_struct_pat.rs:6:9:6:27 | TupleStructPat | gen_tuple_struct_pat.rs:6:9:6:13 | Path | -| gen_tuple_struct_pat.rs:7:9:7:20 | TupleStructPat | gen_tuple_struct_pat.rs:7:9:7:13 | Path | -| gen_tuple_struct_pat.rs:8:9:8:17 | TupleStructPat | gen_tuple_struct_pat.rs:8:9:8:13 | Path | +| gen_tuple_struct_pat.rs:6:9:6:27 | TupleStructPat | gen_tuple_struct_pat.rs:6:9:6:13 | Tuple | +| gen_tuple_struct_pat.rs:7:9:7:20 | TupleStructPat | gen_tuple_struct_pat.rs:7:9:7:13 | Tuple | +| gen_tuple_struct_pat.rs:8:9:8:17 | TupleStructPat | gen_tuple_struct_pat.rs:8:9:8:13 | Tuple | diff --git a/rust/ql/test/extractor-tests/utf8/ast.expected b/rust/ql/test/extractor-tests/utf8/ast.expected index 5586f36b0ac0..dfc20f5ab58b 100644 --- a/rust/ql/test/extractor-tests/utf8/ast.expected +++ b/rust/ql/test/extractor-tests/utf8/ast.expected @@ -1,33 +1,33 @@ | lib.rs:1:1:1:21 | Module | | lib.rs:1:1:1:21 | SourceFile | -| lib.rs:1:5:1:20 | Name | +| lib.rs:1:5:1:20 | utf8_identifiers | | utf8_identifiers.rs:1:1:4:6 | foo | | utf8_identifiers.rs:1:1:12:2 | SourceFile | -| utf8_identifiers.rs:1:4:1:6 | Name | +| utf8_identifiers.rs:1:4:1:6 | foo | | utf8_identifiers.rs:1:7:4:1 | GenericParamList | | utf8_identifiers.rs:2:5:2:6 | Lifetime | | utf8_identifiers.rs:2:5:2:6 | LifetimeParam | -| utf8_identifiers.rs:3:5:3:5 | Name | | utf8_identifiers.rs:3:5:3:5 | TypeParam | +| utf8_identifiers.rs:3:5:3:5 | \u03b3 | | utf8_identifiers.rs:4:2:4:3 | ParamList | | utf8_identifiers.rs:4:5:4:6 | BlockExpr | | utf8_identifiers.rs:4:5:4:6 | StmtList | | utf8_identifiers.rs:6:1:8:1 | Struct | -| utf8_identifiers.rs:6:8:6:8 | Name | +| utf8_identifiers.rs:6:8:6:8 | X | | utf8_identifiers.rs:6:10:8:1 | RecordFieldList | -| utf8_identifiers.rs:7:5:7:5 | Name | +| utf8_identifiers.rs:7:5:7:5 | \u03b4 | | utf8_identifiers.rs:7:5:7:13 | RecordField | -| utf8_identifiers.rs:7:9:7:13 | NameRef | -| utf8_identifiers.rs:7:9:7:13 | Path | -| utf8_identifiers.rs:7:9:7:13 | PathSegment | | utf8_identifiers.rs:7:9:7:13 | PathType | +| utf8_identifiers.rs:7:9:7:13 | usize | +| utf8_identifiers.rs:7:9:7:13 | usize | +| utf8_identifiers.rs:7:9:7:13 | usize | | utf8_identifiers.rs:10:1:10:3 | Visibility | | utf8_identifiers.rs:10:1:12:1 | main | -| utf8_identifiers.rs:10:8:10:11 | Name | +| utf8_identifiers.rs:10:8:10:11 | main | | utf8_identifiers.rs:10:12:10:13 | ParamList | | utf8_identifiers.rs:10:15:12:1 | BlockExpr | | utf8_identifiers.rs:10:15:12:1 | StmtList | | utf8_identifiers.rs:11:5:11:24 | LetStmt | -| utf8_identifiers.rs:11:9:11:9 | Name | +| utf8_identifiers.rs:11:9:11:9 | \u03b1 | | utf8_identifiers.rs:11:9:11:9 | \u03b1 | | utf8_identifiers.rs:11:14:11:23 | 0.00001f64 | diff --git a/rust/ql/test/library-tests/controlflow/Cfg.expected b/rust/ql/test/library-tests/controlflow/Cfg.expected index cdbf56592c9a..d67c92e29a06 100644 --- a/rust/ql/test/library-tests/controlflow/Cfg.expected +++ b/rust/ql/test/library-tests/controlflow/Cfg.expected @@ -20,10 +20,10 @@ edges | test.rs:11:23:11:34 | PathExpr | test.rs:11:23:11:36 | CallExpr | | | test.rs:11:23:11:36 | CallExpr | test.rs:11:13:11:19 | map | | | test.rs:12:9:12:11 | map | test.rs:12:20:12:21 | 37 | | -| test.rs:12:9:12:27 | MethodCallExpr | test.rs:10:22:13:5 | BlockExpr | | +| test.rs:12:9:12:27 | ... .insert(...) | test.rs:10:22:13:5 | BlockExpr | | | test.rs:12:9:12:28 | ExprStmt | test.rs:12:9:12:11 | map | | | test.rs:12:20:12:21 | 37 | test.rs:12:24:12:26 | "a" | | -| test.rs:12:24:12:26 | "a" | test.rs:12:9:12:27 | MethodCallExpr | | +| test.rs:12:24:12:26 | "a" | test.rs:12:9:12:27 | ... .insert(...) | | | test.rs:18:5:34:5 | enter test_break_and_continue | test.rs:18:32:18:32 | n | | | test.rs:18:5:34:5 | exit test_break_and_continue (normal) | test.rs:18:5:34:5 | exit test_break_and_continue | | | test.rs:18:32:18:32 | n | test.rs:18:32:18:37 | Param | match | @@ -173,8 +173,8 @@ edges | test.rs:91:19:91:25 | TupleStructPat | test.rs:91:9:95:9 | WhileExpr | no-match | | test.rs:91:19:91:25 | TupleStructPat | test.rs:91:24:91:24 | x | match | | test.rs:91:24:91:24 | x | test.rs:92:17:92:17 | PathExpr | match | -| test.rs:91:29:91:32 | iter | test.rs:91:29:91:39 | MethodCallExpr | | -| test.rs:91:29:91:39 | MethodCallExpr | test.rs:91:19:91:25 | TupleStructPat | | +| test.rs:91:29:91:32 | iter | test.rs:91:29:91:39 | ... .next(...) | | +| test.rs:91:29:91:39 | ... .next(...) | test.rs:91:19:91:25 | TupleStructPat | | | test.rs:91:41:95:9 | BlockExpr | test.rs:91:15:91:39 | LetExpr | | | test.rs:92:13:94:13 | IfExpr | test.rs:91:41:95:9 | BlockExpr | | | test.rs:92:17:92:17 | PathExpr | test.rs:92:21:92:21 | 5 | | @@ -576,8 +576,8 @@ edges | test.rs:269:38:269:38 | s | test.rs:269:38:269:44 | Param | match | | test.rs:269:38:269:44 | Param | test.rs:270:9:270:11 | PathExpr | | | test.rs:269:62:271:5 | BlockExpr | test.rs:269:5:271:5 | exit test_question_mark_operator_1 (normal) | | -| test.rs:270:9:270:11 | PathExpr | test.rs:270:9:270:26 | MethodCallExpr | | -| test.rs:270:9:270:26 | MethodCallExpr | test.rs:270:9:270:27 | TryExpr | | +| test.rs:270:9:270:11 | PathExpr | test.rs:270:9:270:26 | ... .parse(...) | | +| test.rs:270:9:270:26 | ... .parse(...) | test.rs:270:9:270:27 | TryExpr | | | test.rs:270:9:270:27 | TryExpr | test.rs:269:5:271:5 | exit test_question_mark_operator_1 (normal) | return | | test.rs:270:9:270:27 | TryExpr | test.rs:270:31:270:31 | 4 | match | | test.rs:270:9:270:31 | ... + ... | test.rs:269:62:271:5 | BlockExpr | | diff --git a/rust/ql/test/library-tests/variables/Cfg.expected b/rust/ql/test/library-tests/variables/Cfg.expected index f9bd23630192..f608d82e32d0 100644 --- a/rust/ql/test/library-tests/variables/Cfg.expected +++ b/rust/ql/test/library-tests/variables/Cfg.expected @@ -735,11 +735,11 @@ edges | variables.rs:343:5:343:16 | CallExpr | variables.rs:344:5:344:28 | ExprStmt | | | variables.rs:343:5:343:17 | ExprStmt | variables.rs:343:5:343:13 | PathExpr | | | variables.rs:343:15:343:15 | a | variables.rs:343:5:343:16 | CallExpr | | -| variables.rs:344:5:344:27 | MethodCallExpr | variables.rs:345:5:345:17 | ExprStmt | | +| variables.rs:344:5:344:27 | ... .add_assign(...) | variables.rs:345:5:345:17 | ExprStmt | | | variables.rs:344:5:344:28 | ExprStmt | variables.rs:344:11:344:11 | a | | | variables.rs:344:6:344:11 | RefExpr | variables.rs:344:25:344:26 | 10 | | | variables.rs:344:11:344:11 | a | variables.rs:344:6:344:11 | RefExpr | | -| variables.rs:344:25:344:26 | 10 | variables.rs:344:5:344:27 | MethodCallExpr | | +| variables.rs:344:25:344:26 | 10 | variables.rs:344:5:344:27 | ... .add_assign(...) | | | variables.rs:345:5:345:13 | PathExpr | variables.rs:345:15:345:15 | a | | | variables.rs:345:5:345:16 | CallExpr | variables.rs:340:17:346:1 | BlockExpr | | | variables.rs:345:5:345:17 | ExprStmt | variables.rs:345:5:345:13 | PathExpr | | @@ -940,9 +940,9 @@ edges | variables.rs:428:24:430:5 | exit ClosureExpr (normal) | variables.rs:428:24:430:5 | exit ClosureExpr | | | variables.rs:428:27:430:5 | BlockExpr | variables.rs:428:24:430:5 | exit ClosureExpr (normal) | | | variables.rs:429:9:429:9 | z | variables.rs:429:22:429:22 | 1 | | -| variables.rs:429:9:429:23 | MethodCallExpr | variables.rs:428:27:430:5 | BlockExpr | | +| variables.rs:429:9:429:23 | ... .add_assign(...) | variables.rs:428:27:430:5 | BlockExpr | | | variables.rs:429:9:429:24 | ExprStmt | variables.rs:429:9:429:9 | z | | -| variables.rs:429:22:429:22 | 1 | variables.rs:429:9:429:23 | MethodCallExpr | | +| variables.rs:429:22:429:22 | 1 | variables.rs:429:9:429:23 | ... .add_assign(...) | | | variables.rs:431:5:431:12 | closure3 | variables.rs:431:5:431:14 | CallExpr | | | variables.rs:431:5:431:14 | CallExpr | variables.rs:432:5:432:17 | ExprStmt | | | variables.rs:431:5:431:15 | ExprStmt | variables.rs:431:5:431:12 | closure3 | | @@ -1059,8 +1059,8 @@ edges | variables.rs:479:5:479:13 | PathExpr | variables.rs:479:15:479:15 | a | | | variables.rs:479:5:479:25 | CallExpr | variables.rs:480:5:480:14 | ExprStmt | | | variables.rs:479:5:479:26 | ExprStmt | variables.rs:479:5:479:13 | PathExpr | | -| variables.rs:479:15:479:15 | a | variables.rs:479:15:479:24 | MethodCallExpr | | -| variables.rs:479:15:479:24 | MethodCallExpr | variables.rs:479:5:479:25 | CallExpr | | +| variables.rs:479:15:479:15 | a | variables.rs:479:15:479:24 | ... .my_get(...) | | +| variables.rs:479:15:479:24 | ... .my_get(...) | variables.rs:479:5:479:25 | CallExpr | | | variables.rs:480:5:480:5 | a | variables.rs:480:5:480:9 | FieldExpr | | | variables.rs:480:5:480:9 | FieldExpr | variables.rs:480:13:480:13 | 5 | | | variables.rs:480:5:480:13 | ... = ... | variables.rs:481:5:481:26 | ExprStmt | | @@ -1069,8 +1069,8 @@ edges | variables.rs:481:5:481:13 | PathExpr | variables.rs:481:15:481:15 | a | | | variables.rs:481:5:481:25 | CallExpr | variables.rs:482:5:482:28 | ExprStmt | | | variables.rs:481:5:481:26 | ExprStmt | variables.rs:481:5:481:13 | PathExpr | | -| variables.rs:481:15:481:15 | a | variables.rs:481:15:481:24 | MethodCallExpr | | -| variables.rs:481:15:481:24 | MethodCallExpr | variables.rs:481:5:481:25 | CallExpr | | +| variables.rs:481:15:481:15 | a | variables.rs:481:15:481:24 | ... .my_get(...) | | +| variables.rs:481:15:481:24 | ... .my_get(...) | variables.rs:481:5:481:25 | CallExpr | | | variables.rs:482:5:482:5 | a | variables.rs:482:25:482:25 | 2 | | | variables.rs:482:5:482:27 | ... = ... | variables.rs:483:5:483:26 | ExprStmt | | | variables.rs:482:5:482:28 | ExprStmt | variables.rs:482:5:482:5 | a | | @@ -1079,8 +1079,8 @@ edges | variables.rs:483:5:483:13 | PathExpr | variables.rs:483:15:483:15 | a | | | variables.rs:483:5:483:25 | CallExpr | variables.rs:477:14:484:1 | BlockExpr | | | variables.rs:483:5:483:26 | ExprStmt | variables.rs:483:5:483:13 | PathExpr | | -| variables.rs:483:15:483:15 | a | variables.rs:483:15:483:24 | MethodCallExpr | | -| variables.rs:483:15:483:24 | MethodCallExpr | variables.rs:483:5:483:25 | CallExpr | | +| variables.rs:483:15:483:15 | a | variables.rs:483:15:483:24 | ... .my_get(...) | | +| variables.rs:483:15:483:24 | ... .my_get(...) | variables.rs:483:5:483:25 | CallExpr | | | variables.rs:486:1:493:1 | enter ref_arg | variables.rs:487:5:487:15 | LetStmt | | | variables.rs:486:1:493:1 | exit ref_arg (normal) | variables.rs:486:1:493:1 | exit ref_arg | | | variables.rs:486:14:493:1 | BlockExpr | variables.rs:486:1:493:1 | exit ref_arg (normal) | | @@ -1120,8 +1120,8 @@ edges | variables.rs:506:7:506:11 | a | variables.rs:507:3:507:10 | ExprStmt | match | | variables.rs:506:15:506:33 | RecordExpr | variables.rs:506:7:506:11 | a | | | variables.rs:506:31:506:31 | 1 | variables.rs:506:15:506:33 | RecordExpr | | -| variables.rs:507:3:507:3 | a | variables.rs:507:3:507:9 | MethodCallExpr | | -| variables.rs:507:3:507:9 | MethodCallExpr | variables.rs:509:3:509:19 | ExprStmt | | +| variables.rs:507:3:507:3 | a | variables.rs:507:3:507:9 | ... .bar(...) | | +| variables.rs:507:3:507:9 | ... .bar(...) | variables.rs:509:3:509:19 | ExprStmt | | | variables.rs:507:3:507:10 | ExprStmt | variables.rs:507:3:507:3 | a | | | variables.rs:509:3:509:11 | PathExpr | variables.rs:509:13:509:13 | a | | | variables.rs:509:3:509:18 | CallExpr | variables.rs:505:30:510:1 | BlockExpr | | From 5d3f723df960d02cdc900c2f65360a2094bf0111 Mon Sep 17 00:00:00 2001 From: Chris Smowton Date: Fri, 1 Nov 2024 16:14:04 +0000 Subject: [PATCH 017/347] Kotlin extractor: use special for null literals This matches the Java extractor's treatment of these literals, and so enables dataflow type-tracking to avoid special-casing Kotlin. Natively, Kotlin would regard this as kotlin.Nothing?, the type that can only contain null (kotlin.Nothing without a ? can take nothing at all), which gets Java-ified as java.lang.Void, and this will continue to be used when a null type has to be "boxed", as in representing substituted generic constraints with no possible type. --- .../src/main/kotlin/KotlinFileExtractor.kt | 9 ++++++++- .../library-tests/classes/genericExprTypes.expected | 4 ++-- .../library-tests/classes/genericExprTypes.expected | 4 ++-- 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/java/kotlin-extractor/src/main/kotlin/KotlinFileExtractor.kt b/java/kotlin-extractor/src/main/kotlin/KotlinFileExtractor.kt index cf41f9639cfd..d8ee7406c395 100644 --- a/java/kotlin-extractor/src/main/kotlin/KotlinFileExtractor.kt +++ b/java/kotlin-extractor/src/main/kotlin/KotlinFileExtractor.kt @@ -5745,7 +5745,14 @@ open class KotlinFileExtractor( ) = exprIdOrFresh(overrideId).also { val type = useType(t) - tw.writeExprs_nullliteral(it, type.javaResult.id, parent, idx) + // Match Java by using a special for nulls, rather than Kotlin's view of this which is + // kotlin.Nothing?, the type that can only contain null. + val nullTypeName = "" + val javaNullType = tw.getLabelFor( + "@\"type;$nullTypeName\"", + { tw.writePrimitives(it, nullTypeName) } + ) + tw.writeExprs_nullliteral(it, javaNullType, parent, idx) tw.writeExprsKotlinType(it, type.kotlinResult.id) extractExprContext(it, locId, callable, enclosingStmt) } diff --git a/java/ql/test-kotlin1/library-tests/classes/genericExprTypes.expected b/java/ql/test-kotlin1/library-tests/classes/genericExprTypes.expected index 95594fa9c69e..b350fd8d7bb9 100644 --- a/java/ql/test-kotlin1/library-tests/classes/genericExprTypes.expected +++ b/java/ql/test-kotlin1/library-tests/classes/genericExprTypes.expected @@ -45,9 +45,9 @@ | generic_anonymous.kt:13:27:13:47 | get(...) | int | | generic_anonymous.kt:13:40:13:40 | i | int | | generic_anonymous.kt:17:9:17:29 | T0 | T0 | -| generic_anonymous.kt:17:26:17:29 | null | Void | +| generic_anonymous.kt:17:26:17:29 | null | | | generic_anonymous.kt:21:9:21:29 | T1 | T1 | -| generic_anonymous.kt:21:26:21:29 | null | Void | +| generic_anonymous.kt:21:26:21:29 | null | | | generic_anonymous.kt:24:5:32:5 | Unit | Unit | | generic_anonymous.kt:25:9:31:9 | Unit | Unit | | generic_anonymous.kt:26:13:26:37 | | new Object(...) { ... } | diff --git a/java/ql/test-kotlin2/library-tests/classes/genericExprTypes.expected b/java/ql/test-kotlin2/library-tests/classes/genericExprTypes.expected index 383b5ace4bff..a61d001d270c 100644 --- a/java/ql/test-kotlin2/library-tests/classes/genericExprTypes.expected +++ b/java/ql/test-kotlin2/library-tests/classes/genericExprTypes.expected @@ -45,9 +45,9 @@ | generic_anonymous.kt:13:27:13:47 | get(...) | int | | generic_anonymous.kt:13:40:13:40 | i | int | | generic_anonymous.kt:17:9:17:29 | T0 | T0 | -| generic_anonymous.kt:17:26:17:29 | null | Void | +| generic_anonymous.kt:17:26:17:29 | null | | | generic_anonymous.kt:21:9:21:29 | T1 | T1 | -| generic_anonymous.kt:21:26:21:29 | null | Void | +| generic_anonymous.kt:21:26:21:29 | null | | | generic_anonymous.kt:24:5:32:5 | Unit | Unit | | generic_anonymous.kt:25:9:31:9 | Unit | Unit | | generic_anonymous.kt:26:13:26:37 | | new Object(...) { ... } | From 81ff3945330eb5ced6102db86399a84c1a9e623b Mon Sep 17 00:00:00 2001 From: Chris Smowton Date: Fri, 1 Nov 2024 19:02:28 +0000 Subject: [PATCH 018/347] Be explicit about Kotlin database type --- java/kotlin-extractor/src/main/kotlin/KotlinFileExtractor.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/java/kotlin-extractor/src/main/kotlin/KotlinFileExtractor.kt b/java/kotlin-extractor/src/main/kotlin/KotlinFileExtractor.kt index d8ee7406c395..42617078ff54 100644 --- a/java/kotlin-extractor/src/main/kotlin/KotlinFileExtractor.kt +++ b/java/kotlin-extractor/src/main/kotlin/KotlinFileExtractor.kt @@ -5748,7 +5748,7 @@ open class KotlinFileExtractor( // Match Java by using a special for nulls, rather than Kotlin's view of this which is // kotlin.Nothing?, the type that can only contain null. val nullTypeName = "" - val javaNullType = tw.getLabelFor( + val javaNullType = tw.getLabelFor( "@\"type;$nullTypeName\"", { tw.writePrimitives(it, nullTypeName) } ) From ccee34d6d3a251cb9a9a353902df035dc25d7a4f Mon Sep 17 00:00:00 2001 From: Napalys Date: Tue, 5 Nov 2024 08:51:24 +0100 Subject: [PATCH 019/347] Added support for matchAll in CWE-020 including new test cases --- .../ql/lib/semmle/javascript/Regexp.qll | 4 ++-- .../ql/lib/semmle/javascript/StringOps.qll | 2 +- .../Security/CWE-020/MissingRegExpAnchor.ql | 2 ++ .../MissingRegExpAnchor.expected | 9 ++++++++ .../tst-UnanchoredUrlRegExp.js | 23 +++++++++++++++++++ 5 files changed, 37 insertions(+), 3 deletions(-) diff --git a/javascript/ql/lib/semmle/javascript/Regexp.qll b/javascript/ql/lib/semmle/javascript/Regexp.qll index 27ad339c733e..df0f76e7cda6 100644 --- a/javascript/ql/lib/semmle/javascript/Regexp.qll +++ b/javascript/ql/lib/semmle/javascript/Regexp.qll @@ -938,7 +938,7 @@ private predicate isMatchObjectProperty(string name) { /** Holds if `call` is a call to `match` whose result is used in a way that is incompatible with Match objects. */ private predicate isUsedAsNonMatchObject(DataFlow::MethodCallNode call) { - call.getMethodName() = "match" and + call.getMethodName() = ["match", "matchAll"] and call.getNumArgument() = 1 and ( // Accessing a property that is absent on Match objects @@ -996,7 +996,7 @@ predicate isInterpretedAsRegExp(DataFlow::Node source) { not isNativeStringMethod(func, methodName) ) | - methodName = "match" and + methodName = ["match", "matchAll"] and source = mce.getArgument(0) and mce.getNumArgument() = 1 and not isUsedAsNonMatchObject(mce) diff --git a/javascript/ql/lib/semmle/javascript/StringOps.qll b/javascript/ql/lib/semmle/javascript/StringOps.qll index 6b7820e964dd..f2b7f3eb9aa7 100644 --- a/javascript/ql/lib/semmle/javascript/StringOps.qll +++ b/javascript/ql/lib/semmle/javascript/StringOps.qll @@ -722,7 +722,7 @@ module StringOps { } private class MatchCall extends DataFlow::MethodCallNode { - MatchCall() { this.getMethodName() = "match" } + MatchCall() { this.getMethodName() = ["match", "matchAll"] } } private class ExecCall extends DataFlow::MethodCallNode { diff --git a/javascript/ql/src/Security/CWE-020/MissingRegExpAnchor.ql b/javascript/ql/src/Security/CWE-020/MissingRegExpAnchor.ql index 858dedc603e5..c32a097cf2ad 100644 --- a/javascript/ql/src/Security/CWE-020/MissingRegExpAnchor.ql +++ b/javascript/ql/src/Security/CWE-020/MissingRegExpAnchor.ql @@ -36,6 +36,8 @@ private module Impl implements name = "replace" or name = "match" and exists(mcn.getAPropertyRead()) + or + name = "matchAll" and exists(mcn.getAPropertyRead()) ) ) } diff --git a/javascript/ql/test/query-tests/Security/CWE-020/MissingRegExpAnchor/MissingRegExpAnchor.expected b/javascript/ql/test/query-tests/Security/CWE-020/MissingRegExpAnchor/MissingRegExpAnchor.expected index a7933f2926ec..ebff0b583c02 100644 --- a/javascript/ql/test/query-tests/Security/CWE-020/MissingRegExpAnchor/MissingRegExpAnchor.expected +++ b/javascript/ql/test/query-tests/Security/CWE-020/MissingRegExpAnchor/MissingRegExpAnchor.expected @@ -59,3 +59,12 @@ | tst-UnanchoredUrlRegExp.js:26:3:26:22 | "^https?://good.com" | This hostname pattern may match any domain name, as it is missing a '$' or '/' at the end. | | tst-UnanchoredUrlRegExp.js:35:2:35:32 | /https? ... 0-9]+)/ | When this is used as a regular expression on a URL, it may match anywhere, and arbitrary hosts may come before or after it. | | tst-UnanchoredUrlRegExp.js:77:11:77:32 | /vimeo\\ ... 0-9]+)/ | When this is used as a regular expression on a URL, it may match anywhere, and arbitrary hosts may come before or after it. | +| tst-UnanchoredUrlRegExp.js:111:50:111:68 | "https?://good.com" | When this is used as a regular expression on a URL, it may match anywhere, and arbitrary hosts may come before or after it. | +| tst-UnanchoredUrlRegExp.js:112:61:112:79 | "https?://good.com" | When this is used as a regular expression on a URL, it may match anywhere, and arbitrary hosts may come before or after it. | +| tst-UnanchoredUrlRegExp.js:113:50:113:69 | "^https?://good.com" | This hostname pattern may match any domain name, as it is missing a '$' or '/' at the end. | +| tst-UnanchoredUrlRegExp.js:114:50:114:72 | /^https ... d.com/g | This hostname pattern may match any domain name, as it is missing a '$' or '/' at the end. | +| tst-UnanchoredUrlRegExp.js:115:50:115:94 | "(^http ... 2.com)" | This hostname pattern may match any domain name, as it is missing a '$' or '/' at the end. | +| tst-UnanchoredUrlRegExp.js:116:50:116:93 | "(https ... e.com)" | This hostname pattern may match any domain name, as it is missing a '$' or '/' at the end. | +| tst-UnanchoredUrlRegExp.js:117:50:117:59 | "good.com" | When this is used as a regular expression on a URL, it may match anywhere, and arbitrary hosts may come before or after it. | +| tst-UnanchoredUrlRegExp.js:118:50:118:68 | "https?://good.com" | When this is used as a regular expression on a URL, it may match anywhere, and arbitrary hosts may come before or after it. | +| tst-UnanchoredUrlRegExp.js:119:50:119:73 | "https? ... m:8080" | When this is used as a regular expression on a URL, it may match anywhere, and arbitrary hosts may come before or after it. | diff --git a/javascript/ql/test/query-tests/Security/CWE-020/MissingRegExpAnchor/tst-UnanchoredUrlRegExp.js b/javascript/ql/test/query-tests/Security/CWE-020/MissingRegExpAnchor/tst-UnanchoredUrlRegExp.js index 24815ebe59e7..c0c5ecb3e3e0 100644 --- a/javascript/ql/test/query-tests/Security/CWE-020/MissingRegExpAnchor/tst-UnanchoredUrlRegExp.js +++ b/javascript/ql/test/query-tests/Security/CWE-020/MissingRegExpAnchor/tst-UnanchoredUrlRegExp.js @@ -105,4 +105,27 @@ /\.com|\.org/; // OK, has no domain name /example\.com|whatever/; // OK, the other disjunction doesn't match a hostname + + // MatchAll test cases: + // Vulnerable patterns + if ("http://evil.com/?http://good.com".matchAll("https?://good.com")) {} // NOT OK + if ("http://evil.com/?http://good.com".matchAll(new RegExp("https?://good.com"))) {} // NOT OK + if ("http://evil.com/?http://good.com".matchAll("^https?://good.com")) {} // NOT OK - missing post-anchor + if ("http://evil.com/?http://good.com".matchAll(/^https?:\/\/good.com/g)) {} // NOT OK - missing post-anchor + if ("http://evil.com/?http://good.com".matchAll("(^https?://good1.com)|(^https?://good2.com)")) {} // NOT OK - missing post-anchor + if ("http://evil.com/?http://good.com".matchAll("(https?://good.com)|(^https?://goodie.com)")) {} // NOT OK - missing post-anchor + if ("http://evil.com/?http://good.com".matchAll("good.com")) {} // NOT OK - missing protocol + if ("http://evil.com/?http://good.com".matchAll("https?://good.com")) {} // NOT OK + if ("http://evil.com/?http://good.com".matchAll("https?://good.com:8080")) {} // NOT OK + + // Non-vulnerable patterns + if ("something".matchAll("other")) {} // OK + if ("something".matchAll("x.commissary")) {} // OK + if ("http://evil.com/?http://good.com".matchAll("^https?://good.com$")) {} // OK + if ("http://evil.com/?http://good.com".matchAll(new RegExp("^https?://good.com$"))) {} // OK + if ("http://evil.com/?http://good.com".matchAll("^https?://good.com/$")) {} // OK + if ("http://evil.com/?http://good.com".matchAll(/^https?:\/\/good.com\/$/)) {} // OK + if ("http://evil.com/?http://good.com".matchAll("(^https?://good1.com$)|(^https?://good2.com$)")) {} // OK + if ("http://evil.com/?http://good.com".matchAll("(https?://good.com$)|(^https?://goodie.com$)")) {} // OK + }); From b239bfabf1893bf12ff205514a64ea52ed4fd2f4 Mon Sep 17 00:00:00 2001 From: Napalys Date: Tue, 5 Nov 2024 09:22:26 +0100 Subject: [PATCH 020/347] Added tests forIncompleteHostnameRegExp and normalizedPaths using matchAll --- .../IncompleteHostnameRegExp.expected | 1 + .../tst-IncompleteHostnameRegExp.js | 2 ++ .../CWE-022/TaintedPath/TaintedPath.expected | 29 +++++++++++++++++++ .../CWE-022/TaintedPath/normalizedPaths.js | 22 ++++++++++++++ 4 files changed, 54 insertions(+) diff --git a/javascript/ql/test/query-tests/Security/CWE-020/IncompleteHostnameRegExp/IncompleteHostnameRegExp.expected b/javascript/ql/test/query-tests/Security/CWE-020/IncompleteHostnameRegExp/IncompleteHostnameRegExp.expected index d0fb91322fe1..8341636994e4 100644 --- a/javascript/ql/test/query-tests/Security/CWE-020/IncompleteHostnameRegExp/IncompleteHostnameRegExp.expected +++ b/javascript/ql/test/query-tests/Security/CWE-020/IncompleteHostnameRegExp/IncompleteHostnameRegExp.expected @@ -25,3 +25,4 @@ | tst-IncompleteHostnameRegExp.js:53:14:53:35 | test.example.com$ | This regular expression has an unescaped '.' before 'example.com', so it might match more hosts than expected. | tst-IncompleteHostnameRegExp.js:53:13:53:36 | 'test.' ... e.com$' | here | | tst-IncompleteHostnameRegExp.js:55:14:55:38 | ^http://test.example.com | This regular expression has an unescaped '.' before 'example.com', so it might match more hosts than expected. | tst-IncompleteHostnameRegExp.js:55:13:55:39 | '^http: ... le.com' | here | | tst-IncompleteHostnameRegExp.js:59:5:59:20 | foo.example\\.com | This regular expression has an unescaped '.' before 'example\\.com', so it might match more hosts than expected. | tst-IncompleteHostnameRegExp.js:59:2:59:32 | /^(foo. ... ever)$/ | here | +| tst-IncompleteHostnameRegExp.js:61:18:61:41 | ^http://test.example.com | This regular expression has an unescaped '.' before 'example.com', so it might match more hosts than expected. | tst-IncompleteHostnameRegExp.js:61:17:61:42 | "^http: ... le.com" | here | diff --git a/javascript/ql/test/query-tests/Security/CWE-020/IncompleteHostnameRegExp/tst-IncompleteHostnameRegExp.js b/javascript/ql/test/query-tests/Security/CWE-020/IncompleteHostnameRegExp/tst-IncompleteHostnameRegExp.js index ddc267ebdd71..51c2c9914209 100644 --- a/javascript/ql/test/query-tests/Security/CWE-020/IncompleteHostnameRegExp/tst-IncompleteHostnameRegExp.js +++ b/javascript/ql/test/query-tests/Security/CWE-020/IncompleteHostnameRegExp/tst-IncompleteHostnameRegExp.js @@ -57,4 +57,6 @@ /^http:\/\/(..|...)\.example\.com\/index\.html/; // OK, wildcards are intentional /^http:\/\/.\.example\.com\/index\.html/; // OK, the wildcard is intentional /^(foo.example\.com|whatever)$/; // kinda OK - one disjunction doesn't even look like a hostname + + if (s.matchAll("^http://test.example.com")) {} // NOT OK }); diff --git a/javascript/ql/test/query-tests/Security/CWE-022/TaintedPath/TaintedPath.expected b/javascript/ql/test/query-tests/Security/CWE-022/TaintedPath/TaintedPath.expected index 2a3784617e75..0022ca69c6ba 100644 --- a/javascript/ql/test/query-tests/Security/CWE-022/TaintedPath/TaintedPath.expected +++ b/javascript/ql/test/query-tests/Security/CWE-022/TaintedPath/TaintedPath.expected @@ -2237,6 +2237,19 @@ nodes | normalizedPaths.js:408:38:408:59 | req.que ... it('/') | | normalizedPaths.js:408:38:408:59 | req.que ... it('/') | | normalizedPaths.js:408:38:408:59 | req.que ... it('/') | +| normalizedPaths.js:412:7:412:46 | path | +| normalizedPaths.js:412:7:412:46 | path | +| normalizedPaths.js:412:14:412:46 | pathMod ... uery.x) | +| normalizedPaths.js:412:14:412:46 | pathMod ... uery.x) | +| normalizedPaths.js:412:35:412:45 | req.query.x | +| normalizedPaths.js:412:35:412:45 | req.query.x | +| normalizedPaths.js:412:35:412:45 | req.query.x | +| normalizedPaths.js:415:19:415:22 | path | +| normalizedPaths.js:415:19:415:22 | path | +| normalizedPaths.js:415:19:415:22 | path | +| normalizedPaths.js:426:21:426:24 | path | +| normalizedPaths.js:426:21:426:24 | path | +| normalizedPaths.js:426:21:426:24 | path | | other-fs-libraries.js:9:7:9:48 | path | | other-fs-libraries.js:9:7:9:48 | path | | other-fs-libraries.js:9:7:9:48 | path | @@ -7524,6 +7537,20 @@ edges | normalizedPaths.js:408:38:408:59 | req.que ... it('/') | normalizedPaths.js:408:19:408:60 | pathMod ... t('/')) | | normalizedPaths.js:408:38:408:59 | req.que ... it('/') | normalizedPaths.js:408:19:408:60 | pathMod ... t('/')) | | normalizedPaths.js:408:38:408:59 | req.que ... it('/') | normalizedPaths.js:408:19:408:60 | pathMod ... t('/')) | +| normalizedPaths.js:412:7:412:46 | path | normalizedPaths.js:415:19:415:22 | path | +| normalizedPaths.js:412:7:412:46 | path | normalizedPaths.js:415:19:415:22 | path | +| normalizedPaths.js:412:7:412:46 | path | normalizedPaths.js:415:19:415:22 | path | +| normalizedPaths.js:412:7:412:46 | path | normalizedPaths.js:415:19:415:22 | path | +| normalizedPaths.js:412:7:412:46 | path | normalizedPaths.js:426:21:426:24 | path | +| normalizedPaths.js:412:7:412:46 | path | normalizedPaths.js:426:21:426:24 | path | +| normalizedPaths.js:412:7:412:46 | path | normalizedPaths.js:426:21:426:24 | path | +| normalizedPaths.js:412:7:412:46 | path | normalizedPaths.js:426:21:426:24 | path | +| normalizedPaths.js:412:14:412:46 | pathMod ... uery.x) | normalizedPaths.js:412:7:412:46 | path | +| normalizedPaths.js:412:14:412:46 | pathMod ... uery.x) | normalizedPaths.js:412:7:412:46 | path | +| normalizedPaths.js:412:35:412:45 | req.query.x | normalizedPaths.js:412:14:412:46 | pathMod ... uery.x) | +| normalizedPaths.js:412:35:412:45 | req.query.x | normalizedPaths.js:412:14:412:46 | pathMod ... uery.x) | +| normalizedPaths.js:412:35:412:45 | req.query.x | normalizedPaths.js:412:14:412:46 | pathMod ... uery.x) | +| normalizedPaths.js:412:35:412:45 | req.query.x | normalizedPaths.js:412:14:412:46 | pathMod ... uery.x) | | other-fs-libraries.js:9:7:9:48 | path | other-fs-libraries.js:11:19:11:22 | path | | other-fs-libraries.js:9:7:9:48 | path | other-fs-libraries.js:11:19:11:22 | path | | other-fs-libraries.js:9:7:9:48 | path | other-fs-libraries.js:11:19:11:22 | path | @@ -10539,6 +10566,8 @@ edges | normalizedPaths.js:399:21:399:24 | path | normalizedPaths.js:385:35:385:45 | req.query.x | normalizedPaths.js:399:21:399:24 | path | This path depends on a $@. | normalizedPaths.js:385:35:385:45 | req.query.x | user-provided value | | normalizedPaths.js:407:19:407:67 | pathMod ... t('/')) | normalizedPaths.js:407:45:407:55 | req.query.x | normalizedPaths.js:407:19:407:67 | pathMod ... t('/')) | This path depends on a $@. | normalizedPaths.js:407:45:407:55 | req.query.x | user-provided value | | normalizedPaths.js:408:19:408:60 | pathMod ... t('/')) | normalizedPaths.js:408:38:408:48 | req.query.x | normalizedPaths.js:408:19:408:60 | pathMod ... t('/')) | This path depends on a $@. | normalizedPaths.js:408:38:408:48 | req.query.x | user-provided value | +| normalizedPaths.js:415:19:415:22 | path | normalizedPaths.js:412:35:412:45 | req.query.x | normalizedPaths.js:415:19:415:22 | path | This path depends on a $@. | normalizedPaths.js:412:35:412:45 | req.query.x | user-provided value | +| normalizedPaths.js:426:21:426:24 | path | normalizedPaths.js:412:35:412:45 | req.query.x | normalizedPaths.js:426:21:426:24 | path | This path depends on a $@. | normalizedPaths.js:412:35:412:45 | req.query.x | user-provided value | | other-fs-libraries.js:11:19:11:22 | path | other-fs-libraries.js:9:24:9:30 | req.url | other-fs-libraries.js:11:19:11:22 | path | This path depends on a $@. | other-fs-libraries.js:9:24:9:30 | req.url | user-provided value | | other-fs-libraries.js:12:27:12:30 | path | other-fs-libraries.js:9:24:9:30 | req.url | other-fs-libraries.js:12:27:12:30 | path | This path depends on a $@. | other-fs-libraries.js:9:24:9:30 | req.url | user-provided value | | other-fs-libraries.js:13:24:13:27 | path | other-fs-libraries.js:9:24:9:30 | req.url | other-fs-libraries.js:13:24:13:27 | path | This path depends on a $@. | other-fs-libraries.js:9:24:9:30 | req.url | user-provided value | diff --git a/javascript/ql/test/query-tests/Security/CWE-022/TaintedPath/normalizedPaths.js b/javascript/ql/test/query-tests/Security/CWE-022/TaintedPath/normalizedPaths.js index a5453a728d3f..4fa6b3f50d54 100644 --- a/javascript/ql/test/query-tests/Security/CWE-022/TaintedPath/normalizedPaths.js +++ b/javascript/ql/test/query-tests/Security/CWE-022/TaintedPath/normalizedPaths.js @@ -407,3 +407,25 @@ app.get('/join-spread', (req, res) => { fs.readFileSync(pathModule.join('foo', ...req.query.x.split('/'))); // NOT OK fs.readFileSync(pathModule.join(...req.query.x.split('/'))); // NOT OK }); + +app.get('/dotdot-matchAll-regexp', (req, res) => { + let path = pathModule.normalize(req.query.x); + if (pathModule.isAbsolute(path)) + return; + fs.readFileSync(path); // NOT OK + if (!path.matchAll(/\./)) { + fs.readFileSync(path); // OK + } + if (!path.matchAll(/\.\./)) { + fs.readFileSync(path); // OK + } + if (!path.matchAll(/\.\.\//)) { + fs.readFileSync(path); // OK + } + if (!path.matchAll(/\.\.\/foo/)) { + fs.readFileSync(path); // NOT OK + } + if (!path.matchAll(/(\.\.\/|\.\.\\)/)) { + fs.readFileSync(path); // OK + } +}); From 5e8b1b061fdd3947d285ff4fab4568004ea0069d Mon Sep 17 00:00:00 2001 From: Napalys Klicius Date: Tue, 5 Nov 2024 10:29:22 +0100 Subject: [PATCH 021/347] Update javascript/ql/src/Security/CWE-020/MissingRegExpAnchor.ql Co-authored-by: Erik Krogh Kristensen --- javascript/ql/src/Security/CWE-020/MissingRegExpAnchor.ql | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/javascript/ql/src/Security/CWE-020/MissingRegExpAnchor.ql b/javascript/ql/src/Security/CWE-020/MissingRegExpAnchor.ql index c32a097cf2ad..1057f9ccca50 100644 --- a/javascript/ql/src/Security/CWE-020/MissingRegExpAnchor.ql +++ b/javascript/ql/src/Security/CWE-020/MissingRegExpAnchor.ql @@ -35,9 +35,7 @@ private module Impl implements | name = "replace" or - name = "match" and exists(mcn.getAPropertyRead()) - or - name = "matchAll" and exists(mcn.getAPropertyRead()) + name = ["match", "matchAll"] and exists(mcn.getAPropertyRead()) ) ) } From 30910837051f1cdb7e4009bb3387959b16302000 Mon Sep 17 00:00:00 2001 From: Geoffrey White <40627776+geoffw0@users.noreply.github.com> Date: Tue, 5 Nov 2024 10:54:54 +0000 Subject: [PATCH 022/347] Rust: Call all the test cases. --- .../unusedentities/UnusedValue.expected | 32 +++++++------- .../unusedentities/UnusedVariable.expected | 42 +++++++++---------- .../test/query-tests/unusedentities/main.rs | 8 +++- .../test/query-tests/unusedentities/more.rs | 4 +- 4 files changed, 45 insertions(+), 41 deletions(-) diff --git a/rust/ql/test/query-tests/unusedentities/UnusedValue.expected b/rust/ql/test/query-tests/unusedentities/UnusedValue.expected index 420ffcee1448..ed5f261dac3e 100644 --- a/rust/ql/test/query-tests/unusedentities/UnusedValue.expected +++ b/rust/ql/test/query-tests/unusedentities/UnusedValue.expected @@ -1,19 +1,19 @@ -| main.rs:8:9:8:9 | a | Variable $@ is assigned a value that is never used. | main.rs:8:9:8:9 | a | a | -| main.rs:11:9:11:9 | d | Variable $@ is assigned a value that is never used. | main.rs:11:9:11:9 | d | d | -| main.rs:37:5:37:5 | b | Variable $@ is assigned a value that is never used. | main.rs:28:9:28:9 | b | b | -| main.rs:39:5:39:5 | c | Variable $@ is assigned a value that is never used. | main.rs:29:13:29:13 | c | c | -| main.rs:42:5:42:5 | c | Variable $@ is assigned a value that is never used. | main.rs:29:13:29:13 | c | c | -| main.rs:46:9:46:9 | d | Variable $@ is assigned a value that is never used. | main.rs:30:13:30:13 | d | d | -| main.rs:52:5:52:5 | e | Variable $@ is assigned a value that is never used. | main.rs:31:13:31:13 | e | e | -| main.rs:63:5:63:5 | f | Variable $@ is assigned a value that is never used. | main.rs:32:13:32:13 | f | f | -| main.rs:65:5:65:5 | f | Variable $@ is assigned a value that is never used. | main.rs:32:13:32:13 | f | f | -| main.rs:67:5:67:5 | g | Variable $@ is assigned a value that is never used. | main.rs:33:9:33:9 | g | g | -| main.rs:89:9:89:9 | a | Variable $@ is assigned a value that is never used. | main.rs:89:9:89:9 | a | a | -| main.rs:110:9:110:10 | is | Variable $@ is assigned a value that is never used. | main.rs:110:9:110:10 | is | is | -| main.rs:133:13:133:17 | total | Variable $@ is assigned a value that is never used. | main.rs:133:13:133:17 | total | total | -| main.rs:270:13:270:17 | total | Variable $@ is assigned a value that is never used. | main.rs:238:13:238:17 | total | total | -| main.rs:363:9:363:9 | x | Variable $@ is assigned a value that is never used. | main.rs:363:9:363:9 | x | x | -| main.rs:371:17:371:17 | x | Variable $@ is assigned a value that is never used. | main.rs:371:17:371:17 | x | x | +| main.rs:10:9:10:9 | a | Variable $@ is assigned a value that is never used. | main.rs:10:9:10:9 | a | a | +| main.rs:13:9:13:9 | d | Variable $@ is assigned a value that is never used. | main.rs:13:9:13:9 | d | d | +| main.rs:39:5:39:5 | b | Variable $@ is assigned a value that is never used. | main.rs:30:9:30:9 | b | b | +| main.rs:41:5:41:5 | c | Variable $@ is assigned a value that is never used. | main.rs:31:13:31:13 | c | c | +| main.rs:44:5:44:5 | c | Variable $@ is assigned a value that is never used. | main.rs:31:13:31:13 | c | c | +| main.rs:48:9:48:9 | d | Variable $@ is assigned a value that is never used. | main.rs:32:13:32:13 | d | d | +| main.rs:54:5:54:5 | e | Variable $@ is assigned a value that is never used. | main.rs:33:13:33:13 | e | e | +| main.rs:65:5:65:5 | f | Variable $@ is assigned a value that is never used. | main.rs:34:13:34:13 | f | f | +| main.rs:67:5:67:5 | f | Variable $@ is assigned a value that is never used. | main.rs:34:13:34:13 | f | f | +| main.rs:69:5:69:5 | g | Variable $@ is assigned a value that is never used. | main.rs:35:9:35:9 | g | g | +| main.rs:91:9:91:9 | a | Variable $@ is assigned a value that is never used. | main.rs:91:9:91:9 | a | a | +| main.rs:112:9:112:10 | is | Variable $@ is assigned a value that is never used. | main.rs:112:9:112:10 | is | is | +| main.rs:135:13:135:17 | total | Variable $@ is assigned a value that is never used. | main.rs:135:13:135:17 | total | total | +| main.rs:272:13:272:17 | total | Variable $@ is assigned a value that is never used. | main.rs:240:13:240:17 | total | total | +| main.rs:365:9:365:9 | x | Variable $@ is assigned a value that is never used. | main.rs:365:9:365:9 | x | x | +| main.rs:373:17:373:17 | x | Variable $@ is assigned a value that is never used. | main.rs:373:17:373:17 | x | x | | more.rs:44:9:44:14 | a_ptr4 | Variable $@ is assigned a value that is never used. | more.rs:44:9:44:14 | a_ptr4 | a_ptr4 | | more.rs:59:9:59:13 | d_ptr | Variable $@ is assigned a value that is never used. | more.rs:59:9:59:13 | d_ptr | d_ptr | | more.rs:65:9:65:17 | f_ptr | Variable $@ is assigned a value that is never used. | more.rs:65:13:65:17 | f_ptr | f_ptr | diff --git a/rust/ql/test/query-tests/unusedentities/UnusedVariable.expected b/rust/ql/test/query-tests/unusedentities/UnusedVariable.expected index 7f459575f02e..134bef8692b8 100644 --- a/rust/ql/test/query-tests/unusedentities/UnusedVariable.expected +++ b/rust/ql/test/query-tests/unusedentities/UnusedVariable.expected @@ -1,22 +1,22 @@ -| main.rs:27:9:27:9 | a | Variable 'a' is not used. | -| main.rs:92:13:92:13 | d | Variable 'd' is not used. | -| main.rs:141:5:141:5 | y | Variable 'y' is not used. | -| main.rs:168:9:168:9 | x | Variable 'x' is not used. | -| main.rs:240:17:240:17 | a | Variable 'a' is not used. | -| main.rs:248:20:248:22 | val | Variable 'val' is not used. | -| main.rs:262:14:262:16 | val | Variable 'val' is not used. | -| main.rs:277:22:277:24 | val | Variable 'val' is not used. | -| main.rs:284:24:284:26 | val | Variable 'val' is not used. | -| main.rs:292:13:292:15 | num | Variable 'num' is not used. | -| main.rs:307:12:307:12 | j | Variable 'j' is not used. | -| main.rs:327:25:327:25 | y | Variable 'y' is not used. | -| main.rs:330:28:330:28 | a | Variable 'a' is not used. | -| main.rs:333:9:333:9 | p | Variable 'p' is not used. | -| main.rs:351:9:351:13 | right | Variable 'right' is not used. | -| main.rs:357:9:357:14 | right2 | Variable 'right2' is not used. | -| main.rs:364:13:364:13 | y | Variable 'y' is not used. | -| main.rs:372:21:372:21 | y | Variable 'y' is not used. | -| main.rs:417:26:417:28 | val | Variable 'val' is not used. | -| main.rs:420:21:420:23 | acc | Variable 'acc' is not used. | -| main.rs:441:9:441:14 | unused | Variable 'unused' is not used. | +| main.rs:29:9:29:9 | a | Variable 'a' is not used. | +| main.rs:94:13:94:13 | d | Variable 'd' is not used. | +| main.rs:143:5:143:5 | y | Variable 'y' is not used. | +| main.rs:170:9:170:9 | x | Variable 'x' is not used. | +| main.rs:242:17:242:17 | a | Variable 'a' is not used. | +| main.rs:250:20:250:22 | val | Variable 'val' is not used. | +| main.rs:264:14:264:16 | val | Variable 'val' is not used. | +| main.rs:279:22:279:24 | val | Variable 'val' is not used. | +| main.rs:286:24:286:26 | val | Variable 'val' is not used. | +| main.rs:294:13:294:15 | num | Variable 'num' is not used. | +| main.rs:309:12:309:12 | j | Variable 'j' is not used. | +| main.rs:329:25:329:25 | y | Variable 'y' is not used. | +| main.rs:332:28:332:28 | a | Variable 'a' is not used. | +| main.rs:335:9:335:9 | p | Variable 'p' is not used. | +| main.rs:353:9:353:13 | right | Variable 'right' is not used. | +| main.rs:359:9:359:14 | right2 | Variable 'right2' is not used. | +| main.rs:366:13:366:13 | y | Variable 'y' is not used. | +| main.rs:374:21:374:21 | y | Variable 'y' is not used. | +| main.rs:419:26:419:28 | val | Variable 'val' is not used. | +| main.rs:422:21:422:23 | acc | Variable 'acc' is not used. | +| main.rs:443:9:443:14 | unused | Variable 'unused' is not used. | | more.rs:24:9:24:11 | val | Variable 'val' is not used. | diff --git a/rust/ql/test/query-tests/unusedentities/main.rs b/rust/ql/test/query-tests/unusedentities/main.rs index ee315f63d002..a1f865e5cce0 100644 --- a/rust/ql/test/query-tests/unusedentities/main.rs +++ b/rust/ql/test/query-tests/unusedentities/main.rs @@ -1,5 +1,7 @@ +mod more; mod unreachable; +use more::*; use unreachable::*; // --- locals --- @@ -479,6 +481,10 @@ fn main() { shadowing(); func_ptrs(); folds_and_closures(); + macros(); + + generics(); + pointers(); unreachable_if_1(); // unreachable_panic(); @@ -489,6 +495,4 @@ fn main() { unreachable_let_2(); unreachable_if_2(); unreachable_if_3(); - - macros(); } diff --git a/rust/ql/test/query-tests/unusedentities/more.rs b/rust/ql/test/query-tests/unusedentities/more.rs index 4788575b9de1..27acf729ef65 100644 --- a/rust/ql/test/query-tests/unusedentities/more.rs +++ b/rust/ql/test/query-tests/unusedentities/more.rs @@ -27,7 +27,7 @@ impl MyGettable for MyContainer { } } -fn generics() { +pub fn generics() { let mut a = MyContainer { val: 1 }; // $ MISSING: Alert[rust/unused-value] let b = MyContainer { val: 2 }; @@ -36,7 +36,7 @@ fn generics() { // --- pointers --- -fn pointers() { +pub fn pointers() { let a = 1; let a_ptr1 = &a; let a_ptr2 = &a; From 35ffd0cc9c8d34fb1a4701f478594a143af3a26b Mon Sep 17 00:00:00 2001 From: Geoffrey White <40627776+geoffw0@users.noreply.github.com> Date: Tue, 5 Nov 2024 11:03:10 +0000 Subject: [PATCH 023/347] Rust: Add more test cases for unused variables (inspired by real world FPs). --- .../unusedentities/UnusedValue.expected | 7 ++-- .../unusedentities/UnusedVariable.expected | 38 ++++++++++--------- .../test/query-tests/unusedentities/main.rs | 36 ++++++++++++++++++ 3 files changed, 61 insertions(+), 20 deletions(-) diff --git a/rust/ql/test/query-tests/unusedentities/UnusedValue.expected b/rust/ql/test/query-tests/unusedentities/UnusedValue.expected index ed5f261dac3e..f8538e5b8bc8 100644 --- a/rust/ql/test/query-tests/unusedentities/UnusedValue.expected +++ b/rust/ql/test/query-tests/unusedentities/UnusedValue.expected @@ -11,9 +11,10 @@ | main.rs:91:9:91:9 | a | Variable $@ is assigned a value that is never used. | main.rs:91:9:91:9 | a | a | | main.rs:112:9:112:10 | is | Variable $@ is assigned a value that is never used. | main.rs:112:9:112:10 | is | is | | main.rs:135:13:135:17 | total | Variable $@ is assigned a value that is never used. | main.rs:135:13:135:17 | total | total | -| main.rs:272:13:272:17 | total | Variable $@ is assigned a value that is never used. | main.rs:240:13:240:17 | total | total | -| main.rs:365:9:365:9 | x | Variable $@ is assigned a value that is never used. | main.rs:365:9:365:9 | x | x | -| main.rs:373:17:373:17 | x | Variable $@ is assigned a value that is never used. | main.rs:373:17:373:17 | x | x | +| main.rs:280:13:280:17 | total | Variable $@ is assigned a value that is never used. | main.rs:248:13:248:17 | total | total | +| main.rs:373:9:373:9 | x | Variable $@ is assigned a value that is never used. | main.rs:373:9:373:9 | x | x | +| main.rs:381:17:381:17 | x | Variable $@ is assigned a value that is never used. | main.rs:381:17:381:17 | x | x | +| main.rs:482:9:482:9 | c | Variable $@ is assigned a value that is never used. | main.rs:482:9:482:9 | c | c | | more.rs:44:9:44:14 | a_ptr4 | Variable $@ is assigned a value that is never used. | more.rs:44:9:44:14 | a_ptr4 | a_ptr4 | | more.rs:59:9:59:13 | d_ptr | Variable $@ is assigned a value that is never used. | more.rs:59:9:59:13 | d_ptr | d_ptr | | more.rs:65:9:65:17 | f_ptr | Variable $@ is assigned a value that is never used. | more.rs:65:13:65:17 | f_ptr | f_ptr | diff --git a/rust/ql/test/query-tests/unusedentities/UnusedVariable.expected b/rust/ql/test/query-tests/unusedentities/UnusedVariable.expected index 134bef8692b8..a7af5a4fb033 100644 --- a/rust/ql/test/query-tests/unusedentities/UnusedVariable.expected +++ b/rust/ql/test/query-tests/unusedentities/UnusedVariable.expected @@ -2,21 +2,25 @@ | main.rs:94:13:94:13 | d | Variable 'd' is not used. | | main.rs:143:5:143:5 | y | Variable 'y' is not used. | | main.rs:170:9:170:9 | x | Variable 'x' is not used. | -| main.rs:242:17:242:17 | a | Variable 'a' is not used. | -| main.rs:250:20:250:22 | val | Variable 'val' is not used. | -| main.rs:264:14:264:16 | val | Variable 'val' is not used. | -| main.rs:279:22:279:24 | val | Variable 'val' is not used. | -| main.rs:286:24:286:26 | val | Variable 'val' is not used. | -| main.rs:294:13:294:15 | num | Variable 'num' is not used. | -| main.rs:309:12:309:12 | j | Variable 'j' is not used. | -| main.rs:329:25:329:25 | y | Variable 'y' is not used. | -| main.rs:332:28:332:28 | a | Variable 'a' is not used. | -| main.rs:335:9:335:9 | p | Variable 'p' is not used. | -| main.rs:353:9:353:13 | right | Variable 'right' is not used. | -| main.rs:359:9:359:14 | right2 | Variable 'right2' is not used. | -| main.rs:366:13:366:13 | y | Variable 'y' is not used. | -| main.rs:374:21:374:21 | y | Variable 'y' is not used. | -| main.rs:419:26:419:28 | val | Variable 'val' is not used. | -| main.rs:422:21:422:23 | acc | Variable 'acc' is not used. | -| main.rs:443:9:443:14 | unused | Variable 'unused' is not used. | +| main.rs:250:17:250:17 | a | Variable 'a' is not used. | +| main.rs:258:20:258:22 | val | Variable 'val' is not used. | +| main.rs:272:14:272:16 | val | Variable 'val' is not used. | +| main.rs:287:22:287:24 | val | Variable 'val' is not used. | +| main.rs:294:24:294:26 | val | Variable 'val' is not used. | +| main.rs:302:13:302:15 | num | Variable 'num' is not used. | +| main.rs:317:12:317:12 | j | Variable 'j' is not used. | +| main.rs:337:25:337:25 | y | Variable 'y' is not used. | +| main.rs:340:28:340:28 | a | Variable 'a' is not used. | +| main.rs:343:9:343:9 | p | Variable 'p' is not used. | +| main.rs:361:9:361:13 | right | Variable 'right' is not used. | +| main.rs:367:9:367:14 | right2 | Variable 'right2' is not used. | +| main.rs:374:13:374:13 | y | Variable 'y' is not used. | +| main.rs:382:21:382:21 | y | Variable 'y' is not used. | +| main.rs:427:26:427:28 | val | Variable 'val' is not used. | +| main.rs:430:21:430:23 | acc | Variable 'acc' is not used. | +| main.rs:451:9:451:14 | unused | Variable 'unused' is not used. | +| main.rs:494:16:494:16 | x | Variable 'x' is not used. | +| main.rs:495:16:495:16 | y | Variable 'y' is not used. | +| main.rs:496:12:496:12 | z | Variable 'z' is not used. | +| main.rs:499:18:499:18 | x | Variable 'x' is not used. | | more.rs:24:9:24:11 | val | Variable 'val' is not used. | diff --git a/rust/ql/test/query-tests/unusedentities/main.rs b/rust/ql/test/query-tests/unusedentities/main.rs index a1f865e5cce0..e57878c235fa 100644 --- a/rust/ql/test/query-tests/unusedentities/main.rs +++ b/rust/ql/test/query-tests/unusedentities/main.rs @@ -198,6 +198,14 @@ fn loops() { _ = format!("x is {x}"); } + for x in 1..10 { + _ = format!("x is {x:?}"); + } + + [1, 2, 3].iter().for_each(|x| { + _ = format!("x is {x}"); + }); + for x in 1..10 { println!("x is {val}", val = x); } @@ -466,6 +474,33 @@ fn macros() { }) ) } +// --- references --- + +fn references() { + let a = 1; + let b = &a; + let c = *b; // $ Alert[rust/unused-value] + let d = 2; + let e = 3; + let f = &&e; + + assert!(&d != *f); +} + +// --- declarations in types --- + +pub struct my_declaration { + field1: fn(i32) -> i32, + field2: fn(x: i32) -> i32, // $ SPURIOUS: Alert[rust/unused-variable] + field3: fn(y: // $ SPURIOUS: Alert[rust/unused-variable] + fn(z: i32) -> i32) -> i32, // $ SPURIOUS: Alert[rust/unused-variable] +} + +type MyType = fn(x: i32) -> i32; // $ SPURIOUS: Alert[rust/unused-variable] + +trait MyTrait { + fn my_func2(&self, x: i32) -> i32; +} // --- main --- @@ -482,6 +517,7 @@ fn main() { func_ptrs(); folds_and_closures(); macros(); + references(); generics(); pointers(); From 278760c73525fbdbb44057eb341ec7a053d361bd Mon Sep 17 00:00:00 2001 From: Geoffrey White <40627776+geoffw0@users.noreply.github.com> Date: Tue, 5 Nov 2024 14:42:18 +0000 Subject: [PATCH 024/347] Rust: Add another exception to rust/unused-variable. --- rust/ql/src/queries/unusedentities/UnusedVariable.qll | 6 +++++- .../test/query-tests/unusedentities/UnusedValue.expected | 4 ++++ .../query-tests/unusedentities/UnusedVariable.expected | 4 ---- rust/ql/test/query-tests/unusedentities/main.rs | 8 ++++---- 4 files changed, 13 insertions(+), 9 deletions(-) diff --git a/rust/ql/src/queries/unusedentities/UnusedVariable.qll b/rust/ql/src/queries/unusedentities/UnusedVariable.qll index 020b559c2765..2d3409f22aa7 100644 --- a/rust/ql/src/queries/unusedentities/UnusedVariable.qll +++ b/rust/ql/src/queries/unusedentities/UnusedVariable.qll @@ -7,8 +7,12 @@ class DiscardVariable extends Variable { /** Holds if variable `v` is unused. */ predicate isUnused(Variable v) { + // variable is accessed or initialized not exists(v.getAnAccess()) and not exists(v.getInitializer()) and + // variable is intentionally unused not v instanceof DiscardVariable and - not v.getPat().isInMacroExpansion() + // variable is in a context where is may not have a use + not v.getPat().isInMacroExpansion() and + not exists(FnPtrType fp | fp.getParamList().getParam(_).getPat() = v.getPat()) } diff --git a/rust/ql/test/query-tests/unusedentities/UnusedValue.expected b/rust/ql/test/query-tests/unusedentities/UnusedValue.expected index f8538e5b8bc8..c435b4f78a88 100644 --- a/rust/ql/test/query-tests/unusedentities/UnusedValue.expected +++ b/rust/ql/test/query-tests/unusedentities/UnusedValue.expected @@ -15,6 +15,10 @@ | main.rs:373:9:373:9 | x | Variable $@ is assigned a value that is never used. | main.rs:373:9:373:9 | x | x | | main.rs:381:17:381:17 | x | Variable $@ is assigned a value that is never used. | main.rs:381:17:381:17 | x | x | | main.rs:482:9:482:9 | c | Variable $@ is assigned a value that is never used. | main.rs:482:9:482:9 | c | c | +| main.rs:494:16:494:16 | x | Variable $@ is assigned a value that is never used. | main.rs:494:16:494:16 | x | x | +| main.rs:495:16:495:16 | y | Variable $@ is assigned a value that is never used. | main.rs:495:16:495:16 | y | y | +| main.rs:496:12:496:12 | z | Variable $@ is assigned a value that is never used. | main.rs:496:12:496:12 | z | z | +| main.rs:499:18:499:18 | x | Variable $@ is assigned a value that is never used. | main.rs:499:18:499:18 | x | x | | more.rs:44:9:44:14 | a_ptr4 | Variable $@ is assigned a value that is never used. | more.rs:44:9:44:14 | a_ptr4 | a_ptr4 | | more.rs:59:9:59:13 | d_ptr | Variable $@ is assigned a value that is never used. | more.rs:59:9:59:13 | d_ptr | d_ptr | | more.rs:65:9:65:17 | f_ptr | Variable $@ is assigned a value that is never used. | more.rs:65:13:65:17 | f_ptr | f_ptr | diff --git a/rust/ql/test/query-tests/unusedentities/UnusedVariable.expected b/rust/ql/test/query-tests/unusedentities/UnusedVariable.expected index a7af5a4fb033..dcfde3c46f54 100644 --- a/rust/ql/test/query-tests/unusedentities/UnusedVariable.expected +++ b/rust/ql/test/query-tests/unusedentities/UnusedVariable.expected @@ -19,8 +19,4 @@ | main.rs:427:26:427:28 | val | Variable 'val' is not used. | | main.rs:430:21:430:23 | acc | Variable 'acc' is not used. | | main.rs:451:9:451:14 | unused | Variable 'unused' is not used. | -| main.rs:494:16:494:16 | x | Variable 'x' is not used. | -| main.rs:495:16:495:16 | y | Variable 'y' is not used. | -| main.rs:496:12:496:12 | z | Variable 'z' is not used. | -| main.rs:499:18:499:18 | x | Variable 'x' is not used. | | more.rs:24:9:24:11 | val | Variable 'val' is not used. | diff --git a/rust/ql/test/query-tests/unusedentities/main.rs b/rust/ql/test/query-tests/unusedentities/main.rs index e57878c235fa..f29f1afd6599 100644 --- a/rust/ql/test/query-tests/unusedentities/main.rs +++ b/rust/ql/test/query-tests/unusedentities/main.rs @@ -491,12 +491,12 @@ fn references() { pub struct my_declaration { field1: fn(i32) -> i32, - field2: fn(x: i32) -> i32, // $ SPURIOUS: Alert[rust/unused-variable] - field3: fn(y: // $ SPURIOUS: Alert[rust/unused-variable] - fn(z: i32) -> i32) -> i32, // $ SPURIOUS: Alert[rust/unused-variable] + field2: fn(x: i32) -> i32, // $ SPURIOUS: Alert[rust/unused-value] + field3: fn(y: // $ SPURIOUS: Alert[rust/unused-value] + fn(z: i32) -> i32) -> i32, // $ SPURIOUS: Alert[rust/unused-value] } -type MyType = fn(x: i32) -> i32; // $ SPURIOUS: Alert[rust/unused-variable] +type MyType = fn(x: i32) -> i32; // $ SPURIOUS: Alert[rust/unused-value] trait MyTrait { fn my_func2(&self, x: i32) -> i32; From 881fe0ba5707fb3ce79bb5408b7605fd5ed38488 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mika=C3=ABl=20Barbero?= Date: Tue, 5 Nov 2024 15:58:46 +0100 Subject: [PATCH 025/347] fix: add "actions" tag to ActionsArtifactLeak Similar to javascript/ql/src/Security/CWE-094/ExpressionInjection.ql --- javascript/ql/src/Security/CWE-312/ActionsArtifactLeak.ql | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/javascript/ql/src/Security/CWE-312/ActionsArtifactLeak.ql b/javascript/ql/src/Security/CWE-312/ActionsArtifactLeak.ql index 0b869d5d2836..3f001c5e4560 100644 --- a/javascript/ql/src/Security/CWE-312/ActionsArtifactLeak.ql +++ b/javascript/ql/src/Security/CWE-312/ActionsArtifactLeak.ql @@ -7,7 +7,8 @@ * @security-severity 7.5 * @precision high * @id js/actions/actions-artifact-leak - * @tags security + * @tags actions + * security * external/cwe/cwe-312 * external/cwe/cwe-315 * external/cwe/cwe-359 From 93836a55e2b6396ac583bf4f5a7497d416d8642d Mon Sep 17 00:00:00 2001 From: Geoffrey White <40627776+geoffw0@users.noreply.github.com> Date: Tue, 5 Nov 2024 15:03:11 +0000 Subject: [PATCH 026/347] Rust: Clean up code / clarify responsibilities and fix the issue in rust/unused-value as well. --- .../queries/unusedentities/UnusedVariable.ql | 5 +++- .../queries/unusedentities/UnusedVariable.qll | 26 +++++++++++++------ .../unusedentities/UnusedValue.expected | 4 --- .../test/query-tests/unusedentities/main.rs | 8 +++--- 4 files changed, 26 insertions(+), 17 deletions(-) diff --git a/rust/ql/src/queries/unusedentities/UnusedVariable.ql b/rust/ql/src/queries/unusedentities/UnusedVariable.ql index 339bb0967fbf..388c98d07b6a 100644 --- a/rust/ql/src/queries/unusedentities/UnusedVariable.ql +++ b/rust/ql/src/queries/unusedentities/UnusedVariable.ql @@ -12,5 +12,8 @@ import rust import UnusedVariable from Variable v -where isUnused(v) +where + isUnused(v) and + not isAllowableUnused(v) and + not v instanceof DiscardVariable select v, "Variable '" + v + "' is not used." diff --git a/rust/ql/src/queries/unusedentities/UnusedVariable.qll b/rust/ql/src/queries/unusedentities/UnusedVariable.qll index 2d3409f22aa7..26edc7e0a9c2 100644 --- a/rust/ql/src/queries/unusedentities/UnusedVariable.qll +++ b/rust/ql/src/queries/unusedentities/UnusedVariable.qll @@ -1,18 +1,28 @@ import rust -/** A deliberately unused variable. */ +/** + * A deliberately unused variable, for example `_` or `_x`. + */ class DiscardVariable extends Variable { DiscardVariable() { this.getName().charAt(0) = "_" } } -/** Holds if variable `v` is unused. */ +/** + * Holds if variable `v` is unused. + */ predicate isUnused(Variable v) { // variable is accessed or initialized not exists(v.getAnAccess()) and - not exists(v.getInitializer()) and - // variable is intentionally unused - not v instanceof DiscardVariable and - // variable is in a context where is may not have a use - not v.getPat().isInMacroExpansion() and - not exists(FnPtrType fp | fp.getParamList().getParam(_).getPat() = v.getPat()) + not exists(v.getInitializer()) +} + +/** + * Holds if variable `v` is in a context where we may not find a use for it, + * but that's expected and should not be considered a problem. + */ +predicate isAllowableUnused(Variable v) { + // in a macro expansion + v.getPat().isInMacroExpansion() or + // function pointer parameters + exists(FnPtrType fp | fp.getParamList().getParam(_).getPat() = v.getPat()) } diff --git a/rust/ql/test/query-tests/unusedentities/UnusedValue.expected b/rust/ql/test/query-tests/unusedentities/UnusedValue.expected index c435b4f78a88..f8538e5b8bc8 100644 --- a/rust/ql/test/query-tests/unusedentities/UnusedValue.expected +++ b/rust/ql/test/query-tests/unusedentities/UnusedValue.expected @@ -15,10 +15,6 @@ | main.rs:373:9:373:9 | x | Variable $@ is assigned a value that is never used. | main.rs:373:9:373:9 | x | x | | main.rs:381:17:381:17 | x | Variable $@ is assigned a value that is never used. | main.rs:381:17:381:17 | x | x | | main.rs:482:9:482:9 | c | Variable $@ is assigned a value that is never used. | main.rs:482:9:482:9 | c | c | -| main.rs:494:16:494:16 | x | Variable $@ is assigned a value that is never used. | main.rs:494:16:494:16 | x | x | -| main.rs:495:16:495:16 | y | Variable $@ is assigned a value that is never used. | main.rs:495:16:495:16 | y | y | -| main.rs:496:12:496:12 | z | Variable $@ is assigned a value that is never used. | main.rs:496:12:496:12 | z | z | -| main.rs:499:18:499:18 | x | Variable $@ is assigned a value that is never used. | main.rs:499:18:499:18 | x | x | | more.rs:44:9:44:14 | a_ptr4 | Variable $@ is assigned a value that is never used. | more.rs:44:9:44:14 | a_ptr4 | a_ptr4 | | more.rs:59:9:59:13 | d_ptr | Variable $@ is assigned a value that is never used. | more.rs:59:9:59:13 | d_ptr | d_ptr | | more.rs:65:9:65:17 | f_ptr | Variable $@ is assigned a value that is never used. | more.rs:65:13:65:17 | f_ptr | f_ptr | diff --git a/rust/ql/test/query-tests/unusedentities/main.rs b/rust/ql/test/query-tests/unusedentities/main.rs index f29f1afd6599..814a2ffee5b2 100644 --- a/rust/ql/test/query-tests/unusedentities/main.rs +++ b/rust/ql/test/query-tests/unusedentities/main.rs @@ -491,12 +491,12 @@ fn references() { pub struct my_declaration { field1: fn(i32) -> i32, - field2: fn(x: i32) -> i32, // $ SPURIOUS: Alert[rust/unused-value] - field3: fn(y: // $ SPURIOUS: Alert[rust/unused-value] - fn(z: i32) -> i32) -> i32, // $ SPURIOUS: Alert[rust/unused-value] + field2: fn(x: i32) -> i32, + field3: fn(y: + fn(z: i32) -> i32) -> i32, } -type MyType = fn(x: i32) -> i32; // $ SPURIOUS: Alert[rust/unused-value] +type MyType = fn(x: i32) -> i32; trait MyTrait { fn my_func2(&self, x: i32) -> i32; From 1a5d2e1f5de86b8898fce9a9d74c4bb916ebf10a Mon Sep 17 00:00:00 2001 From: Geoffrey White <40627776+geoffw0@users.noreply.github.com> Date: Tue, 5 Nov 2024 15:22:46 +0000 Subject: [PATCH 027/347] Rust: Correct a comment and autoformat. --- rust/ql/src/queries/unusedentities/UnusedVariable.qll | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/rust/ql/src/queries/unusedentities/UnusedVariable.qll b/rust/ql/src/queries/unusedentities/UnusedVariable.qll index 26edc7e0a9c2..650d63f318ed 100644 --- a/rust/ql/src/queries/unusedentities/UnusedVariable.qll +++ b/rust/ql/src/queries/unusedentities/UnusedVariable.qll @@ -11,7 +11,7 @@ class DiscardVariable extends Variable { * Holds if variable `v` is unused. */ predicate isUnused(Variable v) { - // variable is accessed or initialized + // variable is not accessed or initialized not exists(v.getAnAccess()) and not exists(v.getInitializer()) } @@ -22,7 +22,8 @@ predicate isUnused(Variable v) { */ predicate isAllowableUnused(Variable v) { // in a macro expansion - v.getPat().isInMacroExpansion() or + v.getPat().isInMacroExpansion() + or // function pointer parameters exists(FnPtrType fp | fp.getParamList().getParam(_).getPat() = v.getPat()) } From 8a35e151d11241ef95b9ef983d0fdaf2be60627a Mon Sep 17 00:00:00 2001 From: Geoffrey White <40627776+geoffw0@users.noreply.github.com> Date: Wed, 6 Nov 2024 10:51:41 +0000 Subject: [PATCH 028/347] Rust: Move the function pointer parameter exclusion into VariableImpl.qll. --- rust/ql/lib/codeql/rust/elements/internal/VariableImpl.qll | 4 +++- rust/ql/src/queries/unusedentities/UnusedVariable.qll | 3 --- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/rust/ql/lib/codeql/rust/elements/internal/VariableImpl.qll b/rust/ql/lib/codeql/rust/elements/internal/VariableImpl.qll index f862ec2cef1c..d6fa101f40b3 100644 --- a/rust/ql/lib/codeql/rust/elements/internal/VariableImpl.qll +++ b/rust/ql/lib/codeql/rust/elements/internal/VariableImpl.qll @@ -87,7 +87,9 @@ module Impl { not name.charAt(0).isUppercase() and // exclude parameters from functions without a body as these are trait method declarations // without implementations - not exists(Function f | not f.hasBody() and f.getParamList().getAParam().getPat() = p) + not exists(Function f | not f.hasBody() and f.getParamList().getAParam().getPat() = p) and + // exclude parameters from function pointers as well, which also lack a body + not exists(FnPtrType fp | fp.getParamList().getParam(_).getPat() = p) } /** A variable. */ diff --git a/rust/ql/src/queries/unusedentities/UnusedVariable.qll b/rust/ql/src/queries/unusedentities/UnusedVariable.qll index 650d63f318ed..d92f8787af12 100644 --- a/rust/ql/src/queries/unusedentities/UnusedVariable.qll +++ b/rust/ql/src/queries/unusedentities/UnusedVariable.qll @@ -23,7 +23,4 @@ predicate isUnused(Variable v) { predicate isAllowableUnused(Variable v) { // in a macro expansion v.getPat().isInMacroExpansion() - or - // function pointer parameters - exists(FnPtrType fp | fp.getParamList().getParam(_).getPat() = v.getPat()) } From bf0e1008ce7580b9c940d514f7d9054e2c304dfa Mon Sep 17 00:00:00 2001 From: Geoffrey White <40627776+geoffw0@users.noreply.github.com> Date: Mon, 4 Nov 2024 17:15:09 +0000 Subject: [PATCH 029/347] Rust: Move some test cases together. --- .../test/query-tests/unusedentities/main.rs | 4 +- .../query-tests/unusedentities/unreachable.rs | 40 +++++++++---------- 2 files changed, 22 insertions(+), 22 deletions(-) diff --git a/rust/ql/test/query-tests/unusedentities/main.rs b/rust/ql/test/query-tests/unusedentities/main.rs index ee315f63d002..2c0df88f9f43 100644 --- a/rust/ql/test/query-tests/unusedentities/main.rs +++ b/rust/ql/test/query-tests/unusedentities/main.rs @@ -481,14 +481,14 @@ fn main() { folds_and_closures(); unreachable_if_1(); + unreachable_if_2(); + unreachable_if_3(); // unreachable_panic(); unreachable_match(); // unreachable_loop(); unreachable_paren(); unreachable_let_1(); unreachable_let_2(); - unreachable_if_2(); - unreachable_if_3(); macros(); } diff --git a/rust/ql/test/query-tests/unusedentities/unreachable.rs b/rust/ql/test/query-tests/unusedentities/unreachable.rs index 9f206eb6eb33..6d163d82cfd3 100644 --- a/rust/ql/test/query-tests/unusedentities/unreachable.rs +++ b/rust/ql/test/query-tests/unusedentities/unreachable.rs @@ -67,6 +67,26 @@ pub fn unreachable_if_1() { do_something(); // $ Alert[rust/dead-code] } +pub fn unreachable_if_2() { + if cond() { + do_something(); + return; + } else { + do_something(); + } + + do_something(); +} + +pub fn unreachable_if_3() { + if !cond() { + do_something(); + return; + } + + do_something(); +} + pub fn unreachable_panic() { if cond() { do_something(); @@ -231,23 +251,3 @@ pub fn unreachable_let_2() { do_something(); } - -pub fn unreachable_if_2() { - if cond() { - do_something(); - return; - } else { - do_something(); - } - - do_something(); -} - -pub fn unreachable_if_3() { - if !cond() { - do_something(); - return; - } - - do_something(); -} From dadc6059a8d7365175049ade2a62cdf4fc600845 Mon Sep 17 00:00:00 2001 From: Simon Friis Vindum Date: Wed, 6 Nov 2024 16:05:28 +0100 Subject: [PATCH 030/347] Rust: Implement enclosing callable --- .../lib/codeql/rust/controlflow/CfgNodes.qll | 8 ++ .../rust/dataflow/internal/DataFlowImpl.qll | 131 +++++++++++++++--- .../CONSISTENCY/DataFlowConsistency.expected | 3 - .../CONSISTENCY/DataFlowConsistency.expected | 7 - .../CONSISTENCY/DataFlowConsistency.expected | 1 - .../CONSISTENCY/DataFlowConsistency.expected | 2 - .../CONSISTENCY/DataFlowConsistency.expected | 2 - .../CONSISTENCY/DataFlowConsistency.expected | 1 - .../CONSISTENCY/DataFlowConsistency.expected | 3 - .../CONSISTENCY/DataFlowConsistency.expected | 2 - .../CONSISTENCY/DataFlowConsistency.expected | 2 - .../CONSISTENCY/DataFlowConsistency.expected | 47 ------- .../CONSISTENCY/DataFlowConsistency.expected | 3 - .../CONSISTENCY/DataFlowConsistency.expected | 5 - .../CONSISTENCY/DataFlowConsistency.expected | 15 -- .../CONSISTENCY/DataFlowConsistency.expected | 39 ------ 16 files changed, 119 insertions(+), 152 deletions(-) diff --git a/rust/ql/lib/codeql/rust/controlflow/CfgNodes.qll b/rust/ql/lib/codeql/rust/controlflow/CfgNodes.qll index a637c98cfd10..54973c582436 100644 --- a/rust/ql/lib/codeql/rust/controlflow/CfgNodes.qll +++ b/rust/ql/lib/codeql/rust/controlflow/CfgNodes.qll @@ -5,6 +5,7 @@ private import rust private import ControlFlowGraph +private import internal.ControlFlowGraphImpl /** A CFG node that corresponds to an element in the AST. */ class AstCfgNode extends CfgNode { @@ -20,3 +21,10 @@ class ExprCfgNode extends AstCfgNode { /** Gets the underlying expression. */ Expr getExpr() { result = node } } + +/** A CFG node that corresponds to a call in the AST. */ +class CallCfgNode extends ExprCfgNode { + override CallExpr node; +} + +final class ExitCfgNode = ExitNode; diff --git a/rust/ql/lib/codeql/rust/dataflow/internal/DataFlowImpl.qll b/rust/ql/lib/codeql/rust/dataflow/internal/DataFlowImpl.qll index 4b086bb8ec01..2213892f0c0d 100644 --- a/rust/ql/lib/codeql/rust/dataflow/internal/DataFlowImpl.qll +++ b/rust/ql/lib/codeql/rust/dataflow/internal/DataFlowImpl.qll @@ -12,6 +12,64 @@ private import codeql.rust.controlflow.ControlFlowGraph private import codeql.rust.controlflow.CfgNodes private import codeql.rust.dataflow.Ssa +private newtype TReturnKind = TNormalReturnKind() + +/** + * A return kind. A return kind describes how a value can be returned from a + * callable. + * + * The only return kind is a "normal" return from a `return` statement or an + * expression body. + */ +final class ReturnKind extends TNormalReturnKind { + string toString() { result = "return" } +} + +/** + * A callable. This includes callables from source code, as well as callables + * defined in library code. + */ +final class DataFlowCallable extends TDataFlowCallable { + /** + * Gets the underlying CFG scope, if any. + */ + CfgScope asCfgScope() { this = TCfgScope(result) } + + /** Gets a textual representation of this callable. */ + string toString() { result = this.asCfgScope().toString() } + + /** Gets the location of this callable. */ + Location getLocation() { result = this.asCfgScope().getLocation() } +} + +abstract class DataFlowCall extends TDataFlowCall { + /** Gets the enclosing callable. */ + abstract DataFlowCallable getEnclosingCallable(); + + /** Gets the underlying source code call, if any. */ + abstract CallCfgNode asCall(); + + abstract string toString(); + + /** Gets the location of this call. */ + abstract Location getLocation(); +} + +final class NormalCall extends DataFlowCall, TNormalCall { + private CallCfgNode c; + + NormalCall() { this = TNormalCall(c) } + + /** Gets the underlying call in the CFG, if any. */ + override CallCfgNode asCall() { result = c } + + override DataFlowCallable getEnclosingCallable() { none() } + + override string toString() { result = c.toString() } + + override Location getLocation() { result = c.getLocation() } +} + module Node { /** * An element, viewed as a node in a data flow graph. Either an expression @@ -29,6 +87,12 @@ module Node { */ Expr asExpr() { none() } + /** Gets the enclosing callable. */ + DataFlowCallable getEnclosingCallable() { result = TCfgScope(this.getCfgScope()) } + + /** Do not call: use `getEnclosingCallable()` instead. */ + abstract CfgScope getCfgScope(); + /** * Gets the control flow node that corresponds to this data flow node. */ @@ -49,6 +113,8 @@ module Node { final class NaNode extends Node { NaNode() { none() } + override CfgScope getCfgScope() { none() } + override string toString() { result = "N/A" } override Location getLocation() { none() } @@ -62,11 +128,13 @@ module Node { * to multiple `ExprNode`s, just like it may correspond to multiple * `ControlFlow::Node`s. */ - final class ExprNode extends Node, TExprNode { + class ExprNode extends Node, TExprNode { ExprCfgNode n; ExprNode() { this = TExprNode(n) } + override CfgScope getCfgScope() { result = this.asExpr().getEnclosingCallable() } + override Location getLocation() { result = n.getExpr().getLocation() } override string toString() { result = n.getExpr().toString() } @@ -85,6 +153,8 @@ module Node { ParameterNode() { this = TParameterNode(parameter) } + override CfgScope getCfgScope() { result = parameter.getEnclosingCallable() } + override Location getLocation() { result = parameter.getLocation() } override string toString() { result = parameter.toString() } @@ -105,6 +175,8 @@ module Node { def = node.getDefinitionExt() } + override CfgScope getCfgScope() { result = def.getBasicBlock().getScope() } + SsaImpl::DefinitionExt getDefinitionExt() { result = def } /** Holds if this node should be hidden from path explanations. */ @@ -115,11 +187,25 @@ module Node { override string toString() { result = node.toString() } } - final class ReturnNode extends NaNode { - RustDataFlow::ReturnKind getKind() { none() } + /** A data flow node that represents a value returned by a callable. */ + final class ReturnNode extends ExprNode { + ReturnNode() { this.getCfgNode().getASuccessor() instanceof ExitCfgNode } + + ReturnKind getKind() { any() } + } + + /** A data-flow node that represents the output of a call. */ + abstract class OutNode extends Node, ExprNode { + /** Gets the underlying call, where this node is a corresponding output of kind `kind`. */ + abstract DataFlowCall getCall(); } - final class OutNode = NaNode; + final private class ExprOutNode extends OutNode { + ExprOutNode() { this.asExpr() instanceof CallExpr } + + /** Gets the underlying call CFG node that includes this out node. */ + override DataFlowCall getCall() { result.(NormalCall).asCall() = this.getCfgNode() } + } /** * A node associated with an object after an operation that might have @@ -198,6 +284,12 @@ module LocalFlow { } } +class DataFlowCallableAlias = DataFlowCallable; + +class ReturnKindAlias = ReturnKind; + +class DataFlowCallAlias = DataFlowCall; + module RustDataFlow implements InputSig { /** * An element, viewed as a node in a data flow graph. Either an expression @@ -221,7 +313,7 @@ module RustDataFlow implements InputSig { predicate isArgumentNode(ArgumentNode n, DataFlowCall call, ArgumentPosition pos) { none() } - DataFlowCallable nodeGetEnclosingCallable(Node node) { none() } + DataFlowCallable nodeGetEnclosingCallable(Node node) { result = node.getEnclosingCallable() } DataFlowType getNodeType(Node node) { any() } @@ -232,26 +324,22 @@ module RustDataFlow implements InputSig { /** Gets the node corresponding to `e`. */ Node exprNode(DataFlowExpr e) { result.getCfgNode() = e } - final class DataFlowCall extends TNormalCall { - private CallExpr c; - - DataFlowCall() { this = TNormalCall(c) } - - DataFlowCallable getEnclosingCallable() { none() } - - string toString() { result = c.toString() } - - Location getLocation() { result = c.getLocation() } - } + final class DataFlowCall = DataFlowCallAlias; - final class DataFlowCallable = CfgScope; + final class DataFlowCallable = DataFlowCallableAlias; - final class ReturnKind = Void; + final class ReturnKind = ReturnKindAlias; /** Gets a viable implementation of the target of the given `Call`. */ DataFlowCallable viableCallable(DataFlowCall c) { none() } - OutNode getAnOutNode(DataFlowCall call, ReturnKind kind) { none() } + /** + * Gets a node that can read the value returned from `call` with return kind + * `kind`. + */ + OutNode getAnOutNode(DataFlowCall call, ReturnKind kind) { + call = result.getCall() and exists(kind) + } // NOTE: For now we use the type `Unit` and do not benefit from type // information in the data flow analysis. @@ -400,7 +488,7 @@ private module Cached { TSsaNode(SsaImpl::DataFlowIntegration::SsaNode node) cached - newtype TDataFlowCall = TNormalCall(CallExpr c) + newtype TDataFlowCall = TNormalCall(CallCfgNode c) cached newtype TOptionalContentSet = @@ -410,6 +498,9 @@ private module Cached { cached class TContentSet = TAnyElementContent or TAnyContent; + cached + newtype TDataFlowCallable = TCfgScope(CfgScope scope) + /** This is the local flow predicate that is exposed. */ cached predicate localFlowStepImpl(Node::Node nodeFrom, Node::Node nodeTo) { diff --git a/rust/ql/test/extractor-tests/generated/BecomeExpr/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/extractor-tests/generated/BecomeExpr/CONSISTENCY/DataFlowConsistency.expected index 6516b039d349..24116bd3f7b1 100644 --- a/rust/ql/test/extractor-tests/generated/BecomeExpr/CONSISTENCY/DataFlowConsistency.expected +++ b/rust/ql/test/extractor-tests/generated/BecomeExpr/CONSISTENCY/DataFlowConsistency.expected @@ -1,5 +1,2 @@ -uniqueEnclosingCallable -| gen_become_expr.rs:4:11:4:16 | Param | Node should have one enclosing callable but has 0. | -| gen_become_expr.rs:4:19:4:24 | Param | Node should have one enclosing callable but has 0. | uniqueCallEnclosingCallable | gen_become_expr.rs:8:17:8:36 | CallExpr | Call should have one enclosing callable but has 0. | diff --git a/rust/ql/test/extractor-tests/generated/ClosureExpr/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/extractor-tests/generated/ClosureExpr/CONSISTENCY/DataFlowConsistency.expected index 88fdd99977d5..e69de29bb2d1 100644 --- a/rust/ql/test/extractor-tests/generated/ClosureExpr/CONSISTENCY/DataFlowConsistency.expected +++ b/rust/ql/test/extractor-tests/generated/ClosureExpr/CONSISTENCY/DataFlowConsistency.expected @@ -1,7 +0,0 @@ -uniqueEnclosingCallable -| gen_closure_expr.rs:5:6:5:6 | Param | Node should have one enclosing callable but has 0. | -| gen_closure_expr.rs:6:11:6:16 | Param | Node should have one enclosing callable but has 0. | -| gen_closure_expr.rs:7:12:7:17 | Param | Node should have one enclosing callable but has 0. | -| gen_closure_expr.rs:7:20:7:20 | Param | Node should have one enclosing callable but has 0. | -| gen_closure_expr.rs:9:6:9:6 | Param | Node should have one enclosing callable but has 0. | -| gen_closure_expr.rs:11:14:11:14 | Param | Node should have one enclosing callable but has 0. | diff --git a/rust/ql/test/extractor-tests/generated/ContinueExpr/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/extractor-tests/generated/ContinueExpr/CONSISTENCY/DataFlowConsistency.expected index ecb8d4c5fa5d..2564610ffd00 100644 --- a/rust/ql/test/extractor-tests/generated/ContinueExpr/CONSISTENCY/DataFlowConsistency.expected +++ b/rust/ql/test/extractor-tests/generated/ContinueExpr/CONSISTENCY/DataFlowConsistency.expected @@ -1,3 +1,2 @@ uniqueCallEnclosingCallable | gen_continue_expr.rs:6:12:6:22 | CallExpr | Call should have one enclosing callable but has 0. | -| gen_continue_expr.rs:11:12:11:22 | CallExpr | Call should have one enclosing callable but has 0. | diff --git a/rust/ql/test/extractor-tests/generated/Function/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/extractor-tests/generated/Function/CONSISTENCY/DataFlowConsistency.expected index ff19b5c755ff..e69de29bb2d1 100644 --- a/rust/ql/test/extractor-tests/generated/Function/CONSISTENCY/DataFlowConsistency.expected +++ b/rust/ql/test/extractor-tests/generated/Function/CONSISTENCY/DataFlowConsistency.expected @@ -1,2 +0,0 @@ -uniqueEnclosingCallable -| gen_function.rs:4:8:4:13 | Param | Node should have one enclosing callable but has 0. | diff --git a/rust/ql/test/extractor-tests/generated/LetExpr/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/extractor-tests/generated/LetExpr/CONSISTENCY/DataFlowConsistency.expected index d8463348699d..d8a1b37b6162 100644 --- a/rust/ql/test/extractor-tests/generated/LetExpr/CONSISTENCY/DataFlowConsistency.expected +++ b/rust/ql/test/extractor-tests/generated/LetExpr/CONSISTENCY/DataFlowConsistency.expected @@ -1,4 +1,2 @@ -uniqueEnclosingCallable -| gen_let_expr.rs:3:18:3:43 | Param | Node should have one enclosing callable but has 0. | uniqueCallEnclosingCallable | gen_let_expr.rs:6:18:6:24 | CallExpr | Call should have one enclosing callable but has 0. | diff --git a/rust/ql/test/extractor-tests/generated/LoopExpr/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/extractor-tests/generated/LoopExpr/CONSISTENCY/DataFlowConsistency.expected index 4ee3c3ba6918..4e396b881520 100644 --- a/rust/ql/test/extractor-tests/generated/LoopExpr/CONSISTENCY/DataFlowConsistency.expected +++ b/rust/ql/test/extractor-tests/generated/LoopExpr/CONSISTENCY/DataFlowConsistency.expected @@ -1,3 +1,2 @@ uniqueCallEnclosingCallable | gen_loop_expr.rs:6:18:6:40 | CallExpr | Call should have one enclosing callable but has 0. | -| gen_loop_expr.rs:9:18:9:39 | CallExpr | Call should have one enclosing callable but has 0. | diff --git a/rust/ql/test/extractor-tests/generated/MacroItems/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/extractor-tests/generated/MacroItems/CONSISTENCY/DataFlowConsistency.expected index 1ff9ef2f42b1..348881bf8b9d 100644 --- a/rust/ql/test/extractor-tests/generated/MacroItems/CONSISTENCY/DataFlowConsistency.expected +++ b/rust/ql/test/extractor-tests/generated/MacroItems/CONSISTENCY/DataFlowConsistency.expected @@ -1,6 +1,3 @@ -uniqueEnclosingCallable -| common_definitions.rs:3:15:3:25 | Param | Node should have one enclosing callable but has 0. | -| file://:0:0:0:0 | Param | Node should have one enclosing callable but has 0. | uniqueNodeLocation | file://:0:0:0:0 | BlockExpr | Node should have one location but has 0. | | file://:0:0:0:0 | MethodCallExpr | Node should have one location but has 0. | diff --git a/rust/ql/test/extractor-tests/generated/MatchArm/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/extractor-tests/generated/MatchArm/CONSISTENCY/DataFlowConsistency.expected index f3a370b253d5..e69de29bb2d1 100644 --- a/rust/ql/test/extractor-tests/generated/MatchArm/CONSISTENCY/DataFlowConsistency.expected +++ b/rust/ql/test/extractor-tests/generated/MatchArm/CONSISTENCY/DataFlowConsistency.expected @@ -1,2 +0,0 @@ -uniqueEnclosingCallable -| gen_match_arm.rs:3:19:3:24 | Param | Node should have one enclosing callable but has 0. | diff --git a/rust/ql/test/extractor-tests/generated/MatchExpr/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/extractor-tests/generated/MatchExpr/CONSISTENCY/DataFlowConsistency.expected index f7d9849fdc7b..e69de29bb2d1 100644 --- a/rust/ql/test/extractor-tests/generated/MatchExpr/CONSISTENCY/DataFlowConsistency.expected +++ b/rust/ql/test/extractor-tests/generated/MatchExpr/CONSISTENCY/DataFlowConsistency.expected @@ -1,2 +0,0 @@ -uniqueEnclosingCallable -| gen_match_expr.rs:3:20:3:25 | Param | Node should have one enclosing callable but has 0. | diff --git a/rust/ql/test/library-tests/controlflow/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/library-tests/controlflow/CONSISTENCY/DataFlowConsistency.expected index cd9ee6e7f966..b294af889d0c 100644 --- a/rust/ql/test/library-tests/controlflow/CONSISTENCY/DataFlowConsistency.expected +++ b/rust/ql/test/library-tests/controlflow/CONSISTENCY/DataFlowConsistency.expected @@ -1,51 +1,4 @@ uniqueEnclosingCallable -| test.rs:18:32:18:37 | Param | Node should have one enclosing callable but has 0. | -| test.rs:36:31:36:37 | Param | Node should have one enclosing callable but has 0. | -| test.rs:50:34:50:40 | Param | Node should have one enclosing callable but has 0. | -| test.rs:64:34:64:40 | Param | Node should have one enclosing callable but has 0. | -| test.rs:78:19:78:24 | Param | Node should have one enclosing callable but has 0. | -| test.rs:98:17:98:22 | Param | Node should have one enclosing callable but has 0. | -| test.rs:114:25:114:30 | Param | Node should have one enclosing callable but has 0. | -| test.rs:115:20:115:20 | Param | Node should have one enclosing callable but has 0. | -| test.rs:121:21:121:26 | Param | Node should have one enclosing callable but has 0. | -| test.rs:129:25:129:38 | Param | Node should have one enclosing callable but has 0. | -| test.rs:137:20:137:33 | Param | Node should have one enclosing callable but has 0. | -| test.rs:144:23:144:28 | Param | Node should have one enclosing callable but has 0. | -| test.rs:152:29:152:34 | Param | Node should have one enclosing callable but has 0. | -| test.rs:163:29:163:34 | Param | Node should have one enclosing callable but has 0. | -| test.rs:174:27:174:32 | Param | Node should have one enclosing callable but has 0. | -| test.rs:183:22:183:27 | Param | Node should have one enclosing callable but has 0. | -| test.rs:196:22:196:27 | Param | Node should have one enclosing callable but has 0. | -| test.rs:209:28:209:33 | Param | Node should have one enclosing callable but has 0. | -| test.rs:222:26:222:32 | Param | Node should have one enclosing callable but has 0. | -| test.rs:222:35:222:41 | Param | Node should have one enclosing callable but has 0. | -| test.rs:222:44:222:50 | Param | Node should have one enclosing callable but has 0. | -| test.rs:227:25:227:31 | Param | Node should have one enclosing callable but has 0. | -| test.rs:227:34:227:40 | Param | Node should have one enclosing callable but has 0. | -| test.rs:227:43:227:49 | Param | Node should have one enclosing callable but has 0. | -| test.rs:232:27:232:33 | Param | Node should have one enclosing callable but has 0. | -| test.rs:232:36:232:41 | Param | Node should have one enclosing callable but has 0. | -| test.rs:232:44:232:50 | Param | Node should have one enclosing callable but has 0. | -| test.rs:237:26:237:32 | Param | Node should have one enclosing callable but has 0. | -| test.rs:242:29:242:35 | Param | Node should have one enclosing callable but has 0. | -| test.rs:242:38:242:43 | Param | Node should have one enclosing callable but has 0. | -| test.rs:242:46:242:52 | Param | Node should have one enclosing callable but has 0. | -| test.rs:250:28:250:34 | Param | Node should have one enclosing callable but has 0. | -| test.rs:250:37:250:42 | Param | Node should have one enclosing callable but has 0. | -| test.rs:250:45:250:51 | Param | Node should have one enclosing callable but has 0. | -| test.rs:258:29:258:35 | Param | Node should have one enclosing callable but has 0. | -| test.rs:269:38:269:44 | Param | Node should have one enclosing callable but has 0. | -| test.rs:273:38:273:52 | Param | Node should have one enclosing callable but has 0. | -| test.rs:283:19:283:42 | Param | Node should have one enclosing callable but has 0. | -| test.rs:291:44:291:67 | Param | Node should have one enclosing callable but has 0. | -| test.rs:302:23:302:32 | Param | Node should have one enclosing callable but has 0. | -| test.rs:302:35:302:48 | Param | Node should have one enclosing callable but has 0. | -| test.rs:309:35:309:58 | Param | Node should have one enclosing callable but has 0. | -| test.rs:319:23:319:36 | Param | Node should have one enclosing callable but has 0. | -| test.rs:324:29:324:42 | Param | Node should have one enclosing callable but has 0. | -| test.rs:335:28:335:35 | Param | Node should have one enclosing callable but has 0. | -| test.rs:342:29:342:40 | Param | Node should have one enclosing callable but has 0. | -| test.rs:401:15:401:25 | Param | Node should have one enclosing callable but has 0. | | test.rs:408:16:408:19 | Param | Node should have one enclosing callable but has 0. | uniqueCallEnclosingCallable | test.rs:6:9:6:44 | CallExpr | Call should have one enclosing callable but has 0. | diff --git a/rust/ql/test/library-tests/dataflow/barrier/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/library-tests/dataflow/barrier/CONSISTENCY/DataFlowConsistency.expected index 2586c6b13ad0..5ab92ceb0a20 100644 --- a/rust/ql/test/library-tests/dataflow/barrier/CONSISTENCY/DataFlowConsistency.expected +++ b/rust/ql/test/library-tests/dataflow/barrier/CONSISTENCY/DataFlowConsistency.expected @@ -1,6 +1,3 @@ -uniqueEnclosingCallable -| main.rs:5:9:5:15 | Param | Node should have one enclosing callable but has 0. | -| main.rs:9:13:9:19 | Param | Node should have one enclosing callable but has 0. | uniqueCallEnclosingCallable | main.rs:6:14:6:20 | CallExpr | Call should have one enclosing callable but has 0. | | main.rs:17:13:17:20 | CallExpr | Call should have one enclosing callable but has 0. | diff --git a/rust/ql/test/library-tests/dataflow/local/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/library-tests/dataflow/local/CONSISTENCY/DataFlowConsistency.expected index 273d49915dea..13dc24ed037a 100644 --- a/rust/ql/test/library-tests/dataflow/local/CONSISTENCY/DataFlowConsistency.expected +++ b/rust/ql/test/library-tests/dataflow/local/CONSISTENCY/DataFlowConsistency.expected @@ -1,8 +1,3 @@ -uniqueEnclosingCallable -| main.rs:6:18:6:27 | Param | Node should have one enclosing callable but has 0. | -| main.rs:31:21:31:26 | Param | Node should have one enclosing callable but has 0. | -| main.rs:31:29:31:34 | Param | Node should have one enclosing callable but has 0. | -| main.rs:31:37:31:50 | Param | Node should have one enclosing callable but has 0. | uniqueCallEnclosingCallable | main.rs:3:14:3:33 | CallExpr | Call should have one enclosing callable but has 0. | | main.rs:39:5:39:14 | CallExpr | Call should have one enclosing callable but has 0. | diff --git a/rust/ql/test/library-tests/variables/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/library-tests/variables/CONSISTENCY/DataFlowConsistency.expected index 6aca28af476f..bb4e17c24372 100644 --- a/rust/ql/test/library-tests/variables/CONSISTENCY/DataFlowConsistency.expected +++ b/rust/ql/test/library-tests/variables/CONSISTENCY/DataFlowConsistency.expected @@ -1,18 +1,3 @@ -uniqueEnclosingCallable -| variables.rs:3:14:3:20 | Param | Node should have one enclosing callable but has 0. | -| variables.rs:7:14:7:19 | Param | Node should have one enclosing callable but has 0. | -| variables.rs:11:18:11:24 | Param | Node should have one enclosing callable but has 0. | -| variables.rs:261:5:261:12 | Param | Node should have one enclosing callable but has 0. | -| variables.rs:262:5:265:19 | Param | Node should have one enclosing callable but has 0. | -| variables.rs:272:5:272:50 | Param | Node should have one enclosing callable but has 0. | -| variables.rs:316:10:316:15 | Param | Node should have one enclosing callable but has 0. | -| variables.rs:324:10:324:15 | Param | Node should have one enclosing callable but has 0. | -| variables.rs:356:17:356:28 | Param | Node should have one enclosing callable but has 0. | -| variables.rs:363:22:363:36 | Param | Node should have one enclosing callable but has 0. | -| variables.rs:363:39:363:57 | Param | Node should have one enclosing callable but has 0. | -| variables.rs:435:8:435:15 | Param | Node should have one enclosing callable but has 0. | -| variables.rs:451:13:451:21 | Param | Node should have one enclosing callable but has 0. | -| variables.rs:451:24:451:32 | Param | Node should have one enclosing callable but has 0. | uniqueCallEnclosingCallable | variables.rs:4:14:4:20 | CallExpr | Call should have one enclosing callable but has 0. | | variables.rs:8:14:8:20 | CallExpr | Call should have one enclosing callable but has 0. | diff --git a/rust/ql/test/query-tests/unusedentities/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/query-tests/unusedentities/CONSISTENCY/DataFlowConsistency.expected index 4393f69ac8de..e3c476b9f73a 100644 --- a/rust/ql/test/query-tests/unusedentities/CONSISTENCY/DataFlowConsistency.expected +++ b/rust/ql/test/query-tests/unusedentities/CONSISTENCY/DataFlowConsistency.expected @@ -1,29 +1,9 @@ uniqueEnclosingCallable -| main.rs:140:5:140:10 | Param | Node should have one enclosing callable but has 0. | -| main.rs:141:5:141:10 | Param | Node should have one enclosing callable but has 0. | -| main.rs:142:5:142:11 | Param | Node should have one enclosing callable but has 0. | -| main.rs:149:7:149:12 | Param | Node should have one enclosing callable but has 0. | | main.rs:382:19:382:21 | Param | Node should have one enclosing callable but has 0. | -| main.rs:384:14:384:19 | Param | Node should have one enclosing callable but has 0. | -| main.rs:411:21:411:28 | Param | Node should have one enclosing callable but has 0. | -| main.rs:411:31:411:38 | Param | Node should have one enclosing callable but has 0. | -| main.rs:414:21:414:23 | Param | Node should have one enclosing callable but has 0. | -| main.rs:414:26:414:28 | Param | Node should have one enclosing callable but has 0. | -| main.rs:417:21:417:23 | Param | Node should have one enclosing callable but has 0. | -| main.rs:417:26:417:28 | Param | Node should have one enclosing callable but has 0. | -| main.rs:420:21:420:23 | Param | Node should have one enclosing callable but has 0. | -| main.rs:420:26:420:28 | Param | Node should have one enclosing callable but has 0. | -| main.rs:424:21:424:23 | Param | Node should have one enclosing callable but has 0. | -| main.rs:424:26:424:28 | Param | Node should have one enclosing callable but has 0. | | main.rs:430:29:430:38 | Param | Node should have one enclosing callable but has 0. | | main.rs:430:41:430:56 | Param | Node should have one enclosing callable but has 0. | -| main.rs:440:9:440:18 | Param | Node should have one enclosing callable but has 0. | -| main.rs:441:9:441:24 | Param | Node should have one enclosing callable but has 0. | | more.rs:4:23:4:28 | Param | Node should have one enclosing callable but has 0. | | more.rs:8:19:8:24 | Param | Node should have one enclosing callable but has 0. | -| more.rs:16:23:16:28 | Param | Node should have one enclosing callable but has 0. | -| more.rs:24:9:24:14 | Param | Node should have one enclosing callable but has 0. | -| unreachable.rs:10:34:10:34 | Param | Node should have one enclosing callable but has 0. | uniqueCallEnclosingCallable | main.rs:11:13:11:29 | CallExpr | Call should have one enclosing callable but has 0. | | main.rs:12:13:12:29 | CallExpr | Call should have one enclosing callable but has 0. | @@ -112,17 +92,13 @@ uniqueCallEnclosingCallable | unreachable.rs:2:5:2:18 | CallExpr | Call should have one enclosing callable but has 0. | | unreachable.rs:6:5:6:24 | CallExpr | Call should have one enclosing callable but has 0. | | unreachable.rs:10:5:10:20 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:19:9:19:22 | CallExpr | Call should have one enclosing callable but has 0. | | unreachable.rs:21:9:21:22 | CallExpr | Call should have one enclosing callable but has 0. | | unreachable.rs:25:9:25:22 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:27:9:27:22 | CallExpr | Call should have one enclosing callable but has 0. | | unreachable.rs:30:13:30:26 | CallExpr | Call should have one enclosing callable but has 0. | | unreachable.rs:33:13:33:26 | CallExpr | Call should have one enclosing callable but has 0. | | unreachable.rs:37:8:37:13 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:39:9:39:22 | CallExpr | Call should have one enclosing callable but has 0. | | unreachable.rs:42:8:42:13 | CallExpr | Call should have one enclosing callable but has 0. | | unreachable.rs:43:9:43:22 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:46:9:46:22 | CallExpr | Call should have one enclosing callable but has 0. | | unreachable.rs:48:5:48:18 | CallExpr | Call should have one enclosing callable but has 0. | | unreachable.rs:50:8:50:13 | CallExpr | Call should have one enclosing callable but has 0. | | unreachable.rs:51:17:51:22 | CallExpr | Call should have one enclosing callable but has 0. | @@ -130,7 +106,6 @@ uniqueCallEnclosingCallable | unreachable.rs:56:17:56:30 | CallExpr | Call should have one enclosing callable but has 0. | | unreachable.rs:58:13:58:26 | CallExpr | Call should have one enclosing callable but has 0. | | unreachable.rs:62:8:62:13 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:67:5:67:18 | CallExpr | Call should have one enclosing callable but has 0. | | unreachable.rs:71:8:71:13 | CallExpr | Call should have one enclosing callable but has 0. | | unreachable.rs:72:9:72:22 | CallExpr | Call should have one enclosing callable but has 0. | | unreachable.rs:73:16:73:25 | CallExpr | Call should have one enclosing callable but has 0. | @@ -157,7 +132,6 @@ uniqueCallEnclosingCallable | unreachable.rs:111:8:111:13 | CallExpr | Call should have one enclosing callable but has 0. | | unreachable.rs:112:9:112:22 | CallExpr | Call should have one enclosing callable but has 0. | | unreachable.rs:114:13:114:20 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:114:13:114:20 | CallExpr | Call should have one enclosing callable but has 0. | | unreachable.rs:115:9:115:22 | CallExpr | Call should have one enclosing callable but has 0. | | unreachable.rs:116:22:116:29 | CallExpr | Call should have one enclosing callable but has 0. | | unreachable.rs:116:22:116:29 | CallExpr | Call should have one enclosing callable but has 0. | @@ -165,7 +139,6 @@ uniqueCallEnclosingCallable | unreachable.rs:120:8:120:13 | CallExpr | Call should have one enclosing callable but has 0. | | unreachable.rs:121:9:121:22 | CallExpr | Call should have one enclosing callable but has 0. | | unreachable.rs:123:13:123:20 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:123:13:123:20 | CallExpr | Call should have one enclosing callable but has 0. | | unreachable.rs:124:9:124:22 | CallExpr | Call should have one enclosing callable but has 0. | | unreachable.rs:125:21:125:28 | CallExpr | Call should have one enclosing callable but has 0. | | unreachable.rs:125:21:125:28 | CallExpr | Call should have one enclosing callable but has 0. | @@ -174,36 +147,24 @@ uniqueCallEnclosingCallable | unreachable.rs:136:13:136:26 | CallExpr | Call should have one enclosing callable but has 0. | | unreachable.rs:139:5:139:18 | CallExpr | Call should have one enclosing callable but has 0. | | unreachable.rs:141:11:141:24 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:149:5:149:18 | CallExpr | Call should have one enclosing callable but has 0. | | unreachable.rs:154:9:154:22 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:156:9:156:22 | CallExpr | Call should have one enclosing callable but has 0. | | unreachable.rs:159:8:159:13 | CallExpr | Call should have one enclosing callable but has 0. | | unreachable.rs:160:15:160:20 | CallExpr | Call should have one enclosing callable but has 0. | | unreachable.rs:161:13:161:26 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:165:13:165:26 | CallExpr | Call should have one enclosing callable but has 0. | | unreachable.rs:169:13:169:26 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:171:9:171:22 | CallExpr | Call should have one enclosing callable but has 0. | | unreachable.rs:175:12:175:17 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:177:13:177:26 | CallExpr | Call should have one enclosing callable but has 0. | | unreachable.rs:179:9:179:22 | CallExpr | Call should have one enclosing callable but has 0. | | unreachable.rs:183:12:183:17 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:185:13:185:26 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:188:5:188:18 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:189:5:189:18 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:190:5:190:18 | CallExpr | Call should have one enclosing callable but has 0. | | unreachable.rs:198:22:198:41 | CallExpr | Call should have one enclosing callable but has 0. | | unreachable.rs:199:9:199:22 | CallExpr | Call should have one enclosing callable but has 0. | | unreachable.rs:202:9:202:22 | CallExpr | Call should have one enclosing callable but has 0. | | unreachable.rs:205:5:205:18 | CallExpr | Call should have one enclosing callable but has 0. | | unreachable.rs:207:16:207:29 | CallExpr | Call should have one enclosing callable but has 0. | | unreachable.rs:209:9:209:22 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:212:9:212:22 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:215:5:215:18 | CallExpr | Call should have one enclosing callable but has 0. | | unreachable.rs:219:19:219:38 | CallExpr | Call should have one enclosing callable but has 0. | | unreachable.rs:220:9:220:22 | CallExpr | Call should have one enclosing callable but has 0. | | unreachable.rs:224:5:224:18 | CallExpr | Call should have one enclosing callable but has 0. | | unreachable.rs:226:13:226:32 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:228:9:228:22 | CallExpr | Call should have one enclosing callable but has 0. | | unreachable.rs:232:5:232:18 | CallExpr | Call should have one enclosing callable but has 0. | | unreachable.rs:236:8:236:13 | CallExpr | Call should have one enclosing callable but has 0. | | unreachable.rs:237:9:237:22 | CallExpr | Call should have one enclosing callable but has 0. | From a8b1cb3243023b0e98192ffd51ac2c24b934bace Mon Sep 17 00:00:00 2001 From: Geoffrey White <40627776+geoffw0@users.noreply.github.com> Date: Wed, 6 Nov 2024 17:23:01 +0000 Subject: [PATCH 031/347] Rust: Make it so that all of the test functions may return. --- .../unusedentities/UnreachableCode.expected | 20 +++++----- .../test/query-tests/unusedentities/main.rs | 4 +- .../query-tests/unusedentities/unreachable.rs | 38 +++++++++++-------- 3 files changed, 34 insertions(+), 28 deletions(-) diff --git a/rust/ql/test/query-tests/unusedentities/UnreachableCode.expected b/rust/ql/test/query-tests/unusedentities/UnreachableCode.expected index 5d7a60042230..4df2f048e510 100644 --- a/rust/ql/test/query-tests/unusedentities/UnreachableCode.expected +++ b/rust/ql/test/query-tests/unusedentities/UnreachableCode.expected @@ -3,14 +3,14 @@ | unreachable.rs:39:9:39:23 | ExprStmt | This code is never reached. | | unreachable.rs:46:9:46:23 | ExprStmt | This code is never reached. | | unreachable.rs:67:5:67:19 | ExprStmt | This code is never reached. | -| unreachable.rs:114:13:114:20 | MacroExpr | This code is never reached. | -| unreachable.rs:123:13:123:20 | MacroExpr | This code is never reached. | -| unreachable.rs:149:5:149:19 | ExprStmt | This code is never reached. | -| unreachable.rs:156:9:156:23 | ExprStmt | This code is never reached. | -| unreachable.rs:165:13:165:27 | ExprStmt | This code is never reached. | -| unreachable.rs:171:9:171:23 | ExprStmt | This code is never reached. | +| unreachable.rs:134:13:134:20 | MacroExpr | This code is never reached. | +| unreachable.rs:143:13:143:20 | MacroExpr | This code is never reached. | +| unreachable.rs:169:5:169:19 | ExprStmt | This code is never reached. | | unreachable.rs:177:13:177:27 | ExprStmt | This code is never reached. | -| unreachable.rs:185:13:185:27 | ExprStmt | This code is never reached. | -| unreachable.rs:188:5:188:19 | ExprStmt | This code is never reached. | -| unreachable.rs:212:9:212:23 | ExprStmt | This code is never reached. | -| unreachable.rs:228:9:228:23 | ExprStmt | This code is never reached. | +| unreachable.rs:187:13:187:27 | ExprStmt | This code is never reached. | +| unreachable.rs:193:9:193:23 | ExprStmt | This code is never reached. | +| unreachable.rs:200:17:200:31 | ExprStmt | This code is never reached. | +| unreachable.rs:210:17:210:31 | ExprStmt | This code is never reached. | +| unreachable.rs:213:9:213:23 | ExprStmt | This code is never reached. | +| unreachable.rs:238:9:238:23 | ExprStmt | This code is never reached. | +| unreachable.rs:254:9:254:23 | ExprStmt | This code is never reached. | diff --git a/rust/ql/test/query-tests/unusedentities/main.rs b/rust/ql/test/query-tests/unusedentities/main.rs index 2c0df88f9f43..682e7fd26755 100644 --- a/rust/ql/test/query-tests/unusedentities/main.rs +++ b/rust/ql/test/query-tests/unusedentities/main.rs @@ -483,9 +483,9 @@ fn main() { unreachable_if_1(); unreachable_if_2(); unreachable_if_3(); - // unreachable_panic(); + unreachable_panic(); unreachable_match(); - // unreachable_loop(); + unreachable_loop(); unreachable_paren(); unreachable_let_1(); unreachable_let_2(); diff --git a/rust/ql/test/query-tests/unusedentities/unreachable.rs b/rust/ql/test/query-tests/unusedentities/unreachable.rs index 6d163d82cfd3..3eac027b61cd 100644 --- a/rust/ql/test/query-tests/unusedentities/unreachable.rs +++ b/rust/ql/test/query-tests/unusedentities/unreachable.rs @@ -170,10 +170,12 @@ pub fn unreachable_match() { } pub fn unreachable_loop() { - loop { - do_something(); - break; - do_something(); // $ Alert[rust/dead-code] + if cond() { + loop { + do_something(); + break; + do_something(); // $ Alert[rust/dead-code] + } } if cond() { @@ -191,23 +193,27 @@ pub fn unreachable_loop() { do_something(); // $ Alert[rust/dead-code] } - for _ in 1..10 { - if cond() { - continue; - do_something(); // $ Alert[rust/dead-code] + if cond() { + for _ in 1..10 { + if cond() { + continue; + do_something(); // $ Alert[rust/dead-code] + } + do_something(); } - do_something(); } - loop { - if cond() { - return; - do_something(); // $ Alert[rust/dead-code] + if cond() { + loop { + if cond() { + return; + do_something(); // $ Alert[rust/dead-code] + } } + do_something(); // $ Alert[rust/dead-code] + do_something(); + do_something(); } - do_something(); // $ Alert[rust/dead-code] - do_something(); - do_something(); } pub fn unreachable_paren() { From fbfdd573839680c01fbe22425a1ca5851c84ccee Mon Sep 17 00:00:00 2001 From: Geoffrey White <40627776+geoffw0@users.noreply.github.com> Date: Mon, 4 Nov 2024 15:58:10 +0000 Subject: [PATCH 032/347] Rust: Additional test cases for rust/dead-code. --- .../unusedentities/UnreachableCode.expected | 25 +-- .../unusedentities/UnusedValue.expected | 2 + .../test/query-tests/unusedentities/main.rs | 3 + .../query-tests/unusedentities/unreachable.rs | 152 ++++++++++++++++-- 4 files changed, 159 insertions(+), 23 deletions(-) diff --git a/rust/ql/test/query-tests/unusedentities/UnreachableCode.expected b/rust/ql/test/query-tests/unusedentities/UnreachableCode.expected index 4df2f048e510..77c923e92808 100644 --- a/rust/ql/test/query-tests/unusedentities/UnreachableCode.expected +++ b/rust/ql/test/query-tests/unusedentities/UnreachableCode.expected @@ -5,12 +5,19 @@ | unreachable.rs:67:5:67:19 | ExprStmt | This code is never reached. | | unreachable.rs:134:13:134:20 | MacroExpr | This code is never reached. | | unreachable.rs:143:13:143:20 | MacroExpr | This code is never reached. | -| unreachable.rs:169:5:169:19 | ExprStmt | This code is never reached. | -| unreachable.rs:177:13:177:27 | ExprStmt | This code is never reached. | -| unreachable.rs:187:13:187:27 | ExprStmt | This code is never reached. | -| unreachable.rs:193:9:193:23 | ExprStmt | This code is never reached. | -| unreachable.rs:200:17:200:31 | ExprStmt | This code is never reached. | -| unreachable.rs:210:17:210:31 | ExprStmt | This code is never reached. | -| unreachable.rs:213:9:213:23 | ExprStmt | This code is never reached. | -| unreachable.rs:238:9:238:23 | ExprStmt | This code is never reached. | -| unreachable.rs:254:9:254:23 | ExprStmt | This code is never reached. | +| unreachable.rs:166:9:166:23 | ExprStmt | This code is never reached. | +| unreachable.rs:171:9:171:17 | MacroExpr | This code is never reached. | +| unreachable.rs:177:9:177:26 | MacroExpr | This code is never reached. | +| unreachable.rs:206:9:206:23 | ExprStmt | This code is never reached. | +| unreachable.rs:231:13:231:27 | ExprStmt | This code is never reached. | +| unreachable.rs:241:13:241:27 | ExprStmt | This code is never reached. | +| unreachable.rs:247:9:247:23 | ExprStmt | This code is never reached. | +| unreachable.rs:254:17:254:31 | ExprStmt | This code is never reached. | +| unreachable.rs:264:17:264:31 | ExprStmt | This code is never reached. | +| unreachable.rs:267:9:267:23 | ExprStmt | This code is never reached. | +| unreachable.rs:303:9:303:23 | ExprStmt | This code is never reached. | +| unreachable.rs:332:9:332:23 | ExprStmt | This code is never reached. | +| unreachable.rs:348:9:348:23 | ExprStmt | This code is never reached. | +| unreachable.rs:370:9:370:23 | ExprStmt | This code is never reached. | +| unreachable.rs:375:5:375:10 | ExprStmt | This code is never reached. | +| unreachable.rs:382:5:382:10 | ExprStmt | This code is never reached. | diff --git a/rust/ql/test/query-tests/unusedentities/UnusedValue.expected b/rust/ql/test/query-tests/unusedentities/UnusedValue.expected index 5b438d4c0de9..ff15b5056cb8 100644 --- a/rust/ql/test/query-tests/unusedentities/UnusedValue.expected +++ b/rust/ql/test/query-tests/unusedentities/UnusedValue.expected @@ -18,3 +18,5 @@ | more.rs:44:9:44:14 | a_ptr4 | Variable $@ is assigned a value that is never used. | more.rs:44:9:44:14 | a_ptr4 | a_ptr4 | | more.rs:59:9:59:13 | d_ptr | Variable $@ is assigned a value that is never used. | more.rs:59:9:59:13 | d_ptr | d_ptr | | more.rs:65:9:65:17 | f_ptr | Variable $@ is assigned a value that is never used. | more.rs:65:13:65:17 | f_ptr | f_ptr | +| unreachable.rs:292:9:292:15 | for_ten | Variable $@ is assigned a value that is never used. | unreachable.rs:292:9:292:15 | for_ten | for_ten | +| unreachable.rs:299:9:299:16 | for_ever | Variable $@ is assigned a value that is never used. | unreachable.rs:299:9:299:16 | for_ever | for_ever | diff --git a/rust/ql/test/query-tests/unusedentities/main.rs b/rust/ql/test/query-tests/unusedentities/main.rs index 682e7fd26755..2ee14bbd32b3 100644 --- a/rust/ql/test/query-tests/unusedentities/main.rs +++ b/rust/ql/test/query-tests/unusedentities/main.rs @@ -484,11 +484,14 @@ fn main() { unreachable_if_2(); unreachable_if_3(); unreachable_panic(); + _ = unreachable_bail(); unreachable_match(); unreachable_loop(); + unreachable_loop_async(); unreachable_paren(); unreachable_let_1(); unreachable_let_2(); + unreachable_attributes(); macros(); } diff --git a/rust/ql/test/query-tests/unusedentities/unreachable.rs b/rust/ql/test/query-tests/unusedentities/unreachable.rs index 3eac027b61cd..5f26863b6257 100644 --- a/rust/ql/test/query-tests/unusedentities/unreachable.rs +++ b/rust/ql/test/query-tests/unusedentities/unreachable.rs @@ -147,26 +147,80 @@ pub fn unreachable_panic() { } } -pub fn unreachable_match() { - match get_a_number() { - 1 => { - return; - } - _ => { - do_something(); - } +macro_rules! bail_1 { + () => { + return Err(String::from("message")) + }; +} + +macro_rules! bail_2 { + ($message:literal) => { + return Err(String::from($message)) + }; +} + +pub fn unreachable_bail() -> Result { + if cond() { + do_something(); + return Err(String::from("message")); + do_something(); // $ Alert[rust/dead-code] + } + + if cond() { + do_something(); + bail_1!(); // $ SPURIOUS: Alert[rust/dead-code] + do_something(); // $ MISSING: Alert[rust/dead-code] + } + + if cond() { + do_something(); + bail_2!("message"); // $ SPURIOUS: Alert[rust/dead-code] } do_something(); - match get_a_number() { - 1 => { - return; + Ok(1) +} + +pub fn unreachable_match() { + if cond() { + match get_a_number() { + 1 => { + return; + } + _ => { + do_something(); + } } - _ => { - return; + do_something(); + } + + if cond() { + match get_a_number() { + 1 => { + return; + } + _ => { + return; + } } + do_something(); // $ Alert[rust/dead-code] + } + + if cond() { + _ = match get_a_number() { + 1 => "One", + _ => "Some" + }; + do_something(); + } + + if cond() { + _ = Some(match get_a_number() { + 1 => "One", + _ => "Some" + }); + do_something(); } - do_something(); // $ Alert[rust/dead-code] } pub fn unreachable_loop() { @@ -214,6 +268,46 @@ pub fn unreachable_loop() { do_something(); do_something(); } + + if cond() { + fn do_nothing() { }; + fn loop_forever() { loop {} }; + fn take_a_fn(_: fn() -> ()) { + }; + fn call_a_fn(f: fn() -> ()) { + f(); + }; + + take_a_fn( do_nothing ); + call_a_fn( do_nothing ); + take_a_fn( loop_forever ); + call_a_fn( loop_forever ); + do_something(); // $ MISSING: Alert[rust/dead-code] + } +} + +async fn do_something_async() {} + +pub async fn unreachable_loop_async() { + let for_ten = async { // $ SPURIOUS: Alert[rust/unused-value] + for _ in 1..10 { + do_something_async().await; + } + do_something(); + }; + + let for_ever = async { // $ SPURIOUS: Alert[rust/unused-value] + loop { + do_something_async().await; + } + do_something(); // $ Alert[rust/dead-code] + }; + + do_something(); + for_ten.await; + do_something(); + for_ever.await; + do_something(); // $ MISSING: Alert[rust/dead-code] } pub fn unreachable_paren() { @@ -257,3 +351,33 @@ pub fn unreachable_let_2() { do_something(); } + +#[cfg(not(foo))] +pub fn unreachable_attributes() { + // `#[cfg` and `cfg!` checks can go either way, we should not assume this + // function or either branch below is unreachable. + if cfg!(bar) { + do_something(); + } else { + do_something(); + } + + #[doc="This is a doc comment declared through an attribute."] + + if (true) { + do_something(); + } else { + do_something(); // $ Alert[rust/dead-code] + } +} + +const _: () = { + _ = 1; // $ SPURIOUS: Alert[rust/dead-code] +}; + +const _: () = { + const fn foo() { + _ = 1; + }; + foo(); // $ SPURIOUS: Alert[rust/dead-code] +}; From 18ce8be3024bfb79cea8571a1446d4401a20f20f Mon Sep 17 00:00:00 2001 From: Geoffrey White <40627776+geoffw0@users.noreply.github.com> Date: Wed, 6 Nov 2024 19:00:10 +0000 Subject: [PATCH 033/347] Update rust/ql/lib/codeql/rust/elements/internal/VariableImpl.qll Co-authored-by: Simon Friis Vindum --- rust/ql/lib/codeql/rust/elements/internal/VariableImpl.qll | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rust/ql/lib/codeql/rust/elements/internal/VariableImpl.qll b/rust/ql/lib/codeql/rust/elements/internal/VariableImpl.qll index d6fa101f40b3..10f079a4c5d6 100644 --- a/rust/ql/lib/codeql/rust/elements/internal/VariableImpl.qll +++ b/rust/ql/lib/codeql/rust/elements/internal/VariableImpl.qll @@ -88,7 +88,7 @@ module Impl { // exclude parameters from functions without a body as these are trait method declarations // without implementations not exists(Function f | not f.hasBody() and f.getParamList().getAParam().getPat() = p) and - // exclude parameters from function pointers as well, which also lack a body + // exclude parameters from function pointer types (e.g. `x` in `fn(x: i32) -> i32`) not exists(FnPtrType fp | fp.getParamList().getParam(_).getPat() = p) } From 4106663d89b3710b713bcf7c35fa37b9187a4ab2 Mon Sep 17 00:00:00 2001 From: Napalys Date: Thu, 7 Nov 2024 09:43:44 +0100 Subject: [PATCH 034/347] Added tests for regex sanitization to identify false positives matchAll --- .../Security/CWE-918/SSRF.expected | 18 ++++++++++++++++++ .../Security/CWE-918/check-regex.js | 9 ++++++++- 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/javascript/ql/test/experimental/Security/CWE-918/SSRF.expected b/javascript/ql/test/experimental/Security/CWE-918/SSRF.expected index 848264b661b1..b947a535fd9f 100644 --- a/javascript/ql/test/experimental/Security/CWE-918/SSRF.expected +++ b/javascript/ql/test/experimental/Security/CWE-918/SSRF.expected @@ -51,6 +51,14 @@ nodes | check-regex.js:41:13:41:43 | "test.c ... tainted | | check-regex.js:41:27:41:43 | req.query.tainted | | check-regex.js:41:27:41:43 | req.query.tainted | +| check-regex.js:44:15:44:45 | "test.c ... tainted | +| check-regex.js:44:15:44:45 | "test.c ... tainted | +| check-regex.js:44:29:44:45 | req.query.tainted | +| check-regex.js:44:29:44:45 | req.query.tainted | +| check-regex.js:47:15:47:45 | "test.c ... tainted | +| check-regex.js:47:15:47:45 | "test.c ... tainted | +| check-regex.js:47:29:47:45 | req.query.tainted | +| check-regex.js:47:29:47:45 | req.query.tainted | | check-validator.js:15:15:15:45 | "test.c ... tainted | | check-validator.js:15:15:15:45 | "test.c ... tainted | | check-validator.js:15:29:15:45 | req.query.tainted | @@ -127,6 +135,14 @@ edges | check-regex.js:41:27:41:43 | req.query.tainted | check-regex.js:41:13:41:43 | "test.c ... tainted | | check-regex.js:41:27:41:43 | req.query.tainted | check-regex.js:41:13:41:43 | "test.c ... tainted | | check-regex.js:41:27:41:43 | req.query.tainted | check-regex.js:41:13:41:43 | "test.c ... tainted | +| check-regex.js:44:29:44:45 | req.query.tainted | check-regex.js:44:15:44:45 | "test.c ... tainted | +| check-regex.js:44:29:44:45 | req.query.tainted | check-regex.js:44:15:44:45 | "test.c ... tainted | +| check-regex.js:44:29:44:45 | req.query.tainted | check-regex.js:44:15:44:45 | "test.c ... tainted | +| check-regex.js:44:29:44:45 | req.query.tainted | check-regex.js:44:15:44:45 | "test.c ... tainted | +| check-regex.js:47:29:47:45 | req.query.tainted | check-regex.js:47:15:47:45 | "test.c ... tainted | +| check-regex.js:47:29:47:45 | req.query.tainted | check-regex.js:47:15:47:45 | "test.c ... tainted | +| check-regex.js:47:29:47:45 | req.query.tainted | check-regex.js:47:15:47:45 | "test.c ... tainted | +| check-regex.js:47:29:47:45 | req.query.tainted | check-regex.js:47:15:47:45 | "test.c ... tainted | | check-validator.js:15:29:15:45 | req.query.tainted | check-validator.js:15:15:15:45 | "test.c ... tainted | | check-validator.js:15:29:15:45 | req.query.tainted | check-validator.js:15:15:15:45 | "test.c ... tainted | | check-validator.js:15:29:15:45 | req.query.tainted | check-validator.js:15:15:15:45 | "test.c ... tainted | @@ -166,6 +182,8 @@ edges | check-regex.js:31:15:31:45 | "test.c ... tainted | check-regex.js:31:29:31:45 | req.query.tainted | check-regex.js:31:15:31:45 | "test.c ... tainted | The URL of this request depends on a user-provided value. | | check-regex.js:34:15:34:42 | baseURL ... tainted | check-regex.js:34:25:34:42 | req.params.tainted | check-regex.js:34:15:34:42 | baseURL ... tainted | The URL of this request depends on a user-provided value. | | check-regex.js:41:13:41:43 | "test.c ... tainted | check-regex.js:41:27:41:43 | req.query.tainted | check-regex.js:41:13:41:43 | "test.c ... tainted | The URL of this request depends on a user-provided value. | +| check-regex.js:44:15:44:45 | "test.c ... tainted | check-regex.js:44:29:44:45 | req.query.tainted | check-regex.js:44:15:44:45 | "test.c ... tainted | The URL of this request depends on a user-provided value. | +| check-regex.js:47:15:47:45 | "test.c ... tainted | check-regex.js:47:29:47:45 | req.query.tainted | check-regex.js:47:15:47:45 | "test.c ... tainted | The URL of this request depends on a user-provided value. | | check-validator.js:15:15:15:45 | "test.c ... tainted | check-validator.js:15:29:15:45 | req.query.tainted | check-validator.js:15:15:15:45 | "test.c ... tainted | The URL of this request depends on a user-provided value. | | check-validator.js:27:15:27:45 | "test.c ... tainted | check-validator.js:27:29:27:45 | req.query.tainted | check-validator.js:27:15:27:45 | "test.c ... tainted | The URL of this request depends on a user-provided value. | | check-validator.js:50:15:50:45 | "test.c ... tainted | check-validator.js:50:29:50:45 | req.query.tainted | check-validator.js:50:15:50:45 | "test.c ... tainted | The URL of this request depends on a user-provided value. | diff --git a/javascript/ql/test/experimental/Security/CWE-918/check-regex.js b/javascript/ql/test/experimental/Security/CWE-918/check-regex.js index a05c1ae7ddfa..323a9a2c8db4 100644 --- a/javascript/ql/test/experimental/Security/CWE-918/check-regex.js +++ b/javascript/ql/test/experimental/Security/CWE-918/check-regex.js @@ -25,7 +25,7 @@ app.get('/check-with-axios', req => { } else { axios.get(baseURL + req.params.tainted); // OK } - + // Blacklists are not safe if (!req.query.tainted.match(/^[/\.%]+$/)) { axios.get("test.com/" + req.query.tainted); // SSRF @@ -39,6 +39,13 @@ app.get('/check-with-axios', req => { } axios.get("test.com/" + req.query.tainted); // OK - False Positive + + if (req.query.tainted.matchAll(/^[0-9a-z]+$/g)) { // letters and numbers + axios.get("test.com/" + req.query.tainted); // OK + } + if (req.query.tainted.matchAll(/^[0-9a-z\-_]+$/g)) { // letters, numbers, - and _ + axios.get("test.com/" + req.query.tainted); // OK + } }); const isValidPath = path => path.match(/^[0-9a-z]+$/); From 449cee91c86da4d9806331aa561e0be9e7ef7616 Mon Sep 17 00:00:00 2001 From: Napalys Date: Thu, 7 Nov 2024 10:03:54 +0100 Subject: [PATCH 035/347] Fixes false positives from commit 445552d3b53ec9592e8e3892cb337d1004b6a432 --- .../semmle/javascript/MembershipCandidates.qll | 2 +- .../Security/CWE-918/SSRF.expected | 18 ------------------ 2 files changed, 1 insertion(+), 19 deletions(-) diff --git a/javascript/ql/lib/semmle/javascript/MembershipCandidates.qll b/javascript/ql/lib/semmle/javascript/MembershipCandidates.qll index 21f4cc1b1c5c..da9e90744ef0 100644 --- a/javascript/ql/lib/semmle/javascript/MembershipCandidates.qll +++ b/javascript/ql/lib/semmle/javascript/MembershipCandidates.qll @@ -193,7 +193,7 @@ module MembershipCandidate { or // u.match(/re/) or u.match("re") base = this and - m = "match" and + m = ["match", "matchAll"] and enumeration = RegExp::getRegExpFromNode(firstArg) ) } diff --git a/javascript/ql/test/experimental/Security/CWE-918/SSRF.expected b/javascript/ql/test/experimental/Security/CWE-918/SSRF.expected index b947a535fd9f..848264b661b1 100644 --- a/javascript/ql/test/experimental/Security/CWE-918/SSRF.expected +++ b/javascript/ql/test/experimental/Security/CWE-918/SSRF.expected @@ -51,14 +51,6 @@ nodes | check-regex.js:41:13:41:43 | "test.c ... tainted | | check-regex.js:41:27:41:43 | req.query.tainted | | check-regex.js:41:27:41:43 | req.query.tainted | -| check-regex.js:44:15:44:45 | "test.c ... tainted | -| check-regex.js:44:15:44:45 | "test.c ... tainted | -| check-regex.js:44:29:44:45 | req.query.tainted | -| check-regex.js:44:29:44:45 | req.query.tainted | -| check-regex.js:47:15:47:45 | "test.c ... tainted | -| check-regex.js:47:15:47:45 | "test.c ... tainted | -| check-regex.js:47:29:47:45 | req.query.tainted | -| check-regex.js:47:29:47:45 | req.query.tainted | | check-validator.js:15:15:15:45 | "test.c ... tainted | | check-validator.js:15:15:15:45 | "test.c ... tainted | | check-validator.js:15:29:15:45 | req.query.tainted | @@ -135,14 +127,6 @@ edges | check-regex.js:41:27:41:43 | req.query.tainted | check-regex.js:41:13:41:43 | "test.c ... tainted | | check-regex.js:41:27:41:43 | req.query.tainted | check-regex.js:41:13:41:43 | "test.c ... tainted | | check-regex.js:41:27:41:43 | req.query.tainted | check-regex.js:41:13:41:43 | "test.c ... tainted | -| check-regex.js:44:29:44:45 | req.query.tainted | check-regex.js:44:15:44:45 | "test.c ... tainted | -| check-regex.js:44:29:44:45 | req.query.tainted | check-regex.js:44:15:44:45 | "test.c ... tainted | -| check-regex.js:44:29:44:45 | req.query.tainted | check-regex.js:44:15:44:45 | "test.c ... tainted | -| check-regex.js:44:29:44:45 | req.query.tainted | check-regex.js:44:15:44:45 | "test.c ... tainted | -| check-regex.js:47:29:47:45 | req.query.tainted | check-regex.js:47:15:47:45 | "test.c ... tainted | -| check-regex.js:47:29:47:45 | req.query.tainted | check-regex.js:47:15:47:45 | "test.c ... tainted | -| check-regex.js:47:29:47:45 | req.query.tainted | check-regex.js:47:15:47:45 | "test.c ... tainted | -| check-regex.js:47:29:47:45 | req.query.tainted | check-regex.js:47:15:47:45 | "test.c ... tainted | | check-validator.js:15:29:15:45 | req.query.tainted | check-validator.js:15:15:15:45 | "test.c ... tainted | | check-validator.js:15:29:15:45 | req.query.tainted | check-validator.js:15:15:15:45 | "test.c ... tainted | | check-validator.js:15:29:15:45 | req.query.tainted | check-validator.js:15:15:15:45 | "test.c ... tainted | @@ -182,8 +166,6 @@ edges | check-regex.js:31:15:31:45 | "test.c ... tainted | check-regex.js:31:29:31:45 | req.query.tainted | check-regex.js:31:15:31:45 | "test.c ... tainted | The URL of this request depends on a user-provided value. | | check-regex.js:34:15:34:42 | baseURL ... tainted | check-regex.js:34:25:34:42 | req.params.tainted | check-regex.js:34:15:34:42 | baseURL ... tainted | The URL of this request depends on a user-provided value. | | check-regex.js:41:13:41:43 | "test.c ... tainted | check-regex.js:41:27:41:43 | req.query.tainted | check-regex.js:41:13:41:43 | "test.c ... tainted | The URL of this request depends on a user-provided value. | -| check-regex.js:44:15:44:45 | "test.c ... tainted | check-regex.js:44:29:44:45 | req.query.tainted | check-regex.js:44:15:44:45 | "test.c ... tainted | The URL of this request depends on a user-provided value. | -| check-regex.js:47:15:47:45 | "test.c ... tainted | check-regex.js:47:29:47:45 | req.query.tainted | check-regex.js:47:15:47:45 | "test.c ... tainted | The URL of this request depends on a user-provided value. | | check-validator.js:15:15:15:45 | "test.c ... tainted | check-validator.js:15:29:15:45 | req.query.tainted | check-validator.js:15:15:15:45 | "test.c ... tainted | The URL of this request depends on a user-provided value. | | check-validator.js:27:15:27:45 | "test.c ... tainted | check-validator.js:27:29:27:45 | req.query.tainted | check-validator.js:27:15:27:45 | "test.c ... tainted | The URL of this request depends on a user-provided value. | | check-validator.js:50:15:50:45 | "test.c ... tainted | check-validator.js:50:29:50:45 | req.query.tainted | check-validator.js:50:15:50:45 | "test.c ... tainted | The URL of this request depends on a user-provided value. | From df7bcfd11673eb4c31c37770c3af9f271a5c6799 Mon Sep 17 00:00:00 2001 From: Geoffrey White <40627776+geoffw0@users.noreply.github.com> Date: Thu, 7 Nov 2024 09:53:26 +0000 Subject: [PATCH 036/347] Rust: Accept dataflow consistency check changes. --- .../CONSISTENCY/DataFlowConsistency.expected | 241 ++++++++++-------- 1 file changed, 132 insertions(+), 109 deletions(-) diff --git a/rust/ql/test/query-tests/unusedentities/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/query-tests/unusedentities/CONSISTENCY/DataFlowConsistency.expected index 300f3fc863aa..27c29a9ae962 100644 --- a/rust/ql/test/query-tests/unusedentities/CONSISTENCY/DataFlowConsistency.expected +++ b/rust/ql/test/query-tests/unusedentities/CONSISTENCY/DataFlowConsistency.expected @@ -1,105 +1,121 @@ uniqueEnclosingCallable -| main.rs:140:5:140:10 | Param | Node should have one enclosing callable but has 0. | -| main.rs:141:5:141:10 | Param | Node should have one enclosing callable but has 0. | -| main.rs:142:5:142:11 | Param | Node should have one enclosing callable but has 0. | -| main.rs:149:7:149:12 | Param | Node should have one enclosing callable but has 0. | -| main.rs:382:19:382:21 | Param | Node should have one enclosing callable but has 0. | -| main.rs:384:14:384:19 | Param | Node should have one enclosing callable but has 0. | -| main.rs:411:21:411:28 | Param | Node should have one enclosing callable but has 0. | -| main.rs:411:31:411:38 | Param | Node should have one enclosing callable but has 0. | -| main.rs:414:21:414:23 | Param | Node should have one enclosing callable but has 0. | -| main.rs:414:26:414:28 | Param | Node should have one enclosing callable but has 0. | -| main.rs:417:21:417:23 | Param | Node should have one enclosing callable but has 0. | -| main.rs:417:26:417:28 | Param | Node should have one enclosing callable but has 0. | -| main.rs:420:21:420:23 | Param | Node should have one enclosing callable but has 0. | -| main.rs:420:26:420:28 | Param | Node should have one enclosing callable but has 0. | +| main.rs:142:5:142:10 | Param | Node should have one enclosing callable but has 0. | +| main.rs:143:5:143:10 | Param | Node should have one enclosing callable but has 0. | +| main.rs:144:5:144:11 | Param | Node should have one enclosing callable but has 0. | +| main.rs:151:7:151:12 | Param | Node should have one enclosing callable but has 0. | +| main.rs:205:32:205:32 | Param | Node should have one enclosing callable but has 0. | +| main.rs:392:19:392:21 | Param | Node should have one enclosing callable but has 0. | +| main.rs:394:14:394:19 | Param | Node should have one enclosing callable but has 0. | +| main.rs:421:21:421:28 | Param | Node should have one enclosing callable but has 0. | +| main.rs:421:31:421:38 | Param | Node should have one enclosing callable but has 0. | | main.rs:424:21:424:23 | Param | Node should have one enclosing callable but has 0. | | main.rs:424:26:424:28 | Param | Node should have one enclosing callable but has 0. | -| main.rs:430:29:430:38 | Param | Node should have one enclosing callable but has 0. | -| main.rs:430:41:430:56 | Param | Node should have one enclosing callable but has 0. | -| main.rs:440:9:440:18 | Param | Node should have one enclosing callable but has 0. | -| main.rs:441:9:441:24 | Param | Node should have one enclosing callable but has 0. | +| main.rs:427:21:427:23 | Param | Node should have one enclosing callable but has 0. | +| main.rs:427:26:427:28 | Param | Node should have one enclosing callable but has 0. | +| main.rs:430:21:430:23 | Param | Node should have one enclosing callable but has 0. | +| main.rs:430:26:430:28 | Param | Node should have one enclosing callable but has 0. | +| main.rs:434:21:434:23 | Param | Node should have one enclosing callable but has 0. | +| main.rs:434:26:434:28 | Param | Node should have one enclosing callable but has 0. | +| main.rs:440:29:440:38 | Param | Node should have one enclosing callable but has 0. | +| main.rs:440:41:440:56 | Param | Node should have one enclosing callable but has 0. | +| main.rs:450:9:450:18 | Param | Node should have one enclosing callable but has 0. | +| main.rs:451:9:451:24 | Param | Node should have one enclosing callable but has 0. | +| main.rs:493:16:493:18 | Param | Node should have one enclosing callable but has 0. | +| main.rs:494:16:494:21 | Param | Node should have one enclosing callable but has 0. | +| main.rs:495:16:496:25 | Param | Node should have one enclosing callable but has 0. | +| main.rs:496:12:496:17 | Param | Node should have one enclosing callable but has 0. | +| main.rs:499:18:499:23 | Param | Node should have one enclosing callable but has 0. | +| main.rs:502:24:502:29 | Param | Node should have one enclosing callable but has 0. | | more.rs:4:23:4:28 | Param | Node should have one enclosing callable but has 0. | | more.rs:8:19:8:24 | Param | Node should have one enclosing callable but has 0. | | more.rs:16:23:16:28 | Param | Node should have one enclosing callable but has 0. | | more.rs:24:9:24:14 | Param | Node should have one enclosing callable but has 0. | | unreachable.rs:10:34:10:34 | Param | Node should have one enclosing callable but has 0. | uniqueCallEnclosingCallable -| main.rs:11:13:11:29 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:12:13:12:29 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:16:14:16:24 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:18:8:18:13 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:19:18:19:28 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:22:14:22:24 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:23:5:23:19 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:23:5:23:19 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:41:14:41:24 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:45:8:45:13 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:50:14:50:24 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:53:8:53:13 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:58:14:58:24 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:62:14:62:24 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:67:12:67:17 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:68:12:68:17 | CallExpr | Call should have one enclosing callable but has 0. | +| main.rs:13:13:13:29 | CallExpr | Call should have one enclosing callable but has 0. | +| main.rs:14:13:14:29 | CallExpr | Call should have one enclosing callable but has 0. | +| main.rs:18:14:18:24 | CallExpr | Call should have one enclosing callable but has 0. | +| main.rs:20:8:20:13 | CallExpr | Call should have one enclosing callable but has 0. | +| main.rs:21:18:21:28 | CallExpr | Call should have one enclosing callable but has 0. | +| main.rs:24:14:24:24 | CallExpr | Call should have one enclosing callable but has 0. | +| main.rs:25:5:25:19 | CallExpr | Call should have one enclosing callable but has 0. | +| main.rs:25:5:25:19 | CallExpr | Call should have one enclosing callable but has 0. | +| main.rs:43:14:43:24 | CallExpr | Call should have one enclosing callable but has 0. | +| main.rs:47:8:47:13 | CallExpr | Call should have one enclosing callable but has 0. | +| main.rs:52:14:52:24 | CallExpr | Call should have one enclosing callable but has 0. | +| main.rs:55:8:55:13 | CallExpr | Call should have one enclosing callable but has 0. | +| main.rs:60:14:60:24 | CallExpr | Call should have one enclosing callable but has 0. | +| main.rs:64:14:64:24 | CallExpr | Call should have one enclosing callable but has 0. | | main.rs:69:12:69:17 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:70:14:70:24 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:96:14:96:45 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:99:14:99:38 | CallExpr | Call should have one enclosing callable but has 0. | +| main.rs:70:12:70:17 | CallExpr | Call should have one enclosing callable but has 0. | +| main.rs:71:12:71:17 | CallExpr | Call should have one enclosing callable but has 0. | +| main.rs:72:14:72:24 | CallExpr | Call should have one enclosing callable but has 0. | +| main.rs:98:14:98:45 | CallExpr | Call should have one enclosing callable but has 0. | | main.rs:101:14:101:38 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:114:14:114:32 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:117:18:117:33 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:174:18:174:29 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:178:18:178:31 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:182:18:182:37 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:187:22:187:33 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:192:18:192:27 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:196:21:196:30 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:196:21:196:30 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:200:18:200:38 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:204:9:204:24 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:204:9:204:24 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:208:9:208:24 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:213:9:213:32 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:213:20:213:24 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:213:27:213:31 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:240:22:240:29 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:243:22:243:29 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:247:20:247:27 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:254:21:254:28 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:260:13:260:20 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:267:13:267:20 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:275:13:275:28 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:282:13:282:30 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:289:31:289:37 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:337:21:337:51 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:338:5:338:39 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:340:58:340:92 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:340:61:340:91 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:343:22:343:59 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:346:22:346:29 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:396:13:396:24 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:400:13:400:22 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:460:9:464:10 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:471:5:471:14 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:472:5:472:14 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:473:5:473:13 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:474:5:474:12 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:475:5:475:13 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:476:14:476:54 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:476:36:476:54 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:477:5:477:11 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:478:5:478:21 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:479:5:479:15 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:480:5:480:15 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:481:5:481:24 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:483:5:483:22 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:485:5:485:23 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:487:5:487:23 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:488:5:488:23 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:489:5:489:23 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:490:5:490:22 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:491:5:491:22 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:493:5:493:12 | CallExpr | Call should have one enclosing callable but has 0. | +| main.rs:103:14:103:38 | CallExpr | Call should have one enclosing callable but has 0. | +| main.rs:116:14:116:32 | CallExpr | Call should have one enclosing callable but has 0. | +| main.rs:119:18:119:33 | CallExpr | Call should have one enclosing callable but has 0. | +| main.rs:176:18:176:29 | CallExpr | Call should have one enclosing callable but has 0. | +| main.rs:180:18:180:31 | CallExpr | Call should have one enclosing callable but has 0. | +| main.rs:184:18:184:37 | CallExpr | Call should have one enclosing callable but has 0. | +| main.rs:189:22:189:33 | CallExpr | Call should have one enclosing callable but has 0. | +| main.rs:194:18:194:27 | CallExpr | Call should have one enclosing callable but has 0. | +| main.rs:198:21:198:30 | CallExpr | Call should have one enclosing callable but has 0. | +| main.rs:198:21:198:30 | CallExpr | Call should have one enclosing callable but has 0. | +| main.rs:202:21:202:32 | CallExpr | Call should have one enclosing callable but has 0. | +| main.rs:202:21:202:32 | CallExpr | Call should have one enclosing callable but has 0. | +| main.rs:206:21:206:30 | CallExpr | Call should have one enclosing callable but has 0. | +| main.rs:206:21:206:30 | CallExpr | Call should have one enclosing callable but has 0. | +| main.rs:210:18:210:38 | CallExpr | Call should have one enclosing callable but has 0. | +| main.rs:214:9:214:24 | CallExpr | Call should have one enclosing callable but has 0. | +| main.rs:214:9:214:24 | CallExpr | Call should have one enclosing callable but has 0. | +| main.rs:218:9:218:24 | CallExpr | Call should have one enclosing callable but has 0. | +| main.rs:223:9:223:32 | CallExpr | Call should have one enclosing callable but has 0. | +| main.rs:223:20:223:24 | CallExpr | Call should have one enclosing callable but has 0. | +| main.rs:223:27:223:31 | CallExpr | Call should have one enclosing callable but has 0. | +| main.rs:250:22:250:29 | CallExpr | Call should have one enclosing callable but has 0. | +| main.rs:253:22:253:29 | CallExpr | Call should have one enclosing callable but has 0. | +| main.rs:257:20:257:27 | CallExpr | Call should have one enclosing callable but has 0. | +| main.rs:264:21:264:28 | CallExpr | Call should have one enclosing callable but has 0. | +| main.rs:270:13:270:20 | CallExpr | Call should have one enclosing callable but has 0. | +| main.rs:277:13:277:20 | CallExpr | Call should have one enclosing callable but has 0. | +| main.rs:285:13:285:28 | CallExpr | Call should have one enclosing callable but has 0. | +| main.rs:292:13:292:30 | CallExpr | Call should have one enclosing callable but has 0. | +| main.rs:299:31:299:37 | CallExpr | Call should have one enclosing callable but has 0. | +| main.rs:347:21:347:51 | CallExpr | Call should have one enclosing callable but has 0. | +| main.rs:348:5:348:39 | CallExpr | Call should have one enclosing callable but has 0. | +| main.rs:350:58:350:92 | CallExpr | Call should have one enclosing callable but has 0. | +| main.rs:350:61:350:91 | CallExpr | Call should have one enclosing callable but has 0. | +| main.rs:353:22:353:59 | CallExpr | Call should have one enclosing callable but has 0. | +| main.rs:356:22:356:29 | CallExpr | Call should have one enclosing callable but has 0. | +| main.rs:406:13:406:24 | CallExpr | Call should have one enclosing callable but has 0. | +| main.rs:410:13:410:22 | CallExpr | Call should have one enclosing callable but has 0. | +| main.rs:470:9:474:10 | CallExpr | Call should have one enclosing callable but has 0. | +| main.rs:487:5:487:21 | CallExpr | Call should have one enclosing callable but has 0. | +| main.rs:487:5:487:21 | CallExpr | Call should have one enclosing callable but has 0. | +| main.rs:508:5:508:14 | CallExpr | Call should have one enclosing callable but has 0. | +| main.rs:509:5:509:14 | CallExpr | Call should have one enclosing callable but has 0. | +| main.rs:510:5:510:13 | CallExpr | Call should have one enclosing callable but has 0. | +| main.rs:511:5:511:12 | CallExpr | Call should have one enclosing callable but has 0. | +| main.rs:512:5:512:13 | CallExpr | Call should have one enclosing callable but has 0. | +| main.rs:513:14:513:54 | CallExpr | Call should have one enclosing callable but has 0. | +| main.rs:513:36:513:54 | CallExpr | Call should have one enclosing callable but has 0. | +| main.rs:514:5:514:11 | CallExpr | Call should have one enclosing callable but has 0. | +| main.rs:515:5:515:21 | CallExpr | Call should have one enclosing callable but has 0. | +| main.rs:516:5:516:15 | CallExpr | Call should have one enclosing callable but has 0. | +| main.rs:517:5:517:15 | CallExpr | Call should have one enclosing callable but has 0. | +| main.rs:518:5:518:24 | CallExpr | Call should have one enclosing callable but has 0. | +| main.rs:519:5:519:12 | CallExpr | Call should have one enclosing callable but has 0. | +| main.rs:520:5:520:16 | CallExpr | Call should have one enclosing callable but has 0. | +| main.rs:522:5:522:14 | CallExpr | Call should have one enclosing callable but has 0. | +| main.rs:523:5:523:14 | CallExpr | Call should have one enclosing callable but has 0. | +| main.rs:525:5:525:22 | CallExpr | Call should have one enclosing callable but has 0. | +| main.rs:527:5:527:23 | CallExpr | Call should have one enclosing callable but has 0. | +| main.rs:529:5:529:23 | CallExpr | Call should have one enclosing callable but has 0. | +| main.rs:530:5:530:23 | CallExpr | Call should have one enclosing callable but has 0. | +| main.rs:531:5:531:23 | CallExpr | Call should have one enclosing callable but has 0. | +| main.rs:532:5:532:22 | CallExpr | Call should have one enclosing callable but has 0. | +| main.rs:533:5:533:22 | CallExpr | Call should have one enclosing callable but has 0. | | more.rs:45:14:45:26 | CallExpr | Call should have one enclosing callable but has 0. | | more.rs:46:14:46:25 | CallExpr | Call should have one enclosing callable but has 0. | | more.rs:47:14:47:26 | CallExpr | Call should have one enclosing callable but has 0. | @@ -213,26 +229,33 @@ uniqueCallEnclosingCallable | unreachable.rs:248:9:248:22 | CallExpr | Call should have one enclosing callable but has 0. | | unreachable.rs:252:5:252:18 | CallExpr | Call should have one enclosing callable but has 0. | uniqueType -| main.rs:140:5:140:10 | Param | Node should have one type but has 0. | -| main.rs:141:5:141:10 | Param | Node should have one type but has 0. | -| main.rs:142:5:142:11 | Param | Node should have one type but has 0. | -| main.rs:149:7:149:12 | Param | Node should have one type but has 0. | -| main.rs:382:19:382:21 | Param | Node should have one type but has 0. | -| main.rs:384:14:384:19 | Param | Node should have one type but has 0. | -| main.rs:411:21:411:28 | Param | Node should have one type but has 0. | -| main.rs:411:31:411:38 | Param | Node should have one type but has 0. | -| main.rs:414:21:414:23 | Param | Node should have one type but has 0. | -| main.rs:414:26:414:28 | Param | Node should have one type but has 0. | -| main.rs:417:21:417:23 | Param | Node should have one type but has 0. | -| main.rs:417:26:417:28 | Param | Node should have one type but has 0. | -| main.rs:420:21:420:23 | Param | Node should have one type but has 0. | -| main.rs:420:26:420:28 | Param | Node should have one type but has 0. | +| main.rs:142:5:142:10 | Param | Node should have one type but has 0. | +| main.rs:143:5:143:10 | Param | Node should have one type but has 0. | +| main.rs:144:5:144:11 | Param | Node should have one type but has 0. | +| main.rs:151:7:151:12 | Param | Node should have one type but has 0. | +| main.rs:205:32:205:32 | Param | Node should have one type but has 0. | +| main.rs:392:19:392:21 | Param | Node should have one type but has 0. | +| main.rs:394:14:394:19 | Param | Node should have one type but has 0. | +| main.rs:421:21:421:28 | Param | Node should have one type but has 0. | +| main.rs:421:31:421:38 | Param | Node should have one type but has 0. | | main.rs:424:21:424:23 | Param | Node should have one type but has 0. | | main.rs:424:26:424:28 | Param | Node should have one type but has 0. | -| main.rs:430:29:430:38 | Param | Node should have one type but has 0. | -| main.rs:430:41:430:56 | Param | Node should have one type but has 0. | -| main.rs:440:9:440:18 | Param | Node should have one type but has 0. | -| main.rs:441:9:441:24 | Param | Node should have one type but has 0. | +| main.rs:427:21:427:23 | Param | Node should have one type but has 0. | +| main.rs:427:26:427:28 | Param | Node should have one type but has 0. | +| main.rs:430:21:430:23 | Param | Node should have one type but has 0. | +| main.rs:430:26:430:28 | Param | Node should have one type but has 0. | +| main.rs:434:21:434:23 | Param | Node should have one type but has 0. | +| main.rs:434:26:434:28 | Param | Node should have one type but has 0. | +| main.rs:440:29:440:38 | Param | Node should have one type but has 0. | +| main.rs:440:41:440:56 | Param | Node should have one type but has 0. | +| main.rs:450:9:450:18 | Param | Node should have one type but has 0. | +| main.rs:451:9:451:24 | Param | Node should have one type but has 0. | +| main.rs:493:16:493:18 | Param | Node should have one type but has 0. | +| main.rs:494:16:494:21 | Param | Node should have one type but has 0. | +| main.rs:495:16:496:25 | Param | Node should have one type but has 0. | +| main.rs:496:12:496:17 | Param | Node should have one type but has 0. | +| main.rs:499:18:499:23 | Param | Node should have one type but has 0. | +| main.rs:502:24:502:29 | Param | Node should have one type but has 0. | | more.rs:4:23:4:28 | Param | Node should have one type but has 0. | | more.rs:8:19:8:24 | Param | Node should have one type but has 0. | | more.rs:16:23:16:28 | Param | Node should have one type but has 0. | From a60d9c2ca2d879976f3b4c788d781d84b97cf740 Mon Sep 17 00:00:00 2001 From: Michael Nebel Date: Fri, 25 Oct 2024 14:21:40 +0200 Subject: [PATCH 037/347] C#: Update .NET8 Runtime models to include generated models for higher order methods. --- .../lib/ext/generated/Internal.IL.model.yml | 1 + .../Internal.TypeSystem.Ecma.model.yml | 2 + .../generated/Internal.TypeSystem.model.yml | 1 + .../Microsoft.Diagnostics.JitTrace.model.yml | 2 + .../Microsoft.Diagnostics.Tools.Pgo.model.yml | 3 + ...soft.DotNet.PlatformAbstractions.model.yml | 6 +- ...rosoft.Extensions.Caching.Memory.model.yml | 8 + ...guration.Binder.SourceGeneration.model.yml | 3 + ...oft.Extensions.Configuration.Xml.model.yml | 4 +- ...crosoft.Extensions.Configuration.model.yml | 11 ++ ...s.DependencyInjection.Extensions.model.yml | 12 ++ ...ependencyInjection.Specification.model.yml | 13 ++ ...t.Extensions.DependencyInjection.model.yml | 90 +++++++++- ...lobbing.Internal.PatternContexts.model.yml | 3 + ...ions.FileSystemGlobbing.Internal.model.yml | 1 + ...ft.Extensions.FileSystemGlobbing.model.yml | 2 +- .../Microsoft.Extensions.Hosting.model.yml | 22 +++ .../Microsoft.Extensions.Http.model.yml | 1 + ....Extensions.Logging.Abstractions.model.yml | 1 + .../Microsoft.Extensions.Logging.model.yml | 29 ++++ .../Microsoft.Extensions.Options.model.yml | 109 ++++++++---- .../Microsoft.Extensions.Primitives.model.yml | 3 + .../Microsoft.Interop.Analyzers.model.yml | 10 +- .../ext/generated/Microsoft.Interop.model.yml | 44 +++-- ...icrosoft.WebAssembly.Build.Tasks.model.yml | 1 + .../ext/generated/Microsoft.Win32.model.yml | 28 +++ .../ext/generated/Mono.Linker.Steps.model.yml | 9 + .../ext/generated/System.CodeDom.model.yml | 16 ++ .../System.Collections.Concurrent.model.yml | 18 ++ .../System.Collections.Frozen.model.yml | 2 + .../System.Collections.Generic.model.yml | 21 ++- .../System.Collections.Immutable.model.yml | 118 +++++++++++-- .../System.Collections.ObjectModel.model.yml | 8 + .../System.Collections.Specialized.model.yml | 2 + .../generated/System.Collections.model.yml | 10 +- ...mponentModel.Composition.Hosting.model.yml | 34 ++++ ...nentModel.Composition.Primitives.model.yml | 9 +- ...odel.Composition.ReflectionModel.model.yml | 1 + ...ntModel.Composition.Registration.model.yml | 23 +++ ...ystem.ComponentModel.Composition.model.yml | 7 +- ...m.ComponentModel.DataAnnotations.model.yml | 10 +- ...ponentModel.Design.Serialization.model.yml | 4 + .../System.ComponentModel.Design.model.yml | 49 ++++++ .../generated/System.ComponentModel.model.yml | 36 +++- .../System.Composition.Convention.model.yml | 27 +++ .../System.Composition.Hosting.Core.model.yml | 18 +- .../generated/System.Composition.model.yml | 3 + .../System.Configuration.Internal.model.yml | 8 + .../generated/System.Configuration.model.yml | 28 +-- .../generated/System.Data.Common.model.yml | 4 + .../ext/generated/System.Data.Odbc.model.yml | 6 + .../ext/generated/System.Data.OleDb.model.yml | 6 + .../lib/ext/generated/System.Data.model.yml | 78 +++++++-- .../System.Diagnostics.Contracts.model.yml | 6 + ...stem.Diagnostics.Eventing.Reader.model.yml | 2 + .../System.Diagnostics.Metrics.model.yml | 30 +++- .../System.Diagnostics.Tracing.model.yml | 8 + .../generated/System.Diagnostics.model.yml | 22 +++ ...stem.DirectoryServices.Protocols.model.yml | 2 + .../ext/generated/System.Dynamic.model.yml | 2 + .../generated/System.IO.Enumeration.model.yml | 1 + .../generated/System.IO.Pipelines.model.yml | 3 + .../ext/generated/System.IO.Pipes.model.yml | 2 + .../ext/generated/System.IO.Ports.model.yml | 6 + .../ql/lib/ext/generated/System.IO.model.yml | 16 +- .../System.Linq.Expressions.model.yml | 2 + .../lib/ext/generated/System.Linq.model.yml | 96 ++++++++++- .../ext/generated/System.Management.model.yml | 12 ++ .../lib/ext/generated/System.Media.model.yml | 6 + .../System.Net.Http.Metrics.model.yml | 1 + .../ext/generated/System.Net.Mail.model.yml | 2 + .../System.Net.NetworkInformation.model.yml | 7 + .../generated/System.Net.Security.model.yml | 23 ++- .../generated/System.Net.Sockets.model.yml | 32 ++++ .../ql/lib/ext/generated/System.Net.model.yml | 39 +++++ .../System.Reflection.Context.model.yml | 2 + .../System.Reflection.Emit.model.yml | 4 - ...stem.Reflection.Metadata.Ecma335.model.yml | 8 + ...em.Reflection.PortableExecutable.model.yml | 7 + .../ext/generated/System.Reflection.model.yml | 62 +++++-- .../System.Runtime.Caching.Hosting.model.yml | 1 + .../System.Runtime.Caching.model.yml | 1 + .../System.Runtime.CompilerServices.model.yml | 24 +++ ...ntime.InteropServices.JavaScript.model.yml | 18 ++ ...ntime.InteropServices.ObjectiveC.model.yml | 1 + .../System.Runtime.InteropServices.model.yml | 2 + .../generated/System.Runtime.Loader.model.yml | 6 + ...ystem.Runtime.Serialization.Json.model.yml | 9 +- .../System.Runtime.Serialization.model.yml | 15 +- .../ext/generated/System.Runtime.model.yml | 1 + .../System.Security.AccessControl.model.yml | 5 + .../System.Security.Claims.model.yml | 7 + .../System.Security.Principal.model.yml | 4 + .../ext/generated/System.Security.model.yml | 1 + .../System.Speech.Recognition.model.yml | 46 +++++ .../System.Speech.Synthesis.model.yml | 16 ++ ...Text.Json.Serialization.Metadata.model.yml | 5 + .../ext/generated/System.Text.Json.model.yml | 34 ++-- .../System.Text.RegularExpressions.model.yml | 8 +- .../System.Threading.Channels.model.yml | 1 + .../System.Threading.RateLimiting.model.yml | 8 + .../System.Threading.Tasks.Dataflow.model.yml | 48 ++++-- .../System.Threading.Tasks.Sources.model.yml | 3 + .../System.Threading.Tasks.model.yml | 162 ++++++++++++++++++ .../ext/generated/System.Threading.model.yml | 54 ++++++ .../lib/ext/generated/System.Timers.model.yml | 2 + .../generated/System.Transactions.model.yml | 7 + .../generated/System.Windows.Input.model.yml | 2 + .../ext/generated/System.Xml.Linq.model.yml | 7 +- .../ext/generated/System.Xml.Schema.model.yml | 22 +++ .../System.Xml.Serialization.model.yml | 27 ++- .../ext/generated/System.Xml.XPath.model.yml | 2 + .../ext/generated/System.Xml.Xsl.model.yml | 2 + .../ql/lib/ext/generated/System.Xml.model.yml | 31 ++++ csharp/ql/lib/ext/generated/System.model.yml | 69 +++++++- 115 files changed, 1803 insertions(+), 216 deletions(-) diff --git a/csharp/ql/lib/ext/generated/Internal.IL.model.yml b/csharp/ql/lib/ext/generated/Internal.IL.model.yml index 620e283d32db..13536b1cd1b3 100644 --- a/csharp/ql/lib/ext/generated/Internal.IL.model.yml +++ b/csharp/ql/lib/ext/generated/Internal.IL.model.yml @@ -54,6 +54,7 @@ extensions: - ["Internal.IL", "ILOpcodeHelper", "IsValid", "(Internal.IL.ILOpcode)", "summary", "df-generated"] - ["Internal.IL", "ILStackHelper", "CheckStackBalance", "(Internal.IL.MethodIL)", "summary", "df-generated"] - ["Internal.IL", "ILStackHelper", "ComputeMaxStack", "(Internal.IL.MethodIL)", "summary", "df-generated"] + - ["Internal.IL", "ILTokenReplacer", "Replace", "(System.Byte[],System.Func)", "summary", "df-generated"] - ["Internal.IL", "InstantiatedMethodIL", "get_IsInitLocals", "()", "summary", "df-generated"] - ["Internal.IL", "InstantiatedMethodIL", "get_MaxStack", "()", "summary", "df-generated"] - ["Internal.IL", "MethodDebugInformation", "GetLocalVariables", "()", "summary", "df-generated"] diff --git a/csharp/ql/lib/ext/generated/Internal.TypeSystem.Ecma.model.yml b/csharp/ql/lib/ext/generated/Internal.TypeSystem.Ecma.model.yml index 613d50280228..9273ce408ea9 100644 --- a/csharp/ql/lib/ext/generated/Internal.TypeSystem.Ecma.model.yml +++ b/csharp/ql/lib/ext/generated/Internal.TypeSystem.Ecma.model.yml @@ -31,6 +31,7 @@ extensions: - ["Internal.TypeSystem.Ecma", "EcmaSignatureEncoder", False, "EcmaSignatureEncoder", "(TEntityHandleProvider)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - ["Internal.TypeSystem.Ecma", "EcmaSignatureParser", False, "EcmaSignatureParser", "(Internal.TypeSystem.Ecma.EcmaModule,System.Reflection.Metadata.BlobReader,Internal.TypeSystem.NotFoundBehavior)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - ["Internal.TypeSystem.Ecma", "EcmaSignatureParser", False, "EcmaSignatureParser", "(Internal.TypeSystem.Ecma.EcmaModule,System.Reflection.Metadata.BlobReader,Internal.TypeSystem.NotFoundBehavior)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] + - ["Internal.TypeSystem.Ecma", "EcmaSignatureParser", False, "EcmaSignatureParser", "(Internal.TypeSystem.TypeSystemContext,System.Func,System.Reflection.Metadata.BlobReader,Internal.TypeSystem.NotFoundBehavior)", "", "Argument[1]", "Argument[this].SyntheticField[Internal.TypeSystem.Ecma.EcmaSignatureParser._typeResolver]", "value", "dfc-generated"] - ["Internal.TypeSystem.Ecma", "EcmaSignatureParser", False, "ParseFieldSignature", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["Internal.TypeSystem.Ecma", "EcmaSignatureParser", False, "ParseFieldSignature", "(Internal.TypeSystem.EmbeddedSignatureData[])", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["Internal.TypeSystem.Ecma", "EcmaSignatureParser", False, "ParseLocalsSignature", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] @@ -132,6 +133,7 @@ extensions: - ["Internal.TypeSystem.Ecma", "EcmaSignatureEncoder", "EncodeTypeSignature", "(System.Reflection.Metadata.Ecma335.SignatureTypeEncoder,Internal.TypeSystem.TypeDesc)", "summary", "df-generated"] - ["Internal.TypeSystem.Ecma", "EcmaSignatureParser", "ParseMarshalAsDescriptor", "()", "summary", "df-generated"] - ["Internal.TypeSystem.Ecma", "EcmaSignatureParser", "get_IsFieldSignature", "()", "summary", "df-generated"] + - ["Internal.TypeSystem.Ecma", "EcmaSignatureTranslator", "EcmaSignatureTranslator", "(System.Reflection.Metadata.BlobReader,System.Reflection.Metadata.BlobBuilder,System.Func)", "summary", "df-generated"] - ["Internal.TypeSystem.Ecma", "EcmaSignatureTranslator", "ParseFieldSignature", "()", "summary", "df-generated"] - ["Internal.TypeSystem.Ecma", "EcmaSignatureTranslator", "ParseLocalsSignature", "()", "summary", "df-generated"] - ["Internal.TypeSystem.Ecma", "EcmaSignatureTranslator", "ParseMemberRefSignature", "()", "summary", "df-generated"] diff --git a/csharp/ql/lib/ext/generated/Internal.TypeSystem.model.yml b/csharp/ql/lib/ext/generated/Internal.TypeSystem.model.yml index 60863caec90d..d418b5c73816 100644 --- a/csharp/ql/lib/ext/generated/Internal.TypeSystem.model.yml +++ b/csharp/ql/lib/ext/generated/Internal.TypeSystem.model.yml @@ -332,6 +332,7 @@ extensions: - ["Internal.TypeSystem", "CustomAttributeTypeNameFormatter", "AppendName", "(System.Text.StringBuilder,Internal.TypeSystem.SignatureMethodVariable,System.Boolean)", "summary", "df-generated"] - ["Internal.TypeSystem", "CustomAttributeTypeNameFormatter", "AppendName", "(System.Text.StringBuilder,Internal.TypeSystem.SignatureTypeVariable,System.Boolean)", "summary", "df-generated"] - ["Internal.TypeSystem", "CustomAttributeTypeNameFormatter", "AppendNameForInstantiatedType", "(System.Text.StringBuilder,Internal.TypeSystem.DefType,System.Boolean)", "summary", "df-generated"] + - ["Internal.TypeSystem", "CustomAttributeTypeNameParser", "GetTypeByCustomAttributeTypeName", "(Internal.TypeSystem.ModuleDesc,System.String,System.Boolean,System.Func)", "summary", "df-generated"] - ["Internal.TypeSystem", "DebugNameFormatter+Void", "get_Value", "()", "summary", "df-generated"] - ["Internal.TypeSystem", "DebugNameFormatter", "AppendName", "(System.Text.StringBuilder,Internal.TypeSystem.SignatureMethodVariable,Internal.TypeSystem.DebugNameFormatter+FormatOptions)", "summary", "df-generated"] - ["Internal.TypeSystem", "DebugNameFormatter", "AppendName", "(System.Text.StringBuilder,Internal.TypeSystem.SignatureTypeVariable,Internal.TypeSystem.DebugNameFormatter+FormatOptions)", "summary", "df-generated"] diff --git a/csharp/ql/lib/ext/generated/Microsoft.Diagnostics.JitTrace.model.yml b/csharp/ql/lib/ext/generated/Microsoft.Diagnostics.JitTrace.model.yml index 3924e5e8ad47..cf78859040fb 100644 --- a/csharp/ql/lib/ext/generated/Microsoft.Diagnostics.JitTrace.model.yml +++ b/csharp/ql/lib/ext/generated/Microsoft.Diagnostics.JitTrace.model.yml @@ -7,3 +7,5 @@ extensions: - ["Microsoft.Diagnostics.JitTrace", "JitTraceRuntime", "Prepare", "(System.IO.FileInfo,System.Int32,System.Int32)", "summary", "df-generated"] - ["Microsoft.Diagnostics.JitTrace", "JitTraceRuntime", "Prepare", "(System.IO.StreamReader,System.Int32,System.Int32)", "summary", "df-generated"] - ["Microsoft.Diagnostics.JitTrace", "JitTraceRuntime", "Prepare", "(System.String,System.Int32,System.Int32)", "summary", "df-generated"] + - ["Microsoft.Diagnostics.JitTrace", "JitTraceRuntime", "add_LogFailure", "(System.Action)", "summary", "df-generated"] + - ["Microsoft.Diagnostics.JitTrace", "JitTraceRuntime", "remove_LogFailure", "(System.Action)", "summary", "df-generated"] diff --git a/csharp/ql/lib/ext/generated/Microsoft.Diagnostics.Tools.Pgo.model.yml b/csharp/ql/lib/ext/generated/Microsoft.Diagnostics.Tools.Pgo.model.yml index 41f7b4a6cb1b..38fcba62dc48 100644 --- a/csharp/ql/lib/ext/generated/Microsoft.Diagnostics.Tools.Pgo.model.yml +++ b/csharp/ql/lib/ext/generated/Microsoft.Diagnostics.Tools.Pgo.model.yml @@ -18,6 +18,8 @@ extensions: - ["Microsoft.Diagnostics.Tools.Pgo", "Edge", False, "Edge", "(Microsoft.Diagnostics.Tools.Pgo.Node,Microsoft.Diagnostics.Tools.Pgo.Node,System.Int64,System.Int64,System.Int64)", "", "Argument[this]", "Argument[this].Field[Microsoft.Diagnostics.Tools.Pgo.Edge.BackEdge].Field[Microsoft.Diagnostics.Tools.Pgo.Edge.BackEdge]", "value", "dfc-generated"] - ["Microsoft.Diagnostics.Tools.Pgo", "Edge", False, "ToString", "()", "", "Argument[this].Field[Microsoft.Diagnostics.Tools.Pgo.Edge.Source]", "ReturnValue", "taint", "dfc-generated"] - ["Microsoft.Diagnostics.Tools.Pgo", "Edge", False, "ToString", "()", "", "Argument[this].Field[Microsoft.Diagnostics.Tools.Pgo.Edge.Target]", "ReturnValue", "taint", "dfc-generated"] + - ["Microsoft.Diagnostics.Tools.Pgo", "FlowSmoothing", False, "MapEdges", "(System.Func,System.Int64,S>)", "", "Argument[0].ReturnValue", "ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair`2.Value]", "value", "dfc-generated"] + - ["Microsoft.Diagnostics.Tools.Pgo", "FlowSmoothing", False, "MapNodes", "(System.Func)", "", "Argument[0].ReturnValue", "ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair`2.Value]", "value", "dfc-generated"] - ["Microsoft.Diagnostics.Tools.Pgo", "KeyValueMap", False, "KeyValueMap", "(TKey[],TValue[])", "", "Argument[1]", "Argument[this].SyntheticField[Microsoft.Diagnostics.Tools.Pgo.KeyValueMap`2._values]", "value", "dfc-generated"] - ["Microsoft.Diagnostics.Tools.Pgo", "KeyValueMap", False, "LookupRange", "(TKey,TKey)", "", "Argument[this].SyntheticField[Microsoft.Diagnostics.Tools.Pgo.KeyValueMap`2._values].Element", "ReturnValue.Element", "value", "dfc-generated"] - ["Microsoft.Diagnostics.Tools.Pgo", "KeyValueMap", False, "TryLookup", "(TKey,TValue)", "", "Argument[this].SyntheticField[Microsoft.Diagnostics.Tools.Pgo.KeyValueMap`2._values].Element", "ReturnValue", "value", "dfc-generated"] @@ -35,6 +37,7 @@ extensions: - ["Microsoft.Diagnostics.Tools.Pgo", "Edge", "AddFlow", "(System.Int64)", "summary", "df-generated"] - ["Microsoft.Diagnostics.Tools.Pgo", "Edge", "CheckEdgeConsistency", "()", "summary", "df-generated"] - ["Microsoft.Diagnostics.Tools.Pgo", "FlowSmoothing", "CheckGraphConsistency", "()", "summary", "df-generated"] + - ["Microsoft.Diagnostics.Tools.Pgo", "FlowSmoothing", "FlowSmoothing", "(System.Collections.Generic.Dictionary,T,System.Func>,System.Func)", "summary", "df-generated"] - ["Microsoft.Diagnostics.Tools.Pgo", "FlowSmoothing", "MakeGraphFeasible", "()", "summary", "df-generated"] - ["Microsoft.Diagnostics.Tools.Pgo", "FlowSmoothing", "Perform", "(System.Int32)", "summary", "df-generated"] - ["Microsoft.Diagnostics.Tools.Pgo", "LbrEntry32", "ToString", "()", "summary", "df-generated"] diff --git a/csharp/ql/lib/ext/generated/Microsoft.DotNet.PlatformAbstractions.model.yml b/csharp/ql/lib/ext/generated/Microsoft.DotNet.PlatformAbstractions.model.yml index a8e40981c954..dbf2d2c00d72 100644 --- a/csharp/ql/lib/ext/generated/Microsoft.DotNet.PlatformAbstractions.model.yml +++ b/csharp/ql/lib/ext/generated/Microsoft.DotNet.PlatformAbstractions.model.yml @@ -1,5 +1,10 @@ # THIS FILE IS AN AUTO-GENERATED MODELS AS DATA FILE. DO NOT EDIT. extensions: + - addsTo: + pack: codeql/csharp-all + extensible: summaryModel + data: + - ["Microsoft.DotNet.PlatformAbstractions", "HashCodeCombiner", False, "Add", "(TValue,System.Collections.Generic.IEqualityComparer)", "", "Argument[0]", "Argument[1]", "taint", "df-generated"] - addsTo: pack: codeql/csharp-all extensible: neutralModel @@ -7,6 +12,5 @@ extensions: - ["Microsoft.DotNet.PlatformAbstractions", "HashCodeCombiner", "Add", "(System.Int32)", "summary", "df-generated"] - ["Microsoft.DotNet.PlatformAbstractions", "HashCodeCombiner", "Add", "(System.Object)", "summary", "df-generated"] - ["Microsoft.DotNet.PlatformAbstractions", "HashCodeCombiner", "Add", "(System.String)", "summary", "df-generated"] - - ["Microsoft.DotNet.PlatformAbstractions", "HashCodeCombiner", "Add", "(TValue,System.Collections.Generic.IEqualityComparer)", "summary", "df-generated"] - ["Microsoft.DotNet.PlatformAbstractions", "HashCodeCombiner", "Start", "()", "summary", "df-generated"] - ["Microsoft.DotNet.PlatformAbstractions", "HashCodeCombiner", "get_CombinedHash", "()", "summary", "df-generated"] diff --git a/csharp/ql/lib/ext/generated/Microsoft.Extensions.Caching.Memory.model.yml b/csharp/ql/lib/ext/generated/Microsoft.Extensions.Caching.Memory.model.yml index e93e5288845f..b8a437e70633 100644 --- a/csharp/ql/lib/ext/generated/Microsoft.Extensions.Caching.Memory.model.yml +++ b/csharp/ql/lib/ext/generated/Microsoft.Extensions.Caching.Memory.model.yml @@ -7,6 +7,8 @@ extensions: - ["Microsoft.Extensions.Caching.Memory", "CacheEntryExtensions", False, "AddExpirationToken", "(Microsoft.Extensions.Caching.Memory.ICacheEntry,Microsoft.Extensions.Primitives.IChangeToken)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.Caching.Memory", "CacheEntryExtensions", False, "AddExpirationToken", "(Microsoft.Extensions.Caching.Memory.ICacheEntry,Microsoft.Extensions.Primitives.IChangeToken)", "", "Argument[1]", "Argument[0].Property[Microsoft.Extensions.Caching.Memory.ICacheEntry.ExpirationTokens].Element", "value", "dfc-generated"] - ["Microsoft.Extensions.Caching.Memory", "CacheEntryExtensions", False, "AddExpirationToken", "(Microsoft.Extensions.Caching.Memory.ICacheEntry,Microsoft.Extensions.Primitives.IChangeToken)", "", "Argument[1]", "ReturnValue.Property[Microsoft.Extensions.Caching.Memory.ICacheEntry.ExpirationTokens].Element", "value", "dfc-generated"] + - ["Microsoft.Extensions.Caching.Memory", "CacheEntryExtensions", False, "RegisterPostEvictionCallback", "(Microsoft.Extensions.Caching.Memory.ICacheEntry,Microsoft.Extensions.Caching.Memory.PostEvictionDelegate)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.Caching.Memory", "CacheEntryExtensions", False, "RegisterPostEvictionCallback", "(Microsoft.Extensions.Caching.Memory.ICacheEntry,Microsoft.Extensions.Caching.Memory.PostEvictionDelegate,System.Object)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.Caching.Memory", "CacheEntryExtensions", False, "SetAbsoluteExpiration", "(Microsoft.Extensions.Caching.Memory.ICacheEntry,System.DateTimeOffset)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.Caching.Memory", "CacheEntryExtensions", False, "SetAbsoluteExpiration", "(Microsoft.Extensions.Caching.Memory.ICacheEntry,System.TimeSpan)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.Caching.Memory", "CacheEntryExtensions", False, "SetOptions", "(Microsoft.Extensions.Caching.Memory.ICacheEntry,Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] @@ -16,6 +18,8 @@ extensions: - ["Microsoft.Extensions.Caching.Memory", "CacheEntryExtensions", False, "SetSize", "(Microsoft.Extensions.Caching.Memory.ICacheEntry,System.Int64)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.Caching.Memory", "CacheEntryExtensions", False, "SetSlidingExpiration", "(Microsoft.Extensions.Caching.Memory.ICacheEntry,System.TimeSpan)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.Caching.Memory", "CacheEntryExtensions", False, "SetValue", "(Microsoft.Extensions.Caching.Memory.ICacheEntry,System.Object)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.Caching.Memory", "CacheExtensions", False, "GetOrCreate", "(Microsoft.Extensions.Caching.Memory.IMemoryCache,System.Object,System.Func)", "", "Argument[2].ReturnValue", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.Caching.Memory", "CacheExtensions", False, "GetOrCreate", "(Microsoft.Extensions.Caching.Memory.IMemoryCache,System.Object,System.Func,Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions)", "", "Argument[2].ReturnValue", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.Caching.Memory", "CacheExtensions", False, "Set", "(Microsoft.Extensions.Caching.Memory.IMemoryCache,System.Object,TItem)", "", "Argument[2]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.Caching.Memory", "CacheExtensions", False, "Set", "(Microsoft.Extensions.Caching.Memory.IMemoryCache,System.Object,TItem,Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions)", "", "Argument[2]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.Caching.Memory", "CacheExtensions", False, "Set", "(Microsoft.Extensions.Caching.Memory.IMemoryCache,System.Object,TItem,Microsoft.Extensions.Primitives.IChangeToken)", "", "Argument[2]", "ReturnValue", "value", "dfc-generated"] @@ -29,6 +33,8 @@ extensions: - ["Microsoft.Extensions.Caching.Memory", "MemoryCacheEntryExtensions", False, "AddExpirationToken", "(Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions,Microsoft.Extensions.Primitives.IChangeToken)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.Caching.Memory", "MemoryCacheEntryExtensions", False, "AddExpirationToken", "(Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions,Microsoft.Extensions.Primitives.IChangeToken)", "", "Argument[1]", "Argument[0].Property[Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions.ExpirationTokens].Element", "value", "dfc-generated"] - ["Microsoft.Extensions.Caching.Memory", "MemoryCacheEntryExtensions", False, "AddExpirationToken", "(Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions,Microsoft.Extensions.Primitives.IChangeToken)", "", "Argument[1]", "ReturnValue.Property[Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions.ExpirationTokens].Element", "value", "dfc-generated"] + - ["Microsoft.Extensions.Caching.Memory", "MemoryCacheEntryExtensions", False, "RegisterPostEvictionCallback", "(Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions,Microsoft.Extensions.Caching.Memory.PostEvictionDelegate)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.Caching.Memory", "MemoryCacheEntryExtensions", False, "RegisterPostEvictionCallback", "(Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions,Microsoft.Extensions.Caching.Memory.PostEvictionDelegate,System.Object)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.Caching.Memory", "MemoryCacheEntryExtensions", False, "SetAbsoluteExpiration", "(Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions,System.DateTimeOffset)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.Caching.Memory", "MemoryCacheEntryExtensions", False, "SetAbsoluteExpiration", "(Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions,System.TimeSpan)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.Caching.Memory", "MemoryCacheEntryExtensions", False, "SetPriority", "(Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions,Microsoft.Extensions.Caching.Memory.CacheItemPriority)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] @@ -41,6 +47,8 @@ extensions: data: - ["Microsoft.Extensions.Caching.Memory", "CacheExtensions", "Get", "(Microsoft.Extensions.Caching.Memory.IMemoryCache,System.Object)", "summary", "df-generated"] - ["Microsoft.Extensions.Caching.Memory", "CacheExtensions", "Get", "(Microsoft.Extensions.Caching.Memory.IMemoryCache,System.Object)", "summary", "df-generated"] + - ["Microsoft.Extensions.Caching.Memory", "CacheExtensions", "GetOrCreateAsync", "(Microsoft.Extensions.Caching.Memory.IMemoryCache,System.Object,System.Func>)", "summary", "df-generated"] + - ["Microsoft.Extensions.Caching.Memory", "CacheExtensions", "GetOrCreateAsync", "(Microsoft.Extensions.Caching.Memory.IMemoryCache,System.Object,System.Func>,Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions)", "summary", "df-generated"] - ["Microsoft.Extensions.Caching.Memory", "CacheExtensions", "TryGetValue", "(Microsoft.Extensions.Caching.Memory.IMemoryCache,System.Object,TItem)", "summary", "df-generated"] - ["Microsoft.Extensions.Caching.Memory", "ICacheEntry", "get_Key", "()", "summary", "df-generated"] - ["Microsoft.Extensions.Caching.Memory", "IMemoryCache", "GetCurrentStatistics", "()", "summary", "df-generated"] diff --git a/csharp/ql/lib/ext/generated/Microsoft.Extensions.Configuration.Binder.SourceGeneration.model.yml b/csharp/ql/lib/ext/generated/Microsoft.Extensions.Configuration.Binder.SourceGeneration.model.yml index 84e199349b81..5493c5823a03 100644 --- a/csharp/ql/lib/ext/generated/Microsoft.Extensions.Configuration.Binder.SourceGeneration.model.yml +++ b/csharp/ql/lib/ext/generated/Microsoft.Extensions.Configuration.Binder.SourceGeneration.model.yml @@ -31,6 +31,9 @@ extensions: - ["Microsoft.Extensions.Configuration.Binder.SourceGeneration", "BindingExtensions", "Bind_JsonConsoleFormatterOptions", "(Microsoft.Extensions.Configuration.IConfiguration,System.Object)", "summary", "df-generated"] - ["Microsoft.Extensions.Configuration.Binder.SourceGeneration", "BindingExtensions", "Bind_SimpleConsoleFormatterOptions", "(Microsoft.Extensions.Configuration.IConfiguration,System.Object)", "summary", "df-generated"] - ["Microsoft.Extensions.Configuration.Binder.SourceGeneration", "BindingExtensions", "GetValueCore", "(Microsoft.Extensions.Configuration.IConfiguration,System.Type,System.String)", "summary", "df-generated"] + - ["Microsoft.Extensions.Configuration.Binder.SourceGeneration", "BindingExtensions", "ParseBool", "(System.String,System.Func)", "summary", "df-generated"] + - ["Microsoft.Extensions.Configuration.Binder.SourceGeneration", "BindingExtensions", "ParseEnum", "(System.String,System.Func)", "summary", "df-generated"] + - ["Microsoft.Extensions.Configuration.Binder.SourceGeneration", "BindingExtensions", "ParseInt", "(System.String,System.Func)", "summary", "df-generated"] - ["Microsoft.Extensions.Configuration.Binder.SourceGeneration", "BindingExtensions", "ValidateConfigurationKeys", "(System.Type,System.Lazy>,Microsoft.Extensions.Configuration.IConfiguration,Microsoft.Extensions.Configuration.BinderOptions)", "summary", "df-generated"] - ["Microsoft.Extensions.Configuration.Binder.SourceGeneration", "BindingHelperInfo", "op_Equality", "(Microsoft.Extensions.Configuration.Binder.SourceGeneration.BindingHelperInfo,Microsoft.Extensions.Configuration.Binder.SourceGeneration.BindingHelperInfo)", "summary", "df-generated"] - ["Microsoft.Extensions.Configuration.Binder.SourceGeneration", "BindingHelperInfo", "op_Inequality", "(Microsoft.Extensions.Configuration.Binder.SourceGeneration.BindingHelperInfo,Microsoft.Extensions.Configuration.Binder.SourceGeneration.BindingHelperInfo)", "summary", "df-generated"] diff --git a/csharp/ql/lib/ext/generated/Microsoft.Extensions.Configuration.Xml.model.yml b/csharp/ql/lib/ext/generated/Microsoft.Extensions.Configuration.Xml.model.yml index b566c2ee2255..f3896c5a9711 100644 --- a/csharp/ql/lib/ext/generated/Microsoft.Extensions.Configuration.Xml.model.yml +++ b/csharp/ql/lib/ext/generated/Microsoft.Extensions.Configuration.Xml.model.yml @@ -5,6 +5,8 @@ extensions: extensible: summaryModel data: - ["Microsoft.Extensions.Configuration.Xml", "XmlDocumentDecryptor", False, "CreateDecryptingXmlReader", "(System.IO.Stream,System.Xml.XmlReaderSettings)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["Microsoft.Extensions.Configuration.Xml", "XmlDocumentDecryptor", True, "DecryptDocumentAndCreateXmlReader", "(System.Xml.XmlDocument)", "", "Argument[0].Element", "Argument[this]", "taint", "df-generated"] + - ["Microsoft.Extensions.Configuration.Xml", "XmlStreamConfigurationProvider", False, "Read", "(System.IO.Stream,Microsoft.Extensions.Configuration.Xml.XmlDocumentDecryptor)", "", "Argument[0]", "Argument[1]", "taint", "df-generated"] - addsTo: pack: codeql/csharp-all extensible: neutralModel @@ -12,8 +14,6 @@ extensions: - ["Microsoft.Extensions.Configuration.Xml", "XmlConfigurationProvider", "Load", "(System.IO.Stream)", "summary", "df-generated"] - ["Microsoft.Extensions.Configuration.Xml", "XmlConfigurationProvider", "XmlConfigurationProvider", "(Microsoft.Extensions.Configuration.Xml.XmlConfigurationSource)", "summary", "df-generated"] - ["Microsoft.Extensions.Configuration.Xml", "XmlConfigurationSource", "Build", "(Microsoft.Extensions.Configuration.IConfigurationBuilder)", "summary", "df-generated"] - - ["Microsoft.Extensions.Configuration.Xml", "XmlDocumentDecryptor", "DecryptDocumentAndCreateXmlReader", "(System.Xml.XmlDocument)", "summary", "df-generated"] - ["Microsoft.Extensions.Configuration.Xml", "XmlStreamConfigurationProvider", "Load", "(System.IO.Stream)", "summary", "df-generated"] - - ["Microsoft.Extensions.Configuration.Xml", "XmlStreamConfigurationProvider", "Read", "(System.IO.Stream,Microsoft.Extensions.Configuration.Xml.XmlDocumentDecryptor)", "summary", "df-generated"] - ["Microsoft.Extensions.Configuration.Xml", "XmlStreamConfigurationProvider", "XmlStreamConfigurationProvider", "(Microsoft.Extensions.Configuration.Xml.XmlStreamConfigurationSource)", "summary", "df-generated"] - ["Microsoft.Extensions.Configuration.Xml", "XmlStreamConfigurationSource", "Build", "(Microsoft.Extensions.Configuration.IConfigurationBuilder)", "summary", "df-generated"] diff --git a/csharp/ql/lib/ext/generated/Microsoft.Extensions.Configuration.model.yml b/csharp/ql/lib/ext/generated/Microsoft.Extensions.Configuration.model.yml index 22ef85f5472c..95b0eb690a7e 100644 --- a/csharp/ql/lib/ext/generated/Microsoft.Extensions.Configuration.model.yml +++ b/csharp/ql/lib/ext/generated/Microsoft.Extensions.Configuration.model.yml @@ -16,6 +16,7 @@ extensions: - ["Microsoft.Extensions.Configuration", "ConfigurationBuilder", False, "Add", "(Microsoft.Extensions.Configuration.IConfigurationSource)", "", "Argument[0]", "Argument[this].SyntheticField[Microsoft.Extensions.Configuration.ConfigurationBuilder._sources].Element", "value", "dfc-generated"] - ["Microsoft.Extensions.Configuration", "ConfigurationBuilder", False, "Add", "(Microsoft.Extensions.Configuration.IConfigurationSource)", "", "Argument[0]", "ReturnValue.SyntheticField[Microsoft.Extensions.Configuration.ConfigurationBuilder._sources].Element", "value", "dfc-generated"] - ["Microsoft.Extensions.Configuration", "ConfigurationBuilder", False, "get_Sources", "()", "", "Argument[this].SyntheticField[Microsoft.Extensions.Configuration.ConfigurationBuilder._sources]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.Configuration", "ConfigurationExtensions", False, "Add", "(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.Action)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.Configuration", "ConfigurationManager", False, "Add", "(Microsoft.Extensions.Configuration.IConfigurationSource)", "", "Argument[0]", "Argument[this].SyntheticField[Microsoft.Extensions.Configuration.ConfigurationManager._sources].Element", "value", "dfc-generated"] - ["Microsoft.Extensions.Configuration", "ConfigurationManager", False, "Add", "(Microsoft.Extensions.Configuration.IConfigurationSource)", "", "Argument[0]", "ReturnValue.SyntheticField[Microsoft.Extensions.Configuration.ConfigurationManager._sources].Element", "value", "dfc-generated"] - ["Microsoft.Extensions.Configuration", "ConfigurationManager", False, "get_Sources", "()", "", "Argument[this].SyntheticField[Microsoft.Extensions.Configuration.ConfigurationManager._sources]", "ReturnValue", "value", "dfc-generated"] @@ -26,13 +27,17 @@ extensions: - ["Microsoft.Extensions.Configuration", "ConfigurationRoot", False, "ConfigurationRoot", "(System.Collections.Generic.IList)", "", "Argument[0]", "Argument[this].SyntheticField[Microsoft.Extensions.Configuration.ConfigurationRoot._providers]", "value", "dfc-generated"] - ["Microsoft.Extensions.Configuration", "ConfigurationRoot", False, "get_Providers", "()", "", "Argument[this].SyntheticField[Microsoft.Extensions.Configuration.ConfigurationRoot._providers]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.Configuration", "ConfigurationRootExtensions", False, "GetDebugView", "(Microsoft.Extensions.Configuration.IConfigurationRoot)", "", "Argument[0].Property[Microsoft.Extensions.Configuration.IConfigurationRoot.Providers].Element", "ReturnValue", "taint", "dfc-generated"] + - ["Microsoft.Extensions.Configuration", "ConfigurationRootExtensions", False, "GetDebugView", "(Microsoft.Extensions.Configuration.IConfigurationRoot,System.Func)", "", "Argument[0].Property[Microsoft.Extensions.Configuration.IConfigurationRoot.Providers].Element", "ReturnValue", "taint", "dfc-generated"] + - ["Microsoft.Extensions.Configuration", "ConfigurationRootExtensions", False, "GetDebugView", "(Microsoft.Extensions.Configuration.IConfigurationRoot,System.Func)", "", "Argument[1].ReturnValue", "ReturnValue", "taint", "dfc-generated"] - ["Microsoft.Extensions.Configuration", "ConfigurationSection", False, "ConfigurationSection", "(Microsoft.Extensions.Configuration.IConfigurationRoot,System.String)", "", "Argument[1]", "Argument[this].SyntheticField[Microsoft.Extensions.Configuration.ConfigurationSection._path]", "value", "dfc-generated"] - ["Microsoft.Extensions.Configuration", "ConfigurationSection", False, "get_Path", "()", "", "Argument[this].SyntheticField[Microsoft.Extensions.Configuration.ConfigurationSection._path]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.Configuration", "EnvironmentVariablesExtensions", False, "AddEnvironmentVariables", "(Microsoft.Extensions.Configuration.IConfigurationBuilder)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.Configuration", "EnvironmentVariablesExtensions", False, "AddEnvironmentVariables", "(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.Action)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.Configuration", "EnvironmentVariablesExtensions", False, "AddEnvironmentVariables", "(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.String)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.Configuration", "FileConfigurationExtensions", False, "GetFileLoadExceptionHandler", "(Microsoft.Extensions.Configuration.IConfigurationBuilder)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["Microsoft.Extensions.Configuration", "FileConfigurationExtensions", False, "GetFileProvider", "(Microsoft.Extensions.Configuration.IConfigurationBuilder)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["Microsoft.Extensions.Configuration", "FileConfigurationExtensions", False, "SetBasePath", "(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.String)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.Configuration", "FileConfigurationExtensions", False, "SetFileLoadExceptionHandler", "(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.Action)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.Configuration", "FileConfigurationExtensions", False, "SetFileProvider", "(Microsoft.Extensions.Configuration.IConfigurationBuilder,Microsoft.Extensions.FileProviders.IFileProvider)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.Configuration", "FileConfigurationProvider", False, "ToString", "()", "", "Argument[this].Property[Microsoft.Extensions.Configuration.FileConfigurationProvider.Source].Property[Microsoft.Extensions.Configuration.FileConfigurationSource.Path]", "ReturnValue", "taint", "dfc-generated"] - ["Microsoft.Extensions.Configuration", "IConfiguration", True, "GetReloadToken", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] @@ -42,11 +47,13 @@ extensions: - ["Microsoft.Extensions.Configuration", "IConfigurationProvider", True, "GetReloadToken", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["Microsoft.Extensions.Configuration", "IConfigurationRoot", True, "get_Providers", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["Microsoft.Extensions.Configuration", "IniConfigurationExtensions", False, "AddIniFile", "(Microsoft.Extensions.Configuration.IConfigurationBuilder,Microsoft.Extensions.FileProviders.IFileProvider,System.String,System.Boolean,System.Boolean)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.Configuration", "IniConfigurationExtensions", False, "AddIniFile", "(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.Action)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.Configuration", "IniConfigurationExtensions", False, "AddIniFile", "(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.String)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.Configuration", "IniConfigurationExtensions", False, "AddIniFile", "(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.String,System.Boolean)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.Configuration", "IniConfigurationExtensions", False, "AddIniFile", "(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.String,System.Boolean,System.Boolean)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.Configuration", "IniConfigurationExtensions", False, "AddIniStream", "(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.IO.Stream)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.Configuration", "JsonConfigurationExtensions", False, "AddJsonFile", "(Microsoft.Extensions.Configuration.IConfigurationBuilder,Microsoft.Extensions.FileProviders.IFileProvider,System.String,System.Boolean,System.Boolean)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.Configuration", "JsonConfigurationExtensions", False, "AddJsonFile", "(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.Action)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.Configuration", "JsonConfigurationExtensions", False, "AddJsonFile", "(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.String)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.Configuration", "JsonConfigurationExtensions", False, "AddJsonFile", "(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.String,System.Boolean)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.Configuration", "JsonConfigurationExtensions", False, "AddJsonFile", "(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.String,System.Boolean,System.Boolean)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] @@ -62,6 +69,7 @@ extensions: - ["Microsoft.Extensions.Configuration", "UserSecretsConfigurationExtensions", False, "AddUserSecrets", "(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.Boolean)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.Configuration", "UserSecretsConfigurationExtensions", False, "AddUserSecrets", "(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.Boolean,System.Boolean)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.Configuration", "XmlConfigurationExtensions", False, "AddXmlFile", "(Microsoft.Extensions.Configuration.IConfigurationBuilder,Microsoft.Extensions.FileProviders.IFileProvider,System.String,System.Boolean,System.Boolean)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.Configuration", "XmlConfigurationExtensions", False, "AddXmlFile", "(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.Action)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.Configuration", "XmlConfigurationExtensions", False, "AddXmlFile", "(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.String)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.Configuration", "XmlConfigurationExtensions", False, "AddXmlFile", "(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.String,System.Boolean)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.Configuration", "XmlConfigurationExtensions", False, "AddXmlFile", "(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.String,System.Boolean,System.Boolean)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] @@ -75,7 +83,10 @@ extensions: - ["Microsoft.Extensions.Configuration", "ChainedConfigurationProvider", "Set", "(System.String,System.String)", "summary", "df-generated"] - ["Microsoft.Extensions.Configuration", "ChainedConfigurationSource", "Build", "(Microsoft.Extensions.Configuration.IConfigurationBuilder)", "summary", "df-generated"] - ["Microsoft.Extensions.Configuration", "ConfigurationBinder", "Bind", "(Microsoft.Extensions.Configuration.IConfiguration,System.Object)", "summary", "df-generated"] + - ["Microsoft.Extensions.Configuration", "ConfigurationBinder", "Bind", "(Microsoft.Extensions.Configuration.IConfiguration,System.Object,System.Action)", "summary", "df-generated"] - ["Microsoft.Extensions.Configuration", "ConfigurationBinder", "Bind", "(Microsoft.Extensions.Configuration.IConfiguration,System.String,System.Object)", "summary", "df-generated"] + - ["Microsoft.Extensions.Configuration", "ConfigurationBinder", "Get", "(Microsoft.Extensions.Configuration.IConfiguration,System.Type,System.Action)", "summary", "df-generated"] + - ["Microsoft.Extensions.Configuration", "ConfigurationBinder", "Get", "(Microsoft.Extensions.Configuration.IConfiguration,System.Action)", "summary", "df-generated"] - ["Microsoft.Extensions.Configuration", "ConfigurationBinder", "GetValue", "(Microsoft.Extensions.Configuration.IConfiguration,System.Type,System.String)", "summary", "df-generated"] - ["Microsoft.Extensions.Configuration", "ConfigurationBinder", "GetValue", "(Microsoft.Extensions.Configuration.IConfiguration,System.String)", "summary", "df-generated"] - ["Microsoft.Extensions.Configuration", "ConfigurationDebugViewContext", "ConfigurationDebugViewContext", "(System.String,System.String,System.String,Microsoft.Extensions.Configuration.IConfigurationProvider)", "summary", "df-generated"] diff --git a/csharp/ql/lib/ext/generated/Microsoft.Extensions.DependencyInjection.Extensions.model.yml b/csharp/ql/lib/ext/generated/Microsoft.Extensions.DependencyInjection.Extensions.model.yml index 1b5bdbc0693b..f86f9258adf5 100644 --- a/csharp/ql/lib/ext/generated/Microsoft.Extensions.DependencyInjection.Extensions.model.yml +++ b/csharp/ql/lib/ext/generated/Microsoft.Extensions.DependencyInjection.Extensions.model.yml @@ -27,27 +27,39 @@ extensions: extensible: neutralModel data: - ["Microsoft.Extensions.DependencyInjection.Extensions", "ServiceCollectionDescriptorExtensions", "TryAddKeyedScoped", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Object)", "summary", "df-generated"] + - ["Microsoft.Extensions.DependencyInjection.Extensions", "ServiceCollectionDescriptorExtensions", "TryAddKeyedScoped", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Object,System.Func)", "summary", "df-generated"] - ["Microsoft.Extensions.DependencyInjection.Extensions", "ServiceCollectionDescriptorExtensions", "TryAddKeyedScoped", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Object,System.Type)", "summary", "df-generated"] - ["Microsoft.Extensions.DependencyInjection.Extensions", "ServiceCollectionDescriptorExtensions", "TryAddKeyedScoped", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Object)", "summary", "df-generated"] - ["Microsoft.Extensions.DependencyInjection.Extensions", "ServiceCollectionDescriptorExtensions", "TryAddKeyedScoped", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Object)", "summary", "df-generated"] + - ["Microsoft.Extensions.DependencyInjection.Extensions", "ServiceCollectionDescriptorExtensions", "TryAddKeyedScoped", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Object,System.Func)", "summary", "df-generated"] - ["Microsoft.Extensions.DependencyInjection.Extensions", "ServiceCollectionDescriptorExtensions", "TryAddKeyedSingleton", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Object)", "summary", "df-generated"] + - ["Microsoft.Extensions.DependencyInjection.Extensions", "ServiceCollectionDescriptorExtensions", "TryAddKeyedSingleton", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Object,System.Func)", "summary", "df-generated"] - ["Microsoft.Extensions.DependencyInjection.Extensions", "ServiceCollectionDescriptorExtensions", "TryAddKeyedSingleton", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Object,System.Type)", "summary", "df-generated"] - ["Microsoft.Extensions.DependencyInjection.Extensions", "ServiceCollectionDescriptorExtensions", "TryAddKeyedSingleton", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Object)", "summary", "df-generated"] - ["Microsoft.Extensions.DependencyInjection.Extensions", "ServiceCollectionDescriptorExtensions", "TryAddKeyedSingleton", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Object)", "summary", "df-generated"] + - ["Microsoft.Extensions.DependencyInjection.Extensions", "ServiceCollectionDescriptorExtensions", "TryAddKeyedSingleton", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Object,System.Func)", "summary", "df-generated"] - ["Microsoft.Extensions.DependencyInjection.Extensions", "ServiceCollectionDescriptorExtensions", "TryAddKeyedTransient", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Object)", "summary", "df-generated"] + - ["Microsoft.Extensions.DependencyInjection.Extensions", "ServiceCollectionDescriptorExtensions", "TryAddKeyedTransient", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Object,System.Func)", "summary", "df-generated"] - ["Microsoft.Extensions.DependencyInjection.Extensions", "ServiceCollectionDescriptorExtensions", "TryAddKeyedTransient", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Object,System.Type)", "summary", "df-generated"] - ["Microsoft.Extensions.DependencyInjection.Extensions", "ServiceCollectionDescriptorExtensions", "TryAddKeyedTransient", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Object)", "summary", "df-generated"] - ["Microsoft.Extensions.DependencyInjection.Extensions", "ServiceCollectionDescriptorExtensions", "TryAddKeyedTransient", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Object)", "summary", "df-generated"] + - ["Microsoft.Extensions.DependencyInjection.Extensions", "ServiceCollectionDescriptorExtensions", "TryAddKeyedTransient", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Object,System.Func)", "summary", "df-generated"] - ["Microsoft.Extensions.DependencyInjection.Extensions", "ServiceCollectionDescriptorExtensions", "TryAddScoped", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type)", "summary", "df-generated"] + - ["Microsoft.Extensions.DependencyInjection.Extensions", "ServiceCollectionDescriptorExtensions", "TryAddScoped", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Func)", "summary", "df-generated"] - ["Microsoft.Extensions.DependencyInjection.Extensions", "ServiceCollectionDescriptorExtensions", "TryAddScoped", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Type)", "summary", "df-generated"] - ["Microsoft.Extensions.DependencyInjection.Extensions", "ServiceCollectionDescriptorExtensions", "TryAddScoped", "(Microsoft.Extensions.DependencyInjection.IServiceCollection)", "summary", "df-generated"] - ["Microsoft.Extensions.DependencyInjection.Extensions", "ServiceCollectionDescriptorExtensions", "TryAddScoped", "(Microsoft.Extensions.DependencyInjection.IServiceCollection)", "summary", "df-generated"] + - ["Microsoft.Extensions.DependencyInjection.Extensions", "ServiceCollectionDescriptorExtensions", "TryAddScoped", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Func)", "summary", "df-generated"] - ["Microsoft.Extensions.DependencyInjection.Extensions", "ServiceCollectionDescriptorExtensions", "TryAddSingleton", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type)", "summary", "df-generated"] + - ["Microsoft.Extensions.DependencyInjection.Extensions", "ServiceCollectionDescriptorExtensions", "TryAddSingleton", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Func)", "summary", "df-generated"] - ["Microsoft.Extensions.DependencyInjection.Extensions", "ServiceCollectionDescriptorExtensions", "TryAddSingleton", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Type)", "summary", "df-generated"] - ["Microsoft.Extensions.DependencyInjection.Extensions", "ServiceCollectionDescriptorExtensions", "TryAddSingleton", "(Microsoft.Extensions.DependencyInjection.IServiceCollection)", "summary", "df-generated"] - ["Microsoft.Extensions.DependencyInjection.Extensions", "ServiceCollectionDescriptorExtensions", "TryAddSingleton", "(Microsoft.Extensions.DependencyInjection.IServiceCollection)", "summary", "df-generated"] + - ["Microsoft.Extensions.DependencyInjection.Extensions", "ServiceCollectionDescriptorExtensions", "TryAddSingleton", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Func)", "summary", "df-generated"] - ["Microsoft.Extensions.DependencyInjection.Extensions", "ServiceCollectionDescriptorExtensions", "TryAddSingleton", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,TService)", "summary", "df-generated"] - ["Microsoft.Extensions.DependencyInjection.Extensions", "ServiceCollectionDescriptorExtensions", "TryAddTransient", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type)", "summary", "df-generated"] + - ["Microsoft.Extensions.DependencyInjection.Extensions", "ServiceCollectionDescriptorExtensions", "TryAddTransient", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Func)", "summary", "df-generated"] - ["Microsoft.Extensions.DependencyInjection.Extensions", "ServiceCollectionDescriptorExtensions", "TryAddTransient", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Type)", "summary", "df-generated"] - ["Microsoft.Extensions.DependencyInjection.Extensions", "ServiceCollectionDescriptorExtensions", "TryAddTransient", "(Microsoft.Extensions.DependencyInjection.IServiceCollection)", "summary", "df-generated"] - ["Microsoft.Extensions.DependencyInjection.Extensions", "ServiceCollectionDescriptorExtensions", "TryAddTransient", "(Microsoft.Extensions.DependencyInjection.IServiceCollection)", "summary", "df-generated"] + - ["Microsoft.Extensions.DependencyInjection.Extensions", "ServiceCollectionDescriptorExtensions", "TryAddTransient", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Func)", "summary", "df-generated"] diff --git a/csharp/ql/lib/ext/generated/Microsoft.Extensions.DependencyInjection.Specification.model.yml b/csharp/ql/lib/ext/generated/Microsoft.Extensions.DependencyInjection.Specification.model.yml index 463cfa95558c..f476329784d1 100644 --- a/csharp/ql/lib/ext/generated/Microsoft.Extensions.DependencyInjection.Specification.model.yml +++ b/csharp/ql/lib/ext/generated/Microsoft.Extensions.DependencyInjection.Specification.model.yml @@ -72,8 +72,21 @@ extensions: - ["Microsoft.Extensions.DependencyInjection.Specification", "DependencyInjectionSpecificationTests", "SingletonServicesComeFromRootProvider", "()", "summary", "df-generated"] - ["Microsoft.Extensions.DependencyInjection.Specification", "DependencyInjectionSpecificationTests", "TransientServiceCanBeResolvedFromProvider", "()", "summary", "df-generated"] - ["Microsoft.Extensions.DependencyInjection.Specification", "DependencyInjectionSpecificationTests", "TransientServiceCanBeResolvedFromScope", "()", "summary", "df-generated"] + - ["Microsoft.Extensions.DependencyInjection.Specification", "DependencyInjectionSpecificationTests", "TypeActivatorAcceptsAnyNumberOfAdditionalConstructorParametersToProvide", "(Microsoft.Extensions.DependencyInjection.Specification.DependencyInjectionSpecificationTests+CreateInstanceFunc)", "summary", "df-generated"] + - ["Microsoft.Extensions.DependencyInjection.Specification", "DependencyInjectionSpecificationTests", "TypeActivatorCanDisambiguateConstructorsWithUniqueArguments", "(Microsoft.Extensions.DependencyInjection.Specification.DependencyInjectionSpecificationTests+CreateInstanceFunc)", "summary", "df-generated"] - ["Microsoft.Extensions.DependencyInjection.Specification", "DependencyInjectionSpecificationTests", "TypeActivatorCreateFactoryDoesNotAllowForAmbiguousConstructorMatches", "(System.Type)", "summary", "df-generated"] - ["Microsoft.Extensions.DependencyInjection.Specification", "DependencyInjectionSpecificationTests", "TypeActivatorCreateInstanceUsesLongestAvailableConstructor", "(System.Object,System.String)", "summary", "df-generated"] + - ["Microsoft.Extensions.DependencyInjection.Specification", "DependencyInjectionSpecificationTests", "TypeActivatorEnablesYouToCreateAnyTypeWithServicesEvenWhenNotInIocContainer", "(Microsoft.Extensions.DependencyInjection.Specification.DependencyInjectionSpecificationTests+CreateInstanceFunc)", "summary", "df-generated"] + - ["Microsoft.Extensions.DependencyInjection.Specification", "DependencyInjectionSpecificationTests", "TypeActivatorRequiresAllArgumentsCanBeAccepted", "(Microsoft.Extensions.DependencyInjection.Specification.DependencyInjectionSpecificationTests+CreateInstanceFunc)", "summary", "df-generated"] + - ["Microsoft.Extensions.DependencyInjection.Specification", "DependencyInjectionSpecificationTests", "TypeActivatorRequiresPublicConstructor", "(Microsoft.Extensions.DependencyInjection.Specification.DependencyInjectionSpecificationTests+CreateInstanceFunc,System.Type)", "summary", "df-generated"] + - ["Microsoft.Extensions.DependencyInjection.Specification", "DependencyInjectionSpecificationTests", "TypeActivatorRethrowsOriginalExceptionFromConstructor", "(Microsoft.Extensions.DependencyInjection.Specification.DependencyInjectionSpecificationTests+CreateInstanceFunc)", "summary", "df-generated"] + - ["Microsoft.Extensions.DependencyInjection.Specification", "DependencyInjectionSpecificationTests", "TypeActivatorThrowsOnMultipleMarkedCtors", "(Microsoft.Extensions.DependencyInjection.Specification.DependencyInjectionSpecificationTests+CreateInstanceFunc)", "summary", "df-generated"] + - ["Microsoft.Extensions.DependencyInjection.Specification", "DependencyInjectionSpecificationTests", "TypeActivatorThrowsWhenMarkedCtorDoesntAcceptArguments", "(Microsoft.Extensions.DependencyInjection.Specification.DependencyInjectionSpecificationTests+CreateInstanceFunc)", "summary", "df-generated"] + - ["Microsoft.Extensions.DependencyInjection.Specification", "DependencyInjectionSpecificationTests", "TypeActivatorUsesMarkedConstructor", "(Microsoft.Extensions.DependencyInjection.Specification.DependencyInjectionSpecificationTests+CreateInstanceFunc)", "summary", "df-generated"] + - ["Microsoft.Extensions.DependencyInjection.Specification", "DependencyInjectionSpecificationTests", "TypeActivatorWorksWithCtorWithOptionalArgs", "(Microsoft.Extensions.DependencyInjection.Specification.DependencyInjectionSpecificationTests+CreateInstanceFunc)", "summary", "df-generated"] + - ["Microsoft.Extensions.DependencyInjection.Specification", "DependencyInjectionSpecificationTests", "TypeActivatorWorksWithCtorWithOptionalArgs_WithStructDefaults", "(Microsoft.Extensions.DependencyInjection.Specification.DependencyInjectionSpecificationTests+CreateInstanceFunc)", "summary", "df-generated"] + - ["Microsoft.Extensions.DependencyInjection.Specification", "DependencyInjectionSpecificationTests", "TypeActivatorWorksWithStaticCtor", "(Microsoft.Extensions.DependencyInjection.Specification.DependencyInjectionSpecificationTests+CreateInstanceFunc)", "summary", "df-generated"] + - ["Microsoft.Extensions.DependencyInjection.Specification", "DependencyInjectionSpecificationTests", "UnRegisteredServiceAsConstructorParameterThrowsException", "(Microsoft.Extensions.DependencyInjection.Specification.DependencyInjectionSpecificationTests+CreateInstanceFunc)", "summary", "df-generated"] - ["Microsoft.Extensions.DependencyInjection.Specification", "DependencyInjectionSpecificationTests", "get_CreateInstanceFuncs", "()", "summary", "df-generated"] - ["Microsoft.Extensions.DependencyInjection.Specification", "DependencyInjectionSpecificationTests", "get_ExpectStructWithPublicDefaultConstructorInvoked", "()", "summary", "df-generated"] - ["Microsoft.Extensions.DependencyInjection.Specification", "DependencyInjectionSpecificationTests", "get_ServiceContainerPicksConstructorWithLongestMatchesData", "()", "summary", "df-generated"] diff --git a/csharp/ql/lib/ext/generated/Microsoft.Extensions.DependencyInjection.model.yml b/csharp/ql/lib/ext/generated/Microsoft.Extensions.DependencyInjection.model.yml index d851831061ef..2d9fe696bcad 100644 --- a/csharp/ql/lib/ext/generated/Microsoft.Extensions.DependencyInjection.model.yml +++ b/csharp/ql/lib/ext/generated/Microsoft.Extensions.DependencyInjection.model.yml @@ -12,14 +12,29 @@ extensions: - ["Microsoft.Extensions.DependencyInjection", "DefaultServiceProviderFactory", False, "CreateBuilder", "(Microsoft.Extensions.DependencyInjection.IServiceCollection)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.DependencyInjection", "DefaultServiceProviderFactory", False, "DefaultServiceProviderFactory", "(Microsoft.Extensions.DependencyInjection.ServiceProviderOptions)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - ["Microsoft.Extensions.DependencyInjection", "HttpClientBuilderExtensions", False, "AddDefaultLogger", "(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.DependencyInjection", "HttpClientBuilderExtensions", False, "AddHttpMessageHandler", "(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Func)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.DependencyInjection", "HttpClientBuilderExtensions", False, "AddHttpMessageHandler", "(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Func)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.DependencyInjection", "HttpClientBuilderExtensions", False, "AddHttpMessageHandler", "(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.DependencyInjection", "HttpClientBuilderExtensions", False, "AddLogger", "(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Func,System.Boolean)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.DependencyInjection", "HttpClientBuilderExtensions", False, "AddLogger", "(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Boolean)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.DependencyInjection", "HttpClientBuilderExtensions", False, "AddTypedClient", "(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.DependencyInjection", "HttpClientBuilderExtensions", False, "AddTypedClient", "(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.DependencyInjection", "HttpClientBuilderExtensions", False, "AddTypedClient", "(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Func)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.DependencyInjection", "HttpClientBuilderExtensions", False, "AddTypedClient", "(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Func)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.DependencyInjection", "HttpClientBuilderExtensions", False, "ConfigureAdditionalHttpMessageHandlers", "(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Action,System.IServiceProvider>)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.DependencyInjection", "HttpClientBuilderExtensions", False, "ConfigureHttpClient", "(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Action)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.DependencyInjection", "HttpClientBuilderExtensions", False, "ConfigureHttpClient", "(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Action)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.DependencyInjection", "HttpClientBuilderExtensions", False, "ConfigureHttpMessageHandlerBuilder", "(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Action)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.DependencyInjection", "HttpClientBuilderExtensions", False, "ConfigurePrimaryHttpMessageHandler", "(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Action)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.DependencyInjection", "HttpClientBuilderExtensions", False, "ConfigurePrimaryHttpMessageHandler", "(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Func)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.DependencyInjection", "HttpClientBuilderExtensions", False, "ConfigurePrimaryHttpMessageHandler", "(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Func)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.DependencyInjection", "HttpClientBuilderExtensions", False, "ConfigurePrimaryHttpMessageHandler", "(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.DependencyInjection", "HttpClientBuilderExtensions", False, "RedactLoggedHeaders", "(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Collections.Generic.IEnumerable)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.DependencyInjection", "HttpClientBuilderExtensions", False, "RedactLoggedHeaders", "(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Func)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.DependencyInjection", "HttpClientBuilderExtensions", False, "RemoveAllLoggers", "(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.DependencyInjection", "HttpClientBuilderExtensions", False, "SetHandlerLifetime", "(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.TimeSpan)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.DependencyInjection", "HttpClientBuilderExtensions", False, "UseSocketsHttpHandler", "(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Action)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.DependencyInjection", "HttpClientBuilderExtensions", False, "UseSocketsHttpHandler", "(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Action)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.DependencyInjection", "HttpClientFactoryServiceCollectionExtensions", False, "AddHttpClient", "(Microsoft.Extensions.DependencyInjection.IServiceCollection)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.DependencyInjection", "HttpClientFactoryServiceCollectionExtensions", False, "AddHttpClient", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.String)", "", "Argument[0].Element", "ReturnValue", "taint", "df-generated"] - ["Microsoft.Extensions.DependencyInjection", "HttpClientFactoryServiceCollectionExtensions", False, "AddHttpClient", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.String)", "", "Argument[1]", "ReturnValue", "taint", "df-generated"] @@ -29,62 +44,119 @@ extensions: - ["Microsoft.Extensions.DependencyInjection", "HttpClientFactoryServiceCollectionExtensions", False, "AddHttpClient", "(Microsoft.Extensions.DependencyInjection.IServiceCollection)", "", "Argument[0].Element", "ReturnValue", "taint", "df-generated"] - ["Microsoft.Extensions.DependencyInjection", "HttpClientFactoryServiceCollectionExtensions", False, "AddHttpClient", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.String)", "", "Argument[0].Element", "ReturnValue", "taint", "df-generated"] - ["Microsoft.Extensions.DependencyInjection", "HttpClientFactoryServiceCollectionExtensions", False, "AddHttpClient", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.String)", "", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["Microsoft.Extensions.DependencyInjection", "HttpClientFactoryServiceCollectionExtensions", False, "ConfigureHttpClientDefaults", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.DependencyInjection", "IServiceScope", True, "get_ServiceProvider", "()", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.DependencyInjection", "IServiceScopeFactory", True, "CreateScope", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["Microsoft.Extensions.DependencyInjection", "LoggingServiceCollectionExtensions", False, "AddLogging", "(Microsoft.Extensions.DependencyInjection.IServiceCollection)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.DependencyInjection", "LoggingServiceCollectionExtensions", False, "AddLogging", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.DependencyInjection", "MemoryCacheServiceCollectionExtensions", False, "AddDistributedMemoryCache", "(Microsoft.Extensions.DependencyInjection.IServiceCollection)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.DependencyInjection", "MemoryCacheServiceCollectionExtensions", False, "AddDistributedMemoryCache", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.DependencyInjection", "MemoryCacheServiceCollectionExtensions", False, "AddMemoryCache", "(Microsoft.Extensions.DependencyInjection.IServiceCollection)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.DependencyInjection", "MemoryCacheServiceCollectionExtensions", False, "AddMemoryCache", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.DependencyInjection", "MetricsServiceExtensions", False, "AddMetrics", "(Microsoft.Extensions.DependencyInjection.IServiceCollection)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.DependencyInjection", "MetricsServiceExtensions", False, "AddMetrics", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.DependencyInjection", "OptionsBuilderConfigurationExtensions", False, "Bind", "(Microsoft.Extensions.Options.OptionsBuilder,Microsoft.Extensions.Configuration.IConfiguration)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.DependencyInjection", "OptionsBuilderConfigurationExtensions", False, "Bind", "(Microsoft.Extensions.Options.OptionsBuilder,Microsoft.Extensions.Configuration.IConfiguration,System.Action)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.DependencyInjection", "OptionsBuilderConfigurationExtensions", False, "BindConfiguration", "(Microsoft.Extensions.Options.OptionsBuilder,System.String,System.Action)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.DependencyInjection", "OptionsBuilderDataAnnotationsExtensions", False, "ValidateDataAnnotations", "(Microsoft.Extensions.Options.OptionsBuilder)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.DependencyInjection", "OptionsBuilderExtensions", False, "ValidateOnStart", "(Microsoft.Extensions.Options.OptionsBuilder)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.DependencyInjection", "OptionsConfigurationServiceCollectionExtensions", False, "Configure", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,Microsoft.Extensions.Configuration.IConfiguration)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.DependencyInjection", "OptionsConfigurationServiceCollectionExtensions", False, "Configure", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,Microsoft.Extensions.Configuration.IConfiguration,System.Action)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.DependencyInjection", "OptionsConfigurationServiceCollectionExtensions", False, "Configure", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.String,Microsoft.Extensions.Configuration.IConfiguration)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.DependencyInjection", "OptionsConfigurationServiceCollectionExtensions", False, "Configure", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.String,Microsoft.Extensions.Configuration.IConfiguration,System.Action)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.DependencyInjection", "OptionsServiceCollectionExtensions", False, "AddOptions", "(Microsoft.Extensions.DependencyInjection.IServiceCollection)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.DependencyInjection", "OptionsServiceCollectionExtensions", False, "Configure", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.DependencyInjection", "OptionsServiceCollectionExtensions", False, "Configure", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.String,System.Action)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.DependencyInjection", "OptionsServiceCollectionExtensions", False, "ConfigureAll", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.DependencyInjection", "OptionsServiceCollectionExtensions", False, "ConfigureOptions", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Object)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.DependencyInjection", "OptionsServiceCollectionExtensions", False, "ConfigureOptions", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.DependencyInjection", "OptionsServiceCollectionExtensions", False, "ConfigureOptions", "(Microsoft.Extensions.DependencyInjection.IServiceCollection)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.DependencyInjection", "OptionsServiceCollectionExtensions", False, "PostConfigure", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.DependencyInjection", "OptionsServiceCollectionExtensions", False, "PostConfigure", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.String,System.Action)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.DependencyInjection", "OptionsServiceCollectionExtensions", False, "PostConfigureAll", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.DependencyInjection", "ServiceCollectionHostedServiceExtensions", False, "AddHostedService", "(Microsoft.Extensions.DependencyInjection.IServiceCollection)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.DependencyInjection", "ServiceCollectionHostedServiceExtensions", False, "AddHostedService", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Func)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.DependencyInjection", "ServiceCollectionServiceExtensions", False, "AddKeyedScoped", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Object)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.DependencyInjection", "ServiceCollectionServiceExtensions", False, "AddKeyedScoped", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Object,System.Func)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.DependencyInjection", "ServiceCollectionServiceExtensions", False, "AddKeyedScoped", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Object,System.Type)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.DependencyInjection", "ServiceCollectionServiceExtensions", False, "AddKeyedScoped", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Object)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.DependencyInjection", "ServiceCollectionServiceExtensions", False, "AddKeyedScoped", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Object,System.Func)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.DependencyInjection", "ServiceCollectionServiceExtensions", False, "AddKeyedScoped", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Object)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.DependencyInjection", "ServiceCollectionServiceExtensions", False, "AddKeyedScoped", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Object,System.Func)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.DependencyInjection", "ServiceCollectionServiceExtensions", False, "AddKeyedSingleton", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Object)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.DependencyInjection", "ServiceCollectionServiceExtensions", False, "AddKeyedSingleton", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Object,System.Func)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.DependencyInjection", "ServiceCollectionServiceExtensions", False, "AddKeyedSingleton", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Object,System.Object)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.DependencyInjection", "ServiceCollectionServiceExtensions", False, "AddKeyedSingleton", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Object,System.Type)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.DependencyInjection", "ServiceCollectionServiceExtensions", False, "AddKeyedSingleton", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Object)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.DependencyInjection", "ServiceCollectionServiceExtensions", False, "AddKeyedSingleton", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Object,System.Func)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.DependencyInjection", "ServiceCollectionServiceExtensions", False, "AddKeyedSingleton", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Object)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.DependencyInjection", "ServiceCollectionServiceExtensions", False, "AddKeyedSingleton", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Object,System.Func)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.DependencyInjection", "ServiceCollectionServiceExtensions", False, "AddKeyedSingleton", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Object,TService)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.DependencyInjection", "ServiceCollectionServiceExtensions", False, "AddKeyedTransient", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Object)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.DependencyInjection", "ServiceCollectionServiceExtensions", False, "AddKeyedTransient", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Object,System.Func)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.DependencyInjection", "ServiceCollectionServiceExtensions", False, "AddKeyedTransient", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Object,System.Type)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.DependencyInjection", "ServiceCollectionServiceExtensions", False, "AddKeyedTransient", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Object)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.DependencyInjection", "ServiceCollectionServiceExtensions", False, "AddKeyedTransient", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Object,System.Func)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.DependencyInjection", "ServiceCollectionServiceExtensions", False, "AddKeyedTransient", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Object)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.DependencyInjection", "ServiceCollectionServiceExtensions", False, "AddKeyedTransient", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Object,System.Func)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.DependencyInjection", "ServiceCollectionServiceExtensions", False, "AddScoped", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.DependencyInjection", "ServiceCollectionServiceExtensions", False, "AddScoped", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Func)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.DependencyInjection", "ServiceCollectionServiceExtensions", False, "AddScoped", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Type)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.DependencyInjection", "ServiceCollectionServiceExtensions", False, "AddScoped", "(Microsoft.Extensions.DependencyInjection.IServiceCollection)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.DependencyInjection", "ServiceCollectionServiceExtensions", False, "AddScoped", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Func)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.DependencyInjection", "ServiceCollectionServiceExtensions", False, "AddScoped", "(Microsoft.Extensions.DependencyInjection.IServiceCollection)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.DependencyInjection", "ServiceCollectionServiceExtensions", False, "AddScoped", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Func)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.DependencyInjection", "ServiceCollectionServiceExtensions", False, "AddSingleton", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.DependencyInjection", "ServiceCollectionServiceExtensions", False, "AddSingleton", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Func)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.DependencyInjection", "ServiceCollectionServiceExtensions", False, "AddSingleton", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Object)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.DependencyInjection", "ServiceCollectionServiceExtensions", False, "AddSingleton", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Type)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.DependencyInjection", "ServiceCollectionServiceExtensions", False, "AddSingleton", "(Microsoft.Extensions.DependencyInjection.IServiceCollection)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.DependencyInjection", "ServiceCollectionServiceExtensions", False, "AddSingleton", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Func)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.DependencyInjection", "ServiceCollectionServiceExtensions", False, "AddSingleton", "(Microsoft.Extensions.DependencyInjection.IServiceCollection)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.DependencyInjection", "ServiceCollectionServiceExtensions", False, "AddSingleton", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Func)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.DependencyInjection", "ServiceCollectionServiceExtensions", False, "AddSingleton", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,TService)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.DependencyInjection", "ServiceCollectionServiceExtensions", False, "AddTransient", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.DependencyInjection", "ServiceCollectionServiceExtensions", False, "AddTransient", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Func)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.DependencyInjection", "ServiceCollectionServiceExtensions", False, "AddTransient", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Type)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.DependencyInjection", "ServiceCollectionServiceExtensions", False, "AddTransient", "(Microsoft.Extensions.DependencyInjection.IServiceCollection)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.DependencyInjection", "ServiceCollectionServiceExtensions", False, "AddTransient", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Func)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.DependencyInjection", "ServiceCollectionServiceExtensions", False, "AddTransient", "(Microsoft.Extensions.DependencyInjection.IServiceCollection)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.DependencyInjection", "ServiceCollectionServiceExtensions", False, "AddTransient", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Func)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.DependencyInjection", "ServiceDescriptor", False, "Describe", "(System.Type,System.Func,Microsoft.Extensions.DependencyInjection.ServiceLifetime)", "", "Argument[1]", "ReturnValue.SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationFactory]", "value", "dfc-generated"] + - ["Microsoft.Extensions.DependencyInjection", "ServiceDescriptor", False, "DescribeKeyed", "(System.Type,System.Object,System.Func,Microsoft.Extensions.DependencyInjection.ServiceLifetime)", "", "Argument[2]", "ReturnValue.SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationFactory]", "value", "dfc-generated"] + - ["Microsoft.Extensions.DependencyInjection", "ServiceDescriptor", False, "KeyedScoped", "(System.Type,System.Object,System.Func)", "", "Argument[2]", "ReturnValue.SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationFactory]", "value", "dfc-generated"] + - ["Microsoft.Extensions.DependencyInjection", "ServiceDescriptor", False, "KeyedScoped", "(System.Object,System.Func)", "", "Argument[1]", "ReturnValue.SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationFactory]", "value", "dfc-generated"] + - ["Microsoft.Extensions.DependencyInjection", "ServiceDescriptor", False, "KeyedScoped", "(System.Object,System.Func)", "", "Argument[1]", "ReturnValue.SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationFactory]", "value", "dfc-generated"] + - ["Microsoft.Extensions.DependencyInjection", "ServiceDescriptor", False, "KeyedSingleton", "(System.Type,System.Object,System.Func)", "", "Argument[2]", "ReturnValue.SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationFactory]", "value", "dfc-generated"] - ["Microsoft.Extensions.DependencyInjection", "ServiceDescriptor", False, "KeyedSingleton", "(System.Type,System.Object,System.Object)", "", "Argument[2]", "ReturnValue.SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationInstance]", "value", "dfc-generated"] + - ["Microsoft.Extensions.DependencyInjection", "ServiceDescriptor", False, "KeyedSingleton", "(System.Object,System.Func)", "", "Argument[1]", "ReturnValue.SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationFactory]", "value", "dfc-generated"] + - ["Microsoft.Extensions.DependencyInjection", "ServiceDescriptor", False, "KeyedSingleton", "(System.Object,System.Func)", "", "Argument[1]", "ReturnValue.SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationFactory]", "value", "dfc-generated"] - ["Microsoft.Extensions.DependencyInjection", "ServiceDescriptor", False, "KeyedSingleton", "(System.Object,TService)", "", "Argument[1]", "ReturnValue.SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationInstance]", "value", "dfc-generated"] + - ["Microsoft.Extensions.DependencyInjection", "ServiceDescriptor", False, "KeyedTransient", "(System.Type,System.Object,System.Func)", "", "Argument[2]", "ReturnValue.SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationFactory]", "value", "dfc-generated"] + - ["Microsoft.Extensions.DependencyInjection", "ServiceDescriptor", False, "KeyedTransient", "(System.Object,System.Func)", "", "Argument[1]", "ReturnValue.SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationFactory]", "value", "dfc-generated"] + - ["Microsoft.Extensions.DependencyInjection", "ServiceDescriptor", False, "KeyedTransient", "(System.Object,System.Func)", "", "Argument[1]", "ReturnValue.SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationFactory]", "value", "dfc-generated"] + - ["Microsoft.Extensions.DependencyInjection", "ServiceDescriptor", False, "Scoped", "(System.Type,System.Func)", "", "Argument[1]", "ReturnValue.SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationFactory]", "value", "dfc-generated"] + - ["Microsoft.Extensions.DependencyInjection", "ServiceDescriptor", False, "Scoped", "(System.Func)", "", "Argument[0]", "ReturnValue.SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationFactory]", "value", "dfc-generated"] + - ["Microsoft.Extensions.DependencyInjection", "ServiceDescriptor", False, "Scoped", "(System.Func)", "", "Argument[0]", "ReturnValue.SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationFactory]", "value", "dfc-generated"] + - ["Microsoft.Extensions.DependencyInjection", "ServiceDescriptor", False, "ServiceDescriptor", "(System.Type,System.Func,Microsoft.Extensions.DependencyInjection.ServiceLifetime)", "", "Argument[1]", "Argument[this].SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationFactory]", "value", "dfc-generated"] + - ["Microsoft.Extensions.DependencyInjection", "ServiceDescriptor", False, "ServiceDescriptor", "(System.Type,System.Object,System.Func,Microsoft.Extensions.DependencyInjection.ServiceLifetime)", "", "Argument[2]", "Argument[this].SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationFactory]", "value", "dfc-generated"] - ["Microsoft.Extensions.DependencyInjection", "ServiceDescriptor", False, "ServiceDescriptor", "(System.Type,System.Object,System.Object)", "", "Argument[2]", "Argument[this].SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationInstance]", "value", "dfc-generated"] + - ["Microsoft.Extensions.DependencyInjection", "ServiceDescriptor", False, "Singleton", "(System.Type,System.Func)", "", "Argument[1]", "ReturnValue.SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationFactory]", "value", "dfc-generated"] + - ["Microsoft.Extensions.DependencyInjection", "ServiceDescriptor", False, "Singleton", "(System.Func)", "", "Argument[0]", "ReturnValue.SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationFactory]", "value", "dfc-generated"] + - ["Microsoft.Extensions.DependencyInjection", "ServiceDescriptor", False, "Singleton", "(System.Func)", "", "Argument[0]", "ReturnValue.SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationFactory]", "value", "dfc-generated"] - ["Microsoft.Extensions.DependencyInjection", "ServiceDescriptor", False, "ToString", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["Microsoft.Extensions.DependencyInjection", "ServiceDescriptor", False, "get_ImplementationFactory", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["Microsoft.Extensions.DependencyInjection", "ServiceDescriptor", False, "Transient", "(System.Type,System.Func)", "", "Argument[1]", "ReturnValue.SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationFactory]", "value", "dfc-generated"] + - ["Microsoft.Extensions.DependencyInjection", "ServiceDescriptor", False, "Transient", "(System.Func)", "", "Argument[0]", "ReturnValue.SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationFactory]", "value", "dfc-generated"] + - ["Microsoft.Extensions.DependencyInjection", "ServiceDescriptor", False, "Transient", "(System.Func)", "", "Argument[0]", "ReturnValue.SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationFactory]", "value", "dfc-generated"] + - ["Microsoft.Extensions.DependencyInjection", "ServiceDescriptor", False, "get_ImplementationFactory", "()", "", "Argument[this].SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationFactory]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.DependencyInjection", "ServiceDescriptor", False, "get_ImplementationInstance", "()", "", "Argument[this].SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationInstance]", "ReturnValue", "value", "dfc-generated"] - - ["Microsoft.Extensions.DependencyInjection", "ServiceDescriptor", False, "get_KeyedImplementationFactory", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["Microsoft.Extensions.DependencyInjection", "ServiceDescriptor", False, "get_KeyedImplementationFactory", "()", "", "Argument[this].SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationFactory]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.DependencyInjection", "ServiceDescriptor", False, "get_KeyedImplementationInstance", "()", "", "Argument[this].SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationInstance]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.DependencyInjection", "ServiceProviderServiceExtensions", False, "GetRequiredService", "(System.IServiceProvider,System.Type)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.DependencyInjection", "ServiceProviderServiceExtensions", False, "GetRequiredService", "(System.IServiceProvider)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.DependencyInjection", "ServiceProviderServiceExtensions", False, "GetService", "(System.IServiceProvider)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.DependencyInjection", "SocketsHttpHandlerBuilderExtensions", False, "Configure", "(Microsoft.Extensions.DependencyInjection.ISocketsHttpHandlerBuilder,Microsoft.Extensions.Configuration.IConfiguration)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.DependencyInjection", "SocketsHttpHandlerBuilderExtensions", False, "Configure", "(Microsoft.Extensions.DependencyInjection.ISocketsHttpHandlerBuilder,System.Action)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - addsTo: pack: codeql/csharp-all extensible: neutralModel @@ -97,6 +169,20 @@ extensions: - ["Microsoft.Extensions.DependencyInjection", "DefaultServiceProviderFactory", "CreateServiceProvider", "(Microsoft.Extensions.DependencyInjection.IServiceCollection)", "summary", "df-generated"] - ["Microsoft.Extensions.DependencyInjection", "FromKeyedServicesAttribute", "FromKeyedServicesAttribute", "(System.Object)", "summary", "df-generated"] - ["Microsoft.Extensions.DependencyInjection", "FromKeyedServicesAttribute", "get_Key", "()", "summary", "df-generated"] + - ["Microsoft.Extensions.DependencyInjection", "HttpClientFactoryServiceCollectionExtensions", "AddHttpClient", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.String,System.Action)", "summary", "df-generated"] + - ["Microsoft.Extensions.DependencyInjection", "HttpClientFactoryServiceCollectionExtensions", "AddHttpClient", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.String,System.Action)", "summary", "df-generated"] + - ["Microsoft.Extensions.DependencyInjection", "HttpClientFactoryServiceCollectionExtensions", "AddHttpClient", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action)", "summary", "df-generated"] + - ["Microsoft.Extensions.DependencyInjection", "HttpClientFactoryServiceCollectionExtensions", "AddHttpClient", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action)", "summary", "df-generated"] + - ["Microsoft.Extensions.DependencyInjection", "HttpClientFactoryServiceCollectionExtensions", "AddHttpClient", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Func)", "summary", "df-generated"] + - ["Microsoft.Extensions.DependencyInjection", "HttpClientFactoryServiceCollectionExtensions", "AddHttpClient", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Func)", "summary", "df-generated"] + - ["Microsoft.Extensions.DependencyInjection", "HttpClientFactoryServiceCollectionExtensions", "AddHttpClient", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.String,System.Action)", "summary", "df-generated"] + - ["Microsoft.Extensions.DependencyInjection", "HttpClientFactoryServiceCollectionExtensions", "AddHttpClient", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.String,System.Action)", "summary", "df-generated"] + - ["Microsoft.Extensions.DependencyInjection", "HttpClientFactoryServiceCollectionExtensions", "AddHttpClient", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.String,System.Func)", "summary", "df-generated"] + - ["Microsoft.Extensions.DependencyInjection", "HttpClientFactoryServiceCollectionExtensions", "AddHttpClient", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.String,System.Func)", "summary", "df-generated"] + - ["Microsoft.Extensions.DependencyInjection", "HttpClientFactoryServiceCollectionExtensions", "AddHttpClient", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action)", "summary", "df-generated"] + - ["Microsoft.Extensions.DependencyInjection", "HttpClientFactoryServiceCollectionExtensions", "AddHttpClient", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action)", "summary", "df-generated"] + - ["Microsoft.Extensions.DependencyInjection", "HttpClientFactoryServiceCollectionExtensions", "AddHttpClient", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.String,System.Action)", "summary", "df-generated"] + - ["Microsoft.Extensions.DependencyInjection", "HttpClientFactoryServiceCollectionExtensions", "AddHttpClient", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.String,System.Action)", "summary", "df-generated"] - ["Microsoft.Extensions.DependencyInjection", "IHttpClientBuilder", "get_Name", "()", "summary", "df-generated"] - ["Microsoft.Extensions.DependencyInjection", "IHttpClientBuilder", "get_Services", "()", "summary", "df-generated"] - ["Microsoft.Extensions.DependencyInjection", "IKeyedServiceProvider", "GetKeyedService", "(System.Type,System.Object)", "summary", "df-generated"] diff --git a/csharp/ql/lib/ext/generated/Microsoft.Extensions.FileSystemGlobbing.Internal.PatternContexts.model.yml b/csharp/ql/lib/ext/generated/Microsoft.Extensions.FileSystemGlobbing.Internal.PatternContexts.model.yml index 0908db395e13..7c0160726363 100644 --- a/csharp/ql/lib/ext/generated/Microsoft.Extensions.FileSystemGlobbing.Internal.PatternContexts.model.yml +++ b/csharp/ql/lib/ext/generated/Microsoft.Extensions.FileSystemGlobbing.Internal.PatternContexts.model.yml @@ -17,6 +17,7 @@ extensions: pack: codeql/csharp-all extensible: neutralModel data: + - ["Microsoft.Extensions.FileSystemGlobbing.Internal.PatternContexts", "PatternContext", "Declare", "(System.Action)", "summary", "df-generated"] - ["Microsoft.Extensions.FileSystemGlobbing.Internal.PatternContexts", "PatternContext", "IsStackEmpty", "()", "summary", "df-generated"] - ["Microsoft.Extensions.FileSystemGlobbing.Internal.PatternContexts", "PatternContext", "PopDirectory", "()", "summary", "df-generated"] - ["Microsoft.Extensions.FileSystemGlobbing.Internal.PatternContexts", "PatternContext", "PushDirectory", "(Microsoft.Extensions.FileSystemGlobbing.Abstractions.DirectoryInfoBase)", "summary", "df-generated"] @@ -31,6 +32,7 @@ extensions: - ["Microsoft.Extensions.FileSystemGlobbing.Internal.PatternContexts", "PatternContextLinear", "get_Pattern", "()", "summary", "df-generated"] - ["Microsoft.Extensions.FileSystemGlobbing.Internal.PatternContexts", "PatternContextLinearExclude", "PatternContextLinearExclude", "(Microsoft.Extensions.FileSystemGlobbing.Internal.ILinearPattern)", "summary", "df-generated"] - ["Microsoft.Extensions.FileSystemGlobbing.Internal.PatternContexts", "PatternContextLinearExclude", "Test", "(Microsoft.Extensions.FileSystemGlobbing.Abstractions.DirectoryInfoBase)", "summary", "df-generated"] + - ["Microsoft.Extensions.FileSystemGlobbing.Internal.PatternContexts", "PatternContextLinearInclude", "Declare", "(System.Action)", "summary", "df-generated"] - ["Microsoft.Extensions.FileSystemGlobbing.Internal.PatternContexts", "PatternContextLinearInclude", "PatternContextLinearInclude", "(Microsoft.Extensions.FileSystemGlobbing.Internal.ILinearPattern)", "summary", "df-generated"] - ["Microsoft.Extensions.FileSystemGlobbing.Internal.PatternContexts", "PatternContextLinearInclude", "Test", "(Microsoft.Extensions.FileSystemGlobbing.Abstractions.DirectoryInfoBase)", "summary", "df-generated"] - ["Microsoft.Extensions.FileSystemGlobbing.Internal.PatternContexts", "PatternContextRagged+FrameData", "get_StemItems", "()", "summary", "df-generated"] @@ -44,5 +46,6 @@ extensions: - ["Microsoft.Extensions.FileSystemGlobbing.Internal.PatternContexts", "PatternContextRagged", "get_Pattern", "()", "summary", "df-generated"] - ["Microsoft.Extensions.FileSystemGlobbing.Internal.PatternContexts", "PatternContextRaggedExclude", "PatternContextRaggedExclude", "(Microsoft.Extensions.FileSystemGlobbing.Internal.IRaggedPattern)", "summary", "df-generated"] - ["Microsoft.Extensions.FileSystemGlobbing.Internal.PatternContexts", "PatternContextRaggedExclude", "Test", "(Microsoft.Extensions.FileSystemGlobbing.Abstractions.DirectoryInfoBase)", "summary", "df-generated"] + - ["Microsoft.Extensions.FileSystemGlobbing.Internal.PatternContexts", "PatternContextRaggedInclude", "Declare", "(System.Action)", "summary", "df-generated"] - ["Microsoft.Extensions.FileSystemGlobbing.Internal.PatternContexts", "PatternContextRaggedInclude", "PatternContextRaggedInclude", "(Microsoft.Extensions.FileSystemGlobbing.Internal.IRaggedPattern)", "summary", "df-generated"] - ["Microsoft.Extensions.FileSystemGlobbing.Internal.PatternContexts", "PatternContextRaggedInclude", "Test", "(Microsoft.Extensions.FileSystemGlobbing.Abstractions.DirectoryInfoBase)", "summary", "df-generated"] diff --git a/csharp/ql/lib/ext/generated/Microsoft.Extensions.FileSystemGlobbing.Internal.model.yml b/csharp/ql/lib/ext/generated/Microsoft.Extensions.FileSystemGlobbing.Internal.model.yml index 026615322967..704921ea8f0f 100644 --- a/csharp/ql/lib/ext/generated/Microsoft.Extensions.FileSystemGlobbing.Internal.model.yml +++ b/csharp/ql/lib/ext/generated/Microsoft.Extensions.FileSystemGlobbing.Internal.model.yml @@ -14,6 +14,7 @@ extensions: - ["Microsoft.Extensions.FileSystemGlobbing.Internal", "IPathSegment", "get_CanProduceStem", "()", "summary", "df-generated"] - ["Microsoft.Extensions.FileSystemGlobbing.Internal", "IPattern", "CreatePatternContextForExclude", "()", "summary", "df-generated"] - ["Microsoft.Extensions.FileSystemGlobbing.Internal", "IPattern", "CreatePatternContextForInclude", "()", "summary", "df-generated"] + - ["Microsoft.Extensions.FileSystemGlobbing.Internal", "IPatternContext", "Declare", "(System.Action)", "summary", "df-generated"] - ["Microsoft.Extensions.FileSystemGlobbing.Internal", "IPatternContext", "PopDirectory", "()", "summary", "df-generated"] - ["Microsoft.Extensions.FileSystemGlobbing.Internal", "IPatternContext", "PushDirectory", "(Microsoft.Extensions.FileSystemGlobbing.Abstractions.DirectoryInfoBase)", "summary", "df-generated"] - ["Microsoft.Extensions.FileSystemGlobbing.Internal", "IPatternContext", "Test", "(Microsoft.Extensions.FileSystemGlobbing.Abstractions.DirectoryInfoBase)", "summary", "df-generated"] diff --git a/csharp/ql/lib/ext/generated/Microsoft.Extensions.FileSystemGlobbing.model.yml b/csharp/ql/lib/ext/generated/Microsoft.Extensions.FileSystemGlobbing.model.yml index d4afcce0844c..6d9cc350b03a 100644 --- a/csharp/ql/lib/ext/generated/Microsoft.Extensions.FileSystemGlobbing.model.yml +++ b/csharp/ql/lib/ext/generated/Microsoft.Extensions.FileSystemGlobbing.model.yml @@ -7,7 +7,6 @@ extensions: - ["Microsoft.Extensions.FileSystemGlobbing", "InMemoryDirectoryInfo", True, "GetFile", "(System.String)", "", "Argument[this]", "ReturnValue.SyntheticField[Microsoft.Extensions.FileSystemGlobbing.Internal.InMemoryFileInfo._parent]", "value", "dfc-generated"] - ["Microsoft.Extensions.FileSystemGlobbing", "Matcher", True, "AddExclude", "(System.String)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.FileSystemGlobbing", "Matcher", True, "AddInclude", "(System.String)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] - - ["Microsoft.Extensions.FileSystemGlobbing", "MatcherExtensions", False, "GetResultsInFullPath", "(Microsoft.Extensions.FileSystemGlobbing.Matcher,System.String)", "", "Argument[1]", "ReturnValue.Element", "taint", "dfc-generated"] - addsTo: pack: codeql/csharp-all extensible: neutralModel @@ -23,6 +22,7 @@ extensions: - ["Microsoft.Extensions.FileSystemGlobbing", "Matcher", "Matcher", "(System.StringComparison)", "summary", "df-generated"] - ["Microsoft.Extensions.FileSystemGlobbing", "MatcherExtensions", "AddExcludePatterns", "(Microsoft.Extensions.FileSystemGlobbing.Matcher,System.Collections.Generic.IEnumerable[])", "summary", "df-generated"] - ["Microsoft.Extensions.FileSystemGlobbing", "MatcherExtensions", "AddIncludePatterns", "(Microsoft.Extensions.FileSystemGlobbing.Matcher,System.Collections.Generic.IEnumerable[])", "summary", "df-generated"] + - ["Microsoft.Extensions.FileSystemGlobbing", "MatcherExtensions", "GetResultsInFullPath", "(Microsoft.Extensions.FileSystemGlobbing.Matcher,System.String)", "summary", "df-generated"] - ["Microsoft.Extensions.FileSystemGlobbing", "MatcherExtensions", "Match", "(Microsoft.Extensions.FileSystemGlobbing.Matcher,System.Collections.Generic.IEnumerable)", "summary", "df-generated"] - ["Microsoft.Extensions.FileSystemGlobbing", "MatcherExtensions", "Match", "(Microsoft.Extensions.FileSystemGlobbing.Matcher,System.String)", "summary", "df-generated"] - ["Microsoft.Extensions.FileSystemGlobbing", "MatcherExtensions", "Match", "(Microsoft.Extensions.FileSystemGlobbing.Matcher,System.String,System.Collections.Generic.IEnumerable)", "summary", "df-generated"] diff --git a/csharp/ql/lib/ext/generated/Microsoft.Extensions.Hosting.model.yml b/csharp/ql/lib/ext/generated/Microsoft.Extensions.Hosting.model.yml index 47319aa926c0..7a6af8383e43 100644 --- a/csharp/ql/lib/ext/generated/Microsoft.Extensions.Hosting.model.yml +++ b/csharp/ql/lib/ext/generated/Microsoft.Extensions.Hosting.model.yml @@ -8,9 +8,21 @@ extensions: - ["Microsoft.Extensions.Hosting", "Host", False, "CreateEmptyApplicationBuilder", "(Microsoft.Extensions.Hosting.HostApplicationBuilderSettings)", "", "Argument[0].Property[Microsoft.Extensions.Hosting.HostApplicationBuilderSettings.Args]", "ReturnValue.Property[Microsoft.Extensions.Hosting.HostApplicationBuilder.Configuration]", "taint", "dfc-generated"] - ["Microsoft.Extensions.Hosting", "HostApplicationBuilder", False, "HostApplicationBuilder", "(Microsoft.Extensions.Hosting.HostApplicationBuilderSettings)", "", "Argument[0].Property[Microsoft.Extensions.Hosting.HostApplicationBuilderSettings.Args]", "Argument[this].Property[Microsoft.Extensions.Hosting.HostApplicationBuilder.Configuration]", "taint", "dfc-generated"] - ["Microsoft.Extensions.Hosting", "HostApplicationBuilder", False, "get_Configuration", "()", "", "Argument[this].Property[Microsoft.Extensions.Hosting.HostApplicationBuilder.Configuration]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.Hosting", "HostingHostBuilderExtensions", False, "ConfigureAppConfiguration", "(Microsoft.Extensions.Hosting.IHostBuilder,System.Action)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.Hosting", "HostingHostBuilderExtensions", False, "ConfigureContainer", "(Microsoft.Extensions.Hosting.IHostBuilder,System.Action)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.Hosting", "HostingHostBuilderExtensions", False, "ConfigureDefaults", "(Microsoft.Extensions.Hosting.IHostBuilder,System.String[])", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.Hosting", "HostingHostBuilderExtensions", False, "ConfigureHostOptions", "(Microsoft.Extensions.Hosting.IHostBuilder,System.Action)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.Hosting", "HostingHostBuilderExtensions", False, "ConfigureHostOptions", "(Microsoft.Extensions.Hosting.IHostBuilder,System.Action)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.Hosting", "HostingHostBuilderExtensions", False, "ConfigureLogging", "(Microsoft.Extensions.Hosting.IHostBuilder,System.Action)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.Hosting", "HostingHostBuilderExtensions", False, "ConfigureLogging", "(Microsoft.Extensions.Hosting.IHostBuilder,System.Action)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.Hosting", "HostingHostBuilderExtensions", False, "ConfigureMetrics", "(Microsoft.Extensions.Hosting.IHostBuilder,System.Action)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.Hosting", "HostingHostBuilderExtensions", False, "ConfigureMetrics", "(Microsoft.Extensions.Hosting.IHostBuilder,System.Action)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.Hosting", "HostingHostBuilderExtensions", False, "ConfigureServices", "(Microsoft.Extensions.Hosting.IHostBuilder,System.Action)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.Hosting", "HostingHostBuilderExtensions", False, "UseConsoleLifetime", "(Microsoft.Extensions.Hosting.IHostBuilder)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.Hosting", "HostingHostBuilderExtensions", False, "UseConsoleLifetime", "(Microsoft.Extensions.Hosting.IHostBuilder,System.Action)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.Hosting", "HostingHostBuilderExtensions", False, "UseContentRoot", "(Microsoft.Extensions.Hosting.IHostBuilder,System.String)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.Hosting", "HostingHostBuilderExtensions", False, "UseDefaultServiceProvider", "(Microsoft.Extensions.Hosting.IHostBuilder,System.Action)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.Hosting", "HostingHostBuilderExtensions", False, "UseDefaultServiceProvider", "(Microsoft.Extensions.Hosting.IHostBuilder,System.Action)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.Hosting", "HostingHostBuilderExtensions", False, "UseEnvironment", "(Microsoft.Extensions.Hosting.IHostBuilder,System.String)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.Hosting", "IApplicationLifetime", True, "get_ApplicationStarted", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["Microsoft.Extensions.Hosting", "IApplicationLifetime", True, "get_ApplicationStopped", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] @@ -23,13 +35,20 @@ extensions: - ["Microsoft.Extensions.Hosting", "IHostApplicationLifetime", True, "get_ApplicationStarted", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["Microsoft.Extensions.Hosting", "IHostApplicationLifetime", True, "get_ApplicationStopped", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["Microsoft.Extensions.Hosting", "IHostApplicationLifetime", True, "get_ApplicationStopping", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["Microsoft.Extensions.Hosting", "IHostBuilder", True, "ConfigureAppConfiguration", "(System.Action)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.Hosting", "IHostBuilder", True, "ConfigureContainer", "(System.Action)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.Hosting", "IHostBuilder", True, "ConfigureHostConfiguration", "(System.Action)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.Hosting", "IHostBuilder", True, "ConfigureServices", "(System.Action)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.Hosting", "IHostBuilder", True, "UseServiceProviderFactory", "(Microsoft.Extensions.DependencyInjection.IServiceProviderFactory)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.Hosting", "IHostBuilder", True, "UseServiceProviderFactory", "(System.Func>)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.Hosting", "IHostLifetime", True, "WaitForStartAsync", "(System.Threading.CancellationToken)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["Microsoft.Extensions.Hosting", "IHostedService", True, "StartAsync", "(System.Threading.CancellationToken)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["Microsoft.Extensions.Hosting", "SystemdHostBuilderExtensions", False, "AddSystemd", "(Microsoft.Extensions.DependencyInjection.IServiceCollection)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.Hosting", "SystemdHostBuilderExtensions", False, "UseSystemd", "(Microsoft.Extensions.Hosting.IHostBuilder)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.Hosting", "WindowsServiceLifetimeHostBuilderExtensions", False, "AddWindowsService", "(Microsoft.Extensions.DependencyInjection.IServiceCollection)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.Hosting", "WindowsServiceLifetimeHostBuilderExtensions", False, "AddWindowsService", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.Hosting", "WindowsServiceLifetimeHostBuilderExtensions", False, "UseWindowsService", "(Microsoft.Extensions.Hosting.IHostBuilder)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.Hosting", "WindowsServiceLifetimeHostBuilderExtensions", False, "UseWindowsService", "(Microsoft.Extensions.Hosting.IHostBuilder,System.Action)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - addsTo: pack: codeql/csharp-all extensible: neutralModel @@ -45,6 +64,7 @@ extensions: - ["Microsoft.Extensions.Hosting", "HostAbortedException", "HostAbortedException", "(System.String)", "summary", "df-generated"] - ["Microsoft.Extensions.Hosting", "HostAbortedException", "HostAbortedException", "(System.String,System.Exception)", "summary", "df-generated"] - ["Microsoft.Extensions.Hosting", "HostApplicationBuilder", "Build", "()", "summary", "df-generated"] + - ["Microsoft.Extensions.Hosting", "HostApplicationBuilder", "ConfigureContainer", "(Microsoft.Extensions.DependencyInjection.IServiceProviderFactory,System.Action)", "summary", "df-generated"] - ["Microsoft.Extensions.Hosting", "HostApplicationBuilder", "HostApplicationBuilder", "(System.String[])", "summary", "df-generated"] - ["Microsoft.Extensions.Hosting", "HostApplicationBuilder", "get_Configuration", "()", "summary", "df-generated"] - ["Microsoft.Extensions.Hosting", "HostBuilder", "Build", "()", "summary", "df-generated"] @@ -67,11 +87,13 @@ extensions: - ["Microsoft.Extensions.Hosting", "HostingEnvironmentExtensions", "IsEnvironment", "(Microsoft.Extensions.Hosting.IHostingEnvironment,System.String)", "summary", "df-generated"] - ["Microsoft.Extensions.Hosting", "HostingEnvironmentExtensions", "IsProduction", "(Microsoft.Extensions.Hosting.IHostingEnvironment)", "summary", "df-generated"] - ["Microsoft.Extensions.Hosting", "HostingEnvironmentExtensions", "IsStaging", "(Microsoft.Extensions.Hosting.IHostingEnvironment)", "summary", "df-generated"] + - ["Microsoft.Extensions.Hosting", "HostingHostBuilderExtensions", "RunConsoleAsync", "(Microsoft.Extensions.Hosting.IHostBuilder,System.Action,System.Threading.CancellationToken)", "summary", "df-generated"] - ["Microsoft.Extensions.Hosting", "HostingHostBuilderExtensions", "RunConsoleAsync", "(Microsoft.Extensions.Hosting.IHostBuilder,System.Threading.CancellationToken)", "summary", "df-generated"] - ["Microsoft.Extensions.Hosting", "IApplicationLifetime", "StopApplication", "()", "summary", "df-generated"] - ["Microsoft.Extensions.Hosting", "IHost", "StartAsync", "(System.Threading.CancellationToken)", "summary", "df-generated"] - ["Microsoft.Extensions.Hosting", "IHost", "StopAsync", "(System.Threading.CancellationToken)", "summary", "df-generated"] - ["Microsoft.Extensions.Hosting", "IHost", "get_Services", "()", "summary", "df-generated"] + - ["Microsoft.Extensions.Hosting", "IHostApplicationBuilder", "ConfigureContainer", "(Microsoft.Extensions.DependencyInjection.IServiceProviderFactory,System.Action)", "summary", "df-generated"] - ["Microsoft.Extensions.Hosting", "IHostApplicationBuilder", "get_Configuration", "()", "summary", "df-generated"] - ["Microsoft.Extensions.Hosting", "IHostApplicationLifetime", "StopApplication", "()", "summary", "df-generated"] - ["Microsoft.Extensions.Hosting", "IHostBuilder", "Build", "()", "summary", "df-generated"] diff --git a/csharp/ql/lib/ext/generated/Microsoft.Extensions.Http.model.yml b/csharp/ql/lib/ext/generated/Microsoft.Extensions.Http.model.yml index f95d08e7f974..928156e16173 100644 --- a/csharp/ql/lib/ext/generated/Microsoft.Extensions.Http.model.yml +++ b/csharp/ql/lib/ext/generated/Microsoft.Extensions.Http.model.yml @@ -15,4 +15,5 @@ extensions: - ["Microsoft.Extensions.Http", "HttpClientFactoryOptions", "get_HttpMessageHandlerBuilderActions", "()", "summary", "df-generated"] - ["Microsoft.Extensions.Http", "HttpMessageHandlerBuilder", "get_AdditionalHandlers", "()", "summary", "df-generated"] - ["Microsoft.Extensions.Http", "HttpMessageHandlerBuilder", "get_Services", "()", "summary", "df-generated"] + - ["Microsoft.Extensions.Http", "IHttpMessageHandlerBuilderFilter", "Configure", "(System.Action)", "summary", "df-generated"] - ["Microsoft.Extensions.Http", "ITypedHttpClientFactory", "CreateClient", "(System.Net.Http.HttpClient)", "summary", "df-generated"] diff --git a/csharp/ql/lib/ext/generated/Microsoft.Extensions.Logging.Abstractions.model.yml b/csharp/ql/lib/ext/generated/Microsoft.Extensions.Logging.Abstractions.model.yml index 8cbf7c330b2f..78b72199f656 100644 --- a/csharp/ql/lib/ext/generated/Microsoft.Extensions.Logging.Abstractions.model.yml +++ b/csharp/ql/lib/ext/generated/Microsoft.Extensions.Logging.Abstractions.model.yml @@ -4,6 +4,7 @@ extensions: pack: codeql/csharp-all extensible: neutralModel data: + - ["Microsoft.Extensions.Logging.Abstractions", "LogEntry", "LogEntry", "(Microsoft.Extensions.Logging.LogLevel,System.String,Microsoft.Extensions.Logging.EventId,TState,System.Exception,System.Func)", "summary", "df-generated"] - ["Microsoft.Extensions.Logging.Abstractions", "LogEntry", "get_Category", "()", "summary", "df-generated"] - ["Microsoft.Extensions.Logging.Abstractions", "LogEntry", "get_EventId", "()", "summary", "df-generated"] - ["Microsoft.Extensions.Logging.Abstractions", "LogEntry", "get_Exception", "()", "summary", "df-generated"] diff --git a/csharp/ql/lib/ext/generated/Microsoft.Extensions.Logging.model.yml b/csharp/ql/lib/ext/generated/Microsoft.Extensions.Logging.model.yml index c0bc86ec28f4..22ca3029111c 100644 --- a/csharp/ql/lib/ext/generated/Microsoft.Extensions.Logging.model.yml +++ b/csharp/ql/lib/ext/generated/Microsoft.Extensions.Logging.model.yml @@ -10,13 +10,21 @@ extensions: - ["Microsoft.Extensions.Logging", "ConsoleLoggerExtensions", False, "AddConsole", "(Microsoft.Extensions.Logging.ILoggerFactory,Microsoft.Extensions.Logging.LogLevel)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.Logging", "ConsoleLoggerExtensions", False, "AddConsole", "(Microsoft.Extensions.Logging.ILoggerFactory,Microsoft.Extensions.Logging.LogLevel,System.Boolean)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.Logging", "ConsoleLoggerExtensions", False, "AddConsole", "(Microsoft.Extensions.Logging.ILoggerFactory,System.Boolean)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.Logging", "ConsoleLoggerExtensions", False, "AddConsole", "(Microsoft.Extensions.Logging.ILoggerFactory,System.Func)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.Logging", "ConsoleLoggerExtensions", False, "AddConsole", "(Microsoft.Extensions.Logging.ILoggerFactory,System.Func,System.Boolean)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.Logging", "ConsoleLoggerExtensions", False, "AddConsole", "(Microsoft.Extensions.Logging.ILoggingBuilder)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.Logging", "ConsoleLoggerExtensions", False, "AddConsole", "(Microsoft.Extensions.Logging.ILoggingBuilder,System.Action)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.Logging", "ConsoleLoggerExtensions", False, "AddConsoleFormatter", "(Microsoft.Extensions.Logging.ILoggingBuilder)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.Logging", "ConsoleLoggerExtensions", False, "AddConsoleFormatter", "(Microsoft.Extensions.Logging.ILoggingBuilder,System.Action)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.Logging", "ConsoleLoggerExtensions", False, "AddJsonConsole", "(Microsoft.Extensions.Logging.ILoggingBuilder)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.Logging", "ConsoleLoggerExtensions", False, "AddJsonConsole", "(Microsoft.Extensions.Logging.ILoggingBuilder,System.Action)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.Logging", "ConsoleLoggerExtensions", False, "AddSimpleConsole", "(Microsoft.Extensions.Logging.ILoggingBuilder)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.Logging", "ConsoleLoggerExtensions", False, "AddSimpleConsole", "(Microsoft.Extensions.Logging.ILoggingBuilder,System.Action)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.Logging", "ConsoleLoggerExtensions", False, "AddSystemdConsole", "(Microsoft.Extensions.Logging.ILoggingBuilder)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.Logging", "ConsoleLoggerExtensions", False, "AddSystemdConsole", "(Microsoft.Extensions.Logging.ILoggingBuilder,System.Action)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.Logging", "DebugLoggerFactoryExtensions", False, "AddDebug", "(Microsoft.Extensions.Logging.ILoggerFactory)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.Logging", "DebugLoggerFactoryExtensions", False, "AddDebug", "(Microsoft.Extensions.Logging.ILoggerFactory,Microsoft.Extensions.Logging.LogLevel)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.Logging", "DebugLoggerFactoryExtensions", False, "AddDebug", "(Microsoft.Extensions.Logging.ILoggerFactory,System.Func)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.Logging", "DebugLoggerFactoryExtensions", False, "AddDebug", "(Microsoft.Extensions.Logging.ILoggingBuilder)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.Logging", "EventId", False, "ToString", "()", "", "Argument[this].Property[Microsoft.Extensions.Logging.EventId.Name]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.Logging", "EventLoggerFactoryExtensions", False, "AddEventLog", "(Microsoft.Extensions.Logging.ILoggerFactory)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] @@ -24,16 +32,34 @@ extensions: - ["Microsoft.Extensions.Logging", "EventLoggerFactoryExtensions", False, "AddEventLog", "(Microsoft.Extensions.Logging.ILoggerFactory,Microsoft.Extensions.Logging.LogLevel)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.Logging", "EventLoggerFactoryExtensions", False, "AddEventLog", "(Microsoft.Extensions.Logging.ILoggingBuilder)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.Logging", "EventLoggerFactoryExtensions", False, "AddEventLog", "(Microsoft.Extensions.Logging.ILoggingBuilder,Microsoft.Extensions.Logging.EventLog.EventLogSettings)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.Logging", "EventLoggerFactoryExtensions", False, "AddEventLog", "(Microsoft.Extensions.Logging.ILoggingBuilder,System.Action)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.Logging", "EventSourceLoggerFactoryExtensions", False, "AddEventSourceLogger", "(Microsoft.Extensions.Logging.ILoggerFactory)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.Logging", "EventSourceLoggerFactoryExtensions", False, "AddEventSourceLogger", "(Microsoft.Extensions.Logging.ILoggingBuilder)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.Logging", "FilterLoggingBuilderExtensions", False, "AddFilter", "(Microsoft.Extensions.Logging.ILoggingBuilder,System.Func)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.Logging", "FilterLoggingBuilderExtensions", False, "AddFilter", "(Microsoft.Extensions.Logging.ILoggingBuilder,System.Func)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.Logging", "FilterLoggingBuilderExtensions", False, "AddFilter", "(Microsoft.Extensions.Logging.ILoggingBuilder,System.Func)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.Logging", "FilterLoggingBuilderExtensions", False, "AddFilter", "(Microsoft.Extensions.Logging.ILoggingBuilder,System.String,Microsoft.Extensions.Logging.LogLevel)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.Logging", "FilterLoggingBuilderExtensions", False, "AddFilter", "(Microsoft.Extensions.Logging.ILoggingBuilder,System.String,System.Func)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.Logging", "FilterLoggingBuilderExtensions", False, "AddFilter", "(Microsoft.Extensions.Logging.LoggerFilterOptions,System.Func)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.Logging", "FilterLoggingBuilderExtensions", False, "AddFilter", "(Microsoft.Extensions.Logging.LoggerFilterOptions,System.Func)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.Logging", "FilterLoggingBuilderExtensions", False, "AddFilter", "(Microsoft.Extensions.Logging.LoggerFilterOptions,System.Func)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.Logging", "FilterLoggingBuilderExtensions", False, "AddFilter", "(Microsoft.Extensions.Logging.LoggerFilterOptions,System.String,Microsoft.Extensions.Logging.LogLevel)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.Logging", "FilterLoggingBuilderExtensions", False, "AddFilter", "(Microsoft.Extensions.Logging.LoggerFilterOptions,System.String,System.Func)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.Logging", "FilterLoggingBuilderExtensions", False, "AddFilter", "(Microsoft.Extensions.Logging.ILoggingBuilder,System.Func)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.Logging", "FilterLoggingBuilderExtensions", False, "AddFilter", "(Microsoft.Extensions.Logging.ILoggingBuilder,System.Func)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.Logging", "FilterLoggingBuilderExtensions", False, "AddFilter", "(Microsoft.Extensions.Logging.ILoggingBuilder,System.String,Microsoft.Extensions.Logging.LogLevel)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.Logging", "FilterLoggingBuilderExtensions", False, "AddFilter", "(Microsoft.Extensions.Logging.ILoggingBuilder,System.String,System.Func)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.Logging", "FilterLoggingBuilderExtensions", False, "AddFilter", "(Microsoft.Extensions.Logging.LoggerFilterOptions,System.Func)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.Logging", "FilterLoggingBuilderExtensions", False, "AddFilter", "(Microsoft.Extensions.Logging.LoggerFilterOptions,System.Func)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.Logging", "FilterLoggingBuilderExtensions", False, "AddFilter", "(Microsoft.Extensions.Logging.LoggerFilterOptions,System.String,Microsoft.Extensions.Logging.LogLevel)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.Logging", "FilterLoggingBuilderExtensions", False, "AddFilter", "(Microsoft.Extensions.Logging.LoggerFilterOptions,System.String,System.Func)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.Logging", "IExternalScopeProvider", True, "ForEachScope", "(System.Action,TState)", "", "Argument[1]", "Argument[0].Parameter[1]", "value", "dfc-generated"] - ["Microsoft.Extensions.Logging", "IExternalScopeProvider", True, "Push", "(System.Object)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["Microsoft.Extensions.Logging", "IExternalScopeProvider", True, "Push", "(System.Object)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["Microsoft.Extensions.Logging", "ILogger", True, "BeginScope", "(TState)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["Microsoft.Extensions.Logging", "ILogger", True, "BeginScope", "(TState)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["Microsoft.Extensions.Logging", "ILogger", True, "Log", "(Microsoft.Extensions.Logging.LogLevel,Microsoft.Extensions.Logging.EventId,TState,System.Exception,System.Func)", "", "Argument[2]", "Argument[4].Parameter[0]", "value", "dfc-generated"] + - ["Microsoft.Extensions.Logging", "ILogger", True, "Log", "(Microsoft.Extensions.Logging.LogLevel,Microsoft.Extensions.Logging.EventId,TState,System.Exception,System.Func)", "", "Argument[3]", "Argument[4].Parameter[1]", "value", "dfc-generated"] - ["Microsoft.Extensions.Logging", "ILoggerFactory", True, "AddProvider", "(Microsoft.Extensions.Logging.ILoggerProvider)", "", "Argument[this]", "Argument[0]", "taint", "df-generated"] - ["Microsoft.Extensions.Logging", "ILoggerFactory", True, "CreateLogger", "(System.String)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["Microsoft.Extensions.Logging", "ILoggerProvider", True, "CreateLogger", "(System.String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] @@ -51,6 +77,7 @@ extensions: - ["Microsoft.Extensions.Logging", "LoggingBuilderExtensions", False, "AddConfiguration", "(Microsoft.Extensions.Logging.ILoggingBuilder,Microsoft.Extensions.Configuration.IConfiguration)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.Logging", "LoggingBuilderExtensions", False, "AddProvider", "(Microsoft.Extensions.Logging.ILoggingBuilder,Microsoft.Extensions.Logging.ILoggerProvider)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.Logging", "LoggingBuilderExtensions", False, "ClearProviders", "(Microsoft.Extensions.Logging.ILoggingBuilder)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.Logging", "LoggingBuilderExtensions", False, "Configure", "(Microsoft.Extensions.Logging.ILoggingBuilder,System.Action)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.Logging", "LoggingBuilderExtensions", False, "SetMinimumLevel", "(Microsoft.Extensions.Logging.ILoggingBuilder,Microsoft.Extensions.Logging.LogLevel)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.Logging", "TraceSourceFactoryExtensions", False, "AddTraceSource", "(Microsoft.Extensions.Logging.ILoggerFactory,System.Diagnostics.SourceSwitch)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.Logging", "TraceSourceFactoryExtensions", False, "AddTraceSource", "(Microsoft.Extensions.Logging.ILoggerFactory,System.Diagnostics.SourceSwitch,System.Diagnostics.TraceListener)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] @@ -105,6 +132,7 @@ extensions: - ["Microsoft.Extensions.Logging", "LoggerExtensions", "LogWarning", "(Microsoft.Extensions.Logging.ILogger,System.Exception,System.String,System.Object[])", "summary", "df-generated"] - ["Microsoft.Extensions.Logging", "LoggerExtensions", "LogWarning", "(Microsoft.Extensions.Logging.ILogger,System.String,System.Object[])", "summary", "df-generated"] - ["Microsoft.Extensions.Logging", "LoggerFactory", "CheckDisposed", "()", "summary", "df-generated"] + - ["Microsoft.Extensions.Logging", "LoggerFactory", "Create", "(System.Action)", "summary", "df-generated"] - ["Microsoft.Extensions.Logging", "LoggerFactory", "Dispose", "()", "summary", "df-generated"] - ["Microsoft.Extensions.Logging", "LoggerFactory", "LoggerFactory", "(System.Collections.Generic.IEnumerable)", "summary", "df-generated"] - ["Microsoft.Extensions.Logging", "LoggerFactory", "LoggerFactory", "(System.Collections.Generic.IEnumerable,Microsoft.Extensions.Logging.LoggerFilterOptions)", "summary", "df-generated"] @@ -112,6 +140,7 @@ extensions: - ["Microsoft.Extensions.Logging", "LoggerFactory", "LoggerFactory", "(System.Collections.Generic.IEnumerable,Microsoft.Extensions.Options.IOptionsMonitor,Microsoft.Extensions.Options.IOptions)", "summary", "df-generated"] - ["Microsoft.Extensions.Logging", "LoggerFactoryExtensions", "CreateLogger", "(Microsoft.Extensions.Logging.ILoggerFactory,System.Type)", "summary", "df-generated"] - ["Microsoft.Extensions.Logging", "LoggerFactoryExtensions", "CreateLogger", "(Microsoft.Extensions.Logging.ILoggerFactory)", "summary", "df-generated"] + - ["Microsoft.Extensions.Logging", "LoggerFilterRule", "LoggerFilterRule", "(System.String,System.String,System.Nullable,System.Func)", "summary", "df-generated"] - ["Microsoft.Extensions.Logging", "LoggerFilterRule", "get_CategoryName", "()", "summary", "df-generated"] - ["Microsoft.Extensions.Logging", "LoggerFilterRule", "get_Filter", "()", "summary", "df-generated"] - ["Microsoft.Extensions.Logging", "LoggerFilterRule", "get_LogLevel", "()", "summary", "df-generated"] diff --git a/csharp/ql/lib/ext/generated/Microsoft.Extensions.Options.model.yml b/csharp/ql/lib/ext/generated/Microsoft.Extensions.Options.model.yml index 6f3300d4c5fd..94bcb441f53e 100644 --- a/csharp/ql/lib/ext/generated/Microsoft.Extensions.Options.model.yml +++ b/csharp/ql/lib/ext/generated/Microsoft.Extensions.Options.model.yml @@ -6,6 +6,43 @@ extensions: data: - ["Microsoft.Extensions.Options", "ConfigurationChangeTokenSource", False, "ConfigurationChangeTokenSource", "(System.String,Microsoft.Extensions.Configuration.IConfiguration)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] - ["Microsoft.Extensions.Options", "ConfigurationChangeTokenSource", False, "GetChangeToken", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["Microsoft.Extensions.Options", "ConfigureNamedOptions", False, "Configure", "(TOptions)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["Microsoft.Extensions.Options", "ConfigureNamedOptions", True, "Configure", "(System.String,TOptions)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] + - ["Microsoft.Extensions.Options", "ConfigureNamedOptions", False, "Configure", "(TOptions)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["Microsoft.Extensions.Options", "ConfigureNamedOptions", True, "Configure", "(System.String,TOptions)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] + - ["Microsoft.Extensions.Options", "ConfigureNamedOptions", False, "Configure", "(TOptions)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["Microsoft.Extensions.Options", "ConfigureNamedOptions", True, "Configure", "(System.String,TOptions)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] + - ["Microsoft.Extensions.Options", "ConfigureNamedOptions", False, "Configure", "(TOptions)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["Microsoft.Extensions.Options", "ConfigureNamedOptions", True, "Configure", "(System.String,TOptions)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] + - ["Microsoft.Extensions.Options", "ConfigureNamedOptions", False, "Configure", "(TOptions)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["Microsoft.Extensions.Options", "ConfigureNamedOptions", True, "Configure", "(System.String,TOptions)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] + - ["Microsoft.Extensions.Options", "ConfigureNamedOptions", False, "Configure", "(TOptions)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["Microsoft.Extensions.Options", "ConfigureNamedOptions", True, "Configure", "(System.String,TOptions)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] + - ["Microsoft.Extensions.Options", "ConfigureOptions", True, "Configure", "(TOptions)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["Microsoft.Extensions.Options", "OptionsBuilder", True, "Configure", "(System.Action)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.Options", "OptionsBuilder", True, "Configure", "(System.Action)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.Options", "OptionsBuilder", True, "Configure", "(System.Action)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.Options", "OptionsBuilder", True, "Configure", "(System.Action)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.Options", "OptionsBuilder", True, "Configure", "(System.Action)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.Options", "OptionsBuilder", True, "Configure", "(System.Action)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.Options", "OptionsBuilder", True, "PostConfigure", "(System.Action)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.Options", "OptionsBuilder", True, "PostConfigure", "(System.Action)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.Options", "OptionsBuilder", True, "PostConfigure", "(System.Action)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.Options", "OptionsBuilder", True, "PostConfigure", "(System.Action)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.Options", "OptionsBuilder", True, "PostConfigure", "(System.Action)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.Options", "OptionsBuilder", True, "PostConfigure", "(System.Action)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.Options", "OptionsBuilder", True, "Validate", "(System.Func)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.Options", "OptionsBuilder", True, "Validate", "(System.Func,System.String)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.Options", "OptionsBuilder", True, "Validate", "(System.Func)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.Options", "OptionsBuilder", True, "Validate", "(System.Func,System.String)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.Options", "OptionsBuilder", True, "Validate", "(System.Func)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.Options", "OptionsBuilder", True, "Validate", "(System.Func,System.String)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.Options", "OptionsBuilder", True, "Validate", "(System.Func)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.Options", "OptionsBuilder", True, "Validate", "(System.Func,System.String)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.Options", "OptionsBuilder", True, "Validate", "(System.Func)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.Options", "OptionsBuilder", True, "Validate", "(System.Func,System.String)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.Options", "OptionsBuilder", True, "Validate", "(System.Func)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Extensions.Options", "OptionsBuilder", True, "Validate", "(System.Func,System.String)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.Options", "OptionsFactory", False, "OptionsFactory", "(System.Collections.Generic.IEnumerable>,System.Collections.Generic.IEnumerable>,System.Collections.Generic.IEnumerable>)", "", "Argument[0].Element", "Argument[this]", "taint", "df-generated"] - ["Microsoft.Extensions.Options", "OptionsFactory", False, "OptionsFactory", "(System.Collections.Generic.IEnumerable>,System.Collections.Generic.IEnumerable>,System.Collections.Generic.IEnumerable>)", "", "Argument[1].Element", "Argument[this]", "taint", "df-generated"] - ["Microsoft.Extensions.Options", "OptionsFactory", False, "OptionsFactory", "(System.Collections.Generic.IEnumerable>,System.Collections.Generic.IEnumerable>,System.Collections.Generic.IEnumerable>)", "", "Argument[2].Element", "Argument[this]", "taint", "df-generated"] @@ -13,6 +50,23 @@ extensions: - ["Microsoft.Extensions.Options", "OptionsMonitor", False, "OptionsMonitor", "(Microsoft.Extensions.Options.IOptionsFactory,System.Collections.Generic.IEnumerable>,Microsoft.Extensions.Options.IOptionsMonitorCache)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - ["Microsoft.Extensions.Options", "OptionsMonitor", False, "OptionsMonitor", "(Microsoft.Extensions.Options.IOptionsFactory,System.Collections.Generic.IEnumerable>,Microsoft.Extensions.Options.IOptionsMonitorCache)", "", "Argument[2]", "Argument[this]", "taint", "df-generated"] - ["Microsoft.Extensions.Options", "OptionsValidationException", True, "get_Message", "()", "", "Argument[this].Property[Microsoft.Extensions.Options.OptionsValidationException.Failures].Element", "ReturnValue", "taint", "dfc-generated"] + - ["Microsoft.Extensions.Options", "PostConfigureOptions", False, "PostConfigure", "(TOptions)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["Microsoft.Extensions.Options", "PostConfigureOptions", True, "PostConfigure", "(System.String,TOptions)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] + - ["Microsoft.Extensions.Options", "PostConfigureOptions", False, "PostConfigure", "(TOptions)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["Microsoft.Extensions.Options", "PostConfigureOptions", True, "PostConfigure", "(System.String,TOptions)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] + - ["Microsoft.Extensions.Options", "PostConfigureOptions", False, "PostConfigure", "(TOptions)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["Microsoft.Extensions.Options", "PostConfigureOptions", True, "PostConfigure", "(System.String,TOptions)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] + - ["Microsoft.Extensions.Options", "PostConfigureOptions", False, "PostConfigure", "(TOptions)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["Microsoft.Extensions.Options", "PostConfigureOptions", True, "PostConfigure", "(System.String,TOptions)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] + - ["Microsoft.Extensions.Options", "PostConfigureOptions", False, "PostConfigure", "(TOptions)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["Microsoft.Extensions.Options", "PostConfigureOptions", True, "PostConfigure", "(System.String,TOptions)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] + - ["Microsoft.Extensions.Options", "PostConfigureOptions", True, "PostConfigure", "(System.String,TOptions)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] + - ["Microsoft.Extensions.Options", "ValidateOptions", False, "Validate", "(System.String,TOptions)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] + - ["Microsoft.Extensions.Options", "ValidateOptions", False, "Validate", "(System.String,TOptions)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] + - ["Microsoft.Extensions.Options", "ValidateOptions", False, "Validate", "(System.String,TOptions)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] + - ["Microsoft.Extensions.Options", "ValidateOptions", False, "Validate", "(System.String,TOptions)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] + - ["Microsoft.Extensions.Options", "ValidateOptions", False, "Validate", "(System.String,TOptions)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] + - ["Microsoft.Extensions.Options", "ValidateOptions", False, "Validate", "(System.String,TOptions)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] - ["Microsoft.Extensions.Options", "ValidateOptionsResultBuilder", False, "AddError", "(System.String,System.String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - ["Microsoft.Extensions.Options", "ValidateOptionsResultBuilder", False, "AddError", "(System.String,System.String)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] - ["Microsoft.Extensions.Options", "ValidateOptionsResultBuilder", False, "AddResult", "(Microsoft.Extensions.Options.ValidateOptionsResult)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] @@ -25,8 +79,7 @@ extensions: - ["Microsoft.Extensions.Options", "ConfigurationChangeTokenSource", "ConfigurationChangeTokenSource", "(Microsoft.Extensions.Configuration.IConfiguration)", "summary", "df-generated"] - ["Microsoft.Extensions.Options", "ConfigurationChangeTokenSource", "get_Name", "()", "summary", "df-generated"] - ["Microsoft.Extensions.Options", "ConfigureFromConfigurationOptions", "ConfigureFromConfigurationOptions", "(Microsoft.Extensions.Configuration.IConfiguration)", "summary", "df-generated"] - - ["Microsoft.Extensions.Options", "ConfigureNamedOptions", "Configure", "(System.String,TOptions)", "summary", "df-generated"] - - ["Microsoft.Extensions.Options", "ConfigureNamedOptions", "Configure", "(TOptions)", "summary", "df-generated"] + - ["Microsoft.Extensions.Options", "ConfigureNamedOptions", "ConfigureNamedOptions", "(System.String,TDep1,TDep2,TDep3,TDep4,TDep5,System.Action)", "summary", "df-generated"] - ["Microsoft.Extensions.Options", "ConfigureNamedOptions", "get_Action", "()", "summary", "df-generated"] - ["Microsoft.Extensions.Options", "ConfigureNamedOptions", "get_Dependency1", "()", "summary", "df-generated"] - ["Microsoft.Extensions.Options", "ConfigureNamedOptions", "get_Dependency2", "()", "summary", "df-generated"] @@ -34,37 +87,32 @@ extensions: - ["Microsoft.Extensions.Options", "ConfigureNamedOptions", "get_Dependency4", "()", "summary", "df-generated"] - ["Microsoft.Extensions.Options", "ConfigureNamedOptions", "get_Dependency5", "()", "summary", "df-generated"] - ["Microsoft.Extensions.Options", "ConfigureNamedOptions", "get_Name", "()", "summary", "df-generated"] - - ["Microsoft.Extensions.Options", "ConfigureNamedOptions", "Configure", "(System.String,TOptions)", "summary", "df-generated"] - - ["Microsoft.Extensions.Options", "ConfigureNamedOptions", "Configure", "(TOptions)", "summary", "df-generated"] + - ["Microsoft.Extensions.Options", "ConfigureNamedOptions", "ConfigureNamedOptions", "(System.String,TDep1,TDep2,TDep3,TDep4,System.Action)", "summary", "df-generated"] - ["Microsoft.Extensions.Options", "ConfigureNamedOptions", "get_Action", "()", "summary", "df-generated"] - ["Microsoft.Extensions.Options", "ConfigureNamedOptions", "get_Dependency1", "()", "summary", "df-generated"] - ["Microsoft.Extensions.Options", "ConfigureNamedOptions", "get_Dependency2", "()", "summary", "df-generated"] - ["Microsoft.Extensions.Options", "ConfigureNamedOptions", "get_Dependency3", "()", "summary", "df-generated"] - ["Microsoft.Extensions.Options", "ConfigureNamedOptions", "get_Dependency4", "()", "summary", "df-generated"] - ["Microsoft.Extensions.Options", "ConfigureNamedOptions", "get_Name", "()", "summary", "df-generated"] - - ["Microsoft.Extensions.Options", "ConfigureNamedOptions", "Configure", "(System.String,TOptions)", "summary", "df-generated"] - - ["Microsoft.Extensions.Options", "ConfigureNamedOptions", "Configure", "(TOptions)", "summary", "df-generated"] + - ["Microsoft.Extensions.Options", "ConfigureNamedOptions", "ConfigureNamedOptions", "(System.String,TDep1,TDep2,TDep3,System.Action)", "summary", "df-generated"] - ["Microsoft.Extensions.Options", "ConfigureNamedOptions", "get_Action", "()", "summary", "df-generated"] - ["Microsoft.Extensions.Options", "ConfigureNamedOptions", "get_Dependency1", "()", "summary", "df-generated"] - ["Microsoft.Extensions.Options", "ConfigureNamedOptions", "get_Dependency2", "()", "summary", "df-generated"] - ["Microsoft.Extensions.Options", "ConfigureNamedOptions", "get_Dependency3", "()", "summary", "df-generated"] - ["Microsoft.Extensions.Options", "ConfigureNamedOptions", "get_Name", "()", "summary", "df-generated"] - - ["Microsoft.Extensions.Options", "ConfigureNamedOptions", "Configure", "(System.String,TOptions)", "summary", "df-generated"] - - ["Microsoft.Extensions.Options", "ConfigureNamedOptions", "Configure", "(TOptions)", "summary", "df-generated"] + - ["Microsoft.Extensions.Options", "ConfigureNamedOptions", "ConfigureNamedOptions", "(System.String,TDep1,TDep2,System.Action)", "summary", "df-generated"] - ["Microsoft.Extensions.Options", "ConfigureNamedOptions", "get_Action", "()", "summary", "df-generated"] - ["Microsoft.Extensions.Options", "ConfigureNamedOptions", "get_Dependency1", "()", "summary", "df-generated"] - ["Microsoft.Extensions.Options", "ConfigureNamedOptions", "get_Dependency2", "()", "summary", "df-generated"] - ["Microsoft.Extensions.Options", "ConfigureNamedOptions", "get_Name", "()", "summary", "df-generated"] - - ["Microsoft.Extensions.Options", "ConfigureNamedOptions", "Configure", "(System.String,TOptions)", "summary", "df-generated"] - - ["Microsoft.Extensions.Options", "ConfigureNamedOptions", "Configure", "(TOptions)", "summary", "df-generated"] + - ["Microsoft.Extensions.Options", "ConfigureNamedOptions", "ConfigureNamedOptions", "(System.String,TDep,System.Action)", "summary", "df-generated"] - ["Microsoft.Extensions.Options", "ConfigureNamedOptions", "get_Action", "()", "summary", "df-generated"] - ["Microsoft.Extensions.Options", "ConfigureNamedOptions", "get_Dependency", "()", "summary", "df-generated"] - ["Microsoft.Extensions.Options", "ConfigureNamedOptions", "get_Name", "()", "summary", "df-generated"] - - ["Microsoft.Extensions.Options", "ConfigureNamedOptions", "Configure", "(System.String,TOptions)", "summary", "df-generated"] - - ["Microsoft.Extensions.Options", "ConfigureNamedOptions", "Configure", "(TOptions)", "summary", "df-generated"] + - ["Microsoft.Extensions.Options", "ConfigureNamedOptions", "ConfigureNamedOptions", "(System.String,System.Action)", "summary", "df-generated"] - ["Microsoft.Extensions.Options", "ConfigureNamedOptions", "get_Action", "()", "summary", "df-generated"] - ["Microsoft.Extensions.Options", "ConfigureNamedOptions", "get_Name", "()", "summary", "df-generated"] - - ["Microsoft.Extensions.Options", "ConfigureOptions", "Configure", "(TOptions)", "summary", "df-generated"] + - ["Microsoft.Extensions.Options", "ConfigureOptions", "ConfigureOptions", "(System.Action)", "summary", "df-generated"] - ["Microsoft.Extensions.Options", "ConfigureOptions", "get_Action", "()", "summary", "df-generated"] - ["Microsoft.Extensions.Options", "DataAnnotationValidateOptions", "DataAnnotationValidateOptions", "(System.String)", "summary", "df-generated"] - ["Microsoft.Extensions.Options", "DataAnnotationValidateOptions", "Validate", "(System.String,TOptions)", "summary", "df-generated"] @@ -76,8 +124,10 @@ extensions: - ["Microsoft.Extensions.Options", "IOptionsChangeTokenSource", "get_Name", "()", "summary", "df-generated"] - ["Microsoft.Extensions.Options", "IOptionsFactory", "Create", "(System.String)", "summary", "df-generated"] - ["Microsoft.Extensions.Options", "IOptionsMonitor", "Get", "(System.String)", "summary", "df-generated"] + - ["Microsoft.Extensions.Options", "IOptionsMonitor", "OnChange", "(System.Action)", "summary", "df-generated"] - ["Microsoft.Extensions.Options", "IOptionsMonitor", "get_CurrentValue", "()", "summary", "df-generated"] - ["Microsoft.Extensions.Options", "IOptionsMonitorCache", "Clear", "()", "summary", "df-generated"] + - ["Microsoft.Extensions.Options", "IOptionsMonitorCache", "GetOrAdd", "(System.String,System.Func)", "summary", "df-generated"] - ["Microsoft.Extensions.Options", "IOptionsMonitorCache", "TryAdd", "(System.String,TOptions)", "summary", "df-generated"] - ["Microsoft.Extensions.Options", "IOptionsMonitorCache", "TryRemove", "(System.String)", "summary", "df-generated"] - ["Microsoft.Extensions.Options", "IOptionsSnapshot", "Get", "(System.String)", "summary", "df-generated"] @@ -85,11 +135,13 @@ extensions: - ["Microsoft.Extensions.Options", "IStartupValidator", "Validate", "()", "summary", "df-generated"] - ["Microsoft.Extensions.Options", "IValidateOptions", "Validate", "(System.String,TOptions)", "summary", "df-generated"] - ["Microsoft.Extensions.Options", "NamedConfigureFromConfigurationOptions", "NamedConfigureFromConfigurationOptions", "(System.String,Microsoft.Extensions.Configuration.IConfiguration)", "summary", "df-generated"] + - ["Microsoft.Extensions.Options", "NamedConfigureFromConfigurationOptions", "NamedConfigureFromConfigurationOptions", "(System.String,Microsoft.Extensions.Configuration.IConfiguration,System.Action)", "summary", "df-generated"] - ["Microsoft.Extensions.Options", "Options", "Create", "(TOptions)", "summary", "df-generated"] - ["Microsoft.Extensions.Options", "OptionsBuilder", "OptionsBuilder", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.String)", "summary", "df-generated"] - ["Microsoft.Extensions.Options", "OptionsBuilder", "get_Name", "()", "summary", "df-generated"] - ["Microsoft.Extensions.Options", "OptionsBuilder", "get_Services", "()", "summary", "df-generated"] - ["Microsoft.Extensions.Options", "OptionsCache", "Clear", "()", "summary", "df-generated"] + - ["Microsoft.Extensions.Options", "OptionsCache", "GetOrAdd", "(System.String,System.Func)", "summary", "df-generated"] - ["Microsoft.Extensions.Options", "OptionsCache", "TryAdd", "(System.String,TOptions)", "summary", "df-generated"] - ["Microsoft.Extensions.Options", "OptionsCache", "TryRemove", "(System.String)", "summary", "df-generated"] - ["Microsoft.Extensions.Options", "OptionsFactory", "Create", "(System.String)", "summary", "df-generated"] @@ -99,15 +151,16 @@ extensions: - ["Microsoft.Extensions.Options", "OptionsManager", "get_Value", "()", "summary", "df-generated"] - ["Microsoft.Extensions.Options", "OptionsMonitor", "Dispose", "()", "summary", "df-generated"] - ["Microsoft.Extensions.Options", "OptionsMonitor", "Get", "(System.String)", "summary", "df-generated"] + - ["Microsoft.Extensions.Options", "OptionsMonitor", "OnChange", "(System.Action)", "summary", "df-generated"] - ["Microsoft.Extensions.Options", "OptionsMonitor", "get_CurrentValue", "()", "summary", "df-generated"] + - ["Microsoft.Extensions.Options", "OptionsMonitorExtensions", "OnChange", "(Microsoft.Extensions.Options.IOptionsMonitor,System.Action)", "summary", "df-generated"] - ["Microsoft.Extensions.Options", "OptionsValidationException", "OptionsValidationException", "(System.String,System.Type,System.Collections.Generic.IEnumerable)", "summary", "df-generated"] - ["Microsoft.Extensions.Options", "OptionsValidationException", "get_Failures", "()", "summary", "df-generated"] - ["Microsoft.Extensions.Options", "OptionsValidationException", "get_OptionsName", "()", "summary", "df-generated"] - ["Microsoft.Extensions.Options", "OptionsValidationException", "get_OptionsType", "()", "summary", "df-generated"] - ["Microsoft.Extensions.Options", "OptionsWrapper", "OptionsWrapper", "(TOptions)", "summary", "df-generated"] - ["Microsoft.Extensions.Options", "OptionsWrapper", "get_Value", "()", "summary", "df-generated"] - - ["Microsoft.Extensions.Options", "PostConfigureOptions", "PostConfigure", "(System.String,TOptions)", "summary", "df-generated"] - - ["Microsoft.Extensions.Options", "PostConfigureOptions", "PostConfigure", "(TOptions)", "summary", "df-generated"] + - ["Microsoft.Extensions.Options", "PostConfigureOptions", "PostConfigureOptions", "(System.String,TDep1,TDep2,TDep3,TDep4,TDep5,System.Action)", "summary", "df-generated"] - ["Microsoft.Extensions.Options", "PostConfigureOptions", "get_Action", "()", "summary", "df-generated"] - ["Microsoft.Extensions.Options", "PostConfigureOptions", "get_Dependency1", "()", "summary", "df-generated"] - ["Microsoft.Extensions.Options", "PostConfigureOptions", "get_Dependency2", "()", "summary", "df-generated"] @@ -115,40 +168,36 @@ extensions: - ["Microsoft.Extensions.Options", "PostConfigureOptions", "get_Dependency4", "()", "summary", "df-generated"] - ["Microsoft.Extensions.Options", "PostConfigureOptions", "get_Dependency5", "()", "summary", "df-generated"] - ["Microsoft.Extensions.Options", "PostConfigureOptions", "get_Name", "()", "summary", "df-generated"] - - ["Microsoft.Extensions.Options", "PostConfigureOptions", "PostConfigure", "(System.String,TOptions)", "summary", "df-generated"] - - ["Microsoft.Extensions.Options", "PostConfigureOptions", "PostConfigure", "(TOptions)", "summary", "df-generated"] + - ["Microsoft.Extensions.Options", "PostConfigureOptions", "PostConfigureOptions", "(System.String,TDep1,TDep2,TDep3,TDep4,System.Action)", "summary", "df-generated"] - ["Microsoft.Extensions.Options", "PostConfigureOptions", "get_Action", "()", "summary", "df-generated"] - ["Microsoft.Extensions.Options", "PostConfigureOptions", "get_Dependency1", "()", "summary", "df-generated"] - ["Microsoft.Extensions.Options", "PostConfigureOptions", "get_Dependency2", "()", "summary", "df-generated"] - ["Microsoft.Extensions.Options", "PostConfigureOptions", "get_Dependency3", "()", "summary", "df-generated"] - ["Microsoft.Extensions.Options", "PostConfigureOptions", "get_Dependency4", "()", "summary", "df-generated"] - ["Microsoft.Extensions.Options", "PostConfigureOptions", "get_Name", "()", "summary", "df-generated"] - - ["Microsoft.Extensions.Options", "PostConfigureOptions", "PostConfigure", "(System.String,TOptions)", "summary", "df-generated"] - - ["Microsoft.Extensions.Options", "PostConfigureOptions", "PostConfigure", "(TOptions)", "summary", "df-generated"] + - ["Microsoft.Extensions.Options", "PostConfigureOptions", "PostConfigureOptions", "(System.String,TDep1,TDep2,TDep3,System.Action)", "summary", "df-generated"] - ["Microsoft.Extensions.Options", "PostConfigureOptions", "get_Action", "()", "summary", "df-generated"] - ["Microsoft.Extensions.Options", "PostConfigureOptions", "get_Dependency1", "()", "summary", "df-generated"] - ["Microsoft.Extensions.Options", "PostConfigureOptions", "get_Dependency2", "()", "summary", "df-generated"] - ["Microsoft.Extensions.Options", "PostConfigureOptions", "get_Dependency3", "()", "summary", "df-generated"] - ["Microsoft.Extensions.Options", "PostConfigureOptions", "get_Name", "()", "summary", "df-generated"] - - ["Microsoft.Extensions.Options", "PostConfigureOptions", "PostConfigure", "(System.String,TOptions)", "summary", "df-generated"] - - ["Microsoft.Extensions.Options", "PostConfigureOptions", "PostConfigure", "(TOptions)", "summary", "df-generated"] + - ["Microsoft.Extensions.Options", "PostConfigureOptions", "PostConfigureOptions", "(System.String,TDep1,TDep2,System.Action)", "summary", "df-generated"] - ["Microsoft.Extensions.Options", "PostConfigureOptions", "get_Action", "()", "summary", "df-generated"] - ["Microsoft.Extensions.Options", "PostConfigureOptions", "get_Dependency1", "()", "summary", "df-generated"] - ["Microsoft.Extensions.Options", "PostConfigureOptions", "get_Dependency2", "()", "summary", "df-generated"] - ["Microsoft.Extensions.Options", "PostConfigureOptions", "get_Name", "()", "summary", "df-generated"] - - ["Microsoft.Extensions.Options", "PostConfigureOptions", "PostConfigure", "(System.String,TOptions)", "summary", "df-generated"] - - ["Microsoft.Extensions.Options", "PostConfigureOptions", "PostConfigure", "(TOptions)", "summary", "df-generated"] + - ["Microsoft.Extensions.Options", "PostConfigureOptions", "PostConfigureOptions", "(System.String,TDep,System.Action)", "summary", "df-generated"] - ["Microsoft.Extensions.Options", "PostConfigureOptions", "get_Action", "()", "summary", "df-generated"] - ["Microsoft.Extensions.Options", "PostConfigureOptions", "get_Dependency", "()", "summary", "df-generated"] - ["Microsoft.Extensions.Options", "PostConfigureOptions", "get_Name", "()", "summary", "df-generated"] - - ["Microsoft.Extensions.Options", "PostConfigureOptions", "PostConfigure", "(System.String,TOptions)", "summary", "df-generated"] + - ["Microsoft.Extensions.Options", "PostConfigureOptions", "PostConfigureOptions", "(System.String,System.Action)", "summary", "df-generated"] - ["Microsoft.Extensions.Options", "PostConfigureOptions", "get_Action", "()", "summary", "df-generated"] - ["Microsoft.Extensions.Options", "PostConfigureOptions", "get_Name", "()", "summary", "df-generated"] - ["Microsoft.Extensions.Options", "ValidateEnumeratedItemsAttribute", "ValidateEnumeratedItemsAttribute", "(System.Type)", "summary", "df-generated"] - ["Microsoft.Extensions.Options", "ValidateEnumeratedItemsAttribute", "get_Validator", "()", "summary", "df-generated"] - ["Microsoft.Extensions.Options", "ValidateObjectMembersAttribute", "ValidateObjectMembersAttribute", "(System.Type)", "summary", "df-generated"] - ["Microsoft.Extensions.Options", "ValidateObjectMembersAttribute", "get_Validator", "()", "summary", "df-generated"] - - ["Microsoft.Extensions.Options", "ValidateOptions", "Validate", "(System.String,TOptions)", "summary", "df-generated"] + - ["Microsoft.Extensions.Options", "ValidateOptions", "ValidateOptions", "(System.String,TDep1,TDep2,TDep3,TDep4,TDep5,System.Func,System.String)", "summary", "df-generated"] - ["Microsoft.Extensions.Options", "ValidateOptions", "get_Dependency1", "()", "summary", "df-generated"] - ["Microsoft.Extensions.Options", "ValidateOptions", "get_Dependency2", "()", "summary", "df-generated"] - ["Microsoft.Extensions.Options", "ValidateOptions", "get_Dependency3", "()", "summary", "df-generated"] @@ -157,7 +206,7 @@ extensions: - ["Microsoft.Extensions.Options", "ValidateOptions", "get_FailureMessage", "()", "summary", "df-generated"] - ["Microsoft.Extensions.Options", "ValidateOptions", "get_Name", "()", "summary", "df-generated"] - ["Microsoft.Extensions.Options", "ValidateOptions", "get_Validation", "()", "summary", "df-generated"] - - ["Microsoft.Extensions.Options", "ValidateOptions", "Validate", "(System.String,TOptions)", "summary", "df-generated"] + - ["Microsoft.Extensions.Options", "ValidateOptions", "ValidateOptions", "(System.String,TDep1,TDep2,TDep3,TDep4,System.Func,System.String)", "summary", "df-generated"] - ["Microsoft.Extensions.Options", "ValidateOptions", "get_Dependency1", "()", "summary", "df-generated"] - ["Microsoft.Extensions.Options", "ValidateOptions", "get_Dependency2", "()", "summary", "df-generated"] - ["Microsoft.Extensions.Options", "ValidateOptions", "get_Dependency3", "()", "summary", "df-generated"] @@ -165,25 +214,25 @@ extensions: - ["Microsoft.Extensions.Options", "ValidateOptions", "get_FailureMessage", "()", "summary", "df-generated"] - ["Microsoft.Extensions.Options", "ValidateOptions", "get_Name", "()", "summary", "df-generated"] - ["Microsoft.Extensions.Options", "ValidateOptions", "get_Validation", "()", "summary", "df-generated"] - - ["Microsoft.Extensions.Options", "ValidateOptions", "Validate", "(System.String,TOptions)", "summary", "df-generated"] + - ["Microsoft.Extensions.Options", "ValidateOptions", "ValidateOptions", "(System.String,TDep1,TDep2,TDep3,System.Func,System.String)", "summary", "df-generated"] - ["Microsoft.Extensions.Options", "ValidateOptions", "get_Dependency1", "()", "summary", "df-generated"] - ["Microsoft.Extensions.Options", "ValidateOptions", "get_Dependency2", "()", "summary", "df-generated"] - ["Microsoft.Extensions.Options", "ValidateOptions", "get_Dependency3", "()", "summary", "df-generated"] - ["Microsoft.Extensions.Options", "ValidateOptions", "get_FailureMessage", "()", "summary", "df-generated"] - ["Microsoft.Extensions.Options", "ValidateOptions", "get_Name", "()", "summary", "df-generated"] - ["Microsoft.Extensions.Options", "ValidateOptions", "get_Validation", "()", "summary", "df-generated"] - - ["Microsoft.Extensions.Options", "ValidateOptions", "Validate", "(System.String,TOptions)", "summary", "df-generated"] + - ["Microsoft.Extensions.Options", "ValidateOptions", "ValidateOptions", "(System.String,TDep1,TDep2,System.Func,System.String)", "summary", "df-generated"] - ["Microsoft.Extensions.Options", "ValidateOptions", "get_Dependency1", "()", "summary", "df-generated"] - ["Microsoft.Extensions.Options", "ValidateOptions", "get_Dependency2", "()", "summary", "df-generated"] - ["Microsoft.Extensions.Options", "ValidateOptions", "get_FailureMessage", "()", "summary", "df-generated"] - ["Microsoft.Extensions.Options", "ValidateOptions", "get_Name", "()", "summary", "df-generated"] - ["Microsoft.Extensions.Options", "ValidateOptions", "get_Validation", "()", "summary", "df-generated"] - - ["Microsoft.Extensions.Options", "ValidateOptions", "Validate", "(System.String,TOptions)", "summary", "df-generated"] + - ["Microsoft.Extensions.Options", "ValidateOptions", "ValidateOptions", "(System.String,TDep,System.Func,System.String)", "summary", "df-generated"] - ["Microsoft.Extensions.Options", "ValidateOptions", "get_Dependency", "()", "summary", "df-generated"] - ["Microsoft.Extensions.Options", "ValidateOptions", "get_FailureMessage", "()", "summary", "df-generated"] - ["Microsoft.Extensions.Options", "ValidateOptions", "get_Name", "()", "summary", "df-generated"] - ["Microsoft.Extensions.Options", "ValidateOptions", "get_Validation", "()", "summary", "df-generated"] - - ["Microsoft.Extensions.Options", "ValidateOptions", "Validate", "(System.String,TOptions)", "summary", "df-generated"] + - ["Microsoft.Extensions.Options", "ValidateOptions", "ValidateOptions", "(System.String,System.Func,System.String)", "summary", "df-generated"] - ["Microsoft.Extensions.Options", "ValidateOptions", "get_FailureMessage", "()", "summary", "df-generated"] - ["Microsoft.Extensions.Options", "ValidateOptions", "get_Name", "()", "summary", "df-generated"] - ["Microsoft.Extensions.Options", "ValidateOptions", "get_Validation", "()", "summary", "df-generated"] diff --git a/csharp/ql/lib/ext/generated/Microsoft.Extensions.Primitives.model.yml b/csharp/ql/lib/ext/generated/Microsoft.Extensions.Primitives.model.yml index 5db467156546..0938e03690cb 100644 --- a/csharp/ql/lib/ext/generated/Microsoft.Extensions.Primitives.model.yml +++ b/csharp/ql/lib/ext/generated/Microsoft.Extensions.Primitives.model.yml @@ -8,6 +8,7 @@ extensions: - ["Microsoft.Extensions.Primitives", "Extensions", False, "Append", "(System.Text.StringBuilder,Microsoft.Extensions.Primitives.StringSegment)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.Primitives", "Extensions", False, "Append", "(System.Text.StringBuilder,Microsoft.Extensions.Primitives.StringSegment)", "", "Argument[1].Property[Microsoft.Extensions.Primitives.StringSegment.Buffer]", "Argument[0]", "taint", "dfc-generated"] - ["Microsoft.Extensions.Primitives", "Extensions", False, "Append", "(System.Text.StringBuilder,Microsoft.Extensions.Primitives.StringSegment)", "", "Argument[1].Property[Microsoft.Extensions.Primitives.StringSegment.Buffer]", "ReturnValue", "taint", "dfc-generated"] + - ["Microsoft.Extensions.Primitives", "IChangeToken", True, "RegisterChangeCallback", "(System.Action,System.Object)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Extensions.Primitives", "InplaceStringBuilder", False, "ToString", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["Microsoft.Extensions.Primitives", "StringSegment", False, "Substring", "(System.Int32)", "", "Argument[this].Property[Microsoft.Extensions.Primitives.StringSegment.Buffer]", "ReturnValue", "taint", "dfc-generated"] - ["Microsoft.Extensions.Primitives", "StringSegment", False, "Substring", "(System.Int32,System.Int32)", "", "Argument[this].Property[Microsoft.Extensions.Primitives.StringSegment.Buffer]", "ReturnValue", "taint", "dfc-generated"] @@ -27,6 +28,8 @@ extensions: extensible: neutralModel data: - ["Microsoft.Extensions.Primitives", "CancellationChangeToken", "get_HasChanged", "()", "summary", "df-generated"] + - ["Microsoft.Extensions.Primitives", "ChangeToken", "OnChange", "(System.Func,System.Action)", "summary", "df-generated"] + - ["Microsoft.Extensions.Primitives", "ChangeToken", "OnChange", "(System.Func,System.Action,TState)", "summary", "df-generated"] - ["Microsoft.Extensions.Primitives", "CompositeChangeToken", "CompositeChangeToken", "(System.Collections.Generic.IReadOnlyList)", "summary", "df-generated"] - ["Microsoft.Extensions.Primitives", "CompositeChangeToken", "get_ActiveChangeCallbacks", "()", "summary", "df-generated"] - ["Microsoft.Extensions.Primitives", "CompositeChangeToken", "get_ChangeTokens", "()", "summary", "df-generated"] diff --git a/csharp/ql/lib/ext/generated/Microsoft.Interop.Analyzers.model.yml b/csharp/ql/lib/ext/generated/Microsoft.Interop.Analyzers.model.yml index 63f25678ae25..33bec5f1ec7f 100644 --- a/csharp/ql/lib/ext/generated/Microsoft.Interop.Analyzers.model.yml +++ b/csharp/ql/lib/ext/generated/Microsoft.Interop.Analyzers.model.yml @@ -11,6 +11,11 @@ extensions: - ["Microsoft.Interop.Analyzers", "ConvertToSourceGeneratedInteropFixer", False, "AddExplicitDefaultBoolMarshalling", "(Microsoft.CodeAnalysis.Editing.SyntaxGenerator,Microsoft.CodeAnalysis.IMethodSymbol,Microsoft.CodeAnalysis.SyntaxNode,System.String)", "", "Argument[2]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Interop.Analyzers", "ConvertToSourceGeneratedInteropFixer", False, "AddHResultStructAsErrorMarshalling", "(Microsoft.CodeAnalysis.Editing.SyntaxGenerator,Microsoft.CodeAnalysis.IMethodSymbol,Microsoft.CodeAnalysis.SyntaxNode)", "", "Argument[2]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Interop.Analyzers", "CustomMarshallerAttributeAnalyzer+DefaultMarshalModeDiagnostics", False, "GetDefaultMarshalModeDiagnostic", "(Microsoft.CodeAnalysis.DiagnosticDescriptor)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Interop.Analyzers", "DiagnosticReporter", False, "CreateAndReportDiagnostic", "(Microsoft.CodeAnalysis.DiagnosticDescriptor,System.Collections.Immutable.ImmutableDictionary,System.Object[])", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["Microsoft.Interop.Analyzers", "DiagnosticReporter", False, "CreateAndReportDiagnostic", "(Microsoft.CodeAnalysis.DiagnosticDescriptor,System.Collections.Immutable.ImmutableDictionary,System.Object[])", "", "Argument[1].Element", "Argument[this]", "taint", "df-generated"] + - ["Microsoft.Interop.Analyzers", "DiagnosticReporter", False, "CreateAndReportDiagnostic", "(Microsoft.CodeAnalysis.DiagnosticDescriptor,System.Collections.Immutable.ImmutableDictionary,System.Object[])", "", "Argument[2].Element", "Argument[this]", "taint", "df-generated"] + - ["Microsoft.Interop.Analyzers", "DiagnosticReporter", False, "CreateAndReportDiagnostic", "(Microsoft.CodeAnalysis.DiagnosticDescriptor,System.Object[])", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["Microsoft.Interop.Analyzers", "DiagnosticReporter", False, "CreateAndReportDiagnostic", "(Microsoft.CodeAnalysis.DiagnosticDescriptor,System.Object[])", "", "Argument[1].Element", "Argument[this]", "taint", "df-generated"] - addsTo: pack: codeql/csharp-all extensible: neutralModel @@ -45,6 +50,7 @@ extensions: - ["Microsoft.Interop.Analyzers", "ConvertToLibraryImportFixer", "ParseOptionsFromDiagnostic", "(Microsoft.CodeAnalysis.Diagnostic)", "summary", "df-generated"] - ["Microsoft.Interop.Analyzers", "ConvertToLibraryImportFixer", "get_BaseEquivalenceKey", "()", "summary", "df-generated"] - ["Microsoft.Interop.Analyzers", "ConvertToLibraryImportFixer", "get_FixableDiagnosticIds", "()", "summary", "df-generated"] + - ["Microsoft.Interop.Analyzers", "ConvertToSourceGeneratedInteropFixer+ConvertToSourceGeneratedInteropFix", "ConvertToSourceGeneratedInteropFix", "(System.Func,System.Collections.Immutable.ImmutableDictionary)", "summary", "df-generated"] - ["Microsoft.Interop.Analyzers", "ConvertToSourceGeneratedInteropFixer+ConvertToSourceGeneratedInteropFix", "op_Equality", "(Microsoft.Interop.Analyzers.ConvertToSourceGeneratedInteropFixer+ConvertToSourceGeneratedInteropFix,Microsoft.Interop.Analyzers.ConvertToSourceGeneratedInteropFixer+ConvertToSourceGeneratedInteropFix)", "summary", "df-generated"] - ["Microsoft.Interop.Analyzers", "ConvertToSourceGeneratedInteropFixer+ConvertToSourceGeneratedInteropFix", "op_Inequality", "(Microsoft.Interop.Analyzers.ConvertToSourceGeneratedInteropFixer+ConvertToSourceGeneratedInteropFix,Microsoft.Interop.Analyzers.ConvertToSourceGeneratedInteropFixer+ConvertToSourceGeneratedInteropFix)", "summary", "df-generated"] - ["Microsoft.Interop.Analyzers", "ConvertToSourceGeneratedInteropFixer+Option+Bool", "Bool", "(System.Boolean)", "summary", "df-generated"] @@ -75,8 +81,8 @@ extensions: - ["Microsoft.Interop.Analyzers", "CustomMarshallerAttributeFixer", "GetFixAllProvider", "()", "summary", "df-generated"] - ["Microsoft.Interop.Analyzers", "CustomMarshallerAttributeFixer", "RegisterCodeFixesAsync", "(Microsoft.CodeAnalysis.CodeFixes.CodeFixContext)", "summary", "df-generated"] - ["Microsoft.Interop.Analyzers", "CustomMarshallerAttributeFixer", "get_FixableDiagnosticIds", "()", "summary", "df-generated"] - - ["Microsoft.Interop.Analyzers", "DiagnosticReporter", "CreateAndReportDiagnostic", "(Microsoft.CodeAnalysis.DiagnosticDescriptor,System.Collections.Immutable.ImmutableDictionary,System.Object[])", "summary", "df-generated"] - - ["Microsoft.Interop.Analyzers", "DiagnosticReporter", "CreateAndReportDiagnostic", "(Microsoft.CodeAnalysis.DiagnosticDescriptor,System.Object[])", "summary", "df-generated"] + - ["Microsoft.Interop.Analyzers", "DiagnosticReporter", "CreateForLocation", "(Microsoft.CodeAnalysis.Location,System.Action)", "summary", "df-generated"] + - ["Microsoft.Interop.Analyzers", "DiagnosticReporter", "DiagnosticReporter", "(System.Action,System.Object[]>)", "summary", "df-generated"] - ["Microsoft.Interop.Analyzers", "GeneratedComInterfaceAttributeAnalyzer", "Initialize", "(Microsoft.CodeAnalysis.Diagnostics.AnalysisContext)", "summary", "df-generated"] - ["Microsoft.Interop.Analyzers", "GeneratedComInterfaceAttributeAnalyzer", "get_SupportedDiagnostics", "()", "summary", "df-generated"] - ["Microsoft.Interop.Analyzers", "NativeMarshallingAttributeAnalyzer", "Initialize", "(Microsoft.CodeAnalysis.Diagnostics.AnalysisContext)", "summary", "df-generated"] diff --git a/csharp/ql/lib/ext/generated/Microsoft.Interop.model.yml b/csharp/ql/lib/ext/generated/Microsoft.Interop.model.yml index 1b7ebad2b05f..af1dff370c67 100644 --- a/csharp/ql/lib/ext/generated/Microsoft.Interop.model.yml +++ b/csharp/ql/lib/ext/generated/Microsoft.Interop.model.yml @@ -5,6 +5,7 @@ extensions: extensible: summaryModel data: - ["Microsoft.Interop", "ArrayMarshallingInfoProvider", False, "ArrayMarshallingInfoProvider", "(Microsoft.CodeAnalysis.Compilation)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["Microsoft.Interop", "ArrayMarshallingInfoProvider", False, "GetMarshallingInfo", "(Microsoft.CodeAnalysis.ITypeSymbol,System.Int32,Microsoft.Interop.UseSiteAttributeProvider,Microsoft.Interop.GetMarshallingInfoCallback)", "", "Argument[0].Property[Microsoft.CodeAnalysis.IArrayTypeSymbol.ElementType]", "Argument[3].Parameter[0]", "value", "dfc-generated"] - ["Microsoft.Interop", "AttributedMarshallingModelGeneratorFactory", False, "AttributedMarshallingModelGeneratorFactory", "(Microsoft.Interop.IMarshallingGeneratorFactory,Microsoft.Interop.AttributedMarshallingModelOptions)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - ["Microsoft.Interop", "AttributedMarshallingModelGeneratorFactory", False, "AttributedMarshallingModelGeneratorFactory", "(Microsoft.Interop.IMarshallingGeneratorFactory,Microsoft.Interop.AttributedMarshallingModelOptions)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] - ["Microsoft.Interop", "AttributedMarshallingModelGeneratorFactory", False, "AttributedMarshallingModelGeneratorFactory", "(Microsoft.Interop.IMarshallingGeneratorFactory,Microsoft.Interop.IMarshallingGeneratorFactory,Microsoft.Interop.AttributedMarshallingModelOptions)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] @@ -14,6 +15,7 @@ extensions: - ["Microsoft.Interop", "BlittableTypeMarshallingInfoProvider", False, "BlittableTypeMarshallingInfoProvider", "(Microsoft.CodeAnalysis.Compilation)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - ["Microsoft.Interop", "BoolMarshallerBase", False, "AsNativeType", "(Microsoft.Interop.TypePositionInfo)", "", "Argument[this].SyntheticField[Microsoft.Interop.BoolMarshallerBase._nativeType]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Interop", "BoolMarshallerBase", False, "BoolMarshallerBase", "(Microsoft.Interop.ManagedTypeInfo,System.Int32,System.Int32,System.Boolean)", "", "Argument[0]", "Argument[this].SyntheticField[Microsoft.Interop.BoolMarshallerBase._nativeType]", "value", "dfc-generated"] + - ["Microsoft.Interop", "BoundGenerators", False, "Create", "(System.Collections.Immutable.ImmutableArray,Microsoft.Interop.IMarshallingGeneratorFactory,Microsoft.Interop.StubCodeContext,Microsoft.Interop.IMarshallingGenerator,System.Collections.Immutable.ImmutableArray)", "", "Argument[0].Element", "Argument[1]", "taint", "df-generated"] - ["Microsoft.Interop", "ByValueContentsMarshalKindValidator", False, "ByValueContentsMarshalKindValidator", "(Microsoft.Interop.IMarshallingGeneratorFactory)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - ["Microsoft.Interop", "ByValueMarshalKindSupportDescriptor", False, "GetSupport", "(Microsoft.Interop.ByValueContentsMarshalKind,Microsoft.Interop.TypePositionInfo,Microsoft.Interop.StubCodeContext,Microsoft.Interop.GeneratorDiagnostic)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["Microsoft.Interop", "ByValueMarshalKindSupportInfo", False, "GetSupport", "(Microsoft.Interop.TypePositionInfo,Microsoft.Interop.StubCodeContext,Microsoft.Interop.GeneratorDiagnostic)", "", "Argument[this].Property[Microsoft.Interop.ByValueMarshalKindSupportInfo.details]", "ReturnValue.Property[Microsoft.Interop.GeneratorDiagnostic+NotRecommended.Details]", "value", "dfc-generated"] @@ -65,6 +67,11 @@ extensions: - ["Microsoft.Interop", "GeneratorDiagnosticsBag", False, "get_Diagnostics", "()", "", "Argument[this].SyntheticField[Microsoft.Interop.GeneratorDiagnosticsBag._diagnostics]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Interop", "IMarshallingGenerator", True, "AsNativeType", "(Microsoft.Interop.TypePositionInfo)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["Microsoft.Interop", "IMarshallingGenerator", True, "AsNativeType", "(Microsoft.Interop.TypePositionInfo)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["Microsoft.Interop", "IMarshallingGeneratorFactory", True, "Create", "(Microsoft.Interop.TypePositionInfo,Microsoft.Interop.StubCodeContext)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["Microsoft.Interop", "IMarshallingGeneratorFactory", True, "Create", "(Microsoft.Interop.TypePositionInfo,Microsoft.Interop.StubCodeContext)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] + - ["Microsoft.Interop", "IMarshallingGeneratorFactory", True, "Create", "(Microsoft.Interop.TypePositionInfo,Microsoft.Interop.StubCodeContext)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["Microsoft.Interop", "IMarshallingInfoAttributeParser", True, "ParseAttribute", "(Microsoft.CodeAnalysis.AttributeData,Microsoft.CodeAnalysis.ITypeSymbol,System.Int32,Microsoft.Interop.UseSiteAttributeProvider,Microsoft.Interop.GetMarshallingInfoCallback)", "", "Argument[3]", "Argument[4].Parameter[1]", "value", "dfc-generated"] + - ["Microsoft.Interop", "ITypeBasedMarshallingInfoProvider", True, "GetMarshallingInfo", "(Microsoft.CodeAnalysis.ITypeSymbol,System.Int32,Microsoft.Interop.UseSiteAttributeProvider,Microsoft.Interop.GetMarshallingInfoCallback)", "", "Argument[2]", "Argument[3].Parameter[1]", "value", "dfc-generated"] - ["Microsoft.Interop", "InteropAttributeDataExtensions", False, "WithValuesFromNamedArguments", "(T,System.Collections.Immutable.ImmutableDictionary)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Interop", "ManagedToNativeStubCodeContext", False, "GetIdentifiers", "(Microsoft.Interop.TypePositionInfo)", "", "Argument[0].Property[Microsoft.Interop.TypePositionInfo.InstanceIdentifier]", "ReturnValue.Field[System.ValueTuple`2.Item1]", "value", "dfc-generated"] - ["Microsoft.Interop", "ManagedToNativeStubCodeContext", False, "GetIdentifiers", "(Microsoft.Interop.TypePositionInfo)", "", "Argument[0].Property[Microsoft.Interop.TypePositionInfo.InstanceIdentifier]", "ReturnValue.Field[System.ValueTuple`2.Item2]", "taint", "dfc-generated"] @@ -75,6 +82,15 @@ extensions: - ["Microsoft.Interop", "ManagedTypeInfo", False, "ManagedTypeInfo", "(Microsoft.Interop.ManagedTypeInfo)", "", "Argument[0].Property[Microsoft.Interop.ManagedTypeInfo.DiagnosticFormattedName]", "Argument[this].Property[Microsoft.Interop.ManagedTypeInfo.DiagnosticFormattedName]", "value", "dfc-generated"] - ["Microsoft.Interop", "ManagedTypeInfo", False, "ManagedTypeInfo", "(Microsoft.Interop.ManagedTypeInfo)", "", "Argument[0].Property[Microsoft.Interop.ManagedTypeInfo.FullTypeName]", "Argument[this].Property[Microsoft.Interop.ManagedTypeInfo.FullTypeName]", "value", "dfc-generated"] - ["Microsoft.Interop", "ManualTypeMarshallingHelper", False, "ReplaceGenericPlaceholderInType", "(Microsoft.CodeAnalysis.ITypeSymbol,Microsoft.CodeAnalysis.INamedTypeSymbol,Microsoft.CodeAnalysis.Compilation)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Interop", "ManualTypeMarshallingHelper", False, "TryGetLinearCollectionMarshallersFromEntryType", "(Microsoft.CodeAnalysis.INamedTypeSymbol,Microsoft.CodeAnalysis.ITypeSymbol,Microsoft.CodeAnalysis.Compilation,System.Func,System.Action,System.Nullable)", "", "Argument[0].Property[Microsoft.CodeAnalysis.INamedTypeSymbol.OriginalDefinition]", "Argument[4].Parameter[0]", "value", "dfc-generated"] + - ["Microsoft.Interop", "ManualTypeMarshallingHelper", False, "TryGetMarshallersFromEntryTypeIgnoringElements", "(Microsoft.CodeAnalysis.INamedTypeSymbol,Microsoft.CodeAnalysis.ITypeSymbol,Microsoft.CodeAnalysis.Compilation,System.Action,System.Nullable)", "", "Argument[0].Property[Microsoft.CodeAnalysis.INamedTypeSymbol.OriginalDefinition]", "Argument[3].Parameter[0]", "value", "dfc-generated"] + - ["Microsoft.Interop", "ManualTypeMarshallingHelper", False, "TryGetValueMarshallersFromEntryType", "(Microsoft.CodeAnalysis.INamedTypeSymbol,Microsoft.CodeAnalysis.ITypeSymbol,Microsoft.CodeAnalysis.Compilation,System.Action,System.Nullable)", "", "Argument[0].Property[Microsoft.CodeAnalysis.INamedTypeSymbol.OriginalDefinition]", "Argument[3].Parameter[0]", "value", "dfc-generated"] + - ["Microsoft.Interop", "ManualTypeMarshallingHelper", False, "TryResolveEntryPointType", "(Microsoft.CodeAnalysis.INamedTypeSymbol,Microsoft.CodeAnalysis.ITypeSymbol,System.Boolean,System.Action,Microsoft.CodeAnalysis.ITypeSymbol)", "", "Argument[0].Property[Microsoft.CodeAnalysis.INamedTypeSymbol.OriginalDefinition]", "Argument[3].Parameter[0]", "value", "dfc-generated"] + - ["Microsoft.Interop", "ManualTypeMarshallingHelper", False, "TryResolveEntryPointType", "(Microsoft.CodeAnalysis.INamedTypeSymbol,Microsoft.CodeAnalysis.ITypeSymbol,System.Boolean,System.Action,Microsoft.CodeAnalysis.ITypeSymbol)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Interop", "ManualTypeMarshallingHelper", False, "TryResolveManagedType", "(Microsoft.CodeAnalysis.INamedTypeSymbol,Microsoft.CodeAnalysis.ITypeSymbol,System.Boolean,System.Action,Microsoft.CodeAnalysis.ITypeSymbol)", "", "Argument[0].Property[Microsoft.CodeAnalysis.INamedTypeSymbol.OriginalDefinition]", "Argument[3].Parameter[0]", "value", "dfc-generated"] + - ["Microsoft.Interop", "ManualTypeMarshallingHelper", False, "TryResolveManagedType", "(Microsoft.CodeAnalysis.INamedTypeSymbol,Microsoft.CodeAnalysis.ITypeSymbol,System.Boolean,System.Action,Microsoft.CodeAnalysis.ITypeSymbol)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["Microsoft.Interop", "ManualTypeMarshallingHelper", False, "TryResolveMarshallerType", "(Microsoft.CodeAnalysis.INamedTypeSymbol,Microsoft.CodeAnalysis.ITypeSymbol,System.Action,Microsoft.CodeAnalysis.ITypeSymbol)", "", "Argument[0].Property[Microsoft.CodeAnalysis.INamedTypeSymbol.OriginalDefinition]", "Argument[2].Parameter[0]", "value", "dfc-generated"] + - ["Microsoft.Interop", "ManualTypeMarshallingHelper", False, "TryResolveMarshallerType", "(Microsoft.CodeAnalysis.INamedTypeSymbol,Microsoft.CodeAnalysis.ITypeSymbol,System.Action,Microsoft.CodeAnalysis.ITypeSymbol)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Interop", "MarshalAsAttributeParser", False, "MarshalAsAttributeParser", "(Microsoft.Interop.GeneratorDiagnosticsBag,Microsoft.Interop.DefaultMarshallingInfo)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - ["Microsoft.Interop", "MarshalAsAttributeParser", False, "MarshalAsAttributeParser", "(Microsoft.Interop.GeneratorDiagnosticsBag,Microsoft.Interop.DefaultMarshallingInfo)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] - ["Microsoft.Interop", "MarshalAsMarshallingGeneratorFactory", False, "MarshalAsMarshallingGeneratorFactory", "(Microsoft.Interop.InteropGenerationOptions,Microsoft.Interop.IMarshallingGeneratorFactory)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] @@ -90,6 +106,9 @@ extensions: - ["Microsoft.Interop", "MarshallerHelpers", False, "GetMarshallerIdentifier", "(Microsoft.Interop.TypePositionInfo,Microsoft.Interop.StubCodeContext)", "", "Argument[1]", "ReturnValue", "taint", "df-generated"] - ["Microsoft.Interop", "MarshallerHelpers", False, "GetNativeSpanIdentifier", "(Microsoft.Interop.TypePositionInfo,Microsoft.Interop.StubCodeContext)", "", "Argument[1]", "ReturnValue", "taint", "df-generated"] - ["Microsoft.Interop", "MarshallerHelpers", False, "GetNumElementsIdentifier", "(Microsoft.Interop.TypePositionInfo,Microsoft.Interop.StubCodeContext)", "", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["Microsoft.Interop", "MarshallerHelpers", False, "GetTopologicallySortedElements", "(System.Collections.Generic.ICollection,System.Func,System.Func>)", "", "Argument[0].Element", "Argument[1].Parameter[0]", "value", "dfc-generated"] + - ["Microsoft.Interop", "MarshallerHelpers", False, "GetTopologicallySortedElements", "(System.Collections.Generic.ICollection,System.Func,System.Func>)", "", "Argument[0].Element", "Argument[2].Parameter[0]", "value", "dfc-generated"] + - ["Microsoft.Interop", "MarshallerHelpers", False, "GetTopologicallySortedElements", "(System.Collections.Generic.ICollection,System.Func,System.Func>)", "", "Argument[0].Element", "ReturnValue.Element", "value", "dfc-generated"] - ["Microsoft.Interop", "MarshallingGeneratorExtensions", False, "AsReturnType", "(Microsoft.Interop.IMarshallingGenerator,Microsoft.Interop.TypePositionInfo)", "", "Argument[1].Property[Microsoft.Interop.TypePositionInfo.ManagedType].Property[Microsoft.Interop.ManagedTypeInfo.Syntax]", "ReturnValue", "value", "dfc-generated"] - ["Microsoft.Interop", "MarshallingInfoParser", False, "MarshallingInfoParser", "(Microsoft.Interop.GeneratorDiagnosticsBag,Microsoft.Interop.IElementInfoProvider,System.Collections.Immutable.ImmutableArray,System.Collections.Immutable.ImmutableArray,System.Collections.Immutable.ImmutableArray)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - ["Microsoft.Interop", "MarshallingInfoParser", False, "MarshallingInfoParser", "(Microsoft.Interop.GeneratorDiagnosticsBag,Microsoft.Interop.IElementInfoProvider,System.Collections.Immutable.ImmutableArray,System.Collections.Immutable.ImmutableArray,System.Collections.Immutable.ImmutableArray)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] @@ -98,10 +117,8 @@ extensions: - ["Microsoft.Interop", "MarshallingInfoParser", False, "MarshallingInfoParser", "(Microsoft.Interop.GeneratorDiagnosticsBag,Microsoft.Interop.IElementInfoProvider,System.Collections.Immutable.ImmutableArray,System.Collections.Immutable.ImmutableArray,System.Collections.Immutable.ImmutableArray)", "", "Argument[4].Element", "Argument[this]", "taint", "df-generated"] - ["Microsoft.Interop", "MethodSignatureDiagnosticLocations", False, "CreateDiagnosticInfo", "(Microsoft.CodeAnalysis.DiagnosticDescriptor,Microsoft.Interop.GeneratorDiagnostic)", "", "Argument[0]", "ReturnValue.Property[Microsoft.Interop.DiagnosticInfo.Descriptor]", "value", "dfc-generated"] - ["Microsoft.Interop", "MethodSignatureDiagnosticLocations", False, "CreateDiagnosticInfo", "(Microsoft.CodeAnalysis.DiagnosticDescriptor,Microsoft.Interop.GeneratorDiagnostic)", "", "Argument[this].Property[Microsoft.Interop.MethodSignatureDiagnosticLocations.FallbackLocation]", "ReturnValue.Property[Microsoft.Interop.DiagnosticInfo.Location]", "value", "dfc-generated"] - - ["Microsoft.Interop", "MethodSignatureElementInfoProvider", False, "MethodSignatureElementInfoProvider", "(Microsoft.CodeAnalysis.Compilation,Microsoft.Interop.GeneratorDiagnosticsBag,Microsoft.CodeAnalysis.IMethodSymbol,System.Collections.Immutable.ImmutableArray)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["Microsoft.Interop", "MethodSignatureElementInfoProvider", False, "MethodSignatureElementInfoProvider", "(Microsoft.CodeAnalysis.Compilation,Microsoft.Interop.GeneratorDiagnosticsBag,Microsoft.CodeAnalysis.IMethodSymbol,System.Collections.Immutable.ImmutableArray)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] - - ["Microsoft.Interop", "MethodSignatureElementInfoProvider", False, "MethodSignatureElementInfoProvider", "(Microsoft.CodeAnalysis.Compilation,Microsoft.Interop.GeneratorDiagnosticsBag,Microsoft.CodeAnalysis.IMethodSymbol,System.Collections.Immutable.ImmutableArray)", "", "Argument[2]", "Argument[this]", "taint", "df-generated"] - - ["Microsoft.Interop", "MethodSignatureElementInfoProvider", False, "MethodSignatureElementInfoProvider", "(Microsoft.CodeAnalysis.Compilation,Microsoft.Interop.GeneratorDiagnosticsBag,Microsoft.CodeAnalysis.IMethodSymbol,System.Collections.Immutable.ImmutableArray)", "", "Argument[3].Element", "Argument[this]", "taint", "df-generated"] + - ["Microsoft.Interop", "MethodSignatureElementInfoProvider", False, "MethodSignatureElementInfoProvider", "(Microsoft.CodeAnalysis.Compilation,Microsoft.Interop.GeneratorDiagnosticsBag,Microsoft.CodeAnalysis.IMethodSymbol,System.Collections.Immutable.ImmutableArray)", "", "Argument[2]", "Argument[this].SyntheticField[Microsoft.Interop.MethodSignatureElementInfoProvider._method]", "value", "dfc-generated"] + - ["Microsoft.Interop", "MethodSignatureElementInfoProvider", False, "TryGetInfoForElementName", "(Microsoft.CodeAnalysis.AttributeData,System.String,Microsoft.Interop.GetMarshallingInfoCallback,Microsoft.Interop.IElementInfoProvider,Microsoft.Interop.TypePositionInfo)", "", "Argument[this].SyntheticField[Microsoft.Interop.MethodSignatureElementInfoProvider._method].Property[Microsoft.CodeAnalysis.IMethodSymbol.ReturnType]", "Argument[2].Parameter[0]", "value", "dfc-generated"] - ["Microsoft.Interop", "NativeMarshallingAttributeParser", False, "NativeMarshallingAttributeParser", "(Microsoft.CodeAnalysis.Compilation,Microsoft.Interop.GeneratorDiagnosticsBag)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - ["Microsoft.Interop", "NativeMarshallingAttributeParser", False, "NativeMarshallingAttributeParser", "(Microsoft.CodeAnalysis.Compilation,Microsoft.Interop.GeneratorDiagnosticsBag)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] - ["Microsoft.Interop", "NativeToManagedStubCodeContext", False, "GetIdentifiers", "(Microsoft.Interop.TypePositionInfo)", "", "Argument[0].Property[Microsoft.Interop.TypePositionInfo.InstanceIdentifier]", "ReturnValue.Field[System.ValueTuple`2.Item1]", "value", "dfc-generated"] @@ -140,7 +157,6 @@ extensions: data: - ["Microsoft.Interop", "ArrayMarshallingInfoProvider", "CanProvideMarshallingInfoForType", "(Microsoft.CodeAnalysis.ITypeSymbol)", "summary", "df-generated"] - ["Microsoft.Interop", "ArrayMarshallingInfoProvider", "CreateArrayMarshallingInfo", "(Microsoft.CodeAnalysis.Compilation,Microsoft.CodeAnalysis.ITypeSymbol,Microsoft.CodeAnalysis.ITypeSymbol,Microsoft.Interop.CountInfo,Microsoft.Interop.MarshallingInfo)", "summary", "df-generated"] - - ["Microsoft.Interop", "AttributedMarshallingModelGeneratorFactory", "Create", "(Microsoft.Interop.TypePositionInfo,Microsoft.Interop.StubCodeContext)", "summary", "df-generated"] - ["Microsoft.Interop", "AttributedMarshallingModelOptions", "AttributedMarshallingModelOptions", "(System.Boolean,Microsoft.Interop.MarshalMode,Microsoft.Interop.MarshalMode,Microsoft.Interop.MarshalMode)", "summary", "df-generated"] - ["Microsoft.Interop", "AttributedMarshallingModelOptions", "op_Equality", "(Microsoft.Interop.AttributedMarshallingModelOptions,Microsoft.Interop.AttributedMarshallingModelOptions)", "summary", "df-generated"] - ["Microsoft.Interop", "AttributedMarshallingModelOptions", "op_Inequality", "(Microsoft.Interop.AttributedMarshallingModelOptions,Microsoft.Interop.AttributedMarshallingModelOptions)", "summary", "df-generated"] @@ -159,15 +175,12 @@ extensions: - ["Microsoft.Interop", "BoundGenerator", "BoundGenerator", "(Microsoft.Interop.TypePositionInfo,Microsoft.Interop.IMarshallingGenerator)", "summary", "df-generated"] - ["Microsoft.Interop", "BoundGenerator", "op_Equality", "(Microsoft.Interop.BoundGenerator,Microsoft.Interop.BoundGenerator)", "summary", "df-generated"] - ["Microsoft.Interop", "BoundGenerator", "op_Inequality", "(Microsoft.Interop.BoundGenerator,Microsoft.Interop.BoundGenerator)", "summary", "df-generated"] - - ["Microsoft.Interop", "BoundGenerators", "Create", "(System.Collections.Immutable.ImmutableArray,Microsoft.Interop.IMarshallingGeneratorFactory,Microsoft.Interop.StubCodeContext,Microsoft.Interop.IMarshallingGenerator,System.Collections.Immutable.ImmutableArray)", "summary", "df-generated"] - ["Microsoft.Interop", "BoundGenerators", "GenerateTargetMethodSignatureData", "(Microsoft.Interop.StubCodeContext)", "summary", "df-generated"] - ["Microsoft.Interop", "BoundGenerators", "get_HasManagedExceptionMarshaller", "()", "summary", "df-generated"] - ["Microsoft.Interop", "BoundGenerators", "get_IsManagedVoidReturn", "()", "summary", "df-generated"] - ["Microsoft.Interop", "BoundGenerators", "get_IsUnmanagedVoidReturn", "()", "summary", "df-generated"] - ["Microsoft.Interop", "BoundGenerators", "get_ManagedNativeSameReturn", "()", "summary", "df-generated"] - ["Microsoft.Interop", "BreakingChangeDetector", "BreakingChangeDetector", "(Microsoft.Interop.IMarshallingGeneratorFactory)", "summary", "df-generated"] - - ["Microsoft.Interop", "BreakingChangeDetector", "Create", "(Microsoft.Interop.TypePositionInfo,Microsoft.Interop.StubCodeContext)", "summary", "df-generated"] - - ["Microsoft.Interop", "ByValueContentsMarshalKindValidator", "Create", "(Microsoft.Interop.TypePositionInfo,Microsoft.Interop.StubCodeContext)", "summary", "df-generated"] - ["Microsoft.Interop", "ByValueMarshalKindSupportDescriptor", "ByValueMarshalKindSupportDescriptor", "(Microsoft.Interop.ByValueMarshalKindSupportInfo,Microsoft.Interop.ByValueMarshalKindSupportInfo,Microsoft.Interop.ByValueMarshalKindSupportInfo,Microsoft.Interop.ByValueMarshalKindSupportInfo)", "summary", "df-generated"] - ["Microsoft.Interop", "ByValueMarshalKindSupportDescriptor", "get_EqualityContract", "()", "summary", "df-generated"] - ["Microsoft.Interop", "ByValueMarshalKindSupportDescriptor", "op_Equality", "(Microsoft.Interop.ByValueMarshalKindSupportDescriptor,Microsoft.Interop.ByValueMarshalKindSupportDescriptor)", "summary", "df-generated"] @@ -176,7 +189,6 @@ extensions: - ["Microsoft.Interop", "ByValueMarshalKindSupportInfo", "op_Equality", "(Microsoft.Interop.ByValueMarshalKindSupportInfo,Microsoft.Interop.ByValueMarshalKindSupportInfo)", "summary", "df-generated"] - ["Microsoft.Interop", "ByValueMarshalKindSupportInfo", "op_Inequality", "(Microsoft.Interop.ByValueMarshalKindSupportInfo,Microsoft.Interop.ByValueMarshalKindSupportInfo)", "summary", "df-generated"] - ["Microsoft.Interop", "ByteBoolMarshaller", "ByteBoolMarshaller", "(System.Boolean)", "summary", "df-generated"] - - ["Microsoft.Interop", "CharMarshallingGeneratorFactory", "Create", "(Microsoft.Interop.TypePositionInfo,Microsoft.Interop.StubCodeContext)", "summary", "df-generated"] - ["Microsoft.Interop", "CharMarshallingInfoProvider", "CanProvideMarshallingInfoForType", "(Microsoft.CodeAnalysis.ITypeSymbol)", "summary", "df-generated"] - ["Microsoft.Interop", "CodeEmitOptions", "CodeEmitOptions", "(System.Boolean)", "summary", "df-generated"] - ["Microsoft.Interop", "CodeEmitOptions", "op_Equality", "(Microsoft.Interop.CodeEmitOptions,Microsoft.Interop.CodeEmitOptions)", "summary", "df-generated"] @@ -262,6 +274,8 @@ extensions: - ["Microsoft.Interop", "DiagnosticOrTHelperExtensions", "Split", "(Microsoft.CodeAnalysis.IncrementalValuesProvider,T2>>)", "summary", "df-generated"] - ["Microsoft.Interop", "DiagnosticOrTHelperExtensions", "Split", "(Microsoft.CodeAnalysis.IncrementalValuesProvider>)", "summary", "df-generated"] - ["Microsoft.Interop", "DiagnosticOrTHelperExtensions", "SplitArrays", "(Microsoft.CodeAnalysis.IncrementalValuesProvider>>)", "summary", "df-generated"] + - ["Microsoft.Interop", "ElementInfoProviderExtensions", "TryGetInfoForElementName", "(Microsoft.Interop.IElementInfoProvider,Microsoft.CodeAnalysis.AttributeData,System.String,Microsoft.Interop.GetMarshallingInfoCallback,Microsoft.Interop.TypePositionInfo)", "summary", "df-generated"] + - ["Microsoft.Interop", "ElementInfoProviderExtensions", "TryGetInfoForParamIndex", "(Microsoft.Interop.IElementInfoProvider,Microsoft.CodeAnalysis.AttributeData,System.Int32,Microsoft.Interop.GetMarshallingInfoCallback,Microsoft.Interop.TypePositionInfo)", "summary", "df-generated"] - ["Microsoft.Interop", "ElementsMarshallingCollectionSourceExtensions", "GetNumElementsAssignmentFromManagedValuesDestination", "(Microsoft.Interop.IElementsMarshallingCollectionSource,Microsoft.Interop.TypePositionInfo,Microsoft.Interop.StubCodeContext)", "summary", "df-generated"] - ["Microsoft.Interop", "ElementsMarshallingCollectionSourceExtensions", "GetNumElementsAssignmentFromManagedValuesSource", "(Microsoft.Interop.IElementsMarshallingCollectionSource,Microsoft.Interop.TypePositionInfo,Microsoft.Interop.StubCodeContext)", "summary", "df-generated"] - ["Microsoft.Interop", "EnumTypeInfo", "EnumTypeInfo", "(System.String,System.String,Microsoft.CodeAnalysis.SpecialType)", "summary", "df-generated"] @@ -315,17 +329,19 @@ extensions: - ["Microsoft.Interop", "IDiagnosticDescriptorProvider", "get_ConfigurationValueNotSupported", "()", "summary", "df-generated"] - ["Microsoft.Interop", "IDiagnosticDescriptorProvider", "get_InvalidMarshallingAttributeInfo", "()", "summary", "df-generated"] - ["Microsoft.Interop", "IElementInfoProvider", "FindNameForParamIndex", "(System.Int32)", "summary", "df-generated"] + - ["Microsoft.Interop", "IElementInfoProvider", "TryGetInfoForElementName", "(Microsoft.CodeAnalysis.AttributeData,System.String,Microsoft.Interop.GetMarshallingInfoCallback,Microsoft.Interop.IElementInfoProvider,Microsoft.Interop.TypePositionInfo)", "summary", "df-generated"] + - ["Microsoft.Interop", "IElementInfoProvider", "TryGetInfoForParamIndex", "(Microsoft.CodeAnalysis.AttributeData,System.Int32,Microsoft.Interop.GetMarshallingInfoCallback,Microsoft.Interop.IElementInfoProvider,Microsoft.Interop.TypePositionInfo)", "summary", "df-generated"] - ["Microsoft.Interop", "IMarshallingGenerator", "Generate", "(Microsoft.Interop.TypePositionInfo,Microsoft.Interop.StubCodeContext)", "summary", "df-generated"] - ["Microsoft.Interop", "IMarshallingGenerator", "GetNativeSignatureBehavior", "(Microsoft.Interop.TypePositionInfo)", "summary", "df-generated"] - ["Microsoft.Interop", "IMarshallingGenerator", "GetValueBoundaryBehavior", "(Microsoft.Interop.TypePositionInfo,Microsoft.Interop.StubCodeContext)", "summary", "df-generated"] - ["Microsoft.Interop", "IMarshallingGenerator", "SupportsByValueMarshalKind", "(Microsoft.Interop.ByValueContentsMarshalKind,Microsoft.Interop.TypePositionInfo,Microsoft.Interop.StubCodeContext,Microsoft.Interop.GeneratorDiagnostic)", "summary", "df-generated"] - ["Microsoft.Interop", "IMarshallingGenerator", "UsesNativeIdentifier", "(Microsoft.Interop.TypePositionInfo,Microsoft.Interop.StubCodeContext)", "summary", "df-generated"] - - ["Microsoft.Interop", "IMarshallingGeneratorFactory", "Create", "(Microsoft.Interop.TypePositionInfo,Microsoft.Interop.StubCodeContext)", "summary", "df-generated"] - ["Microsoft.Interop", "IMarshallingInfoAttributeParser", "CanParseAttributeType", "(Microsoft.CodeAnalysis.INamedTypeSymbol)", "summary", "df-generated"] - ["Microsoft.Interop", "ISignatureDiagnosticLocations", "CreateDiagnosticInfo", "(Microsoft.CodeAnalysis.DiagnosticDescriptor,Microsoft.Interop.GeneratorDiagnostic)", "summary", "df-generated"] - ["Microsoft.Interop", "ISymbolExtensions", "IsAccessibleFromFileScopedClass", "(Microsoft.CodeAnalysis.INamedTypeSymbol,System.String)", "summary", "df-generated"] - ["Microsoft.Interop", "ITypeBasedMarshallingInfoProvider", "CanProvideMarshallingInfoForType", "(Microsoft.CodeAnalysis.ITypeSymbol)", "summary", "df-generated"] - ["Microsoft.Interop", "IUseSiteAttributeParser", "CanParseAttributeType", "(Microsoft.CodeAnalysis.INamedTypeSymbol)", "summary", "df-generated"] + - ["Microsoft.Interop", "IUseSiteAttributeParser", "ParseAttribute", "(Microsoft.CodeAnalysis.AttributeData,Microsoft.Interop.IElementInfoProvider,Microsoft.Interop.GetMarshallingInfoCallback)", "summary", "df-generated"] - ["Microsoft.Interop", "IncrementalGeneratorInitializationContextExtensions", "CreateEnvironmentFlagsProvider", "(Microsoft.CodeAnalysis.IncrementalGeneratorInitializationContext)", "summary", "df-generated"] - ["Microsoft.Interop", "IncrementalGeneratorInitializationContextExtensions", "CreateStubEnvironmentProvider", "(Microsoft.CodeAnalysis.IncrementalGeneratorInitializationContext)", "summary", "df-generated"] - ["Microsoft.Interop", "IncrementalGeneratorInitializationContextExtensions", "RegisterConcatenatedSyntaxOutputs", "(Microsoft.CodeAnalysis.IncrementalGeneratorInitializationContext,Microsoft.CodeAnalysis.IncrementalValuesProvider,System.String)", "summary", "df-generated"] @@ -361,23 +377,25 @@ extensions: - ["Microsoft.Interop", "ManualTypeMarshallingHelper", "IsLinearCollectionEntryPoint", "(Microsoft.CodeAnalysis.INamedTypeSymbol)", "summary", "df-generated"] - ["Microsoft.Interop", "ManualTypeMarshallingHelper", "ModeUsesManagedToUnmanagedShape", "(Microsoft.Interop.MarshalMode)", "summary", "df-generated"] - ["Microsoft.Interop", "ManualTypeMarshallingHelper", "ModeUsesUnmanagedToManagedShape", "(Microsoft.Interop.MarshalMode)", "summary", "df-generated"] + - ["Microsoft.Interop", "ManualTypeMarshallingHelper", "TryGetLinearCollectionMarshallersFromEntryType", "(Microsoft.CodeAnalysis.INamedTypeSymbol,Microsoft.CodeAnalysis.ITypeSymbol,Microsoft.CodeAnalysis.Compilation,System.Func,System.Nullable)", "summary", "df-generated"] - ["Microsoft.Interop", "ManualTypeMarshallingHelper", "TryGetValueMarshallersFromEntryType", "(Microsoft.CodeAnalysis.INamedTypeSymbol,Microsoft.CodeAnalysis.ITypeSymbol,Microsoft.CodeAnalysis.Compilation,System.Nullable)", "summary", "df-generated"] - ["Microsoft.Interop", "MarshalAsArrayInfo", "MarshalAsArrayInfo", "(System.Runtime.InteropServices.UnmanagedType,Microsoft.Interop.CharEncoding,System.Runtime.InteropServices.UnmanagedType,Microsoft.Interop.CountInfo)", "summary", "df-generated"] - ["Microsoft.Interop", "MarshalAsArrayInfo", "get_EqualityContract", "()", "summary", "df-generated"] - ["Microsoft.Interop", "MarshalAsArrayInfo", "op_Equality", "(Microsoft.Interop.MarshalAsArrayInfo,Microsoft.Interop.MarshalAsArrayInfo)", "summary", "df-generated"] - ["Microsoft.Interop", "MarshalAsArrayInfo", "op_Inequality", "(Microsoft.Interop.MarshalAsArrayInfo,Microsoft.Interop.MarshalAsArrayInfo)", "summary", "df-generated"] - ["Microsoft.Interop", "MarshalAsAttributeParser", "CanParseAttributeType", "(Microsoft.CodeAnalysis.INamedTypeSymbol)", "summary", "df-generated"] + - ["Microsoft.Interop", "MarshalAsAttributeParser", "ParseAttribute", "(Microsoft.CodeAnalysis.AttributeData,Microsoft.Interop.IElementInfoProvider,Microsoft.Interop.GetMarshallingInfoCallback)", "summary", "df-generated"] - ["Microsoft.Interop", "MarshalAsInfo", "MarshalAsInfo", "(System.Runtime.InteropServices.UnmanagedType,Microsoft.Interop.CharEncoding)", "summary", "df-generated"] - ["Microsoft.Interop", "MarshalAsInfo", "get_EqualityContract", "()", "summary", "df-generated"] - ["Microsoft.Interop", "MarshalAsInfo", "op_Equality", "(Microsoft.Interop.MarshalAsInfo,Microsoft.Interop.MarshalAsInfo)", "summary", "df-generated"] - ["Microsoft.Interop", "MarshalAsInfo", "op_Inequality", "(Microsoft.Interop.MarshalAsInfo,Microsoft.Interop.MarshalAsInfo)", "summary", "df-generated"] - - ["Microsoft.Interop", "MarshalAsMarshallingGeneratorFactory", "Create", "(Microsoft.Interop.TypePositionInfo,Microsoft.Interop.StubCodeContext)", "summary", "df-generated"] - ["Microsoft.Interop", "MarshalAsScalarInfo", "MarshalAsScalarInfo", "(System.Runtime.InteropServices.UnmanagedType,Microsoft.Interop.CharEncoding)", "summary", "df-generated"] - ["Microsoft.Interop", "MarshalAsScalarInfo", "get_EqualityContract", "()", "summary", "df-generated"] - ["Microsoft.Interop", "MarshalAsScalarInfo", "op_Equality", "(Microsoft.Interop.MarshalAsScalarInfo,Microsoft.Interop.MarshalAsScalarInfo)", "summary", "df-generated"] - ["Microsoft.Interop", "MarshalAsScalarInfo", "op_Inequality", "(Microsoft.Interop.MarshalAsScalarInfo,Microsoft.Interop.MarshalAsScalarInfo)", "summary", "df-generated"] - ["Microsoft.Interop", "MarshalAsWithCustomMarshallersParser", "CanParseAttributeType", "(Microsoft.CodeAnalysis.INamedTypeSymbol)", "summary", "df-generated"] - ["Microsoft.Interop", "MarshalUsingAttributeParser", "CanParseAttributeType", "(Microsoft.CodeAnalysis.INamedTypeSymbol)", "summary", "df-generated"] + - ["Microsoft.Interop", "MarshalUsingAttributeParser", "ParseAttribute", "(Microsoft.CodeAnalysis.AttributeData,Microsoft.Interop.IElementInfoProvider,Microsoft.Interop.GetMarshallingInfoCallback)", "summary", "df-generated"] - ["Microsoft.Interop", "MarshallerHelpers", "CreateClearLastSystemErrorStatement", "(System.Int32)", "summary", "df-generated"] - ["Microsoft.Interop", "MarshallerHelpers", "CreateGetLastSystemErrorStatement", "(System.String)", "summary", "df-generated"] - ["Microsoft.Interop", "MarshallerHelpers", "CreateSetLastPInvokeErrorStatement", "(System.String)", "summary", "df-generated"] @@ -407,6 +425,7 @@ extensions: - ["Microsoft.Interop", "MethodSignatureDiagnosticLocations", "op_Equality", "(Microsoft.Interop.MethodSignatureDiagnosticLocations,Microsoft.Interop.MethodSignatureDiagnosticLocations)", "summary", "df-generated"] - ["Microsoft.Interop", "MethodSignatureDiagnosticLocations", "op_Inequality", "(Microsoft.Interop.MethodSignatureDiagnosticLocations,Microsoft.Interop.MethodSignatureDiagnosticLocations)", "summary", "df-generated"] - ["Microsoft.Interop", "MethodSignatureElementInfoProvider", "FindNameForParamIndex", "(System.Int32)", "summary", "df-generated"] + - ["Microsoft.Interop", "MethodSignatureElementInfoProvider", "TryGetInfoForParamIndex", "(Microsoft.CodeAnalysis.AttributeData,System.Int32,Microsoft.Interop.GetMarshallingInfoCallback,Microsoft.Interop.IElementInfoProvider,Microsoft.Interop.TypePositionInfo)", "summary", "df-generated"] - ["Microsoft.Interop", "MissingSupportCollectionMarshallingInfo", "MissingSupportCollectionMarshallingInfo", "(Microsoft.Interop.CountInfo,Microsoft.Interop.MarshallingInfo)", "summary", "df-generated"] - ["Microsoft.Interop", "MissingSupportCollectionMarshallingInfo", "get_EqualityContract", "()", "summary", "df-generated"] - ["Microsoft.Interop", "MissingSupportCollectionMarshallingInfo", "op_Equality", "(Microsoft.Interop.MissingSupportCollectionMarshallingInfo,Microsoft.Interop.MissingSupportCollectionMarshallingInfo)", "summary", "df-generated"] @@ -444,7 +463,6 @@ extensions: - ["Microsoft.Interop", "NoMarshallingInfo", "get_EqualityContract", "()", "summary", "df-generated"] - ["Microsoft.Interop", "NoMarshallingInfo", "op_Equality", "(Microsoft.Interop.NoMarshallingInfo,Microsoft.Interop.NoMarshallingInfo)", "summary", "df-generated"] - ["Microsoft.Interop", "NoMarshallingInfo", "op_Inequality", "(Microsoft.Interop.NoMarshallingInfo,Microsoft.Interop.NoMarshallingInfo)", "summary", "df-generated"] - - ["Microsoft.Interop", "NoMarshallingInfoErrorMarshallingFactory", "Create", "(Microsoft.Interop.TypePositionInfo,Microsoft.Interop.StubCodeContext)", "summary", "df-generated"] - ["Microsoft.Interop", "NoMarshallingInfoErrorMarshallingFactory", "NoMarshallingInfoErrorMarshallingFactory", "(Microsoft.Interop.IMarshallingGeneratorFactory,System.String)", "summary", "df-generated"] - ["Microsoft.Interop", "NoMarshallingInfoErrorMarshallingFactory", "get_CustomTypeToErrorMessageMap", "()", "summary", "df-generated"] - ["Microsoft.Interop", "OwnedValueCodeContext", "get_AdditionalTemporaryStateLivesAcrossStages", "()", "summary", "df-generated"] @@ -610,7 +628,6 @@ extensions: - ["Microsoft.Interop", "UnmanagedBlittableMarshallingInfo", "get_EqualityContract", "()", "summary", "df-generated"] - ["Microsoft.Interop", "UnmanagedBlittableMarshallingInfo", "op_Equality", "(Microsoft.Interop.UnmanagedBlittableMarshallingInfo,Microsoft.Interop.UnmanagedBlittableMarshallingInfo)", "summary", "df-generated"] - ["Microsoft.Interop", "UnmanagedBlittableMarshallingInfo", "op_Inequality", "(Microsoft.Interop.UnmanagedBlittableMarshallingInfo,Microsoft.Interop.UnmanagedBlittableMarshallingInfo)", "summary", "df-generated"] - - ["Microsoft.Interop", "UnsupportedMarshallingFactory", "Create", "(Microsoft.Interop.TypePositionInfo,Microsoft.Interop.StubCodeContext)", "summary", "df-generated"] - ["Microsoft.Interop", "UseSiteAttributeData", "UseSiteAttributeData", "(System.Int32,Microsoft.Interop.CountInfo,Microsoft.CodeAnalysis.AttributeData)", "summary", "df-generated"] - ["Microsoft.Interop", "UseSiteAttributeData", "op_Equality", "(Microsoft.Interop.UseSiteAttributeData,Microsoft.Interop.UseSiteAttributeData)", "summary", "df-generated"] - ["Microsoft.Interop", "UseSiteAttributeData", "op_Inequality", "(Microsoft.Interop.UseSiteAttributeData,Microsoft.Interop.UseSiteAttributeData)", "summary", "df-generated"] @@ -632,6 +649,7 @@ extensions: - ["Microsoft.Interop", "ValueEqualityImmutableDictionary", "get_IsReadOnly", "()", "summary", "df-generated"] - ["Microsoft.Interop", "ValueEqualityImmutableDictionary", "op_Equality", "(Microsoft.Interop.ValueEqualityImmutableDictionary,Microsoft.Interop.ValueEqualityImmutableDictionary)", "summary", "df-generated"] - ["Microsoft.Interop", "ValueEqualityImmutableDictionary", "op_Inequality", "(Microsoft.Interop.ValueEqualityImmutableDictionary,Microsoft.Interop.ValueEqualityImmutableDictionary)", "summary", "df-generated"] + - ["Microsoft.Interop", "ValueEqualityImmutableDictionaryHelperExtensions", "ToValueEqualityImmutableDictionary", "(System.Collections.Generic.IEnumerable,System.Func,System.Func)", "summary", "df-generated"] - ["Microsoft.Interop", "ValueEqualityImmutableDictionaryHelperExtensions", "ToValueEquals", "(System.Collections.Immutable.ImmutableDictionary)", "summary", "df-generated"] - ["Microsoft.Interop", "ValueTypeInfo", "ValueTypeInfo", "(System.String,System.String,System.Boolean)", "summary", "df-generated"] - ["Microsoft.Interop", "ValueTypeInfo", "get_EqualityContract", "()", "summary", "df-generated"] diff --git a/csharp/ql/lib/ext/generated/Microsoft.WebAssembly.Build.Tasks.model.yml b/csharp/ql/lib/ext/generated/Microsoft.WebAssembly.Build.Tasks.model.yml index ac9e70477b26..b66f35842d63 100644 --- a/csharp/ql/lib/ext/generated/Microsoft.WebAssembly.Build.Tasks.model.yml +++ b/csharp/ql/lib/ext/generated/Microsoft.WebAssembly.Build.Tasks.model.yml @@ -29,6 +29,7 @@ extensions: - ["Microsoft.WebAssembly.Build.Tasks", "WasmAppBuilderBaseTask", "AddToRuntimeConfig", "(System.Text.Json.Nodes.JsonObject,System.Text.Json.Nodes.JsonArray,System.Text.Json.Nodes.JsonArray)", "summary", "df-generated"] - ["Microsoft.WebAssembly.Build.Tasks", "WasmAppBuilderBaseTask", "Execute", "()", "summary", "df-generated"] - ["Microsoft.WebAssembly.Build.Tasks", "WasmAppBuilderBaseTask", "ExecuteInternal", "()", "summary", "df-generated"] + - ["Microsoft.WebAssembly.Build.Tasks", "WasmAppBuilderBaseTask", "ProcessSatelliteAssemblies", "(System.Action>)", "summary", "df-generated"] - ["Microsoft.WebAssembly.Build.Tasks", "WasmAppBuilderBaseTask", "ValidateArguments", "()", "summary", "df-generated"] - ["Microsoft.WebAssembly.Build.Tasks", "WasmAppBuilderBaseTask", "get_FileWrites", "()", "summary", "df-generated"] - ["Microsoft.WebAssembly.Build.Tasks", "WasmCalculateInitialHeapSize", "Execute", "()", "summary", "df-generated"] diff --git a/csharp/ql/lib/ext/generated/Microsoft.Win32.model.yml b/csharp/ql/lib/ext/generated/Microsoft.Win32.model.yml index a918d43fa136..5410725c1548 100644 --- a/csharp/ql/lib/ext/generated/Microsoft.Win32.model.yml +++ b/csharp/ql/lib/ext/generated/Microsoft.Win32.model.yml @@ -64,6 +64,34 @@ extensions: - ["Microsoft.Win32", "SystemEvents", "CreateTimer", "(System.Int32)", "summary", "df-generated"] - ["Microsoft.Win32", "SystemEvents", "InvokeOnEventsThread", "(System.Delegate)", "summary", "df-generated"] - ["Microsoft.Win32", "SystemEvents", "KillTimer", "(System.IntPtr)", "summary", "df-generated"] + - ["Microsoft.Win32", "SystemEvents", "add_DisplaySettingsChanged", "(System.EventHandler)", "summary", "df-generated"] + - ["Microsoft.Win32", "SystemEvents", "add_DisplaySettingsChanging", "(System.EventHandler)", "summary", "df-generated"] + - ["Microsoft.Win32", "SystemEvents", "add_EventsThreadShutdown", "(System.EventHandler)", "summary", "df-generated"] + - ["Microsoft.Win32", "SystemEvents", "add_InstalledFontsChanged", "(System.EventHandler)", "summary", "df-generated"] + - ["Microsoft.Win32", "SystemEvents", "add_LowMemory", "(System.EventHandler)", "summary", "df-generated"] + - ["Microsoft.Win32", "SystemEvents", "add_PaletteChanged", "(System.EventHandler)", "summary", "df-generated"] + - ["Microsoft.Win32", "SystemEvents", "add_PowerModeChanged", "(Microsoft.Win32.PowerModeChangedEventHandler)", "summary", "df-generated"] + - ["Microsoft.Win32", "SystemEvents", "add_SessionEnded", "(Microsoft.Win32.SessionEndedEventHandler)", "summary", "df-generated"] + - ["Microsoft.Win32", "SystemEvents", "add_SessionEnding", "(Microsoft.Win32.SessionEndingEventHandler)", "summary", "df-generated"] + - ["Microsoft.Win32", "SystemEvents", "add_SessionSwitch", "(Microsoft.Win32.SessionSwitchEventHandler)", "summary", "df-generated"] + - ["Microsoft.Win32", "SystemEvents", "add_TimeChanged", "(System.EventHandler)", "summary", "df-generated"] + - ["Microsoft.Win32", "SystemEvents", "add_TimerElapsed", "(Microsoft.Win32.TimerElapsedEventHandler)", "summary", "df-generated"] + - ["Microsoft.Win32", "SystemEvents", "add_UserPreferenceChanged", "(Microsoft.Win32.UserPreferenceChangedEventHandler)", "summary", "df-generated"] + - ["Microsoft.Win32", "SystemEvents", "add_UserPreferenceChanging", "(Microsoft.Win32.UserPreferenceChangingEventHandler)", "summary", "df-generated"] + - ["Microsoft.Win32", "SystemEvents", "remove_DisplaySettingsChanged", "(System.EventHandler)", "summary", "df-generated"] + - ["Microsoft.Win32", "SystemEvents", "remove_DisplaySettingsChanging", "(System.EventHandler)", "summary", "df-generated"] + - ["Microsoft.Win32", "SystemEvents", "remove_EventsThreadShutdown", "(System.EventHandler)", "summary", "df-generated"] + - ["Microsoft.Win32", "SystemEvents", "remove_InstalledFontsChanged", "(System.EventHandler)", "summary", "df-generated"] + - ["Microsoft.Win32", "SystemEvents", "remove_LowMemory", "(System.EventHandler)", "summary", "df-generated"] + - ["Microsoft.Win32", "SystemEvents", "remove_PaletteChanged", "(System.EventHandler)", "summary", "df-generated"] + - ["Microsoft.Win32", "SystemEvents", "remove_PowerModeChanged", "(Microsoft.Win32.PowerModeChangedEventHandler)", "summary", "df-generated"] + - ["Microsoft.Win32", "SystemEvents", "remove_SessionEnded", "(Microsoft.Win32.SessionEndedEventHandler)", "summary", "df-generated"] + - ["Microsoft.Win32", "SystemEvents", "remove_SessionEnding", "(Microsoft.Win32.SessionEndingEventHandler)", "summary", "df-generated"] + - ["Microsoft.Win32", "SystemEvents", "remove_SessionSwitch", "(Microsoft.Win32.SessionSwitchEventHandler)", "summary", "df-generated"] + - ["Microsoft.Win32", "SystemEvents", "remove_TimeChanged", "(System.EventHandler)", "summary", "df-generated"] + - ["Microsoft.Win32", "SystemEvents", "remove_TimerElapsed", "(Microsoft.Win32.TimerElapsedEventHandler)", "summary", "df-generated"] + - ["Microsoft.Win32", "SystemEvents", "remove_UserPreferenceChanged", "(Microsoft.Win32.UserPreferenceChangedEventHandler)", "summary", "df-generated"] + - ["Microsoft.Win32", "SystemEvents", "remove_UserPreferenceChanging", "(Microsoft.Win32.UserPreferenceChangingEventHandler)", "summary", "df-generated"] - ["Microsoft.Win32", "TimerElapsedEventArgs", "TimerElapsedEventArgs", "(System.IntPtr)", "summary", "df-generated"] - ["Microsoft.Win32", "TimerElapsedEventArgs", "get_TimerId", "()", "summary", "df-generated"] - ["Microsoft.Win32", "UserPreferenceChangedEventArgs", "UserPreferenceChangedEventArgs", "(Microsoft.Win32.UserPreferenceCategory)", "summary", "df-generated"] diff --git a/csharp/ql/lib/ext/generated/Mono.Linker.Steps.model.yml b/csharp/ql/lib/ext/generated/Mono.Linker.Steps.model.yml index e31e94b889b1..999d5e420ca9 100644 --- a/csharp/ql/lib/ext/generated/Mono.Linker.Steps.model.yml +++ b/csharp/ql/lib/ext/generated/Mono.Linker.Steps.model.yml @@ -37,6 +37,9 @@ extensions: - ["Mono.Linker.Steps", "MarkStep", False, "MarkCustomAttributeFields", "(Mono.Cecil.ICustomAttribute,Mono.Cecil.TypeDefinition)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] - ["Mono.Linker.Steps", "MarkStep", False, "MarkField", "(Mono.Cecil.FieldReference,Mono.Linker.DependencyInfo,Mono.Linker.MessageOrigin)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - ["Mono.Linker.Steps", "MarkStep", False, "MarkFields", "(Mono.Cecil.TypeDefinition,System.Boolean,Mono.Linker.DependencyInfo,System.Boolean)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["Mono.Linker.Steps", "MarkStep", False, "MarkMethodIf", "(Mono.Collections.Generic.Collection,System.Func,Mono.Linker.DependencyInfo,Mono.Linker.MessageOrigin)", "", "Argument[0].Element", "Argument[1].Parameter[0]", "value", "dfc-generated"] + - ["Mono.Linker.Steps", "MarkStep", False, "MarkMethodIf", "(Mono.Collections.Generic.Collection,System.Func,Mono.Linker.DependencyInfo,Mono.Linker.MessageOrigin)", "", "Argument[0].Element", "ReturnValue", "value", "dfc-generated"] + - ["Mono.Linker.Steps", "MarkStep", False, "MarkMethodsIf", "(Mono.Collections.Generic.Collection,System.Func,Mono.Linker.DependencyInfo,Mono.Linker.MessageOrigin)", "", "Argument[0].Element", "Argument[1].Parameter[0]", "value", "dfc-generated"] - ["Mono.Linker.Steps", "MarkStep", False, "MarkProperty", "(Mono.Cecil.PropertyDefinition,Mono.Linker.DependencyInfo)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - ["Mono.Linker.Steps", "MarkStep", False, "MarkStaticFields", "(Mono.Cecil.TypeDefinition,Mono.Linker.DependencyInfo)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - ["Mono.Linker.Steps", "MarkStep", False, "get_Annotations", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] @@ -65,6 +68,9 @@ extensions: - ["Mono.Linker.Steps", "MarkStep", True, "Process", "(Mono.Linker.LinkContext)", "", "Argument[0]", "Argument[this].SyntheticField[Mono.Linker.Steps.MarkStep._context]", "value", "dfc-generated"] - ["Mono.Linker.Steps", "MarkStep", True, "ProcessLinkerSpecialAttribute", "(Mono.Cecil.CustomAttribute,Mono.Cecil.ICustomAttributeProvider,Mono.Linker.DependencyInfo)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] - ["Mono.Linker.Steps", "MarkStep", True, "ProcessMethod", "(Mono.Cecil.MethodDefinition,Mono.Linker.DependencyInfo,Mono.Linker.MessageOrigin)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["Mono.Linker.Steps", "MarkStepContext", True, "RegisterMarkAssemblyAction", "(System.Action)", "", "Argument[0]", "Argument[this].Property[Mono.Linker.Steps.MarkStepContext.MarkAssemblyActions].Element", "value", "dfc-generated"] + - ["Mono.Linker.Steps", "MarkStepContext", True, "RegisterMarkMethodAction", "(System.Action)", "", "Argument[0]", "Argument[this].Property[Mono.Linker.Steps.MarkStepContext.MarkMethodActions].Element", "value", "dfc-generated"] + - ["Mono.Linker.Steps", "MarkStepContext", True, "RegisterMarkTypeAction", "(System.Action)", "", "Argument[0]", "Argument[this].Property[Mono.Linker.Steps.MarkStepContext.MarkTypeActions].Element", "value", "dfc-generated"] - ["Mono.Linker.Steps", "OutputStep", True, "GetAssemblyFileName", "(Mono.Cecil.AssemblyDefinition,System.String)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] - ["Mono.Linker.Steps", "ProcessLinkerXmlBase", False, "GetAttribute", "(System.Xml.XPath.XPathNavigator,System.String)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["Mono.Linker.Steps", "ProcessLinkerXmlBase", False, "GetEvent", "(Mono.Cecil.TypeDefinition,System.String)", "", "Argument[0].Property[Mono.Cecil.TypeDefinition.Events].Element", "ReturnValue", "value", "dfc-generated"] @@ -156,6 +162,9 @@ extensions: - ["Mono.Linker.Steps", "LinkAttributesParser", "get_AllowedAssemblySelector", "()", "summary", "df-generated"] - ["Mono.Linker.Steps", "LinkAttributesStep", "LinkAttributesStep", "(System.IO.Stream,System.String)", "summary", "df-generated"] - ["Mono.Linker.Steps", "LinkAttributesStep", "Process", "()", "summary", "df-generated"] + - ["Mono.Linker.Steps", "MarkContext", "RegisterMarkAssemblyAction", "(System.Action)", "summary", "df-generated"] + - ["Mono.Linker.Steps", "MarkContext", "RegisterMarkMethodAction", "(System.Action)", "summary", "df-generated"] + - ["Mono.Linker.Steps", "MarkContext", "RegisterMarkTypeAction", "(System.Action)", "summary", "df-generated"] - ["Mono.Linker.Steps", "MarkExportedTypesTarget", "ProcessAssembly", "(Mono.Cecil.AssemblyDefinition,Mono.Linker.LinkContext)", "summary", "df-generated"] - ["Mono.Linker.Steps", "MarkScopeStack", "AssertIsEmpty", "()", "summary", "df-generated"] - ["Mono.Linker.Steps", "MarkScopeStack", "UpdateCurrentScopeInstructionOffset", "(System.Int32)", "summary", "df-generated"] diff --git a/csharp/ql/lib/ext/generated/System.CodeDom.model.yml b/csharp/ql/lib/ext/generated/System.CodeDom.model.yml index d2d52eb2755e..53acccecc0fe 100644 --- a/csharp/ql/lib/ext/generated/System.CodeDom.model.yml +++ b/csharp/ql/lib/ext/generated/System.CodeDom.model.yml @@ -264,8 +264,14 @@ extensions: - ["System.CodeDom", "CodeIterationStatement", "CodeIterationStatement", "(System.CodeDom.CodeStatement,System.CodeDom.CodeExpression,System.CodeDom.CodeStatement,System.CodeDom.CodeStatement[])", "summary", "df-generated"] - ["System.CodeDom", "CodeIterationStatement", "get_Statements", "()", "summary", "df-generated"] - ["System.CodeDom", "CodeMemberEvent", "get_ImplementationTypes", "()", "summary", "df-generated"] + - ["System.CodeDom", "CodeMemberMethod", "add_PopulateImplementationTypes", "(System.EventHandler)", "summary", "df-generated"] + - ["System.CodeDom", "CodeMemberMethod", "add_PopulateParameters", "(System.EventHandler)", "summary", "df-generated"] + - ["System.CodeDom", "CodeMemberMethod", "add_PopulateStatements", "(System.EventHandler)", "summary", "df-generated"] - ["System.CodeDom", "CodeMemberMethod", "get_ReturnTypeCustomAttributes", "()", "summary", "df-generated"] - ["System.CodeDom", "CodeMemberMethod", "get_TypeParameters", "()", "summary", "df-generated"] + - ["System.CodeDom", "CodeMemberMethod", "remove_PopulateImplementationTypes", "(System.EventHandler)", "summary", "df-generated"] + - ["System.CodeDom", "CodeMemberMethod", "remove_PopulateParameters", "(System.EventHandler)", "summary", "df-generated"] + - ["System.CodeDom", "CodeMemberMethod", "remove_PopulateStatements", "(System.EventHandler)", "summary", "df-generated"] - ["System.CodeDom", "CodeMemberProperty", "get_GetStatements", "()", "summary", "df-generated"] - ["System.CodeDom", "CodeMemberProperty", "get_ImplementationTypes", "()", "summary", "df-generated"] - ["System.CodeDom", "CodeMemberProperty", "get_Parameters", "()", "summary", "df-generated"] @@ -274,6 +280,12 @@ extensions: - ["System.CodeDom", "CodeMethodInvokeExpression", "get_Parameters", "()", "summary", "df-generated"] - ["System.CodeDom", "CodeMethodReferenceExpression", "get_TypeArguments", "()", "summary", "df-generated"] - ["System.CodeDom", "CodeMethodReturnStatement", "CodeMethodReturnStatement", "(System.CodeDom.CodeExpression)", "summary", "df-generated"] + - ["System.CodeDom", "CodeNamespace", "add_PopulateComments", "(System.EventHandler)", "summary", "df-generated"] + - ["System.CodeDom", "CodeNamespace", "add_PopulateImports", "(System.EventHandler)", "summary", "df-generated"] + - ["System.CodeDom", "CodeNamespace", "add_PopulateTypes", "(System.EventHandler)", "summary", "df-generated"] + - ["System.CodeDom", "CodeNamespace", "remove_PopulateComments", "(System.EventHandler)", "summary", "df-generated"] + - ["System.CodeDom", "CodeNamespace", "remove_PopulateImports", "(System.EventHandler)", "summary", "df-generated"] + - ["System.CodeDom", "CodeNamespace", "remove_PopulateTypes", "(System.EventHandler)", "summary", "df-generated"] - ["System.CodeDom", "CodeNamespaceCollection", "Contains", "(System.CodeDom.CodeNamespace)", "summary", "df-generated"] - ["System.CodeDom", "CodeNamespaceCollection", "IndexOf", "(System.CodeDom.CodeNamespace)", "summary", "df-generated"] - ["System.CodeDom", "CodeNamespaceCollection", "Remove", "(System.CodeDom.CodeNamespace)", "summary", "df-generated"] @@ -306,7 +318,11 @@ extensions: - ["System.CodeDom", "CodeTryCatchFinallyStatement", "get_CatchClauses", "()", "summary", "df-generated"] - ["System.CodeDom", "CodeTryCatchFinallyStatement", "get_FinallyStatements", "()", "summary", "df-generated"] - ["System.CodeDom", "CodeTryCatchFinallyStatement", "get_TryStatements", "()", "summary", "df-generated"] + - ["System.CodeDom", "CodeTypeDeclaration", "add_PopulateBaseTypes", "(System.EventHandler)", "summary", "df-generated"] + - ["System.CodeDom", "CodeTypeDeclaration", "add_PopulateMembers", "(System.EventHandler)", "summary", "df-generated"] - ["System.CodeDom", "CodeTypeDeclaration", "get_TypeParameters", "()", "summary", "df-generated"] + - ["System.CodeDom", "CodeTypeDeclaration", "remove_PopulateBaseTypes", "(System.EventHandler)", "summary", "df-generated"] + - ["System.CodeDom", "CodeTypeDeclaration", "remove_PopulateMembers", "(System.EventHandler)", "summary", "df-generated"] - ["System.CodeDom", "CodeTypeDeclarationCollection", "Contains", "(System.CodeDom.CodeTypeDeclaration)", "summary", "df-generated"] - ["System.CodeDom", "CodeTypeDeclarationCollection", "IndexOf", "(System.CodeDom.CodeTypeDeclaration)", "summary", "df-generated"] - ["System.CodeDom", "CodeTypeDeclarationCollection", "Remove", "(System.CodeDom.CodeTypeDeclaration)", "summary", "df-generated"] diff --git a/csharp/ql/lib/ext/generated/System.Collections.Concurrent.model.yml b/csharp/ql/lib/ext/generated/System.Collections.Concurrent.model.yml index fb065263d80f..7b3be3d8da64 100644 --- a/csharp/ql/lib/ext/generated/System.Collections.Concurrent.model.yml +++ b/csharp/ql/lib/ext/generated/System.Collections.Concurrent.model.yml @@ -15,7 +15,25 @@ extensions: - ["System.Collections.Concurrent", "ConcurrentBag", False, "TryAdd", "(T)", "", "Argument[0]", "Argument[this].Element", "value", "dfc-generated"] - ["System.Collections.Concurrent", "ConcurrentBag", False, "TryPeek", "(T)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["System.Collections.Concurrent", "ConcurrentBag", False, "TryTake", "(T)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["System.Collections.Concurrent", "ConcurrentDictionary", False, "AddOrUpdate", "(TKey,System.Func,System.Func)", "", "Argument[0]", "Argument[1].Parameter[0]", "value", "dfc-generated"] + - ["System.Collections.Concurrent", "ConcurrentDictionary", False, "AddOrUpdate", "(TKey,System.Func,System.Func)", "", "Argument[0]", "Argument[2].Parameter[0]", "value", "dfc-generated"] + - ["System.Collections.Concurrent", "ConcurrentDictionary", False, "AddOrUpdate", "(TKey,System.Func,System.Func)", "", "Argument[1].ReturnValue", "ReturnValue", "value", "dfc-generated"] + - ["System.Collections.Concurrent", "ConcurrentDictionary", False, "AddOrUpdate", "(TKey,System.Func,System.Func)", "", "Argument[2].ReturnValue", "ReturnValue", "value", "dfc-generated"] + - ["System.Collections.Concurrent", "ConcurrentDictionary", False, "AddOrUpdate", "(TKey,TValue,System.Func)", "", "Argument[0]", "Argument[2].Parameter[0]", "value", "dfc-generated"] + - ["System.Collections.Concurrent", "ConcurrentDictionary", False, "AddOrUpdate", "(TKey,TValue,System.Func)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["System.Collections.Concurrent", "ConcurrentDictionary", False, "AddOrUpdate", "(TKey,TValue,System.Func)", "", "Argument[2].ReturnValue", "ReturnValue", "value", "dfc-generated"] + - ["System.Collections.Concurrent", "ConcurrentDictionary", False, "AddOrUpdate", "(TKey,System.Func,System.Func,TArg)", "", "Argument[0]", "Argument[1].Parameter[0]", "value", "dfc-generated"] + - ["System.Collections.Concurrent", "ConcurrentDictionary", False, "AddOrUpdate", "(TKey,System.Func,System.Func,TArg)", "", "Argument[0]", "Argument[2].Parameter[0]", "value", "dfc-generated"] + - ["System.Collections.Concurrent", "ConcurrentDictionary", False, "AddOrUpdate", "(TKey,System.Func,System.Func,TArg)", "", "Argument[1].ReturnValue", "ReturnValue", "value", "dfc-generated"] + - ["System.Collections.Concurrent", "ConcurrentDictionary", False, "AddOrUpdate", "(TKey,System.Func,System.Func,TArg)", "", "Argument[2].ReturnValue", "ReturnValue", "value", "dfc-generated"] + - ["System.Collections.Concurrent", "ConcurrentDictionary", False, "AddOrUpdate", "(TKey,System.Func,System.Func,TArg)", "", "Argument[3]", "Argument[1].Parameter[1]", "value", "dfc-generated"] + - ["System.Collections.Concurrent", "ConcurrentDictionary", False, "AddOrUpdate", "(TKey,System.Func,System.Func,TArg)", "", "Argument[3]", "Argument[2].Parameter[2]", "value", "dfc-generated"] + - ["System.Collections.Concurrent", "ConcurrentDictionary", False, "GetOrAdd", "(TKey,System.Func)", "", "Argument[0]", "Argument[1].Parameter[0]", "value", "dfc-generated"] + - ["System.Collections.Concurrent", "ConcurrentDictionary", False, "GetOrAdd", "(TKey,System.Func)", "", "Argument[1].ReturnValue", "ReturnValue", "value", "dfc-generated"] - ["System.Collections.Concurrent", "ConcurrentDictionary", False, "GetOrAdd", "(TKey,TValue)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["System.Collections.Concurrent", "ConcurrentDictionary", False, "GetOrAdd", "(TKey,System.Func,TArg)", "", "Argument[0]", "Argument[1].Parameter[0]", "value", "dfc-generated"] + - ["System.Collections.Concurrent", "ConcurrentDictionary", False, "GetOrAdd", "(TKey,System.Func,TArg)", "", "Argument[1].ReturnValue", "ReturnValue", "value", "dfc-generated"] + - ["System.Collections.Concurrent", "ConcurrentDictionary", False, "GetOrAdd", "(TKey,System.Func,TArg)", "", "Argument[2]", "Argument[1].Parameter[1]", "value", "dfc-generated"] - ["System.Collections.Concurrent", "ConcurrentDictionary", False, "get_Comparer", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["System.Collections.Concurrent", "ConcurrentStack", False, "ConcurrentStack", "(System.Collections.Generic.IEnumerable)", "", "Argument[0].Element", "Argument[this].SyntheticField[System.Collections.Concurrent.ConcurrentStack`1._head].SyntheticField[System.Collections.Concurrent.ConcurrentStack`1+Node._value]", "value", "dfc-generated"] - ["System.Collections.Concurrent", "ConcurrentStack", False, "TryPeek", "(T)", "", "Argument[this].SyntheticField[System.Collections.Concurrent.ConcurrentStack`1._head].SyntheticField[System.Collections.Concurrent.ConcurrentStack`1+Node._value]", "ReturnValue", "value", "dfc-generated"] diff --git a/csharp/ql/lib/ext/generated/System.Collections.Frozen.model.yml b/csharp/ql/lib/ext/generated/System.Collections.Frozen.model.yml index ace22bbd68ce..03b5409fa096 100644 --- a/csharp/ql/lib/ext/generated/System.Collections.Frozen.model.yml +++ b/csharp/ql/lib/ext/generated/System.Collections.Frozen.model.yml @@ -19,6 +19,8 @@ extensions: pack: codeql/csharp-all extensible: neutralModel data: + - ["System.Collections.Frozen", "FrozenDictionary", "ToFrozenDictionary", "(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Collections.Generic.IEqualityComparer)", "summary", "df-generated"] + - ["System.Collections.Frozen", "FrozenDictionary", "ToFrozenDictionary", "(System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IEqualityComparer)", "summary", "df-generated"] - ["System.Collections.Frozen", "FrozenDictionary+Enumerator", "Dispose", "()", "summary", "df-generated"] - ["System.Collections.Frozen", "FrozenDictionary+Enumerator", "MoveNext", "()", "summary", "df-generated"] - ["System.Collections.Frozen", "FrozenDictionary+Enumerator", "Reset", "()", "summary", "df-generated"] diff --git a/csharp/ql/lib/ext/generated/System.Collections.Generic.model.yml b/csharp/ql/lib/ext/generated/System.Collections.Generic.model.yml index faab2ee09293..c81dffa05103 100644 --- a/csharp/ql/lib/ext/generated/System.Collections.Generic.model.yml +++ b/csharp/ql/lib/ext/generated/System.Collections.Generic.model.yml @@ -87,6 +87,7 @@ extensions: - ["System.Collections.Generic", "PriorityQueue", False, "PriorityQueue", "(System.Collections.Generic.IComparer)", "", "Argument[0]", "Argument[this].SyntheticField[System.Collections.Generic.PriorityQueue`2._comparer]", "value", "dfc-generated"] - ["System.Collections.Generic", "PriorityQueue", False, "PriorityQueue", "(System.Collections.Generic.IEnumerable>,System.Collections.Generic.IComparer)", "", "Argument[1]", "Argument[this].SyntheticField[System.Collections.Generic.PriorityQueue`2._comparer]", "value", "dfc-generated"] - ["System.Collections.Generic", "PriorityQueue", False, "PriorityQueue", "(System.Int32,System.Collections.Generic.IComparer)", "", "Argument[1]", "Argument[this].SyntheticField[System.Collections.Generic.PriorityQueue`2._comparer]", "value", "dfc-generated"] + - ["System.Collections.Generic", "PriorityQueue", False, "Remove", "(TElement,TElement,TPriority,System.Collections.Generic.IEqualityComparer)", "", "Argument[0]", "Argument[3]", "taint", "df-generated"] - ["System.Collections.Generic", "PriorityQueue", False, "Remove", "(TElement,TElement,TPriority,System.Collections.Generic.IEqualityComparer)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["System.Collections.Generic", "PriorityQueue", False, "TryDequeue", "(TElement,TPriority)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["System.Collections.Generic", "PriorityQueue", False, "TryPeek", "(TElement,TPriority)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] @@ -154,8 +155,8 @@ extensions: - ["System.Collections.Generic", "CollectionExtensions", "AddRange", "(System.Collections.Generic.List,System.ReadOnlySpan)", "summary", "df-generated"] - ["System.Collections.Generic", "CollectionExtensions", "GetValueOrDefault", "(System.Collections.Generic.IReadOnlyDictionary,TKey)", "summary", "df-generated"] - ["System.Collections.Generic", "CollectionExtensions", "InsertRange", "(System.Collections.Generic.List,System.Int32,System.ReadOnlySpan)", "summary", "df-generated"] - - ["System.Collections.Generic", "Comparer", "Compare", "(System.Object,System.Object)", "summary", "df-generated"] - ["System.Collections.Generic", "Comparer", "Compare", "(T,T)", "summary", "df-generated"] + - ["System.Collections.Generic", "Comparer", "Create", "(System.Comparison)", "summary", "df-generated"] - ["System.Collections.Generic", "Comparer", "get_Default", "()", "summary", "df-generated"] - ["System.Collections.Generic", "Dictionary+Enumerator", "Dispose", "()", "summary", "df-generated"] - ["System.Collections.Generic", "Dictionary+Enumerator", "MoveNext", "()", "summary", "df-generated"] @@ -202,9 +203,8 @@ extensions: - ["System.Collections.Generic", "EnumEqualityComparer", "Equals", "(T,T)", "summary", "df-generated"] - ["System.Collections.Generic", "EnumEqualityComparer", "GetHashCode", "()", "summary", "df-generated"] - ["System.Collections.Generic", "EnumEqualityComparer", "GetHashCode", "(T)", "summary", "df-generated"] - - ["System.Collections.Generic", "EqualityComparer", "Equals", "(System.Object,System.Object)", "summary", "df-generated"] + - ["System.Collections.Generic", "EqualityComparer", "Create", "(System.Func,System.Func)", "summary", "df-generated"] - ["System.Collections.Generic", "EqualityComparer", "Equals", "(T,T)", "summary", "df-generated"] - - ["System.Collections.Generic", "EqualityComparer", "GetHashCode", "(System.Object)", "summary", "df-generated"] - ["System.Collections.Generic", "EqualityComparer", "GetHashCode", "(T)", "summary", "df-generated"] - ["System.Collections.Generic", "EqualityComparer", "get_Default", "()", "summary", "df-generated"] - ["System.Collections.Generic", "GenericComparer", "Compare", "(T,T)", "summary", "df-generated"] @@ -235,6 +235,7 @@ extensions: - ["System.Collections.Generic", "HashSet", "OnDeserialization", "(System.Object)", "summary", "df-generated"] - ["System.Collections.Generic", "HashSet", "Overlaps", "(System.Collections.Generic.IEnumerable)", "summary", "df-generated"] - ["System.Collections.Generic", "HashSet", "Remove", "(T)", "summary", "df-generated"] + - ["System.Collections.Generic", "HashSet", "RemoveWhere", "(System.Predicate)", "summary", "df-generated"] - ["System.Collections.Generic", "HashSet", "SetEquals", "(System.Collections.Generic.IEnumerable)", "summary", "df-generated"] - ["System.Collections.Generic", "HashSet", "SymmetricExceptWith", "(System.Collections.Generic.IEnumerable)", "summary", "df-generated"] - ["System.Collections.Generic", "HashSet", "TrimExcess", "()", "summary", "df-generated"] @@ -308,8 +309,16 @@ extensions: - ["System.Collections.Generic", "List", "BinarySearch", "(T,System.Collections.Generic.IComparer)", "summary", "df-generated"] - ["System.Collections.Generic", "List", "Contains", "(System.Object)", "summary", "df-generated"] - ["System.Collections.Generic", "List", "Contains", "(T)", "summary", "df-generated"] + - ["System.Collections.Generic", "List", "ConvertAll", "(System.Converter)", "summary", "df-generated"] - ["System.Collections.Generic", "List", "CopyTo", "(System.Int32,T[],System.Int32,System.Int32)", "summary", "df-generated"] - ["System.Collections.Generic", "List", "EnsureCapacity", "(System.Int32)", "summary", "df-generated"] + - ["System.Collections.Generic", "List", "Exists", "(System.Predicate)", "summary", "df-generated"] + - ["System.Collections.Generic", "List", "FindIndex", "(System.Int32,System.Int32,System.Predicate)", "summary", "df-generated"] + - ["System.Collections.Generic", "List", "FindIndex", "(System.Int32,System.Predicate)", "summary", "df-generated"] + - ["System.Collections.Generic", "List", "FindIndex", "(System.Predicate)", "summary", "df-generated"] + - ["System.Collections.Generic", "List", "FindLastIndex", "(System.Int32,System.Int32,System.Predicate)", "summary", "df-generated"] + - ["System.Collections.Generic", "List", "FindLastIndex", "(System.Int32,System.Predicate)", "summary", "df-generated"] + - ["System.Collections.Generic", "List", "FindLastIndex", "(System.Predicate)", "summary", "df-generated"] - ["System.Collections.Generic", "List", "IndexOf", "(System.Object)", "summary", "df-generated"] - ["System.Collections.Generic", "List", "IndexOf", "(T)", "summary", "df-generated"] - ["System.Collections.Generic", "List", "IndexOf", "(T,System.Int32)", "summary", "df-generated"] @@ -320,15 +329,18 @@ extensions: - ["System.Collections.Generic", "List", "List", "(System.Int32)", "summary", "df-generated"] - ["System.Collections.Generic", "List", "Remove", "(System.Object)", "summary", "df-generated"] - ["System.Collections.Generic", "List", "Remove", "(T)", "summary", "df-generated"] + - ["System.Collections.Generic", "List", "RemoveAll", "(System.Predicate)", "summary", "df-generated"] - ["System.Collections.Generic", "List", "RemoveAt", "(System.Int32)", "summary", "df-generated"] - ["System.Collections.Generic", "List", "RemoveRange", "(System.Int32,System.Int32)", "summary", "df-generated"] - ["System.Collections.Generic", "List", "Reverse", "()", "summary", "df-generated"] - ["System.Collections.Generic", "List", "Reverse", "(System.Int32,System.Int32)", "summary", "df-generated"] - ["System.Collections.Generic", "List", "Sort", "()", "summary", "df-generated"] - ["System.Collections.Generic", "List", "Sort", "(System.Collections.Generic.IComparer)", "summary", "df-generated"] + - ["System.Collections.Generic", "List", "Sort", "(System.Comparison)", "summary", "df-generated"] - ["System.Collections.Generic", "List", "Sort", "(System.Int32,System.Int32,System.Collections.Generic.IComparer)", "summary", "df-generated"] - ["System.Collections.Generic", "List", "ToArray", "()", "summary", "df-generated"] - ["System.Collections.Generic", "List", "TrimExcess", "()", "summary", "df-generated"] + - ["System.Collections.Generic", "List", "TrueForAll", "(System.Predicate)", "summary", "df-generated"] - ["System.Collections.Generic", "List", "get_Count", "()", "summary", "df-generated"] - ["System.Collections.Generic", "List", "get_IsFixedSize", "()", "summary", "df-generated"] - ["System.Collections.Generic", "List", "get_IsReadOnly", "()", "summary", "df-generated"] @@ -378,8 +390,6 @@ extensions: - ["System.Collections.Generic", "Queue", "get_Capacity", "()", "summary", "df-generated"] - ["System.Collections.Generic", "Queue", "get_Count", "()", "summary", "df-generated"] - ["System.Collections.Generic", "Queue", "get_IsSynchronized", "()", "summary", "df-generated"] - - ["System.Collections.Generic", "ReferenceEqualityComparer", "Equals", "(System.Object,System.Object)", "summary", "df-generated"] - - ["System.Collections.Generic", "ReferenceEqualityComparer", "GetHashCode", "(System.Object)", "summary", "df-generated"] - ["System.Collections.Generic", "ReferenceEqualityComparer", "get_Instance", "()", "summary", "df-generated"] - ["System.Collections.Generic", "SortedDictionary+Enumerator", "Dispose", "()", "summary", "df-generated"] - ["System.Collections.Generic", "SortedDictionary+Enumerator", "MoveNext", "()", "summary", "df-generated"] @@ -466,6 +476,7 @@ extensions: - ["System.Collections.Generic", "SortedSet", "OnDeserialization", "(System.Object)", "summary", "df-generated"] - ["System.Collections.Generic", "SortedSet", "Overlaps", "(System.Collections.Generic.IEnumerable)", "summary", "df-generated"] - ["System.Collections.Generic", "SortedSet", "Remove", "(T)", "summary", "df-generated"] + - ["System.Collections.Generic", "SortedSet", "RemoveWhere", "(System.Predicate)", "summary", "df-generated"] - ["System.Collections.Generic", "SortedSet", "SetEquals", "(System.Collections.Generic.IEnumerable)", "summary", "df-generated"] - ["System.Collections.Generic", "SortedSet", "SortedSet", "(System.Collections.Generic.IEnumerable)", "summary", "df-generated"] - ["System.Collections.Generic", "SortedSet", "get_Count", "()", "summary", "df-generated"] diff --git a/csharp/ql/lib/ext/generated/System.Collections.Immutable.model.yml b/csharp/ql/lib/ext/generated/System.Collections.Immutable.model.yml index 88be4ce61185..5acd310b865e 100644 --- a/csharp/ql/lib/ext/generated/System.Collections.Immutable.model.yml +++ b/csharp/ql/lib/ext/generated/System.Collections.Immutable.model.yml @@ -19,11 +19,24 @@ extensions: - ["System.Collections.Immutable", "ImmutableArray", False, "Create", "(T,T,T,T)", "", "Argument[3]", "ReturnValue", "taint", "df-generated"] - ["System.Collections.Immutable", "ImmutableArray", False, "Create", "(T[],System.Int32,System.Int32)", "", "Argument[0].Element", "ReturnValue", "taint", "df-generated"] - ["System.Collections.Immutable", "ImmutableArray", False, "CreateRange", "(System.Collections.Generic.IEnumerable)", "", "Argument[0].Element", "ReturnValue", "taint", "df-generated"] + - ["System.Collections.Immutable", "ImmutableArray", False, "CreateRange", "(System.Collections.Immutable.ImmutableArray,System.Func,TArg)", "", "Argument[2]", "Argument[1].Parameter[1]", "value", "dfc-generated"] + - ["System.Collections.Immutable", "ImmutableArray", False, "CreateRange", "(System.Collections.Immutable.ImmutableArray,System.Int32,System.Int32,System.Func,TArg)", "", "Argument[4]", "Argument[3].Parameter[1]", "value", "dfc-generated"] - ["System.Collections.Immutable", "ImmutableArray", False, "ToImmutableArray", "(System.Collections.Generic.IEnumerable)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["System.Collections.Immutable", "ImmutableArray+Builder", False, "CopyTo", "(System.Span)", "", "Argument[this].SyntheticField[System.Collections.Immutable.ImmutableArray`1+Builder._elements].Element", "Argument[0].Element", "value", "dfc-generated"] - ["System.Collections.Immutable", "ImmutableArray+Builder", False, "DrainToImmutable", "()", "", "Argument[this].SyntheticField[System.Collections.Immutable.ImmutableArray`1+Builder._elements]", "ReturnValue.SyntheticField[System.Collections.Immutable.ImmutableArray`1.array]", "value", "dfc-generated"] + - ["System.Collections.Immutable", "ImmutableArray+Builder", False, "IndexOf", "(T,System.Int32,System.Collections.Generic.IEqualityComparer)", "", "Argument[0]", "Argument[2]", "taint", "df-generated"] + - ["System.Collections.Immutable", "ImmutableArray+Builder", False, "IndexOf", "(T,System.Int32,System.Collections.Generic.IEqualityComparer)", "", "Argument[this]", "Argument[2]", "taint", "df-generated"] + - ["System.Collections.Immutable", "ImmutableArray+Builder", False, "IndexOf", "(T,System.Int32,System.Int32,System.Collections.Generic.IEqualityComparer)", "", "Argument[0]", "Argument[3]", "taint", "df-generated"] + - ["System.Collections.Immutable", "ImmutableArray+Builder", False, "IndexOf", "(T,System.Int32,System.Int32,System.Collections.Generic.IEqualityComparer)", "", "Argument[this]", "Argument[3]", "taint", "df-generated"] - ["System.Collections.Immutable", "ImmutableArray+Builder", False, "InsertRange", "(System.Int32,System.Collections.Generic.IEnumerable)", "", "Argument[1].Element", "Argument[this].SyntheticField[System.Collections.Immutable.ImmutableArray`1+Builder._elements].Element", "value", "dfc-generated"] + - ["System.Collections.Immutable", "ImmutableArray+Builder", False, "LastIndexOf", "(T,System.Int32,System.Int32,System.Collections.Generic.IEqualityComparer)", "", "Argument[0]", "Argument[3]", "taint", "df-generated"] + - ["System.Collections.Immutable", "ImmutableArray+Builder", False, "LastIndexOf", "(T,System.Int32,System.Int32,System.Collections.Generic.IEqualityComparer)", "", "Argument[this]", "Argument[3]", "taint", "df-generated"] - ["System.Collections.Immutable", "ImmutableArray+Builder", False, "MoveToImmutable", "()", "", "Argument[this].SyntheticField[System.Collections.Immutable.ImmutableArray`1+Builder._elements]", "ReturnValue.SyntheticField[System.Collections.Immutable.ImmutableArray`1.array]", "value", "dfc-generated"] + - ["System.Collections.Immutable", "ImmutableArray+Builder", False, "Remove", "(T,System.Collections.Generic.IEqualityComparer)", "", "Argument[0]", "Argument[1]", "taint", "df-generated"] + - ["System.Collections.Immutable", "ImmutableArray+Builder", False, "Remove", "(T,System.Collections.Generic.IEqualityComparer)", "", "Argument[this]", "Argument[1]", "taint", "df-generated"] + - ["System.Collections.Immutable", "ImmutableArray+Builder", False, "RemoveAll", "(System.Predicate)", "", "Argument[this].SyntheticField[System.Collections.Immutable.ImmutableArray`1+Builder._elements].Element", "Argument[0].Parameter[0]", "value", "dfc-generated"] + - ["System.Collections.Immutable", "ImmutableArray+Builder", False, "RemoveRange", "(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer)", "", "Argument[0].Element", "Argument[1]", "taint", "df-generated"] + - ["System.Collections.Immutable", "ImmutableArray+Builder", False, "RemoveRange", "(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer)", "", "Argument[this]", "Argument[1]", "taint", "df-generated"] - ["System.Collections.Immutable", "ImmutableArray+Builder", False, "Replace", "(T,T)", "", "Argument[1]", "Argument[this].SyntheticField[System.Collections.Immutable.ImmutableArray`1+Builder._elements].Element", "value", "dfc-generated"] - ["System.Collections.Immutable", "ImmutableArray+Builder", False, "Replace", "(T,T,System.Collections.Generic.IEqualityComparer)", "", "Argument[1]", "Argument[this].SyntheticField[System.Collections.Immutable.ImmutableArray`1+Builder._elements].Element", "value", "dfc-generated"] - ["System.Collections.Immutable", "ImmutableArray+Enumerator", False, "get_Current", "()", "", "Argument[this].SyntheticField[System.Collections.Immutable.ImmutableArray`1+Enumerator._array].Element", "ReturnValue", "value", "dfc-generated"] @@ -49,8 +62,14 @@ extensions: - ["System.Collections.Immutable", "ImmutableArray", False, "AsSpan", "(System.Range)", "", "Argument[this].SyntheticField[System.Collections.Immutable.ImmutableArray`1.array].Element", "ReturnValue.Element", "value", "dfc-generated"] - ["System.Collections.Immutable", "ImmutableArray", False, "CastArray", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["System.Collections.Immutable", "ImmutableArray", False, "CastUp", "(System.Collections.Immutable.ImmutableArray)", "", "Argument[0].Element", "ReturnValue", "taint", "df-generated"] + - ["System.Collections.Immutable", "ImmutableArray", False, "Contains", "(T,System.Collections.Generic.IEqualityComparer)", "", "Argument[0]", "Argument[1]", "taint", "df-generated"] + - ["System.Collections.Immutable", "ImmutableArray", False, "Contains", "(T,System.Collections.Generic.IEqualityComparer)", "", "Argument[this]", "Argument[1]", "taint", "df-generated"] - ["System.Collections.Immutable", "ImmutableArray", False, "CopyTo", "(System.Span)", "", "Argument[this].SyntheticField[System.Collections.Immutable.ImmutableArray`1.array].Element", "Argument[0].Element", "value", "dfc-generated"] - ["System.Collections.Immutable", "ImmutableArray", False, "GetEnumerator", "()", "", "Argument[this].SyntheticField[System.Collections.Immutable.ImmutableArray`1.array]", "ReturnValue.SyntheticField[System.Collections.Immutable.ImmutableArray`1+Enumerator._array]", "value", "dfc-generated"] + - ["System.Collections.Immutable", "ImmutableArray", False, "IndexOf", "(T,System.Int32,System.Collections.Generic.IEqualityComparer)", "", "Argument[0]", "Argument[2]", "taint", "df-generated"] + - ["System.Collections.Immutable", "ImmutableArray", False, "IndexOf", "(T,System.Int32,System.Collections.Generic.IEqualityComparer)", "", "Argument[this]", "Argument[2]", "taint", "df-generated"] + - ["System.Collections.Immutable", "ImmutableArray", False, "IndexOf", "(T,System.Int32,System.Int32,System.Collections.Generic.IEqualityComparer)", "", "Argument[0]", "Argument[3]", "taint", "df-generated"] + - ["System.Collections.Immutable", "ImmutableArray", False, "IndexOf", "(T,System.Int32,System.Int32,System.Collections.Generic.IEqualityComparer)", "", "Argument[this]", "Argument[3]", "taint", "df-generated"] - ["System.Collections.Immutable", "ImmutableArray", False, "Insert", "(System.Int32,T)", "", "Argument[1]", "ReturnValue.SyntheticField[System.Collections.Immutable.ImmutableArray`1.array].Element", "value", "dfc-generated"] - ["System.Collections.Immutable", "ImmutableArray", False, "Insert", "(System.Int32,T)", "", "Argument[1]", "ReturnValue", "taint", "df-generated"] - ["System.Collections.Immutable", "ImmutableArray", False, "InsertRange", "(System.Int32,System.Collections.Generic.IEnumerable)", "", "Argument[1].Element", "ReturnValue.SyntheticField[System.Collections.Immutable.ImmutableArray`1.array].Element", "value", "dfc-generated"] @@ -62,9 +81,13 @@ extensions: - ["System.Collections.Immutable", "ImmutableArray", False, "InsertRange", "(System.Int32,System.ReadOnlySpan)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] - ["System.Collections.Immutable", "ImmutableArray", False, "InsertRange", "(System.Int32,T[])", "", "Argument[1]", "ReturnValue.SyntheticField[System.Collections.Immutable.ImmutableArray`1.array]", "value", "dfc-generated"] - ["System.Collections.Immutable", "ImmutableArray", False, "InsertRange", "(System.Int32,T[])", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] + - ["System.Collections.Immutable", "ImmutableArray", False, "LastIndexOf", "(T,System.Int32,System.Int32,System.Collections.Generic.IEqualityComparer)", "", "Argument[0]", "Argument[3]", "taint", "df-generated"] + - ["System.Collections.Immutable", "ImmutableArray", False, "LastIndexOf", "(T,System.Int32,System.Int32,System.Collections.Generic.IEqualityComparer)", "", "Argument[this]", "Argument[3]", "taint", "df-generated"] - ["System.Collections.Immutable", "ImmutableArray", False, "OfType", "()", "", "Argument[this].SyntheticField[System.Collections.Immutable.ImmutableArray`1.array].Element", "ReturnValue.Element", "value", "dfc-generated"] - ["System.Collections.Immutable", "ImmutableArray", False, "Remove", "(T)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] - ["System.Collections.Immutable", "ImmutableArray", False, "Remove", "(T,System.Collections.Generic.IEqualityComparer)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] + - ["System.Collections.Immutable", "ImmutableArray", False, "RemoveAll", "(System.Predicate)", "", "Argument[this].SyntheticField[System.Collections.Immutable.ImmutableArray`1.array].Element", "Argument[0].Parameter[0]", "value", "dfc-generated"] + - ["System.Collections.Immutable", "ImmutableArray", False, "RemoveAll", "(System.Predicate)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] - ["System.Collections.Immutable", "ImmutableArray", False, "RemoveAt", "(System.Int32)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] - ["System.Collections.Immutable", "ImmutableArray", False, "RemoveRange", "(System.Collections.Generic.IEnumerable)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] - ["System.Collections.Immutable", "ImmutableArray", False, "RemoveRange", "(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] @@ -74,14 +97,19 @@ extensions: - ["System.Collections.Immutable", "ImmutableArray", False, "RemoveRange", "(System.ReadOnlySpan,System.Collections.Generic.IEqualityComparer)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] - ["System.Collections.Immutable", "ImmutableArray", False, "RemoveRange", "(T[],System.Collections.Generic.IEqualityComparer)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] - ["System.Collections.Immutable", "ImmutableArray", False, "Replace", "(T,T)", "", "Argument[1]", "ReturnValue.SyntheticField[System.Collections.Immutable.ImmutableArray`1.array].Element", "value", "dfc-generated"] + - ["System.Collections.Immutable", "ImmutableArray", False, "Replace", "(T,T,System.Collections.Generic.IEqualityComparer)", "", "Argument[0]", "Argument[2]", "taint", "df-generated"] - ["System.Collections.Immutable", "ImmutableArray", False, "Replace", "(T,T,System.Collections.Generic.IEqualityComparer)", "", "Argument[1]", "ReturnValue.SyntheticField[System.Collections.Immutable.ImmutableArray`1.array].Element", "value", "dfc-generated"] - ["System.Collections.Immutable", "ImmutableArray", False, "Replace", "(T,T,System.Collections.Generic.IEqualityComparer)", "", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["System.Collections.Immutable", "ImmutableArray", False, "Replace", "(T,T,System.Collections.Generic.IEqualityComparer)", "", "Argument[this]", "Argument[2]", "taint", "df-generated"] - ["System.Collections.Immutable", "ImmutableArray", False, "SetItem", "(System.Int32,T)", "", "Argument[1]", "ReturnValue.SyntheticField[System.Collections.Immutable.ImmutableArray`1.array].Element", "value", "dfc-generated"] - ["System.Collections.Immutable", "ImmutableArray", False, "SetItem", "(System.Int32,T)", "", "Argument[1]", "ReturnValue", "taint", "df-generated"] - ["System.Collections.Immutable", "ImmutableArray", False, "Slice", "(System.Int32,System.Int32)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] - ["System.Collections.Immutable", "ImmutableArray", False, "Sort", "()", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] - - ["System.Collections.Immutable", "ImmutableArray", False, "Sort", "(System.Collections.Generic.IComparer)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] - - ["System.Collections.Immutable", "ImmutableArray", False, "Sort", "(System.Int32,System.Int32,System.Collections.Generic.IComparer)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] + - ["System.Collections.Immutable", "ImmutableArray", False, "Sort", "(System.Collections.Generic.IComparer)", "", "Argument[this]", "Argument[0]", "taint", "df-generated"] + - ["System.Collections.Immutable", "ImmutableArray", False, "Sort", "(System.Collections.Generic.IComparer)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["System.Collections.Immutable", "ImmutableArray", False, "Sort", "(System.Comparison)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] + - ["System.Collections.Immutable", "ImmutableArray", False, "Sort", "(System.Int32,System.Int32,System.Collections.Generic.IComparer)", "", "Argument[this]", "Argument[2]", "taint", "df-generated"] + - ["System.Collections.Immutable", "ImmutableArray", False, "Sort", "(System.Int32,System.Int32,System.Collections.Generic.IComparer)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["System.Collections.Immutable", "ImmutableArray", False, "ToBuilder", "()", "", "Argument[this].Element", "ReturnValue.Element", "value", "dfc-generated"] - ["System.Collections.Immutable", "ImmutableArray", False, "get_Item", "(System.Int32)", "", "Argument[this].SyntheticField[System.Collections.Immutable.ImmutableArray`1.array].Element", "ReturnValue", "value", "dfc-generated"] - ["System.Collections.Immutable", "ImmutableDictionary", False, "Create", "(System.Collections.Generic.IEqualityComparer)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] @@ -142,7 +170,23 @@ extensions: - ["System.Collections.Immutable", "ImmutableHashSet", False, "Union", "(System.Collections.Generic.IEnumerable)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["System.Collections.Immutable", "ImmutableHashSet", False, "WithComparer", "(System.Collections.Generic.IEqualityComparer)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] - ["System.Collections.Immutable", "ImmutableHashSet", False, "get_KeyComparer", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["System.Collections.Immutable", "ImmutableInterlocked", False, "AddOrUpdate", "(System.Collections.Immutable.ImmutableDictionary,TKey,System.Func,System.Func)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["System.Collections.Immutable", "ImmutableInterlocked", False, "AddOrUpdate", "(System.Collections.Immutable.ImmutableDictionary,TKey,System.Func,System.Func)", "", "Argument[1]", "Argument[2].Parameter[0]", "value", "dfc-generated"] + - ["System.Collections.Immutable", "ImmutableInterlocked", False, "AddOrUpdate", "(System.Collections.Immutable.ImmutableDictionary,TKey,System.Func,System.Func)", "", "Argument[1]", "Argument[3].Parameter[0]", "value", "dfc-generated"] + - ["System.Collections.Immutable", "ImmutableInterlocked", False, "AddOrUpdate", "(System.Collections.Immutable.ImmutableDictionary,TKey,System.Func,System.Func)", "", "Argument[2].ReturnValue", "ReturnValue", "value", "dfc-generated"] + - ["System.Collections.Immutable", "ImmutableInterlocked", False, "AddOrUpdate", "(System.Collections.Immutable.ImmutableDictionary,TKey,System.Func,System.Func)", "", "Argument[3].ReturnValue", "ReturnValue", "value", "dfc-generated"] + - ["System.Collections.Immutable", "ImmutableInterlocked", False, "AddOrUpdate", "(System.Collections.Immutable.ImmutableDictionary,TKey,TValue,System.Func)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["System.Collections.Immutable", "ImmutableInterlocked", False, "AddOrUpdate", "(System.Collections.Immutable.ImmutableDictionary,TKey,TValue,System.Func)", "", "Argument[1]", "Argument[3].Parameter[0]", "value", "dfc-generated"] + - ["System.Collections.Immutable", "ImmutableInterlocked", False, "AddOrUpdate", "(System.Collections.Immutable.ImmutableDictionary,TKey,TValue,System.Func)", "", "Argument[2]", "ReturnValue", "value", "dfc-generated"] + - ["System.Collections.Immutable", "ImmutableInterlocked", False, "AddOrUpdate", "(System.Collections.Immutable.ImmutableDictionary,TKey,TValue,System.Func)", "", "Argument[3].ReturnValue", "ReturnValue", "value", "dfc-generated"] - ["System.Collections.Immutable", "ImmutableInterlocked", False, "Enqueue", "(System.Collections.Immutable.ImmutableQueue,T)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["System.Collections.Immutable", "ImmutableInterlocked", False, "GetOrAdd", "(System.Collections.Immutable.ImmutableDictionary,TKey,System.Func,TArg)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["System.Collections.Immutable", "ImmutableInterlocked", False, "GetOrAdd", "(System.Collections.Immutable.ImmutableDictionary,TKey,System.Func,TArg)", "", "Argument[1]", "Argument[2].Parameter[0]", "value", "dfc-generated"] + - ["System.Collections.Immutable", "ImmutableInterlocked", False, "GetOrAdd", "(System.Collections.Immutable.ImmutableDictionary,TKey,System.Func,TArg)", "", "Argument[2].ReturnValue", "ReturnValue", "value", "dfc-generated"] + - ["System.Collections.Immutable", "ImmutableInterlocked", False, "GetOrAdd", "(System.Collections.Immutable.ImmutableDictionary,TKey,System.Func,TArg)", "", "Argument[3]", "Argument[2].Parameter[1]", "value", "dfc-generated"] + - ["System.Collections.Immutable", "ImmutableInterlocked", False, "GetOrAdd", "(System.Collections.Immutable.ImmutableDictionary,TKey,System.Func)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["System.Collections.Immutable", "ImmutableInterlocked", False, "GetOrAdd", "(System.Collections.Immutable.ImmutableDictionary,TKey,System.Func)", "", "Argument[1]", "Argument[2].Parameter[0]", "value", "dfc-generated"] + - ["System.Collections.Immutable", "ImmutableInterlocked", False, "GetOrAdd", "(System.Collections.Immutable.ImmutableDictionary,TKey,System.Func)", "", "Argument[2].ReturnValue", "ReturnValue", "value", "dfc-generated"] - ["System.Collections.Immutable", "ImmutableInterlocked", False, "GetOrAdd", "(System.Collections.Immutable.ImmutableDictionary,TKey,TValue)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["System.Collections.Immutable", "ImmutableInterlocked", False, "GetOrAdd", "(System.Collections.Immutable.ImmutableDictionary,TKey,TValue)", "", "Argument[2]", "ReturnValue", "value", "dfc-generated"] - ["System.Collections.Immutable", "ImmutableInterlocked", False, "InterlockedCompareExchange", "(System.Collections.Immutable.ImmutableArray,System.Collections.Immutable.ImmutableArray,System.Collections.Immutable.ImmutableArray)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] @@ -155,10 +199,20 @@ extensions: - ["System.Collections.Immutable", "ImmutableInterlocked", False, "TryRemove", "(System.Collections.Immutable.ImmutableDictionary,TKey,TValue)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["System.Collections.Immutable", "ImmutableInterlocked", False, "TryRemove", "(System.Collections.Immutable.ImmutableDictionary,TKey,TValue)", "", "Argument[2]", "ReturnValue", "value", "dfc-generated"] - ["System.Collections.Immutable", "ImmutableInterlocked", False, "TryUpdate", "(System.Collections.Immutable.ImmutableDictionary,TKey,TValue,TValue)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["System.Collections.Immutable", "ImmutableInterlocked", False, "Update", "(System.Collections.Immutable.ImmutableArray,System.Func,TArg,System.Collections.Immutable.ImmutableArray>,TArg)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["System.Collections.Immutable", "ImmutableInterlocked", False, "Update", "(System.Collections.Immutable.ImmutableArray,System.Func,TArg,System.Collections.Immutable.ImmutableArray>,TArg)", "", "Argument[2]", "Argument[1].Parameter[1]", "value", "dfc-generated"] + - ["System.Collections.Immutable", "ImmutableInterlocked", False, "Update", "(T,System.Func,TArg)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["System.Collections.Immutable", "ImmutableInterlocked", False, "Update", "(T,System.Func,TArg)", "", "Argument[2]", "Argument[1].Parameter[1]", "value", "dfc-generated"] + - ["System.Collections.Immutable", "ImmutableInterlocked", False, "Update", "(System.Collections.Immutable.ImmutableArray,System.Func,System.Collections.Immutable.ImmutableArray>)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["System.Collections.Immutable", "ImmutableInterlocked", False, "Update", "(T,System.Func)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["System.Collections.Immutable", "ImmutableList", False, "Create", "(System.ReadOnlySpan)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["System.Collections.Immutable", "ImmutableList", False, "Create", "(T)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["System.Collections.Immutable", "ImmutableList", False, "Create", "(T[])", "", "Argument[0].Element", "ReturnValue", "taint", "df-generated"] - ["System.Collections.Immutable", "ImmutableList", False, "CreateRange", "(System.Collections.Generic.IEnumerable)", "", "Argument[0].Element", "ReturnValue", "taint", "df-generated"] + - ["System.Collections.Immutable", "ImmutableList", False, "IndexOf", "(System.Collections.Immutable.IImmutableList,T,System.Collections.Generic.IEqualityComparer)", "", "Argument[0].Element", "Argument[2]", "taint", "df-generated"] + - ["System.Collections.Immutable", "ImmutableList", False, "IndexOf", "(System.Collections.Immutable.IImmutableList,T,System.Collections.Generic.IEqualityComparer)", "", "Argument[1]", "Argument[2]", "taint", "df-generated"] + - ["System.Collections.Immutable", "ImmutableList", False, "LastIndexOf", "(System.Collections.Immutable.IImmutableList,T,System.Collections.Generic.IEqualityComparer)", "", "Argument[0].Element", "Argument[2]", "taint", "df-generated"] + - ["System.Collections.Immutable", "ImmutableList", False, "LastIndexOf", "(System.Collections.Immutable.IImmutableList,T,System.Collections.Generic.IEqualityComparer)", "", "Argument[1]", "Argument[2]", "taint", "df-generated"] - ["System.Collections.Immutable", "ImmutableList", False, "Remove", "(System.Collections.Immutable.IImmutableList,T)", "", "Argument[0].Element", "ReturnValue", "taint", "df-generated"] - ["System.Collections.Immutable", "ImmutableList", False, "RemoveRange", "(System.Collections.Immutable.IImmutableList,System.Collections.Generic.IEnumerable)", "", "Argument[0].Element", "ReturnValue", "taint", "df-generated"] - ["System.Collections.Immutable", "ImmutableList", False, "Replace", "(System.Collections.Immutable.IImmutableList,T,T)", "", "Argument[0].Element", "ReturnValue", "taint", "df-generated"] @@ -170,7 +224,12 @@ extensions: - ["System.Collections.Immutable", "ImmutableList+Builder", False, "BinarySearch", "(T,System.Collections.Generic.IComparer)", "", "Argument[0]", "Argument[1]", "taint", "df-generated"] - ["System.Collections.Immutable", "ImmutableList+Builder", False, "BinarySearch", "(T,System.Collections.Generic.IComparer)", "", "Argument[this]", "Argument[1]", "taint", "df-generated"] - ["System.Collections.Immutable", "ImmutableList+Builder", False, "CopyTo", "(T[])", "", "Argument[this]", "Argument[0].Element", "taint", "df-generated"] + - ["System.Collections.Immutable", "ImmutableList+Builder", False, "ForEach", "(System.Action)", "", "Argument[this].Element", "Argument[0].Parameter[0]", "value", "dfc-generated"] + - ["System.Collections.Immutable", "ImmutableList+Builder", False, "IndexOf", "(T,System.Int32,System.Int32,System.Collections.Generic.IEqualityComparer)", "", "Argument[0]", "Argument[3]", "taint", "df-generated"] + - ["System.Collections.Immutable", "ImmutableList+Builder", False, "LastIndexOf", "(T,System.Int32,System.Int32,System.Collections.Generic.IEqualityComparer)", "", "Argument[0]", "Argument[3]", "taint", "df-generated"] + - ["System.Collections.Immutable", "ImmutableList+Builder", False, "Remove", "(T,System.Collections.Generic.IEqualityComparer)", "", "Argument[0]", "Argument[1]", "taint", "df-generated"] - ["System.Collections.Immutable", "ImmutableList+Builder", False, "Replace", "(T,T)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] + - ["System.Collections.Immutable", "ImmutableList+Builder", False, "Replace", "(T,T,System.Collections.Generic.IEqualityComparer)", "", "Argument[0]", "Argument[2]", "taint", "df-generated"] - ["System.Collections.Immutable", "ImmutableList+Builder", False, "Replace", "(T,T,System.Collections.Generic.IEqualityComparer)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] - ["System.Collections.Immutable", "ImmutableList+Builder", False, "set_Item", "(System.Int32,T)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] - ["System.Collections.Immutable", "ImmutableList+Enumerator", False, "get_Current", "()", "", "Argument[this].Property[System.Collections.Immutable.ImmutableList`1+Enumerator.Current]", "ReturnValue", "value", "dfc-generated"] @@ -180,7 +239,11 @@ extensions: - ["System.Collections.Immutable", "ImmutableList", False, "BinarySearch", "(T,System.Collections.Generic.IComparer)", "", "Argument[0]", "Argument[1]", "taint", "df-generated"] - ["System.Collections.Immutable", "ImmutableList", False, "BinarySearch", "(T,System.Collections.Generic.IComparer)", "", "Argument[this]", "Argument[1]", "taint", "df-generated"] - ["System.Collections.Immutable", "ImmutableList", False, "CopyTo", "(T[])", "", "Argument[this]", "Argument[0].Element", "taint", "df-generated"] + - ["System.Collections.Immutable", "ImmutableList", False, "ForEach", "(System.Action)", "", "Argument[this].Element", "Argument[0].Parameter[0]", "value", "dfc-generated"] + - ["System.Collections.Immutable", "ImmutableList", False, "IndexOf", "(T,System.Int32,System.Int32,System.Collections.Generic.IEqualityComparer)", "", "Argument[0]", "Argument[3]", "taint", "df-generated"] + - ["System.Collections.Immutable", "ImmutableList", False, "LastIndexOf", "(T,System.Int32,System.Int32,System.Collections.Generic.IEqualityComparer)", "", "Argument[0]", "Argument[3]", "taint", "df-generated"] - ["System.Collections.Immutable", "ImmutableList", False, "Remove", "(T)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["System.Collections.Immutable", "ImmutableList", False, "Remove", "(T,System.Collections.Generic.IEqualityComparer)", "", "Argument[0]", "Argument[1]", "taint", "df-generated"] - ["System.Collections.Immutable", "ImmutableList", False, "Remove", "(T,System.Collections.Generic.IEqualityComparer)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["System.Collections.Immutable", "ImmutableList", False, "RemoveAt", "(System.Int32)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["System.Collections.Immutable", "ImmutableList", False, "RemoveRange", "(System.Collections.Generic.IEnumerable)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] @@ -190,6 +253,7 @@ extensions: - ["System.Collections.Immutable", "ImmutableList", False, "Replace", "(T,T)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] - ["System.Collections.Immutable", "ImmutableList", False, "Replace", "(T,T)", "", "Argument[1]", "ReturnValue", "taint", "df-generated"] - ["System.Collections.Immutable", "ImmutableList", False, "Replace", "(T,T)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["System.Collections.Immutable", "ImmutableList", False, "Replace", "(T,T,System.Collections.Generic.IEqualityComparer)", "", "Argument[0]", "Argument[2]", "taint", "df-generated"] - ["System.Collections.Immutable", "ImmutableList", False, "Replace", "(T,T,System.Collections.Generic.IEqualityComparer)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] - ["System.Collections.Immutable", "ImmutableList", False, "Replace", "(T,T,System.Collections.Generic.IEqualityComparer)", "", "Argument[1]", "ReturnValue", "taint", "df-generated"] - ["System.Collections.Immutable", "ImmutableList", False, "Replace", "(T,T,System.Collections.Generic.IEqualityComparer)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] @@ -198,6 +262,7 @@ extensions: - ["System.Collections.Immutable", "ImmutableList", False, "SetItem", "(System.Int32,T)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["System.Collections.Immutable", "ImmutableList", False, "Sort", "()", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] - ["System.Collections.Immutable", "ImmutableList", False, "Sort", "(System.Collections.Generic.IComparer)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] + - ["System.Collections.Immutable", "ImmutableList", False, "Sort", "(System.Comparison)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] - ["System.Collections.Immutable", "ImmutableList", False, "Sort", "(System.Int32,System.Int32,System.Collections.Generic.IComparer)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] - ["System.Collections.Immutable", "ImmutableList", False, "ToBuilder", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["System.Collections.Immutable", "ImmutableQueue", False, "Create", "(System.ReadOnlySpan)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] @@ -320,6 +385,7 @@ extensions: - ["System.Collections.Immutable", "IImmutableList", "InsertRange", "(System.Int32,System.Collections.Generic.IEnumerable)", "summary", "df-generated"] - ["System.Collections.Immutable", "IImmutableList", "LastIndexOf", "(T,System.Int32,System.Int32,System.Collections.Generic.IEqualityComparer)", "summary", "df-generated"] - ["System.Collections.Immutable", "IImmutableList", "Remove", "(T,System.Collections.Generic.IEqualityComparer)", "summary", "df-generated"] + - ["System.Collections.Immutable", "IImmutableList", "RemoveAll", "(System.Predicate)", "summary", "df-generated"] - ["System.Collections.Immutable", "IImmutableList", "RemoveAt", "(System.Int32)", "summary", "df-generated"] - ["System.Collections.Immutable", "IImmutableList", "RemoveRange", "(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer)", "summary", "df-generated"] - ["System.Collections.Immutable", "IImmutableList", "RemoveRange", "(System.Int32,System.Int32)", "summary", "df-generated"] @@ -354,6 +420,8 @@ extensions: - ["System.Collections.Immutable", "ImmutableArray", "Create", "(T[])", "summary", "df-generated"] - ["System.Collections.Immutable", "ImmutableArray", "CreateBuilder", "()", "summary", "df-generated"] - ["System.Collections.Immutable", "ImmutableArray", "CreateBuilder", "(System.Int32)", "summary", "df-generated"] + - ["System.Collections.Immutable", "ImmutableArray", "CreateRange", "(System.Collections.Immutable.ImmutableArray,System.Func)", "summary", "df-generated"] + - ["System.Collections.Immutable", "ImmutableArray", "CreateRange", "(System.Collections.Immutable.ImmutableArray,System.Int32,System.Int32,System.Func)", "summary", "df-generated"] - ["System.Collections.Immutable", "ImmutableArray", "ToImmutableArray", "(System.Collections.Immutable.ImmutableArray+Builder)", "summary", "df-generated"] - ["System.Collections.Immutable", "ImmutableArray+Builder", "AddRange", "(System.Collections.Immutable.ImmutableArray,System.Int32)", "summary", "df-generated"] - ["System.Collections.Immutable", "ImmutableArray+Builder", "AddRange", "(System.ReadOnlySpan)", "summary", "df-generated"] @@ -364,24 +432,20 @@ extensions: - ["System.Collections.Immutable", "ImmutableArray+Builder", "CopyTo", "(T[])", "summary", "df-generated"] - ["System.Collections.Immutable", "ImmutableArray+Builder", "IndexOf", "(T)", "summary", "df-generated"] - ["System.Collections.Immutable", "ImmutableArray+Builder", "IndexOf", "(T,System.Int32)", "summary", "df-generated"] - - ["System.Collections.Immutable", "ImmutableArray+Builder", "IndexOf", "(T,System.Int32,System.Collections.Generic.IEqualityComparer)", "summary", "df-generated"] - ["System.Collections.Immutable", "ImmutableArray+Builder", "IndexOf", "(T,System.Int32,System.Int32)", "summary", "df-generated"] - - ["System.Collections.Immutable", "ImmutableArray+Builder", "IndexOf", "(T,System.Int32,System.Int32,System.Collections.Generic.IEqualityComparer)", "summary", "df-generated"] - ["System.Collections.Immutable", "ImmutableArray+Builder", "InsertRange", "(System.Int32,System.Collections.Immutable.ImmutableArray)", "summary", "df-generated"] - ["System.Collections.Immutable", "ImmutableArray+Builder", "ItemRef", "(System.Int32)", "summary", "df-generated"] - ["System.Collections.Immutable", "ImmutableArray+Builder", "LastIndexOf", "(T)", "summary", "df-generated"] - ["System.Collections.Immutable", "ImmutableArray+Builder", "LastIndexOf", "(T,System.Int32)", "summary", "df-generated"] - ["System.Collections.Immutable", "ImmutableArray+Builder", "LastIndexOf", "(T,System.Int32,System.Int32)", "summary", "df-generated"] - - ["System.Collections.Immutable", "ImmutableArray+Builder", "LastIndexOf", "(T,System.Int32,System.Int32,System.Collections.Generic.IEqualityComparer)", "summary", "df-generated"] - ["System.Collections.Immutable", "ImmutableArray+Builder", "Remove", "(T)", "summary", "df-generated"] - - ["System.Collections.Immutable", "ImmutableArray+Builder", "Remove", "(T,System.Collections.Generic.IEqualityComparer)", "summary", "df-generated"] - ["System.Collections.Immutable", "ImmutableArray+Builder", "RemoveAt", "(System.Int32)", "summary", "df-generated"] - ["System.Collections.Immutable", "ImmutableArray+Builder", "RemoveRange", "(System.Collections.Generic.IEnumerable)", "summary", "df-generated"] - - ["System.Collections.Immutable", "ImmutableArray+Builder", "RemoveRange", "(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer)", "summary", "df-generated"] - ["System.Collections.Immutable", "ImmutableArray+Builder", "RemoveRange", "(System.Int32,System.Int32)", "summary", "df-generated"] - ["System.Collections.Immutable", "ImmutableArray+Builder", "Reverse", "()", "summary", "df-generated"] - ["System.Collections.Immutable", "ImmutableArray+Builder", "Sort", "()", "summary", "df-generated"] - ["System.Collections.Immutable", "ImmutableArray+Builder", "Sort", "(System.Collections.Generic.IComparer)", "summary", "df-generated"] + - ["System.Collections.Immutable", "ImmutableArray+Builder", "Sort", "(System.Comparison)", "summary", "df-generated"] - ["System.Collections.Immutable", "ImmutableArray+Builder", "Sort", "(System.Int32,System.Int32,System.Collections.Generic.IComparer)", "summary", "df-generated"] - ["System.Collections.Immutable", "ImmutableArray+Builder", "ToArray", "()", "summary", "df-generated"] - ["System.Collections.Immutable", "ImmutableArray+Builder", "ToImmutable", "()", "summary", "df-generated"] @@ -392,7 +456,6 @@ extensions: - ["System.Collections.Immutable", "ImmutableArray", "CompareTo", "(System.Object,System.Collections.IComparer)", "summary", "df-generated"] - ["System.Collections.Immutable", "ImmutableArray", "Contains", "(System.Object)", "summary", "df-generated"] - ["System.Collections.Immutable", "ImmutableArray", "Contains", "(T)", "summary", "df-generated"] - - ["System.Collections.Immutable", "ImmutableArray", "Contains", "(T,System.Collections.Generic.IEqualityComparer)", "summary", "df-generated"] - ["System.Collections.Immutable", "ImmutableArray", "CopyTo", "(System.Int32,T[],System.Int32,System.Int32)", "summary", "df-generated"] - ["System.Collections.Immutable", "ImmutableArray", "CopyTo", "(T[])", "summary", "df-generated"] - ["System.Collections.Immutable", "ImmutableArray", "Equals", "(System.Collections.Immutable.ImmutableArray)", "summary", "df-generated"] @@ -403,14 +466,11 @@ extensions: - ["System.Collections.Immutable", "ImmutableArray", "IndexOf", "(System.Object)", "summary", "df-generated"] - ["System.Collections.Immutable", "ImmutableArray", "IndexOf", "(T)", "summary", "df-generated"] - ["System.Collections.Immutable", "ImmutableArray", "IndexOf", "(T,System.Int32)", "summary", "df-generated"] - - ["System.Collections.Immutable", "ImmutableArray", "IndexOf", "(T,System.Int32,System.Collections.Generic.IEqualityComparer)", "summary", "df-generated"] - ["System.Collections.Immutable", "ImmutableArray", "IndexOf", "(T,System.Int32,System.Int32)", "summary", "df-generated"] - - ["System.Collections.Immutable", "ImmutableArray", "IndexOf", "(T,System.Int32,System.Int32,System.Collections.Generic.IEqualityComparer)", "summary", "df-generated"] - ["System.Collections.Immutable", "ImmutableArray", "ItemRef", "(System.Int32)", "summary", "df-generated"] - ["System.Collections.Immutable", "ImmutableArray", "LastIndexOf", "(T)", "summary", "df-generated"] - ["System.Collections.Immutable", "ImmutableArray", "LastIndexOf", "(T,System.Int32)", "summary", "df-generated"] - ["System.Collections.Immutable", "ImmutableArray", "LastIndexOf", "(T,System.Int32,System.Int32)", "summary", "df-generated"] - - ["System.Collections.Immutable", "ImmutableArray", "LastIndexOf", "(T,System.Int32,System.Int32,System.Collections.Generic.IEqualityComparer)", "summary", "df-generated"] - ["System.Collections.Immutable", "ImmutableArray", "Remove", "(System.Object)", "summary", "df-generated"] - ["System.Collections.Immutable", "ImmutableArray", "Remove", "(T)", "summary", "df-generated"] - ["System.Collections.Immutable", "ImmutableArray", "RemoveAt", "(System.Int32)", "summary", "df-generated"] @@ -431,6 +491,11 @@ extensions: - ["System.Collections.Immutable", "ImmutableDictionary", "CreateBuilder", "()", "summary", "df-generated"] - ["System.Collections.Immutable", "ImmutableDictionary", "GetValueOrDefault", "(System.Collections.Immutable.IImmutableDictionary,TKey)", "summary", "df-generated"] - ["System.Collections.Immutable", "ImmutableDictionary", "ToImmutableDictionary", "(System.Collections.Immutable.ImmutableDictionary+Builder)", "summary", "df-generated"] + - ["System.Collections.Immutable", "ImmutableDictionary", "ToImmutableDictionary", "(System.Collections.Generic.IEnumerable,System.Func,System.Func)", "summary", "df-generated"] + - ["System.Collections.Immutable", "ImmutableDictionary", "ToImmutableDictionary", "(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Collections.Generic.IEqualityComparer)", "summary", "df-generated"] + - ["System.Collections.Immutable", "ImmutableDictionary", "ToImmutableDictionary", "(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Collections.Generic.IEqualityComparer,System.Collections.Generic.IEqualityComparer)", "summary", "df-generated"] + - ["System.Collections.Immutable", "ImmutableDictionary", "ToImmutableDictionary", "(System.Collections.Generic.IEnumerable,System.Func)", "summary", "df-generated"] + - ["System.Collections.Immutable", "ImmutableDictionary", "ToImmutableDictionary", "(System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IEqualityComparer)", "summary", "df-generated"] - ["System.Collections.Immutable", "ImmutableDictionary+Builder", "Contains", "(System.Collections.Generic.KeyValuePair)", "summary", "df-generated"] - ["System.Collections.Immutable", "ImmutableDictionary+Builder", "Contains", "(System.Object)", "summary", "df-generated"] - ["System.Collections.Immutable", "ImmutableDictionary+Builder", "ContainsKey", "(TKey)", "summary", "df-generated"] @@ -501,11 +566,9 @@ extensions: - ["System.Collections.Immutable", "ImmutableList", "Create", "()", "summary", "df-generated"] - ["System.Collections.Immutable", "ImmutableList", "CreateBuilder", "()", "summary", "df-generated"] - ["System.Collections.Immutable", "ImmutableList", "IndexOf", "(System.Collections.Immutable.IImmutableList,T)", "summary", "df-generated"] - - ["System.Collections.Immutable", "ImmutableList", "IndexOf", "(System.Collections.Immutable.IImmutableList,T,System.Collections.Generic.IEqualityComparer)", "summary", "df-generated"] - ["System.Collections.Immutable", "ImmutableList", "IndexOf", "(System.Collections.Immutable.IImmutableList,T,System.Int32)", "summary", "df-generated"] - ["System.Collections.Immutable", "ImmutableList", "IndexOf", "(System.Collections.Immutable.IImmutableList,T,System.Int32,System.Int32)", "summary", "df-generated"] - ["System.Collections.Immutable", "ImmutableList", "LastIndexOf", "(System.Collections.Immutable.IImmutableList,T)", "summary", "df-generated"] - - ["System.Collections.Immutable", "ImmutableList", "LastIndexOf", "(System.Collections.Immutable.IImmutableList,T,System.Collections.Generic.IEqualityComparer)", "summary", "df-generated"] - ["System.Collections.Immutable", "ImmutableList", "LastIndexOf", "(System.Collections.Immutable.IImmutableList,T,System.Int32)", "summary", "df-generated"] - ["System.Collections.Immutable", "ImmutableList", "LastIndexOf", "(System.Collections.Immutable.IImmutableList,T,System.Int32,System.Int32)", "summary", "df-generated"] - ["System.Collections.Immutable", "ImmutableList", "ToImmutableList", "(System.Collections.Immutable.ImmutableList+Builder)", "summary", "df-generated"] @@ -513,20 +576,26 @@ extensions: - ["System.Collections.Immutable", "ImmutableList+Builder", "Clear", "()", "summary", "df-generated"] - ["System.Collections.Immutable", "ImmutableList+Builder", "Contains", "(System.Object)", "summary", "df-generated"] - ["System.Collections.Immutable", "ImmutableList+Builder", "Contains", "(T)", "summary", "df-generated"] + - ["System.Collections.Immutable", "ImmutableList+Builder", "ConvertAll", "(System.Func)", "summary", "df-generated"] - ["System.Collections.Immutable", "ImmutableList+Builder", "CopyTo", "(System.Int32,T[],System.Int32,System.Int32)", "summary", "df-generated"] + - ["System.Collections.Immutable", "ImmutableList+Builder", "Exists", "(System.Predicate)", "summary", "df-generated"] + - ["System.Collections.Immutable", "ImmutableList+Builder", "FindIndex", "(System.Int32,System.Int32,System.Predicate)", "summary", "df-generated"] + - ["System.Collections.Immutable", "ImmutableList+Builder", "FindIndex", "(System.Int32,System.Predicate)", "summary", "df-generated"] + - ["System.Collections.Immutable", "ImmutableList+Builder", "FindIndex", "(System.Predicate)", "summary", "df-generated"] + - ["System.Collections.Immutable", "ImmutableList+Builder", "FindLastIndex", "(System.Int32,System.Int32,System.Predicate)", "summary", "df-generated"] + - ["System.Collections.Immutable", "ImmutableList+Builder", "FindLastIndex", "(System.Int32,System.Predicate)", "summary", "df-generated"] + - ["System.Collections.Immutable", "ImmutableList+Builder", "FindLastIndex", "(System.Predicate)", "summary", "df-generated"] - ["System.Collections.Immutable", "ImmutableList+Builder", "IndexOf", "(System.Object)", "summary", "df-generated"] - ["System.Collections.Immutable", "ImmutableList+Builder", "IndexOf", "(T)", "summary", "df-generated"] - ["System.Collections.Immutable", "ImmutableList+Builder", "IndexOf", "(T,System.Int32)", "summary", "df-generated"] - ["System.Collections.Immutable", "ImmutableList+Builder", "IndexOf", "(T,System.Int32,System.Int32)", "summary", "df-generated"] - - ["System.Collections.Immutable", "ImmutableList+Builder", "IndexOf", "(T,System.Int32,System.Int32,System.Collections.Generic.IEqualityComparer)", "summary", "df-generated"] - ["System.Collections.Immutable", "ImmutableList+Builder", "ItemRef", "(System.Int32)", "summary", "df-generated"] - ["System.Collections.Immutable", "ImmutableList+Builder", "LastIndexOf", "(T)", "summary", "df-generated"] - ["System.Collections.Immutable", "ImmutableList+Builder", "LastIndexOf", "(T,System.Int32)", "summary", "df-generated"] - ["System.Collections.Immutable", "ImmutableList+Builder", "LastIndexOf", "(T,System.Int32,System.Int32)", "summary", "df-generated"] - - ["System.Collections.Immutable", "ImmutableList+Builder", "LastIndexOf", "(T,System.Int32,System.Int32,System.Collections.Generic.IEqualityComparer)", "summary", "df-generated"] - ["System.Collections.Immutable", "ImmutableList+Builder", "Remove", "(System.Object)", "summary", "df-generated"] - ["System.Collections.Immutable", "ImmutableList+Builder", "Remove", "(T)", "summary", "df-generated"] - - ["System.Collections.Immutable", "ImmutableList+Builder", "Remove", "(T,System.Collections.Generic.IEqualityComparer)", "summary", "df-generated"] + - ["System.Collections.Immutable", "ImmutableList+Builder", "RemoveAll", "(System.Predicate)", "summary", "df-generated"] - ["System.Collections.Immutable", "ImmutableList+Builder", "RemoveAt", "(System.Int32)", "summary", "df-generated"] - ["System.Collections.Immutable", "ImmutableList+Builder", "RemoveRange", "(System.Collections.Generic.IEnumerable)", "summary", "df-generated"] - ["System.Collections.Immutable", "ImmutableList+Builder", "RemoveRange", "(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer)", "summary", "df-generated"] @@ -535,8 +604,10 @@ extensions: - ["System.Collections.Immutable", "ImmutableList+Builder", "Reverse", "(System.Int32,System.Int32)", "summary", "df-generated"] - ["System.Collections.Immutable", "ImmutableList+Builder", "Sort", "()", "summary", "df-generated"] - ["System.Collections.Immutable", "ImmutableList+Builder", "Sort", "(System.Collections.Generic.IComparer)", "summary", "df-generated"] + - ["System.Collections.Immutable", "ImmutableList+Builder", "Sort", "(System.Comparison)", "summary", "df-generated"] - ["System.Collections.Immutable", "ImmutableList+Builder", "Sort", "(System.Int32,System.Int32,System.Collections.Generic.IComparer)", "summary", "df-generated"] - ["System.Collections.Immutable", "ImmutableList+Builder", "ToImmutable", "()", "summary", "df-generated"] + - ["System.Collections.Immutable", "ImmutableList+Builder", "TrueForAll", "(System.Predicate)", "summary", "df-generated"] - ["System.Collections.Immutable", "ImmutableList+Builder", "get_Count", "()", "summary", "df-generated"] - ["System.Collections.Immutable", "ImmutableList+Builder", "get_IsFixedSize", "()", "summary", "df-generated"] - ["System.Collections.Immutable", "ImmutableList+Builder", "get_IsReadOnly", "()", "summary", "df-generated"] @@ -549,15 +620,23 @@ extensions: - ["System.Collections.Immutable", "ImmutableList", "Clear", "()", "summary", "df-generated"] - ["System.Collections.Immutable", "ImmutableList", "Contains", "(System.Object)", "summary", "df-generated"] - ["System.Collections.Immutable", "ImmutableList", "Contains", "(T)", "summary", "df-generated"] + - ["System.Collections.Immutable", "ImmutableList", "ConvertAll", "(System.Func)", "summary", "df-generated"] - ["System.Collections.Immutable", "ImmutableList", "CopyTo", "(System.Int32,T[],System.Int32,System.Int32)", "summary", "df-generated"] + - ["System.Collections.Immutable", "ImmutableList", "Exists", "(System.Predicate)", "summary", "df-generated"] + - ["System.Collections.Immutable", "ImmutableList", "FindIndex", "(System.Int32,System.Int32,System.Predicate)", "summary", "df-generated"] + - ["System.Collections.Immutable", "ImmutableList", "FindIndex", "(System.Int32,System.Predicate)", "summary", "df-generated"] + - ["System.Collections.Immutable", "ImmutableList", "FindIndex", "(System.Predicate)", "summary", "df-generated"] + - ["System.Collections.Immutable", "ImmutableList", "FindLastIndex", "(System.Int32,System.Int32,System.Predicate)", "summary", "df-generated"] + - ["System.Collections.Immutable", "ImmutableList", "FindLastIndex", "(System.Int32,System.Predicate)", "summary", "df-generated"] + - ["System.Collections.Immutable", "ImmutableList", "FindLastIndex", "(System.Predicate)", "summary", "df-generated"] - ["System.Collections.Immutable", "ImmutableList", "IndexOf", "(System.Object)", "summary", "df-generated"] - ["System.Collections.Immutable", "ImmutableList", "IndexOf", "(T)", "summary", "df-generated"] - - ["System.Collections.Immutable", "ImmutableList", "IndexOf", "(T,System.Int32,System.Int32,System.Collections.Generic.IEqualityComparer)", "summary", "df-generated"] - ["System.Collections.Immutable", "ImmutableList", "ItemRef", "(System.Int32)", "summary", "df-generated"] - - ["System.Collections.Immutable", "ImmutableList", "LastIndexOf", "(T,System.Int32,System.Int32,System.Collections.Generic.IEqualityComparer)", "summary", "df-generated"] - ["System.Collections.Immutable", "ImmutableList", "Remove", "(System.Object)", "summary", "df-generated"] - ["System.Collections.Immutable", "ImmutableList", "Remove", "(T)", "summary", "df-generated"] + - ["System.Collections.Immutable", "ImmutableList", "RemoveAll", "(System.Predicate)", "summary", "df-generated"] - ["System.Collections.Immutable", "ImmutableList", "RemoveAt", "(System.Int32)", "summary", "df-generated"] + - ["System.Collections.Immutable", "ImmutableList", "TrueForAll", "(System.Predicate)", "summary", "df-generated"] - ["System.Collections.Immutable", "ImmutableList", "get_Count", "()", "summary", "df-generated"] - ["System.Collections.Immutable", "ImmutableList", "get_IsEmpty", "()", "summary", "df-generated"] - ["System.Collections.Immutable", "ImmutableList", "get_IsFixedSize", "()", "summary", "df-generated"] @@ -572,6 +651,9 @@ extensions: - ["System.Collections.Immutable", "ImmutableSortedDictionary", "Create", "()", "summary", "df-generated"] - ["System.Collections.Immutable", "ImmutableSortedDictionary", "CreateBuilder", "()", "summary", "df-generated"] - ["System.Collections.Immutable", "ImmutableSortedDictionary", "ToImmutableSortedDictionary", "(System.Collections.Immutable.ImmutableSortedDictionary+Builder)", "summary", "df-generated"] + - ["System.Collections.Immutable", "ImmutableSortedDictionary", "ToImmutableSortedDictionary", "(System.Collections.Generic.IEnumerable,System.Func,System.Func)", "summary", "df-generated"] + - ["System.Collections.Immutable", "ImmutableSortedDictionary", "ToImmutableSortedDictionary", "(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Collections.Generic.IComparer)", "summary", "df-generated"] + - ["System.Collections.Immutable", "ImmutableSortedDictionary", "ToImmutableSortedDictionary", "(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Collections.Generic.IComparer,System.Collections.Generic.IEqualityComparer)", "summary", "df-generated"] - ["System.Collections.Immutable", "ImmutableSortedDictionary+Builder", "Contains", "(System.Collections.Generic.KeyValuePair)", "summary", "df-generated"] - ["System.Collections.Immutable", "ImmutableSortedDictionary+Builder", "Contains", "(System.Object)", "summary", "df-generated"] - ["System.Collections.Immutable", "ImmutableSortedDictionary+Builder", "ContainsKey", "(TKey)", "summary", "df-generated"] diff --git a/csharp/ql/lib/ext/generated/System.Collections.ObjectModel.model.yml b/csharp/ql/lib/ext/generated/System.Collections.ObjectModel.model.yml index 6093e204803f..c062f8b806da 100644 --- a/csharp/ql/lib/ext/generated/System.Collections.ObjectModel.model.yml +++ b/csharp/ql/lib/ext/generated/System.Collections.ObjectModel.model.yml @@ -58,6 +58,10 @@ extensions: - ["System.Collections.ObjectModel", "ObservableCollection", "OnPropertyChanged", "(System.ComponentModel.PropertyChangedEventArgs)", "summary", "df-generated"] - ["System.Collections.ObjectModel", "ObservableCollection", "RemoveItem", "(System.Int32)", "summary", "df-generated"] - ["System.Collections.ObjectModel", "ObservableCollection", "SetItem", "(System.Int32,T)", "summary", "df-generated"] + - ["System.Collections.ObjectModel", "ObservableCollection", "add_CollectionChanged", "(System.Collections.Specialized.NotifyCollectionChangedEventHandler)", "summary", "df-generated"] + - ["System.Collections.ObjectModel", "ObservableCollection", "add_PropertyChanged", "(System.ComponentModel.PropertyChangedEventHandler)", "summary", "df-generated"] + - ["System.Collections.ObjectModel", "ObservableCollection", "remove_CollectionChanged", "(System.Collections.Specialized.NotifyCollectionChangedEventHandler)", "summary", "df-generated"] + - ["System.Collections.ObjectModel", "ObservableCollection", "remove_PropertyChanged", "(System.ComponentModel.PropertyChangedEventHandler)", "summary", "df-generated"] - ["System.Collections.ObjectModel", "ReadOnlyCollection", "Contains", "(System.Object)", "summary", "df-generated"] - ["System.Collections.ObjectModel", "ReadOnlyCollection", "Contains", "(T)", "summary", "df-generated"] - ["System.Collections.ObjectModel", "ReadOnlyCollection", "IndexOf", "(System.Object)", "summary", "df-generated"] @@ -94,4 +98,8 @@ extensions: - ["System.Collections.ObjectModel", "ReadOnlyObservableCollection", "OnCollectionChanged", "(System.Collections.Specialized.NotifyCollectionChangedEventArgs)", "summary", "df-generated"] - ["System.Collections.ObjectModel", "ReadOnlyObservableCollection", "OnPropertyChanged", "(System.ComponentModel.PropertyChangedEventArgs)", "summary", "df-generated"] - ["System.Collections.ObjectModel", "ReadOnlyObservableCollection", "ReadOnlyObservableCollection", "(System.Collections.ObjectModel.ObservableCollection)", "summary", "df-generated"] + - ["System.Collections.ObjectModel", "ReadOnlyObservableCollection", "add_CollectionChanged", "(System.Collections.Specialized.NotifyCollectionChangedEventHandler)", "summary", "df-generated"] + - ["System.Collections.ObjectModel", "ReadOnlyObservableCollection", "add_PropertyChanged", "(System.ComponentModel.PropertyChangedEventHandler)", "summary", "df-generated"] - ["System.Collections.ObjectModel", "ReadOnlyObservableCollection", "get_Empty", "()", "summary", "df-generated"] + - ["System.Collections.ObjectModel", "ReadOnlyObservableCollection", "remove_CollectionChanged", "(System.Collections.Specialized.NotifyCollectionChangedEventHandler)", "summary", "df-generated"] + - ["System.Collections.ObjectModel", "ReadOnlyObservableCollection", "remove_PropertyChanged", "(System.ComponentModel.PropertyChangedEventHandler)", "summary", "df-generated"] diff --git a/csharp/ql/lib/ext/generated/System.Collections.Specialized.model.yml b/csharp/ql/lib/ext/generated/System.Collections.Specialized.model.yml index 2f1fd8f32b20..482edc03ea67 100644 --- a/csharp/ql/lib/ext/generated/System.Collections.Specialized.model.yml +++ b/csharp/ql/lib/ext/generated/System.Collections.Specialized.model.yml @@ -91,6 +91,8 @@ extensions: - ["System.Collections.Specialized", "HybridDictionary", "get_IsFixedSize", "()", "summary", "df-generated"] - ["System.Collections.Specialized", "HybridDictionary", "get_IsReadOnly", "()", "summary", "df-generated"] - ["System.Collections.Specialized", "HybridDictionary", "get_IsSynchronized", "()", "summary", "df-generated"] + - ["System.Collections.Specialized", "INotifyCollectionChanged", "add_CollectionChanged", "(System.Collections.Specialized.NotifyCollectionChangedEventHandler)", "summary", "df-generated"] + - ["System.Collections.Specialized", "INotifyCollectionChanged", "remove_CollectionChanged", "(System.Collections.Specialized.NotifyCollectionChangedEventHandler)", "summary", "df-generated"] - ["System.Collections.Specialized", "IOrderedDictionary", "GetEnumerator", "()", "summary", "df-generated"] - ["System.Collections.Specialized", "IOrderedDictionary", "Insert", "(System.Int32,System.Object,System.Object)", "summary", "df-generated"] - ["System.Collections.Specialized", "IOrderedDictionary", "RemoveAt", "(System.Int32)", "summary", "df-generated"] diff --git a/csharp/ql/lib/ext/generated/System.Collections.model.yml b/csharp/ql/lib/ext/generated/System.Collections.model.yml index 77e7cf98e975..72ced0a5f678 100644 --- a/csharp/ql/lib/ext/generated/System.Collections.model.yml +++ b/csharp/ql/lib/ext/generated/System.Collections.model.yml @@ -41,11 +41,16 @@ extensions: - ["System.Collections", "Hashtable", False, "Synchronized", "(System.Collections.Hashtable)", "", "Argument[0]", "ReturnValue.SyntheticField[System.Collections.Hashtable+SyncHashtable._table]", "value", "dfc-generated"] - ["System.Collections", "Hashtable", False, "get_EqualityComparer", "()", "", "Argument[this].SyntheticField[System.Collections.Hashtable._keycomparer]", "ReturnValue", "value", "dfc-generated"] - ["System.Collections", "ICollection", True, "get_SyncRoot", "()", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] + - ["System.Collections", "IComparer", True, "Compare", "(System.Object,System.Object)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["System.Collections", "IComparer", True, "Compare", "(System.Object,System.Object)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] - ["System.Collections", "IDictionary", True, "GetEnumerator", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["System.Collections", "IDictionaryEnumerator", True, "get_Entry", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["System.Collections", "IDictionaryEnumerator", True, "get_Key", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["System.Collections", "IDictionaryEnumerator", True, "get_Value", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["System.Collections", "IEnumerator", True, "get_Current", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["System.Collections", "IEqualityComparer", True, "Equals", "(System.Object,System.Object)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["System.Collections", "IEqualityComparer", True, "Equals", "(System.Object,System.Object)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] + - ["System.Collections", "IEqualityComparer", True, "GetHashCode", "(System.Object)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - ["System.Collections", "Queue", False, "Queue", "(System.Collections.ICollection)", "", "Argument[0].Element", "Argument[this].SyntheticField[System.Collections.Queue._array].Element", "value", "dfc-generated"] - ["System.Collections", "Queue", False, "Synchronized", "(System.Collections.Queue)", "", "Argument[0].Element", "ReturnValue", "taint", "df-generated"] - ["System.Collections", "Queue", True, "Dequeue", "()", "", "Argument[this].SyntheticField[System.Collections.Queue._array].Element", "ReturnValue", "value", "dfc-generated"] @@ -104,7 +109,6 @@ extensions: - ["System.Collections", "BitArray", "get_IsSynchronized", "()", "summary", "df-generated"] - ["System.Collections", "BitArray", "get_Item", "(System.Int32)", "summary", "df-generated"] - ["System.Collections", "BitArray", "set_Item", "(System.Int32,System.Boolean)", "summary", "df-generated"] - - ["System.Collections", "CaseInsensitiveComparer", "Compare", "(System.Object,System.Object)", "summary", "df-generated"] - ["System.Collections", "CaseInsensitiveComparer", "get_Default", "()", "summary", "df-generated"] - ["System.Collections", "CaseInsensitiveComparer", "get_DefaultInvariant", "()", "summary", "df-generated"] - ["System.Collections", "CaseInsensitiveHashCodeProvider", "GetHashCode", "(System.Object)", "summary", "df-generated"] @@ -125,7 +129,6 @@ extensions: - ["System.Collections", "CollectionBase", "get_IsFixedSize", "()", "summary", "df-generated"] - ["System.Collections", "CollectionBase", "get_IsReadOnly", "()", "summary", "df-generated"] - ["System.Collections", "CollectionBase", "get_IsSynchronized", "()", "summary", "df-generated"] - - ["System.Collections", "Comparer", "Compare", "(System.Object,System.Object)", "summary", "df-generated"] - ["System.Collections", "DictionaryBase", "Contains", "(System.Object)", "summary", "df-generated"] - ["System.Collections", "DictionaryBase", "OnClear", "()", "summary", "df-generated"] - ["System.Collections", "DictionaryBase", "OnClearComplete", "()", "summary", "df-generated"] @@ -163,15 +166,12 @@ extensions: - ["System.Collections", "Hashtable", "get_IsSynchronized", "()", "summary", "df-generated"] - ["System.Collections", "ICollection", "get_Count", "()", "summary", "df-generated"] - ["System.Collections", "ICollection", "get_IsSynchronized", "()", "summary", "df-generated"] - - ["System.Collections", "IComparer", "Compare", "(System.Object,System.Object)", "summary", "df-generated"] - ["System.Collections", "IDictionary", "Contains", "(System.Object)", "summary", "df-generated"] - ["System.Collections", "IDictionary", "Remove", "(System.Object)", "summary", "df-generated"] - ["System.Collections", "IDictionary", "get_IsFixedSize", "()", "summary", "df-generated"] - ["System.Collections", "IDictionary", "get_IsReadOnly", "()", "summary", "df-generated"] - ["System.Collections", "IEnumerator", "MoveNext", "()", "summary", "df-generated"] - ["System.Collections", "IEnumerator", "Reset", "()", "summary", "df-generated"] - - ["System.Collections", "IEqualityComparer", "Equals", "(System.Object,System.Object)", "summary", "df-generated"] - - ["System.Collections", "IEqualityComparer", "GetHashCode", "(System.Object)", "summary", "df-generated"] - ["System.Collections", "IHashCodeProvider", "GetHashCode", "(System.Object)", "summary", "df-generated"] - ["System.Collections", "IList", "Contains", "(System.Object)", "summary", "df-generated"] - ["System.Collections", "IList", "IndexOf", "(System.Object)", "summary", "df-generated"] diff --git a/csharp/ql/lib/ext/generated/System.ComponentModel.Composition.Hosting.model.yml b/csharp/ql/lib/ext/generated/System.ComponentModel.Composition.Hosting.model.yml index eef7e3efc4e0..2ce7efbd276c 100644 --- a/csharp/ql/lib/ext/generated/System.ComponentModel.Composition.Hosting.model.yml +++ b/csharp/ql/lib/ext/generated/System.ComponentModel.Composition.Hosting.model.yml @@ -82,9 +82,13 @@ extensions: - ["System.ComponentModel.Composition.Hosting", "DirectoryCatalog", False, "get_LoadedFiles", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["System.ComponentModel.Composition.Hosting", "DirectoryCatalog", False, "get_Path", "()", "", "Argument[this].SyntheticField[System.ComponentModel.Composition.Hosting.DirectoryCatalog._path]", "ReturnValue", "value", "dfc-generated"] - ["System.ComponentModel.Composition.Hosting", "DirectoryCatalog", False, "get_SearchPattern", "()", "", "Argument[this].SyntheticField[System.ComponentModel.Composition.Hosting.DirectoryCatalog._searchPattern]", "ReturnValue", "value", "dfc-generated"] + - ["System.ComponentModel.Composition.Hosting", "ExportProvider", False, "GetExports", "(System.ComponentModel.Composition.Primitives.ImportDefinition)", "", "Argument[this]", "Argument[0]", "taint", "df-generated"] - ["System.ComponentModel.Composition.Hosting", "ExportProvider", False, "GetExports", "(System.ComponentModel.Composition.Primitives.ImportDefinition)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["System.ComponentModel.Composition.Hosting", "ExportProvider", False, "GetExports", "(System.ComponentModel.Composition.Primitives.ImportDefinition,System.ComponentModel.Composition.Hosting.AtomicComposition)", "", "Argument[this]", "Argument[0]", "taint", "df-generated"] - ["System.ComponentModel.Composition.Hosting", "ExportProvider", False, "GetExports", "(System.ComponentModel.Composition.Primitives.ImportDefinition,System.ComponentModel.Composition.Hosting.AtomicComposition)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["System.ComponentModel.Composition.Hosting", "ExportProvider", False, "TryGetExports", "(System.ComponentModel.Composition.Primitives.ImportDefinition,System.ComponentModel.Composition.Hosting.AtomicComposition,System.Collections.Generic.IEnumerable)", "", "Argument[this]", "Argument[0]", "taint", "df-generated"] - ["System.ComponentModel.Composition.Hosting", "ExportProvider", False, "TryGetExports", "(System.ComponentModel.Composition.Primitives.ImportDefinition,System.ComponentModel.Composition.Hosting.AtomicComposition,System.Collections.Generic.IEnumerable)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["System.ComponentModel.Composition.Hosting", "ExportProvider", True, "GetExportsCore", "(System.ComponentModel.Composition.Primitives.ImportDefinition,System.ComponentModel.Composition.Hosting.AtomicComposition)", "", "Argument[this]", "Argument[0]", "taint", "df-generated"] - ["System.ComponentModel.Composition.Hosting", "ExportProvider", True, "GetExportsCore", "(System.ComponentModel.Composition.Primitives.ImportDefinition,System.ComponentModel.Composition.Hosting.AtomicComposition)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["System.ComponentModel.Composition.Hosting", "ExportsChangeEventArgs", False, "ExportsChangeEventArgs", "(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.ComponentModel.Composition.Hosting.AtomicComposition)", "", "Argument[0].Element", "Argument[this].SyntheticField[System.ComponentModel.Composition.Hosting.ExportsChangeEventArgs._addedExports].Element", "value", "dfc-generated"] - ["System.ComponentModel.Composition.Hosting", "ExportsChangeEventArgs", False, "ExportsChangeEventArgs", "(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.ComponentModel.Composition.Hosting.AtomicComposition)", "", "Argument[0]", "Argument[this].SyntheticField[System.ComponentModel.Composition.Hosting.ExportsChangeEventArgs._addedExports]", "value", "dfc-generated"] @@ -105,6 +109,10 @@ extensions: - ["System.ComponentModel.Composition.Hosting", "AggregateCatalog", "Dispose", "(System.Boolean)", "summary", "df-generated"] - ["System.ComponentModel.Composition.Hosting", "AggregateCatalog", "OnChanged", "(System.ComponentModel.Composition.Hosting.ComposablePartCatalogChangeEventArgs)", "summary", "df-generated"] - ["System.ComponentModel.Composition.Hosting", "AggregateCatalog", "OnChanging", "(System.ComponentModel.Composition.Hosting.ComposablePartCatalogChangeEventArgs)", "summary", "df-generated"] + - ["System.ComponentModel.Composition.Hosting", "AggregateCatalog", "add_Changed", "(System.EventHandler)", "summary", "df-generated"] + - ["System.ComponentModel.Composition.Hosting", "AggregateCatalog", "add_Changing", "(System.EventHandler)", "summary", "df-generated"] + - ["System.ComponentModel.Composition.Hosting", "AggregateCatalog", "remove_Changed", "(System.EventHandler)", "summary", "df-generated"] + - ["System.ComponentModel.Composition.Hosting", "AggregateCatalog", "remove_Changing", "(System.EventHandler)", "summary", "df-generated"] - ["System.ComponentModel.Composition.Hosting", "AggregateExportProvider", "AggregateExportProvider", "(System.Collections.Generic.IEnumerable)", "summary", "df-generated"] - ["System.ComponentModel.Composition.Hosting", "AggregateExportProvider", "Dispose", "()", "summary", "df-generated"] - ["System.ComponentModel.Composition.Hosting", "AggregateExportProvider", "Dispose", "(System.Boolean)", "summary", "df-generated"] @@ -112,6 +120,8 @@ extensions: - ["System.ComponentModel.Composition.Hosting", "ApplicationCatalog", "ToString", "()", "summary", "df-generated"] - ["System.ComponentModel.Composition.Hosting", "AssemblyCatalog", "AssemblyCatalog", "(System.String)", "summary", "df-generated"] - ["System.ComponentModel.Composition.Hosting", "AssemblyCatalog", "Dispose", "(System.Boolean)", "summary", "df-generated"] + - ["System.ComponentModel.Composition.Hosting", "AtomicComposition", "AddCompleteAction", "(System.Action)", "summary", "df-generated"] + - ["System.ComponentModel.Composition.Hosting", "AtomicComposition", "AddRevertAction", "(System.Action)", "summary", "df-generated"] - ["System.ComponentModel.Composition.Hosting", "AtomicComposition", "Complete", "()", "summary", "df-generated"] - ["System.ComponentModel.Composition.Hosting", "AtomicComposition", "Dispose", "()", "summary", "df-generated"] - ["System.ComponentModel.Composition.Hosting", "AtomicComposition", "Dispose", "(System.Boolean)", "summary", "df-generated"] @@ -140,6 +150,10 @@ extensions: - ["System.ComponentModel.Composition.Hosting", "CompositionScopeDefinition", "Dispose", "(System.Boolean)", "summary", "df-generated"] - ["System.ComponentModel.Composition.Hosting", "CompositionScopeDefinition", "OnChanged", "(System.ComponentModel.Composition.Hosting.ComposablePartCatalogChangeEventArgs)", "summary", "df-generated"] - ["System.ComponentModel.Composition.Hosting", "CompositionScopeDefinition", "OnChanging", "(System.ComponentModel.Composition.Hosting.ComposablePartCatalogChangeEventArgs)", "summary", "df-generated"] + - ["System.ComponentModel.Composition.Hosting", "CompositionScopeDefinition", "add_Changed", "(System.EventHandler)", "summary", "df-generated"] + - ["System.ComponentModel.Composition.Hosting", "CompositionScopeDefinition", "add_Changing", "(System.EventHandler)", "summary", "df-generated"] + - ["System.ComponentModel.Composition.Hosting", "CompositionScopeDefinition", "remove_Changed", "(System.EventHandler)", "summary", "df-generated"] + - ["System.ComponentModel.Composition.Hosting", "CompositionScopeDefinition", "remove_Changing", "(System.EventHandler)", "summary", "df-generated"] - ["System.ComponentModel.Composition.Hosting", "CompositionService", "Dispose", "()", "summary", "df-generated"] - ["System.ComponentModel.Composition.Hosting", "CompositionService", "SatisfyImportsOnce", "(System.ComponentModel.Composition.Primitives.ComposablePart)", "summary", "df-generated"] - ["System.ComponentModel.Composition.Hosting", "DirectoryCatalog", "DirectoryCatalog", "(System.String)", "summary", "df-generated"] @@ -150,6 +164,10 @@ extensions: - ["System.ComponentModel.Composition.Hosting", "DirectoryCatalog", "OnChanged", "(System.ComponentModel.Composition.Hosting.ComposablePartCatalogChangeEventArgs)", "summary", "df-generated"] - ["System.ComponentModel.Composition.Hosting", "DirectoryCatalog", "OnChanging", "(System.ComponentModel.Composition.Hosting.ComposablePartCatalogChangeEventArgs)", "summary", "df-generated"] - ["System.ComponentModel.Composition.Hosting", "DirectoryCatalog", "Refresh", "()", "summary", "df-generated"] + - ["System.ComponentModel.Composition.Hosting", "DirectoryCatalog", "add_Changed", "(System.EventHandler)", "summary", "df-generated"] + - ["System.ComponentModel.Composition.Hosting", "DirectoryCatalog", "add_Changing", "(System.EventHandler)", "summary", "df-generated"] + - ["System.ComponentModel.Composition.Hosting", "DirectoryCatalog", "remove_Changed", "(System.EventHandler)", "summary", "df-generated"] + - ["System.ComponentModel.Composition.Hosting", "DirectoryCatalog", "remove_Changing", "(System.EventHandler)", "summary", "df-generated"] - ["System.ComponentModel.Composition.Hosting", "ExportProvider", "GetExport", "()", "summary", "df-generated"] - ["System.ComponentModel.Composition.Hosting", "ExportProvider", "GetExport", "(System.String)", "summary", "df-generated"] - ["System.ComponentModel.Composition.Hosting", "ExportProvider", "GetExport", "()", "summary", "df-generated"] @@ -167,12 +185,27 @@ extensions: - ["System.ComponentModel.Composition.Hosting", "ExportProvider", "GetExports", "(System.String)", "summary", "df-generated"] - ["System.ComponentModel.Composition.Hosting", "ExportProvider", "OnExportsChanged", "(System.ComponentModel.Composition.Hosting.ExportsChangeEventArgs)", "summary", "df-generated"] - ["System.ComponentModel.Composition.Hosting", "ExportProvider", "OnExportsChanging", "(System.ComponentModel.Composition.Hosting.ExportsChangeEventArgs)", "summary", "df-generated"] + - ["System.ComponentModel.Composition.Hosting", "ExportProvider", "add_ExportsChanged", "(System.EventHandler)", "summary", "df-generated"] + - ["System.ComponentModel.Composition.Hosting", "ExportProvider", "add_ExportsChanging", "(System.EventHandler)", "summary", "df-generated"] + - ["System.ComponentModel.Composition.Hosting", "ExportProvider", "remove_ExportsChanged", "(System.EventHandler)", "summary", "df-generated"] + - ["System.ComponentModel.Composition.Hosting", "ExportProvider", "remove_ExportsChanging", "(System.EventHandler)", "summary", "df-generated"] - ["System.ComponentModel.Composition.Hosting", "ExportsChangeEventArgs", "get_ChangedContractNames", "()", "summary", "df-generated"] - ["System.ComponentModel.Composition.Hosting", "FilteredCatalog", "Dispose", "(System.Boolean)", "summary", "df-generated"] + - ["System.ComponentModel.Composition.Hosting", "FilteredCatalog", "FilteredCatalog", "(System.ComponentModel.Composition.Primitives.ComposablePartCatalog,System.Func)", "summary", "df-generated"] - ["System.ComponentModel.Composition.Hosting", "FilteredCatalog", "IncludeDependencies", "()", "summary", "df-generated"] + - ["System.ComponentModel.Composition.Hosting", "FilteredCatalog", "IncludeDependencies", "(System.Func)", "summary", "df-generated"] - ["System.ComponentModel.Composition.Hosting", "FilteredCatalog", "IncludeDependents", "()", "summary", "df-generated"] + - ["System.ComponentModel.Composition.Hosting", "FilteredCatalog", "IncludeDependents", "(System.Func)", "summary", "df-generated"] - ["System.ComponentModel.Composition.Hosting", "FilteredCatalog", "OnChanged", "(System.ComponentModel.Composition.Hosting.ComposablePartCatalogChangeEventArgs)", "summary", "df-generated"] - ["System.ComponentModel.Composition.Hosting", "FilteredCatalog", "OnChanging", "(System.ComponentModel.Composition.Hosting.ComposablePartCatalogChangeEventArgs)", "summary", "df-generated"] + - ["System.ComponentModel.Composition.Hosting", "FilteredCatalog", "add_Changed", "(System.EventHandler)", "summary", "df-generated"] + - ["System.ComponentModel.Composition.Hosting", "FilteredCatalog", "add_Changing", "(System.EventHandler)", "summary", "df-generated"] + - ["System.ComponentModel.Composition.Hosting", "FilteredCatalog", "remove_Changed", "(System.EventHandler)", "summary", "df-generated"] + - ["System.ComponentModel.Composition.Hosting", "FilteredCatalog", "remove_Changing", "(System.EventHandler)", "summary", "df-generated"] + - ["System.ComponentModel.Composition.Hosting", "INotifyComposablePartCatalogChanged", "add_Changed", "(System.EventHandler)", "summary", "df-generated"] + - ["System.ComponentModel.Composition.Hosting", "INotifyComposablePartCatalogChanged", "add_Changing", "(System.EventHandler)", "summary", "df-generated"] + - ["System.ComponentModel.Composition.Hosting", "INotifyComposablePartCatalogChanged", "remove_Changed", "(System.EventHandler)", "summary", "df-generated"] + - ["System.ComponentModel.Composition.Hosting", "INotifyComposablePartCatalogChanged", "remove_Changing", "(System.EventHandler)", "summary", "df-generated"] - ["System.ComponentModel.Composition.Hosting", "ImportEngine", "Dispose", "()", "summary", "df-generated"] - ["System.ComponentModel.Composition.Hosting", "ImportEngine", "Dispose", "(System.Boolean)", "summary", "df-generated"] - ["System.ComponentModel.Composition.Hosting", "ImportEngine", "ImportEngine", "(System.ComponentModel.Composition.Hosting.ExportProvider)", "summary", "df-generated"] @@ -184,6 +217,7 @@ extensions: - ["System.ComponentModel.Composition.Hosting", "ScopingExtensions", "ContainsPartMetadata", "(System.ComponentModel.Composition.Primitives.ComposablePartDefinition,System.String,T)", "summary", "df-generated"] - ["System.ComponentModel.Composition.Hosting", "ScopingExtensions", "ContainsPartMetadataWithKey", "(System.ComponentModel.Composition.Primitives.ComposablePartDefinition,System.String)", "summary", "df-generated"] - ["System.ComponentModel.Composition.Hosting", "ScopingExtensions", "Exports", "(System.ComponentModel.Composition.Primitives.ComposablePartDefinition,System.String)", "summary", "df-generated"] + - ["System.ComponentModel.Composition.Hosting", "ScopingExtensions", "Filter", "(System.ComponentModel.Composition.Primitives.ComposablePartCatalog,System.Func)", "summary", "df-generated"] - ["System.ComponentModel.Composition.Hosting", "ScopingExtensions", "Imports", "(System.ComponentModel.Composition.Primitives.ComposablePartDefinition,System.String)", "summary", "df-generated"] - ["System.ComponentModel.Composition.Hosting", "ScopingExtensions", "Imports", "(System.ComponentModel.Composition.Primitives.ComposablePartDefinition,System.String,System.ComponentModel.Composition.Primitives.ImportCardinality)", "summary", "df-generated"] - ["System.ComponentModel.Composition.Hosting", "TypeCatalog", "Dispose", "(System.Boolean)", "summary", "df-generated"] diff --git a/csharp/ql/lib/ext/generated/System.ComponentModel.Composition.Primitives.model.yml b/csharp/ql/lib/ext/generated/System.ComponentModel.Composition.Primitives.model.yml index f9de4bf682b5..c2263116a713 100644 --- a/csharp/ql/lib/ext/generated/System.ComponentModel.Composition.Primitives.model.yml +++ b/csharp/ql/lib/ext/generated/System.ComponentModel.Composition.Primitives.model.yml @@ -20,10 +20,12 @@ extensions: - ["System.ComponentModel.Composition.Primitives", "ContractBasedImportDefinition", False, "ContractBasedImportDefinition", "(System.String,System.String,System.Collections.Generic.IEnumerable>,System.ComponentModel.Composition.Primitives.ImportCardinality,System.Boolean,System.Boolean,System.ComponentModel.Composition.CreationPolicy,System.Collections.Generic.IDictionary)", "", "Argument[2]", "Argument[this].SyntheticField[System.ComponentModel.Composition.Primitives.ContractBasedImportDefinition._requiredMetadata]", "value", "dfc-generated"] - ["System.ComponentModel.Composition.Primitives", "ContractBasedImportDefinition", True, "get_RequiredMetadata", "()", "", "Argument[this].SyntheticField[System.ComponentModel.Composition.Primitives.ContractBasedImportDefinition._requiredMetadata]", "ReturnValue", "value", "dfc-generated"] - ["System.ComponentModel.Composition.Primitives", "ContractBasedImportDefinition", True, "get_RequiredTypeIdentity", "()", "", "Argument[this].SyntheticField[System.ComponentModel.Composition.Primitives.ContractBasedImportDefinition._requiredTypeIdentity]", "ReturnValue", "value", "dfc-generated"] + - ["System.ComponentModel.Composition.Primitives", "Export", False, "Export", "(System.ComponentModel.Composition.Primitives.ExportDefinition,System.Func)", "", "Argument[0]", "Argument[this].SyntheticField[System.ComponentModel.Composition.Primitives.Export._definition]", "value", "dfc-generated"] + - ["System.ComponentModel.Composition.Primitives", "Export", False, "Export", "(System.ComponentModel.Composition.Primitives.ExportDefinition,System.Func)", "", "Argument[1]", "Argument[this].SyntheticField[System.ComponentModel.Composition.Primitives.Export._exportedValueGetter]", "value", "dfc-generated"] - ["System.ComponentModel.Composition.Primitives", "Export", False, "get_Metadata", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["System.ComponentModel.Composition.Primitives", "Export", False, "get_Value", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["System.ComponentModel.Composition.Primitives", "Export", True, "GetExportedValueCore", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["System.ComponentModel.Composition.Primitives", "Export", True, "get_Definition", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["System.ComponentModel.Composition.Primitives", "Export", True, "get_Definition", "()", "", "Argument[this].SyntheticField[System.ComponentModel.Composition.Primitives.Export._definition]", "ReturnValue", "value", "dfc-generated"] - ["System.ComponentModel.Composition.Primitives", "ExportDefinition", False, "ExportDefinition", "(System.String,System.Collections.Generic.IDictionary)", "", "Argument[0]", "Argument[this].SyntheticField[System.ComponentModel.Composition.Primitives.ExportDefinition._contractName]", "value", "dfc-generated"] - ["System.ComponentModel.Composition.Primitives", "ExportDefinition", False, "ExportDefinition", "(System.String,System.Collections.Generic.IDictionary)", "", "Argument[1]", "Argument[this].SyntheticField[System.ComponentModel.Composition.Primitives.ExportDefinition._metadata]", "value", "dfc-generated"] - ["System.ComponentModel.Composition.Primitives", "ExportDefinition", False, "ToString", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] @@ -36,6 +38,7 @@ extensions: - ["System.ComponentModel.Composition.Primitives", "ImportDefinition", False, "ImportDefinition", "(System.Linq.Expressions.Expression>,System.String,System.ComponentModel.Composition.Primitives.ImportCardinality,System.Boolean,System.Boolean)", "", "Argument[0]", "Argument[this].SyntheticField[System.ComponentModel.Composition.Primitives.ImportDefinition._constraint]", "value", "dfc-generated"] - ["System.ComponentModel.Composition.Primitives", "ImportDefinition", False, "ImportDefinition", "(System.Linq.Expressions.Expression>,System.String,System.ComponentModel.Composition.Primitives.ImportCardinality,System.Boolean,System.Boolean,System.Collections.Generic.IDictionary)", "", "Argument[0]", "Argument[this].SyntheticField[System.ComponentModel.Composition.Primitives.ImportDefinition._constraint]", "value", "dfc-generated"] - ["System.ComponentModel.Composition.Primitives", "ImportDefinition", False, "ToString", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["System.ComponentModel.Composition.Primitives", "ImportDefinition", True, "IsConstraintSatisfiedBy", "(System.ComponentModel.Composition.Primitives.ExportDefinition)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - ["System.ComponentModel.Composition.Primitives", "ImportDefinition", True, "get_Constraint", "()", "", "Argument[this].SyntheticField[System.ComponentModel.Composition.Primitives.ImportDefinition._constraint]", "ReturnValue", "value", "dfc-generated"] - ["System.ComponentModel.Composition.Primitives", "ImportDefinition", True, "get_ContractName", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["System.ComponentModel.Composition.Primitives", "ImportDefinition", True, "get_Metadata", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] @@ -52,10 +55,10 @@ extensions: - ["System.ComponentModel.Composition.Primitives", "ComposablePartException", "ComposablePartException", "(System.String,System.ComponentModel.Composition.Primitives.ICompositionElement)", "summary", "df-generated"] - ["System.ComponentModel.Composition.Primitives", "ComposablePartException", "ComposablePartException", "(System.String,System.Exception)", "summary", "df-generated"] - ["System.ComponentModel.Composition.Primitives", "ContractBasedImportDefinition", "ContractBasedImportDefinition", "(System.String,System.String,System.Collections.Generic.IEnumerable>,System.ComponentModel.Composition.Primitives.ImportCardinality,System.Boolean,System.Boolean,System.ComponentModel.Composition.CreationPolicy)", "summary", "df-generated"] - - ["System.ComponentModel.Composition.Primitives", "ContractBasedImportDefinition", "IsConstraintSatisfiedBy", "(System.ComponentModel.Composition.Primitives.ExportDefinition)", "summary", "df-generated"] - ["System.ComponentModel.Composition.Primitives", "ContractBasedImportDefinition", "get_RequiredCreationPolicy", "()", "summary", "df-generated"] + - ["System.ComponentModel.Composition.Primitives", "Export", "Export", "(System.String,System.Collections.Generic.IDictionary,System.Func)", "summary", "df-generated"] + - ["System.ComponentModel.Composition.Primitives", "Export", "Export", "(System.String,System.Func)", "summary", "df-generated"] - ["System.ComponentModel.Composition.Primitives", "ExportedDelegate", "CreateDelegate", "(System.Type)", "summary", "df-generated"] - - ["System.ComponentModel.Composition.Primitives", "ImportDefinition", "IsConstraintSatisfiedBy", "(System.ComponentModel.Composition.Primitives.ExportDefinition)", "summary", "df-generated"] - ["System.ComponentModel.Composition.Primitives", "ImportDefinition", "get_Cardinality", "()", "summary", "df-generated"] - ["System.ComponentModel.Composition.Primitives", "ImportDefinition", "get_IsPrerequisite", "()", "summary", "df-generated"] - ["System.ComponentModel.Composition.Primitives", "ImportDefinition", "get_IsRecomposable", "()", "summary", "df-generated"] diff --git a/csharp/ql/lib/ext/generated/System.ComponentModel.Composition.ReflectionModel.model.yml b/csharp/ql/lib/ext/generated/System.ComponentModel.Composition.ReflectionModel.model.yml index 5261cf782928..28167ef8f898 100644 --- a/csharp/ql/lib/ext/generated/System.ComponentModel.Composition.ReflectionModel.model.yml +++ b/csharp/ql/lib/ext/generated/System.ComponentModel.Composition.ReflectionModel.model.yml @@ -6,6 +6,7 @@ extensions: data: - ["System.ComponentModel.Composition.ReflectionModel", "LazyMemberInfo", False, "GetAccessors", "()", "", "Argument[this].SyntheticField[System.ComponentModel.Composition.ReflectionModel.LazyMemberInfo._accessors]", "ReturnValue", "value", "dfc-generated"] - ["System.ComponentModel.Composition.ReflectionModel", "LazyMemberInfo", False, "LazyMemberInfo", "(System.Reflection.MemberInfo)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["System.ComponentModel.Composition.ReflectionModel", "LazyMemberInfo", False, "LazyMemberInfo", "(System.Reflection.MemberTypes,System.Func)", "", "Argument[1]", "Argument[this].SyntheticField[System.ComponentModel.Composition.ReflectionModel.LazyMemberInfo._accessorsCreator]", "value", "dfc-generated"] - ["System.ComponentModel.Composition.ReflectionModel", "LazyMemberInfo", False, "LazyMemberInfo", "(System.Reflection.MemberTypes,System.Reflection.MemberInfo[])", "", "Argument[1]", "Argument[this].SyntheticField[System.ComponentModel.Composition.ReflectionModel.LazyMemberInfo._accessors]", "value", "dfc-generated"] - ["System.ComponentModel.Composition.ReflectionModel", "ReflectionModelServices", False, "CreateExportDefinition", "(System.ComponentModel.Composition.ReflectionModel.LazyMemberInfo,System.String,System.Lazy>,System.ComponentModel.Composition.Primitives.ICompositionElement)", "", "Argument[3]", "ReturnValue.SyntheticField[System.ComponentModel.Composition.ReflectionModel.ReflectionMemberExportDefinition._origin]", "value", "dfc-generated"] - ["System.ComponentModel.Composition.ReflectionModel", "ReflectionModelServices", False, "CreateImportDefinition", "(System.ComponentModel.Composition.ReflectionModel.LazyMemberInfo,System.String,System.String,System.Collections.Generic.IEnumerable>,System.ComponentModel.Composition.Primitives.ImportCardinality,System.Boolean,System.Boolean,System.ComponentModel.Composition.CreationPolicy,System.Collections.Generic.IDictionary,System.Boolean,System.ComponentModel.Composition.Primitives.ICompositionElement)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] diff --git a/csharp/ql/lib/ext/generated/System.ComponentModel.Composition.Registration.model.yml b/csharp/ql/lib/ext/generated/System.ComponentModel.Composition.Registration.model.yml index c825e6659803..91d301de49bf 100644 --- a/csharp/ql/lib/ext/generated/System.ComponentModel.Composition.Registration.model.yml +++ b/csharp/ql/lib/ext/generated/System.ComponentModel.Composition.Registration.model.yml @@ -4,6 +4,7 @@ extensions: pack: codeql/csharp-all extensible: summaryModel data: + - ["System.ComponentModel.Composition.Registration", "ExportBuilder", False, "AddMetadata", "(System.String,System.Func)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] - ["System.ComponentModel.Composition.Registration", "ExportBuilder", False, "AddMetadata", "(System.String,System.Object)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] - ["System.ComponentModel.Composition.Registration", "ExportBuilder", False, "AsContractName", "(System.String)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] - ["System.ComponentModel.Composition.Registration", "ExportBuilder", False, "AsContractType", "(System.Type)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] @@ -17,22 +18,44 @@ extensions: - ["System.ComponentModel.Composition.Registration", "ImportBuilder", False, "AsMany", "(System.Boolean)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] - ["System.ComponentModel.Composition.Registration", "ImportBuilder", False, "RequiredCreationPolicy", "(System.ComponentModel.Composition.CreationPolicy)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] - ["System.ComponentModel.Composition.Registration", "ImportBuilder", False, "Source", "(System.ComponentModel.Composition.ImportSource)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] + - ["System.ComponentModel.Composition.Registration", "PartBuilder", False, "AddMetadata", "(System.String,System.Func)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] - ["System.ComponentModel.Composition.Registration", "PartBuilder", False, "AddMetadata", "(System.String,System.Object)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] - ["System.ComponentModel.Composition.Registration", "PartBuilder", False, "Export", "()", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] + - ["System.ComponentModel.Composition.Registration", "PartBuilder", False, "Export", "(System.Action)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] - ["System.ComponentModel.Composition.Registration", "PartBuilder", False, "Export", "()", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] + - ["System.ComponentModel.Composition.Registration", "PartBuilder", False, "Export", "(System.Action)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] - ["System.ComponentModel.Composition.Registration", "PartBuilder", False, "ExportInterfaces", "()", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] + - ["System.ComponentModel.Composition.Registration", "PartBuilder", False, "ExportInterfaces", "(System.Predicate)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] + - ["System.ComponentModel.Composition.Registration", "PartBuilder", False, "ExportInterfaces", "(System.Predicate,System.Action)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] + - ["System.ComponentModel.Composition.Registration", "PartBuilder", False, "ExportProperties", "(System.Predicate)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] + - ["System.ComponentModel.Composition.Registration", "PartBuilder", False, "ExportProperties", "(System.Predicate,System.Action)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] + - ["System.ComponentModel.Composition.Registration", "PartBuilder", False, "ExportProperties", "(System.Predicate)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] + - ["System.ComponentModel.Composition.Registration", "PartBuilder", False, "ExportProperties", "(System.Predicate,System.Action)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] + - ["System.ComponentModel.Composition.Registration", "PartBuilder", False, "ImportProperties", "(System.Predicate)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] + - ["System.ComponentModel.Composition.Registration", "PartBuilder", False, "ImportProperties", "(System.Predicate,System.Action)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] + - ["System.ComponentModel.Composition.Registration", "PartBuilder", False, "ImportProperties", "(System.Predicate)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] + - ["System.ComponentModel.Composition.Registration", "PartBuilder", False, "ImportProperties", "(System.Predicate,System.Action)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] + - ["System.ComponentModel.Composition.Registration", "PartBuilder", False, "SelectConstructor", "(System.Func)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] + - ["System.ComponentModel.Composition.Registration", "PartBuilder", False, "SelectConstructor", "(System.Func,System.Action)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] - ["System.ComponentModel.Composition.Registration", "PartBuilder", False, "SetCreationPolicy", "(System.ComponentModel.Composition.CreationPolicy)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] - ["System.ComponentModel.Composition.Registration", "PartBuilder", False, "ExportProperty", "(System.Linq.Expressions.Expression>)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] + - ["System.ComponentModel.Composition.Registration", "PartBuilder", False, "ExportProperty", "(System.Linq.Expressions.Expression>,System.Action)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] - ["System.ComponentModel.Composition.Registration", "PartBuilder", False, "ExportProperty", "(System.Linq.Expressions.Expression>)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] + - ["System.ComponentModel.Composition.Registration", "PartBuilder", False, "ExportProperty", "(System.Linq.Expressions.Expression>,System.Action)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] - ["System.ComponentModel.Composition.Registration", "PartBuilder", False, "ImportProperty", "(System.Linq.Expressions.Expression>)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] + - ["System.ComponentModel.Composition.Registration", "PartBuilder", False, "ImportProperty", "(System.Linq.Expressions.Expression>,System.Action)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] - ["System.ComponentModel.Composition.Registration", "PartBuilder", False, "ImportProperty", "(System.Linq.Expressions.Expression>)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] + - ["System.ComponentModel.Composition.Registration", "PartBuilder", False, "ImportProperty", "(System.Linq.Expressions.Expression>,System.Action)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] - ["System.ComponentModel.Composition.Registration", "PartBuilder", False, "SelectConstructor", "(System.Linq.Expressions.Expression>)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] - addsTo: pack: codeql/csharp-all extensible: neutralModel data: - ["System.ComponentModel.Composition.Registration", "ParameterImportBuilder", "Import", "()", "summary", "df-generated"] + - ["System.ComponentModel.Composition.Registration", "ParameterImportBuilder", "Import", "(System.Action)", "summary", "df-generated"] - ["System.ComponentModel.Composition.Registration", "RegistrationBuilder", "ForType", "(System.Type)", "summary", "df-generated"] - ["System.ComponentModel.Composition.Registration", "RegistrationBuilder", "ForType", "()", "summary", "df-generated"] - ["System.ComponentModel.Composition.Registration", "RegistrationBuilder", "ForTypesDerivedFrom", "(System.Type)", "summary", "df-generated"] - ["System.ComponentModel.Composition.Registration", "RegistrationBuilder", "ForTypesDerivedFrom", "()", "summary", "df-generated"] + - ["System.ComponentModel.Composition.Registration", "RegistrationBuilder", "ForTypesMatching", "(System.Predicate)", "summary", "df-generated"] + - ["System.ComponentModel.Composition.Registration", "RegistrationBuilder", "ForTypesMatching", "(System.Predicate)", "summary", "df-generated"] diff --git a/csharp/ql/lib/ext/generated/System.ComponentModel.Composition.model.yml b/csharp/ql/lib/ext/generated/System.ComponentModel.Composition.model.yml index 68dfefaccb9c..40544f41714e 100644 --- a/csharp/ql/lib/ext/generated/System.ComponentModel.Composition.model.yml +++ b/csharp/ql/lib/ext/generated/System.ComponentModel.Composition.model.yml @@ -23,8 +23,10 @@ extensions: - ["System.ComponentModel.Composition", "CompositionException", False, "get_Errors", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["System.ComponentModel.Composition", "CompositionException", False, "get_RootCauses", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["System.ComponentModel.Composition", "CompositionException", True, "get_Message", "()", "", "Argument[this].Property[System.Exception.Message]", "ReturnValue", "value", "dfc-generated"] - - ["System.ComponentModel.Composition", "ExportFactory", False, "get_Metadata", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["System.ComponentModel.Composition", "ExportLifetimeContext", False, "get_Value", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["System.ComponentModel.Composition", "ExportFactory", False, "ExportFactory", "(System.Func>,TMetadata)", "", "Argument[1]", "Argument[this].SyntheticField[System.ComponentModel.Composition.ExportFactory`2._metadata]", "value", "dfc-generated"] + - ["System.ComponentModel.Composition", "ExportFactory", False, "get_Metadata", "()", "", "Argument[this].SyntheticField[System.ComponentModel.Composition.ExportFactory`2._metadata]", "ReturnValue", "value", "dfc-generated"] + - ["System.ComponentModel.Composition", "ExportLifetimeContext", False, "ExportLifetimeContext", "(T,System.Action)", "", "Argument[0]", "Argument[this].SyntheticField[System.ComponentModel.Composition.ExportLifetimeContext`1._value]", "value", "dfc-generated"] + - ["System.ComponentModel.Composition", "ExportLifetimeContext", False, "get_Value", "()", "", "Argument[this].SyntheticField[System.ComponentModel.Composition.ExportLifetimeContext`1._value]", "ReturnValue", "value", "dfc-generated"] - addsTo: pack: codeql/csharp-all extensible: neutralModel @@ -62,6 +64,7 @@ extensions: - ["System.ComponentModel.Composition", "ExportAttribute", "ExportAttribute", "(System.String,System.Type)", "summary", "df-generated"] - ["System.ComponentModel.Composition", "ExportAttribute", "ExportAttribute", "(System.Type)", "summary", "df-generated"] - ["System.ComponentModel.Composition", "ExportFactory", "CreateExport", "()", "summary", "df-generated"] + - ["System.ComponentModel.Composition", "ExportFactory", "ExportFactory", "(System.Func>)", "summary", "df-generated"] - ["System.ComponentModel.Composition", "ExportLifetimeContext", "Dispose", "()", "summary", "df-generated"] - ["System.ComponentModel.Composition", "ExportMetadataAttribute", "ExportMetadataAttribute", "(System.String,System.Object)", "summary", "df-generated"] - ["System.ComponentModel.Composition", "ICompositionService", "SatisfyImportsOnce", "(System.ComponentModel.Composition.Primitives.ComposablePart)", "summary", "df-generated"] diff --git a/csharp/ql/lib/ext/generated/System.ComponentModel.DataAnnotations.model.yml b/csharp/ql/lib/ext/generated/System.ComponentModel.DataAnnotations.model.yml index 330524f52ed1..64d3aad52178 100644 --- a/csharp/ql/lib/ext/generated/System.ComponentModel.DataAnnotations.model.yml +++ b/csharp/ql/lib/ext/generated/System.ComponentModel.DataAnnotations.model.yml @@ -6,9 +6,6 @@ extensions: data: - ["System.ComponentModel.DataAnnotations", "AssociationAttribute", False, "get_OtherKeyMembers", "()", "", "Argument[this].Property[System.ComponentModel.DataAnnotations.AssociationAttribute.OtherKey]", "ReturnValue.Element", "taint", "dfc-generated"] - ["System.ComponentModel.DataAnnotations", "AssociationAttribute", False, "get_ThisKeyMembers", "()", "", "Argument[this].Property[System.ComponentModel.DataAnnotations.AssociationAttribute.ThisKey]", "ReturnValue.Element", "taint", "dfc-generated"] - - ["System.ComponentModel.DataAnnotations", "CompareAttribute", True, "FormatErrorMessage", "(System.String)", "", "Argument[this].Property[System.ComponentModel.DataAnnotations.CompareAttribute.OtherPropertyDisplayName]", "ReturnValue", "taint", "dfc-generated"] - - ["System.ComponentModel.DataAnnotations", "CompareAttribute", True, "FormatErrorMessage", "(System.String)", "", "Argument[this].Property[System.ComponentModel.DataAnnotations.CompareAttribute.OtherProperty]", "ReturnValue", "taint", "dfc-generated"] - - ["System.ComponentModel.DataAnnotations", "CompareAttribute", True, "FormatErrorMessage", "(System.String)", "", "Argument[this].Property[System.ComponentModel.DataAnnotations.ValidationAttribute.ErrorMessageString]", "ReturnValue", "taint", "dfc-generated"] - ["System.ComponentModel.DataAnnotations", "CustomValidationAttribute", False, "FormatErrorMessage", "(System.String)", "", "Argument[this].Property[System.ComponentModel.DataAnnotations.ValidationAttribute.ErrorMessageString]", "ReturnValue", "taint", "dfc-generated"] - ["System.ComponentModel.DataAnnotations", "DataTypeAttribute", True, "GetDataTypeName", "()", "", "Argument[this].Property[System.ComponentModel.DataAnnotations.DataTypeAttribute.CustomDataType]", "ReturnValue", "value", "dfc-generated"] - ["System.ComponentModel.DataAnnotations", "DisplayAttribute", False, "GetAutoGenerateField", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] @@ -28,9 +25,6 @@ extensions: - ["System.ComponentModel.DataAnnotations", "LengthAttribute", True, "FormatErrorMessage", "(System.String)", "", "Argument[this].Property[System.ComponentModel.DataAnnotations.ValidationAttribute.ErrorMessageString]", "ReturnValue", "taint", "dfc-generated"] - ["System.ComponentModel.DataAnnotations", "MaxLengthAttribute", True, "FormatErrorMessage", "(System.String)", "", "Argument[this].Property[System.ComponentModel.DataAnnotations.ValidationAttribute.ErrorMessageString]", "ReturnValue", "taint", "dfc-generated"] - ["System.ComponentModel.DataAnnotations", "MinLengthAttribute", True, "FormatErrorMessage", "(System.String)", "", "Argument[this].Property[System.ComponentModel.DataAnnotations.ValidationAttribute.ErrorMessageString]", "ReturnValue", "taint", "dfc-generated"] - - ["System.ComponentModel.DataAnnotations", "RangeAttribute", True, "FormatErrorMessage", "(System.String)", "", "Argument[this].Property[System.ComponentModel.DataAnnotations.RangeAttribute.Maximum]", "ReturnValue", "taint", "dfc-generated"] - - ["System.ComponentModel.DataAnnotations", "RangeAttribute", True, "FormatErrorMessage", "(System.String)", "", "Argument[this].Property[System.ComponentModel.DataAnnotations.RangeAttribute.Minimum]", "ReturnValue", "taint", "dfc-generated"] - - ["System.ComponentModel.DataAnnotations", "RangeAttribute", True, "FormatErrorMessage", "(System.String)", "", "Argument[this].Property[System.ComponentModel.DataAnnotations.ValidationAttribute.ErrorMessageString]", "ReturnValue", "taint", "dfc-generated"] - ["System.ComponentModel.DataAnnotations", "RegularExpressionAttribute", True, "FormatErrorMessage", "(System.String)", "", "Argument[this].Property[System.ComponentModel.DataAnnotations.RegularExpressionAttribute.Pattern]", "ReturnValue", "taint", "dfc-generated"] - ["System.ComponentModel.DataAnnotations", "RegularExpressionAttribute", True, "FormatErrorMessage", "(System.String)", "", "Argument[this].Property[System.ComponentModel.DataAnnotations.ValidationAttribute.ErrorMessageString]", "ReturnValue", "taint", "dfc-generated"] - ["System.ComponentModel.DataAnnotations", "StringLengthAttribute", True, "FormatErrorMessage", "(System.String)", "", "Argument[this].Property[System.ComponentModel.DataAnnotations.ValidationAttribute.ErrorMessageString]", "ReturnValue", "taint", "dfc-generated"] @@ -39,8 +33,11 @@ extensions: - ["System.ComponentModel.DataAnnotations", "UIHintAttribute", False, "get_ControlParameters", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["System.ComponentModel.DataAnnotations", "UIHintAttribute", False, "get_PresentationLayer", "()", "", "Argument[this].SyntheticField[System.ComponentModel.DataAnnotations.UIHintAttribute._implementation].SyntheticField[System.ComponentModel.DataAnnotations.UIHintAttribute+UIHintImplementation.PresentationLayer]", "ReturnValue", "value", "dfc-generated"] - ["System.ComponentModel.DataAnnotations", "UIHintAttribute", False, "get_UIHint", "()", "", "Argument[this].SyntheticField[System.ComponentModel.DataAnnotations.UIHintAttribute._implementation].SyntheticField[System.ComponentModel.DataAnnotations.UIHintAttribute+UIHintImplementation.UIHint]", "ReturnValue", "value", "dfc-generated"] + - ["System.ComponentModel.DataAnnotations", "ValidationAttribute", False, "ValidationAttribute", "(System.Func)", "", "Argument[0]", "Argument[this].SyntheticField[System.ComponentModel.DataAnnotations.ValidationAttribute._errorMessageResourceAccessor]", "value", "dfc-generated"] + - ["System.ComponentModel.DataAnnotations", "ValidationAttribute", False, "get_ErrorMessageString", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["System.ComponentModel.DataAnnotations", "ValidationAttribute", True, "FormatErrorMessage", "(System.String)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] - ["System.ComponentModel.DataAnnotations", "ValidationAttribute", True, "FormatErrorMessage", "(System.String)", "", "Argument[this].Property[System.ComponentModel.DataAnnotations.ValidationAttribute.ErrorMessageString]", "ReturnValue", "taint", "dfc-generated"] + - ["System.ComponentModel.DataAnnotations", "ValidationContext", False, "InitializeServiceProvider", "(System.Func)", "", "Argument[0]", "Argument[this].SyntheticField[System.ComponentModel.DataAnnotations.ValidationContext._serviceProvider]", "value", "dfc-generated"] - ["System.ComponentModel.DataAnnotations", "ValidationContext", False, "get_Items", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["System.ComponentModel.DataAnnotations", "ValidationException", False, "ValidationException", "(System.ComponentModel.DataAnnotations.ValidationResult,System.ComponentModel.DataAnnotations.ValidationAttribute,System.Object)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - ["System.ComponentModel.DataAnnotations", "ValidationResult", False, "ToString", "()", "", "Argument[this].Property[System.ComponentModel.DataAnnotations.ValidationResult.ErrorMessage]", "ReturnValue", "value", "dfc-generated"] @@ -133,7 +130,6 @@ extensions: - ["System.ComponentModel.DataAnnotations", "ValidationAttribute", "Validate", "(System.Object,System.ComponentModel.DataAnnotations.ValidationContext)", "summary", "df-generated"] - ["System.ComponentModel.DataAnnotations", "ValidationAttribute", "Validate", "(System.Object,System.String)", "summary", "df-generated"] - ["System.ComponentModel.DataAnnotations", "ValidationAttribute", "ValidationAttribute", "(System.String)", "summary", "df-generated"] - - ["System.ComponentModel.DataAnnotations", "ValidationAttribute", "get_ErrorMessageString", "()", "summary", "df-generated"] - ["System.ComponentModel.DataAnnotations", "ValidationAttribute", "get_RequiresValidationContext", "()", "summary", "df-generated"] - ["System.ComponentModel.DataAnnotations", "ValidationContext", "ValidationContext", "(System.Object)", "summary", "df-generated"] - ["System.ComponentModel.DataAnnotations", "ValidationContext", "ValidationContext", "(System.Object,System.Collections.Generic.IDictionary)", "summary", "df-generated"] diff --git a/csharp/ql/lib/ext/generated/System.ComponentModel.Design.Serialization.model.yml b/csharp/ql/lib/ext/generated/System.ComponentModel.Design.Serialization.model.yml index f29c42d07631..d17d977c2611 100644 --- a/csharp/ql/lib/ext/generated/System.ComponentModel.Design.Serialization.model.yml +++ b/csharp/ql/lib/ext/generated/System.ComponentModel.Design.Serialization.model.yml @@ -54,8 +54,12 @@ extensions: - ["System.ComponentModel.Design.Serialization", "IDesignerSerializationManager", "RemoveSerializationProvider", "(System.ComponentModel.Design.Serialization.IDesignerSerializationProvider)", "summary", "df-generated"] - ["System.ComponentModel.Design.Serialization", "IDesignerSerializationManager", "ReportError", "(System.Object)", "summary", "df-generated"] - ["System.ComponentModel.Design.Serialization", "IDesignerSerializationManager", "SetName", "(System.Object,System.String)", "summary", "df-generated"] + - ["System.ComponentModel.Design.Serialization", "IDesignerSerializationManager", "add_ResolveName", "(System.ComponentModel.Design.Serialization.ResolveNameEventHandler)", "summary", "df-generated"] + - ["System.ComponentModel.Design.Serialization", "IDesignerSerializationManager", "add_SerializationComplete", "(System.EventHandler)", "summary", "df-generated"] - ["System.ComponentModel.Design.Serialization", "IDesignerSerializationManager", "get_Context", "()", "summary", "df-generated"] - ["System.ComponentModel.Design.Serialization", "IDesignerSerializationManager", "get_Properties", "()", "summary", "df-generated"] + - ["System.ComponentModel.Design.Serialization", "IDesignerSerializationManager", "remove_ResolveName", "(System.ComponentModel.Design.Serialization.ResolveNameEventHandler)", "summary", "df-generated"] + - ["System.ComponentModel.Design.Serialization", "IDesignerSerializationManager", "remove_SerializationComplete", "(System.EventHandler)", "summary", "df-generated"] - ["System.ComponentModel.Design.Serialization", "IDesignerSerializationProvider", "GetSerializer", "(System.ComponentModel.Design.Serialization.IDesignerSerializationManager,System.Object,System.Type,System.Type)", "summary", "df-generated"] - ["System.ComponentModel.Design.Serialization", "IDesignerSerializationService", "Deserialize", "(System.Object)", "summary", "df-generated"] - ["System.ComponentModel.Design.Serialization", "IDesignerSerializationService", "Serialize", "(System.Collections.ICollection)", "summary", "df-generated"] diff --git a/csharp/ql/lib/ext/generated/System.ComponentModel.Design.model.yml b/csharp/ql/lib/ext/generated/System.ComponentModel.Design.model.yml index b05cd41f985e..5e3e81843e1e 100644 --- a/csharp/ql/lib/ext/generated/System.ComponentModel.Design.model.yml +++ b/csharp/ql/lib/ext/generated/System.ComponentModel.Design.model.yml @@ -82,6 +82,8 @@ extensions: - ["System.ComponentModel.Design", "DesignerTransactionCloseEventArgs", "DesignerTransactionCloseEventArgs", "(System.Boolean,System.Boolean)", "summary", "df-generated"] - ["System.ComponentModel.Design", "DesignerTransactionCloseEventArgs", "get_LastTransaction", "()", "summary", "df-generated"] - ["System.ComponentModel.Design", "DesignerTransactionCloseEventArgs", "get_TransactionCommitted", "()", "summary", "df-generated"] + - ["System.ComponentModel.Design", "DesignerVerb", "DesignerVerb", "(System.String,System.EventHandler)", "summary", "df-generated"] + - ["System.ComponentModel.Design", "DesignerVerb", "DesignerVerb", "(System.String,System.EventHandler,System.ComponentModel.Design.CommandID)", "summary", "df-generated"] - ["System.ComponentModel.Design", "DesignerVerbCollection", "Contains", "(System.ComponentModel.Design.DesignerVerb)", "summary", "df-generated"] - ["System.ComponentModel.Design", "DesignerVerbCollection", "IndexOf", "(System.ComponentModel.Design.DesignerVerb)", "summary", "df-generated"] - ["System.ComponentModel.Design", "DesignerVerbCollection", "OnValidate", "(System.Object)", "summary", "df-generated"] @@ -96,6 +98,20 @@ extensions: - ["System.ComponentModel.Design", "HelpKeywordAttribute", "get_HelpKeyword", "()", "summary", "df-generated"] - ["System.ComponentModel.Design", "IComponentChangeService", "OnComponentChanged", "(System.Object,System.ComponentModel.MemberDescriptor,System.Object,System.Object)", "summary", "df-generated"] - ["System.ComponentModel.Design", "IComponentChangeService", "OnComponentChanging", "(System.Object,System.ComponentModel.MemberDescriptor)", "summary", "df-generated"] + - ["System.ComponentModel.Design", "IComponentChangeService", "add_ComponentAdded", "(System.ComponentModel.Design.ComponentEventHandler)", "summary", "df-generated"] + - ["System.ComponentModel.Design", "IComponentChangeService", "add_ComponentAdding", "(System.ComponentModel.Design.ComponentEventHandler)", "summary", "df-generated"] + - ["System.ComponentModel.Design", "IComponentChangeService", "add_ComponentChanged", "(System.ComponentModel.Design.ComponentChangedEventHandler)", "summary", "df-generated"] + - ["System.ComponentModel.Design", "IComponentChangeService", "add_ComponentChanging", "(System.ComponentModel.Design.ComponentChangingEventHandler)", "summary", "df-generated"] + - ["System.ComponentModel.Design", "IComponentChangeService", "add_ComponentRemoved", "(System.ComponentModel.Design.ComponentEventHandler)", "summary", "df-generated"] + - ["System.ComponentModel.Design", "IComponentChangeService", "add_ComponentRemoving", "(System.ComponentModel.Design.ComponentEventHandler)", "summary", "df-generated"] + - ["System.ComponentModel.Design", "IComponentChangeService", "add_ComponentRename", "(System.ComponentModel.Design.ComponentRenameEventHandler)", "summary", "df-generated"] + - ["System.ComponentModel.Design", "IComponentChangeService", "remove_ComponentAdded", "(System.ComponentModel.Design.ComponentEventHandler)", "summary", "df-generated"] + - ["System.ComponentModel.Design", "IComponentChangeService", "remove_ComponentAdding", "(System.ComponentModel.Design.ComponentEventHandler)", "summary", "df-generated"] + - ["System.ComponentModel.Design", "IComponentChangeService", "remove_ComponentChanged", "(System.ComponentModel.Design.ComponentChangedEventHandler)", "summary", "df-generated"] + - ["System.ComponentModel.Design", "IComponentChangeService", "remove_ComponentChanging", "(System.ComponentModel.Design.ComponentChangingEventHandler)", "summary", "df-generated"] + - ["System.ComponentModel.Design", "IComponentChangeService", "remove_ComponentRemoved", "(System.ComponentModel.Design.ComponentEventHandler)", "summary", "df-generated"] + - ["System.ComponentModel.Design", "IComponentChangeService", "remove_ComponentRemoving", "(System.ComponentModel.Design.ComponentEventHandler)", "summary", "df-generated"] + - ["System.ComponentModel.Design", "IComponentChangeService", "remove_ComponentRename", "(System.ComponentModel.Design.ComponentRenameEventHandler)", "summary", "df-generated"] - ["System.ComponentModel.Design", "IComponentDiscoveryService", "GetComponentTypes", "(System.ComponentModel.Design.IDesignerHost,System.Type)", "summary", "df-generated"] - ["System.ComponentModel.Design", "IComponentInitializer", "InitializeExistingComponent", "(System.Collections.IDictionary)", "summary", "df-generated"] - ["System.ComponentModel.Design", "IComponentInitializer", "InitializeNewComponent", "(System.Collections.IDictionary)", "summary", "df-generated"] @@ -103,8 +119,16 @@ extensions: - ["System.ComponentModel.Design", "IDesigner", "Initialize", "(System.ComponentModel.IComponent)", "summary", "df-generated"] - ["System.ComponentModel.Design", "IDesigner", "get_Component", "()", "summary", "df-generated"] - ["System.ComponentModel.Design", "IDesigner", "get_Verbs", "()", "summary", "df-generated"] + - ["System.ComponentModel.Design", "IDesignerEventService", "add_ActiveDesignerChanged", "(System.ComponentModel.Design.ActiveDesignerEventHandler)", "summary", "df-generated"] + - ["System.ComponentModel.Design", "IDesignerEventService", "add_DesignerCreated", "(System.ComponentModel.Design.DesignerEventHandler)", "summary", "df-generated"] + - ["System.ComponentModel.Design", "IDesignerEventService", "add_DesignerDisposed", "(System.ComponentModel.Design.DesignerEventHandler)", "summary", "df-generated"] + - ["System.ComponentModel.Design", "IDesignerEventService", "add_SelectionChanged", "(System.EventHandler)", "summary", "df-generated"] - ["System.ComponentModel.Design", "IDesignerEventService", "get_ActiveDesigner", "()", "summary", "df-generated"] - ["System.ComponentModel.Design", "IDesignerEventService", "get_Designers", "()", "summary", "df-generated"] + - ["System.ComponentModel.Design", "IDesignerEventService", "remove_ActiveDesignerChanged", "(System.ComponentModel.Design.ActiveDesignerEventHandler)", "summary", "df-generated"] + - ["System.ComponentModel.Design", "IDesignerEventService", "remove_DesignerCreated", "(System.ComponentModel.Design.DesignerEventHandler)", "summary", "df-generated"] + - ["System.ComponentModel.Design", "IDesignerEventService", "remove_DesignerDisposed", "(System.ComponentModel.Design.DesignerEventHandler)", "summary", "df-generated"] + - ["System.ComponentModel.Design", "IDesignerEventService", "remove_SelectionChanged", "(System.EventHandler)", "summary", "df-generated"] - ["System.ComponentModel.Design", "IDesignerFilter", "PostFilterAttributes", "(System.Collections.IDictionary)", "summary", "df-generated"] - ["System.ComponentModel.Design", "IDesignerFilter", "PostFilterEvents", "(System.Collections.IDictionary)", "summary", "df-generated"] - ["System.ComponentModel.Design", "IDesignerFilter", "PostFilterProperties", "(System.Collections.IDictionary)", "summary", "df-generated"] @@ -119,12 +143,26 @@ extensions: - ["System.ComponentModel.Design", "IDesignerHost", "DestroyComponent", "(System.ComponentModel.IComponent)", "summary", "df-generated"] - ["System.ComponentModel.Design", "IDesignerHost", "GetDesigner", "(System.ComponentModel.IComponent)", "summary", "df-generated"] - ["System.ComponentModel.Design", "IDesignerHost", "GetType", "(System.String)", "summary", "df-generated"] + - ["System.ComponentModel.Design", "IDesignerHost", "add_Activated", "(System.EventHandler)", "summary", "df-generated"] + - ["System.ComponentModel.Design", "IDesignerHost", "add_Deactivated", "(System.EventHandler)", "summary", "df-generated"] + - ["System.ComponentModel.Design", "IDesignerHost", "add_LoadComplete", "(System.EventHandler)", "summary", "df-generated"] + - ["System.ComponentModel.Design", "IDesignerHost", "add_TransactionClosed", "(System.ComponentModel.Design.DesignerTransactionCloseEventHandler)", "summary", "df-generated"] + - ["System.ComponentModel.Design", "IDesignerHost", "add_TransactionClosing", "(System.ComponentModel.Design.DesignerTransactionCloseEventHandler)", "summary", "df-generated"] + - ["System.ComponentModel.Design", "IDesignerHost", "add_TransactionOpened", "(System.EventHandler)", "summary", "df-generated"] + - ["System.ComponentModel.Design", "IDesignerHost", "add_TransactionOpening", "(System.EventHandler)", "summary", "df-generated"] - ["System.ComponentModel.Design", "IDesignerHost", "get_Container", "()", "summary", "df-generated"] - ["System.ComponentModel.Design", "IDesignerHost", "get_InTransaction", "()", "summary", "df-generated"] - ["System.ComponentModel.Design", "IDesignerHost", "get_Loading", "()", "summary", "df-generated"] - ["System.ComponentModel.Design", "IDesignerHost", "get_RootComponent", "()", "summary", "df-generated"] - ["System.ComponentModel.Design", "IDesignerHost", "get_RootComponentClassName", "()", "summary", "df-generated"] - ["System.ComponentModel.Design", "IDesignerHost", "get_TransactionDescription", "()", "summary", "df-generated"] + - ["System.ComponentModel.Design", "IDesignerHost", "remove_Activated", "(System.EventHandler)", "summary", "df-generated"] + - ["System.ComponentModel.Design", "IDesignerHost", "remove_Deactivated", "(System.EventHandler)", "summary", "df-generated"] + - ["System.ComponentModel.Design", "IDesignerHost", "remove_LoadComplete", "(System.EventHandler)", "summary", "df-generated"] + - ["System.ComponentModel.Design", "IDesignerHost", "remove_TransactionClosed", "(System.ComponentModel.Design.DesignerTransactionCloseEventHandler)", "summary", "df-generated"] + - ["System.ComponentModel.Design", "IDesignerHost", "remove_TransactionClosing", "(System.ComponentModel.Design.DesignerTransactionCloseEventHandler)", "summary", "df-generated"] + - ["System.ComponentModel.Design", "IDesignerHost", "remove_TransactionOpened", "(System.EventHandler)", "summary", "df-generated"] + - ["System.ComponentModel.Design", "IDesignerHost", "remove_TransactionOpening", "(System.EventHandler)", "summary", "df-generated"] - ["System.ComponentModel.Design", "IDesignerHostTransactionState", "get_IsClosingTransaction", "()", "summary", "df-generated"] - ["System.ComponentModel.Design", "IDesignerOptionService", "GetOptionValue", "(System.String,System.String)", "summary", "df-generated"] - ["System.ComponentModel.Design", "IDesignerOptionService", "SetOptionValue", "(System.String,System.String,System.Object)", "summary", "df-generated"] @@ -172,8 +210,14 @@ extensions: - ["System.ComponentModel.Design", "ISelectionService", "GetSelectedComponents", "()", "summary", "df-generated"] - ["System.ComponentModel.Design", "ISelectionService", "SetSelectedComponents", "(System.Collections.ICollection)", "summary", "df-generated"] - ["System.ComponentModel.Design", "ISelectionService", "SetSelectedComponents", "(System.Collections.ICollection,System.ComponentModel.Design.SelectionTypes)", "summary", "df-generated"] + - ["System.ComponentModel.Design", "ISelectionService", "add_SelectionChanged", "(System.EventHandler)", "summary", "df-generated"] + - ["System.ComponentModel.Design", "ISelectionService", "add_SelectionChanging", "(System.EventHandler)", "summary", "df-generated"] - ["System.ComponentModel.Design", "ISelectionService", "get_PrimarySelection", "()", "summary", "df-generated"] - ["System.ComponentModel.Design", "ISelectionService", "get_SelectionCount", "()", "summary", "df-generated"] + - ["System.ComponentModel.Design", "ISelectionService", "remove_SelectionChanged", "(System.EventHandler)", "summary", "df-generated"] + - ["System.ComponentModel.Design", "ISelectionService", "remove_SelectionChanging", "(System.EventHandler)", "summary", "df-generated"] + - ["System.ComponentModel.Design", "IServiceContainer", "AddService", "(System.Type,System.ComponentModel.Design.ServiceCreatorCallback)", "summary", "df-generated"] + - ["System.ComponentModel.Design", "IServiceContainer", "AddService", "(System.Type,System.ComponentModel.Design.ServiceCreatorCallback,System.Boolean)", "summary", "df-generated"] - ["System.ComponentModel.Design", "IServiceContainer", "AddService", "(System.Type,System.Object)", "summary", "df-generated"] - ["System.ComponentModel.Design", "IServiceContainer", "AddService", "(System.Type,System.Object,System.Boolean)", "summary", "df-generated"] - ["System.ComponentModel.Design", "IServiceContainer", "RemoveService", "(System.Type)", "summary", "df-generated"] @@ -193,10 +237,15 @@ extensions: - ["System.ComponentModel.Design", "ITypeResolutionService", "ReferenceAssembly", "(System.Reflection.AssemblyName)", "summary", "df-generated"] - ["System.ComponentModel.Design", "MenuCommand", "Invoke", "()", "summary", "df-generated"] - ["System.ComponentModel.Design", "MenuCommand", "Invoke", "(System.Object)", "summary", "df-generated"] + - ["System.ComponentModel.Design", "MenuCommand", "MenuCommand", "(System.EventHandler,System.ComponentModel.Design.CommandID)", "summary", "df-generated"] - ["System.ComponentModel.Design", "MenuCommand", "OnCommandChanged", "(System.EventArgs)", "summary", "df-generated"] + - ["System.ComponentModel.Design", "MenuCommand", "add_CommandChanged", "(System.EventHandler)", "summary", "df-generated"] - ["System.ComponentModel.Design", "MenuCommand", "get_CommandID", "()", "summary", "df-generated"] - ["System.ComponentModel.Design", "MenuCommand", "get_OleStatus", "()", "summary", "df-generated"] - ["System.ComponentModel.Design", "MenuCommand", "get_Properties", "()", "summary", "df-generated"] + - ["System.ComponentModel.Design", "MenuCommand", "remove_CommandChanged", "(System.EventHandler)", "summary", "df-generated"] + - ["System.ComponentModel.Design", "ServiceContainer", "AddService", "(System.Type,System.ComponentModel.Design.ServiceCreatorCallback)", "summary", "df-generated"] + - ["System.ComponentModel.Design", "ServiceContainer", "AddService", "(System.Type,System.ComponentModel.Design.ServiceCreatorCallback,System.Boolean)", "summary", "df-generated"] - ["System.ComponentModel.Design", "ServiceContainer", "AddService", "(System.Type,System.Object)", "summary", "df-generated"] - ["System.ComponentModel.Design", "ServiceContainer", "AddService", "(System.Type,System.Object,System.Boolean)", "summary", "df-generated"] - ["System.ComponentModel.Design", "ServiceContainer", "Dispose", "()", "summary", "df-generated"] diff --git a/csharp/ql/lib/ext/generated/System.ComponentModel.model.yml b/csharp/ql/lib/ext/generated/System.ComponentModel.model.yml index 8db5c6059b52..1727ca01edf2 100644 --- a/csharp/ql/lib/ext/generated/System.ComponentModel.model.yml +++ b/csharp/ql/lib/ext/generated/System.ComponentModel.model.yml @@ -12,6 +12,8 @@ extensions: - ["System.ComponentModel", "AttributeCollection", True, "get_Item", "(System.Type)", "", "Argument[this].Property[System.ComponentModel.AttributeCollection.Attributes].Element", "ReturnValue", "value", "dfc-generated"] - ["System.ComponentModel", "AttributeCollection", True, "get_Item", "(System.Type)", "", "Argument[this].SyntheticField[System.ComponentModel.AttributeCollection._attributes].Element", "ReturnValue", "value", "dfc-generated"] - ["System.ComponentModel", "BindingList", False, "get_SortProperty", "()", "", "Argument[this].Property[System.ComponentModel.BindingList`1.SortPropertyCore]", "ReturnValue", "value", "dfc-generated"] + - ["System.ComponentModel", "BindingList", True, "OnAddingNew", "(System.ComponentModel.AddingNewEventArgs)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["System.ComponentModel", "BindingList", True, "OnListChanged", "(System.ComponentModel.ListChangedEventArgs)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - ["System.ComponentModel", "CategoryAttribute", False, "CategoryAttribute", "(System.String)", "", "Argument[0]", "Argument[this].SyntheticField[System.ComponentModel.CategoryAttribute._categoryValue]", "value", "dfc-generated"] - ["System.ComponentModel", "CategoryAttribute", False, "get_Category", "()", "", "Argument[this].SyntheticField[System.ComponentModel.CategoryAttribute._categoryValue]", "ReturnValue", "value", "dfc-generated"] - ["System.ComponentModel", "Component", False, "ToString", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] @@ -210,6 +212,8 @@ extensions: - ["System.ComponentModel", "AsyncCompletedEventArgs", "get_Error", "()", "summary", "df-generated"] - ["System.ComponentModel", "AsyncCompletedEventArgs", "get_UserState", "()", "summary", "df-generated"] - ["System.ComponentModel", "AsyncOperation", "OperationCompleted", "()", "summary", "df-generated"] + - ["System.ComponentModel", "AsyncOperation", "Post", "(System.Threading.SendOrPostCallback,System.Object)", "summary", "df-generated"] + - ["System.ComponentModel", "AsyncOperation", "PostOperationCompleted", "(System.Threading.SendOrPostCallback,System.Object)", "summary", "df-generated"] - ["System.ComponentModel", "AsyncOperation", "get_UserSuppliedState", "()", "summary", "df-generated"] - ["System.ComponentModel", "AsyncOperationManager", "CreateOperation", "(System.Object)", "summary", "df-generated"] - ["System.ComponentModel", "AttributeCollection", "Contains", "(System.Attribute)", "summary", "df-generated"] @@ -234,8 +238,14 @@ extensions: - ["System.ComponentModel", "BackgroundWorker", "ReportProgress", "(System.Int32,System.Object)", "summary", "df-generated"] - ["System.ComponentModel", "BackgroundWorker", "RunWorkerAsync", "()", "summary", "df-generated"] - ["System.ComponentModel", "BackgroundWorker", "RunWorkerAsync", "(System.Object)", "summary", "df-generated"] + - ["System.ComponentModel", "BackgroundWorker", "add_DoWork", "(System.ComponentModel.DoWorkEventHandler)", "summary", "df-generated"] + - ["System.ComponentModel", "BackgroundWorker", "add_ProgressChanged", "(System.ComponentModel.ProgressChangedEventHandler)", "summary", "df-generated"] + - ["System.ComponentModel", "BackgroundWorker", "add_RunWorkerCompleted", "(System.ComponentModel.RunWorkerCompletedEventHandler)", "summary", "df-generated"] - ["System.ComponentModel", "BackgroundWorker", "get_CancellationPending", "()", "summary", "df-generated"] - ["System.ComponentModel", "BackgroundWorker", "get_IsBusy", "()", "summary", "df-generated"] + - ["System.ComponentModel", "BackgroundWorker", "remove_DoWork", "(System.ComponentModel.DoWorkEventHandler)", "summary", "df-generated"] + - ["System.ComponentModel", "BackgroundWorker", "remove_ProgressChanged", "(System.ComponentModel.ProgressChangedEventHandler)", "summary", "df-generated"] + - ["System.ComponentModel", "BackgroundWorker", "remove_RunWorkerCompleted", "(System.ComponentModel.RunWorkerCompletedEventHandler)", "summary", "df-generated"] - ["System.ComponentModel", "BaseNumberConverter", "CanConvertFrom", "(System.ComponentModel.ITypeDescriptorContext,System.Type)", "summary", "df-generated"] - ["System.ComponentModel", "BaseNumberConverter", "CanConvertTo", "(System.ComponentModel.ITypeDescriptorContext,System.Type)", "summary", "df-generated"] - ["System.ComponentModel", "BindableAttribute", "BindableAttribute", "(System.Boolean)", "summary", "df-generated"] @@ -257,8 +267,6 @@ extensions: - ["System.ComponentModel", "BindingList", "EndNew", "(System.Int32)", "summary", "df-generated"] - ["System.ComponentModel", "BindingList", "FindCore", "(System.ComponentModel.PropertyDescriptor,System.Object)", "summary", "df-generated"] - ["System.ComponentModel", "BindingList", "InsertItem", "(System.Int32,T)", "summary", "df-generated"] - - ["System.ComponentModel", "BindingList", "OnAddingNew", "(System.ComponentModel.AddingNewEventArgs)", "summary", "df-generated"] - - ["System.ComponentModel", "BindingList", "OnListChanged", "(System.ComponentModel.ListChangedEventArgs)", "summary", "df-generated"] - ["System.ComponentModel", "BindingList", "RemoveIndex", "(System.ComponentModel.PropertyDescriptor)", "summary", "df-generated"] - ["System.ComponentModel", "BindingList", "RemoveItem", "(System.Int32)", "summary", "df-generated"] - ["System.ComponentModel", "BindingList", "RemoveSort", "()", "summary", "df-generated"] @@ -266,6 +274,8 @@ extensions: - ["System.ComponentModel", "BindingList", "ResetBindings", "()", "summary", "df-generated"] - ["System.ComponentModel", "BindingList", "ResetItem", "(System.Int32)", "summary", "df-generated"] - ["System.ComponentModel", "BindingList", "SetItem", "(System.Int32,T)", "summary", "df-generated"] + - ["System.ComponentModel", "BindingList", "add_AddingNew", "(System.ComponentModel.AddingNewEventHandler)", "summary", "df-generated"] + - ["System.ComponentModel", "BindingList", "add_ListChanged", "(System.ComponentModel.ListChangedEventHandler)", "summary", "df-generated"] - ["System.ComponentModel", "BindingList", "get_AllowEdit", "()", "summary", "df-generated"] - ["System.ComponentModel", "BindingList", "get_AllowNew", "()", "summary", "df-generated"] - ["System.ComponentModel", "BindingList", "get_AllowRemove", "()", "summary", "df-generated"] @@ -281,6 +291,8 @@ extensions: - ["System.ComponentModel", "BindingList", "get_SupportsSearchingCore", "()", "summary", "df-generated"] - ["System.ComponentModel", "BindingList", "get_SupportsSorting", "()", "summary", "df-generated"] - ["System.ComponentModel", "BindingList", "get_SupportsSortingCore", "()", "summary", "df-generated"] + - ["System.ComponentModel", "BindingList", "remove_AddingNew", "(System.ComponentModel.AddingNewEventHandler)", "summary", "df-generated"] + - ["System.ComponentModel", "BindingList", "remove_ListChanged", "(System.ComponentModel.ListChangedEventHandler)", "summary", "df-generated"] - ["System.ComponentModel", "BooleanConverter", "CanConvertFrom", "(System.ComponentModel.ITypeDescriptorContext,System.Type)", "summary", "df-generated"] - ["System.ComponentModel", "BooleanConverter", "GetStandardValuesExclusive", "(System.ComponentModel.ITypeDescriptorContext)", "summary", "df-generated"] - ["System.ComponentModel", "BooleanConverter", "GetStandardValuesSupported", "(System.ComponentModel.ITypeDescriptorContext)", "summary", "df-generated"] @@ -321,9 +333,11 @@ extensions: - ["System.ComponentModel", "Component", "Dispose", "()", "summary", "df-generated"] - ["System.ComponentModel", "Component", "Dispose", "(System.Boolean)", "summary", "df-generated"] - ["System.ComponentModel", "Component", "GetService", "(System.Type)", "summary", "df-generated"] + - ["System.ComponentModel", "Component", "add_Disposed", "(System.EventHandler)", "summary", "df-generated"] - ["System.ComponentModel", "Component", "get_CanRaiseEvents", "()", "summary", "df-generated"] - ["System.ComponentModel", "Component", "get_DesignMode", "()", "summary", "df-generated"] - ["System.ComponentModel", "Component", "get_Events", "()", "summary", "df-generated"] + - ["System.ComponentModel", "Component", "remove_Disposed", "(System.EventHandler)", "summary", "df-generated"] - ["System.ComponentModel", "ComponentConverter", "ComponentConverter", "(System.Type)", "summary", "df-generated"] - ["System.ComponentModel", "ComponentConverter", "GetPropertiesSupported", "(System.ComponentModel.ITypeDescriptorContext)", "summary", "df-generated"] - ["System.ComponentModel", "ComponentEditor", "EditComponent", "(System.ComponentModel.ITypeDescriptorContext,System.Object)", "summary", "df-generated"] @@ -498,6 +512,7 @@ extensions: - ["System.ComponentModel", "IBindingList", "AddNew", "()", "summary", "df-generated"] - ["System.ComponentModel", "IBindingList", "RemoveIndex", "(System.ComponentModel.PropertyDescriptor)", "summary", "df-generated"] - ["System.ComponentModel", "IBindingList", "RemoveSort", "()", "summary", "df-generated"] + - ["System.ComponentModel", "IBindingList", "add_ListChanged", "(System.ComponentModel.ListChangedEventHandler)", "summary", "df-generated"] - ["System.ComponentModel", "IBindingList", "get_AllowEdit", "()", "summary", "df-generated"] - ["System.ComponentModel", "IBindingList", "get_AllowNew", "()", "summary", "df-generated"] - ["System.ComponentModel", "IBindingList", "get_AllowRemove", "()", "summary", "df-generated"] @@ -507,6 +522,7 @@ extensions: - ["System.ComponentModel", "IBindingList", "get_SupportsChangeNotification", "()", "summary", "df-generated"] - ["System.ComponentModel", "IBindingList", "get_SupportsSearching", "()", "summary", "df-generated"] - ["System.ComponentModel", "IBindingList", "get_SupportsSorting", "()", "summary", "df-generated"] + - ["System.ComponentModel", "IBindingList", "remove_ListChanged", "(System.ComponentModel.ListChangedEventHandler)", "summary", "df-generated"] - ["System.ComponentModel", "IBindingListView", "RemoveFilter", "()", "summary", "df-generated"] - ["System.ComponentModel", "IBindingListView", "get_SortDescriptions", "()", "summary", "df-generated"] - ["System.ComponentModel", "IBindingListView", "get_SupportsAdvancedSorting", "()", "summary", "df-generated"] @@ -527,6 +543,8 @@ extensions: - ["System.ComponentModel", "IComNativeDescriptorHandler", "GetProperties", "(System.Object,System.Attribute[])", "summary", "df-generated"] - ["System.ComponentModel", "IComNativeDescriptorHandler", "GetPropertyValue", "(System.Object,System.Int32,System.Boolean)", "summary", "df-generated"] - ["System.ComponentModel", "IComNativeDescriptorHandler", "GetPropertyValue", "(System.Object,System.String,System.Boolean)", "summary", "df-generated"] + - ["System.ComponentModel", "IComponent", "add_Disposed", "(System.EventHandler)", "summary", "df-generated"] + - ["System.ComponentModel", "IComponent", "remove_Disposed", "(System.EventHandler)", "summary", "df-generated"] - ["System.ComponentModel", "IContainer", "Remove", "(System.ComponentModel.IComponent)", "summary", "df-generated"] - ["System.ComponentModel", "ICustomTypeDescriptor", "GetAttributes", "()", "summary", "df-generated"] - ["System.ComponentModel", "ICustomTypeDescriptor", "GetClassName", "()", "summary", "df-generated"] @@ -548,7 +566,13 @@ extensions: - ["System.ComponentModel", "IListSource", "get_ContainsListCollection", "()", "summary", "df-generated"] - ["System.ComponentModel", "INestedContainer", "get_Owner", "()", "summary", "df-generated"] - ["System.ComponentModel", "INotifyDataErrorInfo", "GetErrors", "(System.String)", "summary", "df-generated"] + - ["System.ComponentModel", "INotifyDataErrorInfo", "add_ErrorsChanged", "(System.EventHandler)", "summary", "df-generated"] - ["System.ComponentModel", "INotifyDataErrorInfo", "get_HasErrors", "()", "summary", "df-generated"] + - ["System.ComponentModel", "INotifyDataErrorInfo", "remove_ErrorsChanged", "(System.EventHandler)", "summary", "df-generated"] + - ["System.ComponentModel", "INotifyPropertyChanged", "add_PropertyChanged", "(System.ComponentModel.PropertyChangedEventHandler)", "summary", "df-generated"] + - ["System.ComponentModel", "INotifyPropertyChanged", "remove_PropertyChanged", "(System.ComponentModel.PropertyChangedEventHandler)", "summary", "df-generated"] + - ["System.ComponentModel", "INotifyPropertyChanging", "add_PropertyChanging", "(System.ComponentModel.PropertyChangingEventHandler)", "summary", "df-generated"] + - ["System.ComponentModel", "INotifyPropertyChanging", "remove_PropertyChanging", "(System.ComponentModel.PropertyChangingEventHandler)", "summary", "df-generated"] - ["System.ComponentModel", "IRaiseItemChangedEvents", "get_RaisesItemChangedEvents", "()", "summary", "df-generated"] - ["System.ComponentModel", "IRevertibleChangeTracking", "RejectChanges", "()", "summary", "df-generated"] - ["System.ComponentModel", "ISite", "get_Component", "()", "summary", "df-generated"] @@ -556,7 +580,9 @@ extensions: - ["System.ComponentModel", "ISite", "get_DesignMode", "()", "summary", "df-generated"] - ["System.ComponentModel", "ISupportInitialize", "BeginInit", "()", "summary", "df-generated"] - ["System.ComponentModel", "ISupportInitialize", "EndInit", "()", "summary", "df-generated"] + - ["System.ComponentModel", "ISupportInitializeNotification", "add_Initialized", "(System.EventHandler)", "summary", "df-generated"] - ["System.ComponentModel", "ISupportInitializeNotification", "get_IsInitialized", "()", "summary", "df-generated"] + - ["System.ComponentModel", "ISupportInitializeNotification", "remove_Initialized", "(System.EventHandler)", "summary", "df-generated"] - ["System.ComponentModel", "ISynchronizeInvoke", "BeginInvoke", "(System.Delegate,System.Object[])", "summary", "df-generated"] - ["System.ComponentModel", "ISynchronizeInvoke", "EndInvoke", "(System.IAsyncResult)", "summary", "df-generated"] - ["System.ComponentModel", "ISynchronizeInvoke", "Invoke", "(System.Delegate,System.Object[])", "summary", "df-generated"] @@ -652,8 +678,10 @@ extensions: - ["System.ComponentModel", "LookupBindingPropertiesAttribute", "get_ValueMember", "()", "summary", "df-generated"] - ["System.ComponentModel", "MarshalByValueComponent", "Dispose", "()", "summary", "df-generated"] - ["System.ComponentModel", "MarshalByValueComponent", "Dispose", "(System.Boolean)", "summary", "df-generated"] + - ["System.ComponentModel", "MarshalByValueComponent", "add_Disposed", "(System.EventHandler)", "summary", "df-generated"] - ["System.ComponentModel", "MarshalByValueComponent", "get_DesignMode", "()", "summary", "df-generated"] - ["System.ComponentModel", "MarshalByValueComponent", "get_Events", "()", "summary", "df-generated"] + - ["System.ComponentModel", "MarshalByValueComponent", "remove_Disposed", "(System.EventHandler)", "summary", "df-generated"] - ["System.ComponentModel", "MaskedTextProvider", "Add", "(System.Char)", "summary", "df-generated"] - ["System.ComponentModel", "MaskedTextProvider", "Add", "(System.Char,System.Int32,System.ComponentModel.MaskedTextResultHint)", "summary", "df-generated"] - ["System.ComponentModel", "MaskedTextProvider", "Add", "(System.String)", "summary", "df-generated"] @@ -769,6 +797,7 @@ extensions: - ["System.ComponentModel", "PropertyChangedEventArgs", "get_PropertyName", "()", "summary", "df-generated"] - ["System.ComponentModel", "PropertyChangingEventArgs", "PropertyChangingEventArgs", "(System.String)", "summary", "df-generated"] - ["System.ComponentModel", "PropertyChangingEventArgs", "get_PropertyName", "()", "summary", "df-generated"] + - ["System.ComponentModel", "PropertyDescriptor", "AddValueChanged", "(System.Object,System.EventHandler)", "summary", "df-generated"] - ["System.ComponentModel", "PropertyDescriptor", "CanResetValue", "(System.Object)", "summary", "df-generated"] - ["System.ComponentModel", "PropertyDescriptor", "CreateInstance", "(System.Type)", "summary", "df-generated"] - ["System.ComponentModel", "PropertyDescriptor", "Equals", "(System.Object)", "summary", "df-generated"] @@ -783,6 +812,7 @@ extensions: - ["System.ComponentModel", "PropertyDescriptor", "PropertyDescriptor", "(System.ComponentModel.MemberDescriptor)", "summary", "df-generated"] - ["System.ComponentModel", "PropertyDescriptor", "PropertyDescriptor", "(System.ComponentModel.MemberDescriptor,System.Attribute[])", "summary", "df-generated"] - ["System.ComponentModel", "PropertyDescriptor", "PropertyDescriptor", "(System.String,System.Attribute[])", "summary", "df-generated"] + - ["System.ComponentModel", "PropertyDescriptor", "RemoveValueChanged", "(System.Object,System.EventHandler)", "summary", "df-generated"] - ["System.ComponentModel", "PropertyDescriptor", "ShouldSerializeValue", "(System.Object)", "summary", "df-generated"] - ["System.ComponentModel", "PropertyDescriptor", "get_ComponentType", "()", "summary", "df-generated"] - ["System.ComponentModel", "PropertyDescriptor", "get_IsLocalizable", "()", "summary", "df-generated"] @@ -969,8 +999,10 @@ extensions: - ["System.ComponentModel", "TypeDescriptor", "RemoveProviderTransparent", "(System.ComponentModel.TypeDescriptionProvider,System.Object)", "summary", "df-generated"] - ["System.ComponentModel", "TypeDescriptor", "RemoveProviderTransparent", "(System.ComponentModel.TypeDescriptionProvider,System.Type)", "summary", "df-generated"] - ["System.ComponentModel", "TypeDescriptor", "SortDescriptorArray", "(System.Collections.IList)", "summary", "df-generated"] + - ["System.ComponentModel", "TypeDescriptor", "add_Refreshed", "(System.ComponentModel.RefreshEventHandler)", "summary", "df-generated"] - ["System.ComponentModel", "TypeDescriptor", "get_ComObjectType", "()", "summary", "df-generated"] - ["System.ComponentModel", "TypeDescriptor", "get_InterfaceType", "()", "summary", "df-generated"] + - ["System.ComponentModel", "TypeDescriptor", "remove_Refreshed", "(System.ComponentModel.RefreshEventHandler)", "summary", "df-generated"] - ["System.ComponentModel", "TypeListConverter", "CanConvertFrom", "(System.ComponentModel.ITypeDescriptorContext,System.Type)", "summary", "df-generated"] - ["System.ComponentModel", "TypeListConverter", "CanConvertTo", "(System.ComponentModel.ITypeDescriptorContext,System.Type)", "summary", "df-generated"] - ["System.ComponentModel", "TypeListConverter", "GetStandardValuesExclusive", "(System.ComponentModel.ITypeDescriptorContext)", "summary", "df-generated"] diff --git a/csharp/ql/lib/ext/generated/System.Composition.Convention.model.yml b/csharp/ql/lib/ext/generated/System.Composition.Convention.model.yml index a24a53fa01a4..a35c00574db0 100644 --- a/csharp/ql/lib/ext/generated/System.Composition.Convention.model.yml +++ b/csharp/ql/lib/ext/generated/System.Composition.Convention.model.yml @@ -4,25 +4,49 @@ extensions: pack: codeql/csharp-all extensible: summaryModel data: + - ["System.Composition.Convention", "ExportConventionBuilder", False, "AddMetadata", "(System.String,System.Func)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] - ["System.Composition.Convention", "ExportConventionBuilder", False, "AddMetadata", "(System.String,System.Object)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] + - ["System.Composition.Convention", "ExportConventionBuilder", False, "AsContractName", "(System.Func)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] - ["System.Composition.Convention", "ExportConventionBuilder", False, "AsContractName", "(System.String)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] - ["System.Composition.Convention", "ExportConventionBuilder", False, "AsContractType", "(System.Type)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] - ["System.Composition.Convention", "ExportConventionBuilder", False, "AsContractType", "()", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] + - ["System.Composition.Convention", "ImportConventionBuilder", False, "AddMetadataConstraint", "(System.String,System.Func)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] - ["System.Composition.Convention", "ImportConventionBuilder", False, "AddMetadataConstraint", "(System.String,System.Object)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] - ["System.Composition.Convention", "ImportConventionBuilder", False, "AllowDefault", "()", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] + - ["System.Composition.Convention", "ImportConventionBuilder", False, "AsContractName", "(System.Func)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] - ["System.Composition.Convention", "ImportConventionBuilder", False, "AsContractName", "(System.String)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] - ["System.Composition.Convention", "ImportConventionBuilder", False, "AsMany", "()", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] - ["System.Composition.Convention", "ImportConventionBuilder", False, "AsMany", "(System.Boolean)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] + - ["System.Composition.Convention", "PartConventionBuilder", False, "AddPartMetadata", "(System.String,System.Func)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] - ["System.Composition.Convention", "PartConventionBuilder", False, "AddPartMetadata", "(System.String,System.Object)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] - ["System.Composition.Convention", "PartConventionBuilder", False, "Export", "()", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] + - ["System.Composition.Convention", "PartConventionBuilder", False, "Export", "(System.Action)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] - ["System.Composition.Convention", "PartConventionBuilder", False, "Export", "()", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] + - ["System.Composition.Convention", "PartConventionBuilder", False, "Export", "(System.Action)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] - ["System.Composition.Convention", "PartConventionBuilder", False, "ExportInterfaces", "()", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] + - ["System.Composition.Convention", "PartConventionBuilder", False, "ExportInterfaces", "(System.Predicate)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] + - ["System.Composition.Convention", "PartConventionBuilder", False, "ExportInterfaces", "(System.Predicate,System.Action)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] + - ["System.Composition.Convention", "PartConventionBuilder", False, "ExportProperties", "(System.Predicate)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] + - ["System.Composition.Convention", "PartConventionBuilder", False, "ExportProperties", "(System.Predicate,System.Action)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] + - ["System.Composition.Convention", "PartConventionBuilder", False, "ExportProperties", "(System.Predicate)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] + - ["System.Composition.Convention", "PartConventionBuilder", False, "ExportProperties", "(System.Predicate,System.Action)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] + - ["System.Composition.Convention", "PartConventionBuilder", False, "ImportProperties", "(System.Predicate)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] + - ["System.Composition.Convention", "PartConventionBuilder", False, "ImportProperties", "(System.Predicate,System.Action)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] + - ["System.Composition.Convention", "PartConventionBuilder", False, "ImportProperties", "(System.Predicate)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] + - ["System.Composition.Convention", "PartConventionBuilder", False, "ImportProperties", "(System.Predicate,System.Action)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] + - ["System.Composition.Convention", "PartConventionBuilder", False, "NotifyImportsSatisfied", "(System.Predicate)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] + - ["System.Composition.Convention", "PartConventionBuilder", False, "SelectConstructor", "(System.Func,System.Reflection.ConstructorInfo>)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] + - ["System.Composition.Convention", "PartConventionBuilder", False, "SelectConstructor", "(System.Func,System.Reflection.ConstructorInfo>,System.Action)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] - ["System.Composition.Convention", "PartConventionBuilder", False, "Shared", "()", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] - ["System.Composition.Convention", "PartConventionBuilder", False, "Shared", "(System.String)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] - ["System.Composition.Convention", "PartConventionBuilder", False, "ExportProperty", "(System.Linq.Expressions.Expression>)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] + - ["System.Composition.Convention", "PartConventionBuilder", False, "ExportProperty", "(System.Linq.Expressions.Expression>,System.Action)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] - ["System.Composition.Convention", "PartConventionBuilder", False, "ExportProperty", "(System.Linq.Expressions.Expression>)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] + - ["System.Composition.Convention", "PartConventionBuilder", False, "ExportProperty", "(System.Linq.Expressions.Expression>,System.Action)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] - ["System.Composition.Convention", "PartConventionBuilder", False, "ImportProperty", "(System.Linq.Expressions.Expression>)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] + - ["System.Composition.Convention", "PartConventionBuilder", False, "ImportProperty", "(System.Linq.Expressions.Expression>,System.Action)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] - ["System.Composition.Convention", "PartConventionBuilder", False, "ImportProperty", "(System.Linq.Expressions.Expression>)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] + - ["System.Composition.Convention", "PartConventionBuilder", False, "ImportProperty", "(System.Linq.Expressions.Expression>,System.Action)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] - ["System.Composition.Convention", "PartConventionBuilder", False, "NotifyImportsSatisfied", "(System.Linq.Expressions.Expression>)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] - ["System.Composition.Convention", "PartConventionBuilder", False, "SelectConstructor", "(System.Linq.Expressions.Expression>)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] - addsTo: @@ -35,6 +59,9 @@ extensions: - ["System.Composition.Convention", "ConventionBuilder", "ForType", "()", "summary", "df-generated"] - ["System.Composition.Convention", "ConventionBuilder", "ForTypesDerivedFrom", "(System.Type)", "summary", "df-generated"] - ["System.Composition.Convention", "ConventionBuilder", "ForTypesDerivedFrom", "()", "summary", "df-generated"] + - ["System.Composition.Convention", "ConventionBuilder", "ForTypesMatching", "(System.Predicate)", "summary", "df-generated"] + - ["System.Composition.Convention", "ConventionBuilder", "ForTypesMatching", "(System.Predicate)", "summary", "df-generated"] - ["System.Composition.Convention", "ConventionBuilder", "GetCustomAttributes", "(System.Type,System.Reflection.MemberInfo)", "summary", "df-generated"] - ["System.Composition.Convention", "ConventionBuilder", "GetCustomAttributes", "(System.Type,System.Reflection.ParameterInfo)", "summary", "df-generated"] - ["System.Composition.Convention", "ParameterImportConventionBuilder", "Import", "()", "summary", "df-generated"] + - ["System.Composition.Convention", "ParameterImportConventionBuilder", "Import", "(System.Action)", "summary", "df-generated"] diff --git a/csharp/ql/lib/ext/generated/System.Composition.Hosting.Core.model.yml b/csharp/ql/lib/ext/generated/System.Composition.Hosting.Core.model.yml index a6b72867d253..1f9acd8139ba 100644 --- a/csharp/ql/lib/ext/generated/System.Composition.Hosting.Core.model.yml +++ b/csharp/ql/lib/ext/generated/System.Composition.Hosting.Core.model.yml @@ -23,6 +23,7 @@ extensions: - ["System.Composition.Hosting.Core", "CompositionDependency", False, "get_Contract", "()", "", "Argument[this].SyntheticField[System.Composition.Hosting.Core.CompositionDependency._contract]", "ReturnValue", "value", "dfc-generated"] - ["System.Composition.Hosting.Core", "CompositionDependency", False, "get_Site", "()", "", "Argument[this].SyntheticField[System.Composition.Hosting.Core.CompositionDependency._site]", "ReturnValue", "value", "dfc-generated"] - ["System.Composition.Hosting.Core", "CompositionDependency", False, "get_Target", "()", "", "Argument[this].SyntheticField[System.Composition.Hosting.Core.CompositionDependency._target]", "ReturnValue", "value", "dfc-generated"] + - ["System.Composition.Hosting.Core", "CompositionOperation", False, "Run", "(System.Composition.Hosting.Core.LifetimeContext,System.Composition.Hosting.Core.CompositeActivator)", "", "Argument[1].ReturnValue", "ReturnValue", "value", "dfc-generated"] - ["System.Composition.Hosting.Core", "DependencyAccessor", False, "ResolveDependencies", "(System.Object,System.Composition.Hosting.Core.CompositionContract,System.Boolean)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["System.Composition.Hosting.Core", "DependencyAccessor", False, "ResolveDependencies", "(System.Object,System.Composition.Hosting.Core.CompositionContract,System.Boolean)", "", "Argument[1]", "ReturnValue", "taint", "df-generated"] - ["System.Composition.Hosting.Core", "DependencyAccessor", False, "ResolveRequiredDependency", "(System.Object,System.Composition.Hosting.Core.CompositionContract,System.Boolean)", "", "Argument[0]", "ReturnValue.SyntheticField[System.Composition.Hosting.Core.CompositionDependency._site]", "value", "dfc-generated"] @@ -30,17 +31,26 @@ extensions: - ["System.Composition.Hosting.Core", "DependencyAccessor", False, "TryResolveOptionalDependency", "(System.Object,System.Composition.Hosting.Core.CompositionContract,System.Boolean,System.Composition.Hosting.Core.CompositionDependency)", "", "Argument[0]", "ReturnValue.SyntheticField[System.Composition.Hosting.Core.CompositionDependency._site]", "value", "dfc-generated"] - ["System.Composition.Hosting.Core", "DependencyAccessor", False, "TryResolveOptionalDependency", "(System.Object,System.Composition.Hosting.Core.CompositionContract,System.Boolean,System.Composition.Hosting.Core.CompositionDependency)", "", "Argument[1]", "ReturnValue.SyntheticField[System.Composition.Hosting.Core.CompositionDependency._contract]", "value", "dfc-generated"] - ["System.Composition.Hosting.Core", "DependencyAccessor", True, "GetPromises", "(System.Composition.Hosting.Core.CompositionContract)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["System.Composition.Hosting.Core", "ExportDescriptor", False, "Create", "(System.Composition.Hosting.Core.CompositeActivator,System.Collections.Generic.IDictionary)", "", "Argument[0]", "ReturnValue.SyntheticField[System.Composition.Hosting.Core.DirectExportDescriptor._activator]", "value", "dfc-generated"] + - ["System.Composition.Hosting.Core", "ExportDescriptor", False, "Create", "(System.Composition.Hosting.Core.CompositeActivator,System.Collections.Generic.IDictionary)", "", "Argument[1]", "ReturnValue.SyntheticField[System.Composition.Hosting.Core.DirectExportDescriptor._metadata]", "value", "dfc-generated"] - ["System.Composition.Hosting.Core", "ExportDescriptor", True, "get_Activator", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["System.Composition.Hosting.Core", "ExportDescriptor", True, "get_Metadata", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["System.Composition.Hosting.Core", "ExportDescriptorPromise", False, "GetDescriptor", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["System.Composition.Hosting.Core", "ExportDescriptorPromise", False, "ExportDescriptorPromise", "(System.Composition.Hosting.Core.CompositionContract,System.String,System.Boolean,System.Func>,System.Func,System.Composition.Hosting.Core.ExportDescriptor>)", "", "Argument[0]", "Argument[this].SyntheticField[System.Composition.Hosting.Core.ExportDescriptorPromise._contract]", "value", "dfc-generated"] + - ["System.Composition.Hosting.Core", "ExportDescriptorPromise", False, "ExportDescriptorPromise", "(System.Composition.Hosting.Core.CompositionContract,System.String,System.Boolean,System.Func>,System.Func,System.Composition.Hosting.Core.ExportDescriptor>)", "", "Argument[1]", "Argument[this].SyntheticField[System.Composition.Hosting.Core.ExportDescriptorPromise._origin]", "value", "dfc-generated"] + - ["System.Composition.Hosting.Core", "ExportDescriptorPromise", False, "ExportDescriptorPromise", "(System.Composition.Hosting.Core.CompositionContract,System.String,System.Boolean,System.Func>,System.Func,System.Composition.Hosting.Core.ExportDescriptor>)", "", "Argument[4].ReturnValue", "Argument[this].SyntheticField[System.Composition.Hosting.Core.ExportDescriptorPromise._descriptor].Property[System.Lazy`1.Value]", "value", "dfc-generated"] + - ["System.Composition.Hosting.Core", "ExportDescriptorPromise", False, "GetDescriptor", "()", "", "Argument[this].SyntheticField[System.Composition.Hosting.Core.ExportDescriptorPromise._descriptor].Property[System.Lazy`1.Value]", "ReturnValue", "value", "dfc-generated"] + - ["System.Composition.Hosting.Core", "ExportDescriptorPromise", False, "GetDescriptor", "()", "", "Argument[this].SyntheticField[System.Composition.Hosting.Core.ExportDescriptorPromise._descriptor]", "ReturnValue", "taint", "dfc-generated"] - ["System.Composition.Hosting.Core", "ExportDescriptorPromise", False, "ToString", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["System.Composition.Hosting.Core", "ExportDescriptorPromise", False, "get_Contract", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["System.Composition.Hosting.Core", "ExportDescriptorPromise", False, "get_Contract", "()", "", "Argument[this].SyntheticField[System.Composition.Hosting.Core.ExportDescriptorPromise._contract]", "ReturnValue", "value", "dfc-generated"] - ["System.Composition.Hosting.Core", "ExportDescriptorPromise", False, "get_Dependencies", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["System.Composition.Hosting.Core", "ExportDescriptorPromise", False, "get_Origin", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["System.Composition.Hosting.Core", "ExportDescriptorPromise", False, "get_Origin", "()", "", "Argument[this].SyntheticField[System.Composition.Hosting.Core.ExportDescriptorPromise._origin]", "ReturnValue", "value", "dfc-generated"] - ["System.Composition.Hosting.Core", "ExportDescriptorProvider", True, "GetExportDescriptors", "(System.Composition.Hosting.Core.CompositionContract,System.Composition.Hosting.Core.DependencyAccessor)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["System.Composition.Hosting.Core", "ExportDescriptorProvider", True, "GetExportDescriptors", "(System.Composition.Hosting.Core.CompositionContract,System.Composition.Hosting.Core.DependencyAccessor)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["System.Composition.Hosting.Core", "LifetimeContext", False, "AddBoundInstance", "(System.IDisposable)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - ["System.Composition.Hosting.Core", "LifetimeContext", False, "FindContextWithin", "(System.String)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["System.Composition.Hosting.Core", "LifetimeContext", False, "GetOrCreate", "(System.Int32,System.Composition.Hosting.Core.CompositionOperation,System.Composition.Hosting.Core.CompositeActivator)", "", "Argument[1]", "Argument[2].Parameter[1]", "value", "dfc-generated"] + - ["System.Composition.Hosting.Core", "LifetimeContext", False, "GetOrCreate", "(System.Int32,System.Composition.Hosting.Core.CompositionOperation,System.Composition.Hosting.Core.CompositeActivator)", "", "Argument[2].ReturnValue", "ReturnValue", "value", "dfc-generated"] + - ["System.Composition.Hosting.Core", "LifetimeContext", False, "GetOrCreate", "(System.Int32,System.Composition.Hosting.Core.CompositionOperation,System.Composition.Hosting.Core.CompositeActivator)", "", "Argument[this]", "Argument[2].Parameter[0]", "value", "dfc-generated"] - ["System.Composition.Hosting.Core", "LifetimeContext", False, "ToString", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["System.Composition.Hosting.Core", "LifetimeContext", False, "TryGetExport", "(System.Composition.Hosting.Core.CompositionContract,System.Object)", "", "Argument[this]", "ReturnValue.Property[System.Lazy`1.Value].Property[System.Lazy`1.Value]", "value", "dfc-generated"] - ["System.Composition.Hosting.Core", "LifetimeContext", False, "TryGetExport", "(System.Composition.Hosting.Core.CompositionContract,System.Object)", "", "Argument[this]", "ReturnValue.Property[System.Lazy`1.Value]", "value", "dfc-generated"] @@ -54,6 +64,8 @@ extensions: - ["System.Composition.Hosting.Core", "CompositionContract", "GetHashCode", "()", "summary", "df-generated"] - ["System.Composition.Hosting.Core", "CompositionContract", "get_ContractType", "()", "summary", "df-generated"] - ["System.Composition.Hosting.Core", "CompositionDependency", "get_IsPrerequisite", "()", "summary", "df-generated"] + - ["System.Composition.Hosting.Core", "CompositionOperation", "AddNonPrerequisiteAction", "(System.Action)", "summary", "df-generated"] + - ["System.Composition.Hosting.Core", "CompositionOperation", "AddPostCompositionAction", "(System.Action)", "summary", "df-generated"] - ["System.Composition.Hosting.Core", "CompositionOperation", "Dispose", "()", "summary", "df-generated"] - ["System.Composition.Hosting.Core", "ExportDescriptorPromise", "get_IsShared", "()", "summary", "df-generated"] - ["System.Composition.Hosting.Core", "LifetimeContext", "AllocateSharingId", "()", "summary", "df-generated"] diff --git a/csharp/ql/lib/ext/generated/System.Composition.model.yml b/csharp/ql/lib/ext/generated/System.Composition.model.yml index 9711f192098d..2c6d61b647a6 100644 --- a/csharp/ql/lib/ext/generated/System.Composition.model.yml +++ b/csharp/ql/lib/ext/generated/System.Composition.model.yml @@ -14,7 +14,9 @@ extensions: - ["System.Composition", "CompositionContext", False, "TryGetExport", "(System.String,TExport)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["System.Composition", "CompositionContext", False, "TryGetExport", "(TExport)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["System.Composition", "CompositionContext", True, "TryGetExport", "(System.Composition.Hosting.Core.CompositionContract,System.Object)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] + - ["System.Composition", "Export", False, "Export", "(T,System.Action)", "", "Argument[0]", "Argument[this].Property[System.Composition.Export`1.Value]", "value", "dfc-generated"] - ["System.Composition", "ExportAttribute", False, "ExportAttribute", "(System.String,System.Type)", "", "Argument[0]", "Argument[this].Property[System.Composition.ExportAttribute.ContractName]", "value", "dfc-generated"] + - ["System.Composition", "ExportFactory", False, "ExportFactory", "(System.Func>,TMetadata)", "", "Argument[1]", "Argument[this].Property[System.Composition.ExportFactory`2.Metadata]", "value", "dfc-generated"] - ["System.Composition", "ExportMetadataAttribute", False, "ExportMetadataAttribute", "(System.String,System.Object)", "", "Argument[0]", "Argument[this].Property[System.Composition.ExportMetadataAttribute.Name]", "value", "dfc-generated"] - ["System.Composition", "ExportMetadataAttribute", False, "ExportMetadataAttribute", "(System.String,System.Object)", "", "Argument[1]", "Argument[this].Property[System.Composition.ExportMetadataAttribute.Value]", "value", "dfc-generated"] - ["System.Composition", "ImportAttribute", False, "ImportAttribute", "(System.String)", "", "Argument[0]", "Argument[this].Property[System.Composition.ImportAttribute.ContractName]", "value", "dfc-generated"] @@ -42,6 +44,7 @@ extensions: - ["System.Composition", "ExportAttribute", "ExportAttribute", "(System.Type)", "summary", "df-generated"] - ["System.Composition", "ExportFactory", "get_Metadata", "()", "summary", "df-generated"] - ["System.Composition", "ExportFactory", "CreateExport", "()", "summary", "df-generated"] + - ["System.Composition", "ExportFactory", "ExportFactory", "(System.Func>)", "summary", "df-generated"] - ["System.Composition", "ImportMetadataConstraintAttribute", "get_Name", "()", "summary", "df-generated"] - ["System.Composition", "ImportMetadataConstraintAttribute", "get_Value", "()", "summary", "df-generated"] - ["System.Composition", "SharedAttribute", "SharedAttribute", "(System.String)", "summary", "df-generated"] diff --git a/csharp/ql/lib/ext/generated/System.Configuration.Internal.model.yml b/csharp/ql/lib/ext/generated/System.Configuration.Internal.model.yml index aa863c13d5d8..5fbf0e0eae67 100644 --- a/csharp/ql/lib/ext/generated/System.Configuration.Internal.model.yml +++ b/csharp/ql/lib/ext/generated/System.Configuration.Internal.model.yml @@ -62,6 +62,8 @@ extensions: - ["System.Configuration.Internal", "DelegatingConfigHost", "PrefetchSection", "(System.String,System.String)", "summary", "df-generated"] - ["System.Configuration.Internal", "DelegatingConfigHost", "RefreshConfigPaths", "()", "summary", "df-generated"] - ["System.Configuration.Internal", "DelegatingConfigHost", "RequireCompleteInit", "(System.Configuration.Internal.IInternalConfigRecord)", "summary", "df-generated"] + - ["System.Configuration.Internal", "DelegatingConfigHost", "StartMonitoringStreamForChanges", "(System.String,System.Configuration.Internal.StreamChangeCallback)", "summary", "df-generated"] + - ["System.Configuration.Internal", "DelegatingConfigHost", "StopMonitoringStreamForChanges", "(System.String,System.Configuration.Internal.StreamChangeCallback)", "summary", "df-generated"] - ["System.Configuration.Internal", "DelegatingConfigHost", "VerifyDefinitionAllowed", "(System.String,System.Configuration.ConfigurationAllowDefinition,System.Configuration.ConfigurationAllowExeDefinition,System.Configuration.Internal.IConfigErrorInfo)", "summary", "df-generated"] - ["System.Configuration.Internal", "DelegatingConfigHost", "WriteCompleted", "(System.String,System.Boolean,System.Object)", "summary", "df-generated"] - ["System.Configuration.Internal", "DelegatingConfigHost", "WriteCompleted", "(System.String,System.Boolean,System.Object,System.Boolean)", "summary", "df-generated"] @@ -115,6 +117,8 @@ extensions: - ["System.Configuration.Internal", "IInternalConfigHost", "PrefetchAll", "(System.String,System.String)", "summary", "df-generated"] - ["System.Configuration.Internal", "IInternalConfigHost", "PrefetchSection", "(System.String,System.String)", "summary", "df-generated"] - ["System.Configuration.Internal", "IInternalConfigHost", "RequireCompleteInit", "(System.Configuration.Internal.IInternalConfigRecord)", "summary", "df-generated"] + - ["System.Configuration.Internal", "IInternalConfigHost", "StartMonitoringStreamForChanges", "(System.String,System.Configuration.Internal.StreamChangeCallback)", "summary", "df-generated"] + - ["System.Configuration.Internal", "IInternalConfigHost", "StopMonitoringStreamForChanges", "(System.String,System.Configuration.Internal.StreamChangeCallback)", "summary", "df-generated"] - ["System.Configuration.Internal", "IInternalConfigHost", "VerifyDefinitionAllowed", "(System.String,System.Configuration.ConfigurationAllowDefinition,System.Configuration.ConfigurationAllowExeDefinition,System.Configuration.Internal.IConfigErrorInfo)", "summary", "df-generated"] - ["System.Configuration.Internal", "IInternalConfigHost", "WriteCompleted", "(System.String,System.Boolean,System.Object)", "summary", "df-generated"] - ["System.Configuration.Internal", "IInternalConfigHost", "WriteCompleted", "(System.String,System.Boolean,System.Object,System.Boolean)", "summary", "df-generated"] @@ -128,7 +132,11 @@ extensions: - ["System.Configuration.Internal", "IInternalConfigRecord", "ThrowIfInitErrors", "()", "summary", "df-generated"] - ["System.Configuration.Internal", "IInternalConfigRecord", "get_HasInitErrors", "()", "summary", "df-generated"] - ["System.Configuration.Internal", "IInternalConfigRoot", "RemoveConfig", "(System.String)", "summary", "df-generated"] + - ["System.Configuration.Internal", "IInternalConfigRoot", "add_ConfigChanged", "(System.Configuration.Internal.InternalConfigEventHandler)", "summary", "df-generated"] + - ["System.Configuration.Internal", "IInternalConfigRoot", "add_ConfigRemoved", "(System.Configuration.Internal.InternalConfigEventHandler)", "summary", "df-generated"] - ["System.Configuration.Internal", "IInternalConfigRoot", "get_IsDesignTime", "()", "summary", "df-generated"] + - ["System.Configuration.Internal", "IInternalConfigRoot", "remove_ConfigChanged", "(System.Configuration.Internal.InternalConfigEventHandler)", "summary", "df-generated"] + - ["System.Configuration.Internal", "IInternalConfigRoot", "remove_ConfigRemoved", "(System.Configuration.Internal.InternalConfigEventHandler)", "summary", "df-generated"] - ["System.Configuration.Internal", "IInternalConfigSettingsFactory", "CompleteInit", "()", "summary", "df-generated"] - ["System.Configuration.Internal", "IInternalConfigSettingsFactory", "SetConfigurationSystem", "(System.Configuration.Internal.IInternalConfigSystem,System.Boolean)", "summary", "df-generated"] - ["System.Configuration.Internal", "IInternalConfigSystem", "RefreshConfig", "(System.String)", "summary", "df-generated"] diff --git a/csharp/ql/lib/ext/generated/System.Configuration.model.yml b/csharp/ql/lib/ext/generated/System.Configuration.model.yml index 270506d6d72b..0aebabce66df 100644 --- a/csharp/ql/lib/ext/generated/System.Configuration.model.yml +++ b/csharp/ql/lib/ext/generated/System.Configuration.model.yml @@ -8,6 +8,10 @@ extensions: - ["System.Configuration", "AppSettingsSection", False, "get_Settings", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["System.Configuration", "ApplicationSettingsBase", False, "ApplicationSettingsBase", "(System.ComponentModel.IComponent,System.String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - ["System.Configuration", "ApplicationSettingsBase", False, "ApplicationSettingsBase", "(System.String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["System.Configuration", "ApplicationSettingsBase", True, "OnPropertyChanged", "(System.Object,System.ComponentModel.PropertyChangedEventArgs)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] + - ["System.Configuration", "ApplicationSettingsBase", True, "OnSettingChanging", "(System.Object,System.Configuration.SettingChangingEventArgs)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] + - ["System.Configuration", "ApplicationSettingsBase", True, "OnSettingsLoaded", "(System.Object,System.Configuration.SettingsLoadedEventArgs)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] + - ["System.Configuration", "ApplicationSettingsBase", True, "OnSettingsSaving", "(System.Object,System.ComponentModel.CancelEventArgs)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] - ["System.Configuration", "ApplicationSettingsBase", True, "get_PropertyValues", "()", "", "Argument[this].Property[System.Configuration.SettingsBase.PropertyValues]", "ReturnValue", "value", "dfc-generated"] - ["System.Configuration", "ClientSettingsSection", False, "get_Settings", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["System.Configuration", "CommaDelimitedStringCollection", False, "Add", "(System.String)", "", "Argument[0]", "Argument[this].Element", "taint", "dfc-generated"] @@ -111,6 +115,7 @@ extensions: - ["System.Configuration", "ConfigurationSectionGroupCollection", False, "get_Item", "(System.Int32)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["System.Configuration", "ConfigurationSectionGroupCollection", False, "get_Item", "(System.String)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["System.Configuration", "ConfigurationValidatorAttribute", True, "get_ValidatorInstance", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["System.Configuration", "ConfigurationValidatorBase", True, "Validate", "(System.Object)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - ["System.Configuration", "ConnectionStringSettings", False, "ToString", "()", "", "Argument[this].Property[System.Configuration.ConnectionStringSettings.ConnectionString]", "ReturnValue", "value", "dfc-generated"] - ["System.Configuration", "ConnectionStringSettingsCollection", False, "Add", "(System.Configuration.ConnectionStringSettings)", "", "Argument[this]", "Argument[0]", "taint", "df-generated"] - ["System.Configuration", "ConnectionStringSettingsCollection", False, "GetElementKey", "(System.Configuration.ConfigurationElement)", "", "Argument[0].Property[System.Configuration.ConnectionStringSettings.Name]", "ReturnValue", "value", "dfc-generated"] @@ -212,17 +217,21 @@ extensions: - ["System.Configuration", "AppSettingsSection", "IsModified", "()", "summary", "df-generated"] - ["System.Configuration", "ApplicationSettingsBase", "ApplicationSettingsBase", "(System.ComponentModel.IComponent)", "summary", "df-generated"] - ["System.Configuration", "ApplicationSettingsBase", "GetPreviousVersion", "(System.String)", "summary", "df-generated"] - - ["System.Configuration", "ApplicationSettingsBase", "OnPropertyChanged", "(System.Object,System.ComponentModel.PropertyChangedEventArgs)", "summary", "df-generated"] - - ["System.Configuration", "ApplicationSettingsBase", "OnSettingChanging", "(System.Object,System.Configuration.SettingChangingEventArgs)", "summary", "df-generated"] - - ["System.Configuration", "ApplicationSettingsBase", "OnSettingsLoaded", "(System.Object,System.Configuration.SettingsLoadedEventArgs)", "summary", "df-generated"] - - ["System.Configuration", "ApplicationSettingsBase", "OnSettingsSaving", "(System.Object,System.ComponentModel.CancelEventArgs)", "summary", "df-generated"] - ["System.Configuration", "ApplicationSettingsBase", "Reload", "()", "summary", "df-generated"] - ["System.Configuration", "ApplicationSettingsBase", "Reset", "()", "summary", "df-generated"] - ["System.Configuration", "ApplicationSettingsBase", "Save", "()", "summary", "df-generated"] - ["System.Configuration", "ApplicationSettingsBase", "Upgrade", "()", "summary", "df-generated"] + - ["System.Configuration", "ApplicationSettingsBase", "add_PropertyChanged", "(System.ComponentModel.PropertyChangedEventHandler)", "summary", "df-generated"] + - ["System.Configuration", "ApplicationSettingsBase", "add_SettingChanging", "(System.Configuration.SettingChangingEventHandler)", "summary", "df-generated"] + - ["System.Configuration", "ApplicationSettingsBase", "add_SettingsLoaded", "(System.Configuration.SettingsLoadedEventHandler)", "summary", "df-generated"] + - ["System.Configuration", "ApplicationSettingsBase", "add_SettingsSaving", "(System.Configuration.SettingsSavingEventHandler)", "summary", "df-generated"] + - ["System.Configuration", "ApplicationSettingsBase", "remove_PropertyChanged", "(System.ComponentModel.PropertyChangedEventHandler)", "summary", "df-generated"] + - ["System.Configuration", "ApplicationSettingsBase", "remove_SettingChanging", "(System.Configuration.SettingChangingEventHandler)", "summary", "df-generated"] + - ["System.Configuration", "ApplicationSettingsBase", "remove_SettingsLoaded", "(System.Configuration.SettingsLoadedEventHandler)", "summary", "df-generated"] + - ["System.Configuration", "ApplicationSettingsBase", "remove_SettingsSaving", "(System.Configuration.SettingsSavingEventHandler)", "summary", "df-generated"] - ["System.Configuration", "ApplicationSettingsBase", "set_Item", "(System.String,System.Object)", "summary", "df-generated"] + - ["System.Configuration", "CallbackValidator", "CallbackValidator", "(System.Type,System.Configuration.ValidatorCallback)", "summary", "df-generated"] - ["System.Configuration", "CallbackValidator", "CanValidate", "(System.Type)", "summary", "df-generated"] - - ["System.Configuration", "CallbackValidator", "Validate", "(System.Object)", "summary", "df-generated"] - ["System.Configuration", "CommaDelimitedStringCollection", "Remove", "(System.String)", "summary", "df-generated"] - ["System.Configuration", "CommaDelimitedStringCollection", "SetReadOnly", "()", "summary", "df-generated"] - ["System.Configuration", "CommaDelimitedStringCollection", "get_IsModified", "()", "summary", "df-generated"] @@ -361,7 +370,6 @@ extensions: - ["System.Configuration", "ConfigurationValidatorAttribute", "ConfigurationValidatorAttribute", "(System.Type)", "summary", "df-generated"] - ["System.Configuration", "ConfigurationValidatorAttribute", "get_ValidatorType", "()", "summary", "df-generated"] - ["System.Configuration", "ConfigurationValidatorBase", "CanValidate", "(System.Type)", "summary", "df-generated"] - - ["System.Configuration", "ConfigurationValidatorBase", "Validate", "(System.Object)", "summary", "df-generated"] - ["System.Configuration", "ConnectionStringSettings", "ConnectionStringSettings", "(System.String,System.String)", "summary", "df-generated"] - ["System.Configuration", "ConnectionStringSettings", "ConnectionStringSettings", "(System.String,System.String,System.String)", "summary", "df-generated"] - ["System.Configuration", "ConnectionStringSettingsCollection", "CreateNewElement", "()", "summary", "df-generated"] @@ -373,7 +381,6 @@ extensions: - ["System.Configuration", "DefaultSection", "IsModified", "()", "summary", "df-generated"] - ["System.Configuration", "DefaultSection", "ResetModified", "()", "summary", "df-generated"] - ["System.Configuration", "DefaultValidator", "CanValidate", "(System.Type)", "summary", "df-generated"] - - ["System.Configuration", "DefaultValidator", "Validate", "(System.Object)", "summary", "df-generated"] - ["System.Configuration", "DictionarySectionHandler", "get_KeyAttributeName", "()", "summary", "df-generated"] - ["System.Configuration", "DictionarySectionHandler", "get_ValueAttributeName", "()", "summary", "df-generated"] - ["System.Configuration", "DpapiProtectedConfigurationProvider", "Decrypt", "(System.Xml.XmlNode)", "summary", "df-generated"] @@ -406,7 +413,6 @@ extensions: - ["System.Configuration", "IntegerValidator", "IntegerValidator", "(System.Int32,System.Int32)", "summary", "df-generated"] - ["System.Configuration", "IntegerValidator", "IntegerValidator", "(System.Int32,System.Int32,System.Boolean)", "summary", "df-generated"] - ["System.Configuration", "IntegerValidator", "IntegerValidator", "(System.Int32,System.Int32,System.Boolean,System.Int32)", "summary", "df-generated"] - - ["System.Configuration", "IntegerValidator", "Validate", "(System.Object)", "summary", "df-generated"] - ["System.Configuration", "KeyValueConfigurationCollection", "Add", "(System.String,System.String)", "summary", "df-generated"] - ["System.Configuration", "KeyValueConfigurationCollection", "CreateNewElement", "()", "summary", "df-generated"] - ["System.Configuration", "KeyValueConfigurationCollection", "Remove", "(System.String)", "summary", "df-generated"] @@ -420,7 +426,6 @@ extensions: - ["System.Configuration", "LongValidator", "LongValidator", "(System.Int64,System.Int64)", "summary", "df-generated"] - ["System.Configuration", "LongValidator", "LongValidator", "(System.Int64,System.Int64,System.Boolean)", "summary", "df-generated"] - ["System.Configuration", "LongValidator", "LongValidator", "(System.Int64,System.Int64,System.Boolean,System.Int64)", "summary", "df-generated"] - - ["System.Configuration", "LongValidator", "Validate", "(System.Object)", "summary", "df-generated"] - ["System.Configuration", "NameValueConfigurationCollection", "CreateNewElement", "()", "summary", "df-generated"] - ["System.Configuration", "NameValueConfigurationCollection", "Remove", "(System.Configuration.NameValueConfigurationElement)", "summary", "df-generated"] - ["System.Configuration", "NameValueConfigurationCollection", "Remove", "(System.String)", "summary", "df-generated"] @@ -428,7 +433,6 @@ extensions: - ["System.Configuration", "NameValueSectionHandler", "get_KeyAttributeName", "()", "summary", "df-generated"] - ["System.Configuration", "NameValueSectionHandler", "get_ValueAttributeName", "()", "summary", "df-generated"] - ["System.Configuration", "PositiveTimeSpanValidator", "CanValidate", "(System.Type)", "summary", "df-generated"] - - ["System.Configuration", "PositiveTimeSpanValidator", "Validate", "(System.Object)", "summary", "df-generated"] - ["System.Configuration", "PropertyInformation", "get_IsKey", "()", "summary", "df-generated"] - ["System.Configuration", "PropertyInformation", "get_IsLocked", "()", "summary", "df-generated"] - ["System.Configuration", "PropertyInformation", "get_IsModified", "()", "summary", "df-generated"] @@ -450,7 +454,6 @@ extensions: - ["System.Configuration", "ProviderSettingsCollection", "CreateNewElement", "()", "summary", "df-generated"] - ["System.Configuration", "ProviderSettingsCollection", "Remove", "(System.String)", "summary", "df-generated"] - ["System.Configuration", "RegexStringValidator", "CanValidate", "(System.Type)", "summary", "df-generated"] - - ["System.Configuration", "RegexStringValidator", "Validate", "(System.Object)", "summary", "df-generated"] - ["System.Configuration", "RegexStringValidatorAttribute", "RegexStringValidatorAttribute", "(System.String)", "summary", "df-generated"] - ["System.Configuration", "RegexStringValidatorAttribute", "get_Regex", "()", "summary", "df-generated"] - ["System.Configuration", "RsaProtectedConfigurationProvider", "AddKey", "(System.Int32,System.Boolean)", "summary", "df-generated"] @@ -536,13 +539,10 @@ extensions: - ["System.Configuration", "StringValidator", "CanValidate", "(System.Type)", "summary", "df-generated"] - ["System.Configuration", "StringValidator", "StringValidator", "(System.Int32)", "summary", "df-generated"] - ["System.Configuration", "StringValidator", "StringValidator", "(System.Int32,System.Int32)", "summary", "df-generated"] - - ["System.Configuration", "StringValidator", "Validate", "(System.Object)", "summary", "df-generated"] - ["System.Configuration", "SubclassTypeValidator", "CanValidate", "(System.Type)", "summary", "df-generated"] - ["System.Configuration", "SubclassTypeValidator", "SubclassTypeValidator", "(System.Type)", "summary", "df-generated"] - - ["System.Configuration", "SubclassTypeValidator", "Validate", "(System.Object)", "summary", "df-generated"] - ["System.Configuration", "SubclassTypeValidatorAttribute", "SubclassTypeValidatorAttribute", "(System.Type)", "summary", "df-generated"] - ["System.Configuration", "SubclassTypeValidatorAttribute", "get_BaseClass", "()", "summary", "df-generated"] - ["System.Configuration", "TimeSpanValidator", "CanValidate", "(System.Type)", "summary", "df-generated"] - ["System.Configuration", "TimeSpanValidator", "TimeSpanValidator", "(System.TimeSpan,System.TimeSpan)", "summary", "df-generated"] - ["System.Configuration", "TimeSpanValidator", "TimeSpanValidator", "(System.TimeSpan,System.TimeSpan,System.Boolean)", "summary", "df-generated"] - - ["System.Configuration", "TimeSpanValidator", "Validate", "(System.Object)", "summary", "df-generated"] diff --git a/csharp/ql/lib/ext/generated/System.Data.Common.model.yml b/csharp/ql/lib/ext/generated/System.Data.Common.model.yml index 4bcbcd9a7a57..ac729ebdbeae 100644 --- a/csharp/ql/lib/ext/generated/System.Data.Common.model.yml +++ b/csharp/ql/lib/ext/generated/System.Data.Common.model.yml @@ -130,6 +130,8 @@ extensions: - ["System.Data.Common", "DataAdapter", "ShouldSerializeFillLoadOption", "()", "summary", "df-generated"] - ["System.Data.Common", "DataAdapter", "ShouldSerializeTableMappings", "()", "summary", "df-generated"] - ["System.Data.Common", "DataAdapter", "Update", "(System.Data.DataSet)", "summary", "df-generated"] + - ["System.Data.Common", "DataAdapter", "add_FillError", "(System.Data.FillErrorEventHandler)", "summary", "df-generated"] + - ["System.Data.Common", "DataAdapter", "remove_FillError", "(System.Data.FillErrorEventHandler)", "summary", "df-generated"] - ["System.Data.Common", "DataColumnMappingCollection", "Contains", "(System.Object)", "summary", "df-generated"] - ["System.Data.Common", "DataColumnMappingCollection", "Contains", "(System.String)", "summary", "df-generated"] - ["System.Data.Common", "DataColumnMappingCollection", "IndexOf", "(System.Object)", "summary", "df-generated"] @@ -231,12 +233,14 @@ extensions: - ["System.Data.Common", "DbConnection", "Open", "()", "summary", "df-generated"] - ["System.Data.Common", "DbConnection", "OpenAsync", "()", "summary", "df-generated"] - ["System.Data.Common", "DbConnection", "OpenAsync", "(System.Threading.CancellationToken)", "summary", "df-generated"] + - ["System.Data.Common", "DbConnection", "add_StateChange", "(System.Data.StateChangeEventHandler)", "summary", "df-generated"] - ["System.Data.Common", "DbConnection", "get_CanCreateBatch", "()", "summary", "df-generated"] - ["System.Data.Common", "DbConnection", "get_ConnectionTimeout", "()", "summary", "df-generated"] - ["System.Data.Common", "DbConnection", "get_DataSource", "()", "summary", "df-generated"] - ["System.Data.Common", "DbConnection", "get_Database", "()", "summary", "df-generated"] - ["System.Data.Common", "DbConnection", "get_DbProviderFactory", "()", "summary", "df-generated"] - ["System.Data.Common", "DbConnection", "get_State", "()", "summary", "df-generated"] + - ["System.Data.Common", "DbConnection", "remove_StateChange", "(System.Data.StateChangeEventHandler)", "summary", "df-generated"] - ["System.Data.Common", "DbConnectionStringBuilder", "ClearPropertyDescriptors", "()", "summary", "df-generated"] - ["System.Data.Common", "DbConnectionStringBuilder", "Contains", "(System.Object)", "summary", "df-generated"] - ["System.Data.Common", "DbConnectionStringBuilder", "ContainsKey", "(System.String)", "summary", "df-generated"] diff --git a/csharp/ql/lib/ext/generated/System.Data.Odbc.model.yml b/csharp/ql/lib/ext/generated/System.Data.Odbc.model.yml index ba7118c96413..474c57e73cff 100644 --- a/csharp/ql/lib/ext/generated/System.Data.Odbc.model.yml +++ b/csharp/ql/lib/ext/generated/System.Data.Odbc.model.yml @@ -120,10 +120,12 @@ extensions: - ["System.Data.Odbc", "OdbcConnection", "OdbcConnection", "(System.String)", "summary", "df-generated"] - ["System.Data.Odbc", "OdbcConnection", "Open", "()", "summary", "df-generated"] - ["System.Data.Odbc", "OdbcConnection", "ReleaseObjectPool", "()", "summary", "df-generated"] + - ["System.Data.Odbc", "OdbcConnection", "add_InfoMessage", "(System.Data.Odbc.OdbcInfoMessageEventHandler)", "summary", "df-generated"] - ["System.Data.Odbc", "OdbcConnection", "get_DataSource", "()", "summary", "df-generated"] - ["System.Data.Odbc", "OdbcConnection", "get_Database", "()", "summary", "df-generated"] - ["System.Data.Odbc", "OdbcConnection", "get_Driver", "()", "summary", "df-generated"] - ["System.Data.Odbc", "OdbcConnection", "get_State", "()", "summary", "df-generated"] + - ["System.Data.Odbc", "OdbcConnection", "remove_InfoMessage", "(System.Data.Odbc.OdbcInfoMessageEventHandler)", "summary", "df-generated"] - ["System.Data.Odbc", "OdbcConnectionStringBuilder", "ContainsKey", "(System.String)", "summary", "df-generated"] - ["System.Data.Odbc", "OdbcConnectionStringBuilder", "OdbcConnectionStringBuilder", "(System.String)", "summary", "df-generated"] - ["System.Data.Odbc", "OdbcConnectionStringBuilder", "Remove", "(System.String)", "summary", "df-generated"] @@ -131,6 +133,10 @@ extensions: - ["System.Data.Odbc", "OdbcDataAdapter", "CreateRowUpdatingEvent", "(System.Data.DataRow,System.Data.IDbCommand,System.Data.StatementType,System.Data.Common.DataTableMapping)", "summary", "df-generated"] - ["System.Data.Odbc", "OdbcDataAdapter", "OnRowUpdated", "(System.Data.Common.RowUpdatedEventArgs)", "summary", "df-generated"] - ["System.Data.Odbc", "OdbcDataAdapter", "OnRowUpdating", "(System.Data.Common.RowUpdatingEventArgs)", "summary", "df-generated"] + - ["System.Data.Odbc", "OdbcDataAdapter", "add_RowUpdated", "(System.Data.Odbc.OdbcRowUpdatedEventHandler)", "summary", "df-generated"] + - ["System.Data.Odbc", "OdbcDataAdapter", "add_RowUpdating", "(System.Data.Odbc.OdbcRowUpdatingEventHandler)", "summary", "df-generated"] + - ["System.Data.Odbc", "OdbcDataAdapter", "remove_RowUpdated", "(System.Data.Odbc.OdbcRowUpdatedEventHandler)", "summary", "df-generated"] + - ["System.Data.Odbc", "OdbcDataAdapter", "remove_RowUpdating", "(System.Data.Odbc.OdbcRowUpdatingEventHandler)", "summary", "df-generated"] - ["System.Data.Odbc", "OdbcDataReader", "Close", "()", "summary", "df-generated"] - ["System.Data.Odbc", "OdbcDataReader", "Dispose", "(System.Boolean)", "summary", "df-generated"] - ["System.Data.Odbc", "OdbcDataReader", "GetBoolean", "(System.Int32)", "summary", "df-generated"] diff --git a/csharp/ql/lib/ext/generated/System.Data.OleDb.model.yml b/csharp/ql/lib/ext/generated/System.Data.OleDb.model.yml index 6bc9458633dd..6339ad912feb 100644 --- a/csharp/ql/lib/ext/generated/System.Data.OleDb.model.yml +++ b/csharp/ql/lib/ext/generated/System.Data.OleDb.model.yml @@ -48,11 +48,13 @@ extensions: - ["System.Data.OleDb", "OleDbConnection", "Open", "()", "summary", "df-generated"] - ["System.Data.OleDb", "OleDbConnection", "ReleaseObjectPool", "()", "summary", "df-generated"] - ["System.Data.OleDb", "OleDbConnection", "ResetState", "()", "summary", "df-generated"] + - ["System.Data.OleDb", "OleDbConnection", "add_InfoMessage", "(System.Data.OleDb.OleDbInfoMessageEventHandler)", "summary", "df-generated"] - ["System.Data.OleDb", "OleDbConnection", "get_ConnectionTimeout", "()", "summary", "df-generated"] - ["System.Data.OleDb", "OleDbConnection", "get_DataSource", "()", "summary", "df-generated"] - ["System.Data.OleDb", "OleDbConnection", "get_Database", "()", "summary", "df-generated"] - ["System.Data.OleDb", "OleDbConnection", "get_Provider", "()", "summary", "df-generated"] - ["System.Data.OleDb", "OleDbConnection", "get_State", "()", "summary", "df-generated"] + - ["System.Data.OleDb", "OleDbConnection", "remove_InfoMessage", "(System.Data.OleDb.OleDbInfoMessageEventHandler)", "summary", "df-generated"] - ["System.Data.OleDb", "OleDbConnectionStringBuilder", "ContainsKey", "(System.String)", "summary", "df-generated"] - ["System.Data.OleDb", "OleDbConnectionStringBuilder", "OleDbConnectionStringBuilder", "(System.String)", "summary", "df-generated"] - ["System.Data.OleDb", "OleDbConnectionStringBuilder", "Remove", "(System.String)", "summary", "df-generated"] @@ -65,6 +67,10 @@ extensions: - ["System.Data.OleDb", "OleDbDataAdapter", "OleDbDataAdapter", "(System.String,System.String)", "summary", "df-generated"] - ["System.Data.OleDb", "OleDbDataAdapter", "OnRowUpdated", "(System.Data.Common.RowUpdatedEventArgs)", "summary", "df-generated"] - ["System.Data.OleDb", "OleDbDataAdapter", "OnRowUpdating", "(System.Data.Common.RowUpdatingEventArgs)", "summary", "df-generated"] + - ["System.Data.OleDb", "OleDbDataAdapter", "add_RowUpdated", "(System.Data.OleDb.OleDbRowUpdatedEventHandler)", "summary", "df-generated"] + - ["System.Data.OleDb", "OleDbDataAdapter", "add_RowUpdating", "(System.Data.OleDb.OleDbRowUpdatingEventHandler)", "summary", "df-generated"] + - ["System.Data.OleDb", "OleDbDataAdapter", "remove_RowUpdated", "(System.Data.OleDb.OleDbRowUpdatedEventHandler)", "summary", "df-generated"] + - ["System.Data.OleDb", "OleDbDataAdapter", "remove_RowUpdating", "(System.Data.OleDb.OleDbRowUpdatingEventHandler)", "summary", "df-generated"] - ["System.Data.OleDb", "OleDbDataReader", "Close", "()", "summary", "df-generated"] - ["System.Data.OleDb", "OleDbDataReader", "GetBoolean", "(System.Int32)", "summary", "df-generated"] - ["System.Data.OleDb", "OleDbDataReader", "GetByte", "(System.Int32)", "summary", "df-generated"] diff --git a/csharp/ql/lib/ext/generated/System.Data.model.yml b/csharp/ql/lib/ext/generated/System.Data.model.yml index 101062b5e610..51c3c7c00263 100644 --- a/csharp/ql/lib/ext/generated/System.Data.model.yml +++ b/csharp/ql/lib/ext/generated/System.Data.model.yml @@ -54,6 +54,8 @@ extensions: - ["System.Data", "DataRelationCollection", True, "AddCore", "(System.Data.DataRelation)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - ["System.Data", "DataRelationCollection", True, "AddCore", "(System.Data.DataRelation)", "", "Argument[this]", "Argument[0]", "taint", "df-generated"] - ["System.Data", "DataRelationCollection", True, "GetDataSet", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["System.Data", "DataRelationCollection", True, "OnCollectionChanged", "(System.ComponentModel.CollectionChangeEventArgs)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["System.Data", "DataRelationCollection", True, "OnCollectionChanging", "(System.ComponentModel.CollectionChangeEventArgs)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - ["System.Data", "DataRelationCollection", True, "get_Item", "(System.Int32)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["System.Data", "DataRelationCollection", True, "get_Item", "(System.String)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["System.Data", "DataRow", False, "DataRow", "(System.Data.DataRowBuilder)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] @@ -119,6 +121,16 @@ extensions: - ["System.Data", "DataTable", False, "get_DefaultView", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["System.Data", "DataTable", False, "get_Rows", "()", "", "Argument[this].SyntheticField[System.Data.DataTable._rowCollection]", "ReturnValue", "value", "dfc-generated"] - ["System.Data", "DataTable", True, "Clone", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["System.Data", "DataTable", True, "OnColumnChanged", "(System.Data.DataColumnChangeEventArgs)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["System.Data", "DataTable", True, "OnColumnChanging", "(System.Data.DataColumnChangeEventArgs)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["System.Data", "DataTable", True, "OnPropertyChanging", "(System.ComponentModel.PropertyChangedEventArgs)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["System.Data", "DataTable", True, "OnRowChanged", "(System.Data.DataRowChangeEventArgs)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["System.Data", "DataTable", True, "OnRowChanging", "(System.Data.DataRowChangeEventArgs)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["System.Data", "DataTable", True, "OnRowDeleted", "(System.Data.DataRowChangeEventArgs)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["System.Data", "DataTable", True, "OnRowDeleting", "(System.Data.DataRowChangeEventArgs)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["System.Data", "DataTable", True, "OnTableCleared", "(System.Data.DataTableClearEventArgs)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["System.Data", "DataTable", True, "OnTableClearing", "(System.Data.DataTableClearEventArgs)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["System.Data", "DataTable", True, "OnTableNewRow", "(System.Data.DataTableNewRowEventArgs)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - ["System.Data", "DataTableClearEventArgs", False, "get_TableName", "()", "", "Argument[this].Property[System.Data.DataTableClearEventArgs.Table].Property[System.Data.DataTable.TableName]", "ReturnValue", "value", "dfc-generated"] - ["System.Data", "DataTableClearEventArgs", False, "get_TableNamespace", "()", "", "Argument[this].Property[System.Data.DataTableClearEventArgs.Table].Property[System.Data.DataTable.Namespace]", "ReturnValue", "value", "dfc-generated"] - ["System.Data", "DataTableCollection", False, "Add", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] @@ -133,6 +145,8 @@ extensions: - ["System.Data", "DataTableExtensions", False, "CopyToDataTable", "(System.Collections.Generic.IEnumerable)", "", "Argument[0].Element.Property[System.Data.DataRow.ItemArray]", "ReturnValue.SyntheticField[System.Data.DataTable._rowCollection].Element", "value", "dfc-generated"] - ["System.Data", "DataTableExtensions", False, "CopyToDataTable", "(System.Collections.Generic.IEnumerable,System.Data.DataTable,System.Data.LoadOption)", "", "Argument[0].Element.Property[System.Data.DataRow.ItemArray]", "Argument[1].Property[System.Data.DataTable.Rows].Element", "value", "dfc-generated"] - ["System.Data", "DataTableExtensions", False, "CopyToDataTable", "(System.Collections.Generic.IEnumerable,System.Data.DataTable,System.Data.LoadOption)", "", "Argument[0].Element.Property[System.Data.DataRow.ItemArray]", "Argument[1].SyntheticField[System.Data.DataTable._rowCollection].Element", "value", "dfc-generated"] + - ["System.Data", "DataTableExtensions", False, "CopyToDataTable", "(System.Collections.Generic.IEnumerable,System.Data.DataTable,System.Data.LoadOption,System.Data.FillErrorEventHandler)", "", "Argument[0].Element.Property[System.Data.DataRow.ItemArray]", "Argument[1].Property[System.Data.DataTable.Rows].Element", "value", "dfc-generated"] + - ["System.Data", "DataTableExtensions", False, "CopyToDataTable", "(System.Collections.Generic.IEnumerable,System.Data.DataTable,System.Data.LoadOption,System.Data.FillErrorEventHandler)", "", "Argument[0].Element.Property[System.Data.DataRow.ItemArray]", "Argument[1].SyntheticField[System.Data.DataTable._rowCollection].Element", "value", "dfc-generated"] - ["System.Data", "DataTableReader", False, "DataTableReader", "(System.Data.DataTable)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - ["System.Data", "DataTableReader", False, "DataTableReader", "(System.Data.DataTable[])", "", "Argument[0].Element", "Argument[this]", "taint", "df-generated"] - ["System.Data", "DataView", False, "AddNew", "()", "", "Argument[this]", "ReturnValue.SyntheticField[System.Data.DataRowView._dataView]", "value", "dfc-generated"] @@ -146,6 +160,8 @@ extensions: - ["System.Data", "DataView", False, "ToTable", "(System.String,System.Boolean,System.String[])", "", "Argument[0]", "ReturnValue.Property[System.Data.DataTable.TableName]", "value", "dfc-generated"] - ["System.Data", "DataView", False, "get_DataViewManager", "()", "", "Argument[this].SyntheticField[System.Data.DataView._dataViewManager]", "ReturnValue", "value", "dfc-generated"] - ["System.Data", "DataView", True, "AddNew", "()", "", "Argument[this]", "ReturnValue.SyntheticField[System.Data.DataRowView._dataView]", "value", "dfc-generated"] + - ["System.Data", "DataView", True, "IndexListChanged", "(System.Object,System.ComponentModel.ListChangedEventArgs)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] + - ["System.Data", "DataView", True, "OnListChanged", "(System.ComponentModel.ListChangedEventArgs)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - ["System.Data", "DataViewManager", False, "CreateDataView", "(System.Data.DataTable)", "", "Argument[this]", "ReturnValue.SyntheticField[System.Data.DataView._dataViewManager]", "value", "dfc-generated"] - ["System.Data", "DataViewManager", False, "get_DataViewSettings", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["System.Data", "DataViewSetting", False, "get_DataViewManager", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] @@ -205,6 +221,8 @@ extensions: - ["System.Data", "ConstraintCollection", "Remove", "(System.Data.Constraint)", "summary", "df-generated"] - ["System.Data", "ConstraintCollection", "Remove", "(System.String)", "summary", "df-generated"] - ["System.Data", "ConstraintCollection", "RemoveAt", "(System.Int32)", "summary", "df-generated"] + - ["System.Data", "ConstraintCollection", "add_CollectionChanged", "(System.ComponentModel.CollectionChangeEventHandler)", "summary", "df-generated"] + - ["System.Data", "ConstraintCollection", "remove_CollectionChanged", "(System.ComponentModel.CollectionChangeEventHandler)", "summary", "df-generated"] - ["System.Data", "ConstraintException", "ConstraintException", "(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)", "summary", "df-generated"] - ["System.Data", "ConstraintException", "ConstraintException", "(System.String)", "summary", "df-generated"] - ["System.Data", "ConstraintException", "ConstraintException", "(System.String,System.Exception)", "summary", "df-generated"] @@ -229,6 +247,8 @@ extensions: - ["System.Data", "DataColumnCollection", "Remove", "(System.Data.DataColumn)", "summary", "df-generated"] - ["System.Data", "DataColumnCollection", "Remove", "(System.String)", "summary", "df-generated"] - ["System.Data", "DataColumnCollection", "RemoveAt", "(System.Int32)", "summary", "df-generated"] + - ["System.Data", "DataColumnCollection", "add_CollectionChanged", "(System.ComponentModel.CollectionChangeEventHandler)", "summary", "df-generated"] + - ["System.Data", "DataColumnCollection", "remove_CollectionChanged", "(System.ComponentModel.CollectionChangeEventHandler)", "summary", "df-generated"] - ["System.Data", "DataException", "DataException", "(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)", "summary", "df-generated"] - ["System.Data", "DataException", "DataException", "(System.String)", "summary", "df-generated"] - ["System.Data", "DataException", "DataException", "(System.String,System.Exception)", "summary", "df-generated"] @@ -261,11 +281,11 @@ extensions: - ["System.Data", "DataRelationCollection", "Contains", "(System.String)", "summary", "df-generated"] - ["System.Data", "DataRelationCollection", "IndexOf", "(System.Data.DataRelation)", "summary", "df-generated"] - ["System.Data", "DataRelationCollection", "IndexOf", "(System.String)", "summary", "df-generated"] - - ["System.Data", "DataRelationCollection", "OnCollectionChanged", "(System.ComponentModel.CollectionChangeEventArgs)", "summary", "df-generated"] - - ["System.Data", "DataRelationCollection", "OnCollectionChanging", "(System.ComponentModel.CollectionChangeEventArgs)", "summary", "df-generated"] - ["System.Data", "DataRelationCollection", "Remove", "(System.String)", "summary", "df-generated"] - ["System.Data", "DataRelationCollection", "RemoveAt", "(System.Int32)", "summary", "df-generated"] - ["System.Data", "DataRelationCollection", "RemoveCore", "(System.Data.DataRelation)", "summary", "df-generated"] + - ["System.Data", "DataRelationCollection", "add_CollectionChanged", "(System.ComponentModel.CollectionChangeEventHandler)", "summary", "df-generated"] + - ["System.Data", "DataRelationCollection", "remove_CollectionChanged", "(System.ComponentModel.CollectionChangeEventHandler)", "summary", "df-generated"] - ["System.Data", "DataRow", "AcceptChanges", "()", "summary", "df-generated"] - ["System.Data", "DataRow", "BeginEdit", "()", "summary", "df-generated"] - ["System.Data", "DataRow", "CancelEdit", "()", "summary", "df-generated"] @@ -333,10 +353,12 @@ extensions: - ["System.Data", "DataRowView", "GetEvents", "()", "summary", "df-generated"] - ["System.Data", "DataRowView", "GetEvents", "(System.Attribute[])", "summary", "df-generated"] - ["System.Data", "DataRowView", "GetHashCode", "()", "summary", "df-generated"] + - ["System.Data", "DataRowView", "add_PropertyChanged", "(System.ComponentModel.PropertyChangedEventHandler)", "summary", "df-generated"] - ["System.Data", "DataRowView", "get_IsEdit", "()", "summary", "df-generated"] - ["System.Data", "DataRowView", "get_IsNew", "()", "summary", "df-generated"] - ["System.Data", "DataRowView", "get_Item", "(System.String)", "summary", "df-generated"] - ["System.Data", "DataRowView", "get_RowVersion", "()", "summary", "df-generated"] + - ["System.Data", "DataRowView", "remove_PropertyChanged", "(System.ComponentModel.PropertyChangedEventHandler)", "summary", "df-generated"] - ["System.Data", "DataRowView", "set_Item", "(System.Int32,System.Object)", "summary", "df-generated"] - ["System.Data", "DataRowView", "set_Item", "(System.String,System.Object)", "summary", "df-generated"] - ["System.Data", "DataSet", "AcceptChanges", "()", "summary", "df-generated"] @@ -364,6 +386,7 @@ extensions: - ["System.Data", "DataSet", "InitializeDerivedDataSet", "()", "summary", "df-generated"] - ["System.Data", "DataSet", "IsBinarySerialized", "(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)", "summary", "df-generated"] - ["System.Data", "DataSet", "Load", "(System.Data.IDataReader,System.Data.LoadOption,System.Data.DataTable[])", "summary", "df-generated"] + - ["System.Data", "DataSet", "Load", "(System.Data.IDataReader,System.Data.LoadOption,System.Data.FillErrorEventHandler,System.Data.DataTable[])", "summary", "df-generated"] - ["System.Data", "DataSet", "Load", "(System.Data.IDataReader,System.Data.LoadOption,System.String[])", "summary", "df-generated"] - ["System.Data", "DataSet", "Merge", "(System.Data.DataRow[])", "summary", "df-generated"] - ["System.Data", "DataSet", "Merge", "(System.Data.DataRow[],System.Boolean,System.Data.MissingSchemaAction)", "summary", "df-generated"] @@ -402,13 +425,21 @@ extensions: - ["System.Data", "DataSet", "WriteXml", "(System.Xml.XmlWriter)", "summary", "df-generated"] - ["System.Data", "DataSet", "WriteXml", "(System.Xml.XmlWriter,System.Data.XmlWriteMode)", "summary", "df-generated"] - ["System.Data", "DataSet", "WriteXmlSchema", "(System.IO.Stream)", "summary", "df-generated"] + - ["System.Data", "DataSet", "WriteXmlSchema", "(System.IO.Stream,System.Converter)", "summary", "df-generated"] - ["System.Data", "DataSet", "WriteXmlSchema", "(System.IO.TextWriter)", "summary", "df-generated"] + - ["System.Data", "DataSet", "WriteXmlSchema", "(System.IO.TextWriter,System.Converter)", "summary", "df-generated"] - ["System.Data", "DataSet", "WriteXmlSchema", "(System.String)", "summary", "df-generated"] + - ["System.Data", "DataSet", "WriteXmlSchema", "(System.String,System.Converter)", "summary", "df-generated"] - ["System.Data", "DataSet", "WriteXmlSchema", "(System.Xml.XmlWriter)", "summary", "df-generated"] + - ["System.Data", "DataSet", "WriteXmlSchema", "(System.Xml.XmlWriter,System.Converter)", "summary", "df-generated"] + - ["System.Data", "DataSet", "add_Initialized", "(System.EventHandler)", "summary", "df-generated"] + - ["System.Data", "DataSet", "add_MergeFailed", "(System.Data.MergeFailedEventHandler)", "summary", "df-generated"] - ["System.Data", "DataSet", "get_ContainsListCollection", "()", "summary", "df-generated"] - ["System.Data", "DataSet", "get_ExtendedProperties", "()", "summary", "df-generated"] - ["System.Data", "DataSet", "get_HasErrors", "()", "summary", "df-generated"] - ["System.Data", "DataSet", "get_IsInitialized", "()", "summary", "df-generated"] + - ["System.Data", "DataSet", "remove_Initialized", "(System.EventHandler)", "summary", "df-generated"] + - ["System.Data", "DataSet", "remove_MergeFailed", "(System.Data.MergeFailedEventHandler)", "summary", "df-generated"] - ["System.Data", "DataSysDescriptionAttribute", "DataSysDescriptionAttribute", "(System.String)", "summary", "df-generated"] - ["System.Data", "DataTable", "AcceptChanges", "()", "summary", "df-generated"] - ["System.Data", "DataTable", "BeginInit", "()", "summary", "df-generated"] @@ -426,22 +457,13 @@ extensions: - ["System.Data", "DataTable", "ImportRow", "(System.Data.DataRow)", "summary", "df-generated"] - ["System.Data", "DataTable", "Load", "(System.Data.IDataReader)", "summary", "df-generated"] - ["System.Data", "DataTable", "Load", "(System.Data.IDataReader,System.Data.LoadOption)", "summary", "df-generated"] + - ["System.Data", "DataTable", "Load", "(System.Data.IDataReader,System.Data.LoadOption,System.Data.FillErrorEventHandler)", "summary", "df-generated"] - ["System.Data", "DataTable", "Merge", "(System.Data.DataTable)", "summary", "df-generated"] - ["System.Data", "DataTable", "Merge", "(System.Data.DataTable,System.Boolean)", "summary", "df-generated"] - ["System.Data", "DataTable", "Merge", "(System.Data.DataTable,System.Boolean,System.Data.MissingSchemaAction)", "summary", "df-generated"] - ["System.Data", "DataTable", "NewRow", "()", "summary", "df-generated"] - ["System.Data", "DataTable", "NewRowFromBuilder", "(System.Data.DataRowBuilder)", "summary", "df-generated"] - - ["System.Data", "DataTable", "OnColumnChanged", "(System.Data.DataColumnChangeEventArgs)", "summary", "df-generated"] - - ["System.Data", "DataTable", "OnColumnChanging", "(System.Data.DataColumnChangeEventArgs)", "summary", "df-generated"] - - ["System.Data", "DataTable", "OnPropertyChanging", "(System.ComponentModel.PropertyChangedEventArgs)", "summary", "df-generated"] - ["System.Data", "DataTable", "OnRemoveColumn", "(System.Data.DataColumn)", "summary", "df-generated"] - - ["System.Data", "DataTable", "OnRowChanged", "(System.Data.DataRowChangeEventArgs)", "summary", "df-generated"] - - ["System.Data", "DataTable", "OnRowChanging", "(System.Data.DataRowChangeEventArgs)", "summary", "df-generated"] - - ["System.Data", "DataTable", "OnRowDeleted", "(System.Data.DataRowChangeEventArgs)", "summary", "df-generated"] - - ["System.Data", "DataTable", "OnRowDeleting", "(System.Data.DataRowChangeEventArgs)", "summary", "df-generated"] - - ["System.Data", "DataTable", "OnTableCleared", "(System.Data.DataTableClearEventArgs)", "summary", "df-generated"] - - ["System.Data", "DataTable", "OnTableClearing", "(System.Data.DataTableClearEventArgs)", "summary", "df-generated"] - - ["System.Data", "DataTable", "OnTableNewRow", "(System.Data.DataTableNewRowEventArgs)", "summary", "df-generated"] - ["System.Data", "DataTable", "ReadXml", "(System.IO.Stream)", "summary", "df-generated"] - ["System.Data", "DataTable", "ReadXml", "(System.IO.TextReader)", "summary", "df-generated"] - ["System.Data", "DataTable", "ReadXml", "(System.String)", "summary", "df-generated"] @@ -477,12 +499,32 @@ extensions: - ["System.Data", "DataTable", "WriteXmlSchema", "(System.String,System.Boolean)", "summary", "df-generated"] - ["System.Data", "DataTable", "WriteXmlSchema", "(System.Xml.XmlWriter)", "summary", "df-generated"] - ["System.Data", "DataTable", "WriteXmlSchema", "(System.Xml.XmlWriter,System.Boolean)", "summary", "df-generated"] + - ["System.Data", "DataTable", "add_ColumnChanged", "(System.Data.DataColumnChangeEventHandler)", "summary", "df-generated"] + - ["System.Data", "DataTable", "add_ColumnChanging", "(System.Data.DataColumnChangeEventHandler)", "summary", "df-generated"] + - ["System.Data", "DataTable", "add_Initialized", "(System.EventHandler)", "summary", "df-generated"] + - ["System.Data", "DataTable", "add_RowChanged", "(System.Data.DataRowChangeEventHandler)", "summary", "df-generated"] + - ["System.Data", "DataTable", "add_RowChanging", "(System.Data.DataRowChangeEventHandler)", "summary", "df-generated"] + - ["System.Data", "DataTable", "add_RowDeleted", "(System.Data.DataRowChangeEventHandler)", "summary", "df-generated"] + - ["System.Data", "DataTable", "add_RowDeleting", "(System.Data.DataRowChangeEventHandler)", "summary", "df-generated"] + - ["System.Data", "DataTable", "add_TableCleared", "(System.Data.DataTableClearEventHandler)", "summary", "df-generated"] + - ["System.Data", "DataTable", "add_TableClearing", "(System.Data.DataTableClearEventHandler)", "summary", "df-generated"] + - ["System.Data", "DataTable", "add_TableNewRow", "(System.Data.DataTableNewRowEventHandler)", "summary", "df-generated"] - ["System.Data", "DataTable", "get_ChildRelations", "()", "summary", "df-generated"] - ["System.Data", "DataTable", "get_ContainsListCollection", "()", "summary", "df-generated"] - ["System.Data", "DataTable", "get_ExtendedProperties", "()", "summary", "df-generated"] - ["System.Data", "DataTable", "get_HasErrors", "()", "summary", "df-generated"] - ["System.Data", "DataTable", "get_IsInitialized", "()", "summary", "df-generated"] - ["System.Data", "DataTable", "get_ParentRelations", "()", "summary", "df-generated"] + - ["System.Data", "DataTable", "remove_ColumnChanged", "(System.Data.DataColumnChangeEventHandler)", "summary", "df-generated"] + - ["System.Data", "DataTable", "remove_ColumnChanging", "(System.Data.DataColumnChangeEventHandler)", "summary", "df-generated"] + - ["System.Data", "DataTable", "remove_Initialized", "(System.EventHandler)", "summary", "df-generated"] + - ["System.Data", "DataTable", "remove_RowChanged", "(System.Data.DataRowChangeEventHandler)", "summary", "df-generated"] + - ["System.Data", "DataTable", "remove_RowChanging", "(System.Data.DataRowChangeEventHandler)", "summary", "df-generated"] + - ["System.Data", "DataTable", "remove_RowDeleted", "(System.Data.DataRowChangeEventHandler)", "summary", "df-generated"] + - ["System.Data", "DataTable", "remove_RowDeleting", "(System.Data.DataRowChangeEventHandler)", "summary", "df-generated"] + - ["System.Data", "DataTable", "remove_TableCleared", "(System.Data.DataTableClearEventHandler)", "summary", "df-generated"] + - ["System.Data", "DataTable", "remove_TableClearing", "(System.Data.DataTableClearEventHandler)", "summary", "df-generated"] + - ["System.Data", "DataTable", "remove_TableNewRow", "(System.Data.DataTableNewRowEventHandler)", "summary", "df-generated"] - ["System.Data", "DataTableClearEventArgs", "DataTableClearEventArgs", "(System.Data.DataTable)", "summary", "df-generated"] - ["System.Data", "DataTableClearEventArgs", "get_Table", "()", "summary", "df-generated"] - ["System.Data", "DataTableCollection", "CanRemove", "(System.Data.DataTable)", "summary", "df-generated"] @@ -495,6 +537,10 @@ extensions: - ["System.Data", "DataTableCollection", "Remove", "(System.String)", "summary", "df-generated"] - ["System.Data", "DataTableCollection", "Remove", "(System.String,System.String)", "summary", "df-generated"] - ["System.Data", "DataTableCollection", "RemoveAt", "(System.Int32)", "summary", "df-generated"] + - ["System.Data", "DataTableCollection", "add_CollectionChanged", "(System.ComponentModel.CollectionChangeEventHandler)", "summary", "df-generated"] + - ["System.Data", "DataTableCollection", "add_CollectionChanging", "(System.ComponentModel.CollectionChangeEventHandler)", "summary", "df-generated"] + - ["System.Data", "DataTableCollection", "remove_CollectionChanged", "(System.ComponentModel.CollectionChangeEventHandler)", "summary", "df-generated"] + - ["System.Data", "DataTableCollection", "remove_CollectionChanging", "(System.ComponentModel.CollectionChangeEventHandler)", "summary", "df-generated"] - ["System.Data", "DataTableExtensions", "AsDataView", "(System.Data.DataTable)", "summary", "df-generated"] - ["System.Data", "DataTableExtensions", "AsDataView", "(System.Data.EnumerableRowCollection)", "summary", "df-generated"] - ["System.Data", "DataTableNewRowEventArgs", "DataTableNewRowEventArgs", "(System.Data.DataRow)", "summary", "df-generated"] @@ -533,9 +579,7 @@ extensions: - ["System.Data", "DataView", "Dispose", "(System.Boolean)", "summary", "df-generated"] - ["System.Data", "DataView", "EndInit", "()", "summary", "df-generated"] - ["System.Data", "DataView", "Equals", "(System.Data.DataView)", "summary", "df-generated"] - - ["System.Data", "DataView", "IndexListChanged", "(System.Object,System.ComponentModel.ListChangedEventArgs)", "summary", "df-generated"] - ["System.Data", "DataView", "IndexOf", "(System.Object)", "summary", "df-generated"] - - ["System.Data", "DataView", "OnListChanged", "(System.ComponentModel.ListChangedEventArgs)", "summary", "df-generated"] - ["System.Data", "DataView", "Open", "()", "summary", "df-generated"] - ["System.Data", "DataView", "Remove", "(System.Object)", "summary", "df-generated"] - ["System.Data", "DataView", "RemoveAt", "(System.Int32)", "summary", "df-generated"] @@ -545,6 +589,8 @@ extensions: - ["System.Data", "DataView", "Reset", "()", "summary", "df-generated"] - ["System.Data", "DataView", "UpdateIndex", "()", "summary", "df-generated"] - ["System.Data", "DataView", "UpdateIndex", "(System.Boolean)", "summary", "df-generated"] + - ["System.Data", "DataView", "add_Initialized", "(System.EventHandler)", "summary", "df-generated"] + - ["System.Data", "DataView", "add_ListChanged", "(System.ComponentModel.ListChangedEventHandler)", "summary", "df-generated"] - ["System.Data", "DataView", "get_AllowEdit", "()", "summary", "df-generated"] - ["System.Data", "DataView", "get_AllowNew", "()", "summary", "df-generated"] - ["System.Data", "DataView", "get_AllowRemove", "()", "summary", "df-generated"] @@ -563,6 +609,8 @@ extensions: - ["System.Data", "DataView", "get_SupportsFiltering", "()", "summary", "df-generated"] - ["System.Data", "DataView", "get_SupportsSearching", "()", "summary", "df-generated"] - ["System.Data", "DataView", "get_SupportsSorting", "()", "summary", "df-generated"] + - ["System.Data", "DataView", "remove_Initialized", "(System.EventHandler)", "summary", "df-generated"] + - ["System.Data", "DataView", "remove_ListChanged", "(System.ComponentModel.ListChangedEventHandler)", "summary", "df-generated"] - ["System.Data", "DataViewManager", "AddIndex", "(System.ComponentModel.PropertyDescriptor)", "summary", "df-generated"] - ["System.Data", "DataViewManager", "AddNew", "()", "summary", "df-generated"] - ["System.Data", "DataViewManager", "Contains", "(System.Object)", "summary", "df-generated"] @@ -575,6 +623,7 @@ extensions: - ["System.Data", "DataViewManager", "RemoveIndex", "(System.ComponentModel.PropertyDescriptor)", "summary", "df-generated"] - ["System.Data", "DataViewManager", "RemoveSort", "()", "summary", "df-generated"] - ["System.Data", "DataViewManager", "TableCollectionChanged", "(System.Object,System.ComponentModel.CollectionChangeEventArgs)", "summary", "df-generated"] + - ["System.Data", "DataViewManager", "add_ListChanged", "(System.ComponentModel.ListChangedEventHandler)", "summary", "df-generated"] - ["System.Data", "DataViewManager", "get_AllowEdit", "()", "summary", "df-generated"] - ["System.Data", "DataViewManager", "get_AllowNew", "()", "summary", "df-generated"] - ["System.Data", "DataViewManager", "get_AllowRemove", "()", "summary", "df-generated"] @@ -588,6 +637,7 @@ extensions: - ["System.Data", "DataViewManager", "get_SupportsChangeNotification", "()", "summary", "df-generated"] - ["System.Data", "DataViewManager", "get_SupportsSearching", "()", "summary", "df-generated"] - ["System.Data", "DataViewManager", "get_SupportsSorting", "()", "summary", "df-generated"] + - ["System.Data", "DataViewManager", "remove_ListChanged", "(System.ComponentModel.ListChangedEventHandler)", "summary", "df-generated"] - ["System.Data", "DataViewSettingCollection", "get_Count", "()", "summary", "df-generated"] - ["System.Data", "DataViewSettingCollection", "get_IsReadOnly", "()", "summary", "df-generated"] - ["System.Data", "DataViewSettingCollection", "get_IsSynchronized", "()", "summary", "df-generated"] diff --git a/csharp/ql/lib/ext/generated/System.Diagnostics.Contracts.model.yml b/csharp/ql/lib/ext/generated/System.Diagnostics.Contracts.model.yml index 685395af96af..8a7eba3c5bbe 100644 --- a/csharp/ql/lib/ext/generated/System.Diagnostics.Contracts.model.yml +++ b/csharp/ql/lib/ext/generated/System.Diagnostics.Contracts.model.yml @@ -4,6 +4,8 @@ extensions: pack: codeql/csharp-all extensible: summaryModel data: + - ["System.Diagnostics.Contracts", "Contract", False, "Exists", "(System.Collections.Generic.IEnumerable,System.Predicate)", "", "Argument[0].Element", "Argument[1].Parameter[0]", "value", "dfc-generated"] + - ["System.Diagnostics.Contracts", "Contract", False, "ForAll", "(System.Collections.Generic.IEnumerable,System.Predicate)", "", "Argument[0].Element", "Argument[1].Parameter[0]", "value", "dfc-generated"] - ["System.Diagnostics.Contracts", "ContractException", False, "ContractException", "(System.Diagnostics.Contracts.ContractFailureKind,System.String,System.String,System.String,System.Exception)", "", "Argument[2]", "Argument[this].SyntheticField[System.Diagnostics.Contracts.ContractException._userMessage]", "value", "dfc-generated"] - ["System.Diagnostics.Contracts", "ContractException", False, "ContractException", "(System.Diagnostics.Contracts.ContractFailureKind,System.String,System.String,System.String,System.Exception)", "", "Argument[3]", "Argument[this].SyntheticField[System.Diagnostics.Contracts.ContractException._condition]", "value", "dfc-generated"] - ["System.Diagnostics.Contracts", "ContractException", False, "get_Condition", "()", "", "Argument[this].SyntheticField[System.Diagnostics.Contracts.ContractException._condition]", "ReturnValue", "value", "dfc-generated"] @@ -38,6 +40,8 @@ extensions: - ["System.Diagnostics.Contracts", "Contract", "Ensures", "(System.Boolean,System.String)", "summary", "df-generated"] - ["System.Diagnostics.Contracts", "Contract", "EnsuresOnThrow", "(System.Boolean)", "summary", "df-generated"] - ["System.Diagnostics.Contracts", "Contract", "EnsuresOnThrow", "(System.Boolean,System.String)", "summary", "df-generated"] + - ["System.Diagnostics.Contracts", "Contract", "Exists", "(System.Int32,System.Int32,System.Predicate)", "summary", "df-generated"] + - ["System.Diagnostics.Contracts", "Contract", "ForAll", "(System.Int32,System.Int32,System.Predicate)", "summary", "df-generated"] - ["System.Diagnostics.Contracts", "Contract", "Invariant", "(System.Boolean)", "summary", "df-generated"] - ["System.Diagnostics.Contracts", "Contract", "Invariant", "(System.Boolean,System.String)", "summary", "df-generated"] - ["System.Diagnostics.Contracts", "Contract", "OldValue", "(T)", "summary", "df-generated"] @@ -47,6 +51,8 @@ extensions: - ["System.Diagnostics.Contracts", "Contract", "Requires", "(System.Boolean,System.String)", "summary", "df-generated"] - ["System.Diagnostics.Contracts", "Contract", "Result", "()", "summary", "df-generated"] - ["System.Diagnostics.Contracts", "Contract", "ValueAtReturn", "(T)", "summary", "df-generated"] + - ["System.Diagnostics.Contracts", "Contract", "add_ContractFailed", "(System.EventHandler)", "summary", "df-generated"] + - ["System.Diagnostics.Contracts", "Contract", "remove_ContractFailed", "(System.EventHandler)", "summary", "df-generated"] - ["System.Diagnostics.Contracts", "ContractClassAttribute", "ContractClassAttribute", "(System.Type)", "summary", "df-generated"] - ["System.Diagnostics.Contracts", "ContractClassAttribute", "get_TypeContainingContracts", "()", "summary", "df-generated"] - ["System.Diagnostics.Contracts", "ContractClassForAttribute", "ContractClassForAttribute", "(System.Type)", "summary", "df-generated"] diff --git a/csharp/ql/lib/ext/generated/System.Diagnostics.Eventing.Reader.model.yml b/csharp/ql/lib/ext/generated/System.Diagnostics.Eventing.Reader.model.yml index a4f8754109c1..2344d50665c2 100644 --- a/csharp/ql/lib/ext/generated/System.Diagnostics.Eventing.Reader.model.yml +++ b/csharp/ql/lib/ext/generated/System.Diagnostics.Eventing.Reader.model.yml @@ -127,6 +127,8 @@ extensions: - ["System.Diagnostics.Eventing.Reader", "EventLogWatcher", "EventLogWatcher", "(System.Diagnostics.Eventing.Reader.EventLogQuery,System.Diagnostics.Eventing.Reader.EventBookmark)", "summary", "df-generated"] - ["System.Diagnostics.Eventing.Reader", "EventLogWatcher", "EventLogWatcher", "(System.Diagnostics.Eventing.Reader.EventLogQuery,System.Diagnostics.Eventing.Reader.EventBookmark,System.Boolean)", "summary", "df-generated"] - ["System.Diagnostics.Eventing.Reader", "EventLogWatcher", "EventLogWatcher", "(System.String)", "summary", "df-generated"] + - ["System.Diagnostics.Eventing.Reader", "EventLogWatcher", "add_EventRecordWritten", "(System.EventHandler)", "summary", "df-generated"] + - ["System.Diagnostics.Eventing.Reader", "EventLogWatcher", "remove_EventRecordWritten", "(System.EventHandler)", "summary", "df-generated"] - ["System.Diagnostics.Eventing.Reader", "EventMetadata", "get_Description", "()", "summary", "df-generated"] - ["System.Diagnostics.Eventing.Reader", "EventMetadata", "get_Id", "()", "summary", "df-generated"] - ["System.Diagnostics.Eventing.Reader", "EventMetadata", "get_Keywords", "()", "summary", "df-generated"] diff --git a/csharp/ql/lib/ext/generated/System.Diagnostics.Metrics.model.yml b/csharp/ql/lib/ext/generated/System.Diagnostics.Metrics.model.yml index b221b1359d54..e59fe98d29d5 100644 --- a/csharp/ql/lib/ext/generated/System.Diagnostics.Metrics.model.yml +++ b/csharp/ql/lib/ext/generated/System.Diagnostics.Metrics.model.yml @@ -6,7 +6,13 @@ extensions: data: - ["System.Diagnostics.Metrics", "Measurement", False, "Measurement", "(T,System.Collections.Generic.KeyValuePair[])", "", "Argument[1].Element", "Argument[this]", "taint", "df-generated"] - ["System.Diagnostics.Metrics", "Measurement", False, "Measurement", "(T,System.ReadOnlySpan>)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] + - ["System.Diagnostics.Metrics", "MeterListener", False, "DisableMeasurementEvents", "(System.Diagnostics.Metrics.Instrument)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["System.Diagnostics.Metrics", "MeterListener", False, "EnableMeasurementEvents", "(System.Diagnostics.Metrics.Instrument,System.Object)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["System.Diagnostics.Metrics", "MeterListener", False, "EnableMeasurementEvents", "(System.Diagnostics.Metrics.Instrument,System.Object)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] - ["System.Diagnostics.Metrics", "MeterOptions", False, "MeterOptions", "(System.String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["System.Diagnostics.Metrics", "ObservableCounter", False, "Observe", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["System.Diagnostics.Metrics", "ObservableGauge", False, "Observe", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["System.Diagnostics.Metrics", "ObservableUpDownCounter", False, "Observe", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - addsTo: pack: codeql/csharp-all extensible: neutralModel @@ -52,6 +58,24 @@ extensions: - ["System.Diagnostics.Metrics", "Meter", "CreateCounter", "(System.String,System.String,System.String,System.Collections.Generic.IEnumerable>)", "summary", "df-generated"] - ["System.Diagnostics.Metrics", "Meter", "CreateHistogram", "(System.String,System.String,System.String)", "summary", "df-generated"] - ["System.Diagnostics.Metrics", "Meter", "CreateHistogram", "(System.String,System.String,System.String,System.Collections.Generic.IEnumerable>)", "summary", "df-generated"] + - ["System.Diagnostics.Metrics", "Meter", "CreateObservableCounter", "(System.String,System.Func>>,System.String,System.String)", "summary", "df-generated"] + - ["System.Diagnostics.Metrics", "Meter", "CreateObservableCounter", "(System.String,System.Func>>,System.String,System.String,System.Collections.Generic.IEnumerable>)", "summary", "df-generated"] + - ["System.Diagnostics.Metrics", "Meter", "CreateObservableCounter", "(System.String,System.Func>,System.String,System.String)", "summary", "df-generated"] + - ["System.Diagnostics.Metrics", "Meter", "CreateObservableCounter", "(System.String,System.Func>,System.String,System.String,System.Collections.Generic.IEnumerable>)", "summary", "df-generated"] + - ["System.Diagnostics.Metrics", "Meter", "CreateObservableCounter", "(System.String,System.Func,System.String,System.String)", "summary", "df-generated"] + - ["System.Diagnostics.Metrics", "Meter", "CreateObservableCounter", "(System.String,System.Func,System.String,System.String,System.Collections.Generic.IEnumerable>)", "summary", "df-generated"] + - ["System.Diagnostics.Metrics", "Meter", "CreateObservableGauge", "(System.String,System.Func>>,System.String,System.String)", "summary", "df-generated"] + - ["System.Diagnostics.Metrics", "Meter", "CreateObservableGauge", "(System.String,System.Func>>,System.String,System.String,System.Collections.Generic.IEnumerable>)", "summary", "df-generated"] + - ["System.Diagnostics.Metrics", "Meter", "CreateObservableGauge", "(System.String,System.Func>,System.String,System.String)", "summary", "df-generated"] + - ["System.Diagnostics.Metrics", "Meter", "CreateObservableGauge", "(System.String,System.Func>,System.String,System.String,System.Collections.Generic.IEnumerable>)", "summary", "df-generated"] + - ["System.Diagnostics.Metrics", "Meter", "CreateObservableGauge", "(System.String,System.Func,System.String,System.String)", "summary", "df-generated"] + - ["System.Diagnostics.Metrics", "Meter", "CreateObservableGauge", "(System.String,System.Func,System.String,System.String,System.Collections.Generic.IEnumerable>)", "summary", "df-generated"] + - ["System.Diagnostics.Metrics", "Meter", "CreateObservableUpDownCounter", "(System.String,System.Func>>,System.String,System.String)", "summary", "df-generated"] + - ["System.Diagnostics.Metrics", "Meter", "CreateObservableUpDownCounter", "(System.String,System.Func>>,System.String,System.String,System.Collections.Generic.IEnumerable>)", "summary", "df-generated"] + - ["System.Diagnostics.Metrics", "Meter", "CreateObservableUpDownCounter", "(System.String,System.Func>,System.String,System.String)", "summary", "df-generated"] + - ["System.Diagnostics.Metrics", "Meter", "CreateObservableUpDownCounter", "(System.String,System.Func>,System.String,System.String,System.Collections.Generic.IEnumerable>)", "summary", "df-generated"] + - ["System.Diagnostics.Metrics", "Meter", "CreateObservableUpDownCounter", "(System.String,System.Func,System.String,System.String)", "summary", "df-generated"] + - ["System.Diagnostics.Metrics", "Meter", "CreateObservableUpDownCounter", "(System.String,System.Func,System.String,System.String,System.Collections.Generic.IEnumerable>)", "summary", "df-generated"] - ["System.Diagnostics.Metrics", "Meter", "CreateUpDownCounter", "(System.String,System.String,System.String)", "summary", "df-generated"] - ["System.Diagnostics.Metrics", "Meter", "CreateUpDownCounter", "(System.String,System.String,System.String,System.Collections.Generic.IEnumerable>)", "summary", "df-generated"] - ["System.Diagnostics.Metrics", "Meter", "Dispose", "()", "summary", "df-generated"] @@ -61,18 +85,14 @@ extensions: - ["System.Diagnostics.Metrics", "Meter", "Meter", "(System.String,System.String)", "summary", "df-generated"] - ["System.Diagnostics.Metrics", "Meter", "Meter", "(System.String,System.String,System.Collections.Generic.IEnumerable>,System.Object)", "summary", "df-generated"] - ["System.Diagnostics.Metrics", "MeterFactoryExtensions", "Create", "(System.Diagnostics.Metrics.IMeterFactory,System.String,System.String,System.Collections.Generic.IEnumerable>)", "summary", "df-generated"] - - ["System.Diagnostics.Metrics", "MeterListener", "DisableMeasurementEvents", "(System.Diagnostics.Metrics.Instrument)", "summary", "df-generated"] - ["System.Diagnostics.Metrics", "MeterListener", "Dispose", "()", "summary", "df-generated"] - - ["System.Diagnostics.Metrics", "MeterListener", "EnableMeasurementEvents", "(System.Diagnostics.Metrics.Instrument,System.Object)", "summary", "df-generated"] - ["System.Diagnostics.Metrics", "MeterListener", "RecordObservableInstruments", "()", "summary", "df-generated"] + - ["System.Diagnostics.Metrics", "MeterListener", "SetMeasurementEventCallback", "(System.Diagnostics.Metrics.MeasurementCallback)", "summary", "df-generated"] - ["System.Diagnostics.Metrics", "MeterListener", "Start", "()", "summary", "df-generated"] - - ["System.Diagnostics.Metrics", "ObservableCounter", "Observe", "()", "summary", "df-generated"] - - ["System.Diagnostics.Metrics", "ObservableGauge", "Observe", "()", "summary", "df-generated"] - ["System.Diagnostics.Metrics", "ObservableInstrument", "ObservableInstrument", "(System.Diagnostics.Metrics.Meter,System.String,System.String,System.String)", "summary", "df-generated"] - ["System.Diagnostics.Metrics", "ObservableInstrument", "ObservableInstrument", "(System.Diagnostics.Metrics.Meter,System.String,System.String,System.String,System.Collections.Generic.IEnumerable>)", "summary", "df-generated"] - ["System.Diagnostics.Metrics", "ObservableInstrument", "Observe", "()", "summary", "df-generated"] - ["System.Diagnostics.Metrics", "ObservableInstrument", "get_IsObservable", "()", "summary", "df-generated"] - - ["System.Diagnostics.Metrics", "ObservableUpDownCounter", "Observe", "()", "summary", "df-generated"] - ["System.Diagnostics.Metrics", "UpDownCounter", "Add", "(T)", "summary", "df-generated"] - ["System.Diagnostics.Metrics", "UpDownCounter", "Add", "(T,System.Collections.Generic.KeyValuePair)", "summary", "df-generated"] - ["System.Diagnostics.Metrics", "UpDownCounter", "Add", "(T,System.Collections.Generic.KeyValuePair,System.Collections.Generic.KeyValuePair)", "summary", "df-generated"] diff --git a/csharp/ql/lib/ext/generated/System.Diagnostics.Tracing.model.yml b/csharp/ql/lib/ext/generated/System.Diagnostics.Tracing.model.yml index e81376507efb..951ceef50d52 100644 --- a/csharp/ql/lib/ext/generated/System.Diagnostics.Tracing.model.yml +++ b/csharp/ql/lib/ext/generated/System.Diagnostics.Tracing.model.yml @@ -9,6 +9,7 @@ extensions: - ["System.Diagnostics.Tracing", "EventListener", False, "EnableEvents", "(System.Diagnostics.Tracing.EventSource,System.Diagnostics.Tracing.EventLevel)", "", "Argument[this]", "Argument[0]", "taint", "df-generated"] - ["System.Diagnostics.Tracing", "EventListener", False, "EnableEvents", "(System.Diagnostics.Tracing.EventSource,System.Diagnostics.Tracing.EventLevel,System.Diagnostics.Tracing.EventKeywords)", "", "Argument[this]", "Argument[0]", "taint", "df-generated"] - ["System.Diagnostics.Tracing", "EventListener", False, "EnableEvents", "(System.Diagnostics.Tracing.EventSource,System.Diagnostics.Tracing.EventLevel,System.Diagnostics.Tracing.EventKeywords,System.Collections.Generic.IDictionary)", "", "Argument[this]", "Argument[0]", "taint", "df-generated"] + - ["System.Diagnostics.Tracing", "EventListener", False, "add_EventSourceCreated", "(System.EventHandler)", "", "Argument[this]", "Argument[0].Parameter[0]", "value", "dfc-generated"] - ["System.Diagnostics.Tracing", "EventSource", False, "EventSource", "(System.Diagnostics.Tracing.EventSourceSettings,System.String[])", "", "Argument[1]", "Argument[this].SyntheticField[System.Diagnostics.Tracing.EventSource.m_traits]", "value", "dfc-generated"] - ["System.Diagnostics.Tracing", "EventSource", False, "GenerateManifest", "(System.Type,System.String)", "", "Argument[1]", "ReturnValue", "taint", "df-generated"] - ["System.Diagnostics.Tracing", "EventSource", False, "GenerateManifest", "(System.Type,System.String,System.Diagnostics.Tracing.EventManifestOptions)", "", "Argument[1]", "ReturnValue", "taint", "df-generated"] @@ -20,6 +21,7 @@ extensions: - ["System.Diagnostics.Tracing", "EventSource", False, "Write", "(System.String,System.Diagnostics.Tracing.EventSourceOptions,System.Guid,System.Guid,T)", "", "Argument[4]", "ReturnValue", "value", "dfc-generated"] - ["System.Diagnostics.Tracing", "EventSource", False, "Write", "(System.String,System.Diagnostics.Tracing.EventSourceOptions,T)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] - ["System.Diagnostics.Tracing", "EventSource", False, "Write", "(System.String,System.Diagnostics.Tracing.EventSourceOptions,T)", "", "Argument[2]", "ReturnValue", "value", "dfc-generated"] + - ["System.Diagnostics.Tracing", "EventSource", False, "add_EventCommandExecuted", "(System.EventHandler)", "", "Argument[this]", "Argument[0].Parameter[0]", "value", "dfc-generated"] - ["System.Diagnostics.Tracing", "EventSource", False, "get_ConstructionException", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["System.Diagnostics.Tracing", "EventSource", False, "get_Guid", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["System.Diagnostics.Tracing", "EventSource", False, "get_Name", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] @@ -45,6 +47,9 @@ extensions: - ["System.Diagnostics.Tracing", "EventListener", "EventSourceIndex", "(System.Diagnostics.Tracing.EventSource)", "summary", "df-generated"] - ["System.Diagnostics.Tracing", "EventListener", "OnEventSourceCreated", "(System.Diagnostics.Tracing.EventSource)", "summary", "df-generated"] - ["System.Diagnostics.Tracing", "EventListener", "OnEventWritten", "(System.Diagnostics.Tracing.EventWrittenEventArgs)", "summary", "df-generated"] + - ["System.Diagnostics.Tracing", "EventListener", "add_EventWritten", "(System.EventHandler)", "summary", "df-generated"] + - ["System.Diagnostics.Tracing", "EventListener", "remove_EventSourceCreated", "(System.EventHandler)", "summary", "df-generated"] + - ["System.Diagnostics.Tracing", "EventListener", "remove_EventWritten", "(System.EventHandler)", "summary", "df-generated"] - ["System.Diagnostics.Tracing", "EventSource", "Dispose", "()", "summary", "df-generated"] - ["System.Diagnostics.Tracing", "EventSource", "Dispose", "(System.Boolean)", "summary", "df-generated"] - ["System.Diagnostics.Tracing", "EventSource", "EventSource", "(System.Boolean)", "summary", "df-generated"] @@ -90,6 +95,7 @@ extensions: - ["System.Diagnostics.Tracing", "EventSource", "WriteEventWithRelatedActivityIdCore", "(System.Int32,System.Guid*,System.Int32,System.Diagnostics.Tracing.EventSource+EventData*)", "summary", "df-generated"] - ["System.Diagnostics.Tracing", "EventSource", "get_CurrentThreadActivityId", "()", "summary", "df-generated"] - ["System.Diagnostics.Tracing", "EventSource", "get_Settings", "()", "summary", "df-generated"] + - ["System.Diagnostics.Tracing", "EventSource", "remove_EventCommandExecuted", "(System.EventHandler)", "summary", "df-generated"] - ["System.Diagnostics.Tracing", "EventSourceException", "EventSourceException", "(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)", "summary", "df-generated"] - ["System.Diagnostics.Tracing", "EventSourceException", "EventSourceException", "(System.String)", "summary", "df-generated"] - ["System.Diagnostics.Tracing", "EventSourceException", "EventSourceException", "(System.String,System.Exception)", "summary", "df-generated"] @@ -99,3 +105,5 @@ extensions: - ["System.Diagnostics.Tracing", "EventWrittenEventArgs", "get_Version", "()", "summary", "df-generated"] - ["System.Diagnostics.Tracing", "IncrementingEventCounter", "Increment", "(System.Double)", "summary", "df-generated"] - ["System.Diagnostics.Tracing", "IncrementingEventCounter", "IncrementingEventCounter", "(System.String,System.Diagnostics.Tracing.EventSource)", "summary", "df-generated"] + - ["System.Diagnostics.Tracing", "IncrementingPollingCounter", "IncrementingPollingCounter", "(System.String,System.Diagnostics.Tracing.EventSource,System.Func)", "summary", "df-generated"] + - ["System.Diagnostics.Tracing", "PollingCounter", "PollingCounter", "(System.String,System.Diagnostics.Tracing.EventSource,System.Func)", "summary", "df-generated"] diff --git a/csharp/ql/lib/ext/generated/System.Diagnostics.model.yml b/csharp/ql/lib/ext/generated/System.Diagnostics.model.yml index c4d16e069888..88a83e4f3b69 100644 --- a/csharp/ql/lib/ext/generated/System.Diagnostics.model.yml +++ b/csharp/ql/lib/ext/generated/System.Diagnostics.model.yml @@ -67,6 +67,9 @@ extensions: - ["System.Diagnostics", "DiagnosticListener", True, "Subscribe", "(System.IObserver>)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["System.Diagnostics", "DiagnosticSource", False, "StartActivity", "(System.Diagnostics.Activity,System.Object)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["System.Diagnostics", "DiagnosticSource", False, "StartActivity", "(System.Diagnostics.Activity,T)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["System.Diagnostics", "DistributedContextPropagator", True, "ExtractBaggage", "(System.Object,System.Diagnostics.DistributedContextPropagator+PropagatorGetterCallback)", "", "Argument[0]", "Argument[1].Parameter[0]", "value", "dfc-generated"] + - ["System.Diagnostics", "DistributedContextPropagator", True, "ExtractTraceIdAndState", "(System.Object,System.Diagnostics.DistributedContextPropagator+PropagatorGetterCallback,System.String,System.String)", "", "Argument[0]", "Argument[1].Parameter[0]", "value", "dfc-generated"] + - ["System.Diagnostics", "DistributedContextPropagator", True, "Inject", "(System.Diagnostics.Activity,System.Object,System.Diagnostics.DistributedContextPropagator+PropagatorSetterCallback)", "", "Argument[1]", "Argument[2].Parameter[0]", "value", "dfc-generated"] - ["System.Diagnostics", "FileVersionInfo", False, "GetVersionInfo", "(System.String)", "", "Argument[0]", "ReturnValue.SyntheticField[System.Diagnostics.FileVersionInfo._fileName]", "value", "dfc-generated"] - ["System.Diagnostics", "FileVersionInfo", False, "ToString", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["System.Diagnostics", "FileVersionInfo", False, "get_Comments", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] @@ -160,12 +163,14 @@ extensions: - ["System.Diagnostics", "Activity", "GetTagItem", "(System.String)", "summary", "df-generated"] - ["System.Diagnostics", "Activity", "SetCustomProperty", "(System.String,System.Object)", "summary", "df-generated"] - ["System.Diagnostics", "Activity", "Stop", "()", "summary", "df-generated"] + - ["System.Diagnostics", "Activity", "add_CurrentChanged", "(System.EventHandler)", "summary", "df-generated"] - ["System.Diagnostics", "Activity", "get_Baggage", "()", "summary", "df-generated"] - ["System.Diagnostics", "Activity", "get_Context", "()", "summary", "df-generated"] - ["System.Diagnostics", "Activity", "get_OperationName", "()", "summary", "df-generated"] - ["System.Diagnostics", "Activity", "get_Recorded", "()", "summary", "df-generated"] - ["System.Diagnostics", "Activity", "get_Status", "()", "summary", "df-generated"] - ["System.Diagnostics", "Activity", "get_Tags", "()", "summary", "df-generated"] + - ["System.Diagnostics", "Activity", "remove_CurrentChanged", "(System.EventHandler)", "summary", "df-generated"] - ["System.Diagnostics", "ActivityContext", "ActivityContext", "(System.Diagnostics.ActivityTraceId,System.Diagnostics.ActivitySpanId,System.Diagnostics.ActivityTraceFlags,System.String,System.Boolean)", "summary", "df-generated"] - ["System.Diagnostics", "ActivityContext", "Equals", "(System.Diagnostics.ActivityContext)", "summary", "df-generated"] - ["System.Diagnostics", "ActivityContext", "Equals", "(System.Object)", "summary", "df-generated"] @@ -380,6 +385,9 @@ extensions: - ["System.Diagnostics", "DiagnosticListener", "IsEnabled", "(System.String,System.Object,System.Object)", "summary", "df-generated"] - ["System.Diagnostics", "DiagnosticListener", "OnActivityExport", "(System.Diagnostics.Activity,System.Object)", "summary", "df-generated"] - ["System.Diagnostics", "DiagnosticListener", "OnActivityImport", "(System.Diagnostics.Activity,System.Object)", "summary", "df-generated"] + - ["System.Diagnostics", "DiagnosticListener", "Subscribe", "(System.IObserver>,System.Func)", "summary", "df-generated"] + - ["System.Diagnostics", "DiagnosticListener", "Subscribe", "(System.IObserver>,System.Func,System.Action,System.Action)", "summary", "df-generated"] + - ["System.Diagnostics", "DiagnosticListener", "Subscribe", "(System.IObserver>,System.Predicate)", "summary", "df-generated"] - ["System.Diagnostics", "DiagnosticListener", "Write", "(System.String,System.Object)", "summary", "df-generated"] - ["System.Diagnostics", "DiagnosticListener", "get_AllListeners", "()", "summary", "df-generated"] - ["System.Diagnostics", "DiagnosticSource", "IsEnabled", "(System.String)", "summary", "df-generated"] @@ -436,10 +444,12 @@ extensions: - ["System.Diagnostics", "EventLog", "WriteEvent", "(System.Diagnostics.EventInstance,System.Object[])", "summary", "df-generated"] - ["System.Diagnostics", "EventLog", "WriteEvent", "(System.String,System.Diagnostics.EventInstance,System.Byte[],System.Object[])", "summary", "df-generated"] - ["System.Diagnostics", "EventLog", "WriteEvent", "(System.String,System.Diagnostics.EventInstance,System.Object[])", "summary", "df-generated"] + - ["System.Diagnostics", "EventLog", "add_EntryWritten", "(System.Diagnostics.EntryWrittenEventHandler)", "summary", "df-generated"] - ["System.Diagnostics", "EventLog", "get_Entries", "()", "summary", "df-generated"] - ["System.Diagnostics", "EventLog", "get_LogDisplayName", "()", "summary", "df-generated"] - ["System.Diagnostics", "EventLog", "get_MinimumRetentionDays", "()", "summary", "df-generated"] - ["System.Diagnostics", "EventLog", "get_OverflowAction", "()", "summary", "df-generated"] + - ["System.Diagnostics", "EventLog", "remove_EntryWritten", "(System.Diagnostics.EntryWrittenEventHandler)", "summary", "df-generated"] - ["System.Diagnostics", "EventLogEntry", "Equals", "(System.Diagnostics.EventLogEntry)", "summary", "df-generated"] - ["System.Diagnostics", "EventLogEntry", "get_Category", "()", "summary", "df-generated"] - ["System.Diagnostics", "EventLogEntry", "get_CategoryNumber", "()", "summary", "df-generated"] @@ -620,6 +630,9 @@ extensions: - ["System.Diagnostics", "Process", "WaitForInputIdle", "()", "summary", "df-generated"] - ["System.Diagnostics", "Process", "WaitForInputIdle", "(System.Int32)", "summary", "df-generated"] - ["System.Diagnostics", "Process", "WaitForInputIdle", "(System.TimeSpan)", "summary", "df-generated"] + - ["System.Diagnostics", "Process", "add_ErrorDataReceived", "(System.Diagnostics.DataReceivedEventHandler)", "summary", "df-generated"] + - ["System.Diagnostics", "Process", "add_Exited", "(System.EventHandler)", "summary", "df-generated"] + - ["System.Diagnostics", "Process", "add_OutputDataReceived", "(System.Diagnostics.DataReceivedEventHandler)", "summary", "df-generated"] - ["System.Diagnostics", "Process", "get_BasePriority", "()", "summary", "df-generated"] - ["System.Diagnostics", "Process", "get_ExitCode", "()", "summary", "df-generated"] - ["System.Diagnostics", "Process", "get_ExitTime", "()", "summary", "df-generated"] @@ -653,6 +666,9 @@ extensions: - ["System.Diagnostics", "Process", "get_VirtualMemorySize", "()", "summary", "df-generated"] - ["System.Diagnostics", "Process", "get_WorkingSet64", "()", "summary", "df-generated"] - ["System.Diagnostics", "Process", "get_WorkingSet", "()", "summary", "df-generated"] + - ["System.Diagnostics", "Process", "remove_ErrorDataReceived", "(System.Diagnostics.DataReceivedEventHandler)", "summary", "df-generated"] + - ["System.Diagnostics", "Process", "remove_Exited", "(System.EventHandler)", "summary", "df-generated"] + - ["System.Diagnostics", "Process", "remove_OutputDataReceived", "(System.Diagnostics.DataReceivedEventHandler)", "summary", "df-generated"] - ["System.Diagnostics", "ProcessModule", "get_FileVersionInfo", "()", "summary", "df-generated"] - ["System.Diagnostics", "ProcessModuleCollection", "Contains", "(System.Diagnostics.ProcessModule)", "summary", "df-generated"] - ["System.Diagnostics", "ProcessModuleCollection", "IndexOf", "(System.Diagnostics.ProcessModule)", "summary", "df-generated"] @@ -720,7 +736,9 @@ extensions: - ["System.Diagnostics", "Switch", "OnValueChanged", "()", "summary", "df-generated"] - ["System.Diagnostics", "Switch", "Refresh", "()", "summary", "df-generated"] - ["System.Diagnostics", "Switch", "Switch", "(System.String,System.String)", "summary", "df-generated"] + - ["System.Diagnostics", "Switch", "add_Initializing", "(System.EventHandler)", "summary", "df-generated"] - ["System.Diagnostics", "Switch", "get_Attributes", "()", "summary", "df-generated"] + - ["System.Diagnostics", "Switch", "remove_Initializing", "(System.EventHandler)", "summary", "df-generated"] - ["System.Diagnostics", "SwitchAttribute", "GetAll", "(System.Reflection.Assembly)", "summary", "df-generated"] - ["System.Diagnostics", "SwitchLevelAttribute", "SwitchLevelAttribute", "(System.Type)", "summary", "df-generated"] - ["System.Diagnostics", "TagList+Enumerator", "Dispose", "()", "summary", "df-generated"] @@ -773,8 +791,10 @@ extensions: - ["System.Diagnostics", "Trace", "WriteLineIf", "(System.Boolean,System.Object,System.String)", "summary", "df-generated"] - ["System.Diagnostics", "Trace", "WriteLineIf", "(System.Boolean,System.String)", "summary", "df-generated"] - ["System.Diagnostics", "Trace", "WriteLineIf", "(System.Boolean,System.String,System.String)", "summary", "df-generated"] + - ["System.Diagnostics", "Trace", "add_Refreshing", "(System.EventHandler)", "summary", "df-generated"] - ["System.Diagnostics", "Trace", "get_CorrelationManager", "()", "summary", "df-generated"] - ["System.Diagnostics", "Trace", "get_Listeners", "()", "summary", "df-generated"] + - ["System.Diagnostics", "Trace", "remove_Refreshing", "(System.EventHandler)", "summary", "df-generated"] - ["System.Diagnostics", "TraceConfiguration", "Register", "()", "summary", "df-generated"] - ["System.Diagnostics", "TraceEventCache", "get_Callstack", "()", "summary", "df-generated"] - ["System.Diagnostics", "TraceEventCache", "get_DateTime", "()", "summary", "df-generated"] @@ -826,8 +846,10 @@ extensions: - ["System.Diagnostics", "TraceSource", "TraceInformation", "(System.String,System.Object[])", "summary", "df-generated"] - ["System.Diagnostics", "TraceSource", "TraceSource", "(System.String)", "summary", "df-generated"] - ["System.Diagnostics", "TraceSource", "TraceTransfer", "(System.Int32,System.String,System.Guid)", "summary", "df-generated"] + - ["System.Diagnostics", "TraceSource", "add_Initializing", "(System.EventHandler)", "summary", "df-generated"] - ["System.Diagnostics", "TraceSource", "get_Attributes", "()", "summary", "df-generated"] - ["System.Diagnostics", "TraceSource", "get_DefaultLevel", "()", "summary", "df-generated"] + - ["System.Diagnostics", "TraceSource", "remove_Initializing", "(System.EventHandler)", "summary", "df-generated"] - ["System.Diagnostics", "TraceSwitch", "OnSwitchSettingChanged", "()", "summary", "df-generated"] - ["System.Diagnostics", "TraceSwitch", "OnValueChanged", "()", "summary", "df-generated"] - ["System.Diagnostics", "TraceSwitch", "TraceSwitch", "(System.String,System.String)", "summary", "df-generated"] diff --git a/csharp/ql/lib/ext/generated/System.DirectoryServices.Protocols.model.yml b/csharp/ql/lib/ext/generated/System.DirectoryServices.Protocols.model.yml index 17f872e7567d..4f8b1bd08eec 100644 --- a/csharp/ql/lib/ext/generated/System.DirectoryServices.Protocols.model.yml +++ b/csharp/ql/lib/ext/generated/System.DirectoryServices.Protocols.model.yml @@ -46,6 +46,7 @@ extensions: - ["System.DirectoryServices.Protocols", "DirectoryControlCollection", False, "set_Item", "(System.Int32,System.DirectoryServices.Protocols.DirectoryControl)", "", "Argument[1]", "Argument[this].Property[System.Collections.CollectionBase.List].Element", "value", "dfc-generated"] - ["System.DirectoryServices.Protocols", "DirectoryResponse", True, "get_Referral", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["System.DirectoryServices.Protocols", "ExtendedRequest", False, "ExtendedRequest", "(System.String,System.Byte[])", "", "Argument[1].Element", "Argument[this]", "taint", "df-generated"] + - ["System.DirectoryServices.Protocols", "LdapConnection", False, "BeginSendRequest", "(System.DirectoryServices.Protocols.DirectoryRequest,System.TimeSpan,System.DirectoryServices.Protocols.PartialResultProcessing,System.AsyncCallback,System.Object)", "", "Argument[4]", "ReturnValue.SyntheticField[System.DirectoryServices.Protocols.LdapAsyncResult._stateObject]", "value", "dfc-generated"] - ["System.DirectoryServices.Protocols", "LdapConnection", False, "EndSendRequest", "(System.IAsyncResult)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["System.DirectoryServices.Protocols", "LdapConnection", False, "GetPartialResults", "(System.IAsyncResult)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["System.DirectoryServices.Protocols", "LdapConnection", False, "LdapConnection", "(System.DirectoryServices.Protocols.LdapDirectoryIdentifier,System.Net.NetworkCredential,System.DirectoryServices.Protocols.AuthType)", "", "Argument[0]", "Argument[this].SyntheticField[System.DirectoryServices.Protocols.DirectoryConnection._directoryIdentifier]", "value", "dfc-generated"] @@ -138,6 +139,7 @@ extensions: - ["System.DirectoryServices.Protocols", "ExtendedDNControl", "GetValue", "()", "summary", "df-generated"] - ["System.DirectoryServices.Protocols", "ExtendedRequest", "ExtendedRequest", "(System.String)", "summary", "df-generated"] - ["System.DirectoryServices.Protocols", "LdapConnection", "Abort", "(System.IAsyncResult)", "summary", "df-generated"] + - ["System.DirectoryServices.Protocols", "LdapConnection", "BeginSendRequest", "(System.DirectoryServices.Protocols.DirectoryRequest,System.DirectoryServices.Protocols.PartialResultProcessing,System.AsyncCallback,System.Object)", "summary", "df-generated"] - ["System.DirectoryServices.Protocols", "LdapConnection", "Bind", "()", "summary", "df-generated"] - ["System.DirectoryServices.Protocols", "LdapConnection", "Bind", "(System.Net.NetworkCredential)", "summary", "df-generated"] - ["System.DirectoryServices.Protocols", "LdapConnection", "Dispose", "()", "summary", "df-generated"] diff --git a/csharp/ql/lib/ext/generated/System.Dynamic.model.yml b/csharp/ql/lib/ext/generated/System.Dynamic.model.yml index acd5b23611bd..f12000d073a5 100644 --- a/csharp/ql/lib/ext/generated/System.Dynamic.model.yml +++ b/csharp/ql/lib/ext/generated/System.Dynamic.model.yml @@ -109,8 +109,10 @@ extensions: - ["System.Dynamic", "ExpandoObject", "GetMetaObject", "(System.Linq.Expressions.Expression)", "summary", "df-generated"] - ["System.Dynamic", "ExpandoObject", "Remove", "(System.Collections.Generic.KeyValuePair)", "summary", "df-generated"] - ["System.Dynamic", "ExpandoObject", "Remove", "(System.String)", "summary", "df-generated"] + - ["System.Dynamic", "ExpandoObject", "add_PropertyChanged", "(System.ComponentModel.PropertyChangedEventHandler)", "summary", "df-generated"] - ["System.Dynamic", "ExpandoObject", "get_Count", "()", "summary", "df-generated"] - ["System.Dynamic", "ExpandoObject", "get_IsReadOnly", "()", "summary", "df-generated"] + - ["System.Dynamic", "ExpandoObject", "remove_PropertyChanged", "(System.ComponentModel.PropertyChangedEventHandler)", "summary", "df-generated"] - ["System.Dynamic", "GetIndexBinder", "Bind", "(System.Dynamic.DynamicMetaObject,System.Dynamic.DynamicMetaObject[])", "summary", "df-generated"] - ["System.Dynamic", "GetIndexBinder", "FallbackGetIndex", "(System.Dynamic.DynamicMetaObject,System.Dynamic.DynamicMetaObject[])", "summary", "df-generated"] - ["System.Dynamic", "GetIndexBinder", "GetIndexBinder", "(System.Dynamic.CallInfo)", "summary", "df-generated"] diff --git a/csharp/ql/lib/ext/generated/System.IO.Enumeration.model.yml b/csharp/ql/lib/ext/generated/System.IO.Enumeration.model.yml index d9538cfadb0e..d61db4da1900 100644 --- a/csharp/ql/lib/ext/generated/System.IO.Enumeration.model.yml +++ b/csharp/ql/lib/ext/generated/System.IO.Enumeration.model.yml @@ -24,6 +24,7 @@ extensions: - ["System.IO.Enumeration", "FileSystemEntry", "get_LastAccessTimeUtc", "()", "summary", "df-generated"] - ["System.IO.Enumeration", "FileSystemEntry", "get_LastWriteTimeUtc", "()", "summary", "df-generated"] - ["System.IO.Enumeration", "FileSystemEntry", "get_Length", "()", "summary", "df-generated"] + - ["System.IO.Enumeration", "FileSystemEnumerable", "FileSystemEnumerable", "(System.String,System.IO.Enumeration.FileSystemEnumerable+FindTransform,System.IO.EnumerationOptions)", "summary", "df-generated"] - ["System.IO.Enumeration", "FileSystemEnumerator", "ContinueOnError", "(System.Int32)", "summary", "df-generated"] - ["System.IO.Enumeration", "FileSystemEnumerator", "Dispose", "()", "summary", "df-generated"] - ["System.IO.Enumeration", "FileSystemEnumerator", "Dispose", "(System.Boolean)", "summary", "df-generated"] diff --git a/csharp/ql/lib/ext/generated/System.IO.Pipelines.model.yml b/csharp/ql/lib/ext/generated/System.IO.Pipelines.model.yml index 1579588723bb..f2069362d719 100644 --- a/csharp/ql/lib/ext/generated/System.IO.Pipelines.model.yml +++ b/csharp/ql/lib/ext/generated/System.IO.Pipelines.model.yml @@ -12,6 +12,7 @@ extensions: - ["System.IO.Pipelines", "PipeReader", False, "Create", "(System.IO.Stream,System.IO.Pipelines.StreamPipeReaderOptions)", "", "Argument[1]", "ReturnValue", "taint", "df-generated"] - ["System.IO.Pipelines", "PipeReader", True, "AsStream", "(System.Boolean)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["System.IO.Pipelines", "PipeReader", True, "CopyToAsync", "(System.IO.Stream,System.Threading.CancellationToken)", "", "Argument[this]", "Argument[0]", "taint", "df-generated"] + - ["System.IO.Pipelines", "PipeScheduler", True, "Schedule", "(System.Action,System.Object)", "", "Argument[1]", "Argument[0].Parameter[0]", "value", "dfc-generated"] - ["System.IO.Pipelines", "PipeWriter", False, "Create", "(System.IO.Stream,System.IO.Pipelines.StreamPipeWriterOptions)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["System.IO.Pipelines", "PipeWriter", False, "Create", "(System.IO.Stream,System.IO.Pipelines.StreamPipeWriterOptions)", "", "Argument[1]", "ReturnValue", "taint", "df-generated"] - ["System.IO.Pipelines", "PipeWriter", True, "AsStream", "(System.Boolean)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] @@ -44,6 +45,7 @@ extensions: - ["System.IO.Pipelines", "PipeReader", "Complete", "(System.Exception)", "summary", "df-generated"] - ["System.IO.Pipelines", "PipeReader", "CompleteAsync", "(System.Exception)", "summary", "df-generated"] - ["System.IO.Pipelines", "PipeReader", "CopyToAsync", "(System.IO.Pipelines.PipeWriter,System.Threading.CancellationToken)", "summary", "df-generated"] + - ["System.IO.Pipelines", "PipeReader", "OnWriterCompleted", "(System.Action,System.Object)", "summary", "df-generated"] - ["System.IO.Pipelines", "PipeReader", "ReadAsync", "(System.Threading.CancellationToken)", "summary", "df-generated"] - ["System.IO.Pipelines", "PipeReader", "ReadAtLeastAsync", "(System.Int32,System.Threading.CancellationToken)", "summary", "df-generated"] - ["System.IO.Pipelines", "PipeReader", "ReadAtLeastAsyncCore", "(System.Int32,System.Threading.CancellationToken)", "summary", "df-generated"] @@ -56,6 +58,7 @@ extensions: - ["System.IO.Pipelines", "PipeWriter", "CompleteAsync", "(System.Exception)", "summary", "df-generated"] - ["System.IO.Pipelines", "PipeWriter", "CopyFromAsync", "(System.IO.Stream,System.Threading.CancellationToken)", "summary", "df-generated"] - ["System.IO.Pipelines", "PipeWriter", "FlushAsync", "(System.Threading.CancellationToken)", "summary", "df-generated"] + - ["System.IO.Pipelines", "PipeWriter", "OnReaderCompleted", "(System.Action,System.Object)", "summary", "df-generated"] - ["System.IO.Pipelines", "PipeWriter", "WriteAsync", "(System.ReadOnlyMemory,System.Threading.CancellationToken)", "summary", "df-generated"] - ["System.IO.Pipelines", "PipeWriter", "get_CanGetUnflushedBytes", "()", "summary", "df-generated"] - ["System.IO.Pipelines", "PipeWriter", "get_UnflushedBytes", "()", "summary", "df-generated"] diff --git a/csharp/ql/lib/ext/generated/System.IO.Pipes.model.yml b/csharp/ql/lib/ext/generated/System.IO.Pipes.model.yml index 6566798151be..dde109e45798 100644 --- a/csharp/ql/lib/ext/generated/System.IO.Pipes.model.yml +++ b/csharp/ql/lib/ext/generated/System.IO.Pipes.model.yml @@ -44,6 +44,7 @@ extensions: - ["System.IO.Pipes", "NamedPipeClientStream", "get_InBufferSize", "()", "summary", "df-generated"] - ["System.IO.Pipes", "NamedPipeClientStream", "get_NumberOfServerInstances", "()", "summary", "df-generated"] - ["System.IO.Pipes", "NamedPipeClientStream", "get_OutBufferSize", "()", "summary", "df-generated"] + - ["System.IO.Pipes", "NamedPipeServerStream", "BeginWaitForConnection", "(System.AsyncCallback,System.Object)", "summary", "df-generated"] - ["System.IO.Pipes", "NamedPipeServerStream", "Disconnect", "()", "summary", "df-generated"] - ["System.IO.Pipes", "NamedPipeServerStream", "EndWaitForConnection", "(System.IAsyncResult)", "summary", "df-generated"] - ["System.IO.Pipes", "NamedPipeServerStream", "GetImpersonationUserName", "()", "summary", "df-generated"] @@ -53,6 +54,7 @@ extensions: - ["System.IO.Pipes", "NamedPipeServerStream", "NamedPipeServerStream", "(System.String,System.IO.Pipes.PipeDirection,System.Int32,System.IO.Pipes.PipeTransmissionMode)", "summary", "df-generated"] - ["System.IO.Pipes", "NamedPipeServerStream", "NamedPipeServerStream", "(System.String,System.IO.Pipes.PipeDirection,System.Int32,System.IO.Pipes.PipeTransmissionMode,System.IO.Pipes.PipeOptions)", "summary", "df-generated"] - ["System.IO.Pipes", "NamedPipeServerStream", "NamedPipeServerStream", "(System.String,System.IO.Pipes.PipeDirection,System.Int32,System.IO.Pipes.PipeTransmissionMode,System.IO.Pipes.PipeOptions,System.Int32,System.Int32)", "summary", "df-generated"] + - ["System.IO.Pipes", "NamedPipeServerStream", "RunAsClient", "(System.IO.Pipes.PipeStreamImpersonationWorker)", "summary", "df-generated"] - ["System.IO.Pipes", "NamedPipeServerStream", "WaitForConnection", "()", "summary", "df-generated"] - ["System.IO.Pipes", "NamedPipeServerStream", "WaitForConnectionAsync", "()", "summary", "df-generated"] - ["System.IO.Pipes", "NamedPipeServerStream", "WaitForConnectionAsync", "(System.Threading.CancellationToken)", "summary", "df-generated"] diff --git a/csharp/ql/lib/ext/generated/System.IO.Ports.model.yml b/csharp/ql/lib/ext/generated/System.IO.Ports.model.yml index b872d9fe6d65..de8de9cd5448 100644 --- a/csharp/ql/lib/ext/generated/System.IO.Ports.model.yml +++ b/csharp/ql/lib/ext/generated/System.IO.Ports.model.yml @@ -32,9 +32,15 @@ extensions: - ["System.IO.Ports", "SerialPort", "SerialPort", "(System.String,System.Int32)", "summary", "df-generated"] - ["System.IO.Ports", "SerialPort", "SerialPort", "(System.String,System.Int32,System.IO.Ports.Parity)", "summary", "df-generated"] - ["System.IO.Ports", "SerialPort", "SerialPort", "(System.String,System.Int32,System.IO.Ports.Parity,System.Int32)", "summary", "df-generated"] + - ["System.IO.Ports", "SerialPort", "add_DataReceived", "(System.IO.Ports.SerialDataReceivedEventHandler)", "summary", "df-generated"] + - ["System.IO.Ports", "SerialPort", "add_ErrorReceived", "(System.IO.Ports.SerialErrorReceivedEventHandler)", "summary", "df-generated"] + - ["System.IO.Ports", "SerialPort", "add_PinChanged", "(System.IO.Ports.SerialPinChangedEventHandler)", "summary", "df-generated"] - ["System.IO.Ports", "SerialPort", "get_BytesToRead", "()", "summary", "df-generated"] - ["System.IO.Ports", "SerialPort", "get_BytesToWrite", "()", "summary", "df-generated"] - ["System.IO.Ports", "SerialPort", "get_CDHolding", "()", "summary", "df-generated"] - ["System.IO.Ports", "SerialPort", "get_CtsHolding", "()", "summary", "df-generated"] - ["System.IO.Ports", "SerialPort", "get_DsrHolding", "()", "summary", "df-generated"] - ["System.IO.Ports", "SerialPort", "get_IsOpen", "()", "summary", "df-generated"] + - ["System.IO.Ports", "SerialPort", "remove_DataReceived", "(System.IO.Ports.SerialDataReceivedEventHandler)", "summary", "df-generated"] + - ["System.IO.Ports", "SerialPort", "remove_ErrorReceived", "(System.IO.Ports.SerialErrorReceivedEventHandler)", "summary", "df-generated"] + - ["System.IO.Ports", "SerialPort", "remove_PinChanged", "(System.IO.Ports.SerialPinChangedEventHandler)", "summary", "df-generated"] diff --git a/csharp/ql/lib/ext/generated/System.IO.model.yml b/csharp/ql/lib/ext/generated/System.IO.model.yml index 03349fbdd998..7af940d53827 100644 --- a/csharp/ql/lib/ext/generated/System.IO.model.yml +++ b/csharp/ql/lib/ext/generated/System.IO.model.yml @@ -123,6 +123,9 @@ extensions: - ["System.IO", "FileSystemWatcher", False, "FileSystemWatcher", "(System.String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - ["System.IO", "FileSystemWatcher", False, "FileSystemWatcher", "(System.String,System.String)", "", "Argument[1]", "Argument[this].Property[System.IO.FileSystemWatcher.Filters].Element", "value", "dfc-generated"] - ["System.IO", "FileSystemWatcher", False, "FileSystemWatcher", "(System.String,System.String)", "", "Argument[1]", "Argument[this].SyntheticField[System.IO.FileSystemWatcher._filters].Element", "value", "dfc-generated"] + - ["System.IO", "FileSystemWatcher", False, "OnChanged", "(System.IO.FileSystemEventArgs)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["System.IO", "FileSystemWatcher", False, "OnCreated", "(System.IO.FileSystemEventArgs)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["System.IO", "FileSystemWatcher", False, "OnDeleted", "(System.IO.FileSystemEventArgs)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - ["System.IO", "FileSystemWatcher", False, "get_Filters", "()", "", "Argument[this].SyntheticField[System.IO.FileSystemWatcher._filters]", "ReturnValue", "value", "dfc-generated"] - ["System.IO", "MemoryStream", True, "GetBuffer", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["System.IO", "MemoryStream", True, "TryGetBuffer", "(System.ArraySegment)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] @@ -556,14 +559,21 @@ extensions: - ["System.IO", "FileSystemWatcher", "BeginInit", "()", "summary", "df-generated"] - ["System.IO", "FileSystemWatcher", "Dispose", "(System.Boolean)", "summary", "df-generated"] - ["System.IO", "FileSystemWatcher", "EndInit", "()", "summary", "df-generated"] - - ["System.IO", "FileSystemWatcher", "OnChanged", "(System.IO.FileSystemEventArgs)", "summary", "df-generated"] - - ["System.IO", "FileSystemWatcher", "OnCreated", "(System.IO.FileSystemEventArgs)", "summary", "df-generated"] - - ["System.IO", "FileSystemWatcher", "OnDeleted", "(System.IO.FileSystemEventArgs)", "summary", "df-generated"] - ["System.IO", "FileSystemWatcher", "OnError", "(System.IO.ErrorEventArgs)", "summary", "df-generated"] - ["System.IO", "FileSystemWatcher", "OnRenamed", "(System.IO.RenamedEventArgs)", "summary", "df-generated"] - ["System.IO", "FileSystemWatcher", "WaitForChanged", "(System.IO.WatcherChangeTypes)", "summary", "df-generated"] - ["System.IO", "FileSystemWatcher", "WaitForChanged", "(System.IO.WatcherChangeTypes,System.Int32)", "summary", "df-generated"] - ["System.IO", "FileSystemWatcher", "WaitForChanged", "(System.IO.WatcherChangeTypes,System.TimeSpan)", "summary", "df-generated"] + - ["System.IO", "FileSystemWatcher", "add_Changed", "(System.IO.FileSystemEventHandler)", "summary", "df-generated"] + - ["System.IO", "FileSystemWatcher", "add_Created", "(System.IO.FileSystemEventHandler)", "summary", "df-generated"] + - ["System.IO", "FileSystemWatcher", "add_Deleted", "(System.IO.FileSystemEventHandler)", "summary", "df-generated"] + - ["System.IO", "FileSystemWatcher", "add_Error", "(System.IO.ErrorEventHandler)", "summary", "df-generated"] + - ["System.IO", "FileSystemWatcher", "add_Renamed", "(System.IO.RenamedEventHandler)", "summary", "df-generated"] + - ["System.IO", "FileSystemWatcher", "remove_Changed", "(System.IO.FileSystemEventHandler)", "summary", "df-generated"] + - ["System.IO", "FileSystemWatcher", "remove_Created", "(System.IO.FileSystemEventHandler)", "summary", "df-generated"] + - ["System.IO", "FileSystemWatcher", "remove_Deleted", "(System.IO.FileSystemEventHandler)", "summary", "df-generated"] + - ["System.IO", "FileSystemWatcher", "remove_Error", "(System.IO.ErrorEventHandler)", "summary", "df-generated"] + - ["System.IO", "FileSystemWatcher", "remove_Renamed", "(System.IO.RenamedEventHandler)", "summary", "df-generated"] - ["System.IO", "IOException", "IOException", "(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)", "summary", "df-generated"] - ["System.IO", "IOException", "IOException", "(System.String)", "summary", "df-generated"] - ["System.IO", "IOException", "IOException", "(System.String,System.Exception)", "summary", "df-generated"] diff --git a/csharp/ql/lib/ext/generated/System.Linq.Expressions.model.yml b/csharp/ql/lib/ext/generated/System.Linq.Expressions.model.yml index b6831ab67461..01ee0e86843b 100644 --- a/csharp/ql/lib/ext/generated/System.Linq.Expressions.model.yml +++ b/csharp/ql/lib/ext/generated/System.Linq.Expressions.model.yml @@ -220,6 +220,8 @@ extensions: - ["System.Linq.Expressions", "Expression", False, "Update", "(System.Linq.Expressions.Expression,System.Collections.Generic.IEnumerable)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["System.Linq.Expressions", "ExpressionVisitor", False, "Visit", "(System.Collections.ObjectModel.ReadOnlyCollection)", "", "Argument[0].Element", "Argument[this]", "taint", "df-generated"] - ["System.Linq.Expressions", "ExpressionVisitor", False, "Visit", "(System.Collections.ObjectModel.ReadOnlyCollection)", "", "Argument[0].Element", "ReturnValue", "taint", "df-generated"] + - ["System.Linq.Expressions", "ExpressionVisitor", False, "Visit", "(System.Collections.ObjectModel.ReadOnlyCollection,System.Func)", "", "Argument[0].Element", "Argument[1].Parameter[0]", "value", "dfc-generated"] + - ["System.Linq.Expressions", "ExpressionVisitor", False, "Visit", "(System.Collections.ObjectModel.ReadOnlyCollection,System.Func)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["System.Linq.Expressions", "ExpressionVisitor", False, "VisitAndConvert", "(System.Collections.ObjectModel.ReadOnlyCollection,System.String)", "", "Argument[0].Element", "Argument[this]", "taint", "df-generated"] - ["System.Linq.Expressions", "ExpressionVisitor", False, "VisitAndConvert", "(System.Collections.ObjectModel.ReadOnlyCollection,System.String)", "", "Argument[0].Element", "ReturnValue", "taint", "df-generated"] - ["System.Linq.Expressions", "ExpressionVisitor", False, "VisitAndConvert", "(T,System.String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] diff --git a/csharp/ql/lib/ext/generated/System.Linq.model.yml b/csharp/ql/lib/ext/generated/System.Linq.model.yml index f34de1978d85..02bb4cf36239 100644 --- a/csharp/ql/lib/ext/generated/System.Linq.model.yml +++ b/csharp/ql/lib/ext/generated/System.Linq.model.yml @@ -4,13 +4,39 @@ extensions: pack: codeql/csharp-all extensible: summaryModel data: + - ["System.Linq", "Enumerable", False, "AggregateBy", "(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,System.Collections.Generic.IEqualityComparer)", "", "Argument[0].Element", "Argument[1].Parameter[0]", "value", "dfc-generated"] + - ["System.Linq", "Enumerable", False, "AggregateBy", "(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,System.Collections.Generic.IEqualityComparer)", "", "Argument[0].Element", "Argument[3].Parameter[1]", "value", "dfc-generated"] + - ["System.Linq", "Enumerable", False, "AggregateBy", "(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,System.Collections.Generic.IEqualityComparer)", "", "Argument[1].ReturnValue", "Argument[2].Parameter[0]", "value", "dfc-generated"] + - ["System.Linq", "Enumerable", False, "AggregateBy", "(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,System.Collections.Generic.IEqualityComparer)", "", "Argument[2].ReturnValue", "Argument[3].Parameter[0]", "value", "dfc-generated"] + - ["System.Linq", "Enumerable", False, "AggregateBy", "(System.Collections.Generic.IEnumerable,System.Func,TAccumulate,System.Func,System.Collections.Generic.IEqualityComparer)", "", "Argument[0].Element", "Argument[1].Parameter[0]", "value", "dfc-generated"] + - ["System.Linq", "Enumerable", False, "AggregateBy", "(System.Collections.Generic.IEnumerable,System.Func,TAccumulate,System.Func,System.Collections.Generic.IEqualityComparer)", "", "Argument[0].Element", "Argument[3].Parameter[1]", "value", "dfc-generated"] + - ["System.Linq", "Enumerable", False, "AggregateBy", "(System.Collections.Generic.IEnumerable,System.Func,TAccumulate,System.Func,System.Collections.Generic.IEqualityComparer)", "", "Argument[2]", "Argument[3].Parameter[0]", "value", "dfc-generated"] - ["System.Linq", "Enumerable", False, "Append", "(System.Collections.Generic.IEnumerable,TSource)", "", "Argument[1]", "ReturnValue", "taint", "df-generated"] - ["System.Linq", "Enumerable", False, "Chunk", "(System.Collections.Generic.IEnumerable,System.Int32)", "", "Argument[0].Element", "ReturnValue.Element.Element", "value", "dfc-generated"] + - ["System.Linq", "Enumerable", False, "Contains", "(System.Collections.Generic.IEnumerable,TSource,System.Collections.Generic.IEqualityComparer)", "", "Argument[0].Element", "Argument[2]", "taint", "df-generated"] + - ["System.Linq", "Enumerable", False, "Contains", "(System.Collections.Generic.IEnumerable,TSource,System.Collections.Generic.IEqualityComparer)", "", "Argument[1]", "Argument[2]", "taint", "df-generated"] + - ["System.Linq", "Enumerable", False, "CountBy", "(System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IEqualityComparer)", "", "Argument[0].Element", "Argument[1].Parameter[0]", "value", "dfc-generated"] + - ["System.Linq", "Enumerable", False, "DistinctBy", "(System.Collections.Generic.IEnumerable,System.Func)", "", "Argument[0].Element", "Argument[1].Parameter[0]", "value", "dfc-generated"] + - ["System.Linq", "Enumerable", False, "DistinctBy", "(System.Collections.Generic.IEnumerable,System.Func)", "", "Argument[0].Element", "ReturnValue.Element", "value", "dfc-generated"] + - ["System.Linq", "Enumerable", False, "DistinctBy", "(System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IEqualityComparer)", "", "Argument[0].Element", "Argument[1].Parameter[0]", "value", "dfc-generated"] + - ["System.Linq", "Enumerable", False, "DistinctBy", "(System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IEqualityComparer)", "", "Argument[0].Element", "ReturnValue.Element", "value", "dfc-generated"] - ["System.Linq", "Enumerable", False, "ElementAt", "(System.Collections.Generic.IEnumerable,System.Index)", "", "Argument[0].Element", "ReturnValue", "value", "dfc-generated"] - ["System.Linq", "Enumerable", False, "ElementAtOrDefault", "(System.Collections.Generic.IEnumerable,System.Index)", "", "Argument[0].Element", "ReturnValue", "value", "dfc-generated"] + - ["System.Linq", "Enumerable", False, "ExceptBy", "(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func)", "", "Argument[0].Element", "Argument[2].Parameter[0]", "value", "dfc-generated"] + - ["System.Linq", "Enumerable", False, "ExceptBy", "(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func)", "", "Argument[0].Element", "ReturnValue.Element", "value", "dfc-generated"] + - ["System.Linq", "Enumerable", False, "ExceptBy", "(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IEqualityComparer)", "", "Argument[0].Element", "Argument[2].Parameter[0]", "value", "dfc-generated"] + - ["System.Linq", "Enumerable", False, "ExceptBy", "(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IEqualityComparer)", "", "Argument[0].Element", "ReturnValue.Element", "value", "dfc-generated"] + - ["System.Linq", "Enumerable", False, "FirstOrDefault", "(System.Collections.Generic.IEnumerable,System.Func,TSource)", "", "Argument[0].Element", "Argument[1].Parameter[0]", "value", "dfc-generated"] + - ["System.Linq", "Enumerable", False, "FirstOrDefault", "(System.Collections.Generic.IEnumerable,System.Func,TSource)", "", "Argument[0].Element", "ReturnValue", "value", "dfc-generated"] + - ["System.Linq", "Enumerable", False, "FirstOrDefault", "(System.Collections.Generic.IEnumerable,System.Func,TSource)", "", "Argument[2]", "ReturnValue", "value", "dfc-generated"] - ["System.Linq", "Enumerable", False, "FirstOrDefault", "(System.Collections.Generic.IEnumerable,TSource)", "", "Argument[0].Element", "ReturnValue", "value", "dfc-generated"] - ["System.Linq", "Enumerable", False, "FirstOrDefault", "(System.Collections.Generic.IEnumerable,TSource)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] - ["System.Linq", "Enumerable", False, "Index", "(System.Collections.Generic.IEnumerable)", "", "Argument[0].Element", "ReturnValue.Element.Field[System.ValueTuple`2.Item2]", "value", "dfc-generated"] + - ["System.Linq", "Enumerable", False, "IntersectBy", "(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func)", "", "Argument[0].Element", "Argument[2].Parameter[0]", "value", "dfc-generated"] + - ["System.Linq", "Enumerable", False, "IntersectBy", "(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func)", "", "Argument[0].Element", "ReturnValue.Element", "value", "dfc-generated"] + - ["System.Linq", "Enumerable", False, "IntersectBy", "(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IEqualityComparer)", "", "Argument[0].Element", "Argument[2].Parameter[0]", "value", "dfc-generated"] + - ["System.Linq", "Enumerable", False, "IntersectBy", "(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IEqualityComparer)", "", "Argument[0].Element", "ReturnValue.Element", "value", "dfc-generated"] + - ["System.Linq", "Enumerable", False, "LastOrDefault", "(System.Collections.Generic.IEnumerable,System.Func,TSource)", "", "Argument[2]", "ReturnValue", "value", "dfc-generated"] - ["System.Linq", "Enumerable", False, "LastOrDefault", "(System.Collections.Generic.IEnumerable,TSource)", "", "Argument[0].Element", "ReturnValue", "value", "dfc-generated"] - ["System.Linq", "Enumerable", False, "LastOrDefault", "(System.Collections.Generic.IEnumerable,TSource)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] - ["System.Linq", "Enumerable", False, "Max", "(System.Collections.Generic.IEnumerable>)", "", "Argument[0].Element", "ReturnValue", "value", "dfc-generated"] @@ -33,6 +59,11 @@ extensions: - ["System.Linq", "Enumerable", False, "OrderDescending", "(System.Collections.Generic.IEnumerable,System.Collections.Generic.IComparer)", "", "Argument[0].Element", "ReturnValue.Element", "value", "dfc-generated"] - ["System.Linq", "Enumerable", False, "Prepend", "(System.Collections.Generic.IEnumerable,TSource)", "", "Argument[1]", "ReturnValue", "taint", "df-generated"] - ["System.Linq", "Enumerable", False, "Repeat", "(TResult,System.Int32)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["System.Linq", "Enumerable", False, "SequenceEqual", "(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer)", "", "Argument[0].Element", "Argument[2]", "taint", "df-generated"] + - ["System.Linq", "Enumerable", False, "SequenceEqual", "(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer)", "", "Argument[1].Element", "Argument[2]", "taint", "df-generated"] + - ["System.Linq", "Enumerable", False, "SingleOrDefault", "(System.Collections.Generic.IEnumerable,System.Func,TSource)", "", "Argument[0].Element", "Argument[1].Parameter[0]", "value", "dfc-generated"] + - ["System.Linq", "Enumerable", False, "SingleOrDefault", "(System.Collections.Generic.IEnumerable,System.Func,TSource)", "", "Argument[0].Element", "ReturnValue", "value", "dfc-generated"] + - ["System.Linq", "Enumerable", False, "SingleOrDefault", "(System.Collections.Generic.IEnumerable,System.Func,TSource)", "", "Argument[2]", "ReturnValue", "value", "dfc-generated"] - ["System.Linq", "Enumerable", False, "SingleOrDefault", "(System.Collections.Generic.IEnumerable,TSource)", "", "Argument[0].Element", "ReturnValue", "value", "dfc-generated"] - ["System.Linq", "Enumerable", False, "SingleOrDefault", "(System.Collections.Generic.IEnumerable,TSource)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] - ["System.Linq", "Enumerable", False, "SkipLast", "(System.Collections.Generic.IEnumerable,System.Int32)", "", "Argument[0].Element", "ReturnValue", "taint", "df-generated"] @@ -48,6 +79,14 @@ extensions: - ["System.Linq", "Enumerable", False, "ToDictionary", "(System.Collections.Generic.IEnumerable>,System.Collections.Generic.IEqualityComparer)", "", "Argument[0].Element.Field[System.ValueTuple`2.Item1]", "ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair`2.Key]", "value", "dfc-generated"] - ["System.Linq", "Enumerable", False, "ToDictionary", "(System.Collections.Generic.IEnumerable>,System.Collections.Generic.IEqualityComparer)", "", "Argument[0].Element.Field[System.ValueTuple`2.Item2]", "ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair`2.Value]", "value", "dfc-generated"] - ["System.Linq", "Enumerable", False, "ToDictionary", "(System.Collections.Generic.IEnumerable>,System.Collections.Generic.IEqualityComparer)", "", "Argument[0].Element.Field[System.ValueTuple`2.Item2]", "ReturnValue.Element", "value", "dfc-generated"] + - ["System.Linq", "Enumerable", False, "UnionBy", "(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func)", "", "Argument[0].Element", "Argument[2].Parameter[0]", "value", "dfc-generated"] + - ["System.Linq", "Enumerable", False, "UnionBy", "(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func)", "", "Argument[0].Element", "ReturnValue.Element", "value", "dfc-generated"] + - ["System.Linq", "Enumerable", False, "UnionBy", "(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func)", "", "Argument[1].Element", "Argument[2].Parameter[0]", "value", "dfc-generated"] + - ["System.Linq", "Enumerable", False, "UnionBy", "(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func)", "", "Argument[1].Element", "ReturnValue.Element", "value", "dfc-generated"] + - ["System.Linq", "Enumerable", False, "UnionBy", "(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IEqualityComparer)", "", "Argument[0].Element", "Argument[2].Parameter[0]", "value", "dfc-generated"] + - ["System.Linq", "Enumerable", False, "UnionBy", "(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IEqualityComparer)", "", "Argument[0].Element", "ReturnValue.Element", "value", "dfc-generated"] + - ["System.Linq", "Enumerable", False, "UnionBy", "(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IEqualityComparer)", "", "Argument[1].Element", "Argument[2].Parameter[0]", "value", "dfc-generated"] + - ["System.Linq", "Enumerable", False, "UnionBy", "(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IEqualityComparer)", "", "Argument[1].Element", "ReturnValue.Element", "value", "dfc-generated"] - ["System.Linq", "Enumerable", False, "Zip", "(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable)", "", "Argument[0].Element", "ReturnValue.Element.Field[System.ValueTuple`3.Item1]", "value", "dfc-generated"] - ["System.Linq", "Enumerable", False, "Zip", "(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable)", "", "Argument[1].Element", "ReturnValue.Element.Field[System.ValueTuple`3.Item2]", "value", "dfc-generated"] - ["System.Linq", "Enumerable", False, "Zip", "(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable)", "", "Argument[2].Element", "ReturnValue.Element.Field[System.ValueTuple`3.Item3]", "value", "dfc-generated"] @@ -60,14 +99,47 @@ extensions: - ["System.Linq", "EnumerableQuery", False, "get_Expression", "()", "", "Argument[this].SyntheticField[System.Linq.EnumerableQuery`1._expression]", "ReturnValue", "value", "dfc-generated"] - ["System.Linq", "Grouping", False, "get_Key", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["System.Linq", "IQueryable", True, "get_Provider", "()", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] + - ["System.Linq", "ImmutableArrayExtensions", False, "Aggregate", "(System.Collections.Immutable.ImmutableArray,System.Func)", "", "Argument[1].ReturnValue", "Argument[1].Parameter[0]", "value", "dfc-generated"] + - ["System.Linq", "ImmutableArrayExtensions", False, "Aggregate", "(System.Collections.Immutable.ImmutableArray,System.Func)", "", "Argument[1].ReturnValue", "ReturnValue", "value", "dfc-generated"] + - ["System.Linq", "ImmutableArrayExtensions", False, "Aggregate", "(System.Collections.Immutable.ImmutableArray,TAccumulate,System.Func)", "", "Argument[1]", "Argument[2].Parameter[0]", "value", "dfc-generated"] + - ["System.Linq", "ImmutableArrayExtensions", False, "Aggregate", "(System.Collections.Immutable.ImmutableArray,TAccumulate,System.Func)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["System.Linq", "ImmutableArrayExtensions", False, "Aggregate", "(System.Collections.Immutable.ImmutableArray,TAccumulate,System.Func)", "", "Argument[2].ReturnValue", "Argument[2].Parameter[0]", "value", "dfc-generated"] + - ["System.Linq", "ImmutableArrayExtensions", False, "Aggregate", "(System.Collections.Immutable.ImmutableArray,TAccumulate,System.Func)", "", "Argument[2].ReturnValue", "ReturnValue", "value", "dfc-generated"] + - ["System.Linq", "ImmutableArrayExtensions", False, "Aggregate", "(System.Collections.Immutable.ImmutableArray,TAccumulate,System.Func,System.Func)", "", "Argument[1]", "Argument[2].Parameter[0]", "value", "dfc-generated"] + - ["System.Linq", "ImmutableArrayExtensions", False, "Aggregate", "(System.Collections.Immutable.ImmutableArray,TAccumulate,System.Func,System.Func)", "", "Argument[1]", "Argument[3].Parameter[0]", "value", "dfc-generated"] + - ["System.Linq", "ImmutableArrayExtensions", False, "Aggregate", "(System.Collections.Immutable.ImmutableArray,TAccumulate,System.Func,System.Func)", "", "Argument[2].ReturnValue", "Argument[3].Parameter[0]", "value", "dfc-generated"] + - ["System.Linq", "ImmutableArrayExtensions", False, "Aggregate", "(System.Collections.Immutable.ImmutableArray,TAccumulate,System.Func,System.Func)", "", "Argument[3].ReturnValue", "ReturnValue", "value", "dfc-generated"] - ["System.Linq", "ImmutableArrayExtensions", False, "ElementAt", "(System.Collections.Immutable.ImmutableArray,System.Int32)", "", "Argument[0].Element", "ReturnValue", "taint", "df-generated"] - ["System.Linq", "ImmutableArrayExtensions", False, "ElementAtOrDefault", "(System.Collections.Immutable.ImmutableArray,System.Int32)", "", "Argument[0].Element", "ReturnValue", "taint", "df-generated"] - ["System.Linq", "ImmutableArrayExtensions", False, "First", "(System.Collections.Immutable.ImmutableArray)", "", "Argument[0].Element", "ReturnValue", "taint", "df-generated"] - ["System.Linq", "ImmutableArrayExtensions", False, "FirstOrDefault", "(System.Collections.Immutable.ImmutableArray)", "", "Argument[0].Element", "ReturnValue", "taint", "df-generated"] - ["System.Linq", "ImmutableArrayExtensions", False, "Last", "(System.Collections.Immutable.ImmutableArray)", "", "Argument[0].Element", "ReturnValue", "taint", "df-generated"] + - ["System.Linq", "ImmutableArrayExtensions", False, "SelectMany", "(System.Collections.Immutable.ImmutableArray,System.Func>,System.Func)", "", "Argument[1].ReturnValue.Element", "Argument[2].Parameter[1]", "value", "dfc-generated"] + - ["System.Linq", "ImmutableArrayExtensions", False, "SelectMany", "(System.Collections.Immutable.ImmutableArray,System.Func>,System.Func)", "", "Argument[2].ReturnValue", "ReturnValue.Element", "value", "dfc-generated"] + - ["System.Linq", "ImmutableArrayExtensions", False, "SequenceEqual", "(System.Collections.Immutable.ImmutableArray,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer)", "", "Argument[0].Element", "Argument[2]", "taint", "df-generated"] + - ["System.Linq", "ImmutableArrayExtensions", False, "SequenceEqual", "(System.Collections.Immutable.ImmutableArray,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer)", "", "Argument[1].Element", "Argument[2]", "taint", "df-generated"] + - ["System.Linq", "ImmutableArrayExtensions", False, "SequenceEqual", "(System.Collections.Immutable.ImmutableArray,System.Collections.Immutable.ImmutableArray,System.Collections.Generic.IEqualityComparer)", "", "Argument[0].Element", "Argument[2]", "taint", "df-generated"] + - ["System.Linq", "ImmutableArrayExtensions", False, "SequenceEqual", "(System.Collections.Immutable.ImmutableArray,System.Collections.Immutable.ImmutableArray,System.Collections.Generic.IEqualityComparer)", "", "Argument[1].Element", "Argument[2]", "taint", "df-generated"] - ["System.Linq", "ImmutableArrayExtensions", False, "Single", "(System.Collections.Immutable.ImmutableArray)", "", "Argument[0].Element", "ReturnValue", "taint", "df-generated"] - ["System.Linq", "ImmutableArrayExtensions", False, "ToArray", "(System.Collections.Immutable.ImmutableArray)", "", "Argument[0].Element", "ReturnValue", "taint", "df-generated"] + - ["System.Linq", "ImmutableArrayExtensions", False, "ToDictionary", "(System.Collections.Immutable.ImmutableArray,System.Func)", "", "Argument[0].Element", "Argument[1].Parameter[0]", "value", "dfc-generated"] + - ["System.Linq", "ImmutableArrayExtensions", False, "ToDictionary", "(System.Collections.Immutable.ImmutableArray,System.Func)", "", "Argument[0].Element", "ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair`2.Value]", "value", "dfc-generated"] + - ["System.Linq", "ImmutableArrayExtensions", False, "ToDictionary", "(System.Collections.Immutable.ImmutableArray,System.Func)", "", "Argument[1].ReturnValue", "ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair`2.Key]", "value", "dfc-generated"] + - ["System.Linq", "ImmutableArrayExtensions", False, "ToDictionary", "(System.Collections.Immutable.ImmutableArray,System.Func,System.Collections.Generic.IEqualityComparer)", "", "Argument[0].Element", "Argument[1].Parameter[0]", "value", "dfc-generated"] + - ["System.Linq", "ImmutableArrayExtensions", False, "ToDictionary", "(System.Collections.Immutable.ImmutableArray,System.Func,System.Collections.Generic.IEqualityComparer)", "", "Argument[0].Element", "ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair`2.Value]", "value", "dfc-generated"] + - ["System.Linq", "ImmutableArrayExtensions", False, "ToDictionary", "(System.Collections.Immutable.ImmutableArray,System.Func,System.Collections.Generic.IEqualityComparer)", "", "Argument[1].ReturnValue", "ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair`2.Key]", "value", "dfc-generated"] + - ["System.Linq", "ImmutableArrayExtensions", False, "ToDictionary", "(System.Collections.Immutable.ImmutableArray,System.Func,System.Func)", "", "Argument[1].ReturnValue", "ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair`2.Key]", "value", "dfc-generated"] + - ["System.Linq", "ImmutableArrayExtensions", False, "ToDictionary", "(System.Collections.Immutable.ImmutableArray,System.Func,System.Func)", "", "Argument[2].ReturnValue", "ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair`2.Value]", "value", "dfc-generated"] + - ["System.Linq", "ImmutableArrayExtensions", False, "ToDictionary", "(System.Collections.Immutable.ImmutableArray,System.Func,System.Func,System.Collections.Generic.IEqualityComparer)", "", "Argument[1].ReturnValue", "ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair`2.Key]", "value", "dfc-generated"] + - ["System.Linq", "ImmutableArrayExtensions", False, "ToDictionary", "(System.Collections.Immutable.ImmutableArray,System.Func,System.Func,System.Collections.Generic.IEqualityComparer)", "", "Argument[2].ReturnValue", "ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair`2.Value]", "value", "dfc-generated"] + - ["System.Linq", "Lookup", False, "ApplyResultSelector", "(System.Func,TResult>)", "", "Argument[0].ReturnValue", "ReturnValue.Element", "value", "dfc-generated"] - ["System.Linq", "Lookup", False, "get_Item", "(TKey)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["System.Linq", "ParallelEnumerable", False, "Aggregate", "(System.Linq.ParallelQuery,System.Func,System.Func,System.Func,System.Func)", "", "Argument[1].ReturnValue", "ReturnValue", "value", "dfc-generated"] + - ["System.Linq", "ParallelEnumerable", False, "Aggregate", "(System.Linq.ParallelQuery,System.Func,System.Func,System.Func,System.Func)", "", "Argument[3].ReturnValue", "ReturnValue", "value", "dfc-generated"] + - ["System.Linq", "ParallelEnumerable", False, "Aggregate", "(System.Linq.ParallelQuery,System.Func,System.Func,System.Func,System.Func)", "", "Argument[4].ReturnValue", "ReturnValue", "value", "dfc-generated"] + - ["System.Linq", "ParallelEnumerable", False, "Aggregate", "(System.Linq.ParallelQuery,TAccumulate,System.Func,System.Func,System.Func)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["System.Linq", "ParallelEnumerable", False, "Aggregate", "(System.Linq.ParallelQuery,TAccumulate,System.Func,System.Func,System.Func)", "", "Argument[3].ReturnValue", "ReturnValue", "value", "dfc-generated"] + - ["System.Linq", "ParallelEnumerable", False, "Aggregate", "(System.Linq.ParallelQuery,TAccumulate,System.Func,System.Func,System.Func)", "", "Argument[4].ReturnValue", "ReturnValue", "value", "dfc-generated"] - ["System.Linq", "ParallelEnumerable", False, "AsOrdered", "(System.Linq.ParallelQuery)", "", "Argument[0].Element", "ReturnValue", "taint", "df-generated"] - ["System.Linq", "ParallelEnumerable", False, "AsOrdered", "(System.Linq.ParallelQuery)", "", "Argument[0].Element", "ReturnValue", "taint", "df-generated"] - ["System.Linq", "ParallelEnumerable", False, "AsParallel", "(System.Collections.IEnumerable)", "", "Argument[0].Element", "ReturnValue", "taint", "df-generated"] @@ -76,6 +148,8 @@ extensions: - ["System.Linq", "ParallelEnumerable", False, "AsSequential", "(System.Linq.ParallelQuery)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["System.Linq", "ParallelEnumerable", False, "AsUnordered", "(System.Linq.ParallelQuery)", "", "Argument[0].Element", "ReturnValue", "taint", "df-generated"] - ["System.Linq", "ParallelEnumerable", False, "Repeat", "(TResult,System.Int32)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["System.Linq", "ParallelEnumerable", False, "SequenceEqual", "(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Collections.Generic.IEqualityComparer)", "", "Argument[0].Element", "Argument[2]", "taint", "df-generated"] + - ["System.Linq", "ParallelEnumerable", False, "SequenceEqual", "(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Collections.Generic.IEqualityComparer)", "", "Argument[1].Element", "Argument[2]", "taint", "df-generated"] - ["System.Linq", "ParallelEnumerable", False, "WithCancellation", "(System.Linq.ParallelQuery,System.Threading.CancellationToken)", "", "Argument[0].Element", "ReturnValue", "taint", "df-generated"] - ["System.Linq", "ParallelEnumerable", False, "WithDegreeOfParallelism", "(System.Linq.ParallelQuery,System.Int32)", "", "Argument[0].Element", "ReturnValue", "taint", "df-generated"] - ["System.Linq", "ParallelEnumerable", False, "WithExecutionMode", "(System.Linq.ParallelQuery,System.Linq.ParallelExecutionMode)", "", "Argument[0].Element", "ReturnValue", "taint", "df-generated"] @@ -96,7 +170,6 @@ extensions: - ["System.Linq", "Enumerable", "Average", "(System.Collections.Generic.IEnumerable>)", "summary", "df-generated"] - ["System.Linq", "Enumerable", "Average", "(System.Collections.Generic.IEnumerable)", "summary", "df-generated"] - ["System.Linq", "Enumerable", "Contains", "(System.Collections.Generic.IEnumerable,TSource)", "summary", "df-generated"] - - ["System.Linq", "Enumerable", "Contains", "(System.Collections.Generic.IEnumerable,TSource,System.Collections.Generic.IEqualityComparer)", "summary", "df-generated"] - ["System.Linq", "Enumerable", "Count", "(System.Collections.Generic.IEnumerable)", "summary", "df-generated"] - ["System.Linq", "Enumerable", "Empty", "()", "summary", "df-generated"] - ["System.Linq", "Enumerable", "LongCount", "(System.Collections.Generic.IEnumerable)", "summary", "df-generated"] @@ -106,15 +179,18 @@ extensions: - ["System.Linq", "Enumerable", "Max", "(System.Collections.Generic.IEnumerable)", "summary", "df-generated"] - ["System.Linq", "Enumerable", "Max", "(System.Collections.Generic.IEnumerable>)", "summary", "df-generated"] - ["System.Linq", "Enumerable", "Max", "(System.Collections.Generic.IEnumerable)", "summary", "df-generated"] + - ["System.Linq", "Enumerable", "MaxBy", "(System.Collections.Generic.IEnumerable,System.Func)", "summary", "df-generated"] + - ["System.Linq", "Enumerable", "MaxBy", "(System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IComparer)", "summary", "df-generated"] - ["System.Linq", "Enumerable", "Min", "(System.Collections.Generic.IEnumerable)", "summary", "df-generated"] - ["System.Linq", "Enumerable", "Min", "(System.Collections.Generic.IEnumerable)", "summary", "df-generated"] - ["System.Linq", "Enumerable", "Min", "(System.Collections.Generic.IEnumerable)", "summary", "df-generated"] - ["System.Linq", "Enumerable", "Min", "(System.Collections.Generic.IEnumerable)", "summary", "df-generated"] - ["System.Linq", "Enumerable", "Min", "(System.Collections.Generic.IEnumerable>)", "summary", "df-generated"] - ["System.Linq", "Enumerable", "Min", "(System.Collections.Generic.IEnumerable)", "summary", "df-generated"] + - ["System.Linq", "Enumerable", "MinBy", "(System.Collections.Generic.IEnumerable,System.Func)", "summary", "df-generated"] + - ["System.Linq", "Enumerable", "MinBy", "(System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IComparer)", "summary", "df-generated"] - ["System.Linq", "Enumerable", "Range", "(System.Int32,System.Int32)", "summary", "df-generated"] - ["System.Linq", "Enumerable", "SequenceEqual", "(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable)", "summary", "df-generated"] - - ["System.Linq", "Enumerable", "SequenceEqual", "(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer)", "summary", "df-generated"] - ["System.Linq", "Enumerable", "Sum", "(System.Collections.Generic.IEnumerable)", "summary", "df-generated"] - ["System.Linq", "Enumerable", "Sum", "(System.Collections.Generic.IEnumerable)", "summary", "df-generated"] - ["System.Linq", "Enumerable", "Sum", "(System.Collections.Generic.IEnumerable)", "summary", "df-generated"] @@ -143,18 +219,28 @@ extensions: - ["System.Linq", "ILookup", "Contains", "(TKey)", "summary", "df-generated"] - ["System.Linq", "ILookup", "get_Count", "()", "summary", "df-generated"] - ["System.Linq", "ILookup", "get_Item", "(TKey)", "summary", "df-generated"] + - ["System.Linq", "IOrderedEnumerable", "CreateOrderedEnumerable", "(System.Func,System.Collections.Generic.IComparer,System.Boolean)", "summary", "df-generated"] - ["System.Linq", "IQueryProvider", "CreateQuery", "(System.Linq.Expressions.Expression)", "summary", "df-generated"] - ["System.Linq", "IQueryProvider", "CreateQuery", "(System.Linq.Expressions.Expression)", "summary", "df-generated"] - ["System.Linq", "IQueryProvider", "Execute", "(System.Linq.Expressions.Expression)", "summary", "df-generated"] - ["System.Linq", "IQueryProvider", "Execute", "(System.Linq.Expressions.Expression)", "summary", "df-generated"] - ["System.Linq", "IQueryable", "get_ElementType", "()", "summary", "df-generated"] - ["System.Linq", "IQueryable", "get_Expression", "()", "summary", "df-generated"] + - ["System.Linq", "ImmutableArrayExtensions", "All", "(System.Collections.Immutable.ImmutableArray,System.Func)", "summary", "df-generated"] - ["System.Linq", "ImmutableArrayExtensions", "Any", "(System.Collections.Immutable.ImmutableArray)", "summary", "df-generated"] - ["System.Linq", "ImmutableArrayExtensions", "Any", "(System.Collections.Immutable.ImmutableArray+Builder)", "summary", "df-generated"] + - ["System.Linq", "ImmutableArrayExtensions", "Any", "(System.Collections.Immutable.ImmutableArray,System.Func)", "summary", "df-generated"] + - ["System.Linq", "ImmutableArrayExtensions", "First", "(System.Collections.Immutable.ImmutableArray,System.Func)", "summary", "df-generated"] + - ["System.Linq", "ImmutableArrayExtensions", "FirstOrDefault", "(System.Collections.Immutable.ImmutableArray,System.Func)", "summary", "df-generated"] + - ["System.Linq", "ImmutableArrayExtensions", "Last", "(System.Collections.Immutable.ImmutableArray,System.Func)", "summary", "df-generated"] - ["System.Linq", "ImmutableArrayExtensions", "LastOrDefault", "(System.Collections.Immutable.ImmutableArray)", "summary", "df-generated"] - - ["System.Linq", "ImmutableArrayExtensions", "SequenceEqual", "(System.Collections.Immutable.ImmutableArray,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer)", "summary", "df-generated"] - - ["System.Linq", "ImmutableArrayExtensions", "SequenceEqual", "(System.Collections.Immutable.ImmutableArray,System.Collections.Immutable.ImmutableArray,System.Collections.Generic.IEqualityComparer)", "summary", "df-generated"] + - ["System.Linq", "ImmutableArrayExtensions", "LastOrDefault", "(System.Collections.Immutable.ImmutableArray,System.Func)", "summary", "df-generated"] + - ["System.Linq", "ImmutableArrayExtensions", "Select", "(System.Collections.Immutable.ImmutableArray,System.Func)", "summary", "df-generated"] + - ["System.Linq", "ImmutableArrayExtensions", "SequenceEqual", "(System.Collections.Immutable.ImmutableArray,System.Collections.Immutable.ImmutableArray,System.Func)", "summary", "df-generated"] + - ["System.Linq", "ImmutableArrayExtensions", "Single", "(System.Collections.Immutable.ImmutableArray,System.Func)", "summary", "df-generated"] - ["System.Linq", "ImmutableArrayExtensions", "SingleOrDefault", "(System.Collections.Immutable.ImmutableArray)", "summary", "df-generated"] + - ["System.Linq", "ImmutableArrayExtensions", "SingleOrDefault", "(System.Collections.Immutable.ImmutableArray,System.Func)", "summary", "df-generated"] + - ["System.Linq", "ImmutableArrayExtensions", "Where", "(System.Collections.Immutable.ImmutableArray,System.Func)", "summary", "df-generated"] - ["System.Linq", "Lookup", "Contains", "(TKey)", "summary", "df-generated"] - ["System.Linq", "Lookup", "get_Count", "()", "summary", "df-generated"] - ["System.Linq", "ParallelEnumerable", "Any", "(System.Linq.ParallelQuery)", "summary", "df-generated"] @@ -172,6 +258,7 @@ extensions: - ["System.Linq", "ParallelEnumerable", "Contains", "(System.Linq.ParallelQuery,TSource,System.Collections.Generic.IEqualityComparer)", "summary", "df-generated"] - ["System.Linq", "ParallelEnumerable", "Count", "(System.Linq.ParallelQuery)", "summary", "df-generated"] - ["System.Linq", "ParallelEnumerable", "Empty", "()", "summary", "df-generated"] + - ["System.Linq", "ParallelEnumerable", "ForAll", "(System.Linq.ParallelQuery,System.Action)", "summary", "df-generated"] - ["System.Linq", "ParallelEnumerable", "LongCount", "(System.Linq.ParallelQuery)", "summary", "df-generated"] - ["System.Linq", "ParallelEnumerable", "Max", "(System.Linq.ParallelQuery)", "summary", "df-generated"] - ["System.Linq", "ParallelEnumerable", "Max", "(System.Linq.ParallelQuery)", "summary", "df-generated"] @@ -199,7 +286,6 @@ extensions: - ["System.Linq", "ParallelEnumerable", "SequenceEqual", "(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable)", "summary", "df-generated"] - ["System.Linq", "ParallelEnumerable", "SequenceEqual", "(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer)", "summary", "df-generated"] - ["System.Linq", "ParallelEnumerable", "SequenceEqual", "(System.Linq.ParallelQuery,System.Linq.ParallelQuery)", "summary", "df-generated"] - - ["System.Linq", "ParallelEnumerable", "SequenceEqual", "(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Collections.Generic.IEqualityComparer)", "summary", "df-generated"] - ["System.Linq", "ParallelEnumerable", "Sum", "(System.Linq.ParallelQuery)", "summary", "df-generated"] - ["System.Linq", "ParallelEnumerable", "Sum", "(System.Linq.ParallelQuery)", "summary", "df-generated"] - ["System.Linq", "ParallelEnumerable", "Sum", "(System.Linq.ParallelQuery)", "summary", "df-generated"] diff --git a/csharp/ql/lib/ext/generated/System.Management.model.yml b/csharp/ql/lib/ext/generated/System.Management.model.yml index 03b84032375a..d348a495880b 100644 --- a/csharp/ql/lib/ext/generated/System.Management.model.yml +++ b/csharp/ql/lib/ext/generated/System.Management.model.yml @@ -84,6 +84,10 @@ extensions: - ["System.Management", "ManagementEventWatcher", "Start", "()", "summary", "df-generated"] - ["System.Management", "ManagementEventWatcher", "Stop", "()", "summary", "df-generated"] - ["System.Management", "ManagementEventWatcher", "WaitForNextEvent", "()", "summary", "df-generated"] + - ["System.Management", "ManagementEventWatcher", "add_EventArrived", "(System.Management.EventArrivedEventHandler)", "summary", "df-generated"] + - ["System.Management", "ManagementEventWatcher", "add_Stopped", "(System.Management.StoppedEventHandler)", "summary", "df-generated"] + - ["System.Management", "ManagementEventWatcher", "remove_EventArrived", "(System.Management.EventArrivedEventHandler)", "summary", "df-generated"] + - ["System.Management", "ManagementEventWatcher", "remove_Stopped", "(System.Management.StoppedEventHandler)", "summary", "df-generated"] - ["System.Management", "ManagementException", "ManagementException", "(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)", "summary", "df-generated"] - ["System.Management", "ManagementException", "ManagementException", "(System.String)", "summary", "df-generated"] - ["System.Management", "ManagementException", "ManagementException", "(System.String,System.Exception)", "summary", "df-generated"] @@ -158,6 +162,14 @@ extensions: - ["System.Management", "ManagementObjectSearcher", "ManagementObjectSearcher", "(System.String,System.String)", "summary", "df-generated"] - ["System.Management", "ManagementObjectSearcher", "ManagementObjectSearcher", "(System.String,System.String,System.Management.EnumerationOptions)", "summary", "df-generated"] - ["System.Management", "ManagementOperationObserver", "Cancel", "()", "summary", "df-generated"] + - ["System.Management", "ManagementOperationObserver", "add_Completed", "(System.Management.CompletedEventHandler)", "summary", "df-generated"] + - ["System.Management", "ManagementOperationObserver", "add_ObjectPut", "(System.Management.ObjectPutEventHandler)", "summary", "df-generated"] + - ["System.Management", "ManagementOperationObserver", "add_ObjectReady", "(System.Management.ObjectReadyEventHandler)", "summary", "df-generated"] + - ["System.Management", "ManagementOperationObserver", "add_Progress", "(System.Management.ProgressEventHandler)", "summary", "df-generated"] + - ["System.Management", "ManagementOperationObserver", "remove_Completed", "(System.Management.CompletedEventHandler)", "summary", "df-generated"] + - ["System.Management", "ManagementOperationObserver", "remove_ObjectPut", "(System.Management.ObjectPutEventHandler)", "summary", "df-generated"] + - ["System.Management", "ManagementOperationObserver", "remove_ObjectReady", "(System.Management.ObjectReadyEventHandler)", "summary", "df-generated"] + - ["System.Management", "ManagementOperationObserver", "remove_Progress", "(System.Management.ProgressEventHandler)", "summary", "df-generated"] - ["System.Management", "ManagementPath", "Clone", "()", "summary", "df-generated"] - ["System.Management", "ManagementPath", "ManagementPath", "(System.String)", "summary", "df-generated"] - ["System.Management", "ManagementPath", "SetAsClass", "()", "summary", "df-generated"] diff --git a/csharp/ql/lib/ext/generated/System.Media.model.yml b/csharp/ql/lib/ext/generated/System.Media.model.yml index 38b3aa41d136..ae6b14488c7c 100644 --- a/csharp/ql/lib/ext/generated/System.Media.model.yml +++ b/csharp/ql/lib/ext/generated/System.Media.model.yml @@ -16,7 +16,13 @@ extensions: - ["System.Media", "SoundPlayer", "SoundPlayer", "(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)", "summary", "df-generated"] - ["System.Media", "SoundPlayer", "SoundPlayer", "(System.String)", "summary", "df-generated"] - ["System.Media", "SoundPlayer", "Stop", "()", "summary", "df-generated"] + - ["System.Media", "SoundPlayer", "add_LoadCompleted", "(System.ComponentModel.AsyncCompletedEventHandler)", "summary", "df-generated"] + - ["System.Media", "SoundPlayer", "add_SoundLocationChanged", "(System.EventHandler)", "summary", "df-generated"] + - ["System.Media", "SoundPlayer", "add_StreamChanged", "(System.EventHandler)", "summary", "df-generated"] - ["System.Media", "SoundPlayer", "get_IsLoadCompleted", "()", "summary", "df-generated"] + - ["System.Media", "SoundPlayer", "remove_LoadCompleted", "(System.ComponentModel.AsyncCompletedEventHandler)", "summary", "df-generated"] + - ["System.Media", "SoundPlayer", "remove_SoundLocationChanged", "(System.EventHandler)", "summary", "df-generated"] + - ["System.Media", "SoundPlayer", "remove_StreamChanged", "(System.EventHandler)", "summary", "df-generated"] - ["System.Media", "SystemSound", "Play", "()", "summary", "df-generated"] - ["System.Media", "SystemSounds", "get_Asterisk", "()", "summary", "df-generated"] - ["System.Media", "SystemSounds", "get_Beep", "()", "summary", "df-generated"] diff --git a/csharp/ql/lib/ext/generated/System.Net.Http.Metrics.model.yml b/csharp/ql/lib/ext/generated/System.Net.Http.Metrics.model.yml index aecf84dfdd7a..4e42f24a13be 100644 --- a/csharp/ql/lib/ext/generated/System.Net.Http.Metrics.model.yml +++ b/csharp/ql/lib/ext/generated/System.Net.Http.Metrics.model.yml @@ -11,4 +11,5 @@ extensions: pack: codeql/csharp-all extensible: neutralModel data: + - ["System.Net.Http.Metrics", "HttpMetricsEnrichmentContext", "AddCallback", "(System.Net.Http.HttpRequestMessage,System.Action)", "summary", "df-generated"] - ["System.Net.Http.Metrics", "HttpMetricsEnrichmentContext", "AddCustomTag", "(System.String,System.Object)", "summary", "df-generated"] diff --git a/csharp/ql/lib/ext/generated/System.Net.Mail.model.yml b/csharp/ql/lib/ext/generated/System.Net.Mail.model.yml index c386334050dc..a3399405d7f6 100644 --- a/csharp/ql/lib/ext/generated/System.Net.Mail.model.yml +++ b/csharp/ql/lib/ext/generated/System.Net.Mail.model.yml @@ -131,7 +131,9 @@ extensions: - ["System.Net.Mail", "SmtpClient", "Dispose", "(System.Boolean)", "summary", "df-generated"] - ["System.Net.Mail", "SmtpClient", "OnSendCompleted", "(System.ComponentModel.AsyncCompletedEventArgs)", "summary", "df-generated"] - ["System.Net.Mail", "SmtpClient", "SendAsyncCancel", "()", "summary", "df-generated"] + - ["System.Net.Mail", "SmtpClient", "add_SendCompleted", "(System.Net.Mail.SendCompletedEventHandler)", "summary", "df-generated"] - ["System.Net.Mail", "SmtpClient", "get_ServicePoint", "()", "summary", "df-generated"] + - ["System.Net.Mail", "SmtpClient", "remove_SendCompleted", "(System.Net.Mail.SendCompletedEventHandler)", "summary", "df-generated"] - ["System.Net.Mail", "SmtpException", "SmtpException", "(System.Net.Mail.SmtpStatusCode)", "summary", "df-generated"] - ["System.Net.Mail", "SmtpException", "SmtpException", "(System.Net.Mail.SmtpStatusCode,System.String)", "summary", "df-generated"] - ["System.Net.Mail", "SmtpException", "SmtpException", "(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)", "summary", "df-generated"] diff --git a/csharp/ql/lib/ext/generated/System.Net.NetworkInformation.model.yml b/csharp/ql/lib/ext/generated/System.Net.NetworkInformation.model.yml index ccdf6dd46df0..6ed3c214d148 100644 --- a/csharp/ql/lib/ext/generated/System.Net.NetworkInformation.model.yml +++ b/csharp/ql/lib/ext/generated/System.Net.NetworkInformation.model.yml @@ -43,6 +43,7 @@ extensions: - ["System.Net.NetworkInformation", "IPAddressInformationCollection", "Remove", "(System.Net.NetworkInformation.IPAddressInformation)", "summary", "df-generated"] - ["System.Net.NetworkInformation", "IPAddressInformationCollection", "get_Count", "()", "summary", "df-generated"] - ["System.Net.NetworkInformation", "IPAddressInformationCollection", "get_IsReadOnly", "()", "summary", "df-generated"] + - ["System.Net.NetworkInformation", "IPGlobalProperties", "BeginGetUnicastAddresses", "(System.AsyncCallback,System.Object)", "summary", "df-generated"] - ["System.Net.NetworkInformation", "IPGlobalProperties", "EndGetUnicastAddresses", "(System.IAsyncResult)", "summary", "df-generated"] - ["System.Net.NetworkInformation", "IPGlobalProperties", "GetActiveTcpConnections", "()", "summary", "df-generated"] - ["System.Net.NetworkInformation", "IPGlobalProperties", "GetActiveTcpListeners", "()", "summary", "df-generated"] @@ -194,6 +195,10 @@ extensions: - ["System.Net.NetworkInformation", "MulticastIPAddressInformationCollection", "get_IsReadOnly", "()", "summary", "df-generated"] - ["System.Net.NetworkInformation", "NetworkAvailabilityEventArgs", "get_IsAvailable", "()", "summary", "df-generated"] - ["System.Net.NetworkInformation", "NetworkChange", "RegisterNetworkChange", "(System.Net.NetworkInformation.NetworkChange)", "summary", "df-generated"] + - ["System.Net.NetworkInformation", "NetworkChange", "add_NetworkAddressChanged", "(System.Net.NetworkInformation.NetworkAddressChangedEventHandler)", "summary", "df-generated"] + - ["System.Net.NetworkInformation", "NetworkChange", "add_NetworkAvailabilityChanged", "(System.Net.NetworkInformation.NetworkAvailabilityChangedEventHandler)", "summary", "df-generated"] + - ["System.Net.NetworkInformation", "NetworkChange", "remove_NetworkAddressChanged", "(System.Net.NetworkInformation.NetworkAddressChangedEventHandler)", "summary", "df-generated"] + - ["System.Net.NetworkInformation", "NetworkChange", "remove_NetworkAvailabilityChanged", "(System.Net.NetworkInformation.NetworkAvailabilityChangedEventHandler)", "summary", "df-generated"] - ["System.Net.NetworkInformation", "NetworkInformationException", "NetworkInformationException", "(System.Int32)", "summary", "df-generated"] - ["System.Net.NetworkInformation", "NetworkInformationException", "NetworkInformationException", "(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)", "summary", "df-generated"] - ["System.Net.NetworkInformation", "NetworkInformationException", "get_ErrorCode", "()", "summary", "df-generated"] @@ -257,6 +262,8 @@ extensions: - ["System.Net.NetworkInformation", "Ping", "SendPingAsync", "(System.String,System.Int32,System.Byte[])", "summary", "df-generated"] - ["System.Net.NetworkInformation", "Ping", "SendPingAsync", "(System.String,System.Int32,System.Byte[],System.Net.NetworkInformation.PingOptions)", "summary", "df-generated"] - ["System.Net.NetworkInformation", "Ping", "SendPingAsync", "(System.String,System.TimeSpan,System.Byte[],System.Net.NetworkInformation.PingOptions,System.Threading.CancellationToken)", "summary", "df-generated"] + - ["System.Net.NetworkInformation", "Ping", "add_PingCompleted", "(System.Net.NetworkInformation.PingCompletedEventHandler)", "summary", "df-generated"] + - ["System.Net.NetworkInformation", "Ping", "remove_PingCompleted", "(System.Net.NetworkInformation.PingCompletedEventHandler)", "summary", "df-generated"] - ["System.Net.NetworkInformation", "PingCompletedEventArgs", "get_Reply", "()", "summary", "df-generated"] - ["System.Net.NetworkInformation", "PingException", "PingException", "(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)", "summary", "df-generated"] - ["System.Net.NetworkInformation", "PingException", "PingException", "(System.String)", "summary", "df-generated"] diff --git a/csharp/ql/lib/ext/generated/System.Net.Security.model.yml b/csharp/ql/lib/ext/generated/System.Net.Security.model.yml index d4410cc0aa98..b052db90efa2 100644 --- a/csharp/ql/lib/ext/generated/System.Net.Security.model.yml +++ b/csharp/ql/lib/ext/generated/System.Net.Security.model.yml @@ -23,12 +23,15 @@ extensions: - ["System.Net.Security", "SslCertificateTrust", False, "CreateForX509Store", "(System.Security.Cryptography.X509Certificates.X509Store,System.Boolean)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["System.Net.Security", "SslStream", False, "AuthenticateAsClient", "(System.Net.Security.SslClientAuthenticationOptions)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - ["System.Net.Security", "SslStream", False, "AuthenticateAsClientAsync", "(System.Net.Security.SslClientAuthenticationOptions,System.Threading.CancellationToken)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["System.Net.Security", "SslStream", False, "AuthenticateAsClientAsync", "(System.Net.Security.SslClientAuthenticationOptions,System.Threading.CancellationToken)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] - ["System.Net.Security", "SslStream", False, "AuthenticateAsServer", "(System.Net.Security.SslServerAuthenticationOptions)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - ["System.Net.Security", "SslStream", False, "AuthenticateAsServerAsync", "(System.Net.Security.SslServerAuthenticationOptions,System.Threading.CancellationToken)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["System.Net.Security", "SslStream", False, "AuthenticateAsServerAsync", "(System.Net.Security.SslServerAuthenticationOptions,System.Threading.CancellationToken)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] - ["System.Net.Security", "SslStream", False, "Write", "(System.Byte[])", "", "Argument[0].Element", "Argument[this]", "taint", "dfc-generated"] - ["System.Net.Security", "SslStream", False, "get_NegotiatedApplicationProtocol", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["System.Net.Security", "SslStream", False, "get_TargetHostName", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["System.Net.Security", "SslStream", False, "get_TransportContext", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["System.Net.Security", "SslStream", True, "NegotiateClientCertificateAsync", "(System.Threading.CancellationToken)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - ["System.Net.Security", "SslStream", True, "get_LocalCertificate", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["System.Net.Security", "SslStream", True, "get_RemoteCertificate", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["System.Net.Security", "SslStreamCertificateContext", False, "Create", "(System.Security.Cryptography.X509Certificates.X509Certificate2,System.Security.Cryptography.X509Certificates.X509Certificate2Collection,System.Boolean,System.Net.Security.SslCertificateTrust)", "", "Argument[3]", "ReturnValue", "taint", "df-generated"] @@ -70,6 +73,15 @@ extensions: - ["System.Net.Security", "NegotiateStream", "AuthenticateAsServer", "(System.Net.NetworkCredential,System.Net.Security.ProtectionLevel,System.Security.Principal.TokenImpersonationLevel)", "summary", "df-generated"] - ["System.Net.Security", "NegotiateStream", "AuthenticateAsServerAsync", "()", "summary", "df-generated"] - ["System.Net.Security", "NegotiateStream", "AuthenticateAsServerAsync", "(System.Net.NetworkCredential,System.Net.Security.ProtectionLevel,System.Security.Principal.TokenImpersonationLevel)", "summary", "df-generated"] + - ["System.Net.Security", "NegotiateStream", "BeginAuthenticateAsClient", "(System.AsyncCallback,System.Object)", "summary", "df-generated"] + - ["System.Net.Security", "NegotiateStream", "BeginAuthenticateAsClient", "(System.Net.NetworkCredential,System.Security.Authentication.ExtendedProtection.ChannelBinding,System.String,System.AsyncCallback,System.Object)", "summary", "df-generated"] + - ["System.Net.Security", "NegotiateStream", "BeginAuthenticateAsClient", "(System.Net.NetworkCredential,System.Security.Authentication.ExtendedProtection.ChannelBinding,System.String,System.Net.Security.ProtectionLevel,System.Security.Principal.TokenImpersonationLevel,System.AsyncCallback,System.Object)", "summary", "df-generated"] + - ["System.Net.Security", "NegotiateStream", "BeginAuthenticateAsClient", "(System.Net.NetworkCredential,System.String,System.AsyncCallback,System.Object)", "summary", "df-generated"] + - ["System.Net.Security", "NegotiateStream", "BeginAuthenticateAsClient", "(System.Net.NetworkCredential,System.String,System.Net.Security.ProtectionLevel,System.Security.Principal.TokenImpersonationLevel,System.AsyncCallback,System.Object)", "summary", "df-generated"] + - ["System.Net.Security", "NegotiateStream", "BeginAuthenticateAsServer", "(System.AsyncCallback,System.Object)", "summary", "df-generated"] + - ["System.Net.Security", "NegotiateStream", "BeginAuthenticateAsServer", "(System.Net.NetworkCredential,System.Net.Security.ProtectionLevel,System.Security.Principal.TokenImpersonationLevel,System.AsyncCallback,System.Object)", "summary", "df-generated"] + - ["System.Net.Security", "NegotiateStream", "BeginAuthenticateAsServer", "(System.Net.NetworkCredential,System.Security.Authentication.ExtendedProtection.ExtendedProtectionPolicy,System.Net.Security.ProtectionLevel,System.Security.Principal.TokenImpersonationLevel,System.AsyncCallback,System.Object)", "summary", "df-generated"] + - ["System.Net.Security", "NegotiateStream", "BeginAuthenticateAsServer", "(System.Security.Authentication.ExtendedProtection.ExtendedProtectionPolicy,System.AsyncCallback,System.Object)", "summary", "df-generated"] - ["System.Net.Security", "NegotiateStream", "Dispose", "(System.Boolean)", "summary", "df-generated"] - ["System.Net.Security", "NegotiateStream", "EndAuthenticateAsClient", "(System.IAsyncResult)", "summary", "df-generated"] - ["System.Net.Security", "NegotiateStream", "EndAuthenticateAsServer", "(System.IAsyncResult)", "summary", "df-generated"] @@ -111,22 +123,31 @@ extensions: - ["System.Net.Security", "SslStream", "AuthenticateAsServer", "(System.Security.Cryptography.X509Certificates.X509Certificate)", "summary", "df-generated"] - ["System.Net.Security", "SslStream", "AuthenticateAsServer", "(System.Security.Cryptography.X509Certificates.X509Certificate,System.Boolean,System.Boolean)", "summary", "df-generated"] - ["System.Net.Security", "SslStream", "AuthenticateAsServer", "(System.Security.Cryptography.X509Certificates.X509Certificate,System.Boolean,System.Security.Authentication.SslProtocols,System.Boolean)", "summary", "df-generated"] + - ["System.Net.Security", "SslStream", "AuthenticateAsServerAsync", "(System.Net.Security.ServerOptionsSelectionCallback,System.Object,System.Threading.CancellationToken)", "summary", "df-generated"] - ["System.Net.Security", "SslStream", "AuthenticateAsServerAsync", "(System.Security.Cryptography.X509Certificates.X509Certificate)", "summary", "df-generated"] - ["System.Net.Security", "SslStream", "AuthenticateAsServerAsync", "(System.Security.Cryptography.X509Certificates.X509Certificate,System.Boolean,System.Boolean)", "summary", "df-generated"] - ["System.Net.Security", "SslStream", "AuthenticateAsServerAsync", "(System.Security.Cryptography.X509Certificates.X509Certificate,System.Boolean,System.Security.Authentication.SslProtocols,System.Boolean)", "summary", "df-generated"] + - ["System.Net.Security", "SslStream", "BeginAuthenticateAsClient", "(System.String,System.AsyncCallback,System.Object)", "summary", "df-generated"] + - ["System.Net.Security", "SslStream", "BeginAuthenticateAsClient", "(System.String,System.Security.Cryptography.X509Certificates.X509CertificateCollection,System.Boolean,System.AsyncCallback,System.Object)", "summary", "df-generated"] + - ["System.Net.Security", "SslStream", "BeginAuthenticateAsClient", "(System.String,System.Security.Cryptography.X509Certificates.X509CertificateCollection,System.Security.Authentication.SslProtocols,System.Boolean,System.AsyncCallback,System.Object)", "summary", "df-generated"] + - ["System.Net.Security", "SslStream", "BeginAuthenticateAsServer", "(System.Security.Cryptography.X509Certificates.X509Certificate,System.AsyncCallback,System.Object)", "summary", "df-generated"] + - ["System.Net.Security", "SslStream", "BeginAuthenticateAsServer", "(System.Security.Cryptography.X509Certificates.X509Certificate,System.Boolean,System.Boolean,System.AsyncCallback,System.Object)", "summary", "df-generated"] + - ["System.Net.Security", "SslStream", "BeginAuthenticateAsServer", "(System.Security.Cryptography.X509Certificates.X509Certificate,System.Boolean,System.Security.Authentication.SslProtocols,System.Boolean,System.AsyncCallback,System.Object)", "summary", "df-generated"] - ["System.Net.Security", "SslStream", "Dispose", "(System.Boolean)", "summary", "df-generated"] - ["System.Net.Security", "SslStream", "EndAuthenticateAsClient", "(System.IAsyncResult)", "summary", "df-generated"] - ["System.Net.Security", "SslStream", "EndAuthenticateAsServer", "(System.IAsyncResult)", "summary", "df-generated"] - ["System.Net.Security", "SslStream", "EndRead", "(System.IAsyncResult)", "summary", "df-generated"] - ["System.Net.Security", "SslStream", "EndWrite", "(System.IAsyncResult)", "summary", "df-generated"] - ["System.Net.Security", "SslStream", "Flush", "()", "summary", "df-generated"] - - ["System.Net.Security", "SslStream", "NegotiateClientCertificateAsync", "(System.Threading.CancellationToken)", "summary", "df-generated"] - ["System.Net.Security", "SslStream", "ReadByte", "()", "summary", "df-generated"] - ["System.Net.Security", "SslStream", "Seek", "(System.Int64,System.IO.SeekOrigin)", "summary", "df-generated"] - ["System.Net.Security", "SslStream", "SetLength", "(System.Int64)", "summary", "df-generated"] - ["System.Net.Security", "SslStream", "ShutdownAsync", "()", "summary", "df-generated"] - ["System.Net.Security", "SslStream", "SslStream", "(System.IO.Stream)", "summary", "df-generated"] - ["System.Net.Security", "SslStream", "SslStream", "(System.IO.Stream,System.Boolean)", "summary", "df-generated"] + - ["System.Net.Security", "SslStream", "SslStream", "(System.IO.Stream,System.Boolean,System.Net.Security.RemoteCertificateValidationCallback)", "summary", "df-generated"] + - ["System.Net.Security", "SslStream", "SslStream", "(System.IO.Stream,System.Boolean,System.Net.Security.RemoteCertificateValidationCallback,System.Net.Security.LocalCertificateSelectionCallback)", "summary", "df-generated"] + - ["System.Net.Security", "SslStream", "SslStream", "(System.IO.Stream,System.Boolean,System.Net.Security.RemoteCertificateValidationCallback,System.Net.Security.LocalCertificateSelectionCallback,System.Net.Security.EncryptionPolicy)", "summary", "df-generated"] - ["System.Net.Security", "SslStream", "Write", "(System.ReadOnlySpan)", "summary", "df-generated"] - ["System.Net.Security", "SslStream", "WriteByte", "(System.Byte)", "summary", "df-generated"] - ["System.Net.Security", "SslStream", "get_CanRead", "()", "summary", "df-generated"] diff --git a/csharp/ql/lib/ext/generated/System.Net.Sockets.model.yml b/csharp/ql/lib/ext/generated/System.Net.Sockets.model.yml index 0a23568c6eaa..ce05b06a7821 100644 --- a/csharp/ql/lib/ext/generated/System.Net.Sockets.model.yml +++ b/csharp/ql/lib/ext/generated/System.Net.Sockets.model.yml @@ -15,6 +15,8 @@ extensions: - ["System.Net.Sockets", "NetworkStream", False, "get_Socket", "()", "", "Argument[this].SyntheticField[System.Net.Sockets.NetworkStream._streamSocket]", "ReturnValue", "value", "dfc-generated"] - ["System.Net.Sockets", "Socket", False, "Accept", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["System.Net.Sockets", "Socket", False, "AcceptAsync", "(System.Net.Sockets.SocketAsyncEventArgs)", "", "Argument[this]", "Argument[0]", "taint", "df-generated"] + - ["System.Net.Sockets", "Socket", False, "BeginReceiveFrom", "(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.Net.EndPoint,System.AsyncCallback,System.Object)", "", "Argument[4]", "ReturnValue", "value", "dfc-generated"] + - ["System.Net.Sockets", "Socket", False, "BeginReceiveMessageFrom", "(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.Net.EndPoint,System.AsyncCallback,System.Object)", "", "Argument[4]", "ReturnValue", "value", "dfc-generated"] - ["System.Net.Sockets", "Socket", False, "Bind", "(System.Net.EndPoint)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - ["System.Net.Sockets", "Socket", False, "Connect", "(System.Net.EndPoint)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - ["System.Net.Sockets", "Socket", False, "ConnectAsync", "(System.Net.EndPoint)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] @@ -137,6 +139,25 @@ extensions: - ["System.Net.Sockets", "Socket", "AcceptAsync", "(System.Net.Sockets.Socket)", "summary", "df-generated"] - ["System.Net.Sockets", "Socket", "AcceptAsync", "(System.Net.Sockets.Socket,System.Threading.CancellationToken)", "summary", "df-generated"] - ["System.Net.Sockets", "Socket", "AcceptAsync", "(System.Threading.CancellationToken)", "summary", "df-generated"] + - ["System.Net.Sockets", "Socket", "BeginAccept", "(System.AsyncCallback,System.Object)", "summary", "df-generated"] + - ["System.Net.Sockets", "Socket", "BeginAccept", "(System.Int32,System.AsyncCallback,System.Object)", "summary", "df-generated"] + - ["System.Net.Sockets", "Socket", "BeginAccept", "(System.Net.Sockets.Socket,System.Int32,System.AsyncCallback,System.Object)", "summary", "df-generated"] + - ["System.Net.Sockets", "Socket", "BeginConnect", "(System.Net.EndPoint,System.AsyncCallback,System.Object)", "summary", "df-generated"] + - ["System.Net.Sockets", "Socket", "BeginConnect", "(System.Net.IPAddress,System.Int32,System.AsyncCallback,System.Object)", "summary", "df-generated"] + - ["System.Net.Sockets", "Socket", "BeginConnect", "(System.Net.IPAddress[],System.Int32,System.AsyncCallback,System.Object)", "summary", "df-generated"] + - ["System.Net.Sockets", "Socket", "BeginConnect", "(System.String,System.Int32,System.AsyncCallback,System.Object)", "summary", "df-generated"] + - ["System.Net.Sockets", "Socket", "BeginDisconnect", "(System.Boolean,System.AsyncCallback,System.Object)", "summary", "df-generated"] + - ["System.Net.Sockets", "Socket", "BeginReceive", "(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.AsyncCallback,System.Object)", "summary", "df-generated"] + - ["System.Net.Sockets", "Socket", "BeginReceive", "(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.Net.Sockets.SocketError,System.AsyncCallback,System.Object)", "summary", "df-generated"] + - ["System.Net.Sockets", "Socket", "BeginReceive", "(System.Collections.Generic.IList>,System.Net.Sockets.SocketFlags,System.AsyncCallback,System.Object)", "summary", "df-generated"] + - ["System.Net.Sockets", "Socket", "BeginReceive", "(System.Collections.Generic.IList>,System.Net.Sockets.SocketFlags,System.Net.Sockets.SocketError,System.AsyncCallback,System.Object)", "summary", "df-generated"] + - ["System.Net.Sockets", "Socket", "BeginSend", "(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.AsyncCallback,System.Object)", "summary", "df-generated"] + - ["System.Net.Sockets", "Socket", "BeginSend", "(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.Net.Sockets.SocketError,System.AsyncCallback,System.Object)", "summary", "df-generated"] + - ["System.Net.Sockets", "Socket", "BeginSend", "(System.Collections.Generic.IList>,System.Net.Sockets.SocketFlags,System.AsyncCallback,System.Object)", "summary", "df-generated"] + - ["System.Net.Sockets", "Socket", "BeginSend", "(System.Collections.Generic.IList>,System.Net.Sockets.SocketFlags,System.Net.Sockets.SocketError,System.AsyncCallback,System.Object)", "summary", "df-generated"] + - ["System.Net.Sockets", "Socket", "BeginSendFile", "(System.String,System.AsyncCallback,System.Object)", "summary", "df-generated"] + - ["System.Net.Sockets", "Socket", "BeginSendFile", "(System.String,System.Byte[],System.Byte[],System.Net.Sockets.TransmitFileOptions,System.AsyncCallback,System.Object)", "summary", "df-generated"] + - ["System.Net.Sockets", "Socket", "BeginSendTo", "(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.Net.EndPoint,System.AsyncCallback,System.Object)", "summary", "df-generated"] - ["System.Net.Sockets", "Socket", "CancelConnectAsync", "(System.Net.Sockets.SocketAsyncEventArgs)", "summary", "df-generated"] - ["System.Net.Sockets", "Socket", "Close", "()", "summary", "df-generated"] - ["System.Net.Sockets", "Socket", "Close", "(System.Int32)", "summary", "df-generated"] @@ -257,11 +278,13 @@ extensions: - ["System.Net.Sockets", "SocketAsyncEventArgs", "SetBuffer", "(System.Byte[],System.Int32,System.Int32)", "summary", "df-generated"] - ["System.Net.Sockets", "SocketAsyncEventArgs", "SetBuffer", "(System.Int32,System.Int32)", "summary", "df-generated"] - ["System.Net.Sockets", "SocketAsyncEventArgs", "SocketAsyncEventArgs", "(System.Boolean)", "summary", "df-generated"] + - ["System.Net.Sockets", "SocketAsyncEventArgs", "add_Completed", "(System.EventHandler)", "summary", "df-generated"] - ["System.Net.Sockets", "SocketAsyncEventArgs", "get_Buffer", "()", "summary", "df-generated"] - ["System.Net.Sockets", "SocketAsyncEventArgs", "get_BytesTransferred", "()", "summary", "df-generated"] - ["System.Net.Sockets", "SocketAsyncEventArgs", "get_Count", "()", "summary", "df-generated"] - ["System.Net.Sockets", "SocketAsyncEventArgs", "get_LastOperation", "()", "summary", "df-generated"] - ["System.Net.Sockets", "SocketAsyncEventArgs", "get_Offset", "()", "summary", "df-generated"] + - ["System.Net.Sockets", "SocketAsyncEventArgs", "remove_Completed", "(System.EventHandler)", "summary", "df-generated"] - ["System.Net.Sockets", "SocketException", "SocketException", "(System.Int32)", "summary", "df-generated"] - ["System.Net.Sockets", "SocketException", "SocketException", "(System.Int32,System.String)", "summary", "df-generated"] - ["System.Net.Sockets", "SocketException", "SocketException", "(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)", "summary", "df-generated"] @@ -283,6 +306,9 @@ extensions: - ["System.Net.Sockets", "SocketTaskExtensions", "SendAsync", "(System.Net.Sockets.Socket,System.ArraySegment,System.Net.Sockets.SocketFlags)", "summary", "df-generated"] - ["System.Net.Sockets", "SocketTaskExtensions", "SendAsync", "(System.Net.Sockets.Socket,System.Collections.Generic.IList>,System.Net.Sockets.SocketFlags)", "summary", "df-generated"] - ["System.Net.Sockets", "SocketTaskExtensions", "SendAsync", "(System.Net.Sockets.Socket,System.ReadOnlyMemory,System.Net.Sockets.SocketFlags,System.Threading.CancellationToken)", "summary", "df-generated"] + - ["System.Net.Sockets", "TcpClient", "BeginConnect", "(System.Net.IPAddress,System.Int32,System.AsyncCallback,System.Object)", "summary", "df-generated"] + - ["System.Net.Sockets", "TcpClient", "BeginConnect", "(System.Net.IPAddress[],System.Int32,System.AsyncCallback,System.Object)", "summary", "df-generated"] + - ["System.Net.Sockets", "TcpClient", "BeginConnect", "(System.String,System.Int32,System.AsyncCallback,System.Object)", "summary", "df-generated"] - ["System.Net.Sockets", "TcpClient", "Close", "()", "summary", "df-generated"] - ["System.Net.Sockets", "TcpClient", "Connect", "(System.Net.IPAddress,System.Int32)", "summary", "df-generated"] - ["System.Net.Sockets", "TcpClient", "Connect", "(System.Net.IPAddress[],System.Int32)", "summary", "df-generated"] @@ -306,6 +332,8 @@ extensions: - ["System.Net.Sockets", "TcpListener", "AcceptTcpClientAsync", "()", "summary", "df-generated"] - ["System.Net.Sockets", "TcpListener", "AcceptTcpClientAsync", "(System.Threading.CancellationToken)", "summary", "df-generated"] - ["System.Net.Sockets", "TcpListener", "AllowNatTraversal", "(System.Boolean)", "summary", "df-generated"] + - ["System.Net.Sockets", "TcpListener", "BeginAcceptSocket", "(System.AsyncCallback,System.Object)", "summary", "df-generated"] + - ["System.Net.Sockets", "TcpListener", "BeginAcceptTcpClient", "(System.AsyncCallback,System.Object)", "summary", "df-generated"] - ["System.Net.Sockets", "TcpListener", "Create", "(System.Int32)", "summary", "df-generated"] - ["System.Net.Sockets", "TcpListener", "Dispose", "()", "summary", "df-generated"] - ["System.Net.Sockets", "TcpListener", "EndAcceptSocket", "(System.IAsyncResult)", "summary", "df-generated"] @@ -318,6 +346,10 @@ extensions: - ["System.Net.Sockets", "TcpListener", "TcpListener", "(System.Net.IPAddress,System.Int32)", "summary", "df-generated"] - ["System.Net.Sockets", "TcpListener", "get_Active", "()", "summary", "df-generated"] - ["System.Net.Sockets", "UdpClient", "AllowNatTraversal", "(System.Boolean)", "summary", "df-generated"] + - ["System.Net.Sockets", "UdpClient", "BeginReceive", "(System.AsyncCallback,System.Object)", "summary", "df-generated"] + - ["System.Net.Sockets", "UdpClient", "BeginSend", "(System.Byte[],System.Int32,System.AsyncCallback,System.Object)", "summary", "df-generated"] + - ["System.Net.Sockets", "UdpClient", "BeginSend", "(System.Byte[],System.Int32,System.Net.IPEndPoint,System.AsyncCallback,System.Object)", "summary", "df-generated"] + - ["System.Net.Sockets", "UdpClient", "BeginSend", "(System.Byte[],System.Int32,System.String,System.Int32,System.AsyncCallback,System.Object)", "summary", "df-generated"] - ["System.Net.Sockets", "UdpClient", "Close", "()", "summary", "df-generated"] - ["System.Net.Sockets", "UdpClient", "Connect", "(System.Net.IPAddress,System.Int32)", "summary", "df-generated"] - ["System.Net.Sockets", "UdpClient", "Connect", "(System.String,System.Int32)", "summary", "df-generated"] diff --git a/csharp/ql/lib/ext/generated/System.Net.model.yml b/csharp/ql/lib/ext/generated/System.Net.model.yml index 2c6875a816a9..a236f8b1e606 100644 --- a/csharp/ql/lib/ext/generated/System.Net.model.yml +++ b/csharp/ql/lib/ext/generated/System.Net.model.yml @@ -22,6 +22,7 @@ extensions: - ["System.Net", "FtpWebResponse", False, "get_ExitMessage", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["System.Net", "FtpWebResponse", False, "get_StatusDescription", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["System.Net", "FtpWebResponse", False, "get_WelcomeMessage", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["System.Net", "HttpListener", False, "BeginGetContext", "(System.AsyncCallback,System.Object)", "", "Argument[1]", "ReturnValue.SyntheticField[System.Net.ListenerAsyncResult._state]", "value", "dfc-generated"] - ["System.Net", "HttpListener", False, "get_DefaultServiceNames", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["System.Net", "HttpListener", False, "get_Prefixes", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["System.Net", "HttpListener", False, "get_TimeoutManager", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] @@ -182,6 +183,11 @@ extensions: - ["System.Net", "CredentialCache", "Remove", "(System.Uri,System.String)", "summary", "df-generated"] - ["System.Net", "CredentialCache", "get_DefaultCredentials", "()", "summary", "df-generated"] - ["System.Net", "CredentialCache", "get_DefaultNetworkCredentials", "()", "summary", "df-generated"] + - ["System.Net", "Dns", "BeginGetHostAddresses", "(System.String,System.AsyncCallback,System.Object)", "summary", "df-generated"] + - ["System.Net", "Dns", "BeginGetHostByName", "(System.String,System.AsyncCallback,System.Object)", "summary", "df-generated"] + - ["System.Net", "Dns", "BeginGetHostEntry", "(System.Net.IPAddress,System.AsyncCallback,System.Object)", "summary", "df-generated"] + - ["System.Net", "Dns", "BeginGetHostEntry", "(System.String,System.AsyncCallback,System.Object)", "summary", "df-generated"] + - ["System.Net", "Dns", "BeginResolve", "(System.String,System.AsyncCallback,System.Object)", "summary", "df-generated"] - ["System.Net", "Dns", "EndGetHostAddresses", "(System.IAsyncResult)", "summary", "df-generated"] - ["System.Net", "Dns", "EndGetHostByName", "(System.IAsyncResult)", "summary", "df-generated"] - ["System.Net", "Dns", "EndGetHostEntry", "(System.IAsyncResult)", "summary", "df-generated"] @@ -226,6 +232,8 @@ extensions: - ["System.Net", "EndpointPermission", "get_Port", "()", "summary", "df-generated"] - ["System.Net", "EndpointPermission", "get_Transport", "()", "summary", "df-generated"] - ["System.Net", "FileWebRequest", "Abort", "()", "summary", "df-generated"] + - ["System.Net", "FileWebRequest", "BeginGetRequestStream", "(System.AsyncCallback,System.Object)", "summary", "df-generated"] + - ["System.Net", "FileWebRequest", "BeginGetResponse", "(System.AsyncCallback,System.Object)", "summary", "df-generated"] - ["System.Net", "FileWebRequest", "FileWebRequest", "(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)", "summary", "df-generated"] - ["System.Net", "FileWebRequest", "GetObjectData", "(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)", "summary", "df-generated"] - ["System.Net", "FileWebRequest", "GetResponseAsync", "()", "summary", "df-generated"] @@ -234,6 +242,8 @@ extensions: - ["System.Net", "FileWebResponse", "GetObjectData", "(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)", "summary", "df-generated"] - ["System.Net", "FileWebResponse", "get_SupportsHeaders", "()", "summary", "df-generated"] - ["System.Net", "FtpWebRequest", "Abort", "()", "summary", "df-generated"] + - ["System.Net", "FtpWebRequest", "BeginGetRequestStream", "(System.AsyncCallback,System.Object)", "summary", "df-generated"] + - ["System.Net", "FtpWebRequest", "BeginGetResponse", "(System.AsyncCallback,System.Object)", "summary", "df-generated"] - ["System.Net", "FtpWebRequest", "get_ServicePoint", "()", "summary", "df-generated"] - ["System.Net", "FtpWebResponse", "Close", "()", "summary", "df-generated"] - ["System.Net", "FtpWebResponse", "get_LastModified", "()", "summary", "df-generated"] @@ -263,6 +273,7 @@ extensions: - ["System.Net", "HttpListenerPrefixCollection", "get_Count", "()", "summary", "df-generated"] - ["System.Net", "HttpListenerPrefixCollection", "get_IsReadOnly", "()", "summary", "df-generated"] - ["System.Net", "HttpListenerPrefixCollection", "get_IsSynchronized", "()", "summary", "df-generated"] + - ["System.Net", "HttpListenerRequest", "BeginGetClientCertificate", "(System.AsyncCallback,System.Object)", "summary", "df-generated"] - ["System.Net", "HttpListenerRequest", "GetClientCertificateAsync", "()", "summary", "df-generated"] - ["System.Net", "HttpListenerRequest", "get_AcceptTypes", "()", "summary", "df-generated"] - ["System.Net", "HttpListenerRequest", "get_ClientCertificateError", "()", "summary", "df-generated"] @@ -298,6 +309,8 @@ extensions: - ["System.Net", "HttpWebRequest", "AddRange", "(System.String,System.Int32,System.Int32)", "summary", "df-generated"] - ["System.Net", "HttpWebRequest", "AddRange", "(System.String,System.Int64)", "summary", "df-generated"] - ["System.Net", "HttpWebRequest", "AddRange", "(System.String,System.Int64,System.Int64)", "summary", "df-generated"] + - ["System.Net", "HttpWebRequest", "BeginGetRequestStream", "(System.AsyncCallback,System.Object)", "summary", "df-generated"] + - ["System.Net", "HttpWebRequest", "BeginGetResponse", "(System.AsyncCallback,System.Object)", "summary", "df-generated"] - ["System.Net", "HttpWebRequest", "GetObjectData", "(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)", "summary", "df-generated"] - ["System.Net", "HttpWebRequest", "HttpWebRequest", "(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)", "summary", "df-generated"] - ["System.Net", "HttpWebRequest", "get_HaveResponse", "()", "summary", "df-generated"] @@ -496,7 +509,31 @@ extensions: - ["System.Net", "WebClient", "UploadValuesAsync", "(System.Uri,System.Collections.Specialized.NameValueCollection)", "summary", "df-generated"] - ["System.Net", "WebClient", "UploadValuesTaskAsync", "(System.String,System.Collections.Specialized.NameValueCollection)", "summary", "df-generated"] - ["System.Net", "WebClient", "UploadValuesTaskAsync", "(System.Uri,System.Collections.Specialized.NameValueCollection)", "summary", "df-generated"] + - ["System.Net", "WebClient", "add_DownloadDataCompleted", "(System.Net.DownloadDataCompletedEventHandler)", "summary", "df-generated"] + - ["System.Net", "WebClient", "add_DownloadFileCompleted", "(System.ComponentModel.AsyncCompletedEventHandler)", "summary", "df-generated"] + - ["System.Net", "WebClient", "add_DownloadProgressChanged", "(System.Net.DownloadProgressChangedEventHandler)", "summary", "df-generated"] + - ["System.Net", "WebClient", "add_DownloadStringCompleted", "(System.Net.DownloadStringCompletedEventHandler)", "summary", "df-generated"] + - ["System.Net", "WebClient", "add_OpenReadCompleted", "(System.Net.OpenReadCompletedEventHandler)", "summary", "df-generated"] + - ["System.Net", "WebClient", "add_OpenWriteCompleted", "(System.Net.OpenWriteCompletedEventHandler)", "summary", "df-generated"] + - ["System.Net", "WebClient", "add_UploadDataCompleted", "(System.Net.UploadDataCompletedEventHandler)", "summary", "df-generated"] + - ["System.Net", "WebClient", "add_UploadFileCompleted", "(System.Net.UploadFileCompletedEventHandler)", "summary", "df-generated"] + - ["System.Net", "WebClient", "add_UploadProgressChanged", "(System.Net.UploadProgressChangedEventHandler)", "summary", "df-generated"] + - ["System.Net", "WebClient", "add_UploadStringCompleted", "(System.Net.UploadStringCompletedEventHandler)", "summary", "df-generated"] + - ["System.Net", "WebClient", "add_UploadValuesCompleted", "(System.Net.UploadValuesCompletedEventHandler)", "summary", "df-generated"] + - ["System.Net", "WebClient", "add_WriteStreamClosed", "(System.Net.WriteStreamClosedEventHandler)", "summary", "df-generated"] - ["System.Net", "WebClient", "get_IsBusy", "()", "summary", "df-generated"] + - ["System.Net", "WebClient", "remove_DownloadDataCompleted", "(System.Net.DownloadDataCompletedEventHandler)", "summary", "df-generated"] + - ["System.Net", "WebClient", "remove_DownloadFileCompleted", "(System.ComponentModel.AsyncCompletedEventHandler)", "summary", "df-generated"] + - ["System.Net", "WebClient", "remove_DownloadProgressChanged", "(System.Net.DownloadProgressChangedEventHandler)", "summary", "df-generated"] + - ["System.Net", "WebClient", "remove_DownloadStringCompleted", "(System.Net.DownloadStringCompletedEventHandler)", "summary", "df-generated"] + - ["System.Net", "WebClient", "remove_OpenReadCompleted", "(System.Net.OpenReadCompletedEventHandler)", "summary", "df-generated"] + - ["System.Net", "WebClient", "remove_OpenWriteCompleted", "(System.Net.OpenWriteCompletedEventHandler)", "summary", "df-generated"] + - ["System.Net", "WebClient", "remove_UploadDataCompleted", "(System.Net.UploadDataCompletedEventHandler)", "summary", "df-generated"] + - ["System.Net", "WebClient", "remove_UploadFileCompleted", "(System.Net.UploadFileCompletedEventHandler)", "summary", "df-generated"] + - ["System.Net", "WebClient", "remove_UploadProgressChanged", "(System.Net.UploadProgressChangedEventHandler)", "summary", "df-generated"] + - ["System.Net", "WebClient", "remove_UploadStringCompleted", "(System.Net.UploadStringCompletedEventHandler)", "summary", "df-generated"] + - ["System.Net", "WebClient", "remove_UploadValuesCompleted", "(System.Net.UploadValuesCompletedEventHandler)", "summary", "df-generated"] + - ["System.Net", "WebClient", "remove_WriteStreamClosed", "(System.Net.WriteStreamClosedEventHandler)", "summary", "df-generated"] - ["System.Net", "WebException", "WebException", "(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)", "summary", "df-generated"] - ["System.Net", "WebException", "WebException", "(System.String)", "summary", "df-generated"] - ["System.Net", "WebException", "WebException", "(System.String,System.Exception)", "summary", "df-generated"] @@ -547,6 +584,8 @@ extensions: - ["System.Net", "WebProxy", "WebProxy", "(System.Uri,System.Boolean,System.String[],System.Net.ICredentials)", "summary", "df-generated"] - ["System.Net", "WebProxy", "get_BypassArrayList", "()", "summary", "df-generated"] - ["System.Net", "WebRequest", "Abort", "()", "summary", "df-generated"] + - ["System.Net", "WebRequest", "BeginGetRequestStream", "(System.AsyncCallback,System.Object)", "summary", "df-generated"] + - ["System.Net", "WebRequest", "BeginGetResponse", "(System.AsyncCallback,System.Object)", "summary", "df-generated"] - ["System.Net", "WebRequest", "GetObjectData", "(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)", "summary", "df-generated"] - ["System.Net", "WebRequest", "GetResponseAsync", "()", "summary", "df-generated"] - ["System.Net", "WebRequest", "GetSystemWebProxy", "()", "summary", "df-generated"] diff --git a/csharp/ql/lib/ext/generated/System.Reflection.Context.model.yml b/csharp/ql/lib/ext/generated/System.Reflection.Context.model.yml index 224d0fb7272a..db4615af7ace 100644 --- a/csharp/ql/lib/ext/generated/System.Reflection.Context.model.yml +++ b/csharp/ql/lib/ext/generated/System.Reflection.Context.model.yml @@ -12,3 +12,5 @@ extensions: extensible: neutralModel data: - ["System.Reflection.Context", "CustomReflectionContext", "AddProperties", "(System.Type)", "summary", "df-generated"] + - ["System.Reflection.Context", "CustomReflectionContext", "CreateProperty", "(System.Type,System.String,System.Func,System.Action)", "summary", "df-generated"] + - ["System.Reflection.Context", "CustomReflectionContext", "CreateProperty", "(System.Type,System.String,System.Func,System.Action,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable)", "summary", "df-generated"] diff --git a/csharp/ql/lib/ext/generated/System.Reflection.Emit.model.yml b/csharp/ql/lib/ext/generated/System.Reflection.Emit.model.yml index 129fed96c8a3..c17596ddc888 100644 --- a/csharp/ql/lib/ext/generated/System.Reflection.Emit.model.yml +++ b/csharp/ql/lib/ext/generated/System.Reflection.Emit.model.yml @@ -172,7 +172,6 @@ extensions: - ["System.Reflection.Emit", "ConstructorBuilder", "GetILGenerator", "()", "summary", "df-generated"] - ["System.Reflection.Emit", "ConstructorBuilder", "GetILGenerator", "(System.Int32)", "summary", "df-generated"] - ["System.Reflection.Emit", "ConstructorBuilder", "GetMethodImplementationFlags", "()", "summary", "df-generated"] - - ["System.Reflection.Emit", "ConstructorBuilder", "Invoke", "(System.Object,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo)", "summary", "df-generated"] - ["System.Reflection.Emit", "ConstructorBuilder", "Invoke", "(System.Reflection.BindingFlags,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo)", "summary", "df-generated"] - ["System.Reflection.Emit", "ConstructorBuilder", "IsDefined", "(System.Type,System.Boolean)", "summary", "df-generated"] - ["System.Reflection.Emit", "ConstructorBuilder", "SetCustomAttribute", "(System.Reflection.ConstructorInfo,System.Byte[])", "summary", "df-generated"] @@ -206,7 +205,6 @@ extensions: - ["System.Reflection.Emit", "DynamicMethod", "GetILGenerator", "()", "summary", "df-generated"] - ["System.Reflection.Emit", "DynamicMethod", "GetILGenerator", "(System.Int32)", "summary", "df-generated"] - ["System.Reflection.Emit", "DynamicMethod", "GetMethodImplementationFlags", "()", "summary", "df-generated"] - - ["System.Reflection.Emit", "DynamicMethod", "Invoke", "(System.Object,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo)", "summary", "df-generated"] - ["System.Reflection.Emit", "DynamicMethod", "IsDefined", "(System.Type,System.Boolean)", "summary", "df-generated"] - ["System.Reflection.Emit", "DynamicMethod", "ToString", "()", "summary", "df-generated"] - ["System.Reflection.Emit", "DynamicMethod", "get_Attributes", "()", "summary", "df-generated"] @@ -380,7 +378,6 @@ extensions: - ["System.Reflection.Emit", "MethodBuilder", "GetILGenerator", "()", "summary", "df-generated"] - ["System.Reflection.Emit", "MethodBuilder", "GetILGenerator", "(System.Int32)", "summary", "df-generated"] - ["System.Reflection.Emit", "MethodBuilder", "GetMethodImplementationFlags", "()", "summary", "df-generated"] - - ["System.Reflection.Emit", "MethodBuilder", "Invoke", "(System.Object,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo)", "summary", "df-generated"] - ["System.Reflection.Emit", "MethodBuilder", "IsDefined", "(System.Type,System.Boolean)", "summary", "df-generated"] - ["System.Reflection.Emit", "MethodBuilder", "SetCustomAttribute", "(System.Reflection.ConstructorInfo,System.Byte[])", "summary", "df-generated"] - ["System.Reflection.Emit", "MethodBuilder", "SetCustomAttribute", "(System.Reflection.Emit.CustomAttributeBuilder)", "summary", "df-generated"] @@ -459,7 +456,6 @@ extensions: - ["System.Reflection.Emit", "PropertyBuilder", "AddOtherMethod", "(System.Reflection.Emit.MethodBuilder)", "summary", "df-generated"] - ["System.Reflection.Emit", "PropertyBuilder", "GetCustomAttributes", "(System.Boolean)", "summary", "df-generated"] - ["System.Reflection.Emit", "PropertyBuilder", "GetCustomAttributes", "(System.Type,System.Boolean)", "summary", "df-generated"] - - ["System.Reflection.Emit", "PropertyBuilder", "GetValue", "(System.Object,System.Object[])", "summary", "df-generated"] - ["System.Reflection.Emit", "PropertyBuilder", "GetValue", "(System.Object,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo)", "summary", "df-generated"] - ["System.Reflection.Emit", "PropertyBuilder", "IsDefined", "(System.Type,System.Boolean)", "summary", "df-generated"] - ["System.Reflection.Emit", "PropertyBuilder", "SetConstant", "(System.Object)", "summary", "df-generated"] diff --git a/csharp/ql/lib/ext/generated/System.Reflection.Metadata.Ecma335.model.yml b/csharp/ql/lib/ext/generated/System.Reflection.Metadata.Ecma335.model.yml index f871ccbf43e5..9eaeb30bf787 100644 --- a/csharp/ql/lib/ext/generated/System.Reflection.Metadata.Ecma335.model.yml +++ b/csharp/ql/lib/ext/generated/System.Reflection.Metadata.Ecma335.model.yml @@ -24,6 +24,7 @@ extensions: - ["System.Reflection.Metadata.Ecma335", "PermissionSetEncoder", False, "AddPermission", "(System.String,System.Collections.Immutable.ImmutableArray)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] - ["System.Reflection.Metadata.Ecma335", "PermissionSetEncoder", False, "AddPermission", "(System.String,System.Reflection.Metadata.BlobBuilder)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] - ["System.Reflection.Metadata.Ecma335", "PortablePdbBuilder", False, "Serialize", "(System.Reflection.Metadata.BlobBuilder)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["System.Reflection.Metadata.Ecma335", "PortablePdbBuilder", False, "Serialize", "(System.Reflection.Metadata.BlobBuilder)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["System.Reflection.Metadata.Ecma335", "SignatureDecoder", False, "DecodeFieldSignature", "(System.Reflection.Metadata.BlobReader)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["System.Reflection.Metadata.Ecma335", "SignatureDecoder", False, "DecodeLocalSignature", "(System.Reflection.Metadata.BlobReader)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["System.Reflection.Metadata.Ecma335", "SignatureDecoder", False, "DecodeMethodSignature", "(System.Reflection.Metadata.BlobReader)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] @@ -32,6 +33,7 @@ extensions: - ["System.Reflection.Metadata.Ecma335", "SignatureDecoder", False, "SignatureDecoder", "(System.Reflection.Metadata.ISignatureTypeProvider,System.Reflection.Metadata.MetadataReader,TGenericContext)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - ["System.Reflection.Metadata.Ecma335", "SignatureDecoder", False, "SignatureDecoder", "(System.Reflection.Metadata.ISignatureTypeProvider,System.Reflection.Metadata.MetadataReader,TGenericContext)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] - ["System.Reflection.Metadata.Ecma335", "SignatureDecoder", False, "SignatureDecoder", "(System.Reflection.Metadata.ISignatureTypeProvider,System.Reflection.Metadata.MetadataReader,TGenericContext)", "", "Argument[2]", "Argument[this]", "taint", "df-generated"] + - ["System.Reflection.Metadata.Ecma335", "SignatureTypeEncoder", False, "Array", "(System.Action,System.Action)", "", "Argument[this]", "Argument[0].Parameter[0]", "value", "dfc-generated"] - ["System.Reflection.Metadata.Ecma335", "SignatureTypeEncoder", False, "Array", "(System.Reflection.Metadata.Ecma335.SignatureTypeEncoder,System.Reflection.Metadata.Ecma335.ArrayShapeEncoder)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] - ["System.Reflection.Metadata.Ecma335", "SignatureTypeEncoder", False, "Pointer", "()", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] - ["System.Reflection.Metadata.Ecma335", "SignatureTypeEncoder", False, "SZArray", "()", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] @@ -43,6 +45,7 @@ extensions: - ["System.Reflection.Metadata.Ecma335", "ArrayShapeEncoder", "Shape", "(System.Int32,System.Collections.Immutable.ImmutableArray,System.Collections.Immutable.ImmutableArray)", "summary", "df-generated"] - ["System.Reflection.Metadata.Ecma335", "ArrayShapeEncoder", "get_Builder", "()", "summary", "df-generated"] - ["System.Reflection.Metadata.Ecma335", "BlobEncoder", "BlobEncoder", "(System.Reflection.Metadata.BlobBuilder)", "summary", "df-generated"] + - ["System.Reflection.Metadata.Ecma335", "BlobEncoder", "CustomAttributeSignature", "(System.Action,System.Action)", "summary", "df-generated"] - ["System.Reflection.Metadata.Ecma335", "BlobEncoder", "CustomAttributeSignature", "(System.Reflection.Metadata.Ecma335.FixedArgumentsEncoder,System.Reflection.Metadata.Ecma335.CustomAttributeNamedArgumentsEncoder)", "summary", "df-generated"] - ["System.Reflection.Metadata.Ecma335", "BlobEncoder", "Field", "()", "summary", "df-generated"] - ["System.Reflection.Metadata.Ecma335", "BlobEncoder", "FieldSignature", "()", "summary", "df-generated"] @@ -158,7 +161,9 @@ extensions: - ["System.Reflection.Metadata.Ecma335", "LabelHandle", "op_Inequality", "(System.Reflection.Metadata.Ecma335.LabelHandle,System.Reflection.Metadata.Ecma335.LabelHandle)", "summary", "df-generated"] - ["System.Reflection.Metadata.Ecma335", "LiteralEncoder", "LiteralEncoder", "(System.Reflection.Metadata.BlobBuilder)", "summary", "df-generated"] - ["System.Reflection.Metadata.Ecma335", "LiteralEncoder", "Scalar", "()", "summary", "df-generated"] + - ["System.Reflection.Metadata.Ecma335", "LiteralEncoder", "TaggedScalar", "(System.Action,System.Action)", "summary", "df-generated"] - ["System.Reflection.Metadata.Ecma335", "LiteralEncoder", "TaggedScalar", "(System.Reflection.Metadata.Ecma335.CustomAttributeElementTypeEncoder,System.Reflection.Metadata.Ecma335.ScalarEncoder)", "summary", "df-generated"] + - ["System.Reflection.Metadata.Ecma335", "LiteralEncoder", "TaggedVector", "(System.Action,System.Action)", "summary", "df-generated"] - ["System.Reflection.Metadata.Ecma335", "LiteralEncoder", "TaggedVector", "(System.Reflection.Metadata.Ecma335.CustomAttributeArrayTypeEncoder,System.Reflection.Metadata.Ecma335.VectorEncoder)", "summary", "df-generated"] - ["System.Reflection.Metadata.Ecma335", "LiteralEncoder", "Vector", "()", "summary", "df-generated"] - ["System.Reflection.Metadata.Ecma335", "LiteralEncoder", "get_Builder", "()", "summary", "df-generated"] @@ -318,6 +323,7 @@ extensions: - ["System.Reflection.Metadata.Ecma335", "MethodBodyStreamEncoder", "MethodBodyStreamEncoder", "(System.Reflection.Metadata.BlobBuilder)", "summary", "df-generated"] - ["System.Reflection.Metadata.Ecma335", "MethodBodyStreamEncoder", "get_Builder", "()", "summary", "df-generated"] - ["System.Reflection.Metadata.Ecma335", "MethodSignatureEncoder", "MethodSignatureEncoder", "(System.Reflection.Metadata.BlobBuilder,System.Boolean)", "summary", "df-generated"] + - ["System.Reflection.Metadata.Ecma335", "MethodSignatureEncoder", "Parameters", "(System.Int32,System.Action,System.Action)", "summary", "df-generated"] - ["System.Reflection.Metadata.Ecma335", "MethodSignatureEncoder", "Parameters", "(System.Int32,System.Reflection.Metadata.Ecma335.ReturnTypeEncoder,System.Reflection.Metadata.Ecma335.ParametersEncoder)", "summary", "df-generated"] - ["System.Reflection.Metadata.Ecma335", "MethodSignatureEncoder", "get_Builder", "()", "summary", "df-generated"] - ["System.Reflection.Metadata.Ecma335", "MethodSignatureEncoder", "get_HasVarArgs", "()", "summary", "df-generated"] @@ -329,6 +335,7 @@ extensions: - ["System.Reflection.Metadata.Ecma335", "NamedArgumentTypeEncoder", "SZArray", "()", "summary", "df-generated"] - ["System.Reflection.Metadata.Ecma335", "NamedArgumentTypeEncoder", "ScalarType", "()", "summary", "df-generated"] - ["System.Reflection.Metadata.Ecma335", "NamedArgumentTypeEncoder", "get_Builder", "()", "summary", "df-generated"] + - ["System.Reflection.Metadata.Ecma335", "NamedArgumentsEncoder", "AddArgument", "(System.Boolean,System.Action,System.Action,System.Action)", "summary", "df-generated"] - ["System.Reflection.Metadata.Ecma335", "NamedArgumentsEncoder", "AddArgument", "(System.Boolean,System.Reflection.Metadata.Ecma335.NamedArgumentTypeEncoder,System.Reflection.Metadata.Ecma335.NameEncoder,System.Reflection.Metadata.Ecma335.LiteralEncoder)", "summary", "df-generated"] - ["System.Reflection.Metadata.Ecma335", "NamedArgumentsEncoder", "NamedArgumentsEncoder", "(System.Reflection.Metadata.BlobBuilder)", "summary", "df-generated"] - ["System.Reflection.Metadata.Ecma335", "NamedArgumentsEncoder", "get_Builder", "()", "summary", "df-generated"] @@ -344,6 +351,7 @@ extensions: - ["System.Reflection.Metadata.Ecma335", "ParametersEncoder", "get_HasVarArgs", "()", "summary", "df-generated"] - ["System.Reflection.Metadata.Ecma335", "PermissionSetEncoder", "PermissionSetEncoder", "(System.Reflection.Metadata.BlobBuilder)", "summary", "df-generated"] - ["System.Reflection.Metadata.Ecma335", "PermissionSetEncoder", "get_Builder", "()", "summary", "df-generated"] + - ["System.Reflection.Metadata.Ecma335", "PortablePdbBuilder", "PortablePdbBuilder", "(System.Reflection.Metadata.Ecma335.MetadataBuilder,System.Collections.Immutable.ImmutableArray,System.Reflection.Metadata.MethodDefinitionHandle,System.Func,System.Reflection.Metadata.BlobContentId>)", "summary", "df-generated"] - ["System.Reflection.Metadata.Ecma335", "PortablePdbBuilder", "get_FormatVersion", "()", "summary", "df-generated"] - ["System.Reflection.Metadata.Ecma335", "PortablePdbBuilder", "get_IdProvider", "()", "summary", "df-generated"] - ["System.Reflection.Metadata.Ecma335", "PortablePdbBuilder", "get_MetadataVersion", "()", "summary", "df-generated"] diff --git a/csharp/ql/lib/ext/generated/System.Reflection.PortableExecutable.model.yml b/csharp/ql/lib/ext/generated/System.Reflection.PortableExecutable.model.yml index e2a2d653d255..762ad2ec3cc9 100644 --- a/csharp/ql/lib/ext/generated/System.Reflection.PortableExecutable.model.yml +++ b/csharp/ql/lib/ext/generated/System.Reflection.PortableExecutable.model.yml @@ -4,9 +4,11 @@ extensions: pack: codeql/csharp-all extensible: summaryModel data: + - ["System.Reflection.PortableExecutable", "DebugDirectoryBuilder", False, "AddEntry", "(System.Reflection.PortableExecutable.DebugDirectoryEntryType,System.UInt32,System.UInt32,TData,System.Action)", "", "Argument[3]", "Argument[4].Parameter[1]", "value", "dfc-generated"] - ["System.Reflection.PortableExecutable", "PEBuilder+Section", False, "Section", "(System.String,System.Reflection.PortableExecutable.SectionCharacteristics)", "", "Argument[0]", "Argument[this].Field[System.Reflection.PortableExecutable.PEBuilder+Section.Name]", "value", "dfc-generated"] - ["System.Reflection.PortableExecutable", "PEBuilder", False, "GetSections", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["System.Reflection.PortableExecutable", "PEBuilder", False, "Serialize", "(System.Reflection.Metadata.BlobBuilder)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["System.Reflection.PortableExecutable", "PEBuilder", False, "Serialize", "(System.Reflection.Metadata.BlobBuilder)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["System.Reflection.PortableExecutable", "PEBuilder", True, "GetDirectories", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["System.Reflection.PortableExecutable", "PEBuilder", True, "SerializeSection", "(System.String,System.Reflection.PortableExecutable.SectionLocation)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["System.Reflection.PortableExecutable", "PEHeaders", False, "get_CoffHeader", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] @@ -21,6 +23,8 @@ extensions: - ["System.Reflection.PortableExecutable", "PEReader", False, "PEReader", "(System.Byte*,System.Int32,System.Boolean)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - ["System.Reflection.PortableExecutable", "PEReader", False, "PEReader", "(System.Collections.Immutable.ImmutableArray)", "", "Argument[0].Element", "Argument[this]", "taint", "df-generated"] - ["System.Reflection.PortableExecutable", "PEReader", False, "PEReader", "(System.IO.Stream,System.Reflection.PortableExecutable.PEStreamOptions,System.Int32)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["System.Reflection.PortableExecutable", "PEReader", False, "TryOpenAssociatedPortablePdb", "(System.String,System.Func,System.Reflection.Metadata.MetadataReaderProvider,System.String)", "", "Argument[0]", "Argument[1].Parameter[0]", "taint", "dfc-generated"] + - ["System.Reflection.PortableExecutable", "PEReader", False, "TryOpenAssociatedPortablePdb", "(System.String,System.Func,System.Reflection.Metadata.MetadataReaderProvider,System.String)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] - ["System.Reflection.PortableExecutable", "PEReader", False, "get_PEHeaders", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - addsTo: pack: codeql/csharp-all @@ -64,7 +68,10 @@ extensions: - ["System.Reflection.PortableExecutable", "DebugDirectoryEntry", "get_Type", "()", "summary", "df-generated"] - ["System.Reflection.PortableExecutable", "DirectoryEntry", "DirectoryEntry", "(System.Int32,System.Int32)", "summary", "df-generated"] - ["System.Reflection.PortableExecutable", "ManagedPEBuilder", "CreateSections", "()", "summary", "df-generated"] + - ["System.Reflection.PortableExecutable", "ManagedPEBuilder", "ManagedPEBuilder", "(System.Reflection.PortableExecutable.PEHeaderBuilder,System.Reflection.Metadata.Ecma335.MetadataRootBuilder,System.Reflection.Metadata.BlobBuilder,System.Reflection.Metadata.BlobBuilder,System.Reflection.Metadata.BlobBuilder,System.Reflection.PortableExecutable.ResourceSectionBuilder,System.Reflection.PortableExecutable.DebugDirectoryBuilder,System.Int32,System.Reflection.Metadata.MethodDefinitionHandle,System.Reflection.PortableExecutable.CorFlags,System.Func,System.Reflection.Metadata.BlobContentId>)", "summary", "df-generated"] + - ["System.Reflection.PortableExecutable", "ManagedPEBuilder", "Sign", "(System.Reflection.Metadata.BlobBuilder,System.Func,System.Byte[]>)", "summary", "df-generated"] - ["System.Reflection.PortableExecutable", "PEBuilder", "CreateSections", "()", "summary", "df-generated"] + - ["System.Reflection.PortableExecutable", "PEBuilder", "PEBuilder", "(System.Reflection.PortableExecutable.PEHeaderBuilder,System.Func,System.Reflection.Metadata.BlobContentId>)", "summary", "df-generated"] - ["System.Reflection.PortableExecutable", "PEBuilder", "get_Header", "()", "summary", "df-generated"] - ["System.Reflection.PortableExecutable", "PEBuilder", "get_IdProvider", "()", "summary", "df-generated"] - ["System.Reflection.PortableExecutable", "PEBuilder", "get_IsDeterministic", "()", "summary", "df-generated"] diff --git a/csharp/ql/lib/ext/generated/System.Reflection.model.yml b/csharp/ql/lib/ext/generated/System.Reflection.model.yml index 28f58e646905..229f1a5f091e 100644 --- a/csharp/ql/lib/ext/generated/System.Reflection.model.yml +++ b/csharp/ql/lib/ext/generated/System.Reflection.model.yml @@ -43,6 +43,17 @@ extensions: - ["System.Reflection", "Binder", True, "ReorderArgumentArray", "(System.Object[],System.Object)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["System.Reflection", "Binder", True, "SelectMethod", "(System.Reflection.BindingFlags,System.Reflection.MethodBase[],System.Type[],System.Reflection.ParameterModifier[])", "", "Argument[1].Element", "ReturnValue", "value", "dfc-generated"] - ["System.Reflection", "Binder", True, "SelectProperty", "(System.Reflection.BindingFlags,System.Reflection.PropertyInfo[],System.Type,System.Type[],System.Reflection.ParameterModifier[])", "", "Argument[1].Element", "ReturnValue", "value", "dfc-generated"] + - ["System.Reflection", "ConstructorInvoker", False, "Invoke", "(System.Object)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["System.Reflection", "ConstructorInvoker", False, "Invoke", "(System.Object,System.Object)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["System.Reflection", "ConstructorInvoker", False, "Invoke", "(System.Object,System.Object)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] + - ["System.Reflection", "ConstructorInvoker", False, "Invoke", "(System.Object,System.Object,System.Object)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["System.Reflection", "ConstructorInvoker", False, "Invoke", "(System.Object,System.Object,System.Object)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] + - ["System.Reflection", "ConstructorInvoker", False, "Invoke", "(System.Object,System.Object,System.Object)", "", "Argument[2]", "Argument[this]", "taint", "df-generated"] + - ["System.Reflection", "ConstructorInvoker", False, "Invoke", "(System.Object,System.Object,System.Object,System.Object)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["System.Reflection", "ConstructorInvoker", False, "Invoke", "(System.Object,System.Object,System.Object,System.Object)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] + - ["System.Reflection", "ConstructorInvoker", False, "Invoke", "(System.Object,System.Object,System.Object,System.Object)", "", "Argument[2]", "Argument[this]", "taint", "df-generated"] + - ["System.Reflection", "ConstructorInvoker", False, "Invoke", "(System.Object,System.Object,System.Object,System.Object)", "", "Argument[3]", "Argument[this]", "taint", "df-generated"] + - ["System.Reflection", "ConstructorInvoker", False, "Invoke", "(System.Span)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - ["System.Reflection", "CustomAttributeData", True, "get_Constructor", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["System.Reflection", "CustomAttributeData", True, "get_ConstructorArguments", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["System.Reflection", "CustomAttributeData", True, "get_NamedArguments", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] @@ -88,9 +99,15 @@ extensions: - ["System.Reflection", "MetadataLoadContext", False, "GetAssemblies", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["System.Reflection", "MetadataLoadContext", False, "MetadataLoadContext", "(System.Reflection.MetadataAssemblyResolver,System.String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - ["System.Reflection", "MetadataLoadContext", False, "get_CoreAssembly", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["System.Reflection", "MethodBase", False, "Invoke", "(System.Object,System.Object[])", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["System.Reflection", "MethodBase", False, "Invoke", "(System.Object,System.Object[])", "", "Argument[1].Element", "Argument[this]", "taint", "df-generated"] + - ["System.Reflection", "MethodBase", False, "Invoke", "(System.Object,System.Object[])", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["System.Reflection", "MethodBase", True, "GetGenericArguments", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["System.Reflection", "MethodBase", True, "GetMethodBody", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["System.Reflection", "MethodBase", True, "GetParameters", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["System.Reflection", "MethodBase", True, "Invoke", "(System.Object,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["System.Reflection", "MethodBase", True, "Invoke", "(System.Object,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo)", "", "Argument[3].Element", "Argument[this]", "taint", "df-generated"] + - ["System.Reflection", "MethodBase", True, "Invoke", "(System.Object,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["System.Reflection", "MethodBase", True, "get_MethodHandle", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["System.Reflection", "MethodBody", True, "GetILAsByteArray", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["System.Reflection", "MethodBody", True, "get_ExceptionHandlingClauses", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] @@ -104,6 +121,29 @@ extensions: - ["System.Reflection", "MethodInfo", True, "get_ReturnType", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["System.Reflection", "MethodInfo", True, "get_ReturnTypeCustomAttributes", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["System.Reflection", "MethodInfoExtensions", False, "GetBaseDefinition", "(System.Reflection.MethodInfo)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["System.Reflection", "MethodInvoker", False, "Invoke", "(System.Object)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["System.Reflection", "MethodInvoker", False, "Invoke", "(System.Object)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["System.Reflection", "MethodInvoker", False, "Invoke", "(System.Object,System.Object)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["System.Reflection", "MethodInvoker", False, "Invoke", "(System.Object,System.Object)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] + - ["System.Reflection", "MethodInvoker", False, "Invoke", "(System.Object,System.Object)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["System.Reflection", "MethodInvoker", False, "Invoke", "(System.Object,System.Object,System.Object)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["System.Reflection", "MethodInvoker", False, "Invoke", "(System.Object,System.Object,System.Object)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] + - ["System.Reflection", "MethodInvoker", False, "Invoke", "(System.Object,System.Object,System.Object)", "", "Argument[2]", "Argument[this]", "taint", "df-generated"] + - ["System.Reflection", "MethodInvoker", False, "Invoke", "(System.Object,System.Object,System.Object)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["System.Reflection", "MethodInvoker", False, "Invoke", "(System.Object,System.Object,System.Object,System.Object)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["System.Reflection", "MethodInvoker", False, "Invoke", "(System.Object,System.Object,System.Object,System.Object)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] + - ["System.Reflection", "MethodInvoker", False, "Invoke", "(System.Object,System.Object,System.Object,System.Object)", "", "Argument[2]", "Argument[this]", "taint", "df-generated"] + - ["System.Reflection", "MethodInvoker", False, "Invoke", "(System.Object,System.Object,System.Object,System.Object)", "", "Argument[3]", "Argument[this]", "taint", "df-generated"] + - ["System.Reflection", "MethodInvoker", False, "Invoke", "(System.Object,System.Object,System.Object,System.Object)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["System.Reflection", "MethodInvoker", False, "Invoke", "(System.Object,System.Object,System.Object,System.Object,System.Object)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["System.Reflection", "MethodInvoker", False, "Invoke", "(System.Object,System.Object,System.Object,System.Object,System.Object)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] + - ["System.Reflection", "MethodInvoker", False, "Invoke", "(System.Object,System.Object,System.Object,System.Object,System.Object)", "", "Argument[2]", "Argument[this]", "taint", "df-generated"] + - ["System.Reflection", "MethodInvoker", False, "Invoke", "(System.Object,System.Object,System.Object,System.Object,System.Object)", "", "Argument[3]", "Argument[this]", "taint", "df-generated"] + - ["System.Reflection", "MethodInvoker", False, "Invoke", "(System.Object,System.Object,System.Object,System.Object,System.Object)", "", "Argument[4]", "Argument[this]", "taint", "df-generated"] + - ["System.Reflection", "MethodInvoker", False, "Invoke", "(System.Object,System.Object,System.Object,System.Object,System.Object)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["System.Reflection", "MethodInvoker", False, "Invoke", "(System.Object,System.Span)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["System.Reflection", "MethodInvoker", False, "Invoke", "(System.Object,System.Span)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] + - ["System.Reflection", "MethodInvoker", False, "Invoke", "(System.Object,System.Span)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["System.Reflection", "Module", False, "GetField", "(System.String)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["System.Reflection", "Module", False, "GetMethod", "(System.String)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["System.Reflection", "Module", False, "GetMethod", "(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[])", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] @@ -113,6 +153,7 @@ extensions: - ["System.Reflection", "Module", False, "ResolveMethod", "(System.Int32)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["System.Reflection", "Module", False, "ToString", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["System.Reflection", "Module", False, "get_ModuleHandle", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["System.Reflection", "Module", True, "FindTypes", "(System.Reflection.TypeFilter,System.Object)", "", "Argument[1]", "Argument[0].Parameter[1]", "value", "dfc-generated"] - ["System.Reflection", "Module", True, "GetField", "(System.String,System.Reflection.BindingFlags)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["System.Reflection", "Module", True, "GetMethodImpl", "(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[])", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["System.Reflection", "Module", True, "GetType", "(System.String,System.Boolean,System.Boolean)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] @@ -140,12 +181,16 @@ extensions: - ["System.Reflection", "PropertyInfo", False, "GetAccessors", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["System.Reflection", "PropertyInfo", False, "GetGetMethod", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["System.Reflection", "PropertyInfo", False, "GetSetMethod", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["System.Reflection", "PropertyInfo", False, "GetValue", "(System.Object)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["System.Reflection", "PropertyInfo", False, "GetValue", "(System.Object)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["System.Reflection", "PropertyInfo", True, "GetAccessors", "(System.Boolean)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["System.Reflection", "PropertyInfo", True, "GetConstantValue", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["System.Reflection", "PropertyInfo", True, "GetGetMethod", "(System.Boolean)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["System.Reflection", "PropertyInfo", True, "GetIndexParameters", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["System.Reflection", "PropertyInfo", True, "GetModifiedPropertyType", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["System.Reflection", "PropertyInfo", True, "GetSetMethod", "(System.Boolean)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["System.Reflection", "PropertyInfo", True, "GetValue", "(System.Object,System.Object[])", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["System.Reflection", "PropertyInfo", True, "GetValue", "(System.Object,System.Object[])", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["System.Reflection", "PropertyInfo", True, "get_GetMethod", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["System.Reflection", "PropertyInfo", True, "get_PropertyType", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["System.Reflection", "PropertyInfo", True, "get_SetMethod", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] @@ -209,6 +254,7 @@ extensions: - ["System.Reflection", "Assembly", "ReflectionOnlyLoad", "(System.String)", "summary", "df-generated"] - ["System.Reflection", "Assembly", "ReflectionOnlyLoadFrom", "(System.String)", "summary", "df-generated"] - ["System.Reflection", "Assembly", "UnsafeLoadFrom", "(System.String)", "summary", "df-generated"] + - ["System.Reflection", "Assembly", "add_ModuleResolve", "(System.Reflection.ModuleResolveEventHandler)", "summary", "df-generated"] - ["System.Reflection", "Assembly", "get_DefinedTypes", "()", "summary", "df-generated"] - ["System.Reflection", "Assembly", "get_ExportedTypes", "()", "summary", "df-generated"] - ["System.Reflection", "Assembly", "get_GlobalAssemblyCache", "()", "summary", "df-generated"] @@ -220,6 +266,7 @@ extensions: - ["System.Reflection", "Assembly", "get_SecurityRuleSet", "()", "summary", "df-generated"] - ["System.Reflection", "Assembly", "op_Equality", "(System.Reflection.Assembly,System.Reflection.Assembly)", "summary", "df-generated"] - ["System.Reflection", "Assembly", "op_Inequality", "(System.Reflection.Assembly,System.Reflection.Assembly)", "summary", "df-generated"] + - ["System.Reflection", "Assembly", "remove_ModuleResolve", "(System.Reflection.ModuleResolveEventHandler)", "summary", "df-generated"] - ["System.Reflection", "AssemblyAlgorithmIdAttribute", "AssemblyAlgorithmIdAttribute", "(System.Configuration.Assemblies.AssemblyHashAlgorithm)", "summary", "df-generated"] - ["System.Reflection", "AssemblyAlgorithmIdAttribute", "AssemblyAlgorithmIdAttribute", "(System.UInt32)", "summary", "df-generated"] - ["System.Reflection", "AssemblyAlgorithmIdAttribute", "get_AlgorithmId", "()", "summary", "df-generated"] @@ -286,11 +333,6 @@ extensions: - ["System.Reflection", "ConstructorInfo", "op_Inequality", "(System.Reflection.ConstructorInfo,System.Reflection.ConstructorInfo)", "summary", "df-generated"] - ["System.Reflection", "ConstructorInvoker", "Create", "(System.Reflection.ConstructorInfo)", "summary", "df-generated"] - ["System.Reflection", "ConstructorInvoker", "Invoke", "()", "summary", "df-generated"] - - ["System.Reflection", "ConstructorInvoker", "Invoke", "(System.Object)", "summary", "df-generated"] - - ["System.Reflection", "ConstructorInvoker", "Invoke", "(System.Object,System.Object)", "summary", "df-generated"] - - ["System.Reflection", "ConstructorInvoker", "Invoke", "(System.Object,System.Object,System.Object)", "summary", "df-generated"] - - ["System.Reflection", "ConstructorInvoker", "Invoke", "(System.Object,System.Object,System.Object,System.Object)", "summary", "df-generated"] - - ["System.Reflection", "ConstructorInvoker", "Invoke", "(System.Span)", "summary", "df-generated"] - ["System.Reflection", "CustomAttributeData", "Equals", "(System.Object)", "summary", "df-generated"] - ["System.Reflection", "CustomAttributeData", "GetCustomAttributes", "(System.Reflection.Assembly)", "summary", "df-generated"] - ["System.Reflection", "CustomAttributeData", "GetCustomAttributes", "(System.Reflection.MemberInfo)", "summary", "df-generated"] @@ -459,8 +501,6 @@ extensions: - ["System.Reflection", "MethodBase", "GetMethodFromHandle", "(System.RuntimeMethodHandle)", "summary", "df-generated"] - ["System.Reflection", "MethodBase", "GetMethodFromHandle", "(System.RuntimeMethodHandle,System.RuntimeTypeHandle)", "summary", "df-generated"] - ["System.Reflection", "MethodBase", "GetMethodImplementationFlags", "()", "summary", "df-generated"] - - ["System.Reflection", "MethodBase", "Invoke", "(System.Object,System.Object[])", "summary", "df-generated"] - - ["System.Reflection", "MethodBase", "Invoke", "(System.Object,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo)", "summary", "df-generated"] - ["System.Reflection", "MethodBase", "get_Attributes", "()", "summary", "df-generated"] - ["System.Reflection", "MethodBase", "get_CallingConvention", "()", "summary", "df-generated"] - ["System.Reflection", "MethodBase", "get_ContainsGenericParameters", "()", "summary", "df-generated"] @@ -498,12 +538,6 @@ extensions: - ["System.Reflection", "MethodInfo", "op_Equality", "(System.Reflection.MethodInfo,System.Reflection.MethodInfo)", "summary", "df-generated"] - ["System.Reflection", "MethodInfo", "op_Inequality", "(System.Reflection.MethodInfo,System.Reflection.MethodInfo)", "summary", "df-generated"] - ["System.Reflection", "MethodInvoker", "Create", "(System.Reflection.MethodBase)", "summary", "df-generated"] - - ["System.Reflection", "MethodInvoker", "Invoke", "(System.Object)", "summary", "df-generated"] - - ["System.Reflection", "MethodInvoker", "Invoke", "(System.Object,System.Object)", "summary", "df-generated"] - - ["System.Reflection", "MethodInvoker", "Invoke", "(System.Object,System.Object,System.Object)", "summary", "df-generated"] - - ["System.Reflection", "MethodInvoker", "Invoke", "(System.Object,System.Object,System.Object,System.Object)", "summary", "df-generated"] - - ["System.Reflection", "MethodInvoker", "Invoke", "(System.Object,System.Object,System.Object,System.Object,System.Object)", "summary", "df-generated"] - - ["System.Reflection", "MethodInvoker", "Invoke", "(System.Object,System.Span)", "summary", "df-generated"] - ["System.Reflection", "Module", "Equals", "(System.Object)", "summary", "df-generated"] - ["System.Reflection", "Module", "GetCustomAttributes", "(System.Boolean)", "summary", "df-generated"] - ["System.Reflection", "Module", "GetCustomAttributes", "(System.Type,System.Boolean)", "summary", "df-generated"] @@ -563,8 +597,6 @@ extensions: - ["System.Reflection", "PropertyInfo", "GetOptionalCustomModifiers", "()", "summary", "df-generated"] - ["System.Reflection", "PropertyInfo", "GetRawConstantValue", "()", "summary", "df-generated"] - ["System.Reflection", "PropertyInfo", "GetRequiredCustomModifiers", "()", "summary", "df-generated"] - - ["System.Reflection", "PropertyInfo", "GetValue", "(System.Object)", "summary", "df-generated"] - - ["System.Reflection", "PropertyInfo", "GetValue", "(System.Object,System.Object[])", "summary", "df-generated"] - ["System.Reflection", "PropertyInfo", "GetValue", "(System.Object,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo)", "summary", "df-generated"] - ["System.Reflection", "PropertyInfo", "SetValue", "(System.Object,System.Object)", "summary", "df-generated"] - ["System.Reflection", "PropertyInfo", "SetValue", "(System.Object,System.Object,System.Object[])", "summary", "df-generated"] diff --git a/csharp/ql/lib/ext/generated/System.Runtime.Caching.Hosting.model.yml b/csharp/ql/lib/ext/generated/System.Runtime.Caching.Hosting.model.yml index 796a827b4bff..a04370bc2114 100644 --- a/csharp/ql/lib/ext/generated/System.Runtime.Caching.Hosting.model.yml +++ b/csharp/ql/lib/ext/generated/System.Runtime.Caching.Hosting.model.yml @@ -5,6 +5,7 @@ extensions: extensible: neutralModel data: - ["System.Runtime.Caching.Hosting", "IApplicationIdentifier", "GetApplicationId", "()", "summary", "df-generated"] + - ["System.Runtime.Caching.Hosting", "IFileChangeNotificationSystem", "StartMonitoring", "(System.String,System.Runtime.Caching.OnChangedCallback,System.Object,System.DateTimeOffset,System.Int64)", "summary", "df-generated"] - ["System.Runtime.Caching.Hosting", "IFileChangeNotificationSystem", "StopMonitoring", "(System.String,System.Object)", "summary", "df-generated"] - ["System.Runtime.Caching.Hosting", "IMemoryCacheManager", "ReleaseCache", "(System.Runtime.Caching.MemoryCache)", "summary", "df-generated"] - ["System.Runtime.Caching.Hosting", "IMemoryCacheManager", "UpdateCacheSize", "(System.Int64,System.Runtime.Caching.MemoryCache)", "summary", "df-generated"] diff --git a/csharp/ql/lib/ext/generated/System.Runtime.Caching.model.yml b/csharp/ql/lib/ext/generated/System.Runtime.Caching.model.yml index 90f5e5e00e05..9173e86d1be6 100644 --- a/csharp/ql/lib/ext/generated/System.Runtime.Caching.model.yml +++ b/csharp/ql/lib/ext/generated/System.Runtime.Caching.model.yml @@ -41,6 +41,7 @@ extensions: - ["System.Runtime.Caching", "ChangeMonitor", "Dispose", "()", "summary", "df-generated"] - ["System.Runtime.Caching", "ChangeMonitor", "Dispose", "(System.Boolean)", "summary", "df-generated"] - ["System.Runtime.Caching", "ChangeMonitor", "InitializationComplete", "()", "summary", "df-generated"] + - ["System.Runtime.Caching", "ChangeMonitor", "NotifyOnChanged", "(System.Runtime.Caching.OnChangedCallback)", "summary", "df-generated"] - ["System.Runtime.Caching", "ChangeMonitor", "OnChanged", "(System.Object)", "summary", "df-generated"] - ["System.Runtime.Caching", "ChangeMonitor", "get_HasChanged", "()", "summary", "df-generated"] - ["System.Runtime.Caching", "ChangeMonitor", "get_IsDisposed", "()", "summary", "df-generated"] diff --git a/csharp/ql/lib/ext/generated/System.Runtime.CompilerServices.model.yml b/csharp/ql/lib/ext/generated/System.Runtime.CompilerServices.model.yml index eb14ac21c9d4..80f68fcf6e09 100644 --- a/csharp/ql/lib/ext/generated/System.Runtime.CompilerServices.model.yml +++ b/csharp/ql/lib/ext/generated/System.Runtime.CompilerServices.model.yml @@ -45,6 +45,8 @@ extensions: - ["System.Runtime.CompilerServices", "CallSiteOps", False, "GetRules", "(System.Runtime.CompilerServices.CallSite)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["System.Runtime.CompilerServices", "Closure", False, "Closure", "(System.Object[],System.Object[])", "", "Argument[0]", "Argument[this].Field[System.Runtime.CompilerServices.Closure.Constants]", "value", "dfc-generated"] - ["System.Runtime.CompilerServices", "Closure", False, "Closure", "(System.Object[],System.Object[])", "", "Argument[1]", "Argument[this].Field[System.Runtime.CompilerServices.Closure.Locals]", "value", "dfc-generated"] + - ["System.Runtime.CompilerServices", "ConditionalWeakTable", False, "GetValue", "(TKey,System.Runtime.CompilerServices.ConditionalWeakTable+CreateValueCallback)", "", "Argument[0]", "Argument[1].Parameter[0]", "value", "dfc-generated"] + - ["System.Runtime.CompilerServices", "ConditionalWeakTable", False, "GetValue", "(TKey,System.Runtime.CompilerServices.ConditionalWeakTable+CreateValueCallback)", "", "Argument[1].ReturnValue", "ReturnValue", "value", "dfc-generated"] - ["System.Runtime.CompilerServices", "ConfiguredCancelableAsyncEnumerable+Enumerator", False, "get_Current", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["System.Runtime.CompilerServices", "ConfiguredCancelableAsyncEnumerable", False, "ConfigureAwait", "(System.Boolean)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["System.Runtime.CompilerServices", "ConfiguredCancelableAsyncEnumerable", False, "GetAsyncEnumerator", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] @@ -77,6 +79,8 @@ extensions: - ["System.Runtime.CompilerServices", "PoolingAsyncValueTaskMethodBuilder", False, "Start", "(TStateMachine)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["System.Runtime.CompilerServices", "PoolingAsyncValueTaskMethodBuilder", False, "get_Task", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["System.Runtime.CompilerServices", "ReadOnlyCollectionBuilder", False, "ReadOnlyCollectionBuilder", "(System.Collections.Generic.IEnumerable)", "", "Argument[0].Element", "Argument[this]", "taint", "df-generated"] + - ["System.Runtime.CompilerServices", "RuntimeHelpers", False, "ExecuteCodeWithGuaranteedCleanup", "(System.Runtime.CompilerServices.RuntimeHelpers+TryCode,System.Runtime.CompilerServices.RuntimeHelpers+CleanupCode,System.Object)", "", "Argument[2]", "Argument[0].Parameter[0]", "value", "dfc-generated"] + - ["System.Runtime.CompilerServices", "RuntimeHelpers", False, "ExecuteCodeWithGuaranteedCleanup", "(System.Runtime.CompilerServices.RuntimeHelpers+TryCode,System.Runtime.CompilerServices.RuntimeHelpers+CleanupCode,System.Object)", "", "Argument[2]", "Argument[1].Parameter[0]", "value", "dfc-generated"] - ["System.Runtime.CompilerServices", "RuntimeOps", False, "CreateRuntimeVariables", "(System.Object[],System.Int64[])", "", "Argument[0].Element", "ReturnValue", "taint", "df-generated"] - ["System.Runtime.CompilerServices", "RuntimeOps", False, "ExpandoPromoteClass", "(System.Dynamic.ExpandoObject,System.Object,System.Object)", "", "Argument[2]", "Argument[0].Element", "taint", "df-generated"] - ["System.Runtime.CompilerServices", "RuntimeOps", False, "ExpandoTryGetValue", "(System.Dynamic.ExpandoObject,System.Object,System.Int32,System.String,System.Boolean,System.Object)", "", "Argument[0].Element", "ReturnValue", "taint", "df-generated"] @@ -168,10 +172,18 @@ extensions: - ["System.Runtime.CompilerServices", "ConfiguredCancelableAsyncEnumerable+Enumerator", "DisposeAsync", "()", "summary", "df-generated"] - ["System.Runtime.CompilerServices", "ConfiguredCancelableAsyncEnumerable+Enumerator", "MoveNextAsync", "()", "summary", "df-generated"] - ["System.Runtime.CompilerServices", "ConfiguredTaskAwaitable+ConfiguredTaskAwaiter", "GetResult", "()", "summary", "df-generated"] + - ["System.Runtime.CompilerServices", "ConfiguredTaskAwaitable+ConfiguredTaskAwaiter", "OnCompleted", "(System.Action)", "summary", "df-generated"] + - ["System.Runtime.CompilerServices", "ConfiguredTaskAwaitable+ConfiguredTaskAwaiter", "UnsafeOnCompleted", "(System.Action)", "summary", "df-generated"] - ["System.Runtime.CompilerServices", "ConfiguredTaskAwaitable+ConfiguredTaskAwaiter", "get_IsCompleted", "()", "summary", "df-generated"] + - ["System.Runtime.CompilerServices", "ConfiguredTaskAwaitable+ConfiguredTaskAwaiter", "OnCompleted", "(System.Action)", "summary", "df-generated"] + - ["System.Runtime.CompilerServices", "ConfiguredTaskAwaitable+ConfiguredTaskAwaiter", "UnsafeOnCompleted", "(System.Action)", "summary", "df-generated"] - ["System.Runtime.CompilerServices", "ConfiguredTaskAwaitable+ConfiguredTaskAwaiter", "get_IsCompleted", "()", "summary", "df-generated"] - ["System.Runtime.CompilerServices", "ConfiguredValueTaskAwaitable+ConfiguredValueTaskAwaiter", "GetResult", "()", "summary", "df-generated"] + - ["System.Runtime.CompilerServices", "ConfiguredValueTaskAwaitable+ConfiguredValueTaskAwaiter", "OnCompleted", "(System.Action)", "summary", "df-generated"] + - ["System.Runtime.CompilerServices", "ConfiguredValueTaskAwaitable+ConfiguredValueTaskAwaiter", "UnsafeOnCompleted", "(System.Action)", "summary", "df-generated"] - ["System.Runtime.CompilerServices", "ConfiguredValueTaskAwaitable+ConfiguredValueTaskAwaiter", "get_IsCompleted", "()", "summary", "df-generated"] + - ["System.Runtime.CompilerServices", "ConfiguredValueTaskAwaitable+ConfiguredValueTaskAwaiter", "OnCompleted", "(System.Action)", "summary", "df-generated"] + - ["System.Runtime.CompilerServices", "ConfiguredValueTaskAwaitable+ConfiguredValueTaskAwaiter", "UnsafeOnCompleted", "(System.Action)", "summary", "df-generated"] - ["System.Runtime.CompilerServices", "ConfiguredValueTaskAwaitable+ConfiguredValueTaskAwaiter", "get_IsCompleted", "()", "summary", "df-generated"] - ["System.Runtime.CompilerServices", "ContractHelper", "TriggerFailure", "(System.Diagnostics.Contracts.ContractFailureKind,System.String,System.String,System.String,System.Exception)", "summary", "df-generated"] - ["System.Runtime.CompilerServices", "CppInlineNamespaceAttribute", "CppInlineNamespaceAttribute", "(System.String)", "summary", "df-generated"] @@ -210,7 +222,9 @@ extensions: - ["System.Runtime.CompilerServices", "IAsyncStateMachine", "SetStateMachine", "(System.Runtime.CompilerServices.IAsyncStateMachine)", "summary", "df-generated"] - ["System.Runtime.CompilerServices", "ICastable", "GetImplType", "(System.RuntimeTypeHandle)", "summary", "df-generated"] - ["System.Runtime.CompilerServices", "ICastable", "IsInstanceOfInterface", "(System.RuntimeTypeHandle,System.Exception)", "summary", "df-generated"] + - ["System.Runtime.CompilerServices", "ICriticalNotifyCompletion", "UnsafeOnCompleted", "(System.Action)", "summary", "df-generated"] - ["System.Runtime.CompilerServices", "IDispatchConstantAttribute", "get_Value", "()", "summary", "df-generated"] + - ["System.Runtime.CompilerServices", "INotifyCompletion", "OnCompleted", "(System.Action)", "summary", "df-generated"] - ["System.Runtime.CompilerServices", "IRuntimeVariables", "get_Count", "()", "summary", "df-generated"] - ["System.Runtime.CompilerServices", "IRuntimeVariables", "set_Item", "(System.Int32,System.Object)", "summary", "df-generated"] - ["System.Runtime.CompilerServices", "ITuple", "get_Length", "()", "summary", "df-generated"] @@ -297,7 +311,11 @@ extensions: - ["System.Runtime.CompilerServices", "SwitchExpressionException", "SwitchExpressionException", "(System.String,System.Exception)", "summary", "df-generated"] - ["System.Runtime.CompilerServices", "SwitchExpressionException", "get_UnmatchedValue", "()", "summary", "df-generated"] - ["System.Runtime.CompilerServices", "TaskAwaiter", "GetResult", "()", "summary", "df-generated"] + - ["System.Runtime.CompilerServices", "TaskAwaiter", "OnCompleted", "(System.Action)", "summary", "df-generated"] + - ["System.Runtime.CompilerServices", "TaskAwaiter", "UnsafeOnCompleted", "(System.Action)", "summary", "df-generated"] - ["System.Runtime.CompilerServices", "TaskAwaiter", "get_IsCompleted", "()", "summary", "df-generated"] + - ["System.Runtime.CompilerServices", "TaskAwaiter", "OnCompleted", "(System.Action)", "summary", "df-generated"] + - ["System.Runtime.CompilerServices", "TaskAwaiter", "UnsafeOnCompleted", "(System.Action)", "summary", "df-generated"] - ["System.Runtime.CompilerServices", "TaskAwaiter", "get_IsCompleted", "()", "summary", "df-generated"] - ["System.Runtime.CompilerServices", "TypeForwardedFromAttribute", "TypeForwardedFromAttribute", "(System.String)", "summary", "df-generated"] - ["System.Runtime.CompilerServices", "TypeForwardedFromAttribute", "get_AssemblyFullName", "()", "summary", "df-generated"] @@ -340,8 +358,14 @@ extensions: - ["System.Runtime.CompilerServices", "UnsafeAccessorAttribute", "UnsafeAccessorAttribute", "(System.Runtime.CompilerServices.UnsafeAccessorKind)", "summary", "df-generated"] - ["System.Runtime.CompilerServices", "UnsafeAccessorAttribute", "get_Kind", "()", "summary", "df-generated"] - ["System.Runtime.CompilerServices", "ValueTaskAwaiter", "GetResult", "()", "summary", "df-generated"] + - ["System.Runtime.CompilerServices", "ValueTaskAwaiter", "OnCompleted", "(System.Action)", "summary", "df-generated"] + - ["System.Runtime.CompilerServices", "ValueTaskAwaiter", "UnsafeOnCompleted", "(System.Action)", "summary", "df-generated"] - ["System.Runtime.CompilerServices", "ValueTaskAwaiter", "get_IsCompleted", "()", "summary", "df-generated"] + - ["System.Runtime.CompilerServices", "ValueTaskAwaiter", "OnCompleted", "(System.Action)", "summary", "df-generated"] + - ["System.Runtime.CompilerServices", "ValueTaskAwaiter", "UnsafeOnCompleted", "(System.Action)", "summary", "df-generated"] - ["System.Runtime.CompilerServices", "ValueTaskAwaiter", "get_IsCompleted", "()", "summary", "df-generated"] - ["System.Runtime.CompilerServices", "YieldAwaitable+YieldAwaiter", "GetResult", "()", "summary", "df-generated"] + - ["System.Runtime.CompilerServices", "YieldAwaitable+YieldAwaiter", "OnCompleted", "(System.Action)", "summary", "df-generated"] + - ["System.Runtime.CompilerServices", "YieldAwaitable+YieldAwaiter", "UnsafeOnCompleted", "(System.Action)", "summary", "df-generated"] - ["System.Runtime.CompilerServices", "YieldAwaitable+YieldAwaiter", "get_IsCompleted", "()", "summary", "df-generated"] - ["System.Runtime.CompilerServices", "YieldAwaitable", "GetAwaiter", "()", "summary", "df-generated"] diff --git a/csharp/ql/lib/ext/generated/System.Runtime.InteropServices.JavaScript.model.yml b/csharp/ql/lib/ext/generated/System.Runtime.InteropServices.JavaScript.model.yml index 51ddcb281a2e..6a4775ca8d09 100644 --- a/csharp/ql/lib/ext/generated/System.Runtime.InteropServices.JavaScript.model.yml +++ b/csharp/ql/lib/ext/generated/System.Runtime.InteropServices.JavaScript.model.yml @@ -16,6 +16,7 @@ extensions: - ["System.Runtime.InteropServices.JavaScript", "JSImportAttribute", "get_FunctionName", "()", "summary", "df-generated"] - ["System.Runtime.InteropServices.JavaScript", "JSImportAttribute", "get_ModuleName", "()", "summary", "df-generated"] - ["System.Runtime.InteropServices.JavaScript", "JSMarshalerArgument", "Initialize", "()", "summary", "df-generated"] + - ["System.Runtime.InteropServices.JavaScript", "JSMarshalerArgument", "ToJS", "(System.Action)", "summary", "df-generated"] - ["System.Runtime.InteropServices.JavaScript", "JSMarshalerArgument", "ToJS", "(System.ArraySegment)", "summary", "df-generated"] - ["System.Runtime.InteropServices.JavaScript", "JSMarshalerArgument", "ToJS", "(System.ArraySegment)", "summary", "df-generated"] - ["System.Runtime.InteropServices.JavaScript", "JSMarshalerArgument", "ToJS", "(System.ArraySegment)", "summary", "df-generated"] @@ -56,8 +57,17 @@ extensions: - ["System.Runtime.InteropServices.JavaScript", "JSMarshalerArgument", "ToJS", "(System.String[])", "summary", "df-generated"] - ["System.Runtime.InteropServices.JavaScript", "JSMarshalerArgument", "ToJS", "(System.Threading.Tasks.Task)", "summary", "df-generated"] - ["System.Runtime.InteropServices.JavaScript", "JSMarshalerArgument", "ToJS", "(System.Void*)", "summary", "df-generated"] + - ["System.Runtime.InteropServices.JavaScript", "JSMarshalerArgument", "ToJS", "(System.Func,System.Runtime.InteropServices.JavaScript.JSMarshalerArgument+ArgumentToManagedCallback,System.Runtime.InteropServices.JavaScript.JSMarshalerArgument+ArgumentToJSCallback)", "summary", "df-generated"] + - ["System.Runtime.InteropServices.JavaScript", "JSMarshalerArgument", "ToJS", "(System.Func,System.Runtime.InteropServices.JavaScript.JSMarshalerArgument+ArgumentToManagedCallback,System.Runtime.InteropServices.JavaScript.JSMarshalerArgument+ArgumentToManagedCallback,System.Runtime.InteropServices.JavaScript.JSMarshalerArgument+ArgumentToManagedCallback,System.Runtime.InteropServices.JavaScript.JSMarshalerArgument+ArgumentToJSCallback)", "summary", "df-generated"] + - ["System.Runtime.InteropServices.JavaScript", "JSMarshalerArgument", "ToJS", "(System.Action,System.Runtime.InteropServices.JavaScript.JSMarshalerArgument+ArgumentToManagedCallback,System.Runtime.InteropServices.JavaScript.JSMarshalerArgument+ArgumentToManagedCallback,System.Runtime.InteropServices.JavaScript.JSMarshalerArgument+ArgumentToManagedCallback)", "summary", "df-generated"] + - ["System.Runtime.InteropServices.JavaScript", "JSMarshalerArgument", "ToJS", "(System.Func,System.Runtime.InteropServices.JavaScript.JSMarshalerArgument+ArgumentToManagedCallback,System.Runtime.InteropServices.JavaScript.JSMarshalerArgument+ArgumentToManagedCallback,System.Runtime.InteropServices.JavaScript.JSMarshalerArgument+ArgumentToJSCallback)", "summary", "df-generated"] + - ["System.Runtime.InteropServices.JavaScript", "JSMarshalerArgument", "ToJS", "(System.Action,System.Runtime.InteropServices.JavaScript.JSMarshalerArgument+ArgumentToManagedCallback,System.Runtime.InteropServices.JavaScript.JSMarshalerArgument+ArgumentToManagedCallback)", "summary", "df-generated"] + - ["System.Runtime.InteropServices.JavaScript", "JSMarshalerArgument", "ToJS", "(System.Action,System.Runtime.InteropServices.JavaScript.JSMarshalerArgument+ArgumentToManagedCallback)", "summary", "df-generated"] + - ["System.Runtime.InteropServices.JavaScript", "JSMarshalerArgument", "ToJS", "(System.Threading.Tasks.Task,System.Runtime.InteropServices.JavaScript.JSMarshalerArgument+ArgumentToJSCallback)", "summary", "df-generated"] + - ["System.Runtime.InteropServices.JavaScript", "JSMarshalerArgument", "ToJS", "(System.Func,System.Runtime.InteropServices.JavaScript.JSMarshalerArgument+ArgumentToJSCallback)", "summary", "df-generated"] - ["System.Runtime.InteropServices.JavaScript", "JSMarshalerArgument", "ToJSBig", "(System.Int64)", "summary", "df-generated"] - ["System.Runtime.InteropServices.JavaScript", "JSMarshalerArgument", "ToJSBig", "(System.Nullable)", "summary", "df-generated"] + - ["System.Runtime.InteropServices.JavaScript", "JSMarshalerArgument", "ToManaged", "(System.Action)", "summary", "df-generated"] - ["System.Runtime.InteropServices.JavaScript", "JSMarshalerArgument", "ToManaged", "(System.ArraySegment)", "summary", "df-generated"] - ["System.Runtime.InteropServices.JavaScript", "JSMarshalerArgument", "ToManaged", "(System.ArraySegment)", "summary", "df-generated"] - ["System.Runtime.InteropServices.JavaScript", "JSMarshalerArgument", "ToManaged", "(System.ArraySegment)", "summary", "df-generated"] @@ -98,6 +108,14 @@ extensions: - ["System.Runtime.InteropServices.JavaScript", "JSMarshalerArgument", "ToManaged", "(System.String[])", "summary", "df-generated"] - ["System.Runtime.InteropServices.JavaScript", "JSMarshalerArgument", "ToManaged", "(System.Threading.Tasks.Task)", "summary", "df-generated"] - ["System.Runtime.InteropServices.JavaScript", "JSMarshalerArgument", "ToManaged", "(System.Void*)", "summary", "df-generated"] + - ["System.Runtime.InteropServices.JavaScript", "JSMarshalerArgument", "ToManaged", "(System.Func,System.Runtime.InteropServices.JavaScript.JSMarshalerArgument+ArgumentToJSCallback,System.Runtime.InteropServices.JavaScript.JSMarshalerArgument+ArgumentToManagedCallback)", "summary", "df-generated"] + - ["System.Runtime.InteropServices.JavaScript", "JSMarshalerArgument", "ToManaged", "(System.Func,System.Runtime.InteropServices.JavaScript.JSMarshalerArgument+ArgumentToJSCallback,System.Runtime.InteropServices.JavaScript.JSMarshalerArgument+ArgumentToJSCallback,System.Runtime.InteropServices.JavaScript.JSMarshalerArgument+ArgumentToJSCallback,System.Runtime.InteropServices.JavaScript.JSMarshalerArgument+ArgumentToManagedCallback)", "summary", "df-generated"] + - ["System.Runtime.InteropServices.JavaScript", "JSMarshalerArgument", "ToManaged", "(System.Action,System.Runtime.InteropServices.JavaScript.JSMarshalerArgument+ArgumentToJSCallback,System.Runtime.InteropServices.JavaScript.JSMarshalerArgument+ArgumentToJSCallback,System.Runtime.InteropServices.JavaScript.JSMarshalerArgument+ArgumentToJSCallback)", "summary", "df-generated"] + - ["System.Runtime.InteropServices.JavaScript", "JSMarshalerArgument", "ToManaged", "(System.Func,System.Runtime.InteropServices.JavaScript.JSMarshalerArgument+ArgumentToJSCallback,System.Runtime.InteropServices.JavaScript.JSMarshalerArgument+ArgumentToJSCallback,System.Runtime.InteropServices.JavaScript.JSMarshalerArgument+ArgumentToManagedCallback)", "summary", "df-generated"] + - ["System.Runtime.InteropServices.JavaScript", "JSMarshalerArgument", "ToManaged", "(System.Action,System.Runtime.InteropServices.JavaScript.JSMarshalerArgument+ArgumentToJSCallback,System.Runtime.InteropServices.JavaScript.JSMarshalerArgument+ArgumentToJSCallback)", "summary", "df-generated"] + - ["System.Runtime.InteropServices.JavaScript", "JSMarshalerArgument", "ToManaged", "(System.Action,System.Runtime.InteropServices.JavaScript.JSMarshalerArgument+ArgumentToJSCallback)", "summary", "df-generated"] + - ["System.Runtime.InteropServices.JavaScript", "JSMarshalerArgument", "ToManaged", "(System.Threading.Tasks.Task,System.Runtime.InteropServices.JavaScript.JSMarshalerArgument+ArgumentToManagedCallback)", "summary", "df-generated"] + - ["System.Runtime.InteropServices.JavaScript", "JSMarshalerArgument", "ToManaged", "(System.Func,System.Runtime.InteropServices.JavaScript.JSMarshalerArgument+ArgumentToManagedCallback)", "summary", "df-generated"] - ["System.Runtime.InteropServices.JavaScript", "JSMarshalerArgument", "ToManagedBig", "(System.Int64)", "summary", "df-generated"] - ["System.Runtime.InteropServices.JavaScript", "JSMarshalerArgument", "ToManagedBig", "(System.Nullable)", "summary", "df-generated"] - ["System.Runtime.InteropServices.JavaScript", "JSMarshalerType", "Action", "()", "summary", "df-generated"] diff --git a/csharp/ql/lib/ext/generated/System.Runtime.InteropServices.ObjectiveC.model.yml b/csharp/ql/lib/ext/generated/System.Runtime.InteropServices.ObjectiveC.model.yml index 02f33a0a416e..5541827dca25 100644 --- a/csharp/ql/lib/ext/generated/System.Runtime.InteropServices.ObjectiveC.model.yml +++ b/csharp/ql/lib/ext/generated/System.Runtime.InteropServices.ObjectiveC.model.yml @@ -5,5 +5,6 @@ extensions: extensible: neutralModel data: - ["System.Runtime.InteropServices.ObjectiveC", "ObjectiveCMarshal", "CreateReferenceTrackingHandle", "(System.Object,System.Span)", "summary", "df-generated"] + - ["System.Runtime.InteropServices.ObjectiveC", "ObjectiveCMarshal", "Initialize", "(System.Runtime.InteropServices.ObjectiveC.ObjectiveCMarshal+UnhandledExceptionPropagationHandler)", "summary", "df-generated"] - ["System.Runtime.InteropServices.ObjectiveC", "ObjectiveCMarshal", "SetMessageSendCallback", "(System.Runtime.InteropServices.ObjectiveC.ObjectiveCMarshal+MessageSendFunction,System.IntPtr)", "summary", "df-generated"] - ["System.Runtime.InteropServices.ObjectiveC", "ObjectiveCMarshal", "SetMessageSendPendingException", "(System.Exception)", "summary", "df-generated"] diff --git a/csharp/ql/lib/ext/generated/System.Runtime.InteropServices.model.yml b/csharp/ql/lib/ext/generated/System.Runtime.InteropServices.model.yml index bb55ab06ce5c..7934e8a4c0e9 100644 --- a/csharp/ql/lib/ext/generated/System.Runtime.InteropServices.model.yml +++ b/csharp/ql/lib/ext/generated/System.Runtime.InteropServices.model.yml @@ -572,6 +572,7 @@ extensions: - ["System.Runtime.InteropServices", "NativeLibrary", "GetMainProgramHandle", "()", "summary", "df-generated"] - ["System.Runtime.InteropServices", "NativeLibrary", "Load", "(System.String)", "summary", "df-generated"] - ["System.Runtime.InteropServices", "NativeLibrary", "Load", "(System.String,System.Reflection.Assembly,System.Nullable)", "summary", "df-generated"] + - ["System.Runtime.InteropServices", "NativeLibrary", "SetDllImportResolver", "(System.Reflection.Assembly,System.Runtime.InteropServices.DllImportResolver)", "summary", "df-generated"] - ["System.Runtime.InteropServices", "NativeLibrary", "TryGetExport", "(System.IntPtr,System.String,System.IntPtr)", "summary", "df-generated"] - ["System.Runtime.InteropServices", "NativeLibrary", "TryLoad", "(System.String,System.IntPtr)", "summary", "df-generated"] - ["System.Runtime.InteropServices", "NativeLibrary", "TryLoad", "(System.String,System.Reflection.Assembly,System.Nullable,System.IntPtr)", "summary", "df-generated"] @@ -597,6 +598,7 @@ extensions: - ["System.Runtime.InteropServices", "OSPlatform", "op_Equality", "(System.Runtime.InteropServices.OSPlatform,System.Runtime.InteropServices.OSPlatform)", "summary", "df-generated"] - ["System.Runtime.InteropServices", "OSPlatform", "op_Inequality", "(System.Runtime.InteropServices.OSPlatform,System.Runtime.InteropServices.OSPlatform)", "summary", "df-generated"] - ["System.Runtime.InteropServices", "PosixSignalContext", "PosixSignalContext", "(System.Runtime.InteropServices.PosixSignal)", "summary", "df-generated"] + - ["System.Runtime.InteropServices", "PosixSignalRegistration", "Create", "(System.Runtime.InteropServices.PosixSignal,System.Action)", "summary", "df-generated"] - ["System.Runtime.InteropServices", "PosixSignalRegistration", "Dispose", "()", "summary", "df-generated"] - ["System.Runtime.InteropServices", "PrimaryInteropAssemblyAttribute", "PrimaryInteropAssemblyAttribute", "(System.Int32,System.Int32)", "summary", "df-generated"] - ["System.Runtime.InteropServices", "PrimaryInteropAssemblyAttribute", "get_MajorVersion", "()", "summary", "df-generated"] diff --git a/csharp/ql/lib/ext/generated/System.Runtime.Loader.model.yml b/csharp/ql/lib/ext/generated/System.Runtime.Loader.model.yml index 1f0cb1f44af0..54431cf7dca1 100644 --- a/csharp/ql/lib/ext/generated/System.Runtime.Loader.model.yml +++ b/csharp/ql/lib/ext/generated/System.Runtime.Loader.model.yml @@ -32,8 +32,14 @@ extensions: - ["System.Runtime.Loader", "AssemblyLoadContext", "SetProfileOptimizationRoot", "(System.String)", "summary", "df-generated"] - ["System.Runtime.Loader", "AssemblyLoadContext", "StartProfileOptimization", "(System.String)", "summary", "df-generated"] - ["System.Runtime.Loader", "AssemblyLoadContext", "Unload", "()", "summary", "df-generated"] + - ["System.Runtime.Loader", "AssemblyLoadContext", "add_Resolving", "(System.Func)", "summary", "df-generated"] + - ["System.Runtime.Loader", "AssemblyLoadContext", "add_ResolvingUnmanagedDll", "(System.Func)", "summary", "df-generated"] + - ["System.Runtime.Loader", "AssemblyLoadContext", "add_Unloading", "(System.Action)", "summary", "df-generated"] - ["System.Runtime.Loader", "AssemblyLoadContext", "get_All", "()", "summary", "df-generated"] - ["System.Runtime.Loader", "AssemblyLoadContext", "get_Assemblies", "()", "summary", "df-generated"] - ["System.Runtime.Loader", "AssemblyLoadContext", "get_CurrentContextualReflectionContext", "()", "summary", "df-generated"] - ["System.Runtime.Loader", "AssemblyLoadContext", "get_Default", "()", "summary", "df-generated"] - ["System.Runtime.Loader", "AssemblyLoadContext", "get_IsCollectible", "()", "summary", "df-generated"] + - ["System.Runtime.Loader", "AssemblyLoadContext", "remove_Resolving", "(System.Func)", "summary", "df-generated"] + - ["System.Runtime.Loader", "AssemblyLoadContext", "remove_ResolvingUnmanagedDll", "(System.Func)", "summary", "df-generated"] + - ["System.Runtime.Loader", "AssemblyLoadContext", "remove_Unloading", "(System.Action)", "summary", "df-generated"] diff --git a/csharp/ql/lib/ext/generated/System.Runtime.Serialization.Json.model.yml b/csharp/ql/lib/ext/generated/System.Runtime.Serialization.Json.model.yml index 987cf15f2974..85b0fd28ad9d 100644 --- a/csharp/ql/lib/ext/generated/System.Runtime.Serialization.Json.model.yml +++ b/csharp/ql/lib/ext/generated/System.Runtime.Serialization.Json.model.yml @@ -34,11 +34,6 @@ extensions: - ["System.Runtime.Serialization.Json", "DataContractJsonSerializer", "DataContractJsonSerializer", "(System.Type,System.Xml.XmlDictionaryString,System.Collections.Generic.IEnumerable)", "summary", "df-generated"] - ["System.Runtime.Serialization.Json", "DataContractJsonSerializer", "IsStartObject", "(System.Xml.XmlDictionaryReader)", "summary", "df-generated"] - ["System.Runtime.Serialization.Json", "DataContractJsonSerializer", "IsStartObject", "(System.Xml.XmlReader)", "summary", "df-generated"] - - ["System.Runtime.Serialization.Json", "DataContractJsonSerializer", "ReadObject", "(System.IO.Stream)", "summary", "df-generated"] - - ["System.Runtime.Serialization.Json", "DataContractJsonSerializer", "ReadObject", "(System.Xml.XmlDictionaryReader)", "summary", "df-generated"] - - ["System.Runtime.Serialization.Json", "DataContractJsonSerializer", "ReadObject", "(System.Xml.XmlDictionaryReader,System.Boolean)", "summary", "df-generated"] - - ["System.Runtime.Serialization.Json", "DataContractJsonSerializer", "ReadObject", "(System.Xml.XmlReader)", "summary", "df-generated"] - - ["System.Runtime.Serialization.Json", "DataContractJsonSerializer", "ReadObject", "(System.Xml.XmlReader,System.Boolean)", "summary", "df-generated"] - ["System.Runtime.Serialization.Json", "DataContractJsonSerializer", "WriteEndObject", "(System.Xml.XmlDictionaryWriter)", "summary", "df-generated"] - ["System.Runtime.Serialization.Json", "DataContractJsonSerializer", "WriteEndObject", "(System.Xml.XmlWriter)", "summary", "df-generated"] - ["System.Runtime.Serialization.Json", "DataContractJsonSerializer", "WriteObject", "(System.IO.Stream,System.Object)", "summary", "df-generated"] @@ -54,6 +49,10 @@ extensions: - ["System.Runtime.Serialization.Json", "DataContractJsonSerializer", "get_MaxItemsInObjectGraph", "()", "summary", "df-generated"] - ["System.Runtime.Serialization.Json", "DataContractJsonSerializer", "get_SerializeReadOnlyTypes", "()", "summary", "df-generated"] - ["System.Runtime.Serialization.Json", "DataContractJsonSerializer", "get_UseSimpleDictionaryFormat", "()", "summary", "df-generated"] + - ["System.Runtime.Serialization.Json", "IXmlJsonReaderInitializer", "SetInput", "(System.Byte[],System.Int32,System.Int32,System.Text.Encoding,System.Xml.XmlDictionaryReaderQuotas,System.Xml.OnXmlDictionaryReaderClose)", "summary", "df-generated"] + - ["System.Runtime.Serialization.Json", "IXmlJsonReaderInitializer", "SetInput", "(System.IO.Stream,System.Text.Encoding,System.Xml.XmlDictionaryReaderQuotas,System.Xml.OnXmlDictionaryReaderClose)", "summary", "df-generated"] + - ["System.Runtime.Serialization.Json", "JsonReaderWriterFactory", "CreateJsonReader", "(System.Byte[],System.Int32,System.Int32,System.Text.Encoding,System.Xml.XmlDictionaryReaderQuotas,System.Xml.OnXmlDictionaryReaderClose)", "summary", "df-generated"] - ["System.Runtime.Serialization.Json", "JsonReaderWriterFactory", "CreateJsonReader", "(System.Byte[],System.Int32,System.Int32,System.Xml.XmlDictionaryReaderQuotas)", "summary", "df-generated"] - ["System.Runtime.Serialization.Json", "JsonReaderWriterFactory", "CreateJsonReader", "(System.Byte[],System.Xml.XmlDictionaryReaderQuotas)", "summary", "df-generated"] + - ["System.Runtime.Serialization.Json", "JsonReaderWriterFactory", "CreateJsonReader", "(System.IO.Stream,System.Text.Encoding,System.Xml.XmlDictionaryReaderQuotas,System.Xml.OnXmlDictionaryReaderClose)", "summary", "df-generated"] - ["System.Runtime.Serialization.Json", "JsonReaderWriterFactory", "CreateJsonReader", "(System.IO.Stream,System.Xml.XmlDictionaryReaderQuotas)", "summary", "df-generated"] diff --git a/csharp/ql/lib/ext/generated/System.Runtime.Serialization.model.yml b/csharp/ql/lib/ext/generated/System.Runtime.Serialization.model.yml index 61c69e948572..fbe9b4b8f140 100644 --- a/csharp/ql/lib/ext/generated/System.Runtime.Serialization.model.yml +++ b/csharp/ql/lib/ext/generated/System.Runtime.Serialization.model.yml @@ -7,6 +7,7 @@ extensions: - ["System.Runtime.Serialization", "DataContractSerializer", False, "DataContractSerializer", "(System.Type,System.Runtime.Serialization.DataContractSerializerSettings)", "", "Argument[1].Property[System.Runtime.Serialization.DataContractSerializerSettings.DataContractResolver]", "Argument[this].SyntheticField[System.Runtime.Serialization.DataContractSerializer._dataContractResolver]", "value", "dfc-generated"] - ["System.Runtime.Serialization", "DataContractSerializer", False, "DataContractSerializer", "(System.Type,System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString,System.Collections.Generic.IEnumerable)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] - ["System.Runtime.Serialization", "DataContractSerializer", False, "DataContractSerializer", "(System.Type,System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString,System.Collections.Generic.IEnumerable)", "", "Argument[2]", "Argument[this]", "taint", "df-generated"] + - ["System.Runtime.Serialization", "DataContractSerializer", False, "ReadObject", "(System.Xml.XmlDictionaryReader,System.Boolean,System.Runtime.Serialization.DataContractResolver)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["System.Runtime.Serialization", "DataContractSerializer", False, "get_DataContractResolver", "()", "", "Argument[this].SyntheticField[System.Runtime.Serialization.DataContractSerializer._dataContractResolver]", "ReturnValue", "value", "dfc-generated"] - ["System.Runtime.Serialization", "DataContractSerializerExtensions", False, "GetSerializationSurrogateProvider", "(System.Runtime.Serialization.DataContractSerializer)", "", "Argument[0].SyntheticField[System.Runtime.Serialization.DataContractSerializer._serializationSurrogateProvider]", "ReturnValue", "value", "dfc-generated"] - ["System.Runtime.Serialization", "DataContractSerializerExtensions", False, "SetSerializationSurrogateProvider", "(System.Runtime.Serialization.DataContractSerializer,System.Runtime.Serialization.ISerializationSurrogateProvider)", "", "Argument[1]", "Argument[0].SyntheticField[System.Runtime.Serialization.DataContractSerializer._serializationSurrogateProvider]", "value", "dfc-generated"] @@ -63,6 +64,11 @@ extensions: - ["System.Runtime.Serialization", "SurrogateSelector", True, "GetNextSelector", "()", "", "Argument[this].SyntheticField[System.Runtime.Serialization.SurrogateSelector._nextSelector]", "ReturnValue", "value", "dfc-generated"] - ["System.Runtime.Serialization", "SurrogateSelector", True, "GetSurrogate", "(System.Type,System.Runtime.Serialization.StreamingContext,System.Runtime.Serialization.ISurrogateSelector)", "", "Argument[this].SyntheticField[System.Runtime.Serialization.SurrogateSelector._nextSelector]", "ReturnValue", "value", "dfc-generated"] - ["System.Runtime.Serialization", "XPathQueryGenerator", False, "CreateFromDataContractSerializer", "(System.Type,System.Reflection.MemberInfo[],System.Text.StringBuilder,System.Xml.XmlNamespaceManager)", "", "Argument[2]", "ReturnValue", "taint", "dfc-generated"] + - ["System.Runtime.Serialization", "XmlObjectSerializer", True, "ReadObject", "(System.IO.Stream)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["System.Runtime.Serialization", "XmlObjectSerializer", True, "ReadObject", "(System.Xml.XmlDictionaryReader)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["System.Runtime.Serialization", "XmlObjectSerializer", True, "ReadObject", "(System.Xml.XmlDictionaryReader,System.Boolean)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["System.Runtime.Serialization", "XmlObjectSerializer", True, "ReadObject", "(System.Xml.XmlReader)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["System.Runtime.Serialization", "XmlObjectSerializer", True, "ReadObject", "(System.Xml.XmlReader,System.Boolean)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["System.Runtime.Serialization", "XmlSerializableServices", False, "WriteNodes", "(System.Xml.XmlWriter,System.Xml.XmlNode[])", "", "Argument[1].Element", "Argument[0]", "taint", "df-generated"] - ["System.Runtime.Serialization", "XsdDataContractExporter", False, "XsdDataContractExporter", "(System.Xml.Schema.XmlSchemaSet)", "", "Argument[0]", "Argument[this].SyntheticField[System.Runtime.Serialization.XsdDataContractExporter._schemas]", "value", "dfc-generated"] - ["System.Runtime.Serialization", "XsdDataContractExporter", False, "get_Schemas", "()", "", "Argument[this].SyntheticField[System.Runtime.Serialization.XsdDataContractExporter._schemas]", "ReturnValue", "value", "dfc-generated"] @@ -94,10 +100,6 @@ extensions: - ["System.Runtime.Serialization", "DataContractSerializer", "DataContractSerializer", "(System.Type,System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString)", "summary", "df-generated"] - ["System.Runtime.Serialization", "DataContractSerializer", "IsStartObject", "(System.Xml.XmlDictionaryReader)", "summary", "df-generated"] - ["System.Runtime.Serialization", "DataContractSerializer", "IsStartObject", "(System.Xml.XmlReader)", "summary", "df-generated"] - - ["System.Runtime.Serialization", "DataContractSerializer", "ReadObject", "(System.Xml.XmlDictionaryReader,System.Boolean)", "summary", "df-generated"] - - ["System.Runtime.Serialization", "DataContractSerializer", "ReadObject", "(System.Xml.XmlDictionaryReader,System.Boolean,System.Runtime.Serialization.DataContractResolver)", "summary", "df-generated"] - - ["System.Runtime.Serialization", "DataContractSerializer", "ReadObject", "(System.Xml.XmlReader)", "summary", "df-generated"] - - ["System.Runtime.Serialization", "DataContractSerializer", "ReadObject", "(System.Xml.XmlReader,System.Boolean)", "summary", "df-generated"] - ["System.Runtime.Serialization", "DataContractSerializer", "WriteEndObject", "(System.Xml.XmlDictionaryWriter)", "summary", "df-generated"] - ["System.Runtime.Serialization", "DataContractSerializer", "WriteEndObject", "(System.Xml.XmlWriter)", "summary", "df-generated"] - ["System.Runtime.Serialization", "DataContractSerializer", "WriteObject", "(System.Xml.XmlDictionaryWriter,System.Object,System.Runtime.Serialization.DataContractResolver)", "summary", "df-generated"] @@ -289,11 +291,6 @@ extensions: - ["System.Runtime.Serialization", "XPathQueryGenerator", "CreateFromDataContractSerializer", "(System.Type,System.Reflection.MemberInfo[],System.Xml.XmlNamespaceManager)", "summary", "df-generated"] - ["System.Runtime.Serialization", "XmlObjectSerializer", "IsStartObject", "(System.Xml.XmlDictionaryReader)", "summary", "df-generated"] - ["System.Runtime.Serialization", "XmlObjectSerializer", "IsStartObject", "(System.Xml.XmlReader)", "summary", "df-generated"] - - ["System.Runtime.Serialization", "XmlObjectSerializer", "ReadObject", "(System.IO.Stream)", "summary", "df-generated"] - - ["System.Runtime.Serialization", "XmlObjectSerializer", "ReadObject", "(System.Xml.XmlDictionaryReader)", "summary", "df-generated"] - - ["System.Runtime.Serialization", "XmlObjectSerializer", "ReadObject", "(System.Xml.XmlDictionaryReader,System.Boolean)", "summary", "df-generated"] - - ["System.Runtime.Serialization", "XmlObjectSerializer", "ReadObject", "(System.Xml.XmlReader)", "summary", "df-generated"] - - ["System.Runtime.Serialization", "XmlObjectSerializer", "ReadObject", "(System.Xml.XmlReader,System.Boolean)", "summary", "df-generated"] - ["System.Runtime.Serialization", "XmlObjectSerializer", "WriteEndObject", "(System.Xml.XmlDictionaryWriter)", "summary", "df-generated"] - ["System.Runtime.Serialization", "XmlObjectSerializer", "WriteEndObject", "(System.Xml.XmlWriter)", "summary", "df-generated"] - ["System.Runtime.Serialization", "XmlObjectSerializer", "WriteObject", "(System.IO.Stream,System.Object)", "summary", "df-generated"] diff --git a/csharp/ql/lib/ext/generated/System.Runtime.model.yml b/csharp/ql/lib/ext/generated/System.Runtime.model.yml index 5dcc6d7aa7a4..e611cdc47a76 100644 --- a/csharp/ql/lib/ext/generated/System.Runtime.model.yml +++ b/csharp/ql/lib/ext/generated/System.Runtime.model.yml @@ -13,6 +13,7 @@ extensions: - ["System.Runtime", "AmbiguousImplementationException", "AmbiguousImplementationException", "(System.String,System.Exception)", "summary", "df-generated"] - ["System.Runtime", "AssemblyTargetedPatchBandAttribute", "AssemblyTargetedPatchBandAttribute", "(System.String)", "summary", "df-generated"] - ["System.Runtime", "AssemblyTargetedPatchBandAttribute", "get_TargetedPatchBand", "()", "summary", "df-generated"] + - ["System.Runtime", "ControlledExecution", "Run", "(System.Action,System.Threading.CancellationToken)", "summary", "df-generated"] - ["System.Runtime", "DependentHandle", "DependentHandle", "(System.Object,System.Object)", "summary", "df-generated"] - ["System.Runtime", "DependentHandle", "Dispose", "()", "summary", "df-generated"] - ["System.Runtime", "DependentHandle", "get_IsAllocated", "()", "summary", "df-generated"] diff --git a/csharp/ql/lib/ext/generated/System.Security.AccessControl.model.yml b/csharp/ql/lib/ext/generated/System.Security.AccessControl.model.yml index 36074b6eb722..05e970edbe0d 100644 --- a/csharp/ql/lib/ext/generated/System.Security.AccessControl.model.yml +++ b/csharp/ql/lib/ext/generated/System.Security.AccessControl.model.yml @@ -219,7 +219,10 @@ extensions: - ["System.Security.AccessControl", "MutexSecurity", "get_AuditRuleType", "()", "summary", "df-generated"] - ["System.Security.AccessControl", "NativeObjectSecurity", "NativeObjectSecurity", "(System.Boolean,System.Security.AccessControl.ResourceType)", "summary", "df-generated"] - ["System.Security.AccessControl", "NativeObjectSecurity", "NativeObjectSecurity", "(System.Boolean,System.Security.AccessControl.ResourceType,System.Runtime.InteropServices.SafeHandle,System.Security.AccessControl.AccessControlSections)", "summary", "df-generated"] + - ["System.Security.AccessControl", "NativeObjectSecurity", "NativeObjectSecurity", "(System.Boolean,System.Security.AccessControl.ResourceType,System.Runtime.InteropServices.SafeHandle,System.Security.AccessControl.AccessControlSections,System.Security.AccessControl.NativeObjectSecurity+ExceptionFromErrorCode,System.Object)", "summary", "df-generated"] + - ["System.Security.AccessControl", "NativeObjectSecurity", "NativeObjectSecurity", "(System.Boolean,System.Security.AccessControl.ResourceType,System.Security.AccessControl.NativeObjectSecurity+ExceptionFromErrorCode,System.Object)", "summary", "df-generated"] - ["System.Security.AccessControl", "NativeObjectSecurity", "NativeObjectSecurity", "(System.Boolean,System.Security.AccessControl.ResourceType,System.String,System.Security.AccessControl.AccessControlSections)", "summary", "df-generated"] + - ["System.Security.AccessControl", "NativeObjectSecurity", "NativeObjectSecurity", "(System.Boolean,System.Security.AccessControl.ResourceType,System.String,System.Security.AccessControl.AccessControlSections,System.Security.AccessControl.NativeObjectSecurity+ExceptionFromErrorCode,System.Object)", "summary", "df-generated"] - ["System.Security.AccessControl", "NativeObjectSecurity", "Persist", "(System.Runtime.InteropServices.SafeHandle,System.Security.AccessControl.AccessControlSections)", "summary", "df-generated"] - ["System.Security.AccessControl", "NativeObjectSecurity", "Persist", "(System.Runtime.InteropServices.SafeHandle,System.Security.AccessControl.AccessControlSections,System.Object)", "summary", "df-generated"] - ["System.Security.AccessControl", "NativeObjectSecurity", "Persist", "(System.String,System.Security.AccessControl.AccessControlSections)", "summary", "df-generated"] @@ -282,7 +285,9 @@ extensions: - ["System.Security.AccessControl", "ObjectSecurity", "AuditRuleFactory", "(System.Security.Principal.IdentityReference,System.Int32,System.Boolean,System.Security.AccessControl.InheritanceFlags,System.Security.AccessControl.PropagationFlags,System.Security.AccessControl.AuditFlags)", "summary", "df-generated"] - ["System.Security.AccessControl", "ObjectSecurity", "ObjectSecurity", "(System.Boolean,System.Security.AccessControl.ResourceType)", "summary", "df-generated"] - ["System.Security.AccessControl", "ObjectSecurity", "ObjectSecurity", "(System.Boolean,System.Security.AccessControl.ResourceType,System.Runtime.InteropServices.SafeHandle,System.Security.AccessControl.AccessControlSections)", "summary", "df-generated"] + - ["System.Security.AccessControl", "ObjectSecurity", "ObjectSecurity", "(System.Boolean,System.Security.AccessControl.ResourceType,System.Runtime.InteropServices.SafeHandle,System.Security.AccessControl.AccessControlSections,System.Security.AccessControl.NativeObjectSecurity+ExceptionFromErrorCode,System.Object)", "summary", "df-generated"] - ["System.Security.AccessControl", "ObjectSecurity", "ObjectSecurity", "(System.Boolean,System.Security.AccessControl.ResourceType,System.String,System.Security.AccessControl.AccessControlSections)", "summary", "df-generated"] + - ["System.Security.AccessControl", "ObjectSecurity", "ObjectSecurity", "(System.Boolean,System.Security.AccessControl.ResourceType,System.String,System.Security.AccessControl.AccessControlSections,System.Security.AccessControl.NativeObjectSecurity+ExceptionFromErrorCode,System.Object)", "summary", "df-generated"] - ["System.Security.AccessControl", "ObjectSecurity", "Persist", "(System.Runtime.InteropServices.SafeHandle)", "summary", "df-generated"] - ["System.Security.AccessControl", "ObjectSecurity", "Persist", "(System.String)", "summary", "df-generated"] - ["System.Security.AccessControl", "ObjectSecurity", "RemoveAccessRule", "(System.Security.AccessControl.AccessRule)", "summary", "df-generated"] diff --git a/csharp/ql/lib/ext/generated/System.Security.Claims.model.yml b/csharp/ql/lib/ext/generated/System.Security.Claims.model.yml index e707ede375ed..3dc907cd1aba 100644 --- a/csharp/ql/lib/ext/generated/System.Security.Claims.model.yml +++ b/csharp/ql/lib/ext/generated/System.Security.Claims.model.yml @@ -25,6 +25,8 @@ extensions: - ["System.Security.Claims", "ClaimsIdentity", True, "AddClaims", "(System.Collections.Generic.IEnumerable)", "", "Argument[0].Element", "Argument[this].SyntheticField[System.Security.Claims.ClaimsIdentity._instanceClaims].Element", "value", "dfc-generated"] - ["System.Security.Claims", "ClaimsIdentity", True, "FindFirst", "(System.String)", "", "Argument[this].Property[System.Security.Claims.ClaimsIdentity.Claims].Element", "ReturnValue", "value", "dfc-generated"] - ["System.Security.Claims", "ClaimsIdentity", True, "FindFirst", "(System.String)", "", "Argument[this].SyntheticField[System.Security.Claims.ClaimsIdentity._instanceClaims].Element", "ReturnValue", "value", "dfc-generated"] + - ["System.Security.Claims", "ClaimsIdentity", True, "HasClaim", "(System.Predicate)", "", "Argument[this].Property[System.Security.Claims.ClaimsIdentity.Claims].Element", "Argument[0].Parameter[0]", "value", "dfc-generated"] + - ["System.Security.Claims", "ClaimsIdentity", True, "HasClaim", "(System.Predicate)", "", "Argument[this].SyntheticField[System.Security.Claims.ClaimsIdentity._instanceClaims].Element", "Argument[0].Parameter[0]", "value", "dfc-generated"] - ["System.Security.Claims", "ClaimsIdentity", True, "get_AuthenticationType", "()", "", "Argument[this].SyntheticField[System.Security.Claims.ClaimsIdentity._authenticationType]", "ReturnValue", "value", "dfc-generated"] - ["System.Security.Claims", "ClaimsIdentity", True, "get_Claims", "()", "", "Argument[this].SyntheticField[System.Security.Claims.ClaimsIdentity._instanceClaims].Element", "ReturnValue.Element", "value", "dfc-generated"] - ["System.Security.Claims", "ClaimsIdentity", True, "get_Claims", "()", "", "Argument[this].SyntheticField[System.Security.Claims.ClaimsIdentity._instanceClaims]", "ReturnValue", "value", "dfc-generated"] @@ -67,7 +69,9 @@ extensions: - ["System.Security.Claims", "ClaimsIdentity", "ClaimsIdentity", "(System.String,System.String,System.String)", "summary", "df-generated"] - ["System.Security.Claims", "ClaimsIdentity", "Clone", "()", "summary", "df-generated"] - ["System.Security.Claims", "ClaimsIdentity", "CreateClaim", "(System.IO.BinaryReader)", "summary", "df-generated"] + - ["System.Security.Claims", "ClaimsIdentity", "FindAll", "(System.Predicate)", "summary", "df-generated"] - ["System.Security.Claims", "ClaimsIdentity", "FindAll", "(System.String)", "summary", "df-generated"] + - ["System.Security.Claims", "ClaimsIdentity", "FindFirst", "(System.Predicate)", "summary", "df-generated"] - ["System.Security.Claims", "ClaimsIdentity", "GetObjectData", "(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)", "summary", "df-generated"] - ["System.Security.Claims", "ClaimsIdentity", "HasClaim", "(System.String,System.String)", "summary", "df-generated"] - ["System.Security.Claims", "ClaimsIdentity", "RemoveClaim", "(System.Security.Claims.Claim)", "summary", "df-generated"] @@ -79,8 +83,11 @@ extensions: - ["System.Security.Claims", "ClaimsPrincipal", "ClaimsPrincipal", "(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)", "summary", "df-generated"] - ["System.Security.Claims", "ClaimsPrincipal", "Clone", "()", "summary", "df-generated"] - ["System.Security.Claims", "ClaimsPrincipal", "CreateClaimsIdentity", "(System.IO.BinaryReader)", "summary", "df-generated"] + - ["System.Security.Claims", "ClaimsPrincipal", "FindAll", "(System.Predicate)", "summary", "df-generated"] - ["System.Security.Claims", "ClaimsPrincipal", "FindAll", "(System.String)", "summary", "df-generated"] + - ["System.Security.Claims", "ClaimsPrincipal", "FindFirst", "(System.Predicate)", "summary", "df-generated"] - ["System.Security.Claims", "ClaimsPrincipal", "GetObjectData", "(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)", "summary", "df-generated"] + - ["System.Security.Claims", "ClaimsPrincipal", "HasClaim", "(System.Predicate)", "summary", "df-generated"] - ["System.Security.Claims", "ClaimsPrincipal", "HasClaim", "(System.String,System.String)", "summary", "df-generated"] - ["System.Security.Claims", "ClaimsPrincipal", "IsInRole", "(System.String)", "summary", "df-generated"] - ["System.Security.Claims", "ClaimsPrincipal", "WriteTo", "(System.IO.BinaryWriter)", "summary", "df-generated"] diff --git a/csharp/ql/lib/ext/generated/System.Security.Principal.model.yml b/csharp/ql/lib/ext/generated/System.Security.Principal.model.yml index 4652d98e2401..06afc2a07ca2 100644 --- a/csharp/ql/lib/ext/generated/System.Security.Principal.model.yml +++ b/csharp/ql/lib/ext/generated/System.Security.Principal.model.yml @@ -85,6 +85,10 @@ extensions: - ["System.Security.Principal", "WindowsIdentity", "GetCurrent", "(System.Boolean)", "summary", "df-generated"] - ["System.Security.Principal", "WindowsIdentity", "GetCurrent", "(System.Security.Principal.TokenAccessLevels)", "summary", "df-generated"] - ["System.Security.Principal", "WindowsIdentity", "OnDeserialization", "(System.Object)", "summary", "df-generated"] + - ["System.Security.Principal", "WindowsIdentity", "RunImpersonated", "(Microsoft.Win32.SafeHandles.SafeAccessTokenHandle,System.Action)", "summary", "df-generated"] + - ["System.Security.Principal", "WindowsIdentity", "RunImpersonated", "(Microsoft.Win32.SafeHandles.SafeAccessTokenHandle,System.Func)", "summary", "df-generated"] + - ["System.Security.Principal", "WindowsIdentity", "RunImpersonatedAsync", "(Microsoft.Win32.SafeHandles.SafeAccessTokenHandle,System.Func)", "summary", "df-generated"] + - ["System.Security.Principal", "WindowsIdentity", "RunImpersonatedAsync", "(Microsoft.Win32.SafeHandles.SafeAccessTokenHandle,System.Func>)", "summary", "df-generated"] - ["System.Security.Principal", "WindowsIdentity", "WindowsIdentity", "(System.IntPtr)", "summary", "df-generated"] - ["System.Security.Principal", "WindowsIdentity", "WindowsIdentity", "(System.IntPtr,System.String)", "summary", "df-generated"] - ["System.Security.Principal", "WindowsIdentity", "WindowsIdentity", "(System.IntPtr,System.String,System.Security.Principal.WindowsAccountType)", "summary", "df-generated"] diff --git a/csharp/ql/lib/ext/generated/System.Security.model.yml b/csharp/ql/lib/ext/generated/System.Security.model.yml index 5660f3a36743..2677b7bc793a 100644 --- a/csharp/ql/lib/ext/generated/System.Security.model.yml +++ b/csharp/ql/lib/ext/generated/System.Security.model.yml @@ -131,6 +131,7 @@ extensions: - ["System.Security", "SecurityContext", "IsFlowSuppressed", "()", "summary", "df-generated"] - ["System.Security", "SecurityContext", "IsWindowsIdentityFlowSuppressed", "()", "summary", "df-generated"] - ["System.Security", "SecurityContext", "RestoreFlow", "()", "summary", "df-generated"] + - ["System.Security", "SecurityContext", "Run", "(System.Security.SecurityContext,System.Threading.ContextCallback,System.Object)", "summary", "df-generated"] - ["System.Security", "SecurityContext", "SuppressFlow", "()", "summary", "df-generated"] - ["System.Security", "SecurityContext", "SuppressFlowWindowsIdentity", "()", "summary", "df-generated"] - ["System.Security", "SecurityCriticalAttribute", "SecurityCriticalAttribute", "(System.Security.SecurityCriticalScope)", "summary", "df-generated"] diff --git a/csharp/ql/lib/ext/generated/System.Speech.Recognition.model.yml b/csharp/ql/lib/ext/generated/System.Speech.Recognition.model.yml index b7fa8312dda6..0b37c0832b9e 100644 --- a/csharp/ql/lib/ext/generated/System.Speech.Recognition.model.yml +++ b/csharp/ql/lib/ext/generated/System.Speech.Recognition.model.yml @@ -34,9 +34,11 @@ extensions: - ["System.Speech.Recognition", "Grammar", "Grammar", "(System.String,System.String,System.Object[])", "summary", "df-generated"] - ["System.Speech.Recognition", "Grammar", "LoadLocalizedGrammarFromType", "(System.Type,System.Object[])", "summary", "df-generated"] - ["System.Speech.Recognition", "Grammar", "StgInit", "(System.Object[])", "summary", "df-generated"] + - ["System.Speech.Recognition", "Grammar", "add_SpeechRecognized", "(System.EventHandler)", "summary", "df-generated"] - ["System.Speech.Recognition", "Grammar", "get_IsStg", "()", "summary", "df-generated"] - ["System.Speech.Recognition", "Grammar", "get_Loaded", "()", "summary", "df-generated"] - ["System.Speech.Recognition", "Grammar", "get_RuleName", "()", "summary", "df-generated"] + - ["System.Speech.Recognition", "Grammar", "remove_SpeechRecognized", "(System.EventHandler)", "summary", "df-generated"] - ["System.Speech.Recognition", "GrammarBuilder", "Add", "(System.Speech.Recognition.Choices,System.Speech.Recognition.GrammarBuilder)", "summary", "df-generated"] - ["System.Speech.Recognition", "GrammarBuilder", "Add", "(System.Speech.Recognition.GrammarBuilder,System.Speech.Recognition.Choices)", "summary", "df-generated"] - ["System.Speech.Recognition", "GrammarBuilder", "Add", "(System.Speech.Recognition.GrammarBuilder,System.Speech.Recognition.GrammarBuilder)", "summary", "df-generated"] @@ -167,6 +169,17 @@ extensions: - ["System.Speech.Recognition", "SpeechRecognitionEngine", "UnloadGrammar", "(System.Speech.Recognition.Grammar)", "summary", "df-generated"] - ["System.Speech.Recognition", "SpeechRecognitionEngine", "UpdateRecognizerSetting", "(System.String,System.Int32)", "summary", "df-generated"] - ["System.Speech.Recognition", "SpeechRecognitionEngine", "UpdateRecognizerSetting", "(System.String,System.String)", "summary", "df-generated"] + - ["System.Speech.Recognition", "SpeechRecognitionEngine", "add_AudioLevelUpdated", "(System.EventHandler)", "summary", "df-generated"] + - ["System.Speech.Recognition", "SpeechRecognitionEngine", "add_AudioSignalProblemOccurred", "(System.EventHandler)", "summary", "df-generated"] + - ["System.Speech.Recognition", "SpeechRecognitionEngine", "add_AudioStateChanged", "(System.EventHandler)", "summary", "df-generated"] + - ["System.Speech.Recognition", "SpeechRecognitionEngine", "add_EmulateRecognizeCompleted", "(System.EventHandler)", "summary", "df-generated"] + - ["System.Speech.Recognition", "SpeechRecognitionEngine", "add_LoadGrammarCompleted", "(System.EventHandler)", "summary", "df-generated"] + - ["System.Speech.Recognition", "SpeechRecognitionEngine", "add_RecognizeCompleted", "(System.EventHandler)", "summary", "df-generated"] + - ["System.Speech.Recognition", "SpeechRecognitionEngine", "add_RecognizerUpdateReached", "(System.EventHandler)", "summary", "df-generated"] + - ["System.Speech.Recognition", "SpeechRecognitionEngine", "add_SpeechDetected", "(System.EventHandler)", "summary", "df-generated"] + - ["System.Speech.Recognition", "SpeechRecognitionEngine", "add_SpeechHypothesized", "(System.EventHandler)", "summary", "df-generated"] + - ["System.Speech.Recognition", "SpeechRecognitionEngine", "add_SpeechRecognitionRejected", "(System.EventHandler)", "summary", "df-generated"] + - ["System.Speech.Recognition", "SpeechRecognitionEngine", "add_SpeechRecognized", "(System.EventHandler)", "summary", "df-generated"] - ["System.Speech.Recognition", "SpeechRecognitionEngine", "get_AudioFormat", "()", "summary", "df-generated"] - ["System.Speech.Recognition", "SpeechRecognitionEngine", "get_AudioLevel", "()", "summary", "df-generated"] - ["System.Speech.Recognition", "SpeechRecognitionEngine", "get_AudioPosition", "()", "summary", "df-generated"] @@ -174,6 +187,17 @@ extensions: - ["System.Speech.Recognition", "SpeechRecognitionEngine", "get_Grammars", "()", "summary", "df-generated"] - ["System.Speech.Recognition", "SpeechRecognitionEngine", "get_RecognizerAudioPosition", "()", "summary", "df-generated"] - ["System.Speech.Recognition", "SpeechRecognitionEngine", "get_RecognizerInfo", "()", "summary", "df-generated"] + - ["System.Speech.Recognition", "SpeechRecognitionEngine", "remove_AudioLevelUpdated", "(System.EventHandler)", "summary", "df-generated"] + - ["System.Speech.Recognition", "SpeechRecognitionEngine", "remove_AudioSignalProblemOccurred", "(System.EventHandler)", "summary", "df-generated"] + - ["System.Speech.Recognition", "SpeechRecognitionEngine", "remove_AudioStateChanged", "(System.EventHandler)", "summary", "df-generated"] + - ["System.Speech.Recognition", "SpeechRecognitionEngine", "remove_EmulateRecognizeCompleted", "(System.EventHandler)", "summary", "df-generated"] + - ["System.Speech.Recognition", "SpeechRecognitionEngine", "remove_LoadGrammarCompleted", "(System.EventHandler)", "summary", "df-generated"] + - ["System.Speech.Recognition", "SpeechRecognitionEngine", "remove_RecognizeCompleted", "(System.EventHandler)", "summary", "df-generated"] + - ["System.Speech.Recognition", "SpeechRecognitionEngine", "remove_RecognizerUpdateReached", "(System.EventHandler)", "summary", "df-generated"] + - ["System.Speech.Recognition", "SpeechRecognitionEngine", "remove_SpeechDetected", "(System.EventHandler)", "summary", "df-generated"] + - ["System.Speech.Recognition", "SpeechRecognitionEngine", "remove_SpeechHypothesized", "(System.EventHandler)", "summary", "df-generated"] + - ["System.Speech.Recognition", "SpeechRecognitionEngine", "remove_SpeechRecognitionRejected", "(System.EventHandler)", "summary", "df-generated"] + - ["System.Speech.Recognition", "SpeechRecognitionEngine", "remove_SpeechRecognized", "(System.EventHandler)", "summary", "df-generated"] - ["System.Speech.Recognition", "SpeechRecognizer", "Dispose", "()", "summary", "df-generated"] - ["System.Speech.Recognition", "SpeechRecognizer", "Dispose", "(System.Boolean)", "summary", "df-generated"] - ["System.Speech.Recognition", "SpeechRecognizer", "EmulateRecognize", "(System.Speech.Recognition.RecognizedWordUnit[],System.Globalization.CompareOptions)", "summary", "df-generated"] @@ -189,6 +213,17 @@ extensions: - ["System.Speech.Recognition", "SpeechRecognizer", "RequestRecognizerUpdate", "(System.Object,System.TimeSpan)", "summary", "df-generated"] - ["System.Speech.Recognition", "SpeechRecognizer", "UnloadAllGrammars", "()", "summary", "df-generated"] - ["System.Speech.Recognition", "SpeechRecognizer", "UnloadGrammar", "(System.Speech.Recognition.Grammar)", "summary", "df-generated"] + - ["System.Speech.Recognition", "SpeechRecognizer", "add_AudioLevelUpdated", "(System.EventHandler)", "summary", "df-generated"] + - ["System.Speech.Recognition", "SpeechRecognizer", "add_AudioSignalProblemOccurred", "(System.EventHandler)", "summary", "df-generated"] + - ["System.Speech.Recognition", "SpeechRecognizer", "add_AudioStateChanged", "(System.EventHandler)", "summary", "df-generated"] + - ["System.Speech.Recognition", "SpeechRecognizer", "add_EmulateRecognizeCompleted", "(System.EventHandler)", "summary", "df-generated"] + - ["System.Speech.Recognition", "SpeechRecognizer", "add_LoadGrammarCompleted", "(System.EventHandler)", "summary", "df-generated"] + - ["System.Speech.Recognition", "SpeechRecognizer", "add_RecognizerUpdateReached", "(System.EventHandler)", "summary", "df-generated"] + - ["System.Speech.Recognition", "SpeechRecognizer", "add_SpeechDetected", "(System.EventHandler)", "summary", "df-generated"] + - ["System.Speech.Recognition", "SpeechRecognizer", "add_SpeechHypothesized", "(System.EventHandler)", "summary", "df-generated"] + - ["System.Speech.Recognition", "SpeechRecognizer", "add_SpeechRecognitionRejected", "(System.EventHandler)", "summary", "df-generated"] + - ["System.Speech.Recognition", "SpeechRecognizer", "add_SpeechRecognized", "(System.EventHandler)", "summary", "df-generated"] + - ["System.Speech.Recognition", "SpeechRecognizer", "add_StateChanged", "(System.EventHandler)", "summary", "df-generated"] - ["System.Speech.Recognition", "SpeechRecognizer", "get_AudioFormat", "()", "summary", "df-generated"] - ["System.Speech.Recognition", "SpeechRecognizer", "get_AudioLevel", "()", "summary", "df-generated"] - ["System.Speech.Recognition", "SpeechRecognizer", "get_AudioPosition", "()", "summary", "df-generated"] @@ -197,5 +232,16 @@ extensions: - ["System.Speech.Recognition", "SpeechRecognizer", "get_RecognizerAudioPosition", "()", "summary", "df-generated"] - ["System.Speech.Recognition", "SpeechRecognizer", "get_RecognizerInfo", "()", "summary", "df-generated"] - ["System.Speech.Recognition", "SpeechRecognizer", "get_State", "()", "summary", "df-generated"] + - ["System.Speech.Recognition", "SpeechRecognizer", "remove_AudioLevelUpdated", "(System.EventHandler)", "summary", "df-generated"] + - ["System.Speech.Recognition", "SpeechRecognizer", "remove_AudioSignalProblemOccurred", "(System.EventHandler)", "summary", "df-generated"] + - ["System.Speech.Recognition", "SpeechRecognizer", "remove_AudioStateChanged", "(System.EventHandler)", "summary", "df-generated"] + - ["System.Speech.Recognition", "SpeechRecognizer", "remove_EmulateRecognizeCompleted", "(System.EventHandler)", "summary", "df-generated"] + - ["System.Speech.Recognition", "SpeechRecognizer", "remove_LoadGrammarCompleted", "(System.EventHandler)", "summary", "df-generated"] + - ["System.Speech.Recognition", "SpeechRecognizer", "remove_RecognizerUpdateReached", "(System.EventHandler)", "summary", "df-generated"] + - ["System.Speech.Recognition", "SpeechRecognizer", "remove_SpeechDetected", "(System.EventHandler)", "summary", "df-generated"] + - ["System.Speech.Recognition", "SpeechRecognizer", "remove_SpeechHypothesized", "(System.EventHandler)", "summary", "df-generated"] + - ["System.Speech.Recognition", "SpeechRecognizer", "remove_SpeechRecognitionRejected", "(System.EventHandler)", "summary", "df-generated"] + - ["System.Speech.Recognition", "SpeechRecognizer", "remove_SpeechRecognized", "(System.EventHandler)", "summary", "df-generated"] + - ["System.Speech.Recognition", "SpeechRecognizer", "remove_StateChanged", "(System.EventHandler)", "summary", "df-generated"] - ["System.Speech.Recognition", "SpeechUI", "SendTextFeedback", "(System.Speech.Recognition.RecognitionResult,System.String,System.Boolean)", "summary", "df-generated"] - ["System.Speech.Recognition", "StateChangedEventArgs", "get_RecognizerState", "()", "summary", "df-generated"] diff --git a/csharp/ql/lib/ext/generated/System.Speech.Synthesis.model.yml b/csharp/ql/lib/ext/generated/System.Speech.Synthesis.model.yml index 5c8a51bfb73d..4f0421c44507 100644 --- a/csharp/ql/lib/ext/generated/System.Speech.Synthesis.model.yml +++ b/csharp/ql/lib/ext/generated/System.Speech.Synthesis.model.yml @@ -96,8 +96,24 @@ extensions: - ["System.Speech.Synthesis", "SpeechSynthesizer", "SpeakAsyncCancelAll", "()", "summary", "df-generated"] - ["System.Speech.Synthesis", "SpeechSynthesizer", "SpeakSsml", "(System.String)", "summary", "df-generated"] - ["System.Speech.Synthesis", "SpeechSynthesizer", "SpeakSsmlAsync", "(System.String)", "summary", "df-generated"] + - ["System.Speech.Synthesis", "SpeechSynthesizer", "add_BookmarkReached", "(System.EventHandler)", "summary", "df-generated"] + - ["System.Speech.Synthesis", "SpeechSynthesizer", "add_PhonemeReached", "(System.EventHandler)", "summary", "df-generated"] + - ["System.Speech.Synthesis", "SpeechSynthesizer", "add_SpeakCompleted", "(System.EventHandler)", "summary", "df-generated"] + - ["System.Speech.Synthesis", "SpeechSynthesizer", "add_SpeakProgress", "(System.EventHandler)", "summary", "df-generated"] + - ["System.Speech.Synthesis", "SpeechSynthesizer", "add_SpeakStarted", "(System.EventHandler)", "summary", "df-generated"] + - ["System.Speech.Synthesis", "SpeechSynthesizer", "add_StateChanged", "(System.EventHandler)", "summary", "df-generated"] + - ["System.Speech.Synthesis", "SpeechSynthesizer", "add_VisemeReached", "(System.EventHandler)", "summary", "df-generated"] + - ["System.Speech.Synthesis", "SpeechSynthesizer", "add_VoiceChange", "(System.EventHandler)", "summary", "df-generated"] - ["System.Speech.Synthesis", "SpeechSynthesizer", "get_State", "()", "summary", "df-generated"] - ["System.Speech.Synthesis", "SpeechSynthesizer", "get_Voice", "()", "summary", "df-generated"] + - ["System.Speech.Synthesis", "SpeechSynthesizer", "remove_BookmarkReached", "(System.EventHandler)", "summary", "df-generated"] + - ["System.Speech.Synthesis", "SpeechSynthesizer", "remove_PhonemeReached", "(System.EventHandler)", "summary", "df-generated"] + - ["System.Speech.Synthesis", "SpeechSynthesizer", "remove_SpeakCompleted", "(System.EventHandler)", "summary", "df-generated"] + - ["System.Speech.Synthesis", "SpeechSynthesizer", "remove_SpeakProgress", "(System.EventHandler)", "summary", "df-generated"] + - ["System.Speech.Synthesis", "SpeechSynthesizer", "remove_SpeakStarted", "(System.EventHandler)", "summary", "df-generated"] + - ["System.Speech.Synthesis", "SpeechSynthesizer", "remove_StateChanged", "(System.EventHandler)", "summary", "df-generated"] + - ["System.Speech.Synthesis", "SpeechSynthesizer", "remove_VisemeReached", "(System.EventHandler)", "summary", "df-generated"] + - ["System.Speech.Synthesis", "SpeechSynthesizer", "remove_VoiceChange", "(System.EventHandler)", "summary", "df-generated"] - ["System.Speech.Synthesis", "StateChangedEventArgs", "get_PreviousState", "()", "summary", "df-generated"] - ["System.Speech.Synthesis", "StateChangedEventArgs", "get_State", "()", "summary", "df-generated"] - ["System.Speech.Synthesis", "VisemeReachedEventArgs", "get_AudioPosition", "()", "summary", "df-generated"] diff --git a/csharp/ql/lib/ext/generated/System.Text.Json.Serialization.Metadata.model.yml b/csharp/ql/lib/ext/generated/System.Text.Json.Serialization.Metadata.model.yml index 9bdfa5d26725..faaaff0bdfda 100644 --- a/csharp/ql/lib/ext/generated/System.Text.Json.Serialization.Metadata.model.yml +++ b/csharp/ql/lib/ext/generated/System.Text.Json.Serialization.Metadata.model.yml @@ -44,6 +44,10 @@ extensions: - ["System.Text.Json.Serialization.Metadata", "JsonDerivedType", "JsonDerivedType", "(System.Type,System.String)", "summary", "df-generated"] - ["System.Text.Json.Serialization.Metadata", "JsonDerivedType", "get_DerivedType", "()", "summary", "df-generated"] - ["System.Text.Json.Serialization.Metadata", "JsonDerivedType", "get_TypeDiscriminator", "()", "summary", "df-generated"] + - ["System.Text.Json.Serialization.Metadata", "JsonMetadataServices", "CreateImmutableDictionaryInfo", "(System.Text.Json.JsonSerializerOptions,System.Text.Json.Serialization.Metadata.JsonCollectionInfoValues,System.Func>,TCollection>)", "summary", "df-generated"] + - ["System.Text.Json.Serialization.Metadata", "JsonMetadataServices", "CreateImmutableEnumerableInfo", "(System.Text.Json.JsonSerializerOptions,System.Text.Json.Serialization.Metadata.JsonCollectionInfoValues,System.Func,TCollection>)", "summary", "df-generated"] + - ["System.Text.Json.Serialization.Metadata", "JsonMetadataServices", "CreateQueueInfo", "(System.Text.Json.JsonSerializerOptions,System.Text.Json.Serialization.Metadata.JsonCollectionInfoValues,System.Action)", "summary", "df-generated"] + - ["System.Text.Json.Serialization.Metadata", "JsonMetadataServices", "CreateStackInfo", "(System.Text.Json.JsonSerializerOptions,System.Text.Json.Serialization.Metadata.JsonCollectionInfoValues,System.Action)", "summary", "df-generated"] - ["System.Text.Json.Serialization.Metadata", "JsonMetadataServices", "GetEnumConverter", "(System.Text.Json.JsonSerializerOptions)", "summary", "df-generated"] - ["System.Text.Json.Serialization.Metadata", "JsonMetadataServices", "GetNullableConverter", "(System.Text.Json.JsonSerializerOptions)", "summary", "df-generated"] - ["System.Text.Json.Serialization.Metadata", "JsonMetadataServices", "GetUnsupportedTypeConverter", "()", "summary", "df-generated"] @@ -86,3 +90,4 @@ extensions: - ["System.Text.Json.Serialization.Metadata", "JsonPropertyInfo", "get_PropertyType", "()", "summary", "df-generated"] - ["System.Text.Json.Serialization.Metadata", "JsonTypeInfo", "MakeReadOnly", "()", "summary", "df-generated"] - ["System.Text.Json.Serialization.Metadata", "JsonTypeInfo", "get_Converter", "()", "summary", "df-generated"] + - ["System.Text.Json.Serialization.Metadata", "JsonTypeInfoResolver", "WithAddedModifier", "(System.Text.Json.Serialization.Metadata.IJsonTypeInfoResolver,System.Action)", "summary", "df-generated"] diff --git a/csharp/ql/lib/ext/generated/System.Text.Json.model.yml b/csharp/ql/lib/ext/generated/System.Text.Json.model.yml index a2c7a5778fec..527d46fd4a53 100644 --- a/csharp/ql/lib/ext/generated/System.Text.Json.model.yml +++ b/csharp/ql/lib/ext/generated/System.Text.Json.model.yml @@ -44,6 +44,24 @@ extensions: - ["System.Text.Json", "JsonSerializer", False, "Deserialize", "(System.Text.Json.Utf8JsonReader,System.Type,System.Text.Json.Serialization.JsonSerializerContext)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["System.Text.Json", "JsonSerializer", False, "Deserialize", "(System.Text.Json.Utf8JsonReader,System.Text.Json.JsonSerializerOptions)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["System.Text.Json", "JsonSerializer", False, "Deserialize", "(System.Text.Json.Utf8JsonReader,System.Text.Json.Serialization.Metadata.JsonTypeInfo)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["System.Text.Json", "JsonSerializer", False, "Serialize", "(System.IO.Stream,System.Object,System.Text.Json.Serialization.Metadata.JsonTypeInfo)", "", "Argument[1]", "Argument[2]", "taint", "df-generated"] + - ["System.Text.Json", "JsonSerializer", False, "Serialize", "(System.Object,System.Text.Json.Serialization.Metadata.JsonTypeInfo)", "", "Argument[0]", "Argument[1]", "taint", "df-generated"] + - ["System.Text.Json", "JsonSerializer", False, "Serialize", "(System.Text.Json.Utf8JsonWriter,System.Object,System.Text.Json.Serialization.Metadata.JsonTypeInfo)", "", "Argument[0]", "Argument[2]", "taint", "df-generated"] + - ["System.Text.Json", "JsonSerializer", False, "Serialize", "(System.Text.Json.Utf8JsonWriter,System.Object,System.Text.Json.Serialization.Metadata.JsonTypeInfo)", "", "Argument[1]", "Argument[2]", "taint", "df-generated"] + - ["System.Text.Json", "JsonSerializer", False, "Serialize", "(System.IO.Stream,TValue,System.Text.Json.Serialization.Metadata.JsonTypeInfo)", "", "Argument[1]", "Argument[2]", "taint", "df-generated"] + - ["System.Text.Json", "JsonSerializer", False, "Serialize", "(System.Text.Json.Utf8JsonWriter,TValue,System.Text.Json.Serialization.Metadata.JsonTypeInfo)", "", "Argument[0]", "Argument[2]", "taint", "df-generated"] + - ["System.Text.Json", "JsonSerializer", False, "Serialize", "(System.Text.Json.Utf8JsonWriter,TValue,System.Text.Json.Serialization.Metadata.JsonTypeInfo)", "", "Argument[1]", "Argument[2]", "taint", "df-generated"] + - ["System.Text.Json", "JsonSerializer", False, "Serialize", "(TValue,System.Text.Json.Serialization.Metadata.JsonTypeInfo)", "", "Argument[0]", "Argument[1]", "taint", "df-generated"] + - ["System.Text.Json", "JsonSerializer", False, "SerializeAsync", "(System.IO.Stream,System.Object,System.Text.Json.Serialization.Metadata.JsonTypeInfo,System.Threading.CancellationToken)", "", "Argument[1]", "Argument[2]", "taint", "df-generated"] + - ["System.Text.Json", "JsonSerializer", False, "SerializeAsync", "(System.IO.Stream,TValue,System.Text.Json.Serialization.Metadata.JsonTypeInfo,System.Threading.CancellationToken)", "", "Argument[1]", "Argument[2]", "taint", "df-generated"] + - ["System.Text.Json", "JsonSerializer", False, "SerializeToDocument", "(System.Object,System.Text.Json.Serialization.Metadata.JsonTypeInfo)", "", "Argument[0]", "Argument[1]", "taint", "df-generated"] + - ["System.Text.Json", "JsonSerializer", False, "SerializeToDocument", "(TValue,System.Text.Json.Serialization.Metadata.JsonTypeInfo)", "", "Argument[0]", "Argument[1]", "taint", "df-generated"] + - ["System.Text.Json", "JsonSerializer", False, "SerializeToElement", "(System.Object,System.Text.Json.Serialization.Metadata.JsonTypeInfo)", "", "Argument[0]", "Argument[1]", "taint", "df-generated"] + - ["System.Text.Json", "JsonSerializer", False, "SerializeToElement", "(TValue,System.Text.Json.Serialization.Metadata.JsonTypeInfo)", "", "Argument[0]", "Argument[1]", "taint", "df-generated"] + - ["System.Text.Json", "JsonSerializer", False, "SerializeToNode", "(System.Object,System.Text.Json.Serialization.Metadata.JsonTypeInfo)", "", "Argument[0]", "Argument[1]", "taint", "df-generated"] + - ["System.Text.Json", "JsonSerializer", False, "SerializeToNode", "(TValue,System.Text.Json.Serialization.Metadata.JsonTypeInfo)", "", "Argument[0]", "Argument[1]", "taint", "df-generated"] + - ["System.Text.Json", "JsonSerializer", False, "SerializeToUtf8Bytes", "(System.Object,System.Text.Json.Serialization.Metadata.JsonTypeInfo)", "", "Argument[0]", "Argument[1]", "taint", "df-generated"] + - ["System.Text.Json", "JsonSerializer", False, "SerializeToUtf8Bytes", "(TValue,System.Text.Json.Serialization.Metadata.JsonTypeInfo)", "", "Argument[0]", "Argument[1]", "taint", "df-generated"] - ["System.Text.Json", "JsonSerializerOptions", False, "GetConverter", "(System.Type)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["System.Text.Json", "JsonSerializerOptions", False, "GetTypeInfo", "(System.Type)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["System.Text.Json", "JsonSerializerOptions", False, "JsonSerializerOptions", "(System.Text.Json.JsonSerializerOptions)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] @@ -176,46 +194,30 @@ extensions: - ["System.Text.Json", "JsonSerializer", "DeserializeAsync", "(System.IO.Stream,System.Text.Json.Serialization.Metadata.JsonTypeInfo,System.Threading.CancellationToken)", "summary", "df-generated"] - ["System.Text.Json", "JsonSerializer", "DeserializeAsyncEnumerable", "(System.IO.Stream,System.Text.Json.JsonSerializerOptions,System.Threading.CancellationToken)", "summary", "df-generated"] - ["System.Text.Json", "JsonSerializer", "DeserializeAsyncEnumerable", "(System.IO.Stream,System.Text.Json.Serialization.Metadata.JsonTypeInfo,System.Threading.CancellationToken)", "summary", "df-generated"] - - ["System.Text.Json", "JsonSerializer", "Serialize", "(System.IO.Stream,System.Object,System.Text.Json.Serialization.Metadata.JsonTypeInfo)", "summary", "df-generated"] - ["System.Text.Json", "JsonSerializer", "Serialize", "(System.IO.Stream,System.Object,System.Type,System.Text.Json.JsonSerializerOptions)", "summary", "df-generated"] - ["System.Text.Json", "JsonSerializer", "Serialize", "(System.IO.Stream,System.Object,System.Type,System.Text.Json.Serialization.JsonSerializerContext)", "summary", "df-generated"] - - ["System.Text.Json", "JsonSerializer", "Serialize", "(System.Object,System.Text.Json.Serialization.Metadata.JsonTypeInfo)", "summary", "df-generated"] - ["System.Text.Json", "JsonSerializer", "Serialize", "(System.Object,System.Type,System.Text.Json.JsonSerializerOptions)", "summary", "df-generated"] - ["System.Text.Json", "JsonSerializer", "Serialize", "(System.Object,System.Type,System.Text.Json.Serialization.JsonSerializerContext)", "summary", "df-generated"] - - ["System.Text.Json", "JsonSerializer", "Serialize", "(System.Text.Json.Utf8JsonWriter,System.Object,System.Text.Json.Serialization.Metadata.JsonTypeInfo)", "summary", "df-generated"] - ["System.Text.Json", "JsonSerializer", "Serialize", "(System.Text.Json.Utf8JsonWriter,System.Object,System.Type,System.Text.Json.JsonSerializerOptions)", "summary", "df-generated"] - ["System.Text.Json", "JsonSerializer", "Serialize", "(System.Text.Json.Utf8JsonWriter,System.Object,System.Type,System.Text.Json.Serialization.JsonSerializerContext)", "summary", "df-generated"] - ["System.Text.Json", "JsonSerializer", "Serialize", "(System.IO.Stream,TValue,System.Text.Json.JsonSerializerOptions)", "summary", "df-generated"] - - ["System.Text.Json", "JsonSerializer", "Serialize", "(System.IO.Stream,TValue,System.Text.Json.Serialization.Metadata.JsonTypeInfo)", "summary", "df-generated"] - ["System.Text.Json", "JsonSerializer", "Serialize", "(System.Text.Json.Utf8JsonWriter,TValue,System.Text.Json.JsonSerializerOptions)", "summary", "df-generated"] - - ["System.Text.Json", "JsonSerializer", "Serialize", "(System.Text.Json.Utf8JsonWriter,TValue,System.Text.Json.Serialization.Metadata.JsonTypeInfo)", "summary", "df-generated"] - ["System.Text.Json", "JsonSerializer", "Serialize", "(TValue,System.Text.Json.JsonSerializerOptions)", "summary", "df-generated"] - - ["System.Text.Json", "JsonSerializer", "Serialize", "(TValue,System.Text.Json.Serialization.Metadata.JsonTypeInfo)", "summary", "df-generated"] - - ["System.Text.Json", "JsonSerializer", "SerializeAsync", "(System.IO.Stream,System.Object,System.Text.Json.Serialization.Metadata.JsonTypeInfo,System.Threading.CancellationToken)", "summary", "df-generated"] - ["System.Text.Json", "JsonSerializer", "SerializeAsync", "(System.IO.Stream,System.Object,System.Type,System.Text.Json.JsonSerializerOptions,System.Threading.CancellationToken)", "summary", "df-generated"] - ["System.Text.Json", "JsonSerializer", "SerializeAsync", "(System.IO.Stream,System.Object,System.Type,System.Text.Json.Serialization.JsonSerializerContext,System.Threading.CancellationToken)", "summary", "df-generated"] - ["System.Text.Json", "JsonSerializer", "SerializeAsync", "(System.IO.Stream,TValue,System.Text.Json.JsonSerializerOptions,System.Threading.CancellationToken)", "summary", "df-generated"] - - ["System.Text.Json", "JsonSerializer", "SerializeAsync", "(System.IO.Stream,TValue,System.Text.Json.Serialization.Metadata.JsonTypeInfo,System.Threading.CancellationToken)", "summary", "df-generated"] - - ["System.Text.Json", "JsonSerializer", "SerializeToDocument", "(System.Object,System.Text.Json.Serialization.Metadata.JsonTypeInfo)", "summary", "df-generated"] - ["System.Text.Json", "JsonSerializer", "SerializeToDocument", "(System.Object,System.Type,System.Text.Json.JsonSerializerOptions)", "summary", "df-generated"] - ["System.Text.Json", "JsonSerializer", "SerializeToDocument", "(System.Object,System.Type,System.Text.Json.Serialization.JsonSerializerContext)", "summary", "df-generated"] - ["System.Text.Json", "JsonSerializer", "SerializeToDocument", "(TValue,System.Text.Json.JsonSerializerOptions)", "summary", "df-generated"] - - ["System.Text.Json", "JsonSerializer", "SerializeToDocument", "(TValue,System.Text.Json.Serialization.Metadata.JsonTypeInfo)", "summary", "df-generated"] - - ["System.Text.Json", "JsonSerializer", "SerializeToElement", "(System.Object,System.Text.Json.Serialization.Metadata.JsonTypeInfo)", "summary", "df-generated"] - ["System.Text.Json", "JsonSerializer", "SerializeToElement", "(System.Object,System.Type,System.Text.Json.JsonSerializerOptions)", "summary", "df-generated"] - ["System.Text.Json", "JsonSerializer", "SerializeToElement", "(System.Object,System.Type,System.Text.Json.Serialization.JsonSerializerContext)", "summary", "df-generated"] - ["System.Text.Json", "JsonSerializer", "SerializeToElement", "(TValue,System.Text.Json.JsonSerializerOptions)", "summary", "df-generated"] - - ["System.Text.Json", "JsonSerializer", "SerializeToElement", "(TValue,System.Text.Json.Serialization.Metadata.JsonTypeInfo)", "summary", "df-generated"] - - ["System.Text.Json", "JsonSerializer", "SerializeToNode", "(System.Object,System.Text.Json.Serialization.Metadata.JsonTypeInfo)", "summary", "df-generated"] - ["System.Text.Json", "JsonSerializer", "SerializeToNode", "(System.Object,System.Type,System.Text.Json.JsonSerializerOptions)", "summary", "df-generated"] - ["System.Text.Json", "JsonSerializer", "SerializeToNode", "(System.Object,System.Type,System.Text.Json.Serialization.JsonSerializerContext)", "summary", "df-generated"] - ["System.Text.Json", "JsonSerializer", "SerializeToNode", "(TValue,System.Text.Json.JsonSerializerOptions)", "summary", "df-generated"] - - ["System.Text.Json", "JsonSerializer", "SerializeToNode", "(TValue,System.Text.Json.Serialization.Metadata.JsonTypeInfo)", "summary", "df-generated"] - - ["System.Text.Json", "JsonSerializer", "SerializeToUtf8Bytes", "(System.Object,System.Text.Json.Serialization.Metadata.JsonTypeInfo)", "summary", "df-generated"] - ["System.Text.Json", "JsonSerializer", "SerializeToUtf8Bytes", "(System.Object,System.Type,System.Text.Json.JsonSerializerOptions)", "summary", "df-generated"] - ["System.Text.Json", "JsonSerializer", "SerializeToUtf8Bytes", "(System.Object,System.Type,System.Text.Json.Serialization.JsonSerializerContext)", "summary", "df-generated"] - ["System.Text.Json", "JsonSerializer", "SerializeToUtf8Bytes", "(TValue,System.Text.Json.JsonSerializerOptions)", "summary", "df-generated"] - - ["System.Text.Json", "JsonSerializer", "SerializeToUtf8Bytes", "(TValue,System.Text.Json.Serialization.Metadata.JsonTypeInfo)", "summary", "df-generated"] - ["System.Text.Json", "JsonSerializer", "get_IsReflectionEnabledByDefault", "()", "summary", "df-generated"] - ["System.Text.Json", "JsonSerializerOptions", "AddContext", "()", "summary", "df-generated"] - ["System.Text.Json", "JsonSerializerOptions", "JsonSerializerOptions", "(System.Text.Json.JsonSerializerDefaults)", "summary", "df-generated"] diff --git a/csharp/ql/lib/ext/generated/System.Text.RegularExpressions.model.yml b/csharp/ql/lib/ext/generated/System.Text.RegularExpressions.model.yml index f74a3c2c81a0..31972f8827f5 100644 --- a/csharp/ql/lib/ext/generated/System.Text.RegularExpressions.model.yml +++ b/csharp/ql/lib/ext/generated/System.Text.RegularExpressions.model.yml @@ -52,6 +52,12 @@ extensions: - ["System.Text.RegularExpressions", "Regex", False, "Replace", "(System.String,System.String,System.String)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["System.Text.RegularExpressions", "Regex", False, "Replace", "(System.String,System.String,System.String,System.Text.RegularExpressions.RegexOptions)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["System.Text.RegularExpressions", "Regex", False, "Replace", "(System.String,System.String,System.String,System.Text.RegularExpressions.RegexOptions,System.TimeSpan)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["System.Text.RegularExpressions", "Regex", False, "Replace", "(System.String,System.String,System.Text.RegularExpressions.MatchEvaluator)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["System.Text.RegularExpressions", "Regex", False, "Replace", "(System.String,System.String,System.Text.RegularExpressions.MatchEvaluator,System.Text.RegularExpressions.RegexOptions)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["System.Text.RegularExpressions", "Regex", False, "Replace", "(System.String,System.String,System.Text.RegularExpressions.MatchEvaluator,System.Text.RegularExpressions.RegexOptions,System.TimeSpan)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["System.Text.RegularExpressions", "Regex", False, "Replace", "(System.String,System.Text.RegularExpressions.MatchEvaluator)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["System.Text.RegularExpressions", "Regex", False, "Replace", "(System.String,System.Text.RegularExpressions.MatchEvaluator,System.Int32)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["System.Text.RegularExpressions", "Regex", False, "Replace", "(System.String,System.Text.RegularExpressions.MatchEvaluator,System.Int32,System.Int32)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["System.Text.RegularExpressions", "Regex", False, "Split", "(System.String)", "", "Argument[0]", "ReturnValue.Element", "value", "dfc-generated"] - ["System.Text.RegularExpressions", "Regex", False, "Split", "(System.String,System.Int32)", "", "Argument[0]", "ReturnValue.Element", "value", "dfc-generated"] - ["System.Text.RegularExpressions", "Regex", False, "Split", "(System.String,System.Int32,System.Int32)", "", "Argument[0]", "ReturnValue.Element", "value", "dfc-generated"] @@ -69,6 +75,7 @@ extensions: - ["System.Text.RegularExpressions", "RegexRunner", False, "Scan", "(System.Text.RegularExpressions.Regex,System.String,System.Int32,System.Int32,System.Int32,System.Int32,System.Boolean)", "", "Argument[this].Field[System.Text.RegularExpressions.RegexRunner.runmatch]", "ReturnValue", "value", "dfc-generated"] - ["System.Text.RegularExpressions", "RegexRunner", False, "Scan", "(System.Text.RegularExpressions.Regex,System.String,System.Int32,System.Int32,System.Int32,System.Int32,System.Boolean,System.TimeSpan)", "", "Argument[1]", "Argument[this].Field[System.Text.RegularExpressions.RegexRunner.runtext]", "value", "dfc-generated"] - ["System.Text.RegularExpressions", "RegexRunner", False, "Scan", "(System.Text.RegularExpressions.Regex,System.String,System.Int32,System.Int32,System.Int32,System.Int32,System.Boolean,System.TimeSpan)", "", "Argument[this].Field[System.Text.RegularExpressions.RegexRunner.runmatch]", "ReturnValue", "value", "dfc-generated"] + - ["System.Text.RegularExpressions", "RegexRunner", True, "Scan", "(System.ReadOnlySpan)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - ["System.Text.RegularExpressions", "RegexRunnerFactory", True, "CreateInstance", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - addsTo: pack: codeql/csharp-all @@ -188,7 +195,6 @@ extensions: - ["System.Text.RegularExpressions", "RegexRunner", "MatchIndex", "(System.Int32)", "summary", "df-generated"] - ["System.Text.RegularExpressions", "RegexRunner", "MatchLength", "(System.Int32)", "summary", "df-generated"] - ["System.Text.RegularExpressions", "RegexRunner", "Popcrawl", "()", "summary", "df-generated"] - - ["System.Text.RegularExpressions", "RegexRunner", "Scan", "(System.ReadOnlySpan)", "summary", "df-generated"] - ["System.Text.RegularExpressions", "RegexRunner", "TransferCapture", "(System.Int32,System.Int32,System.Int32,System.Int32)", "summary", "df-generated"] - ["System.Text.RegularExpressions", "RegexRunner", "Uncapture", "()", "summary", "df-generated"] - ["System.Text.RegularExpressions", "ValueMatch", "get_Index", "()", "summary", "df-generated"] diff --git a/csharp/ql/lib/ext/generated/System.Threading.Channels.model.yml b/csharp/ql/lib/ext/generated/System.Threading.Channels.model.yml index 5c44f2a9e66c..34db65100782 100644 --- a/csharp/ql/lib/ext/generated/System.Threading.Channels.model.yml +++ b/csharp/ql/lib/ext/generated/System.Threading.Channels.model.yml @@ -7,6 +7,7 @@ extensions: - ["System.Threading.Channels", "BoundedChannelOptions", "BoundedChannelOptions", "(System.Int32)", "summary", "df-generated"] - ["System.Threading.Channels", "Channel", "CreateBounded", "(System.Int32)", "summary", "df-generated"] - ["System.Threading.Channels", "Channel", "CreateBounded", "(System.Threading.Channels.BoundedChannelOptions)", "summary", "df-generated"] + - ["System.Threading.Channels", "Channel", "CreateBounded", "(System.Threading.Channels.BoundedChannelOptions,System.Action)", "summary", "df-generated"] - ["System.Threading.Channels", "Channel", "CreateUnbounded", "()", "summary", "df-generated"] - ["System.Threading.Channels", "Channel", "CreateUnbounded", "(System.Threading.Channels.UnboundedChannelOptions)", "summary", "df-generated"] - ["System.Threading.Channels", "ChannelClosedException", "ChannelClosedException", "(System.Exception)", "summary", "df-generated"] diff --git a/csharp/ql/lib/ext/generated/System.Threading.RateLimiting.model.yml b/csharp/ql/lib/ext/generated/System.Threading.RateLimiting.model.yml index 4ef8a7e254fc..ef7a037da232 100644 --- a/csharp/ql/lib/ext/generated/System.Threading.RateLimiting.model.yml +++ b/csharp/ql/lib/ext/generated/System.Threading.RateLimiting.model.yml @@ -41,6 +41,7 @@ extensions: - ["System.Threading.RateLimiting", "MetadataName", "GetHashCode", "()", "summary", "df-generated"] - ["System.Threading.RateLimiting", "MetadataName", "op_Equality", "(System.Threading.RateLimiting.MetadataName,System.Threading.RateLimiting.MetadataName)", "summary", "df-generated"] - ["System.Threading.RateLimiting", "MetadataName", "op_Inequality", "(System.Threading.RateLimiting.MetadataName,System.Threading.RateLimiting.MetadataName)", "summary", "df-generated"] + - ["System.Threading.RateLimiting", "PartitionedRateLimiter", "Create", "(System.Func>,System.Collections.Generic.IEqualityComparer)", "summary", "df-generated"] - ["System.Threading.RateLimiting", "PartitionedRateLimiter", "AcquireAsync", "(TResource,System.Int32,System.Threading.CancellationToken)", "summary", "df-generated"] - ["System.Threading.RateLimiting", "PartitionedRateLimiter", "AcquireAsyncCore", "(TResource,System.Int32,System.Threading.CancellationToken)", "summary", "df-generated"] - ["System.Threading.RateLimiting", "PartitionedRateLimiter", "AttemptAcquire", "(TResource,System.Int32)", "summary", "df-generated"] @@ -49,10 +50,17 @@ extensions: - ["System.Threading.RateLimiting", "PartitionedRateLimiter", "Dispose", "(System.Boolean)", "summary", "df-generated"] - ["System.Threading.RateLimiting", "PartitionedRateLimiter", "DisposeAsyncCore", "()", "summary", "df-generated"] - ["System.Threading.RateLimiting", "PartitionedRateLimiter", "GetStatistics", "(TResource)", "summary", "df-generated"] + - ["System.Threading.RateLimiting", "PartitionedRateLimiter", "WithTranslatedKey", "(System.Func,System.Boolean)", "summary", "df-generated"] - ["System.Threading.RateLimiting", "RateLimitLease", "Dispose", "()", "summary", "df-generated"] - ["System.Threading.RateLimiting", "RateLimitLease", "Dispose", "(System.Boolean)", "summary", "df-generated"] - ["System.Threading.RateLimiting", "RateLimitLease", "get_IsAcquired", "()", "summary", "df-generated"] + - ["System.Threading.RateLimiting", "RateLimitPartition", "Get", "(TKey,System.Func)", "summary", "df-generated"] + - ["System.Threading.RateLimiting", "RateLimitPartition", "GetConcurrencyLimiter", "(TKey,System.Func)", "summary", "df-generated"] + - ["System.Threading.RateLimiting", "RateLimitPartition", "GetFixedWindowLimiter", "(TKey,System.Func)", "summary", "df-generated"] - ["System.Threading.RateLimiting", "RateLimitPartition", "GetNoLimiter", "(TKey)", "summary", "df-generated"] + - ["System.Threading.RateLimiting", "RateLimitPartition", "GetSlidingWindowLimiter", "(TKey,System.Func)", "summary", "df-generated"] + - ["System.Threading.RateLimiting", "RateLimitPartition", "GetTokenBucketLimiter", "(TKey,System.Func)", "summary", "df-generated"] + - ["System.Threading.RateLimiting", "RateLimitPartition", "RateLimitPartition", "(TKey,System.Func)", "summary", "df-generated"] - ["System.Threading.RateLimiting", "RateLimitPartition", "get_Factory", "()", "summary", "df-generated"] - ["System.Threading.RateLimiting", "RateLimitPartition", "get_PartitionKey", "()", "summary", "df-generated"] - ["System.Threading.RateLimiting", "RateLimiter", "AcquireAsync", "(System.Int32,System.Threading.CancellationToken)", "summary", "df-generated"] diff --git a/csharp/ql/lib/ext/generated/System.Threading.Tasks.Dataflow.model.yml b/csharp/ql/lib/ext/generated/System.Threading.Tasks.Dataflow.model.yml index 269348755830..832754f553ab 100644 --- a/csharp/ql/lib/ext/generated/System.Threading.Tasks.Dataflow.model.yml +++ b/csharp/ql/lib/ext/generated/System.Threading.Tasks.Dataflow.model.yml @@ -49,6 +49,7 @@ extensions: - ["System.Threading.Tasks.Dataflow", "DataflowBlock", False, "SendAsync", "(System.Threading.Tasks.Dataflow.ITargetBlock,TInput)", "", "Argument[1]", "Argument[0]", "taint", "df-generated"] - ["System.Threading.Tasks.Dataflow", "DataflowBlock", False, "SendAsync", "(System.Threading.Tasks.Dataflow.ITargetBlock,TInput,System.Threading.CancellationToken)", "", "Argument[1]", "Argument[0]", "taint", "df-generated"] - ["System.Threading.Tasks.Dataflow", "DataflowBlock", False, "TryReceive", "(System.Threading.Tasks.Dataflow.IReceivableSourceBlock,TOutput)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["System.Threading.Tasks.Dataflow", "IDataflowBlock", True, "Fault", "(System.Exception)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - ["System.Threading.Tasks.Dataflow", "IDataflowBlock", True, "get_Completion", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["System.Threading.Tasks.Dataflow", "JoinBlock", False, "JoinBlock", "(System.Threading.Tasks.Dataflow.GroupingDataflowBlockOptions)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - ["System.Threading.Tasks.Dataflow", "JoinBlock", False, "LinkTo", "(System.Threading.Tasks.Dataflow.ITargetBlock>,System.Threading.Tasks.Dataflow.DataflowLinkOptions)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] @@ -77,12 +78,16 @@ extensions: - ["System.Threading.Tasks.Dataflow", "WriteOnceBlock", False, "ReleaseReservation", "(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock)", "", "Argument[this]", "Argument[1]", "taint", "df-generated"] - ["System.Threading.Tasks.Dataflow", "WriteOnceBlock", False, "ToString", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["System.Threading.Tasks.Dataflow", "WriteOnceBlock", False, "TryReceiveAll", "(System.Collections.Generic.IList)", "", "Argument[this].SyntheticField[System.Threading.Tasks.Dataflow.WriteOnceBlock`1._value]", "ReturnValue.Element", "value", "dfc-generated"] + - ["System.Threading.Tasks.Dataflow", "WriteOnceBlock", False, "WriteOnceBlock", "(System.Func,System.Threading.Tasks.Dataflow.DataflowBlockOptions)", "", "Argument[0]", "Argument[this].SyntheticField[System.Threading.Tasks.Dataflow.WriteOnceBlock`1._cloningFunction]", "value", "dfc-generated"] - addsTo: pack: codeql/csharp-all extensible: neutralModel data: + - ["System.Threading.Tasks.Dataflow", "ActionBlock", "ActionBlock", "(System.Action)", "summary", "df-generated"] + - ["System.Threading.Tasks.Dataflow", "ActionBlock", "ActionBlock", "(System.Action,System.Threading.Tasks.Dataflow.ExecutionDataflowBlockOptions)", "summary", "df-generated"] + - ["System.Threading.Tasks.Dataflow", "ActionBlock", "ActionBlock", "(System.Func)", "summary", "df-generated"] + - ["System.Threading.Tasks.Dataflow", "ActionBlock", "ActionBlock", "(System.Func,System.Threading.Tasks.Dataflow.ExecutionDataflowBlockOptions)", "summary", "df-generated"] - ["System.Threading.Tasks.Dataflow", "ActionBlock", "Complete", "()", "summary", "df-generated"] - - ["System.Threading.Tasks.Dataflow", "ActionBlock", "Fault", "(System.Exception)", "summary", "df-generated"] - ["System.Threading.Tasks.Dataflow", "ActionBlock", "OfferMessage", "(System.Threading.Tasks.Dataflow.DataflowMessageHeader,TInput,System.Threading.Tasks.Dataflow.ISourceBlock,System.Boolean)", "summary", "df-generated"] - ["System.Threading.Tasks.Dataflow", "ActionBlock", "Post", "(TInput)", "summary", "df-generated"] - ["System.Threading.Tasks.Dataflow", "ActionBlock", "ToString", "()", "summary", "df-generated"] @@ -90,46 +95,54 @@ extensions: - ["System.Threading.Tasks.Dataflow", "BatchBlock", "BatchBlock", "(System.Int32)", "summary", "df-generated"] - ["System.Threading.Tasks.Dataflow", "BatchBlock", "Complete", "()", "summary", "df-generated"] - ["System.Threading.Tasks.Dataflow", "BatchBlock", "ConsumeMessage", "(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock,System.Boolean)", "summary", "df-generated"] - - ["System.Threading.Tasks.Dataflow", "BatchBlock", "Fault", "(System.Exception)", "summary", "df-generated"] - ["System.Threading.Tasks.Dataflow", "BatchBlock", "OfferMessage", "(System.Threading.Tasks.Dataflow.DataflowMessageHeader,T,System.Threading.Tasks.Dataflow.ISourceBlock,System.Boolean)", "summary", "df-generated"] - ["System.Threading.Tasks.Dataflow", "BatchBlock", "ReleaseReservation", "(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock)", "summary", "df-generated"] - ["System.Threading.Tasks.Dataflow", "BatchBlock", "ToString", "()", "summary", "df-generated"] - ["System.Threading.Tasks.Dataflow", "BatchBlock", "TriggerBatch", "()", "summary", "df-generated"] + - ["System.Threading.Tasks.Dataflow", "BatchBlock", "TryReceive", "(System.Predicate,T[])", "summary", "df-generated"] - ["System.Threading.Tasks.Dataflow", "BatchBlock", "TryReceiveAll", "(System.Collections.Generic.IList)", "summary", "df-generated"] - ["System.Threading.Tasks.Dataflow", "BatchBlock", "get_BatchSize", "()", "summary", "df-generated"] - ["System.Threading.Tasks.Dataflow", "BatchBlock", "get_OutputCount", "()", "summary", "df-generated"] - ["System.Threading.Tasks.Dataflow", "BatchedJoinBlock", "BatchedJoinBlock", "(System.Int32)", "summary", "df-generated"] - ["System.Threading.Tasks.Dataflow", "BatchedJoinBlock", "Complete", "()", "summary", "df-generated"] - ["System.Threading.Tasks.Dataflow", "BatchedJoinBlock", "ConsumeMessage", "(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock,System.Collections.Generic.IList,System.Collections.Generic.IList>>,System.Boolean)", "summary", "df-generated"] - - ["System.Threading.Tasks.Dataflow", "BatchedJoinBlock", "Fault", "(System.Exception)", "summary", "df-generated"] - ["System.Threading.Tasks.Dataflow", "BatchedJoinBlock", "ReleaseReservation", "(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock,System.Collections.Generic.IList,System.Collections.Generic.IList>>)", "summary", "df-generated"] - ["System.Threading.Tasks.Dataflow", "BatchedJoinBlock", "ToString", "()", "summary", "df-generated"] + - ["System.Threading.Tasks.Dataflow", "BatchedJoinBlock", "TryReceive", "(System.Predicate,System.Collections.Generic.IList,System.Collections.Generic.IList>>,System.Tuple,System.Collections.Generic.IList,System.Collections.Generic.IList>)", "summary", "df-generated"] - ["System.Threading.Tasks.Dataflow", "BatchedJoinBlock", "TryReceiveAll", "(System.Collections.Generic.IList,System.Collections.Generic.IList,System.Collections.Generic.IList>>)", "summary", "df-generated"] - ["System.Threading.Tasks.Dataflow", "BatchedJoinBlock", "get_BatchSize", "()", "summary", "df-generated"] - ["System.Threading.Tasks.Dataflow", "BatchedJoinBlock", "get_OutputCount", "()", "summary", "df-generated"] - ["System.Threading.Tasks.Dataflow", "BatchedJoinBlock", "BatchedJoinBlock", "(System.Int32)", "summary", "df-generated"] - ["System.Threading.Tasks.Dataflow", "BatchedJoinBlock", "Complete", "()", "summary", "df-generated"] - ["System.Threading.Tasks.Dataflow", "BatchedJoinBlock", "ConsumeMessage", "(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock,System.Collections.Generic.IList>>,System.Boolean)", "summary", "df-generated"] - - ["System.Threading.Tasks.Dataflow", "BatchedJoinBlock", "Fault", "(System.Exception)", "summary", "df-generated"] - ["System.Threading.Tasks.Dataflow", "BatchedJoinBlock", "ReleaseReservation", "(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock,System.Collections.Generic.IList>>)", "summary", "df-generated"] - ["System.Threading.Tasks.Dataflow", "BatchedJoinBlock", "ToString", "()", "summary", "df-generated"] + - ["System.Threading.Tasks.Dataflow", "BatchedJoinBlock", "TryReceive", "(System.Predicate,System.Collections.Generic.IList>>,System.Tuple,System.Collections.Generic.IList>)", "summary", "df-generated"] - ["System.Threading.Tasks.Dataflow", "BatchedJoinBlock", "TryReceiveAll", "(System.Collections.Generic.IList,System.Collections.Generic.IList>>)", "summary", "df-generated"] - ["System.Threading.Tasks.Dataflow", "BatchedJoinBlock", "get_BatchSize", "()", "summary", "df-generated"] - ["System.Threading.Tasks.Dataflow", "BatchedJoinBlock", "get_OutputCount", "()", "summary", "df-generated"] + - ["System.Threading.Tasks.Dataflow", "BroadcastBlock", "BroadcastBlock", "(System.Func)", "summary", "df-generated"] + - ["System.Threading.Tasks.Dataflow", "BroadcastBlock", "BroadcastBlock", "(System.Func,System.Threading.Tasks.Dataflow.DataflowBlockOptions)", "summary", "df-generated"] - ["System.Threading.Tasks.Dataflow", "BroadcastBlock", "Complete", "()", "summary", "df-generated"] - - ["System.Threading.Tasks.Dataflow", "BroadcastBlock", "Fault", "(System.Exception)", "summary", "df-generated"] - ["System.Threading.Tasks.Dataflow", "BroadcastBlock", "OfferMessage", "(System.Threading.Tasks.Dataflow.DataflowMessageHeader,T,System.Threading.Tasks.Dataflow.ISourceBlock,System.Boolean)", "summary", "df-generated"] - ["System.Threading.Tasks.Dataflow", "BroadcastBlock", "ReleaseReservation", "(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock)", "summary", "df-generated"] - ["System.Threading.Tasks.Dataflow", "BroadcastBlock", "ToString", "()", "summary", "df-generated"] + - ["System.Threading.Tasks.Dataflow", "BroadcastBlock", "TryReceive", "(System.Predicate,T)", "summary", "df-generated"] - ["System.Threading.Tasks.Dataflow", "BufferBlock", "Complete", "()", "summary", "df-generated"] - ["System.Threading.Tasks.Dataflow", "BufferBlock", "ConsumeMessage", "(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock,System.Boolean)", "summary", "df-generated"] - - ["System.Threading.Tasks.Dataflow", "BufferBlock", "Fault", "(System.Exception)", "summary", "df-generated"] - ["System.Threading.Tasks.Dataflow", "BufferBlock", "OfferMessage", "(System.Threading.Tasks.Dataflow.DataflowMessageHeader,T,System.Threading.Tasks.Dataflow.ISourceBlock,System.Boolean)", "summary", "df-generated"] - ["System.Threading.Tasks.Dataflow", "BufferBlock", "ReleaseReservation", "(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock)", "summary", "df-generated"] - ["System.Threading.Tasks.Dataflow", "BufferBlock", "ToString", "()", "summary", "df-generated"] + - ["System.Threading.Tasks.Dataflow", "BufferBlock", "TryReceive", "(System.Predicate,T)", "summary", "df-generated"] - ["System.Threading.Tasks.Dataflow", "BufferBlock", "TryReceiveAll", "(System.Collections.Generic.IList)", "summary", "df-generated"] - ["System.Threading.Tasks.Dataflow", "BufferBlock", "get_Count", "()", "summary", "df-generated"] - ["System.Threading.Tasks.Dataflow", "DataflowBlock", "AsObservable", "(System.Threading.Tasks.Dataflow.ISourceBlock)", "summary", "df-generated"] + - ["System.Threading.Tasks.Dataflow", "DataflowBlock", "Choose", "(System.Threading.Tasks.Dataflow.ISourceBlock,System.Action,System.Threading.Tasks.Dataflow.ISourceBlock,System.Action,System.Threading.Tasks.Dataflow.ISourceBlock,System.Action)", "summary", "df-generated"] + - ["System.Threading.Tasks.Dataflow", "DataflowBlock", "Choose", "(System.Threading.Tasks.Dataflow.ISourceBlock,System.Action,System.Threading.Tasks.Dataflow.ISourceBlock,System.Action,System.Threading.Tasks.Dataflow.ISourceBlock,System.Action,System.Threading.Tasks.Dataflow.DataflowBlockOptions)", "summary", "df-generated"] + - ["System.Threading.Tasks.Dataflow", "DataflowBlock", "Choose", "(System.Threading.Tasks.Dataflow.ISourceBlock,System.Action,System.Threading.Tasks.Dataflow.ISourceBlock,System.Action)", "summary", "df-generated"] + - ["System.Threading.Tasks.Dataflow", "DataflowBlock", "Choose", "(System.Threading.Tasks.Dataflow.ISourceBlock,System.Action,System.Threading.Tasks.Dataflow.ISourceBlock,System.Action,System.Threading.Tasks.Dataflow.DataflowBlockOptions)", "summary", "df-generated"] + - ["System.Threading.Tasks.Dataflow", "DataflowBlock", "LinkTo", "(System.Threading.Tasks.Dataflow.ISourceBlock,System.Threading.Tasks.Dataflow.ITargetBlock,System.Predicate)", "summary", "df-generated"] + - ["System.Threading.Tasks.Dataflow", "DataflowBlock", "LinkTo", "(System.Threading.Tasks.Dataflow.ISourceBlock,System.Threading.Tasks.Dataflow.ITargetBlock,System.Threading.Tasks.Dataflow.DataflowLinkOptions,System.Predicate)", "summary", "df-generated"] - ["System.Threading.Tasks.Dataflow", "DataflowBlock", "NullTarget", "()", "summary", "df-generated"] - ["System.Threading.Tasks.Dataflow", "DataflowBlock", "OutputAvailableAsync", "(System.Threading.Tasks.Dataflow.ISourceBlock)", "summary", "df-generated"] - ["System.Threading.Tasks.Dataflow", "DataflowBlock", "OutputAvailableAsync", "(System.Threading.Tasks.Dataflow.ISourceBlock,System.Threading.CancellationToken)", "summary", "df-generated"] @@ -142,7 +155,7 @@ extensions: - ["System.Threading.Tasks.Dataflow", "DataflowMessageHeader", "op_Equality", "(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.DataflowMessageHeader)", "summary", "df-generated"] - ["System.Threading.Tasks.Dataflow", "DataflowMessageHeader", "op_Inequality", "(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.DataflowMessageHeader)", "summary", "df-generated"] - ["System.Threading.Tasks.Dataflow", "IDataflowBlock", "Complete", "()", "summary", "df-generated"] - - ["System.Threading.Tasks.Dataflow", "IDataflowBlock", "Fault", "(System.Exception)", "summary", "df-generated"] + - ["System.Threading.Tasks.Dataflow", "IReceivableSourceBlock", "TryReceive", "(System.Predicate,TOutput)", "summary", "df-generated"] - ["System.Threading.Tasks.Dataflow", "IReceivableSourceBlock", "TryReceiveAll", "(System.Collections.Generic.IList)", "summary", "df-generated"] - ["System.Threading.Tasks.Dataflow", "ISourceBlock", "ConsumeMessage", "(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock,System.Boolean)", "summary", "df-generated"] - ["System.Threading.Tasks.Dataflow", "ISourceBlock", "LinkTo", "(System.Threading.Tasks.Dataflow.ITargetBlock,System.Threading.Tasks.Dataflow.DataflowLinkOptions)", "summary", "df-generated"] @@ -151,36 +164,47 @@ extensions: - ["System.Threading.Tasks.Dataflow", "ITargetBlock", "OfferMessage", "(System.Threading.Tasks.Dataflow.DataflowMessageHeader,TInput,System.Threading.Tasks.Dataflow.ISourceBlock,System.Boolean)", "summary", "df-generated"] - ["System.Threading.Tasks.Dataflow", "JoinBlock", "Complete", "()", "summary", "df-generated"] - ["System.Threading.Tasks.Dataflow", "JoinBlock", "ConsumeMessage", "(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock>,System.Boolean)", "summary", "df-generated"] - - ["System.Threading.Tasks.Dataflow", "JoinBlock", "Fault", "(System.Exception)", "summary", "df-generated"] - ["System.Threading.Tasks.Dataflow", "JoinBlock", "ReleaseReservation", "(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock>)", "summary", "df-generated"] - ["System.Threading.Tasks.Dataflow", "JoinBlock", "ToString", "()", "summary", "df-generated"] + - ["System.Threading.Tasks.Dataflow", "JoinBlock", "TryReceive", "(System.Predicate>,System.Tuple)", "summary", "df-generated"] - ["System.Threading.Tasks.Dataflow", "JoinBlock", "TryReceiveAll", "(System.Collections.Generic.IList>)", "summary", "df-generated"] - ["System.Threading.Tasks.Dataflow", "JoinBlock", "get_OutputCount", "()", "summary", "df-generated"] - ["System.Threading.Tasks.Dataflow", "JoinBlock", "Complete", "()", "summary", "df-generated"] - ["System.Threading.Tasks.Dataflow", "JoinBlock", "ConsumeMessage", "(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock>,System.Boolean)", "summary", "df-generated"] - - ["System.Threading.Tasks.Dataflow", "JoinBlock", "Fault", "(System.Exception)", "summary", "df-generated"] - ["System.Threading.Tasks.Dataflow", "JoinBlock", "ReleaseReservation", "(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock>)", "summary", "df-generated"] - ["System.Threading.Tasks.Dataflow", "JoinBlock", "ToString", "()", "summary", "df-generated"] + - ["System.Threading.Tasks.Dataflow", "JoinBlock", "TryReceive", "(System.Predicate>,System.Tuple)", "summary", "df-generated"] - ["System.Threading.Tasks.Dataflow", "JoinBlock", "TryReceiveAll", "(System.Collections.Generic.IList>)", "summary", "df-generated"] - ["System.Threading.Tasks.Dataflow", "JoinBlock", "get_OutputCount", "()", "summary", "df-generated"] - ["System.Threading.Tasks.Dataflow", "TransformBlock", "Complete", "()", "summary", "df-generated"] - ["System.Threading.Tasks.Dataflow", "TransformBlock", "ConsumeMessage", "(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock,System.Boolean)", "summary", "df-generated"] - - ["System.Threading.Tasks.Dataflow", "TransformBlock", "Fault", "(System.Exception)", "summary", "df-generated"] - ["System.Threading.Tasks.Dataflow", "TransformBlock", "OfferMessage", "(System.Threading.Tasks.Dataflow.DataflowMessageHeader,TInput,System.Threading.Tasks.Dataflow.ISourceBlock,System.Boolean)", "summary", "df-generated"] - ["System.Threading.Tasks.Dataflow", "TransformBlock", "ReleaseReservation", "(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock)", "summary", "df-generated"] - ["System.Threading.Tasks.Dataflow", "TransformBlock", "ToString", "()", "summary", "df-generated"] + - ["System.Threading.Tasks.Dataflow", "TransformBlock", "TransformBlock", "(System.Func>)", "summary", "df-generated"] + - ["System.Threading.Tasks.Dataflow", "TransformBlock", "TransformBlock", "(System.Func>,System.Threading.Tasks.Dataflow.ExecutionDataflowBlockOptions)", "summary", "df-generated"] + - ["System.Threading.Tasks.Dataflow", "TransformBlock", "TransformBlock", "(System.Func)", "summary", "df-generated"] + - ["System.Threading.Tasks.Dataflow", "TransformBlock", "TransformBlock", "(System.Func,System.Threading.Tasks.Dataflow.ExecutionDataflowBlockOptions)", "summary", "df-generated"] + - ["System.Threading.Tasks.Dataflow", "TransformBlock", "TryReceive", "(System.Predicate,TOutput)", "summary", "df-generated"] - ["System.Threading.Tasks.Dataflow", "TransformBlock", "TryReceiveAll", "(System.Collections.Generic.IList)", "summary", "df-generated"] - ["System.Threading.Tasks.Dataflow", "TransformBlock", "get_InputCount", "()", "summary", "df-generated"] - ["System.Threading.Tasks.Dataflow", "TransformBlock", "get_OutputCount", "()", "summary", "df-generated"] - ["System.Threading.Tasks.Dataflow", "TransformManyBlock", "Complete", "()", "summary", "df-generated"] - ["System.Threading.Tasks.Dataflow", "TransformManyBlock", "ConsumeMessage", "(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock,System.Boolean)", "summary", "df-generated"] - - ["System.Threading.Tasks.Dataflow", "TransformManyBlock", "Fault", "(System.Exception)", "summary", "df-generated"] - ["System.Threading.Tasks.Dataflow", "TransformManyBlock", "OfferMessage", "(System.Threading.Tasks.Dataflow.DataflowMessageHeader,TInput,System.Threading.Tasks.Dataflow.ISourceBlock,System.Boolean)", "summary", "df-generated"] - ["System.Threading.Tasks.Dataflow", "TransformManyBlock", "ReleaseReservation", "(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock)", "summary", "df-generated"] - ["System.Threading.Tasks.Dataflow", "TransformManyBlock", "ToString", "()", "summary", "df-generated"] + - ["System.Threading.Tasks.Dataflow", "TransformManyBlock", "TransformManyBlock", "(System.Func>)", "summary", "df-generated"] + - ["System.Threading.Tasks.Dataflow", "TransformManyBlock", "TransformManyBlock", "(System.Func>,System.Threading.Tasks.Dataflow.ExecutionDataflowBlockOptions)", "summary", "df-generated"] + - ["System.Threading.Tasks.Dataflow", "TransformManyBlock", "TransformManyBlock", "(System.Func>)", "summary", "df-generated"] + - ["System.Threading.Tasks.Dataflow", "TransformManyBlock", "TransformManyBlock", "(System.Func>,System.Threading.Tasks.Dataflow.ExecutionDataflowBlockOptions)", "summary", "df-generated"] + - ["System.Threading.Tasks.Dataflow", "TransformManyBlock", "TransformManyBlock", "(System.Func>>)", "summary", "df-generated"] + - ["System.Threading.Tasks.Dataflow", "TransformManyBlock", "TransformManyBlock", "(System.Func>>,System.Threading.Tasks.Dataflow.ExecutionDataflowBlockOptions)", "summary", "df-generated"] + - ["System.Threading.Tasks.Dataflow", "TransformManyBlock", "TryReceive", "(System.Predicate,TOutput)", "summary", "df-generated"] - ["System.Threading.Tasks.Dataflow", "TransformManyBlock", "TryReceiveAll", "(System.Collections.Generic.IList)", "summary", "df-generated"] - ["System.Threading.Tasks.Dataflow", "TransformManyBlock", "get_InputCount", "()", "summary", "df-generated"] - ["System.Threading.Tasks.Dataflow", "TransformManyBlock", "get_OutputCount", "()", "summary", "df-generated"] - ["System.Threading.Tasks.Dataflow", "WriteOnceBlock", "Complete", "()", "summary", "df-generated"] - - ["System.Threading.Tasks.Dataflow", "WriteOnceBlock", "Fault", "(System.Exception)", "summary", "df-generated"] - ["System.Threading.Tasks.Dataflow", "WriteOnceBlock", "ReserveMessage", "(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock)", "summary", "df-generated"] + - ["System.Threading.Tasks.Dataflow", "WriteOnceBlock", "TryReceive", "(System.Predicate,T)", "summary", "df-generated"] + - ["System.Threading.Tasks.Dataflow", "WriteOnceBlock", "WriteOnceBlock", "(System.Func)", "summary", "df-generated"] diff --git a/csharp/ql/lib/ext/generated/System.Threading.Tasks.Sources.model.yml b/csharp/ql/lib/ext/generated/System.Threading.Tasks.Sources.model.yml index e992db859db6..9fc4e443461e 100644 --- a/csharp/ql/lib/ext/generated/System.Threading.Tasks.Sources.model.yml +++ b/csharp/ql/lib/ext/generated/System.Threading.Tasks.Sources.model.yml @@ -13,8 +13,11 @@ extensions: data: - ["System.Threading.Tasks.Sources", "IValueTaskSource", "GetResult", "(System.Int16)", "summary", "df-generated"] - ["System.Threading.Tasks.Sources", "IValueTaskSource", "GetStatus", "(System.Int16)", "summary", "df-generated"] + - ["System.Threading.Tasks.Sources", "IValueTaskSource", "OnCompleted", "(System.Action,System.Object,System.Int16,System.Threading.Tasks.Sources.ValueTaskSourceOnCompletedFlags)", "summary", "df-generated"] - ["System.Threading.Tasks.Sources", "IValueTaskSource", "GetResult", "(System.Int16)", "summary", "df-generated"] - ["System.Threading.Tasks.Sources", "IValueTaskSource", "GetStatus", "(System.Int16)", "summary", "df-generated"] + - ["System.Threading.Tasks.Sources", "IValueTaskSource", "OnCompleted", "(System.Action,System.Object,System.Int16,System.Threading.Tasks.Sources.ValueTaskSourceOnCompletedFlags)", "summary", "df-generated"] - ["System.Threading.Tasks.Sources", "ManualResetValueTaskSourceCore", "GetStatus", "(System.Int16)", "summary", "df-generated"] + - ["System.Threading.Tasks.Sources", "ManualResetValueTaskSourceCore", "OnCompleted", "(System.Action,System.Object,System.Int16,System.Threading.Tasks.Sources.ValueTaskSourceOnCompletedFlags)", "summary", "df-generated"] - ["System.Threading.Tasks.Sources", "ManualResetValueTaskSourceCore", "Reset", "()", "summary", "df-generated"] - ["System.Threading.Tasks.Sources", "ManualResetValueTaskSourceCore", "get_Version", "()", "summary", "df-generated"] diff --git a/csharp/ql/lib/ext/generated/System.Threading.Tasks.model.yml b/csharp/ql/lib/ext/generated/System.Threading.Tasks.model.yml index 0fbca1fad58d..2e64b63e1c2b 100644 --- a/csharp/ql/lib/ext/generated/System.Threading.Tasks.model.yml +++ b/csharp/ql/lib/ext/generated/System.Threading.Tasks.model.yml @@ -48,12 +48,96 @@ extensions: - ["System.Threading.Tasks", "TaskCompletionSource", False, "get_Task", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["System.Threading.Tasks", "TaskExtensions", False, "Unwrap", "(System.Threading.Tasks.Task)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["System.Threading.Tasks", "TaskExtensions", False, "Unwrap", "(System.Threading.Tasks.Task>)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["System.Threading.Tasks", "TaskFactory", False, "FromAsync", "(System.Func,System.Action,System.Object)", "", "Argument[0].ReturnValue", "Argument[1].Parameter[0]", "value", "dfc-generated"] + - ["System.Threading.Tasks", "TaskFactory", False, "FromAsync", "(System.Func,System.Action,System.Object)", "", "Argument[2]", "Argument[0].Parameter[1]", "value", "dfc-generated"] + - ["System.Threading.Tasks", "TaskFactory", False, "FromAsync", "(System.Func,System.Action,System.Object,System.Threading.Tasks.TaskCreationOptions)", "", "Argument[0].ReturnValue", "Argument[1].Parameter[0]", "value", "dfc-generated"] + - ["System.Threading.Tasks", "TaskFactory", False, "FromAsync", "(System.Func,System.Action,System.Object,System.Threading.Tasks.TaskCreationOptions)", "", "Argument[2]", "Argument[0].Parameter[1]", "value", "dfc-generated"] + - ["System.Threading.Tasks", "TaskFactory", False, "FromAsync", "(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object)", "", "Argument[0].ReturnValue", "Argument[1].Parameter[0]", "value", "dfc-generated"] + - ["System.Threading.Tasks", "TaskFactory", False, "FromAsync", "(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object)", "", "Argument[2]", "Argument[0].Parameter[0]", "value", "dfc-generated"] + - ["System.Threading.Tasks", "TaskFactory", False, "FromAsync", "(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object)", "", "Argument[3]", "Argument[0].Parameter[1]", "value", "dfc-generated"] + - ["System.Threading.Tasks", "TaskFactory", False, "FromAsync", "(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object)", "", "Argument[4]", "Argument[0].Parameter[2]", "value", "dfc-generated"] + - ["System.Threading.Tasks", "TaskFactory", False, "FromAsync", "(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object)", "", "Argument[5]", "Argument[0].Parameter[4]", "value", "dfc-generated"] + - ["System.Threading.Tasks", "TaskFactory", False, "FromAsync", "(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object,System.Threading.Tasks.TaskCreationOptions)", "", "Argument[0].ReturnValue", "Argument[1].Parameter[0]", "value", "dfc-generated"] + - ["System.Threading.Tasks", "TaskFactory", False, "FromAsync", "(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object,System.Threading.Tasks.TaskCreationOptions)", "", "Argument[2]", "Argument[0].Parameter[0]", "value", "dfc-generated"] + - ["System.Threading.Tasks", "TaskFactory", False, "FromAsync", "(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object,System.Threading.Tasks.TaskCreationOptions)", "", "Argument[3]", "Argument[0].Parameter[1]", "value", "dfc-generated"] + - ["System.Threading.Tasks", "TaskFactory", False, "FromAsync", "(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object,System.Threading.Tasks.TaskCreationOptions)", "", "Argument[4]", "Argument[0].Parameter[2]", "value", "dfc-generated"] + - ["System.Threading.Tasks", "TaskFactory", False, "FromAsync", "(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object,System.Threading.Tasks.TaskCreationOptions)", "", "Argument[5]", "Argument[0].Parameter[4]", "value", "dfc-generated"] + - ["System.Threading.Tasks", "TaskFactory", False, "FromAsync", "(System.Func,System.Action,TArg1,TArg2,TArg3,System.Object)", "", "Argument[0].ReturnValue", "Argument[1].Parameter[0]", "value", "dfc-generated"] + - ["System.Threading.Tasks", "TaskFactory", False, "FromAsync", "(System.Func,System.Action,TArg1,TArg2,TArg3,System.Object)", "", "Argument[2]", "Argument[0].Parameter[0]", "value", "dfc-generated"] + - ["System.Threading.Tasks", "TaskFactory", False, "FromAsync", "(System.Func,System.Action,TArg1,TArg2,TArg3,System.Object)", "", "Argument[3]", "Argument[0].Parameter[1]", "value", "dfc-generated"] + - ["System.Threading.Tasks", "TaskFactory", False, "FromAsync", "(System.Func,System.Action,TArg1,TArg2,TArg3,System.Object)", "", "Argument[4]", "Argument[0].Parameter[2]", "value", "dfc-generated"] + - ["System.Threading.Tasks", "TaskFactory", False, "FromAsync", "(System.Func,System.Action,TArg1,TArg2,TArg3,System.Object)", "", "Argument[5]", "Argument[0].Parameter[4]", "value", "dfc-generated"] + - ["System.Threading.Tasks", "TaskFactory", False, "FromAsync", "(System.Func,System.Action,TArg1,TArg2,TArg3,System.Object,System.Threading.Tasks.TaskCreationOptions)", "", "Argument[0].ReturnValue", "Argument[1].Parameter[0]", "value", "dfc-generated"] + - ["System.Threading.Tasks", "TaskFactory", False, "FromAsync", "(System.Func,System.Action,TArg1,TArg2,TArg3,System.Object,System.Threading.Tasks.TaskCreationOptions)", "", "Argument[2]", "Argument[0].Parameter[0]", "value", "dfc-generated"] + - ["System.Threading.Tasks", "TaskFactory", False, "FromAsync", "(System.Func,System.Action,TArg1,TArg2,TArg3,System.Object,System.Threading.Tasks.TaskCreationOptions)", "", "Argument[3]", "Argument[0].Parameter[1]", "value", "dfc-generated"] + - ["System.Threading.Tasks", "TaskFactory", False, "FromAsync", "(System.Func,System.Action,TArg1,TArg2,TArg3,System.Object,System.Threading.Tasks.TaskCreationOptions)", "", "Argument[4]", "Argument[0].Parameter[2]", "value", "dfc-generated"] + - ["System.Threading.Tasks", "TaskFactory", False, "FromAsync", "(System.Func,System.Action,TArg1,TArg2,TArg3,System.Object,System.Threading.Tasks.TaskCreationOptions)", "", "Argument[5]", "Argument[0].Parameter[4]", "value", "dfc-generated"] + - ["System.Threading.Tasks", "TaskFactory", False, "FromAsync", "(System.Func,System.Func,TArg1,TArg2,System.Object)", "", "Argument[0].ReturnValue", "Argument[1].Parameter[0]", "value", "dfc-generated"] + - ["System.Threading.Tasks", "TaskFactory", False, "FromAsync", "(System.Func,System.Func,TArg1,TArg2,System.Object)", "", "Argument[2]", "Argument[0].Parameter[0]", "value", "dfc-generated"] + - ["System.Threading.Tasks", "TaskFactory", False, "FromAsync", "(System.Func,System.Func,TArg1,TArg2,System.Object)", "", "Argument[3]", "Argument[0].Parameter[1]", "value", "dfc-generated"] + - ["System.Threading.Tasks", "TaskFactory", False, "FromAsync", "(System.Func,System.Func,TArg1,TArg2,System.Object)", "", "Argument[4]", "Argument[0].Parameter[3]", "value", "dfc-generated"] + - ["System.Threading.Tasks", "TaskFactory", False, "FromAsync", "(System.Func,System.Func,TArg1,TArg2,System.Object,System.Threading.Tasks.TaskCreationOptions)", "", "Argument[0].ReturnValue", "Argument[1].Parameter[0]", "value", "dfc-generated"] + - ["System.Threading.Tasks", "TaskFactory", False, "FromAsync", "(System.Func,System.Func,TArg1,TArg2,System.Object,System.Threading.Tasks.TaskCreationOptions)", "", "Argument[2]", "Argument[0].Parameter[0]", "value", "dfc-generated"] + - ["System.Threading.Tasks", "TaskFactory", False, "FromAsync", "(System.Func,System.Func,TArg1,TArg2,System.Object,System.Threading.Tasks.TaskCreationOptions)", "", "Argument[3]", "Argument[0].Parameter[1]", "value", "dfc-generated"] + - ["System.Threading.Tasks", "TaskFactory", False, "FromAsync", "(System.Func,System.Func,TArg1,TArg2,System.Object,System.Threading.Tasks.TaskCreationOptions)", "", "Argument[4]", "Argument[0].Parameter[3]", "value", "dfc-generated"] + - ["System.Threading.Tasks", "TaskFactory", False, "FromAsync", "(System.Func,System.Action,TArg1,TArg2,System.Object)", "", "Argument[0].ReturnValue", "Argument[1].Parameter[0]", "value", "dfc-generated"] + - ["System.Threading.Tasks", "TaskFactory", False, "FromAsync", "(System.Func,System.Action,TArg1,TArg2,System.Object)", "", "Argument[2]", "Argument[0].Parameter[0]", "value", "dfc-generated"] + - ["System.Threading.Tasks", "TaskFactory", False, "FromAsync", "(System.Func,System.Action,TArg1,TArg2,System.Object)", "", "Argument[3]", "Argument[0].Parameter[1]", "value", "dfc-generated"] + - ["System.Threading.Tasks", "TaskFactory", False, "FromAsync", "(System.Func,System.Action,TArg1,TArg2,System.Object)", "", "Argument[4]", "Argument[0].Parameter[3]", "value", "dfc-generated"] + - ["System.Threading.Tasks", "TaskFactory", False, "FromAsync", "(System.Func,System.Action,TArg1,TArg2,System.Object,System.Threading.Tasks.TaskCreationOptions)", "", "Argument[0].ReturnValue", "Argument[1].Parameter[0]", "value", "dfc-generated"] + - ["System.Threading.Tasks", "TaskFactory", False, "FromAsync", "(System.Func,System.Action,TArg1,TArg2,System.Object,System.Threading.Tasks.TaskCreationOptions)", "", "Argument[2]", "Argument[0].Parameter[0]", "value", "dfc-generated"] + - ["System.Threading.Tasks", "TaskFactory", False, "FromAsync", "(System.Func,System.Action,TArg1,TArg2,System.Object,System.Threading.Tasks.TaskCreationOptions)", "", "Argument[3]", "Argument[0].Parameter[1]", "value", "dfc-generated"] + - ["System.Threading.Tasks", "TaskFactory", False, "FromAsync", "(System.Func,System.Action,TArg1,TArg2,System.Object,System.Threading.Tasks.TaskCreationOptions)", "", "Argument[4]", "Argument[0].Parameter[3]", "value", "dfc-generated"] + - ["System.Threading.Tasks", "TaskFactory", False, "FromAsync", "(System.Func,System.Func,TArg1,System.Object)", "", "Argument[0].ReturnValue", "Argument[1].Parameter[0]", "value", "dfc-generated"] + - ["System.Threading.Tasks", "TaskFactory", False, "FromAsync", "(System.Func,System.Func,TArg1,System.Object)", "", "Argument[2]", "Argument[0].Parameter[0]", "value", "dfc-generated"] + - ["System.Threading.Tasks", "TaskFactory", False, "FromAsync", "(System.Func,System.Func,TArg1,System.Object)", "", "Argument[3]", "Argument[0].Parameter[2]", "value", "dfc-generated"] + - ["System.Threading.Tasks", "TaskFactory", False, "FromAsync", "(System.Func,System.Func,TArg1,System.Object,System.Threading.Tasks.TaskCreationOptions)", "", "Argument[0].ReturnValue", "Argument[1].Parameter[0]", "value", "dfc-generated"] + - ["System.Threading.Tasks", "TaskFactory", False, "FromAsync", "(System.Func,System.Func,TArg1,System.Object,System.Threading.Tasks.TaskCreationOptions)", "", "Argument[2]", "Argument[0].Parameter[0]", "value", "dfc-generated"] + - ["System.Threading.Tasks", "TaskFactory", False, "FromAsync", "(System.Func,System.Func,TArg1,System.Object,System.Threading.Tasks.TaskCreationOptions)", "", "Argument[3]", "Argument[0].Parameter[2]", "value", "dfc-generated"] + - ["System.Threading.Tasks", "TaskFactory", False, "FromAsync", "(System.Func,System.Action,TArg1,System.Object)", "", "Argument[0].ReturnValue", "Argument[1].Parameter[0]", "value", "dfc-generated"] + - ["System.Threading.Tasks", "TaskFactory", False, "FromAsync", "(System.Func,System.Action,TArg1,System.Object)", "", "Argument[2]", "Argument[0].Parameter[0]", "value", "dfc-generated"] + - ["System.Threading.Tasks", "TaskFactory", False, "FromAsync", "(System.Func,System.Action,TArg1,System.Object)", "", "Argument[3]", "Argument[0].Parameter[2]", "value", "dfc-generated"] + - ["System.Threading.Tasks", "TaskFactory", False, "FromAsync", "(System.Func,System.Action,TArg1,System.Object,System.Threading.Tasks.TaskCreationOptions)", "", "Argument[0].ReturnValue", "Argument[1].Parameter[0]", "value", "dfc-generated"] + - ["System.Threading.Tasks", "TaskFactory", False, "FromAsync", "(System.Func,System.Action,TArg1,System.Object,System.Threading.Tasks.TaskCreationOptions)", "", "Argument[2]", "Argument[0].Parameter[0]", "value", "dfc-generated"] + - ["System.Threading.Tasks", "TaskFactory", False, "FromAsync", "(System.Func,System.Action,TArg1,System.Object,System.Threading.Tasks.TaskCreationOptions)", "", "Argument[3]", "Argument[0].Parameter[2]", "value", "dfc-generated"] + - ["System.Threading.Tasks", "TaskFactory", False, "FromAsync", "(System.Func,System.Func,System.Object)", "", "Argument[0].ReturnValue", "Argument[1].Parameter[0]", "value", "dfc-generated"] + - ["System.Threading.Tasks", "TaskFactory", False, "FromAsync", "(System.Func,System.Func,System.Object)", "", "Argument[2]", "Argument[0].Parameter[1]", "value", "dfc-generated"] + - ["System.Threading.Tasks", "TaskFactory", False, "FromAsync", "(System.Func,System.Func,System.Object,System.Threading.Tasks.TaskCreationOptions)", "", "Argument[0].ReturnValue", "Argument[1].Parameter[0]", "value", "dfc-generated"] + - ["System.Threading.Tasks", "TaskFactory", False, "FromAsync", "(System.Func,System.Func,System.Object,System.Threading.Tasks.TaskCreationOptions)", "", "Argument[2]", "Argument[0].Parameter[1]", "value", "dfc-generated"] - ["System.Threading.Tasks", "TaskFactory", False, "TaskFactory", "(System.Threading.CancellationToken)", "", "Argument[0]", "Argument[this].SyntheticField[System.Threading.Tasks.TaskFactory.m_defaultCancellationToken]", "value", "dfc-generated"] - ["System.Threading.Tasks", "TaskFactory", False, "TaskFactory", "(System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)", "", "Argument[0]", "Argument[this].SyntheticField[System.Threading.Tasks.TaskFactory.m_defaultCancellationToken]", "value", "dfc-generated"] - ["System.Threading.Tasks", "TaskFactory", False, "TaskFactory", "(System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)", "", "Argument[3]", "Argument[this].SyntheticField[System.Threading.Tasks.TaskFactory.m_defaultScheduler]", "value", "dfc-generated"] - ["System.Threading.Tasks", "TaskFactory", False, "TaskFactory", "(System.Threading.Tasks.TaskScheduler)", "", "Argument[0]", "Argument[this].SyntheticField[System.Threading.Tasks.TaskFactory.m_defaultScheduler]", "value", "dfc-generated"] - ["System.Threading.Tasks", "TaskFactory", False, "get_CancellationToken", "()", "", "Argument[this].SyntheticField[System.Threading.Tasks.TaskFactory.m_defaultCancellationToken]", "ReturnValue", "value", "dfc-generated"] - ["System.Threading.Tasks", "TaskFactory", False, "get_Scheduler", "()", "", "Argument[this].SyntheticField[System.Threading.Tasks.TaskFactory.m_defaultScheduler]", "ReturnValue", "value", "dfc-generated"] + - ["System.Threading.Tasks", "TaskFactory", False, "FromAsync", "(System.Func,System.Func,System.Object)", "", "Argument[0].ReturnValue", "Argument[1].Parameter[0]", "value", "dfc-generated"] + - ["System.Threading.Tasks", "TaskFactory", False, "FromAsync", "(System.Func,System.Func,System.Object)", "", "Argument[2]", "Argument[0].Parameter[1]", "value", "dfc-generated"] + - ["System.Threading.Tasks", "TaskFactory", False, "FromAsync", "(System.Func,System.Func,System.Object,System.Threading.Tasks.TaskCreationOptions)", "", "Argument[0].ReturnValue", "Argument[1].Parameter[0]", "value", "dfc-generated"] + - ["System.Threading.Tasks", "TaskFactory", False, "FromAsync", "(System.Func,System.Func,System.Object,System.Threading.Tasks.TaskCreationOptions)", "", "Argument[2]", "Argument[0].Parameter[1]", "value", "dfc-generated"] + - ["System.Threading.Tasks", "TaskFactory", False, "FromAsync", "(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object)", "", "Argument[0].ReturnValue", "Argument[1].Parameter[0]", "value", "dfc-generated"] + - ["System.Threading.Tasks", "TaskFactory", False, "FromAsync", "(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object)", "", "Argument[2]", "Argument[0].Parameter[0]", "value", "dfc-generated"] + - ["System.Threading.Tasks", "TaskFactory", False, "FromAsync", "(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object)", "", "Argument[3]", "Argument[0].Parameter[1]", "value", "dfc-generated"] + - ["System.Threading.Tasks", "TaskFactory", False, "FromAsync", "(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object)", "", "Argument[4]", "Argument[0].Parameter[2]", "value", "dfc-generated"] + - ["System.Threading.Tasks", "TaskFactory", False, "FromAsync", "(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object)", "", "Argument[5]", "Argument[0].Parameter[4]", "value", "dfc-generated"] + - ["System.Threading.Tasks", "TaskFactory", False, "FromAsync", "(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object,System.Threading.Tasks.TaskCreationOptions)", "", "Argument[0].ReturnValue", "Argument[1].Parameter[0]", "value", "dfc-generated"] + - ["System.Threading.Tasks", "TaskFactory", False, "FromAsync", "(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object,System.Threading.Tasks.TaskCreationOptions)", "", "Argument[2]", "Argument[0].Parameter[0]", "value", "dfc-generated"] + - ["System.Threading.Tasks", "TaskFactory", False, "FromAsync", "(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object,System.Threading.Tasks.TaskCreationOptions)", "", "Argument[3]", "Argument[0].Parameter[1]", "value", "dfc-generated"] + - ["System.Threading.Tasks", "TaskFactory", False, "FromAsync", "(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object,System.Threading.Tasks.TaskCreationOptions)", "", "Argument[4]", "Argument[0].Parameter[2]", "value", "dfc-generated"] + - ["System.Threading.Tasks", "TaskFactory", False, "FromAsync", "(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object,System.Threading.Tasks.TaskCreationOptions)", "", "Argument[5]", "Argument[0].Parameter[4]", "value", "dfc-generated"] + - ["System.Threading.Tasks", "TaskFactory", False, "FromAsync", "(System.Func,System.Func,TArg1,TArg2,System.Object)", "", "Argument[0].ReturnValue", "Argument[1].Parameter[0]", "value", "dfc-generated"] + - ["System.Threading.Tasks", "TaskFactory", False, "FromAsync", "(System.Func,System.Func,TArg1,TArg2,System.Object)", "", "Argument[2]", "Argument[0].Parameter[0]", "value", "dfc-generated"] + - ["System.Threading.Tasks", "TaskFactory", False, "FromAsync", "(System.Func,System.Func,TArg1,TArg2,System.Object)", "", "Argument[3]", "Argument[0].Parameter[1]", "value", "dfc-generated"] + - ["System.Threading.Tasks", "TaskFactory", False, "FromAsync", "(System.Func,System.Func,TArg1,TArg2,System.Object)", "", "Argument[4]", "Argument[0].Parameter[3]", "value", "dfc-generated"] + - ["System.Threading.Tasks", "TaskFactory", False, "FromAsync", "(System.Func,System.Func,TArg1,TArg2,System.Object,System.Threading.Tasks.TaskCreationOptions)", "", "Argument[0].ReturnValue", "Argument[1].Parameter[0]", "value", "dfc-generated"] + - ["System.Threading.Tasks", "TaskFactory", False, "FromAsync", "(System.Func,System.Func,TArg1,TArg2,System.Object,System.Threading.Tasks.TaskCreationOptions)", "", "Argument[2]", "Argument[0].Parameter[0]", "value", "dfc-generated"] + - ["System.Threading.Tasks", "TaskFactory", False, "FromAsync", "(System.Func,System.Func,TArg1,TArg2,System.Object,System.Threading.Tasks.TaskCreationOptions)", "", "Argument[3]", "Argument[0].Parameter[1]", "value", "dfc-generated"] + - ["System.Threading.Tasks", "TaskFactory", False, "FromAsync", "(System.Func,System.Func,TArg1,TArg2,System.Object,System.Threading.Tasks.TaskCreationOptions)", "", "Argument[4]", "Argument[0].Parameter[3]", "value", "dfc-generated"] + - ["System.Threading.Tasks", "TaskFactory", False, "FromAsync", "(System.Func,System.Func,TArg1,System.Object)", "", "Argument[0].ReturnValue", "Argument[1].Parameter[0]", "value", "dfc-generated"] + - ["System.Threading.Tasks", "TaskFactory", False, "FromAsync", "(System.Func,System.Func,TArg1,System.Object)", "", "Argument[2]", "Argument[0].Parameter[0]", "value", "dfc-generated"] + - ["System.Threading.Tasks", "TaskFactory", False, "FromAsync", "(System.Func,System.Func,TArg1,System.Object)", "", "Argument[3]", "Argument[0].Parameter[2]", "value", "dfc-generated"] + - ["System.Threading.Tasks", "TaskFactory", False, "FromAsync", "(System.Func,System.Func,TArg1,System.Object,System.Threading.Tasks.TaskCreationOptions)", "", "Argument[0].ReturnValue", "Argument[1].Parameter[0]", "value", "dfc-generated"] + - ["System.Threading.Tasks", "TaskFactory", False, "FromAsync", "(System.Func,System.Func,TArg1,System.Object,System.Threading.Tasks.TaskCreationOptions)", "", "Argument[2]", "Argument[0].Parameter[0]", "value", "dfc-generated"] + - ["System.Threading.Tasks", "TaskFactory", False, "FromAsync", "(System.Func,System.Func,TArg1,System.Object,System.Threading.Tasks.TaskCreationOptions)", "", "Argument[3]", "Argument[0].Parameter[2]", "value", "dfc-generated"] - ["System.Threading.Tasks", "TaskFactory", False, "TaskFactory", "(System.Threading.CancellationToken)", "", "Argument[0]", "Argument[this].SyntheticField[System.Threading.Tasks.TaskFactory`1.m_defaultCancellationToken]", "value", "dfc-generated"] - ["System.Threading.Tasks", "TaskFactory", False, "TaskFactory", "(System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)", "", "Argument[0]", "Argument[this].SyntheticField[System.Threading.Tasks.TaskFactory`1.m_defaultCancellationToken]", "value", "dfc-generated"] - ["System.Threading.Tasks", "TaskFactory", False, "TaskFactory", "(System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)", "", "Argument[3]", "Argument[this].SyntheticField[System.Threading.Tasks.TaskFactory`1.m_defaultScheduler]", "value", "dfc-generated"] @@ -61,6 +145,7 @@ extensions: - ["System.Threading.Tasks", "TaskFactory", False, "get_CancellationToken", "()", "", "Argument[this].SyntheticField[System.Threading.Tasks.TaskFactory`1.m_defaultCancellationToken]", "ReturnValue", "value", "dfc-generated"] - ["System.Threading.Tasks", "TaskFactory", False, "get_Scheduler", "()", "", "Argument[this].SyntheticField[System.Threading.Tasks.TaskFactory`1.m_defaultScheduler]", "ReturnValue", "value", "dfc-generated"] - ["System.Threading.Tasks", "TaskScheduler", True, "GetScheduledTasks", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["System.Threading.Tasks", "TaskToAsyncResult", False, "Begin", "(System.Threading.Tasks.Task,System.AsyncCallback,System.Object)", "", "Argument[0]", "ReturnValue.SyntheticField[System.Threading.Tasks.TaskToAsyncResult+TaskAsyncResult._task]", "value", "dfc-generated"] - ["System.Threading.Tasks", "UnobservedTaskExceptionEventArgs", False, "UnobservedTaskExceptionEventArgs", "(System.AggregateException)", "", "Argument[0]", "Argument[this].SyntheticField[System.Threading.Tasks.UnobservedTaskExceptionEventArgs.m_exception]", "value", "dfc-generated"] - ["System.Threading.Tasks", "UnobservedTaskExceptionEventArgs", False, "get_Exception", "()", "", "Argument[this].SyntheticField[System.Threading.Tasks.UnobservedTaskExceptionEventArgs.m_exception]", "ReturnValue", "value", "dfc-generated"] - ["System.Threading.Tasks", "ValueTask", False, "AsTask", "()", "", "Argument[this].SyntheticField[System.Threading.Tasks.ValueTask._obj]", "ReturnValue", "value", "dfc-generated"] @@ -89,6 +174,47 @@ extensions: - ["System.Threading.Tasks", "ConcurrentExclusiveSchedulerPair", "ConcurrentExclusiveSchedulerPair", "(System.Threading.Tasks.TaskScheduler)", "summary", "df-generated"] - ["System.Threading.Tasks", "ConcurrentExclusiveSchedulerPair", "ConcurrentExclusiveSchedulerPair", "(System.Threading.Tasks.TaskScheduler,System.Int32)", "summary", "df-generated"] - ["System.Threading.Tasks", "ConcurrentExclusiveSchedulerPair", "get_Completion", "()", "summary", "df-generated"] + - ["System.Threading.Tasks", "Parallel", "For", "(System.Int32,System.Int32,System.Action)", "summary", "df-generated"] + - ["System.Threading.Tasks", "Parallel", "For", "(System.Int32,System.Int32,System.Action)", "summary", "df-generated"] + - ["System.Threading.Tasks", "Parallel", "For", "(System.Int32,System.Int32,System.Threading.Tasks.ParallelOptions,System.Action)", "summary", "df-generated"] + - ["System.Threading.Tasks", "Parallel", "For", "(System.Int32,System.Int32,System.Threading.Tasks.ParallelOptions,System.Action)", "summary", "df-generated"] + - ["System.Threading.Tasks", "Parallel", "For", "(System.Int64,System.Int64,System.Action)", "summary", "df-generated"] + - ["System.Threading.Tasks", "Parallel", "For", "(System.Int64,System.Int64,System.Action)", "summary", "df-generated"] + - ["System.Threading.Tasks", "Parallel", "For", "(System.Int64,System.Int64,System.Threading.Tasks.ParallelOptions,System.Action)", "summary", "df-generated"] + - ["System.Threading.Tasks", "Parallel", "For", "(System.Int64,System.Int64,System.Threading.Tasks.ParallelOptions,System.Action)", "summary", "df-generated"] + - ["System.Threading.Tasks", "Parallel", "For", "(System.Int32,System.Int32,System.Func,System.Func,System.Action)", "summary", "df-generated"] + - ["System.Threading.Tasks", "Parallel", "For", "(System.Int32,System.Int32,System.Threading.Tasks.ParallelOptions,System.Func,System.Func,System.Action)", "summary", "df-generated"] + - ["System.Threading.Tasks", "Parallel", "For", "(System.Int64,System.Int64,System.Func,System.Func,System.Action)", "summary", "df-generated"] + - ["System.Threading.Tasks", "Parallel", "For", "(System.Int64,System.Int64,System.Threading.Tasks.ParallelOptions,System.Func,System.Func,System.Action)", "summary", "df-generated"] + - ["System.Threading.Tasks", "Parallel", "ForAsync", "(T,T,System.Func)", "summary", "df-generated"] + - ["System.Threading.Tasks", "Parallel", "ForAsync", "(T,T,System.Threading.CancellationToken,System.Func)", "summary", "df-generated"] + - ["System.Threading.Tasks", "Parallel", "ForAsync", "(T,T,System.Threading.Tasks.ParallelOptions,System.Func)", "summary", "df-generated"] + - ["System.Threading.Tasks", "Parallel", "ForEach", "(System.Collections.Concurrent.OrderablePartitioner,System.Func,System.Func,System.Action)", "summary", "df-generated"] + - ["System.Threading.Tasks", "Parallel", "ForEach", "(System.Collections.Concurrent.OrderablePartitioner,System.Threading.Tasks.ParallelOptions,System.Func,System.Func,System.Action)", "summary", "df-generated"] + - ["System.Threading.Tasks", "Parallel", "ForEach", "(System.Collections.Concurrent.Partitioner,System.Func,System.Func,System.Action)", "summary", "df-generated"] + - ["System.Threading.Tasks", "Parallel", "ForEach", "(System.Collections.Concurrent.Partitioner,System.Threading.Tasks.ParallelOptions,System.Func,System.Func,System.Action)", "summary", "df-generated"] + - ["System.Threading.Tasks", "Parallel", "ForEach", "(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Action)", "summary", "df-generated"] + - ["System.Threading.Tasks", "Parallel", "ForEach", "(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Action)", "summary", "df-generated"] + - ["System.Threading.Tasks", "Parallel", "ForEach", "(System.Collections.Generic.IEnumerable,System.Threading.Tasks.ParallelOptions,System.Func,System.Func,System.Action)", "summary", "df-generated"] + - ["System.Threading.Tasks", "Parallel", "ForEach", "(System.Collections.Generic.IEnumerable,System.Threading.Tasks.ParallelOptions,System.Func,System.Func,System.Action)", "summary", "df-generated"] + - ["System.Threading.Tasks", "Parallel", "ForEach", "(System.Collections.Concurrent.OrderablePartitioner,System.Action)", "summary", "df-generated"] + - ["System.Threading.Tasks", "Parallel", "ForEach", "(System.Collections.Concurrent.OrderablePartitioner,System.Threading.Tasks.ParallelOptions,System.Action)", "summary", "df-generated"] + - ["System.Threading.Tasks", "Parallel", "ForEach", "(System.Collections.Concurrent.Partitioner,System.Action)", "summary", "df-generated"] + - ["System.Threading.Tasks", "Parallel", "ForEach", "(System.Collections.Concurrent.Partitioner,System.Action)", "summary", "df-generated"] + - ["System.Threading.Tasks", "Parallel", "ForEach", "(System.Collections.Concurrent.Partitioner,System.Threading.Tasks.ParallelOptions,System.Action)", "summary", "df-generated"] + - ["System.Threading.Tasks", "Parallel", "ForEach", "(System.Collections.Concurrent.Partitioner,System.Threading.Tasks.ParallelOptions,System.Action)", "summary", "df-generated"] + - ["System.Threading.Tasks", "Parallel", "ForEach", "(System.Collections.Generic.IEnumerable,System.Action)", "summary", "df-generated"] + - ["System.Threading.Tasks", "Parallel", "ForEach", "(System.Collections.Generic.IEnumerable,System.Action)", "summary", "df-generated"] + - ["System.Threading.Tasks", "Parallel", "ForEach", "(System.Collections.Generic.IEnumerable,System.Action)", "summary", "df-generated"] + - ["System.Threading.Tasks", "Parallel", "ForEach", "(System.Collections.Generic.IEnumerable,System.Threading.Tasks.ParallelOptions,System.Action)", "summary", "df-generated"] + - ["System.Threading.Tasks", "Parallel", "ForEach", "(System.Collections.Generic.IEnumerable,System.Threading.Tasks.ParallelOptions,System.Action)", "summary", "df-generated"] + - ["System.Threading.Tasks", "Parallel", "ForEach", "(System.Collections.Generic.IEnumerable,System.Threading.Tasks.ParallelOptions,System.Action)", "summary", "df-generated"] + - ["System.Threading.Tasks", "Parallel", "ForEachAsync", "(System.Collections.Generic.IAsyncEnumerable,System.Func)", "summary", "df-generated"] + - ["System.Threading.Tasks", "Parallel", "ForEachAsync", "(System.Collections.Generic.IAsyncEnumerable,System.Threading.CancellationToken,System.Func)", "summary", "df-generated"] + - ["System.Threading.Tasks", "Parallel", "ForEachAsync", "(System.Collections.Generic.IAsyncEnumerable,System.Threading.Tasks.ParallelOptions,System.Func)", "summary", "df-generated"] + - ["System.Threading.Tasks", "Parallel", "ForEachAsync", "(System.Collections.Generic.IEnumerable,System.Func)", "summary", "df-generated"] + - ["System.Threading.Tasks", "Parallel", "ForEachAsync", "(System.Collections.Generic.IEnumerable,System.Threading.CancellationToken,System.Func)", "summary", "df-generated"] + - ["System.Threading.Tasks", "Parallel", "ForEachAsync", "(System.Collections.Generic.IEnumerable,System.Threading.Tasks.ParallelOptions,System.Func)", "summary", "df-generated"] - ["System.Threading.Tasks", "Parallel", "Invoke", "(System.Action[])", "summary", "df-generated"] - ["System.Threading.Tasks", "Parallel", "Invoke", "(System.Threading.Tasks.ParallelOptions,System.Action[])", "summary", "df-generated"] - ["System.Threading.Tasks", "ParallelLoopResult", "get_IsCompleted", "()", "summary", "df-generated"] @@ -97,6 +223,11 @@ extensions: - ["System.Threading.Tasks", "ParallelLoopState", "get_IsExceptional", "()", "summary", "df-generated"] - ["System.Threading.Tasks", "ParallelLoopState", "get_IsStopped", "()", "summary", "df-generated"] - ["System.Threading.Tasks", "ParallelLoopState", "get_ShouldExitCurrentIteration", "()", "summary", "df-generated"] + - ["System.Threading.Tasks", "Task", "ContinueWith", "(System.Action)", "summary", "df-generated"] + - ["System.Threading.Tasks", "Task", "ContinueWith", "(System.Action,System.Threading.CancellationToken)", "summary", "df-generated"] + - ["System.Threading.Tasks", "Task", "ContinueWith", "(System.Action,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)", "summary", "df-generated"] + - ["System.Threading.Tasks", "Task", "ContinueWith", "(System.Action,System.Threading.Tasks.TaskContinuationOptions)", "summary", "df-generated"] + - ["System.Threading.Tasks", "Task", "ContinueWith", "(System.Action,System.Threading.Tasks.TaskScheduler)", "summary", "df-generated"] - ["System.Threading.Tasks", "Task", "Delay", "(System.Int32)", "summary", "df-generated"] - ["System.Threading.Tasks", "Task", "Delay", "(System.TimeSpan)", "summary", "df-generated"] - ["System.Threading.Tasks", "Task", "Delay", "(System.TimeSpan,System.TimeProvider)", "summary", "df-generated"] @@ -105,10 +236,18 @@ extensions: - ["System.Threading.Tasks", "Task", "FromCanceled", "(System.Threading.CancellationToken)", "summary", "df-generated"] - ["System.Threading.Tasks", "Task", "FromException", "(System.Exception)", "summary", "df-generated"] - ["System.Threading.Tasks", "Task", "FromException", "(System.Exception)", "summary", "df-generated"] + - ["System.Threading.Tasks", "Task", "Run", "(System.Action)", "summary", "df-generated"] + - ["System.Threading.Tasks", "Task", "Run", "(System.Action,System.Threading.CancellationToken)", "summary", "df-generated"] + - ["System.Threading.Tasks", "Task", "Run", "(System.Func)", "summary", "df-generated"] + - ["System.Threading.Tasks", "Task", "Run", "(System.Func,System.Threading.CancellationToken)", "summary", "df-generated"] - ["System.Threading.Tasks", "Task", "RunSynchronously", "()", "summary", "df-generated"] - ["System.Threading.Tasks", "Task", "RunSynchronously", "(System.Threading.Tasks.TaskScheduler)", "summary", "df-generated"] - ["System.Threading.Tasks", "Task", "Start", "()", "summary", "df-generated"] - ["System.Threading.Tasks", "Task", "Start", "(System.Threading.Tasks.TaskScheduler)", "summary", "df-generated"] + - ["System.Threading.Tasks", "Task", "Task", "(System.Action)", "summary", "df-generated"] + - ["System.Threading.Tasks", "Task", "Task", "(System.Action,System.Threading.CancellationToken)", "summary", "df-generated"] + - ["System.Threading.Tasks", "Task", "Task", "(System.Action,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions)", "summary", "df-generated"] + - ["System.Threading.Tasks", "Task", "Task", "(System.Action,System.Threading.Tasks.TaskCreationOptions)", "summary", "df-generated"] - ["System.Threading.Tasks", "Task", "Wait", "()", "summary", "df-generated"] - ["System.Threading.Tasks", "Task", "Wait", "(System.Int32)", "summary", "df-generated"] - ["System.Threading.Tasks", "Task", "Wait", "(System.Int32,System.Threading.CancellationToken)", "summary", "df-generated"] @@ -169,9 +308,30 @@ extensions: - ["System.Threading.Tasks", "TaskCompletionSource", "TrySetCanceled", "(System.Threading.CancellationToken)", "summary", "df-generated"] - ["System.Threading.Tasks", "TaskCompletionSource", "TrySetException", "(System.Collections.Generic.IEnumerable)", "summary", "df-generated"] - ["System.Threading.Tasks", "TaskCompletionSource", "TrySetException", "(System.Exception)", "summary", "df-generated"] + - ["System.Threading.Tasks", "TaskFactory", "ContinueWhenAll", "(System.Threading.Tasks.Task[],System.Action)", "summary", "df-generated"] + - ["System.Threading.Tasks", "TaskFactory", "ContinueWhenAll", "(System.Threading.Tasks.Task[],System.Action,System.Threading.CancellationToken)", "summary", "df-generated"] + - ["System.Threading.Tasks", "TaskFactory", "ContinueWhenAll", "(System.Threading.Tasks.Task[],System.Action,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)", "summary", "df-generated"] + - ["System.Threading.Tasks", "TaskFactory", "ContinueWhenAll", "(System.Threading.Tasks.Task[],System.Action,System.Threading.Tasks.TaskContinuationOptions)", "summary", "df-generated"] + - ["System.Threading.Tasks", "TaskFactory", "ContinueWhenAny", "(System.Threading.Tasks.Task[],System.Action)", "summary", "df-generated"] + - ["System.Threading.Tasks", "TaskFactory", "ContinueWhenAny", "(System.Threading.Tasks.Task[],System.Action,System.Threading.CancellationToken)", "summary", "df-generated"] + - ["System.Threading.Tasks", "TaskFactory", "ContinueWhenAny", "(System.Threading.Tasks.Task[],System.Action,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)", "summary", "df-generated"] + - ["System.Threading.Tasks", "TaskFactory", "ContinueWhenAny", "(System.Threading.Tasks.Task[],System.Action,System.Threading.Tasks.TaskContinuationOptions)", "summary", "df-generated"] + - ["System.Threading.Tasks", "TaskFactory", "FromAsync", "(System.IAsyncResult,System.Action)", "summary", "df-generated"] + - ["System.Threading.Tasks", "TaskFactory", "FromAsync", "(System.IAsyncResult,System.Action,System.Threading.Tasks.TaskCreationOptions)", "summary", "df-generated"] + - ["System.Threading.Tasks", "TaskFactory", "FromAsync", "(System.IAsyncResult,System.Action,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler)", "summary", "df-generated"] + - ["System.Threading.Tasks", "TaskFactory", "FromAsync", "(System.IAsyncResult,System.Func)", "summary", "df-generated"] + - ["System.Threading.Tasks", "TaskFactory", "FromAsync", "(System.IAsyncResult,System.Func,System.Threading.Tasks.TaskCreationOptions)", "summary", "df-generated"] + - ["System.Threading.Tasks", "TaskFactory", "FromAsync", "(System.IAsyncResult,System.Func,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler)", "summary", "df-generated"] + - ["System.Threading.Tasks", "TaskFactory", "StartNew", "(System.Action)", "summary", "df-generated"] + - ["System.Threading.Tasks", "TaskFactory", "StartNew", "(System.Action,System.Threading.CancellationToken)", "summary", "df-generated"] + - ["System.Threading.Tasks", "TaskFactory", "StartNew", "(System.Action,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler)", "summary", "df-generated"] + - ["System.Threading.Tasks", "TaskFactory", "StartNew", "(System.Action,System.Threading.Tasks.TaskCreationOptions)", "summary", "df-generated"] - ["System.Threading.Tasks", "TaskFactory", "TaskFactory", "(System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskContinuationOptions)", "summary", "df-generated"] - ["System.Threading.Tasks", "TaskFactory", "get_ContinuationOptions", "()", "summary", "df-generated"] - ["System.Threading.Tasks", "TaskFactory", "get_CreationOptions", "()", "summary", "df-generated"] + - ["System.Threading.Tasks", "TaskFactory", "FromAsync", "(System.IAsyncResult,System.Func)", "summary", "df-generated"] + - ["System.Threading.Tasks", "TaskFactory", "FromAsync", "(System.IAsyncResult,System.Func,System.Threading.Tasks.TaskCreationOptions)", "summary", "df-generated"] + - ["System.Threading.Tasks", "TaskFactory", "FromAsync", "(System.IAsyncResult,System.Func,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler)", "summary", "df-generated"] - ["System.Threading.Tasks", "TaskFactory", "TaskFactory", "(System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskContinuationOptions)", "summary", "df-generated"] - ["System.Threading.Tasks", "TaskFactory", "get_ContinuationOptions", "()", "summary", "df-generated"] - ["System.Threading.Tasks", "TaskFactory", "get_CreationOptions", "()", "summary", "df-generated"] @@ -180,10 +340,12 @@ extensions: - ["System.Threading.Tasks", "TaskScheduler", "TryDequeue", "(System.Threading.Tasks.Task)", "summary", "df-generated"] - ["System.Threading.Tasks", "TaskScheduler", "TryExecuteTask", "(System.Threading.Tasks.Task)", "summary", "df-generated"] - ["System.Threading.Tasks", "TaskScheduler", "TryExecuteTaskInline", "(System.Threading.Tasks.Task,System.Boolean)", "summary", "df-generated"] + - ["System.Threading.Tasks", "TaskScheduler", "add_UnobservedTaskException", "(System.EventHandler)", "summary", "df-generated"] - ["System.Threading.Tasks", "TaskScheduler", "get_Current", "()", "summary", "df-generated"] - ["System.Threading.Tasks", "TaskScheduler", "get_Default", "()", "summary", "df-generated"] - ["System.Threading.Tasks", "TaskScheduler", "get_Id", "()", "summary", "df-generated"] - ["System.Threading.Tasks", "TaskScheduler", "get_MaximumConcurrencyLevel", "()", "summary", "df-generated"] + - ["System.Threading.Tasks", "TaskScheduler", "remove_UnobservedTaskException", "(System.EventHandler)", "summary", "df-generated"] - ["System.Threading.Tasks", "TaskSchedulerException", "TaskSchedulerException", "(System.Exception)", "summary", "df-generated"] - ["System.Threading.Tasks", "TaskSchedulerException", "TaskSchedulerException", "(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)", "summary", "df-generated"] - ["System.Threading.Tasks", "TaskSchedulerException", "TaskSchedulerException", "(System.String)", "summary", "df-generated"] diff --git a/csharp/ql/lib/ext/generated/System.Threading.model.yml b/csharp/ql/lib/ext/generated/System.Threading.model.yml index 66d8b23c9065..4453e4b157bd 100644 --- a/csharp/ql/lib/ext/generated/System.Threading.model.yml +++ b/csharp/ql/lib/ext/generated/System.Threading.model.yml @@ -8,12 +8,19 @@ extensions: - ["System.Threading", "AbandonedMutexException", False, "AbandonedMutexException", "(System.String,System.Exception,System.Int32,System.Threading.WaitHandle)", "", "Argument[3]", "Argument[this].SyntheticField[System.Threading.AbandonedMutexException._mutex]", "value", "dfc-generated"] - ["System.Threading", "AbandonedMutexException", False, "AbandonedMutexException", "(System.String,System.Int32,System.Threading.WaitHandle)", "", "Argument[2]", "Argument[this].SyntheticField[System.Threading.AbandonedMutexException._mutex]", "value", "dfc-generated"] - ["System.Threading", "AbandonedMutexException", False, "get_Mutex", "()", "", "Argument[this].SyntheticField[System.Threading.AbandonedMutexException._mutex]", "ReturnValue", "value", "dfc-generated"] + - ["System.Threading", "CancellationToken", False, "Register", "(System.Action,System.Object)", "", "Argument[1]", "Argument[0].Parameter[0]", "value", "dfc-generated"] + - ["System.Threading", "CancellationToken", False, "Register", "(System.Action,System.Object)", "", "Argument[1]", "Argument[0].Parameter[0]", "value", "dfc-generated"] + - ["System.Threading", "CancellationToken", False, "Register", "(System.Action,System.Object,System.Boolean)", "", "Argument[1]", "Argument[0].Parameter[0]", "value", "dfc-generated"] + - ["System.Threading", "CancellationToken", False, "UnsafeRegister", "(System.Action,System.Object)", "", "Argument[1]", "Argument[0].Parameter[0]", "value", "dfc-generated"] + - ["System.Threading", "CancellationToken", False, "UnsafeRegister", "(System.Action,System.Object)", "", "Argument[1]", "Argument[0].Parameter[0]", "value", "dfc-generated"] - ["System.Threading", "CancellationToken", False, "get_WaitHandle", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["System.Threading", "CancellationTokenSource", False, "CancelAsync", "()", "", "Argument[this]", "ReturnValue.SyntheticField[System.Threading.Tasks.Task.m_stateObject]", "value", "dfc-generated"] - ["System.Threading", "CancellationTokenSource", False, "get_Token", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["System.Threading", "CompressedStack", False, "CreateCopy", "()", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] + - ["System.Threading", "CompressedStack", False, "Run", "(System.Threading.CompressedStack,System.Threading.ContextCallback,System.Object)", "", "Argument[2]", "Argument[1].Parameter[0]", "value", "dfc-generated"] - ["System.Threading", "CountdownEvent", False, "get_WaitHandle", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["System.Threading", "ExecutionContext", False, "CreateCopy", "()", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] + - ["System.Threading", "ExecutionContext", False, "Run", "(System.Threading.ExecutionContext,System.Threading.ContextCallback,System.Object)", "", "Argument[2]", "Argument[1].Parameter[0]", "value", "dfc-generated"] - ["System.Threading", "HostExecutionContextManager", True, "SetHostExecutionContext", "(System.Threading.HostExecutionContext)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["System.Threading", "Interlocked", False, "CompareExchange", "(System.IntPtr,System.IntPtr,System.IntPtr)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["System.Threading", "Interlocked", False, "CompareExchange", "(System.UIntPtr,System.UIntPtr,System.UIntPtr)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] @@ -24,6 +31,12 @@ extensions: - ["System.Threading", "LazyInitializer", False, "EnsureInitialized", "(T)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["System.Threading", "LazyInitializer", False, "EnsureInitialized", "(T,System.Boolean,System.Object)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["System.Threading", "LazyInitializer", False, "EnsureInitialized", "(T,System.Boolean,System.Object)", "", "Argument[2]", "ReturnValue", "value", "dfc-generated"] + - ["System.Threading", "LazyInitializer", False, "EnsureInitialized", "(T,System.Boolean,System.Object,System.Func)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["System.Threading", "LazyInitializer", False, "EnsureInitialized", "(T,System.Boolean,System.Object,System.Func)", "", "Argument[2]", "ReturnValue", "value", "dfc-generated"] + - ["System.Threading", "LazyInitializer", False, "EnsureInitialized", "(T,System.Boolean,System.Object,System.Func)", "", "Argument[3].ReturnValue", "ReturnValue", "value", "dfc-generated"] + - ["System.Threading", "LazyInitializer", False, "EnsureInitialized", "(T,System.Func)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["System.Threading", "LazyInitializer", False, "EnsureInitialized", "(T,System.Object,System.Func)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["System.Threading", "LazyInitializer", False, "EnsureInitialized", "(T,System.Object,System.Func)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] - ["System.Threading", "Lock", False, "EnterScope", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["System.Threading", "ManualResetEventSlim", False, "get_WaitHandle", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["System.Threading", "Mutex", False, "TryOpenExisting", "(System.String,System.Threading.Mutex)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] @@ -42,6 +55,7 @@ extensions: - ["System.Threading", "SemaphoreSlim", False, "WaitAsync", "(System.TimeSpan)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["System.Threading", "SemaphoreSlim", False, "WaitAsync", "(System.TimeSpan,System.Threading.CancellationToken)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["System.Threading", "SemaphoreSlim", False, "get_AvailableWaitHandle", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["System.Threading", "SynchronizationContext", True, "Send", "(System.Threading.SendOrPostCallback,System.Object)", "", "Argument[1]", "Argument[0].Parameter[0]", "value", "dfc-generated"] - ["System.Threading", "Thread", False, "GetData", "(System.LocalDataStoreSlot)", "", "Argument[0].SyntheticField[System.LocalDataStoreSlot.Data].Property[System.Threading.ThreadLocal`1.Value]", "ReturnValue", "value", "dfc-generated"] - ["System.Threading", "Thread", False, "SetData", "(System.LocalDataStoreSlot,System.Object)", "", "Argument[1]", "Argument[0].SyntheticField[System.LocalDataStoreSlot.Data].Property[System.Threading.ThreadLocal`1.Value]", "value", "dfc-generated"] - ["System.Threading", "Thread", False, "VolatileRead", "(System.IntPtr)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] @@ -75,10 +89,12 @@ extensions: - ["System.Threading", "AsyncFlowControl", "Undo", "()", "summary", "df-generated"] - ["System.Threading", "AsyncFlowControl", "op_Equality", "(System.Threading.AsyncFlowControl,System.Threading.AsyncFlowControl)", "summary", "df-generated"] - ["System.Threading", "AsyncFlowControl", "op_Inequality", "(System.Threading.AsyncFlowControl,System.Threading.AsyncFlowControl)", "summary", "df-generated"] + - ["System.Threading", "AsyncLocal", "AsyncLocal", "(System.Action>)", "summary", "df-generated"] - ["System.Threading", "AutoResetEvent", "AutoResetEvent", "(System.Boolean)", "summary", "df-generated"] - ["System.Threading", "Barrier", "AddParticipant", "()", "summary", "df-generated"] - ["System.Threading", "Barrier", "AddParticipants", "(System.Int32)", "summary", "df-generated"] - ["System.Threading", "Barrier", "Barrier", "(System.Int32)", "summary", "df-generated"] + - ["System.Threading", "Barrier", "Barrier", "(System.Int32,System.Action)", "summary", "df-generated"] - ["System.Threading", "Barrier", "Dispose", "()", "summary", "df-generated"] - ["System.Threading", "Barrier", "Dispose", "(System.Boolean)", "summary", "df-generated"] - ["System.Threading", "Barrier", "RemoveParticipant", "()", "summary", "df-generated"] @@ -99,6 +115,8 @@ extensions: - ["System.Threading", "CancellationToken", "Equals", "(System.Object)", "summary", "df-generated"] - ["System.Threading", "CancellationToken", "Equals", "(System.Threading.CancellationToken)", "summary", "df-generated"] - ["System.Threading", "CancellationToken", "GetHashCode", "()", "summary", "df-generated"] + - ["System.Threading", "CancellationToken", "Register", "(System.Action)", "summary", "df-generated"] + - ["System.Threading", "CancellationToken", "Register", "(System.Action,System.Boolean)", "summary", "df-generated"] - ["System.Threading", "CancellationToken", "ThrowIfCancellationRequested", "()", "summary", "df-generated"] - ["System.Threading", "CancellationToken", "get_CanBeCanceled", "()", "summary", "df-generated"] - ["System.Threading", "CancellationToken", "get_IsCancellationRequested", "()", "summary", "df-generated"] @@ -267,9 +285,15 @@ extensions: - ["System.Threading", "MutexAcl", "TryOpenExisting", "(System.String,System.Security.AccessControl.MutexRights,System.Threading.Mutex)", "summary", "df-generated"] - ["System.Threading", "Overlapped", "Free", "(System.Threading.NativeOverlapped*)", "summary", "df-generated"] - ["System.Threading", "Overlapped", "Overlapped", "(System.Int32,System.Int32,System.Int32,System.IAsyncResult)", "summary", "df-generated"] + - ["System.Threading", "Overlapped", "Pack", "(System.Threading.IOCompletionCallback)", "summary", "df-generated"] + - ["System.Threading", "Overlapped", "Pack", "(System.Threading.IOCompletionCallback,System.Object)", "summary", "df-generated"] - ["System.Threading", "Overlapped", "Unpack", "(System.Threading.NativeOverlapped*)", "summary", "df-generated"] + - ["System.Threading", "Overlapped", "UnsafePack", "(System.Threading.IOCompletionCallback)", "summary", "df-generated"] + - ["System.Threading", "Overlapped", "UnsafePack", "(System.Threading.IOCompletionCallback,System.Object)", "summary", "df-generated"] - ["System.Threading", "PeriodicTimer", "Dispose", "()", "summary", "df-generated"] - ["System.Threading", "PreAllocatedOverlapped", "Dispose", "()", "summary", "df-generated"] + - ["System.Threading", "PreAllocatedOverlapped", "PreAllocatedOverlapped", "(System.Threading.IOCompletionCallback,System.Object,System.Object)", "summary", "df-generated"] + - ["System.Threading", "PreAllocatedOverlapped", "UnsafeCreate", "(System.Threading.IOCompletionCallback,System.Object,System.Object)", "summary", "df-generated"] - ["System.Threading", "ReaderWriterLock", "AcquireReaderLock", "(System.Int32)", "summary", "df-generated"] - ["System.Threading", "ReaderWriterLock", "AcquireReaderLock", "(System.TimeSpan)", "summary", "df-generated"] - ["System.Threading", "ReaderWriterLock", "AcquireWriterLock", "(System.Int32)", "summary", "df-generated"] @@ -347,11 +371,15 @@ extensions: - ["System.Threading", "SpinWait", "Reset", "()", "summary", "df-generated"] - ["System.Threading", "SpinWait", "SpinOnce", "()", "summary", "df-generated"] - ["System.Threading", "SpinWait", "SpinOnce", "(System.Int32)", "summary", "df-generated"] + - ["System.Threading", "SpinWait", "SpinUntil", "(System.Func)", "summary", "df-generated"] + - ["System.Threading", "SpinWait", "SpinUntil", "(System.Func,System.Int32)", "summary", "df-generated"] + - ["System.Threading", "SpinWait", "SpinUntil", "(System.Func,System.TimeSpan)", "summary", "df-generated"] - ["System.Threading", "SpinWait", "get_NextSpinWillYield", "()", "summary", "df-generated"] - ["System.Threading", "SynchronizationContext", "CreateCopy", "()", "summary", "df-generated"] - ["System.Threading", "SynchronizationContext", "IsWaitNotificationRequired", "()", "summary", "df-generated"] - ["System.Threading", "SynchronizationContext", "OperationCompleted", "()", "summary", "df-generated"] - ["System.Threading", "SynchronizationContext", "OperationStarted", "()", "summary", "df-generated"] + - ["System.Threading", "SynchronizationContext", "Post", "(System.Threading.SendOrPostCallback,System.Object)", "summary", "df-generated"] - ["System.Threading", "SynchronizationContext", "SetSynchronizationContext", "(System.Threading.SynchronizationContext)", "summary", "df-generated"] - ["System.Threading", "SynchronizationContext", "SetWaitNotificationRequired", "()", "summary", "df-generated"] - ["System.Threading", "SynchronizationContext", "Wait", "(System.IntPtr[],System.Boolean,System.Int32)", "summary", "df-generated"] @@ -392,6 +420,10 @@ extensions: - ["System.Threading", "Thread", "Start", "()", "summary", "df-generated"] - ["System.Threading", "Thread", "Start", "(System.Object)", "summary", "df-generated"] - ["System.Threading", "Thread", "Suspend", "()", "summary", "df-generated"] + - ["System.Threading", "Thread", "Thread", "(System.Threading.ParameterizedThreadStart)", "summary", "df-generated"] + - ["System.Threading", "Thread", "Thread", "(System.Threading.ParameterizedThreadStart,System.Int32)", "summary", "df-generated"] + - ["System.Threading", "Thread", "Thread", "(System.Threading.ThreadStart)", "summary", "df-generated"] + - ["System.Threading", "Thread", "Thread", "(System.Threading.ThreadStart,System.Int32)", "summary", "df-generated"] - ["System.Threading", "Thread", "TrySetApartmentState", "(System.Threading.ApartmentState)", "summary", "df-generated"] - ["System.Threading", "Thread", "UnsafeStart", "()", "summary", "df-generated"] - ["System.Threading", "Thread", "UnsafeStart", "(System.Object)", "summary", "df-generated"] @@ -428,6 +460,8 @@ extensions: - ["System.Threading", "ThreadLocal", "Dispose", "()", "summary", "df-generated"] - ["System.Threading", "ThreadLocal", "Dispose", "(System.Boolean)", "summary", "df-generated"] - ["System.Threading", "ThreadLocal", "ThreadLocal", "(System.Boolean)", "summary", "df-generated"] + - ["System.Threading", "ThreadLocal", "ThreadLocal", "(System.Func)", "summary", "df-generated"] + - ["System.Threading", "ThreadLocal", "ThreadLocal", "(System.Func,System.Boolean)", "summary", "df-generated"] - ["System.Threading", "ThreadLocal", "get_IsValueCreated", "()", "summary", "df-generated"] - ["System.Threading", "ThreadLocal", "get_Values", "()", "summary", "df-generated"] - ["System.Threading", "ThreadPool", "BindHandle", "(System.IntPtr)", "summary", "df-generated"] @@ -435,17 +469,32 @@ extensions: - ["System.Threading", "ThreadPool", "GetAvailableThreads", "(System.Int32,System.Int32)", "summary", "df-generated"] - ["System.Threading", "ThreadPool", "GetMaxThreads", "(System.Int32,System.Int32)", "summary", "df-generated"] - ["System.Threading", "ThreadPool", "GetMinThreads", "(System.Int32,System.Int32)", "summary", "df-generated"] + - ["System.Threading", "ThreadPool", "QueueUserWorkItem", "(System.Threading.WaitCallback)", "summary", "df-generated"] + - ["System.Threading", "ThreadPool", "QueueUserWorkItem", "(System.Threading.WaitCallback,System.Object)", "summary", "df-generated"] + - ["System.Threading", "ThreadPool", "QueueUserWorkItem", "(System.Action,TState,System.Boolean)", "summary", "df-generated"] + - ["System.Threading", "ThreadPool", "RegisterWaitForSingleObject", "(System.Threading.WaitHandle,System.Threading.WaitOrTimerCallback,System.Object,System.Int32,System.Boolean)", "summary", "df-generated"] + - ["System.Threading", "ThreadPool", "RegisterWaitForSingleObject", "(System.Threading.WaitHandle,System.Threading.WaitOrTimerCallback,System.Object,System.Int64,System.Boolean)", "summary", "df-generated"] + - ["System.Threading", "ThreadPool", "RegisterWaitForSingleObject", "(System.Threading.WaitHandle,System.Threading.WaitOrTimerCallback,System.Object,System.TimeSpan,System.Boolean)", "summary", "df-generated"] + - ["System.Threading", "ThreadPool", "RegisterWaitForSingleObject", "(System.Threading.WaitHandle,System.Threading.WaitOrTimerCallback,System.Object,System.UInt32,System.Boolean)", "summary", "df-generated"] - ["System.Threading", "ThreadPool", "SetMaxThreads", "(System.Int32,System.Int32)", "summary", "df-generated"] - ["System.Threading", "ThreadPool", "SetMinThreads", "(System.Int32,System.Int32)", "summary", "df-generated"] - ["System.Threading", "ThreadPool", "UnsafeQueueNativeOverlapped", "(System.Threading.NativeOverlapped*)", "summary", "df-generated"] - ["System.Threading", "ThreadPool", "UnsafeQueueUserWorkItem", "(System.Threading.IThreadPoolWorkItem,System.Boolean)", "summary", "df-generated"] + - ["System.Threading", "ThreadPool", "UnsafeQueueUserWorkItem", "(System.Threading.WaitCallback,System.Object)", "summary", "df-generated"] + - ["System.Threading", "ThreadPool", "UnsafeQueueUserWorkItem", "(System.Action,TState,System.Boolean)", "summary", "df-generated"] + - ["System.Threading", "ThreadPool", "UnsafeRegisterWaitForSingleObject", "(System.Threading.WaitHandle,System.Threading.WaitOrTimerCallback,System.Object,System.Int32,System.Boolean)", "summary", "df-generated"] + - ["System.Threading", "ThreadPool", "UnsafeRegisterWaitForSingleObject", "(System.Threading.WaitHandle,System.Threading.WaitOrTimerCallback,System.Object,System.Int64,System.Boolean)", "summary", "df-generated"] + - ["System.Threading", "ThreadPool", "UnsafeRegisterWaitForSingleObject", "(System.Threading.WaitHandle,System.Threading.WaitOrTimerCallback,System.Object,System.TimeSpan,System.Boolean)", "summary", "df-generated"] + - ["System.Threading", "ThreadPool", "UnsafeRegisterWaitForSingleObject", "(System.Threading.WaitHandle,System.Threading.WaitOrTimerCallback,System.Object,System.UInt32,System.Boolean)", "summary", "df-generated"] - ["System.Threading", "ThreadPool", "get_CompletedWorkItemCount", "()", "summary", "df-generated"] - ["System.Threading", "ThreadPool", "get_PendingWorkItemCount", "()", "summary", "df-generated"] - ["System.Threading", "ThreadPool", "get_ThreadCount", "()", "summary", "df-generated"] + - ["System.Threading", "ThreadPoolBoundHandle", "AllocateNativeOverlapped", "(System.Threading.IOCompletionCallback,System.Object,System.Object)", "summary", "df-generated"] - ["System.Threading", "ThreadPoolBoundHandle", "BindHandle", "(System.Runtime.InteropServices.SafeHandle)", "summary", "df-generated"] - ["System.Threading", "ThreadPoolBoundHandle", "Dispose", "()", "summary", "df-generated"] - ["System.Threading", "ThreadPoolBoundHandle", "FreeNativeOverlapped", "(System.Threading.NativeOverlapped*)", "summary", "df-generated"] - ["System.Threading", "ThreadPoolBoundHandle", "GetNativeOverlappedState", "(System.Threading.NativeOverlapped*)", "summary", "df-generated"] + - ["System.Threading", "ThreadPoolBoundHandle", "UnsafeAllocateNativeOverlapped", "(System.Threading.IOCompletionCallback,System.Object,System.Object)", "summary", "df-generated"] - ["System.Threading", "ThreadStateException", "ThreadStateException", "(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)", "summary", "df-generated"] - ["System.Threading", "ThreadStateException", "ThreadStateException", "(System.String)", "summary", "df-generated"] - ["System.Threading", "ThreadStateException", "ThreadStateException", "(System.String,System.Exception)", "summary", "df-generated"] @@ -461,6 +510,11 @@ extensions: - ["System.Threading", "Timer", "Change", "(System.UInt32,System.UInt32)", "summary", "df-generated"] - ["System.Threading", "Timer", "Dispose", "()", "summary", "df-generated"] - ["System.Threading", "Timer", "Dispose", "(System.Threading.WaitHandle)", "summary", "df-generated"] + - ["System.Threading", "Timer", "Timer", "(System.Threading.TimerCallback)", "summary", "df-generated"] + - ["System.Threading", "Timer", "Timer", "(System.Threading.TimerCallback,System.Object,System.Int32,System.Int32)", "summary", "df-generated"] + - ["System.Threading", "Timer", "Timer", "(System.Threading.TimerCallback,System.Object,System.Int64,System.Int64)", "summary", "df-generated"] + - ["System.Threading", "Timer", "Timer", "(System.Threading.TimerCallback,System.Object,System.TimeSpan,System.TimeSpan)", "summary", "df-generated"] + - ["System.Threading", "Timer", "Timer", "(System.Threading.TimerCallback,System.Object,System.UInt32,System.UInt32)", "summary", "df-generated"] - ["System.Threading", "Timer", "get_ActiveCount", "()", "summary", "df-generated"] - ["System.Threading", "Volatile", "Read", "(System.Boolean)", "summary", "df-generated"] - ["System.Threading", "Volatile", "Read", "(System.Byte)", "summary", "df-generated"] diff --git a/csharp/ql/lib/ext/generated/System.Timers.model.yml b/csharp/ql/lib/ext/generated/System.Timers.model.yml index 62549393c47c..7a3f9cb077eb 100644 --- a/csharp/ql/lib/ext/generated/System.Timers.model.yml +++ b/csharp/ql/lib/ext/generated/System.Timers.model.yml @@ -20,4 +20,6 @@ extensions: - ["System.Timers", "Timer", "Stop", "()", "summary", "df-generated"] - ["System.Timers", "Timer", "Timer", "(System.Double)", "summary", "df-generated"] - ["System.Timers", "Timer", "Timer", "(System.TimeSpan)", "summary", "df-generated"] + - ["System.Timers", "Timer", "add_Elapsed", "(System.Timers.ElapsedEventHandler)", "summary", "df-generated"] + - ["System.Timers", "Timer", "remove_Elapsed", "(System.Timers.ElapsedEventHandler)", "summary", "df-generated"] - ["System.Timers", "TimersDescriptionAttribute", "TimersDescriptionAttribute", "(System.String)", "summary", "df-generated"] diff --git a/csharp/ql/lib/ext/generated/System.Transactions.model.yml b/csharp/ql/lib/ext/generated/System.Transactions.model.yml index 144e86521fd6..192f7630ae18 100644 --- a/csharp/ql/lib/ext/generated/System.Transactions.model.yml +++ b/csharp/ql/lib/ext/generated/System.Transactions.model.yml @@ -4,6 +4,9 @@ extensions: pack: codeql/csharp-all extensible: summaryModel data: + - ["System.Transactions", "CommittableTransaction", False, "BeginCommit", "(System.AsyncCallback,System.Object)", "", "Argument[1]", "ReturnValue.SyntheticField[System.Transactions.Transaction._internalTransaction].SyntheticField[System.Transactions.InternalTransaction._asyncState]", "value", "dfc-generated"] + - ["System.Transactions", "CommittableTransaction", False, "BeginCommit", "(System.AsyncCallback,System.Object)", "", "Argument[this]", "ReturnValue", "value", "dfc-generated"] + - ["System.Transactions", "CommittableTransaction", False, "get_AsyncState", "()", "", "Argument[this].SyntheticField[System.Transactions.Transaction._internalTransaction].SyntheticField[System.Transactions.InternalTransaction._asyncState]", "ReturnValue", "value", "dfc-generated"] - ["System.Transactions", "Transaction", False, "Clone", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["System.Transactions", "Transaction", False, "EnlistDurable", "(System.Guid,System.Transactions.ISinglePhaseNotification,System.Transactions.EnlistmentOptions)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["System.Transactions", "Transaction", False, "EnlistPromotableSinglePhase", "(System.Transactions.IPromotableSinglePhaseNotification)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] @@ -71,9 +74,11 @@ extensions: - ["System.Transactions", "Transaction", "GetHashCode", "()", "summary", "df-generated"] - ["System.Transactions", "Transaction", "GetPromotedToken", "()", "summary", "df-generated"] - ["System.Transactions", "Transaction", "Rollback", "()", "summary", "df-generated"] + - ["System.Transactions", "Transaction", "add_TransactionCompleted", "(System.Transactions.TransactionCompletedEventHandler)", "summary", "df-generated"] - ["System.Transactions", "Transaction", "get_IsolationLevel", "()", "summary", "df-generated"] - ["System.Transactions", "Transaction", "op_Equality", "(System.Transactions.Transaction,System.Transactions.Transaction)", "summary", "df-generated"] - ["System.Transactions", "Transaction", "op_Inequality", "(System.Transactions.Transaction,System.Transactions.Transaction)", "summary", "df-generated"] + - ["System.Transactions", "Transaction", "remove_TransactionCompleted", "(System.Transactions.TransactionCompletedEventHandler)", "summary", "df-generated"] - ["System.Transactions", "TransactionAbortedException", "TransactionAbortedException", "(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)", "summary", "df-generated"] - ["System.Transactions", "TransactionAbortedException", "TransactionAbortedException", "(System.String)", "summary", "df-generated"] - ["System.Transactions", "TransactionAbortedException", "TransactionAbortedException", "(System.String,System.Exception)", "summary", "df-generated"] @@ -95,6 +100,8 @@ extensions: - ["System.Transactions", "TransactionInterop", "GetWhereabouts", "()", "summary", "df-generated"] - ["System.Transactions", "TransactionManager", "RecoveryComplete", "(System.Guid)", "summary", "df-generated"] - ["System.Transactions", "TransactionManager", "Reenlist", "(System.Guid,System.Byte[],System.Transactions.IEnlistmentNotification)", "summary", "df-generated"] + - ["System.Transactions", "TransactionManager", "add_DistributedTransactionStarted", "(System.Transactions.TransactionStartedEventHandler)", "summary", "df-generated"] + - ["System.Transactions", "TransactionManager", "remove_DistributedTransactionStarted", "(System.Transactions.TransactionStartedEventHandler)", "summary", "df-generated"] - ["System.Transactions", "TransactionManagerCommunicationException", "TransactionManagerCommunicationException", "(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)", "summary", "df-generated"] - ["System.Transactions", "TransactionManagerCommunicationException", "TransactionManagerCommunicationException", "(System.String)", "summary", "df-generated"] - ["System.Transactions", "TransactionManagerCommunicationException", "TransactionManagerCommunicationException", "(System.String,System.Exception)", "summary", "df-generated"] diff --git a/csharp/ql/lib/ext/generated/System.Windows.Input.model.yml b/csharp/ql/lib/ext/generated/System.Windows.Input.model.yml index aab3b663318d..3637985078aa 100644 --- a/csharp/ql/lib/ext/generated/System.Windows.Input.model.yml +++ b/csharp/ql/lib/ext/generated/System.Windows.Input.model.yml @@ -6,3 +6,5 @@ extensions: data: - ["System.Windows.Input", "ICommand", "CanExecute", "(System.Object)", "summary", "df-generated"] - ["System.Windows.Input", "ICommand", "Execute", "(System.Object)", "summary", "df-generated"] + - ["System.Windows.Input", "ICommand", "add_CanExecuteChanged", "(System.EventHandler)", "summary", "df-generated"] + - ["System.Windows.Input", "ICommand", "remove_CanExecuteChanged", "(System.EventHandler)", "summary", "df-generated"] diff --git a/csharp/ql/lib/ext/generated/System.Xml.Linq.model.yml b/csharp/ql/lib/ext/generated/System.Xml.Linq.model.yml index 3b42cbae9b2e..df262abbd716 100644 --- a/csharp/ql/lib/ext/generated/System.Xml.Linq.model.yml +++ b/csharp/ql/lib/ext/generated/System.Xml.Linq.model.yml @@ -243,18 +243,19 @@ extensions: - ["System.Xml.Linq", "XNode", "get_DocumentOrderComparer", "()", "summary", "df-generated"] - ["System.Xml.Linq", "XNode", "get_EqualityComparer", "()", "summary", "df-generated"] - ["System.Xml.Linq", "XNode", "get_PreviousNode", "()", "summary", "df-generated"] - - ["System.Xml.Linq", "XNodeDocumentOrderComparer", "Compare", "(System.Object,System.Object)", "summary", "df-generated"] - ["System.Xml.Linq", "XNodeDocumentOrderComparer", "Compare", "(System.Xml.Linq.XNode,System.Xml.Linq.XNode)", "summary", "df-generated"] - - ["System.Xml.Linq", "XNodeEqualityComparer", "Equals", "(System.Object,System.Object)", "summary", "df-generated"] - ["System.Xml.Linq", "XNodeEqualityComparer", "Equals", "(System.Xml.Linq.XNode,System.Xml.Linq.XNode)", "summary", "df-generated"] - - ["System.Xml.Linq", "XNodeEqualityComparer", "GetHashCode", "(System.Object)", "summary", "df-generated"] - ["System.Xml.Linq", "XNodeEqualityComparer", "GetHashCode", "(System.Xml.Linq.XNode)", "summary", "df-generated"] - ["System.Xml.Linq", "XObject", "HasLineInfo", "()", "summary", "df-generated"] - ["System.Xml.Linq", "XObject", "RemoveAnnotations", "(System.Type)", "summary", "df-generated"] - ["System.Xml.Linq", "XObject", "RemoveAnnotations", "()", "summary", "df-generated"] + - ["System.Xml.Linq", "XObject", "add_Changed", "(System.EventHandler)", "summary", "df-generated"] + - ["System.Xml.Linq", "XObject", "add_Changing", "(System.EventHandler)", "summary", "df-generated"] - ["System.Xml.Linq", "XObject", "get_LineNumber", "()", "summary", "df-generated"] - ["System.Xml.Linq", "XObject", "get_LinePosition", "()", "summary", "df-generated"] - ["System.Xml.Linq", "XObject", "get_NodeType", "()", "summary", "df-generated"] + - ["System.Xml.Linq", "XObject", "remove_Changed", "(System.EventHandler)", "summary", "df-generated"] + - ["System.Xml.Linq", "XObject", "remove_Changing", "(System.EventHandler)", "summary", "df-generated"] - ["System.Xml.Linq", "XObjectChangeEventArgs", "XObjectChangeEventArgs", "(System.Xml.Linq.XObjectChange)", "summary", "df-generated"] - ["System.Xml.Linq", "XObjectChangeEventArgs", "get_ObjectChange", "()", "summary", "df-generated"] - ["System.Xml.Linq", "XProcessingInstruction", "get_NodeType", "()", "summary", "df-generated"] diff --git a/csharp/ql/lib/ext/generated/System.Xml.Schema.model.yml b/csharp/ql/lib/ext/generated/System.Xml.Schema.model.yml index 186dfd41ba05..270fa553dacb 100644 --- a/csharp/ql/lib/ext/generated/System.Xml.Schema.model.yml +++ b/csharp/ql/lib/ext/generated/System.Xml.Schema.model.yml @@ -38,9 +38,11 @@ extensions: - ["System.Xml.Schema", "XmlSchemaComplexType", False, "get_ContentTypeParticle", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["System.Xml.Schema", "XmlSchemaDatatype", True, "ChangeType", "(System.Object,System.Type)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["System.Xml.Schema", "XmlSchemaDatatype", True, "ChangeType", "(System.Object,System.Type)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["System.Xml.Schema", "XmlSchemaDatatype", True, "ChangeType", "(System.Object,System.Type,System.Xml.IXmlNamespaceResolver)", "", "Argument[0]", "Argument[2]", "taint", "df-generated"] - ["System.Xml.Schema", "XmlSchemaDatatype", True, "ChangeType", "(System.Object,System.Type,System.Xml.IXmlNamespaceResolver)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["System.Xml.Schema", "XmlSchemaDatatype", True, "ChangeType", "(System.Object,System.Type,System.Xml.IXmlNamespaceResolver)", "", "Argument[2]", "ReturnValue", "taint", "df-generated"] - ["System.Xml.Schema", "XmlSchemaDatatype", True, "ChangeType", "(System.Object,System.Type,System.Xml.IXmlNamespaceResolver)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["System.Xml.Schema", "XmlSchemaDatatype", True, "ParseValue", "(System.String,System.Xml.XmlNameTable,System.Xml.IXmlNamespaceResolver)", "", "Argument[0]", "Argument[2]", "taint", "df-generated"] - ["System.Xml.Schema", "XmlSchemaDatatype", True, "ParseValue", "(System.String,System.Xml.XmlNameTable,System.Xml.IXmlNamespaceResolver)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["System.Xml.Schema", "XmlSchemaDatatype", True, "ParseValue", "(System.String,System.Xml.XmlNameTable,System.Xml.IXmlNamespaceResolver)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["System.Xml.Schema", "XmlSchemaElement", False, "get_ElementSchemaType", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] @@ -124,6 +126,12 @@ extensions: pack: codeql/csharp-all extensible: neutralModel data: + - ["System.Xml.Schema", "Extensions", "Validate", "(System.Xml.Linq.XAttribute,System.Xml.Schema.XmlSchemaObject,System.Xml.Schema.XmlSchemaSet,System.Xml.Schema.ValidationEventHandler)", "summary", "df-generated"] + - ["System.Xml.Schema", "Extensions", "Validate", "(System.Xml.Linq.XAttribute,System.Xml.Schema.XmlSchemaObject,System.Xml.Schema.XmlSchemaSet,System.Xml.Schema.ValidationEventHandler,System.Boolean)", "summary", "df-generated"] + - ["System.Xml.Schema", "Extensions", "Validate", "(System.Xml.Linq.XDocument,System.Xml.Schema.XmlSchemaSet,System.Xml.Schema.ValidationEventHandler)", "summary", "df-generated"] + - ["System.Xml.Schema", "Extensions", "Validate", "(System.Xml.Linq.XDocument,System.Xml.Schema.XmlSchemaSet,System.Xml.Schema.ValidationEventHandler,System.Boolean)", "summary", "df-generated"] + - ["System.Xml.Schema", "Extensions", "Validate", "(System.Xml.Linq.XElement,System.Xml.Schema.XmlSchemaObject,System.Xml.Schema.XmlSchemaSet,System.Xml.Schema.ValidationEventHandler)", "summary", "df-generated"] + - ["System.Xml.Schema", "Extensions", "Validate", "(System.Xml.Linq.XElement,System.Xml.Schema.XmlSchemaObject,System.Xml.Schema.XmlSchemaSet,System.Xml.Schema.ValidationEventHandler,System.Boolean)", "summary", "df-generated"] - ["System.Xml.Schema", "IXmlSchemaInfo", "get_IsDefault", "()", "summary", "df-generated"] - ["System.Xml.Schema", "IXmlSchemaInfo", "get_IsNil", "()", "summary", "df-generated"] - ["System.Xml.Schema", "IXmlSchemaInfo", "get_Validity", "()", "summary", "df-generated"] @@ -135,6 +143,11 @@ extensions: - ["System.Xml.Schema", "XmlAtomicValue", "get_ValueAsInt", "()", "summary", "df-generated"] - ["System.Xml.Schema", "XmlAtomicValue", "get_ValueAsLong", "()", "summary", "df-generated"] - ["System.Xml.Schema", "XmlAtomicValue", "get_ValueType", "()", "summary", "df-generated"] + - ["System.Xml.Schema", "XmlSchema", "Compile", "(System.Xml.Schema.ValidationEventHandler)", "summary", "df-generated"] + - ["System.Xml.Schema", "XmlSchema", "Compile", "(System.Xml.Schema.ValidationEventHandler,System.Xml.XmlResolver)", "summary", "df-generated"] + - ["System.Xml.Schema", "XmlSchema", "Read", "(System.IO.Stream,System.Xml.Schema.ValidationEventHandler)", "summary", "df-generated"] + - ["System.Xml.Schema", "XmlSchema", "Read", "(System.IO.TextReader,System.Xml.Schema.ValidationEventHandler)", "summary", "df-generated"] + - ["System.Xml.Schema", "XmlSchema", "Read", "(System.Xml.XmlReader,System.Xml.Schema.ValidationEventHandler)", "summary", "df-generated"] - ["System.Xml.Schema", "XmlSchema", "Write", "(System.IO.Stream)", "summary", "df-generated"] - ["System.Xml.Schema", "XmlSchema", "Write", "(System.IO.Stream,System.Xml.XmlNamespaceManager)", "summary", "df-generated"] - ["System.Xml.Schema", "XmlSchema", "Write", "(System.IO.TextWriter)", "summary", "df-generated"] @@ -149,8 +162,10 @@ extensions: - ["System.Xml.Schema", "XmlSchemaCollection", "Add", "(System.String,System.String)", "summary", "df-generated"] - ["System.Xml.Schema", "XmlSchemaCollection", "Contains", "(System.String)", "summary", "df-generated"] - ["System.Xml.Schema", "XmlSchemaCollection", "Contains", "(System.Xml.Schema.XmlSchema)", "summary", "df-generated"] + - ["System.Xml.Schema", "XmlSchemaCollection", "add_ValidationEventHandler", "(System.Xml.Schema.ValidationEventHandler)", "summary", "df-generated"] - ["System.Xml.Schema", "XmlSchemaCollection", "get_Count", "()", "summary", "df-generated"] - ["System.Xml.Schema", "XmlSchemaCollection", "get_IsSynchronized", "()", "summary", "df-generated"] + - ["System.Xml.Schema", "XmlSchemaCollection", "remove_ValidationEventHandler", "(System.Xml.Schema.ValidationEventHandler)", "summary", "df-generated"] - ["System.Xml.Schema", "XmlSchemaCollectionEnumerator", "MoveNext", "()", "summary", "df-generated"] - ["System.Xml.Schema", "XmlSchemaCollectionEnumerator", "Reset", "()", "summary", "df-generated"] - ["System.Xml.Schema", "XmlSchemaCollectionEnumerator", "get_Current", "()", "summary", "df-generated"] @@ -192,11 +207,13 @@ extensions: - ["System.Xml.Schema", "XmlSchemaSet", "Contains", "(System.Xml.Schema.XmlSchema)", "summary", "df-generated"] - ["System.Xml.Schema", "XmlSchemaSet", "RemoveRecursive", "(System.Xml.Schema.XmlSchema)", "summary", "df-generated"] - ["System.Xml.Schema", "XmlSchemaSet", "Schemas", "(System.String)", "summary", "df-generated"] + - ["System.Xml.Schema", "XmlSchemaSet", "add_ValidationEventHandler", "(System.Xml.Schema.ValidationEventHandler)", "summary", "df-generated"] - ["System.Xml.Schema", "XmlSchemaSet", "get_Count", "()", "summary", "df-generated"] - ["System.Xml.Schema", "XmlSchemaSet", "get_GlobalAttributes", "()", "summary", "df-generated"] - ["System.Xml.Schema", "XmlSchemaSet", "get_GlobalElements", "()", "summary", "df-generated"] - ["System.Xml.Schema", "XmlSchemaSet", "get_GlobalTypes", "()", "summary", "df-generated"] - ["System.Xml.Schema", "XmlSchemaSet", "get_IsCompiled", "()", "summary", "df-generated"] + - ["System.Xml.Schema", "XmlSchemaSet", "remove_ValidationEventHandler", "(System.Xml.Schema.ValidationEventHandler)", "summary", "df-generated"] - ["System.Xml.Schema", "XmlSchemaType", "GetBuiltInComplexType", "(System.Xml.Schema.XmlTypeCode)", "summary", "df-generated"] - ["System.Xml.Schema", "XmlSchemaType", "GetBuiltInComplexType", "(System.Xml.XmlQualifiedName)", "summary", "df-generated"] - ["System.Xml.Schema", "XmlSchemaType", "GetBuiltInSimpleType", "(System.Xml.Schema.XmlTypeCode)", "summary", "df-generated"] @@ -212,6 +229,11 @@ extensions: - ["System.Xml.Schema", "XmlSchemaValidator", "EndValidation", "()", "summary", "df-generated"] - ["System.Xml.Schema", "XmlSchemaValidator", "GetUnspecifiedDefaultAttributes", "(System.Collections.ArrayList)", "summary", "df-generated"] - ["System.Xml.Schema", "XmlSchemaValidator", "Initialize", "()", "summary", "df-generated"] + - ["System.Xml.Schema", "XmlSchemaValidator", "ValidateAttribute", "(System.String,System.String,System.Xml.Schema.XmlValueGetter,System.Xml.Schema.XmlSchemaInfo)", "summary", "df-generated"] - ["System.Xml.Schema", "XmlSchemaValidator", "ValidateEndOfAttributes", "(System.Xml.Schema.XmlSchemaInfo)", "summary", "df-generated"] - ["System.Xml.Schema", "XmlSchemaValidator", "ValidateText", "(System.String)", "summary", "df-generated"] + - ["System.Xml.Schema", "XmlSchemaValidator", "ValidateText", "(System.Xml.Schema.XmlValueGetter)", "summary", "df-generated"] - ["System.Xml.Schema", "XmlSchemaValidator", "ValidateWhitespace", "(System.String)", "summary", "df-generated"] + - ["System.Xml.Schema", "XmlSchemaValidator", "ValidateWhitespace", "(System.Xml.Schema.XmlValueGetter)", "summary", "df-generated"] + - ["System.Xml.Schema", "XmlSchemaValidator", "add_ValidationEventHandler", "(System.Xml.Schema.ValidationEventHandler)", "summary", "df-generated"] + - ["System.Xml.Schema", "XmlSchemaValidator", "remove_ValidationEventHandler", "(System.Xml.Schema.ValidationEventHandler)", "summary", "df-generated"] diff --git a/csharp/ql/lib/ext/generated/System.Xml.Serialization.model.yml b/csharp/ql/lib/ext/generated/System.Xml.Serialization.model.yml index f6d1eb309f5a..58e5596f6d26 100644 --- a/csharp/ql/lib/ext/generated/System.Xml.Serialization.model.yml +++ b/csharp/ql/lib/ext/generated/System.Xml.Serialization.model.yml @@ -94,11 +94,16 @@ extensions: - ["System.Xml.Serialization", "XmlSchemaProviderAttribute", False, "XmlSchemaProviderAttribute", "(System.String)", "", "Argument[0]", "Argument[this].SyntheticField[System.Xml.Serialization.XmlSchemaProviderAttribute._methodName]", "value", "dfc-generated"] - ["System.Xml.Serialization", "XmlSchemaProviderAttribute", False, "get_MethodName", "()", "", "Argument[this].SyntheticField[System.Xml.Serialization.XmlSchemaProviderAttribute._methodName]", "ReturnValue", "value", "dfc-generated"] - ["System.Xml.Serialization", "XmlSchemas", False, "Add", "(System.Xml.Schema.XmlSchema,System.Uri)", "", "Argument[0]", "Argument[this].Property[System.Collections.CollectionBase.List].Element", "value", "dfc-generated"] - - ["System.Xml.Serialization", "XmlSerializationReader+CollectionFixup", False, "get_Callback", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["System.Xml.Serialization", "XmlSerializationReader+CollectionFixup", False, "get_Collection", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["System.Xml.Serialization", "XmlSerializationReader+CollectionFixup", False, "get_CollectionItems", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["System.Xml.Serialization", "XmlSerializationReader+Fixup", False, "get_Callback", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["System.Xml.Serialization", "XmlSerializationReader+Fixup", False, "get_Ids", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["System.Xml.Serialization", "XmlSerializationReader+CollectionFixup", False, "CollectionFixup", "(System.Object,System.Xml.Serialization.XmlSerializationCollectionFixupCallback,System.Object)", "", "Argument[0]", "Argument[this].SyntheticField[System.Xml.Serialization.XmlSerializationReader+CollectionFixup._collection]", "value", "dfc-generated"] + - ["System.Xml.Serialization", "XmlSerializationReader+CollectionFixup", False, "CollectionFixup", "(System.Object,System.Xml.Serialization.XmlSerializationCollectionFixupCallback,System.Object)", "", "Argument[1]", "Argument[this].SyntheticField[System.Xml.Serialization.XmlSerializationReader+CollectionFixup._callback]", "value", "dfc-generated"] + - ["System.Xml.Serialization", "XmlSerializationReader+CollectionFixup", False, "CollectionFixup", "(System.Object,System.Xml.Serialization.XmlSerializationCollectionFixupCallback,System.Object)", "", "Argument[2]", "Argument[this].SyntheticField[System.Xml.Serialization.XmlSerializationReader+CollectionFixup._collectionItems]", "value", "dfc-generated"] + - ["System.Xml.Serialization", "XmlSerializationReader+CollectionFixup", False, "get_Callback", "()", "", "Argument[this].SyntheticField[System.Xml.Serialization.XmlSerializationReader+CollectionFixup._callback]", "ReturnValue", "value", "dfc-generated"] + - ["System.Xml.Serialization", "XmlSerializationReader+CollectionFixup", False, "get_Collection", "()", "", "Argument[this].SyntheticField[System.Xml.Serialization.XmlSerializationReader+CollectionFixup._collection]", "ReturnValue", "value", "dfc-generated"] + - ["System.Xml.Serialization", "XmlSerializationReader+CollectionFixup", False, "get_CollectionItems", "()", "", "Argument[this].SyntheticField[System.Xml.Serialization.XmlSerializationReader+CollectionFixup._collectionItems]", "ReturnValue", "value", "dfc-generated"] + - ["System.Xml.Serialization", "XmlSerializationReader+Fixup", False, "Fixup", "(System.Object,System.Xml.Serialization.XmlSerializationFixupCallback,System.String[])", "", "Argument[1]", "Argument[this].SyntheticField[System.Xml.Serialization.XmlSerializationReader+Fixup._callback]", "value", "dfc-generated"] + - ["System.Xml.Serialization", "XmlSerializationReader+Fixup", False, "Fixup", "(System.Object,System.Xml.Serialization.XmlSerializationFixupCallback,System.String[])", "", "Argument[2]", "Argument[this].SyntheticField[System.Xml.Serialization.XmlSerializationReader+Fixup._ids]", "value", "dfc-generated"] + - ["System.Xml.Serialization", "XmlSerializationReader+Fixup", False, "get_Callback", "()", "", "Argument[this].SyntheticField[System.Xml.Serialization.XmlSerializationReader+Fixup._callback]", "ReturnValue", "value", "dfc-generated"] + - ["System.Xml.Serialization", "XmlSerializationReader+Fixup", False, "get_Ids", "()", "", "Argument[this].SyntheticField[System.Xml.Serialization.XmlSerializationReader+Fixup._ids]", "ReturnValue", "value", "dfc-generated"] - ["System.Xml.Serialization", "XmlSerializationReader", False, "AddFixup", "(System.Xml.Serialization.XmlSerializationReader+CollectionFixup)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - ["System.Xml.Serialization", "XmlSerializationReader", False, "AddFixup", "(System.Xml.Serialization.XmlSerializationReader+Fixup)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - ["System.Xml.Serialization", "XmlSerializationReader", False, "AddTarget", "(System.String,System.Object)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] @@ -362,6 +367,7 @@ extensions: - ["System.Xml.Serialization", "XmlSchemaImporter", "XmlSchemaImporter", "(System.Xml.Serialization.XmlSchemas)", "summary", "df-generated"] - ["System.Xml.Serialization", "XmlSchemaImporter", "XmlSchemaImporter", "(System.Xml.Serialization.XmlSchemas,System.Xml.Serialization.CodeIdentifiers)", "summary", "df-generated"] - ["System.Xml.Serialization", "XmlSchemas", "AddReference", "(System.Xml.Schema.XmlSchema)", "summary", "df-generated"] + - ["System.Xml.Serialization", "XmlSchemas", "Compile", "(System.Xml.Schema.ValidationEventHandler,System.Boolean)", "summary", "df-generated"] - ["System.Xml.Serialization", "XmlSchemas", "Contains", "(System.String)", "summary", "df-generated"] - ["System.Xml.Serialization", "XmlSchemas", "Contains", "(System.Xml.Schema.XmlSchema)", "summary", "df-generated"] - ["System.Xml.Serialization", "XmlSchemas", "GetSchemas", "(System.String)", "summary", "df-generated"] @@ -371,6 +377,8 @@ extensions: - ["System.Xml.Serialization", "XmlSchemas", "OnRemove", "(System.Int32,System.Object)", "summary", "df-generated"] - ["System.Xml.Serialization", "XmlSchemas", "Remove", "(System.Xml.Schema.XmlSchema)", "summary", "df-generated"] - ["System.Xml.Serialization", "XmlSchemas", "get_IsCompiled", "()", "summary", "df-generated"] + - ["System.Xml.Serialization", "XmlSerializationReader+Fixup", "Fixup", "(System.Object,System.Xml.Serialization.XmlSerializationFixupCallback,System.Int32)", "summary", "df-generated"] + - ["System.Xml.Serialization", "XmlSerializationReader", "AddReadCallback", "(System.String,System.String,System.Type,System.Xml.Serialization.XmlSerializationReadCallback)", "summary", "df-generated"] - ["System.Xml.Serialization", "XmlSerializationReader", "CheckReaderCount", "(System.Int32,System.Int32)", "summary", "df-generated"] - ["System.Xml.Serialization", "XmlSerializationReader", "CreateAbstractTypeException", "(System.String,System.String)", "summary", "df-generated"] - ["System.Xml.Serialization", "XmlSerializationReader", "CreateBadDerivationException", "(System.String,System.String,System.String,System.String,System.String,System.String)", "summary", "df-generated"] @@ -418,6 +426,7 @@ extensions: - ["System.Xml.Serialization", "XmlSerializationReader", "UnknownNode", "(System.Object,System.String)", "summary", "df-generated"] - ["System.Xml.Serialization", "XmlSerializationReader", "UnreferencedObject", "(System.String,System.Object)", "summary", "df-generated"] - ["System.Xml.Serialization", "XmlSerializationReader", "get_ReaderCount", "()", "summary", "df-generated"] + - ["System.Xml.Serialization", "XmlSerializationWriter", "AddWriteCallback", "(System.Type,System.String,System.String,System.Xml.Serialization.XmlSerializationWriteCallback)", "summary", "df-generated"] - ["System.Xml.Serialization", "XmlSerializationWriter", "CreateChoiceIdentifierValueException", "(System.String,System.String,System.String,System.String)", "summary", "df-generated"] - ["System.Xml.Serialization", "XmlSerializationWriter", "CreateInvalidAnyTypeException", "(System.Object)", "summary", "df-generated"] - ["System.Xml.Serialization", "XmlSerializationWriter", "CreateInvalidAnyTypeException", "(System.Type)", "summary", "df-generated"] @@ -461,6 +470,14 @@ extensions: - ["System.Xml.Serialization", "XmlSerializer", "XmlSerializer", "(System.Type,System.Xml.Serialization.XmlAttributeOverrides)", "summary", "df-generated"] - ["System.Xml.Serialization", "XmlSerializer", "XmlSerializer", "(System.Type,System.Xml.Serialization.XmlAttributeOverrides,System.Type[],System.Xml.Serialization.XmlRootAttribute,System.String)", "summary", "df-generated"] - ["System.Xml.Serialization", "XmlSerializer", "XmlSerializer", "(System.Type,System.Xml.Serialization.XmlRootAttribute)", "summary", "df-generated"] + - ["System.Xml.Serialization", "XmlSerializer", "add_UnknownAttribute", "(System.Xml.Serialization.XmlAttributeEventHandler)", "summary", "df-generated"] + - ["System.Xml.Serialization", "XmlSerializer", "add_UnknownElement", "(System.Xml.Serialization.XmlElementEventHandler)", "summary", "df-generated"] + - ["System.Xml.Serialization", "XmlSerializer", "add_UnknownNode", "(System.Xml.Serialization.XmlNodeEventHandler)", "summary", "df-generated"] + - ["System.Xml.Serialization", "XmlSerializer", "add_UnreferencedObject", "(System.Xml.Serialization.UnreferencedObjectEventHandler)", "summary", "df-generated"] + - ["System.Xml.Serialization", "XmlSerializer", "remove_UnknownAttribute", "(System.Xml.Serialization.XmlAttributeEventHandler)", "summary", "df-generated"] + - ["System.Xml.Serialization", "XmlSerializer", "remove_UnknownElement", "(System.Xml.Serialization.XmlElementEventHandler)", "summary", "df-generated"] + - ["System.Xml.Serialization", "XmlSerializer", "remove_UnknownNode", "(System.Xml.Serialization.XmlNodeEventHandler)", "summary", "df-generated"] + - ["System.Xml.Serialization", "XmlSerializer", "remove_UnreferencedObject", "(System.Xml.Serialization.UnreferencedObjectEventHandler)", "summary", "df-generated"] - ["System.Xml.Serialization", "XmlSerializerAssemblyAttribute", "XmlSerializerAssemblyAttribute", "(System.String)", "summary", "df-generated"] - ["System.Xml.Serialization", "XmlSerializerFactory", "CreateSerializer", "(System.Type)", "summary", "df-generated"] - ["System.Xml.Serialization", "XmlSerializerFactory", "CreateSerializer", "(System.Type,System.Type[])", "summary", "df-generated"] diff --git a/csharp/ql/lib/ext/generated/System.Xml.XPath.model.yml b/csharp/ql/lib/ext/generated/System.Xml.XPath.model.yml index 0d74f794c995..f27d94e88a64 100644 --- a/csharp/ql/lib/ext/generated/System.Xml.XPath.model.yml +++ b/csharp/ql/lib/ext/generated/System.Xml.XPath.model.yml @@ -19,6 +19,7 @@ extensions: - ["System.Xml.XPath", "XPathExpression", True, "get_Expression", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["System.Xml.XPath", "XPathItem", True, "ValueAs", "(System.Type)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["System.Xml.XPath", "XPathItem", True, "ValueAs", "(System.Type,System.Xml.IXmlNamespaceResolver)", "", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["System.Xml.XPath", "XPathItem", True, "ValueAs", "(System.Type,System.Xml.IXmlNamespaceResolver)", "", "Argument[this]", "Argument[1]", "taint", "df-generated"] - ["System.Xml.XPath", "XPathItem", True, "ValueAs", "(System.Type,System.Xml.IXmlNamespaceResolver)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["System.Xml.XPath", "XPathItem", True, "ValueAs", "(System.Type,System.Xml.IXmlNamespaceResolver)", "", "Argument[this]", "ReturnValue", "value", "df-generated"] - ["System.Xml.XPath", "XPathItem", True, "get_TypedValue", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] @@ -92,6 +93,7 @@ extensions: - ["System.Xml.XPath", "XPathNavigator", "AppendChild", "(System.Xml.XPath.XPathNavigator)", "summary", "df-generated"] - ["System.Xml.XPath", "XPathNavigator", "AppendChild", "(System.Xml.XmlReader)", "summary", "df-generated"] - ["System.Xml.XPath", "XPathNavigator", "AppendChildElement", "(System.String,System.String,System.String,System.String)", "summary", "df-generated"] + - ["System.Xml.XPath", "XPathNavigator", "CheckValidity", "(System.Xml.Schema.XmlSchemaSet,System.Xml.Schema.ValidationEventHandler)", "summary", "df-generated"] - ["System.Xml.XPath", "XPathNavigator", "ComparePosition", "(System.Xml.XPath.XPathNavigator)", "summary", "df-generated"] - ["System.Xml.XPath", "XPathNavigator", "CreateAttribute", "(System.String,System.String,System.String,System.String)", "summary", "df-generated"] - ["System.Xml.XPath", "XPathNavigator", "DeleteRange", "(System.Xml.XPath.XPathNavigator)", "summary", "df-generated"] diff --git a/csharp/ql/lib/ext/generated/System.Xml.Xsl.model.yml b/csharp/ql/lib/ext/generated/System.Xml.Xsl.model.yml index c727d29eac2a..936e6a3579f2 100644 --- a/csharp/ql/lib/ext/generated/System.Xml.Xsl.model.yml +++ b/csharp/ql/lib/ext/generated/System.Xml.Xsl.model.yml @@ -89,6 +89,8 @@ extensions: - ["System.Xml.Xsl", "XsltArgumentList", "AddExtensionObject", "(System.String,System.Object)", "summary", "df-generated"] - ["System.Xml.Xsl", "XsltArgumentList", "AddParam", "(System.String,System.String,System.Object)", "summary", "df-generated"] - ["System.Xml.Xsl", "XsltArgumentList", "Clear", "()", "summary", "df-generated"] + - ["System.Xml.Xsl", "XsltArgumentList", "add_XsltMessageEncountered", "(System.Xml.Xsl.XsltMessageEncounteredEventHandler)", "summary", "df-generated"] + - ["System.Xml.Xsl", "XsltArgumentList", "remove_XsltMessageEncountered", "(System.Xml.Xsl.XsltMessageEncounteredEventHandler)", "summary", "df-generated"] - ["System.Xml.Xsl", "XsltCompileException", "XsltCompileException", "(System.Exception,System.String,System.Int32,System.Int32)", "summary", "df-generated"] - ["System.Xml.Xsl", "XsltCompileException", "XsltCompileException", "(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)", "summary", "df-generated"] - ["System.Xml.Xsl", "XsltCompileException", "XsltCompileException", "(System.String)", "summary", "df-generated"] diff --git a/csharp/ql/lib/ext/generated/System.Xml.model.yml b/csharp/ql/lib/ext/generated/System.Xml.model.yml index 0e885ed6c271..8e5cd33c7566 100644 --- a/csharp/ql/lib/ext/generated/System.Xml.model.yml +++ b/csharp/ql/lib/ext/generated/System.Xml.model.yml @@ -333,6 +333,7 @@ extensions: - ["System.Xml", "XmlReader", True, "LookupNamespace", "(System.String)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["System.Xml", "XmlReader", True, "MoveToAttribute", "(System.String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - ["System.Xml", "XmlReader", True, "ReadContentAs", "(System.Type,System.Xml.IXmlNamespaceResolver)", "", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["System.Xml", "XmlReader", True, "ReadContentAs", "(System.Type,System.Xml.IXmlNamespaceResolver)", "", "Argument[this]", "Argument[1]", "taint", "df-generated"] - ["System.Xml", "XmlReader", True, "ReadContentAs", "(System.Type,System.Xml.IXmlNamespaceResolver)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["System.Xml", "XmlReader", True, "ReadContentAsAsync", "(System.Type,System.Xml.IXmlNamespaceResolver)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] - ["System.Xml", "XmlReader", True, "ReadContentAsAsync", "(System.Type,System.Xml.IXmlNamespaceResolver)", "", "Argument[1]", "ReturnValue", "taint", "df-generated"] @@ -345,8 +346,10 @@ extensions: - ["System.Xml", "XmlReader", True, "ReadContentAsString", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["System.Xml", "XmlReader", True, "ReadContentAsStringAsync", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["System.Xml", "XmlReader", True, "ReadElementContentAs", "(System.Type,System.Xml.IXmlNamespaceResolver)", "", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["System.Xml", "XmlReader", True, "ReadElementContentAs", "(System.Type,System.Xml.IXmlNamespaceResolver)", "", "Argument[this]", "Argument[1]", "taint", "df-generated"] - ["System.Xml", "XmlReader", True, "ReadElementContentAs", "(System.Type,System.Xml.IXmlNamespaceResolver)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["System.Xml", "XmlReader", True, "ReadElementContentAs", "(System.Type,System.Xml.IXmlNamespaceResolver,System.String,System.String)", "", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["System.Xml", "XmlReader", True, "ReadElementContentAs", "(System.Type,System.Xml.IXmlNamespaceResolver,System.String,System.String)", "", "Argument[this]", "Argument[1]", "taint", "df-generated"] - ["System.Xml", "XmlReader", True, "ReadElementContentAs", "(System.Type,System.Xml.IXmlNamespaceResolver,System.String,System.String)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["System.Xml", "XmlReader", True, "ReadElementContentAsAsync", "(System.Type,System.Xml.IXmlNamespaceResolver)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] - ["System.Xml", "XmlReader", True, "ReadElementContentAsAsync", "(System.Type,System.Xml.IXmlNamespaceResolver)", "", "Argument[1]", "ReturnValue", "taint", "df-generated"] @@ -513,9 +516,13 @@ extensions: - ["System.Xml", "IFragmentCapableXmlDictionaryWriter", "get_CanFragment", "()", "summary", "df-generated"] - ["System.Xml", "IStreamProvider", "GetStream", "()", "summary", "df-generated"] - ["System.Xml", "IStreamProvider", "ReleaseStream", "(System.IO.Stream)", "summary", "df-generated"] + - ["System.Xml", "IXmlBinaryReaderInitializer", "SetInput", "(System.Byte[],System.Int32,System.Int32,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession,System.Xml.OnXmlDictionaryReaderClose)", "summary", "df-generated"] + - ["System.Xml", "IXmlBinaryReaderInitializer", "SetInput", "(System.IO.Stream,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession,System.Xml.OnXmlDictionaryReaderClose)", "summary", "df-generated"] - ["System.Xml", "IXmlLineInfo", "HasLineInfo", "()", "summary", "df-generated"] - ["System.Xml", "IXmlLineInfo", "get_LineNumber", "()", "summary", "df-generated"] - ["System.Xml", "IXmlLineInfo", "get_LinePosition", "()", "summary", "df-generated"] + - ["System.Xml", "IXmlTextReaderInitializer", "SetInput", "(System.Byte[],System.Int32,System.Int32,System.Text.Encoding,System.Xml.XmlDictionaryReaderQuotas,System.Xml.OnXmlDictionaryReaderClose)", "summary", "df-generated"] + - ["System.Xml", "IXmlTextReaderInitializer", "SetInput", "(System.IO.Stream,System.Text.Encoding,System.Xml.XmlDictionaryReaderQuotas,System.Xml.OnXmlDictionaryReaderClose)", "summary", "df-generated"] - ["System.Xml", "UniqueId", "Equals", "(System.Object)", "summary", "df-generated"] - ["System.Xml", "UniqueId", "GetHashCode", "()", "summary", "df-generated"] - ["System.Xml", "UniqueId", "ToCharArray", "(System.Char[],System.Int32)", "summary", "df-generated"] @@ -594,14 +601,20 @@ extensions: - ["System.Xml", "XmlDataDocument", "GetElementById", "(System.String)", "summary", "df-generated"] - ["System.Xml", "XmlDictionary", "XmlDictionary", "(System.Int32)", "summary", "df-generated"] - ["System.Xml", "XmlDictionary", "get_Empty", "()", "summary", "df-generated"] + - ["System.Xml", "XmlDictionaryReader", "CreateBinaryReader", "(System.Byte[],System.Int32,System.Int32,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession,System.Xml.OnXmlDictionaryReaderClose)", "summary", "df-generated"] + - ["System.Xml", "XmlDictionaryReader", "CreateBinaryReader", "(System.IO.Stream,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession,System.Xml.OnXmlDictionaryReaderClose)", "summary", "df-generated"] - ["System.Xml", "XmlDictionaryReader", "CreateMtomReader", "(System.Byte[],System.Int32,System.Int32,System.Text.Encoding,System.Xml.XmlDictionaryReaderQuotas)", "summary", "df-generated"] - ["System.Xml", "XmlDictionaryReader", "CreateMtomReader", "(System.Byte[],System.Int32,System.Int32,System.Text.Encoding[],System.String,System.Xml.XmlDictionaryReaderQuotas)", "summary", "df-generated"] + - ["System.Xml", "XmlDictionaryReader", "CreateMtomReader", "(System.Byte[],System.Int32,System.Int32,System.Text.Encoding[],System.String,System.Xml.XmlDictionaryReaderQuotas,System.Int32,System.Xml.OnXmlDictionaryReaderClose)", "summary", "df-generated"] - ["System.Xml", "XmlDictionaryReader", "CreateMtomReader", "(System.Byte[],System.Int32,System.Int32,System.Text.Encoding[],System.Xml.XmlDictionaryReaderQuotas)", "summary", "df-generated"] - ["System.Xml", "XmlDictionaryReader", "CreateMtomReader", "(System.IO.Stream,System.Text.Encoding,System.Xml.XmlDictionaryReaderQuotas)", "summary", "df-generated"] - ["System.Xml", "XmlDictionaryReader", "CreateMtomReader", "(System.IO.Stream,System.Text.Encoding[],System.String,System.Xml.XmlDictionaryReaderQuotas)", "summary", "df-generated"] + - ["System.Xml", "XmlDictionaryReader", "CreateMtomReader", "(System.IO.Stream,System.Text.Encoding[],System.String,System.Xml.XmlDictionaryReaderQuotas,System.Int32,System.Xml.OnXmlDictionaryReaderClose)", "summary", "df-generated"] - ["System.Xml", "XmlDictionaryReader", "CreateMtomReader", "(System.IO.Stream,System.Text.Encoding[],System.Xml.XmlDictionaryReaderQuotas)", "summary", "df-generated"] + - ["System.Xml", "XmlDictionaryReader", "CreateTextReader", "(System.Byte[],System.Int32,System.Int32,System.Text.Encoding,System.Xml.XmlDictionaryReaderQuotas,System.Xml.OnXmlDictionaryReaderClose)", "summary", "df-generated"] - ["System.Xml", "XmlDictionaryReader", "CreateTextReader", "(System.Byte[],System.Int32,System.Int32,System.Xml.XmlDictionaryReaderQuotas)", "summary", "df-generated"] - ["System.Xml", "XmlDictionaryReader", "CreateTextReader", "(System.Byte[],System.Xml.XmlDictionaryReaderQuotas)", "summary", "df-generated"] + - ["System.Xml", "XmlDictionaryReader", "CreateTextReader", "(System.IO.Stream,System.Text.Encoding,System.Xml.XmlDictionaryReaderQuotas,System.Xml.OnXmlDictionaryReaderClose)", "summary", "df-generated"] - ["System.Xml", "XmlDictionaryReader", "CreateTextReader", "(System.IO.Stream,System.Xml.XmlDictionaryReaderQuotas)", "summary", "df-generated"] - ["System.Xml", "XmlDictionaryReader", "EndCanonicalization", "()", "summary", "df-generated"] - ["System.Xml", "XmlDictionaryReader", "IndexOfLocalName", "(System.String[],System.String)", "summary", "df-generated"] @@ -720,7 +733,21 @@ extensions: - ["System.Xml", "XmlDocument", "Save", "(System.IO.Stream)", "summary", "df-generated"] - ["System.Xml", "XmlDocument", "Save", "(System.IO.TextWriter)", "summary", "df-generated"] - ["System.Xml", "XmlDocument", "Save", "(System.String)", "summary", "df-generated"] + - ["System.Xml", "XmlDocument", "Validate", "(System.Xml.Schema.ValidationEventHandler)", "summary", "df-generated"] + - ["System.Xml", "XmlDocument", "Validate", "(System.Xml.Schema.ValidationEventHandler,System.Xml.XmlNode)", "summary", "df-generated"] - ["System.Xml", "XmlDocument", "XmlDocument", "(System.Xml.XmlNameTable)", "summary", "df-generated"] + - ["System.Xml", "XmlDocument", "add_NodeChanged", "(System.Xml.XmlNodeChangedEventHandler)", "summary", "df-generated"] + - ["System.Xml", "XmlDocument", "add_NodeChanging", "(System.Xml.XmlNodeChangedEventHandler)", "summary", "df-generated"] + - ["System.Xml", "XmlDocument", "add_NodeInserted", "(System.Xml.XmlNodeChangedEventHandler)", "summary", "df-generated"] + - ["System.Xml", "XmlDocument", "add_NodeInserting", "(System.Xml.XmlNodeChangedEventHandler)", "summary", "df-generated"] + - ["System.Xml", "XmlDocument", "add_NodeRemoved", "(System.Xml.XmlNodeChangedEventHandler)", "summary", "df-generated"] + - ["System.Xml", "XmlDocument", "add_NodeRemoving", "(System.Xml.XmlNodeChangedEventHandler)", "summary", "df-generated"] + - ["System.Xml", "XmlDocument", "remove_NodeChanged", "(System.Xml.XmlNodeChangedEventHandler)", "summary", "df-generated"] + - ["System.Xml", "XmlDocument", "remove_NodeChanging", "(System.Xml.XmlNodeChangedEventHandler)", "summary", "df-generated"] + - ["System.Xml", "XmlDocument", "remove_NodeInserted", "(System.Xml.XmlNodeChangedEventHandler)", "summary", "df-generated"] + - ["System.Xml", "XmlDocument", "remove_NodeInserting", "(System.Xml.XmlNodeChangedEventHandler)", "summary", "df-generated"] + - ["System.Xml", "XmlDocument", "remove_NodeRemoved", "(System.Xml.XmlNodeChangedEventHandler)", "summary", "df-generated"] + - ["System.Xml", "XmlDocument", "remove_NodeRemoving", "(System.Xml.XmlNodeChangedEventHandler)", "summary", "df-generated"] - ["System.Xml", "XmlDocumentType", "get_Entities", "()", "summary", "df-generated"] - ["System.Xml", "XmlDocumentType", "get_Notations", "()", "summary", "df-generated"] - ["System.Xml", "XmlElement", "HasAttribute", "(System.String)", "summary", "df-generated"] @@ -860,6 +887,8 @@ extensions: - ["System.Xml", "XmlReader", "get_XmlSpace", "()", "summary", "df-generated"] - ["System.Xml", "XmlReaderSettings", "Clone", "()", "summary", "df-generated"] - ["System.Xml", "XmlReaderSettings", "Reset", "()", "summary", "df-generated"] + - ["System.Xml", "XmlReaderSettings", "add_ValidationEventHandler", "(System.Xml.Schema.ValidationEventHandler)", "summary", "df-generated"] + - ["System.Xml", "XmlReaderSettings", "remove_ValidationEventHandler", "(System.Xml.Schema.ValidationEventHandler)", "summary", "df-generated"] - ["System.Xml", "XmlResolver", "SupportsType", "(System.Uri,System.Type)", "summary", "df-generated"] - ["System.Xml", "XmlResolver", "get_FileSystemResolver", "()", "summary", "df-generated"] - ["System.Xml", "XmlResolver", "get_ThrowingResolver", "()", "summary", "df-generated"] @@ -927,6 +956,7 @@ extensions: - ["System.Xml", "XmlValidatingReader", "Read", "()", "summary", "df-generated"] - ["System.Xml", "XmlValidatingReader", "ReadAttributeValue", "()", "summary", "df-generated"] - ["System.Xml", "XmlValidatingReader", "ResolveEntity", "()", "summary", "df-generated"] + - ["System.Xml", "XmlValidatingReader", "add_ValidationEventHandler", "(System.Xml.Schema.ValidationEventHandler)", "summary", "df-generated"] - ["System.Xml", "XmlValidatingReader", "get_AttributeCount", "()", "summary", "df-generated"] - ["System.Xml", "XmlValidatingReader", "get_CanReadBinaryContent", "()", "summary", "df-generated"] - ["System.Xml", "XmlValidatingReader", "get_CanResolveEntity", "()", "summary", "df-generated"] @@ -941,6 +971,7 @@ extensions: - ["System.Xml", "XmlValidatingReader", "get_QuoteChar", "()", "summary", "df-generated"] - ["System.Xml", "XmlValidatingReader", "get_ReadState", "()", "summary", "df-generated"] - ["System.Xml", "XmlValidatingReader", "get_XmlSpace", "()", "summary", "df-generated"] + - ["System.Xml", "XmlValidatingReader", "remove_ValidationEventHandler", "(System.Xml.Schema.ValidationEventHandler)", "summary", "df-generated"] - ["System.Xml", "XmlValidatingReader", "set_XmlResolver", "(System.Xml.XmlResolver)", "summary", "df-generated"] - ["System.Xml", "XmlWhitespace", "XmlWhitespace", "(System.String,System.Xml.XmlDocument)", "summary", "df-generated"] - ["System.Xml", "XmlWriter", "Close", "()", "summary", "df-generated"] diff --git a/csharp/ql/lib/ext/generated/System.model.yml b/csharp/ql/lib/ext/generated/System.model.yml index c1e5e9d6bfe3..aeda575d1e30 100644 --- a/csharp/ql/lib/ext/generated/System.model.yml +++ b/csharp/ql/lib/ext/generated/System.model.yml @@ -4,8 +4,9 @@ extensions: pack: codeql/csharp-all extensible: summaryModel data: - - ["System", "AggregateException", False, "AggregateException", "(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["System", "AggregateException", False, "AggregateException", "(System.String,System.Exception)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] + - ["System", "AggregateException", False, "AggregateException", "(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)", "", "Argument[0].SyntheticField[System.Runtime.Serialization.SerializationInfo._values].Element", "Argument[this].SyntheticField[System.AggregateException._innerExceptions]", "value", "dfc-generated"] + - ["System", "AggregateException", False, "AggregateException", "(System.String,System.Exception)", "", "Argument[1]", "Argument[this].SyntheticField[System.AggregateException._innerExceptions].Element", "value", "dfc-generated"] + - ["System", "AggregateException", False, "Handle", "(System.Func)", "", "Argument[this].SyntheticField[System.AggregateException._innerExceptions].Element", "Argument[0].Parameter[0]", "value", "dfc-generated"] - ["System", "AggregateException", True, "get_Message", "()", "", "Argument[this].Property[System.Exception.Message]", "ReturnValue", "value", "dfc-generated"] - ["System", "AppDomain", False, "ApplyPolicy", "(System.String)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["System", "AppDomain", False, "ToString", "()", "", "Argument[this].Property[System.AppDomain.FriendlyName]", "ReturnValue", "taint", "dfc-generated"] @@ -21,9 +22,20 @@ extensions: - ["System", "ArgumentOutOfRangeException", False, "ArgumentOutOfRangeException", "(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)", "", "Argument[0].SyntheticField[System.Runtime.Serialization.SerializationInfo._values].Element", "Argument[this].SyntheticField[System.ArgumentOutOfRangeException._actualValue]", "value", "dfc-generated"] - ["System", "ArgumentOutOfRangeException", False, "ArgumentOutOfRangeException", "(System.String,System.Object,System.String)", "", "Argument[1]", "Argument[this].SyntheticField[System.ArgumentOutOfRangeException._actualValue]", "value", "dfc-generated"] - ["System", "ArgumentOutOfRangeException", True, "get_ActualValue", "()", "", "Argument[this].SyntheticField[System.ArgumentOutOfRangeException._actualValue]", "ReturnValue", "value", "dfc-generated"] + - ["System", "Array", False, "ConvertAll", "(TInput[],System.Converter)", "", "Argument[0].Element", "Argument[1].Parameter[0]", "value", "dfc-generated"] + - ["System", "Array", False, "ConvertAll", "(TInput[],System.Converter)", "", "Argument[1].ReturnValue", "ReturnValue.Element", "value", "dfc-generated"] + - ["System", "Array", False, "Exists", "(T[],System.Predicate)", "", "Argument[0].Element", "Argument[1].Parameter[0]", "value", "dfc-generated"] - ["System", "Array", False, "Fill", "(T[],T)", "", "Argument[1]", "Argument[0].Element", "value", "dfc-generated"] - ["System", "Array", False, "Fill", "(T[],T,System.Int32,System.Int32)", "", "Argument[1]", "Argument[0].Element", "value", "dfc-generated"] + - ["System", "Array", False, "FindIndex", "(T[],System.Int32,System.Int32,System.Predicate)", "", "Argument[0].Element", "Argument[3].Parameter[0]", "value", "dfc-generated"] + - ["System", "Array", False, "FindIndex", "(T[],System.Int32,System.Predicate)", "", "Argument[0].Element", "Argument[2].Parameter[0]", "value", "dfc-generated"] + - ["System", "Array", False, "FindIndex", "(T[],System.Predicate)", "", "Argument[0].Element", "Argument[1].Parameter[0]", "value", "dfc-generated"] + - ["System", "Array", False, "FindLastIndex", "(T[],System.Int32,System.Int32,System.Predicate)", "", "Argument[0].Element", "Argument[3].Parameter[0]", "value", "dfc-generated"] + - ["System", "Array", False, "FindLastIndex", "(T[],System.Int32,System.Predicate)", "", "Argument[0].Element", "Argument[2].Parameter[0]", "value", "dfc-generated"] + - ["System", "Array", False, "FindLastIndex", "(T[],System.Predicate)", "", "Argument[0].Element", "Argument[1].Parameter[0]", "value", "dfc-generated"] + - ["System", "Array", False, "ForEach", "(T[],System.Action)", "", "Argument[0].Element", "Argument[1].Parameter[0]", "value", "dfc-generated"] - ["System", "Array", False, "Resize", "(T[],System.Int32)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["System", "Array", False, "TrueForAll", "(T[],System.Predicate)", "", "Argument[0].Element", "Argument[1].Parameter[0]", "value", "dfc-generated"] - ["System", "ArraySegment+Enumerator", False, "get_Current", "()", "", "Argument[this].Property[System.ArraySegment`1+Enumerator.Current]", "ReturnValue", "value", "dfc-generated"] - ["System", "ArraySegment+Enumerator", False, "get_Current", "()", "", "Argument[this].SyntheticField[System.ArraySegment`1+Enumerator._array].Element", "ReturnValue", "value", "dfc-generated"] - ["System", "ArraySegment", False, "ArraySegment", "(T[])", "", "Argument[0]", "Argument[this].SyntheticField[System.ArraySegment`1._array]", "value", "dfc-generated"] @@ -96,6 +108,7 @@ extensions: - ["System", "Half", False, "MinNumber", "(System.Half,System.Half)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] - ["System", "Half", False, "ToString", "(System.IFormatProvider)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["System", "Half", False, "op_UnaryPlus", "(System.Half)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["System", "HashCode", False, "Add", "(T,System.Collections.Generic.IEqualityComparer)", "", "Argument[0]", "Argument[1]", "taint", "df-generated"] - ["System", "IAsyncDisposable", True, "DisposeAsync", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["System", "IAsyncResult", True, "get_AsyncState", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["System", "IAsyncResult", True, "get_AsyncWaitHandle", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] @@ -165,6 +178,9 @@ extensions: - ["System", "IntPtr", False, "System.Numerics.IAdditionOperators.op_CheckedAddition", "(System.IntPtr,System.IntPtr)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] - ["System", "IntPtr", False, "System.Numerics.IAdditionOperators.op_CheckedAddition", "(System.IntPtr,System.IntPtr)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] - ["System", "IntPtr", False, "op_Addition", "(System.IntPtr,System.Int32)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["System", "Lazy", False, "Lazy", "(System.Func,TMetadata)", "", "Argument[1]", "Argument[this].SyntheticField[System.Lazy`2._metadata]", "value", "dfc-generated"] + - ["System", "Lazy", False, "Lazy", "(System.Func,TMetadata,System.Boolean)", "", "Argument[1]", "Argument[this].SyntheticField[System.Lazy`2._metadata]", "value", "dfc-generated"] + - ["System", "Lazy", False, "Lazy", "(System.Func,TMetadata,System.Threading.LazyThreadSafetyMode)", "", "Argument[1]", "Argument[this].SyntheticField[System.Lazy`2._metadata]", "value", "dfc-generated"] - ["System", "Lazy", False, "Lazy", "(TMetadata)", "", "Argument[0]", "Argument[this].SyntheticField[System.Lazy`2._metadata]", "value", "dfc-generated"] - ["System", "Lazy", False, "Lazy", "(TMetadata,System.Boolean)", "", "Argument[0]", "Argument[this].SyntheticField[System.Lazy`2._metadata]", "value", "dfc-generated"] - ["System", "Lazy", False, "Lazy", "(TMetadata,System.Threading.LazyThreadSafetyMode)", "", "Argument[0]", "Argument[this].SyntheticField[System.Lazy`2._metadata]", "value", "dfc-generated"] @@ -217,10 +233,18 @@ extensions: - ["System", "MemoryExtensions", False, "AsSpan", "(System.ArraySegment,System.Range)", "", "Argument[0].Property[System.ArraySegment`1.Array].Element", "ReturnValue.Element", "value", "dfc-generated"] - ["System", "MemoryExtensions", False, "AsSpan", "(T[])", "", "Argument[0].Element", "ReturnValue.Element", "value", "dfc-generated"] - ["System", "MemoryExtensions", False, "AsSpan", "(T[],System.Int32,System.Int32)", "", "Argument[0].Element", "ReturnValue.Element", "value", "dfc-generated"] + - ["System", "MemoryExtensions", False, "CommonPrefixLength", "(System.ReadOnlySpan,System.ReadOnlySpan,System.Collections.Generic.IEqualityComparer)", "", "Argument[0]", "Argument[2]", "taint", "df-generated"] + - ["System", "MemoryExtensions", False, "CommonPrefixLength", "(System.ReadOnlySpan,System.ReadOnlySpan,System.Collections.Generic.IEqualityComparer)", "", "Argument[1]", "Argument[2]", "taint", "df-generated"] + - ["System", "MemoryExtensions", False, "CommonPrefixLength", "(System.Span,System.ReadOnlySpan,System.Collections.Generic.IEqualityComparer)", "", "Argument[1]", "Argument[2]", "taint", "df-generated"] - ["System", "MemoryExtensions", False, "CopyTo", "(T[],System.Memory)", "", "Argument[0].Element", "Argument[1].Property[System.Memory`1.Span].Element", "value", "dfc-generated"] - ["System", "MemoryExtensions", False, "CopyTo", "(T[],System.Span)", "", "Argument[0].Element", "Argument[1].Element", "value", "dfc-generated"] - ["System", "MemoryExtensions", False, "EnumerateLines", "(System.ReadOnlySpan)", "", "Argument[0]", "ReturnValue.SyntheticField[System.Text.SpanLineEnumerator._remaining]", "value", "dfc-generated"] - ["System", "MemoryExtensions", False, "EnumerateRunes", "(System.ReadOnlySpan)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["System", "MemoryExtensions", False, "SequenceEqual", "(System.ReadOnlySpan,System.ReadOnlySpan,System.Collections.Generic.IEqualityComparer)", "", "Argument[0]", "Argument[2]", "taint", "df-generated"] + - ["System", "MemoryExtensions", False, "SequenceEqual", "(System.ReadOnlySpan,System.ReadOnlySpan,System.Collections.Generic.IEqualityComparer)", "", "Argument[1]", "Argument[2]", "taint", "df-generated"] + - ["System", "MemoryExtensions", False, "SequenceEqual", "(System.Span,System.ReadOnlySpan,System.Collections.Generic.IEqualityComparer)", "", "Argument[1]", "Argument[2]", "taint", "df-generated"] + - ["System", "MemoryExtensions", False, "Sort", "(System.Span,System.Comparison)", "", "Argument[0].Element", "Argument[1].Parameter[0]", "value", "dfc-generated"] + - ["System", "MemoryExtensions", False, "Sort", "(System.Span,System.Comparison)", "", "Argument[0].Element", "Argument[1].Parameter[1]", "value", "dfc-generated"] - ["System", "MemoryExtensions", False, "Trim", "(System.Memory)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["System", "MemoryExtensions", False, "Trim", "(System.ReadOnlyMemory)", "", "Argument[0].SyntheticField[System.ReadOnlyMemory`1._object]", "ReturnValue.SyntheticField[System.ReadOnlyMemory`1._object]", "value", "dfc-generated"] - ["System", "MemoryExtensions", False, "Trim", "(System.ReadOnlySpan)", "", "Argument[0].Element", "ReturnValue.Element", "value", "dfc-generated"] @@ -323,6 +347,7 @@ extensions: - ["System", "Span", False, "GetEnumerator", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["System", "String", False, "Create", "(System.IFormatProvider,System.Runtime.CompilerServices.DefaultInterpolatedStringHandler)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] - ["System", "String", False, "Create", "(System.IFormatProvider,System.Span,System.Runtime.CompilerServices.DefaultInterpolatedStringHandler)", "", "Argument[2]", "ReturnValue", "value", "dfc-generated"] + - ["System", "String", False, "Create", "(System.Int32,TState,System.Buffers.SpanAction)", "", "Argument[1]", "Argument[2].Parameter[1]", "value", "dfc-generated"] - ["System", "String", False, "EnumerateRunes", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["System", "String", False, "Format", "(System.IFormatProvider,System.Text.CompositeFormat,System.Object[])", "", "Argument[1].Property[System.Text.CompositeFormat.Format]", "ReturnValue", "value", "dfc-generated"] - ["System", "String", False, "Format", "(System.IFormatProvider,System.Text.CompositeFormat,System.ReadOnlySpan)", "", "Argument[1].Property[System.Text.CompositeFormat.Format]", "ReturnValue", "value", "dfc-generated"] @@ -469,6 +494,8 @@ extensions: - ["System", "TupleExtensions", False, "ToValueTuple", "(System.Tuple)", "", "Argument[0].Property[System.Tuple`1.Item1]", "ReturnValue.Field[System.ValueTuple`1.Item1]", "value", "dfc-generated"] - ["System", "Type", False, "MakeGenericSignatureType", "(System.Type,System.Type[])", "", "Argument[1].Element", "ReturnValue.SyntheticField[System.Reflection.SignatureConstructedGenericType._genericTypeArguments].Element", "value", "dfc-generated"] - ["System", "Type", False, "ToString", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["System", "Type", True, "FindInterfaces", "(System.Reflection.TypeFilter,System.Object)", "", "Argument[1]", "Argument[0].Parameter[1]", "value", "dfc-generated"] + - ["System", "Type", True, "FindMembers", "(System.Reflection.MemberTypes,System.Reflection.BindingFlags,System.Reflection.MemberFilter,System.Object)", "", "Argument[3]", "Argument[2].Parameter[1]", "value", "dfc-generated"] - ["System", "Type", True, "GetConstructorImpl", "(System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[])", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["System", "Type", True, "GetElementType", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["System", "Type", True, "GetEnumUnderlyingType", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] @@ -694,6 +721,15 @@ extensions: - ["System", "AppDomain", "SetShadowCopyPath", "(System.String)", "summary", "df-generated"] - ["System", "AppDomain", "SetThreadPrincipal", "(System.Security.Principal.IPrincipal)", "summary", "df-generated"] - ["System", "AppDomain", "Unload", "(System.AppDomain)", "summary", "df-generated"] + - ["System", "AppDomain", "add_AssemblyLoad", "(System.AssemblyLoadEventHandler)", "summary", "df-generated"] + - ["System", "AppDomain", "add_AssemblyResolve", "(System.ResolveEventHandler)", "summary", "df-generated"] + - ["System", "AppDomain", "add_DomainUnload", "(System.EventHandler)", "summary", "df-generated"] + - ["System", "AppDomain", "add_FirstChanceException", "(System.EventHandler)", "summary", "df-generated"] + - ["System", "AppDomain", "add_ProcessExit", "(System.EventHandler)", "summary", "df-generated"] + - ["System", "AppDomain", "add_ReflectionOnlyAssemblyResolve", "(System.ResolveEventHandler)", "summary", "df-generated"] + - ["System", "AppDomain", "add_ResourceResolve", "(System.ResolveEventHandler)", "summary", "df-generated"] + - ["System", "AppDomain", "add_TypeResolve", "(System.ResolveEventHandler)", "summary", "df-generated"] + - ["System", "AppDomain", "add_UnhandledException", "(System.UnhandledExceptionEventHandler)", "summary", "df-generated"] - ["System", "AppDomain", "get_BaseDirectory", "()", "summary", "df-generated"] - ["System", "AppDomain", "get_CurrentDomain", "()", "summary", "df-generated"] - ["System", "AppDomain", "get_DynamicDirectory", "()", "summary", "df-generated"] @@ -709,6 +745,15 @@ extensions: - ["System", "AppDomain", "get_RelativeSearchPath", "()", "summary", "df-generated"] - ["System", "AppDomain", "get_SetupInformation", "()", "summary", "df-generated"] - ["System", "AppDomain", "get_ShadowCopyFiles", "()", "summary", "df-generated"] + - ["System", "AppDomain", "remove_AssemblyLoad", "(System.AssemblyLoadEventHandler)", "summary", "df-generated"] + - ["System", "AppDomain", "remove_AssemblyResolve", "(System.ResolveEventHandler)", "summary", "df-generated"] + - ["System", "AppDomain", "remove_DomainUnload", "(System.EventHandler)", "summary", "df-generated"] + - ["System", "AppDomain", "remove_FirstChanceException", "(System.EventHandler)", "summary", "df-generated"] + - ["System", "AppDomain", "remove_ProcessExit", "(System.EventHandler)", "summary", "df-generated"] + - ["System", "AppDomain", "remove_ReflectionOnlyAssemblyResolve", "(System.ResolveEventHandler)", "summary", "df-generated"] + - ["System", "AppDomain", "remove_ResourceResolve", "(System.ResolveEventHandler)", "summary", "df-generated"] + - ["System", "AppDomain", "remove_TypeResolve", "(System.ResolveEventHandler)", "summary", "df-generated"] + - ["System", "AppDomain", "remove_UnhandledException", "(System.UnhandledExceptionEventHandler)", "summary", "df-generated"] - ["System", "AppDomainUnloadedException", "AppDomainUnloadedException", "(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)", "summary", "df-generated"] - ["System", "AppDomainUnloadedException", "AppDomainUnloadedException", "(System.String)", "summary", "df-generated"] - ["System", "AppDomainUnloadedException", "AppDomainUnloadedException", "(System.String,System.Exception)", "summary", "df-generated"] @@ -833,6 +878,7 @@ extensions: - ["System", "Array", "Sort", "(System.Array,System.Int32,System.Int32,System.Collections.IComparer)", "summary", "df-generated"] - ["System", "Array", "Sort", "(T[])", "summary", "df-generated"] - ["System", "Array", "Sort", "(T[],System.Collections.Generic.IComparer)", "summary", "df-generated"] + - ["System", "Array", "Sort", "(T[],System.Comparison)", "summary", "df-generated"] - ["System", "Array", "Sort", "(T[],System.Int32,System.Int32)", "summary", "df-generated"] - ["System", "Array", "Sort", "(T[],System.Int32,System.Int32,System.Collections.Generic.IComparer)", "summary", "df-generated"] - ["System", "Array", "Sort", "(TKey[],TValue[])", "summary", "df-generated"] @@ -1398,6 +1444,7 @@ extensions: - ["System", "Console", "WriteLine", "(System.String,System.Object[])", "summary", "df-generated"] - ["System", "Console", "WriteLine", "(System.UInt32)", "summary", "df-generated"] - ["System", "Console", "WriteLine", "(System.UInt64)", "summary", "df-generated"] + - ["System", "Console", "add_CancelKeyPress", "(System.ConsoleCancelEventHandler)", "summary", "df-generated"] - ["System", "Console", "get_CapsLock", "()", "summary", "df-generated"] - ["System", "Console", "get_Error", "()", "summary", "df-generated"] - ["System", "Console", "get_In", "()", "summary", "df-generated"] @@ -1409,6 +1456,7 @@ extensions: - ["System", "Console", "get_LargestWindowWidth", "()", "summary", "df-generated"] - ["System", "Console", "get_NumberLock", "()", "summary", "df-generated"] - ["System", "Console", "get_Out", "()", "summary", "df-generated"] + - ["System", "Console", "remove_CancelKeyPress", "(System.ConsoleCancelEventHandler)", "summary", "df-generated"] - ["System", "ConsoleCancelEventArgs", "get_SpecialKey", "()", "summary", "df-generated"] - ["System", "ConsoleKeyInfo", "ConsoleKeyInfo", "(System.Char,System.ConsoleKey,System.Boolean,System.Boolean,System.Boolean)", "summary", "df-generated"] - ["System", "ConsoleKeyInfo", "Equals", "(System.ConsoleKeyInfo)", "summary", "df-generated"] @@ -2184,8 +2232,10 @@ extensions: - ["System", "Environment", "get_Version", "()", "summary", "df-generated"] - ["System", "Environment", "get_WorkingSet", "()", "summary", "df-generated"] - ["System", "Exception", "GetType", "()", "summary", "df-generated"] + - ["System", "Exception", "add_SerializeObjectState", "(System.EventHandler)", "summary", "df-generated"] - ["System", "Exception", "get_Data", "()", "summary", "df-generated"] - ["System", "Exception", "get_TargetSite", "()", "summary", "df-generated"] + - ["System", "Exception", "remove_SerializeObjectState", "(System.EventHandler)", "summary", "df-generated"] - ["System", "ExecutionEngineException", "ExecutionEngineException", "(System.String)", "summary", "df-generated"] - ["System", "ExecutionEngineException", "ExecutionEngineException", "(System.String,System.Exception)", "summary", "df-generated"] - ["System", "FieldAccessException", "FieldAccessException", "(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)", "summary", "df-generated"] @@ -2219,6 +2269,7 @@ extensions: - ["System", "GC", "ReRegisterForFinalize", "(System.Object)", "summary", "df-generated"] - ["System", "GC", "RefreshMemoryLimit", "()", "summary", "df-generated"] - ["System", "GC", "RegisterForFullGCNotification", "(System.Int32,System.Int32)", "summary", "df-generated"] + - ["System", "GC", "RegisterNoGCRegionCallback", "(System.Int64,System.Action)", "summary", "df-generated"] - ["System", "GC", "RemoveMemoryPressure", "(System.Int64)", "summary", "df-generated"] - ["System", "GC", "SuppressFinalize", "(System.Object)", "summary", "df-generated"] - ["System", "GC", "TryStartNoGCRegion", "(System.Int64)", "summary", "df-generated"] @@ -2451,7 +2502,6 @@ extensions: - ["System", "Half", "op_Subtraction", "(System.Half,System.Half)", "summary", "df-generated"] - ["System", "Half", "op_UnaryNegation", "(System.Half)", "summary", "df-generated"] - ["System", "HashCode", "Add", "(T)", "summary", "df-generated"] - - ["System", "HashCode", "Add", "(T,System.Collections.Generic.IEqualityComparer)", "summary", "df-generated"] - ["System", "HashCode", "AddBytes", "(System.ReadOnlySpan)", "summary", "df-generated"] - ["System", "HashCode", "Combine", "(T1,T2,T3,T4,T5,T6,T7,T8)", "summary", "df-generated"] - ["System", "HashCode", "Combine", "(T1,T2,T3,T4,T5,T6,T7)", "summary", "df-generated"] @@ -3310,9 +3360,7 @@ extensions: - ["System", "MemoryExtensions", "BinarySearch", "(System.ReadOnlySpan,System.IComparable)", "summary", "df-generated"] - ["System", "MemoryExtensions", "BinarySearch", "(System.Span,System.IComparable)", "summary", "df-generated"] - ["System", "MemoryExtensions", "CommonPrefixLength", "(System.ReadOnlySpan,System.ReadOnlySpan)", "summary", "df-generated"] - - ["System", "MemoryExtensions", "CommonPrefixLength", "(System.ReadOnlySpan,System.ReadOnlySpan,System.Collections.Generic.IEqualityComparer)", "summary", "df-generated"] - ["System", "MemoryExtensions", "CommonPrefixLength", "(System.Span,System.ReadOnlySpan)", "summary", "df-generated"] - - ["System", "MemoryExtensions", "CommonPrefixLength", "(System.Span,System.ReadOnlySpan,System.Collections.Generic.IEqualityComparer)", "summary", "df-generated"] - ["System", "MemoryExtensions", "CompareTo", "(System.ReadOnlySpan,System.ReadOnlySpan,System.StringComparison)", "summary", "df-generated"] - ["System", "MemoryExtensions", "Contains", "(System.ReadOnlySpan,System.ReadOnlySpan,System.StringComparison)", "summary", "df-generated"] - ["System", "MemoryExtensions", "Contains", "(System.ReadOnlySpan,T)", "summary", "df-generated"] @@ -3416,13 +3464,12 @@ extensions: - ["System", "MemoryExtensions", "SequenceCompareTo", "(System.ReadOnlySpan,System.ReadOnlySpan)", "summary", "df-generated"] - ["System", "MemoryExtensions", "SequenceCompareTo", "(System.Span,System.ReadOnlySpan)", "summary", "df-generated"] - ["System", "MemoryExtensions", "SequenceEqual", "(System.ReadOnlySpan,System.ReadOnlySpan)", "summary", "df-generated"] - - ["System", "MemoryExtensions", "SequenceEqual", "(System.ReadOnlySpan,System.ReadOnlySpan,System.Collections.Generic.IEqualityComparer)", "summary", "df-generated"] - ["System", "MemoryExtensions", "SequenceEqual", "(System.Span,System.ReadOnlySpan)", "summary", "df-generated"] - - ["System", "MemoryExtensions", "SequenceEqual", "(System.Span,System.ReadOnlySpan,System.Collections.Generic.IEqualityComparer)", "summary", "df-generated"] - ["System", "MemoryExtensions", "Sort", "(System.Span,TComparer)", "summary", "df-generated"] - ["System", "MemoryExtensions", "Sort", "(System.Span)", "summary", "df-generated"] - ["System", "MemoryExtensions", "Sort", "(System.Span,System.Span,TComparer)", "summary", "df-generated"] - ["System", "MemoryExtensions", "Sort", "(System.Span,System.Span)", "summary", "df-generated"] + - ["System", "MemoryExtensions", "Sort", "(System.Span,System.Span,System.Comparison)", "summary", "df-generated"] - ["System", "MemoryExtensions", "Split", "(System.ReadOnlySpan,System.Span,System.Char,System.StringSplitOptions)", "summary", "df-generated"] - ["System", "MemoryExtensions", "Split", "(System.ReadOnlySpan,System.Span,System.ReadOnlySpan,System.StringSplitOptions)", "summary", "df-generated"] - ["System", "MemoryExtensions", "SplitAny", "(System.ReadOnlySpan,System.Span,System.ReadOnlySpan,System.StringSplitOptions)", "summary", "df-generated"] @@ -3544,7 +3591,10 @@ extensions: - ["System", "PlatformNotSupportedException", "PlatformNotSupportedException", "(System.String)", "summary", "df-generated"] - ["System", "PlatformNotSupportedException", "PlatformNotSupportedException", "(System.String,System.Exception)", "summary", "df-generated"] - ["System", "Progress", "OnReport", "(T)", "summary", "df-generated"] + - ["System", "Progress", "Progress", "(System.Action)", "summary", "df-generated"] - ["System", "Progress", "Report", "(T)", "summary", "df-generated"] + - ["System", "Progress", "add_ProgressChanged", "(System.EventHandler)", "summary", "df-generated"] + - ["System", "Progress", "remove_ProgressChanged", "(System.EventHandler)", "summary", "df-generated"] - ["System", "Random", "GetItems", "(System.ReadOnlySpan,System.Int32)", "summary", "df-generated"] - ["System", "Random", "GetItems", "(System.ReadOnlySpan,System.Span)", "summary", "df-generated"] - ["System", "Random", "GetItems", "(T[],System.Int32)", "summary", "df-generated"] @@ -4042,7 +4092,6 @@ extensions: - ["System", "String", "get_Length", "()", "summary", "df-generated"] - ["System", "String", "op_Equality", "(System.String,System.String)", "summary", "df-generated"] - ["System", "String", "op_Inequality", "(System.String,System.String)", "summary", "df-generated"] - - ["System", "StringComparer", "Compare", "(System.Object,System.Object)", "summary", "df-generated"] - ["System", "StringComparer", "Compare", "(System.String,System.String)", "summary", "df-generated"] - ["System", "StringComparer", "Create", "(System.Globalization.CultureInfo,System.Boolean)", "summary", "df-generated"] - ["System", "StringComparer", "Create", "(System.Globalization.CultureInfo,System.Globalization.CompareOptions)", "summary", "df-generated"] @@ -4137,6 +4186,7 @@ extensions: - ["System", "TimeOnly", "op_LessThan", "(System.TimeOnly,System.TimeOnly)", "summary", "df-generated"] - ["System", "TimeOnly", "op_LessThanOrEqual", "(System.TimeOnly,System.TimeOnly)", "summary", "df-generated"] - ["System", "TimeOnly", "op_Subtraction", "(System.TimeOnly,System.TimeOnly)", "summary", "df-generated"] + - ["System", "TimeProvider", "CreateTimer", "(System.Threading.TimerCallback,System.Object,System.TimeSpan,System.TimeSpan)", "summary", "df-generated"] - ["System", "TimeProvider", "GetElapsedTime", "(System.Int64)", "summary", "df-generated"] - ["System", "TimeProvider", "GetElapsedTime", "(System.Int64,System.Int64)", "summary", "df-generated"] - ["System", "TimeProvider", "GetLocalNow", "()", "summary", "df-generated"] @@ -4410,6 +4460,9 @@ extensions: - ["System", "Type", "GetType", "(System.String)", "summary", "df-generated"] - ["System", "Type", "GetType", "(System.String,System.Boolean)", "summary", "df-generated"] - ["System", "Type", "GetType", "(System.String,System.Boolean,System.Boolean)", "summary", "df-generated"] + - ["System", "Type", "GetType", "(System.String,System.Func,System.Func)", "summary", "df-generated"] + - ["System", "Type", "GetType", "(System.String,System.Func,System.Func,System.Boolean)", "summary", "df-generated"] + - ["System", "Type", "GetType", "(System.String,System.Func,System.Func,System.Boolean,System.Boolean)", "summary", "df-generated"] - ["System", "Type", "GetTypeArray", "(System.Object[])", "summary", "df-generated"] - ["System", "Type", "GetTypeCode", "(System.Type)", "summary", "df-generated"] - ["System", "Type", "GetTypeCodeImpl", "()", "summary", "df-generated"] From 71bf900c6ca4754fb49862a57d990ea21b0c7cc2 Mon Sep 17 00:00:00 2001 From: Michael Nebel Date: Fri, 25 Oct 2024 14:25:16 +0200 Subject: [PATCH 038/347] C#: Update FlowSummaries expected tests. --- .../dataflow/library/FlowSummaries.expected | 2554 ++++++++++++++++- .../library/FlowSummariesFiltered.expected | 1390 ++++++++- 2 files changed, 3770 insertions(+), 174 deletions(-) diff --git a/csharp/ql/test/library-tests/dataflow/library/FlowSummaries.expected b/csharp/ql/test/library-tests/dataflow/library/FlowSummaries.expected index 17090f932df3..7b6e623288f3 100644 --- a/csharp/ql/test/library-tests/dataflow/library/FlowSummaries.expected +++ b/csharp/ql/test/library-tests/dataflow/library/FlowSummaries.expected @@ -829,14 +829,29 @@ summary | Microsoft.AspNetCore.Builder;ComponentEndpointConventionBuilder;Finally;(System.Action);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | | Microsoft.AspNetCore.Builder;ComponentEndpointRouteBuilderExtensions;MapBlazorHub;(Microsoft.AspNetCore.Routing.IEndpointRouteBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | Microsoft.AspNetCore.Builder;ComponentEndpointRouteBuilderExtensions;MapBlazorHub;(Microsoft.AspNetCore.Routing.IEndpointRouteBuilder,System.String,System.Action);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| Microsoft.AspNetCore.Builder;ConfigureHostBuilder;ConfigureAppConfiguration;(System.Action);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | Microsoft.AspNetCore.Builder;ConfigureHostBuilder;ConfigureAppConfiguration;(System.Action);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| Microsoft.AspNetCore.Builder;ConfigureHostBuilder;ConfigureAppConfiguration;(System.Action);Argument[this];ReturnValue;value;dfc-generated | +| Microsoft.AspNetCore.Builder;ConfigureHostBuilder;ConfigureAppConfiguration;(System.Action);Argument[this];ReturnValue;value;hq-generated | +| Microsoft.AspNetCore.Builder;ConfigureHostBuilder;ConfigureContainer;(System.Action);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | Microsoft.AspNetCore.Builder;ConfigureHostBuilder;ConfigureContainer;(System.Action);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| Microsoft.AspNetCore.Builder;ConfigureHostBuilder;ConfigureContainer;(System.Action);Argument[this];ReturnValue;value;dfc-generated | +| Microsoft.AspNetCore.Builder;ConfigureHostBuilder;ConfigureContainer;(System.Action);Argument[this];ReturnValue;value;hq-generated | +| Microsoft.AspNetCore.Builder;ConfigureHostBuilder;ConfigureHostConfiguration;(System.Action);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | Microsoft.AspNetCore.Builder;ConfigureHostBuilder;ConfigureHostConfiguration;(System.Action);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| Microsoft.AspNetCore.Builder;ConfigureHostBuilder;ConfigureHostConfiguration;(System.Action);Argument[this];ReturnValue;value;dfc-generated | +| Microsoft.AspNetCore.Builder;ConfigureHostBuilder;ConfigureHostConfiguration;(System.Action);Argument[this];ReturnValue;value;hq-generated | +| Microsoft.AspNetCore.Builder;ConfigureHostBuilder;ConfigureServices;(System.Action);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | Microsoft.AspNetCore.Builder;ConfigureHostBuilder;ConfigureServices;(System.Action);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| Microsoft.AspNetCore.Builder;ConfigureHostBuilder;ConfigureServices;(System.Action);Argument[this];ReturnValue;value;dfc-generated | +| Microsoft.AspNetCore.Builder;ConfigureHostBuilder;ConfigureServices;(System.Action);Argument[this];ReturnValue;value;hq-generated | | Microsoft.AspNetCore.Builder;ConfigureHostBuilder;ConfigureWebHost;(System.Action,System.Action);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | | Microsoft.AspNetCore.Builder;ConfigureHostBuilder;ConfigureWebHost;(System.Action,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | Microsoft.AspNetCore.Builder;ConfigureHostBuilder;UseServiceProviderFactory;(Microsoft.Extensions.DependencyInjection.IServiceProviderFactory);Argument[this];ReturnValue;value;dfc-generated | +| Microsoft.AspNetCore.Builder;ConfigureHostBuilder;UseServiceProviderFactory;(System.Func>);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | Microsoft.AspNetCore.Builder;ConfigureHostBuilder;UseServiceProviderFactory;(System.Func>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| Microsoft.AspNetCore.Builder;ConfigureHostBuilder;UseServiceProviderFactory;(System.Func>);Argument[this];ReturnValue;value;dfc-generated | +| Microsoft.AspNetCore.Builder;ConfigureHostBuilder;UseServiceProviderFactory;(System.Func>);Argument[this];ReturnValue;value;hq-generated | | Microsoft.AspNetCore.Builder;ConfigureWebHostBuilder;Configure;(System.Action);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | | Microsoft.AspNetCore.Builder;ConfigureWebHostBuilder;Configure;(System.Action);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | | Microsoft.AspNetCore.Builder;ConfigureWebHostBuilder;ConfigureAppConfiguration;(System.Action);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | @@ -1710,7 +1725,13 @@ summary | Microsoft.Extensions.Caching.Memory;CacheEntryExtensions;AddExpirationToken;(Microsoft.Extensions.Caching.Memory.ICacheEntry,Microsoft.Extensions.Primitives.IChangeToken);Argument[0];ReturnValue;value;dfc-generated | | Microsoft.Extensions.Caching.Memory;CacheEntryExtensions;AddExpirationToken;(Microsoft.Extensions.Caching.Memory.ICacheEntry,Microsoft.Extensions.Primitives.IChangeToken);Argument[1];Argument[0].Property[Microsoft.Extensions.Caching.Memory.ICacheEntry.ExpirationTokens].Element;value;dfc-generated | | Microsoft.Extensions.Caching.Memory;CacheEntryExtensions;AddExpirationToken;(Microsoft.Extensions.Caching.Memory.ICacheEntry,Microsoft.Extensions.Primitives.IChangeToken);Argument[1];ReturnValue.Property[Microsoft.Extensions.Caching.Memory.ICacheEntry.ExpirationTokens].Element;value;dfc-generated | +| Microsoft.Extensions.Caching.Memory;CacheEntryExtensions;RegisterPostEvictionCallback;(Microsoft.Extensions.Caching.Memory.ICacheEntry,Microsoft.Extensions.Caching.Memory.PostEvictionDelegate);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Caching.Memory;CacheEntryExtensions;RegisterPostEvictionCallback;(Microsoft.Extensions.Caching.Memory.ICacheEntry,Microsoft.Extensions.Caching.Memory.PostEvictionDelegate);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Caching.Memory;CacheEntryExtensions;RegisterPostEvictionCallback;(Microsoft.Extensions.Caching.Memory.ICacheEntry,Microsoft.Extensions.Caching.Memory.PostEvictionDelegate);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Caching.Memory;CacheEntryExtensions;RegisterPostEvictionCallback;(Microsoft.Extensions.Caching.Memory.ICacheEntry,Microsoft.Extensions.Caching.Memory.PostEvictionDelegate);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Caching.Memory;CacheEntryExtensions;RegisterPostEvictionCallback;(Microsoft.Extensions.Caching.Memory.ICacheEntry,Microsoft.Extensions.Caching.Memory.PostEvictionDelegate,System.Object);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Caching.Memory;CacheEntryExtensions;RegisterPostEvictionCallback;(Microsoft.Extensions.Caching.Memory.ICacheEntry,Microsoft.Extensions.Caching.Memory.PostEvictionDelegate,System.Object);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Caching.Memory;CacheEntryExtensions;RegisterPostEvictionCallback;(Microsoft.Extensions.Caching.Memory.ICacheEntry,Microsoft.Extensions.Caching.Memory.PostEvictionDelegate,System.Object);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Caching.Memory;CacheEntryExtensions;RegisterPostEvictionCallback;(Microsoft.Extensions.Caching.Memory.ICacheEntry,Microsoft.Extensions.Caching.Memory.PostEvictionDelegate,System.Object);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.Caching.Memory;CacheEntryExtensions;SetAbsoluteExpiration;(Microsoft.Extensions.Caching.Memory.ICacheEntry,System.DateTimeOffset);Argument[0];ReturnValue;value;dfc-generated | | Microsoft.Extensions.Caching.Memory;CacheEntryExtensions;SetAbsoluteExpiration;(Microsoft.Extensions.Caching.Memory.ICacheEntry,System.TimeSpan);Argument[0];ReturnValue;value;dfc-generated | @@ -1721,6 +1742,9 @@ summary | Microsoft.Extensions.Caching.Memory;CacheEntryExtensions;SetSize;(Microsoft.Extensions.Caching.Memory.ICacheEntry,System.Int64);Argument[0];ReturnValue;value;dfc-generated | | Microsoft.Extensions.Caching.Memory;CacheEntryExtensions;SetSlidingExpiration;(Microsoft.Extensions.Caching.Memory.ICacheEntry,System.TimeSpan);Argument[0];ReturnValue;value;dfc-generated | | Microsoft.Extensions.Caching.Memory;CacheEntryExtensions;SetValue;(Microsoft.Extensions.Caching.Memory.ICacheEntry,System.Object);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Caching.Memory;CacheExtensions;GetOrCreate;(Microsoft.Extensions.Caching.Memory.IMemoryCache,System.Object,System.Func);Argument[2].ReturnValue;ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Caching.Memory;CacheExtensions;GetOrCreate;(Microsoft.Extensions.Caching.Memory.IMemoryCache,System.Object,System.Func);Argument[2].ReturnValue;ReturnValue;value;hq-generated | +| Microsoft.Extensions.Caching.Memory;CacheExtensions;GetOrCreate;(Microsoft.Extensions.Caching.Memory.IMemoryCache,System.Object,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Caching.Memory;CacheExtensions;GetOrCreate;(Microsoft.Extensions.Caching.Memory.IMemoryCache,System.Object,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.Caching.Memory;CacheExtensions;GetOrCreateAsync;(Microsoft.Extensions.Caching.Memory.IMemoryCache,System.Object,System.Func>);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.Caching.Memory;CacheExtensions;Set;(Microsoft.Extensions.Caching.Memory.IMemoryCache,System.Object,TItem);Argument[2];ReturnValue;value;dfc-generated | @@ -1738,7 +1762,13 @@ summary | Microsoft.Extensions.Caching.Memory;MemoryCacheEntryExtensions;AddExpirationToken;(Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions,Microsoft.Extensions.Primitives.IChangeToken);Argument[0];ReturnValue;value;dfc-generated | | Microsoft.Extensions.Caching.Memory;MemoryCacheEntryExtensions;AddExpirationToken;(Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions,Microsoft.Extensions.Primitives.IChangeToken);Argument[1];Argument[0].Property[Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions.ExpirationTokens].Element;value;dfc-generated | | Microsoft.Extensions.Caching.Memory;MemoryCacheEntryExtensions;AddExpirationToken;(Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions,Microsoft.Extensions.Primitives.IChangeToken);Argument[1];ReturnValue.Property[Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions.ExpirationTokens].Element;value;dfc-generated | +| Microsoft.Extensions.Caching.Memory;MemoryCacheEntryExtensions;RegisterPostEvictionCallback;(Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions,Microsoft.Extensions.Caching.Memory.PostEvictionDelegate);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Caching.Memory;MemoryCacheEntryExtensions;RegisterPostEvictionCallback;(Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions,Microsoft.Extensions.Caching.Memory.PostEvictionDelegate);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Caching.Memory;MemoryCacheEntryExtensions;RegisterPostEvictionCallback;(Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions,Microsoft.Extensions.Caching.Memory.PostEvictionDelegate);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Caching.Memory;MemoryCacheEntryExtensions;RegisterPostEvictionCallback;(Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions,Microsoft.Extensions.Caching.Memory.PostEvictionDelegate);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Caching.Memory;MemoryCacheEntryExtensions;RegisterPostEvictionCallback;(Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions,Microsoft.Extensions.Caching.Memory.PostEvictionDelegate,System.Object);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Caching.Memory;MemoryCacheEntryExtensions;RegisterPostEvictionCallback;(Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions,Microsoft.Extensions.Caching.Memory.PostEvictionDelegate,System.Object);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Caching.Memory;MemoryCacheEntryExtensions;RegisterPostEvictionCallback;(Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions,Microsoft.Extensions.Caching.Memory.PostEvictionDelegate,System.Object);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Caching.Memory;MemoryCacheEntryExtensions;RegisterPostEvictionCallback;(Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions,Microsoft.Extensions.Caching.Memory.PostEvictionDelegate,System.Object);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.Caching.Memory;MemoryCacheEntryExtensions;SetAbsoluteExpiration;(Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions,System.DateTimeOffset);Argument[0];ReturnValue;value;dfc-generated | | Microsoft.Extensions.Caching.Memory;MemoryCacheEntryExtensions;SetAbsoluteExpiration;(Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions,System.TimeSpan);Argument[0];ReturnValue;value;dfc-generated | @@ -1756,6 +1786,8 @@ summary | Microsoft.Extensions.Configuration.Memory;MemoryConfigurationProvider;MemoryConfigurationProvider;(Microsoft.Extensions.Configuration.Memory.MemoryConfigurationSource);Argument[0];Argument[this];taint;df-generated | | Microsoft.Extensions.Configuration.UserSecrets;PathHelper;GetSecretsPathFromSecretsId;(System.String);Argument[0];ReturnValue;taint;dfc-generated | | Microsoft.Extensions.Configuration.Xml;XmlDocumentDecryptor;CreateDecryptingXmlReader;(System.IO.Stream,System.Xml.XmlReaderSettings);Argument[0];ReturnValue;taint;dfc-generated | +| Microsoft.Extensions.Configuration.Xml;XmlDocumentDecryptor;DecryptDocumentAndCreateXmlReader;(System.Xml.XmlDocument);Argument[0].Element;Argument[this];taint;df-generated | +| Microsoft.Extensions.Configuration.Xml;XmlStreamConfigurationProvider;Read;(System.IO.Stream,Microsoft.Extensions.Configuration.Xml.XmlDocumentDecryptor);Argument[0];Argument[1];taint;df-generated | | Microsoft.Extensions.Configuration;ChainedBuilderExtensions;AddConfiguration;(Microsoft.Extensions.Configuration.IConfigurationBuilder,Microsoft.Extensions.Configuration.IConfiguration);Argument[0];ReturnValue;value;dfc-generated | | Microsoft.Extensions.Configuration;ChainedBuilderExtensions;AddConfiguration;(Microsoft.Extensions.Configuration.IConfigurationBuilder,Microsoft.Extensions.Configuration.IConfiguration,System.Boolean);Argument[0];ReturnValue;value;dfc-generated | | Microsoft.Extensions.Configuration;ChainedConfigurationProvider;ChainedConfigurationProvider;(Microsoft.Extensions.Configuration.ChainedConfigurationSource);Argument[0].Property[Microsoft.Extensions.Configuration.ChainedConfigurationSource.Configuration];Argument[this].SyntheticField[Microsoft.Extensions.Configuration.ChainedConfigurationProvider._config];value;dfc-generated | @@ -1785,6 +1817,9 @@ summary | Microsoft.Extensions.Configuration;ConfigurationBuilder;Build;();Argument[this];ReturnValue;taint;manual | | Microsoft.Extensions.Configuration;ConfigurationBuilder;get_Properties;();Argument[this];ReturnValue;taint;df-generated | | Microsoft.Extensions.Configuration;ConfigurationBuilder;get_Sources;();Argument[this].SyntheticField[Microsoft.Extensions.Configuration.ConfigurationBuilder._sources];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Configuration;ConfigurationExtensions;Add;(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.Action);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Configuration;ConfigurationExtensions;Add;(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.Action);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Configuration;ConfigurationExtensions;Add;(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Configuration;ConfigurationExtensions;Add;(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.Configuration;ConfigurationManager;Add;(Microsoft.Extensions.Configuration.IConfigurationSource);Argument[0];Argument[this].SyntheticField[Microsoft.Extensions.Configuration.ConfigurationManager._sources].Element;value;dfc-generated | | Microsoft.Extensions.Configuration;ConfigurationManager;Add;(Microsoft.Extensions.Configuration.IConfigurationSource);Argument[0];ReturnValue.SyntheticField[Microsoft.Extensions.Configuration.ConfigurationManager._sources].Element;value;dfc-generated | @@ -1801,7 +1836,10 @@ summary | Microsoft.Extensions.Configuration;ConfigurationPath;GetSectionKey;(System.String);Argument[0];ReturnValue;value;dfc-generated | | Microsoft.Extensions.Configuration;ConfigurationProvider;GetChildKeys;(System.Collections.Generic.IEnumerable,System.String);Argument[0].Element;ReturnValue.Element;value;dfc-generated | | Microsoft.Extensions.Configuration;ConfigurationProvider;GetReloadToken;();Argument[this];ReturnValue;taint;df-generated | +| Microsoft.Extensions.Configuration;ConfigurationReloadToken;RegisterChangeCallback;(System.Action,System.Object);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Configuration;ConfigurationReloadToken;RegisterChangeCallback;(System.Action,System.Object);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Configuration;ConfigurationReloadToken;RegisterChangeCallback;(System.Action,System.Object);Argument[this];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Configuration;ConfigurationReloadToken;RegisterChangeCallback;(System.Action,System.Object);Argument[this];ReturnValue;value;hq-generated | | Microsoft.Extensions.Configuration;ConfigurationRoot;ConfigurationRoot;(System.Collections.Generic.IList);Argument[0];Argument[this].SyntheticField[Microsoft.Extensions.Configuration.ConfigurationRoot._providers];value;dfc-generated | | Microsoft.Extensions.Configuration;ConfigurationRoot;GetReloadToken;();Argument[this];ReturnValue;taint;df-generated | | Microsoft.Extensions.Configuration;ConfigurationRoot;get_Item;(System.String);Argument[this];ReturnValue;taint;manual | @@ -1810,17 +1848,28 @@ summary | Microsoft.Extensions.Configuration;ConfigurationRoot;get_Providers;();Argument[this];ReturnValue;taint;df-generated | | Microsoft.Extensions.Configuration;ConfigurationRoot;get_Providers;();Argument[this];ReturnValue;taint;dfc-generated | | Microsoft.Extensions.Configuration;ConfigurationRootExtensions;GetDebugView;(Microsoft.Extensions.Configuration.IConfigurationRoot);Argument[0].Property[Microsoft.Extensions.Configuration.IConfigurationRoot.Providers].Element;ReturnValue;taint;dfc-generated | +| Microsoft.Extensions.Configuration;ConfigurationRootExtensions;GetDebugView;(Microsoft.Extensions.Configuration.IConfigurationRoot,System.Func);Argument[0].Property[Microsoft.Extensions.Configuration.IConfigurationRoot.Providers].Element;ReturnValue;taint;dfc-generated | +| Microsoft.Extensions.Configuration;ConfigurationRootExtensions;GetDebugView;(Microsoft.Extensions.Configuration.IConfigurationRoot,System.Func);Argument[0].Property[Microsoft.Extensions.Configuration.IConfigurationRoot.Providers].Element;ReturnValue;taint;hq-generated | +| Microsoft.Extensions.Configuration;ConfigurationRootExtensions;GetDebugView;(Microsoft.Extensions.Configuration.IConfigurationRoot,System.Func);Argument[1].ReturnValue;ReturnValue;taint;dfc-generated | +| Microsoft.Extensions.Configuration;ConfigurationRootExtensions;GetDebugView;(Microsoft.Extensions.Configuration.IConfigurationRoot,System.Func);Argument[1].ReturnValue;ReturnValue;taint;hq-generated | +| Microsoft.Extensions.Configuration;ConfigurationRootExtensions;GetDebugView;(Microsoft.Extensions.Configuration.IConfigurationRoot,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Configuration;ConfigurationRootExtensions;GetDebugView;(Microsoft.Extensions.Configuration.IConfigurationRoot,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.Configuration;ConfigurationSection;ConfigurationSection;(Microsoft.Extensions.Configuration.IConfigurationRoot,System.String);Argument[1];Argument[this].SyntheticField[Microsoft.Extensions.Configuration.ConfigurationSection._path];value;dfc-generated | | Microsoft.Extensions.Configuration;ConfigurationSection;GetReloadToken;();Argument[this];ReturnValue;taint;df-generated | | Microsoft.Extensions.Configuration;ConfigurationSection;get_Item;(System.String);Argument[this];ReturnValue;taint;manual | | Microsoft.Extensions.Configuration;ConfigurationSection;get_Path;();Argument[this].SyntheticField[Microsoft.Extensions.Configuration.ConfigurationSection._path];ReturnValue;value;dfc-generated | | Microsoft.Extensions.Configuration;EnvironmentVariablesExtensions;AddEnvironmentVariables;(Microsoft.Extensions.Configuration.IConfigurationBuilder);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Configuration;EnvironmentVariablesExtensions;AddEnvironmentVariables;(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.Action);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Configuration;EnvironmentVariablesExtensions;AddEnvironmentVariables;(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.Action);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Configuration;EnvironmentVariablesExtensions;AddEnvironmentVariables;(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Configuration;EnvironmentVariablesExtensions;AddEnvironmentVariables;(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.Configuration;EnvironmentVariablesExtensions;AddEnvironmentVariables;(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.String);Argument[0];ReturnValue;value;dfc-generated | | Microsoft.Extensions.Configuration;FileConfigurationExtensions;GetFileLoadExceptionHandler;(Microsoft.Extensions.Configuration.IConfigurationBuilder);Argument[0];ReturnValue;taint;df-generated | | Microsoft.Extensions.Configuration;FileConfigurationExtensions;GetFileProvider;(Microsoft.Extensions.Configuration.IConfigurationBuilder);Argument[0];ReturnValue;taint;df-generated | | Microsoft.Extensions.Configuration;FileConfigurationExtensions;SetBasePath;(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.String);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Configuration;FileConfigurationExtensions;SetFileLoadExceptionHandler;(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.Action);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Configuration;FileConfigurationExtensions;SetFileLoadExceptionHandler;(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.Action);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Configuration;FileConfigurationExtensions;SetFileLoadExceptionHandler;(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Configuration;FileConfigurationExtensions;SetFileLoadExceptionHandler;(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.Configuration;FileConfigurationExtensions;SetFileProvider;(Microsoft.Extensions.Configuration.IConfigurationBuilder,Microsoft.Extensions.FileProviders.IFileProvider);Argument[0];ReturnValue;value;dfc-generated | | Microsoft.Extensions.Configuration;FileConfigurationProvider;ToString;();Argument[this].Property[Microsoft.Extensions.Configuration.FileConfigurationProvider.Source].Property[Microsoft.Extensions.Configuration.FileConfigurationSource.Path];ReturnValue;taint;dfc-generated | @@ -1834,12 +1883,18 @@ summary | Microsoft.Extensions.Configuration;IConfigurationProvider;GetReloadToken;();Argument[this];ReturnValue;taint;df-generated | | Microsoft.Extensions.Configuration;IConfigurationRoot;get_Providers;();Argument[this];ReturnValue;taint;df-generated | | Microsoft.Extensions.Configuration;IniConfigurationExtensions;AddIniFile;(Microsoft.Extensions.Configuration.IConfigurationBuilder,Microsoft.Extensions.FileProviders.IFileProvider,System.String,System.Boolean,System.Boolean);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Configuration;IniConfigurationExtensions;AddIniFile;(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.Action);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Configuration;IniConfigurationExtensions;AddIniFile;(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.Action);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Configuration;IniConfigurationExtensions;AddIniFile;(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Configuration;IniConfigurationExtensions;AddIniFile;(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.Configuration;IniConfigurationExtensions;AddIniFile;(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.String);Argument[0];ReturnValue;value;dfc-generated | | Microsoft.Extensions.Configuration;IniConfigurationExtensions;AddIniFile;(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.String,System.Boolean);Argument[0];ReturnValue;value;dfc-generated | | Microsoft.Extensions.Configuration;IniConfigurationExtensions;AddIniFile;(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.String,System.Boolean,System.Boolean);Argument[0];ReturnValue;value;dfc-generated | | Microsoft.Extensions.Configuration;IniConfigurationExtensions;AddIniStream;(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.IO.Stream);Argument[0];ReturnValue;value;dfc-generated | | Microsoft.Extensions.Configuration;JsonConfigurationExtensions;AddJsonFile;(Microsoft.Extensions.Configuration.IConfigurationBuilder,Microsoft.Extensions.FileProviders.IFileProvider,System.String,System.Boolean,System.Boolean);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Configuration;JsonConfigurationExtensions;AddJsonFile;(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.Action);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Configuration;JsonConfigurationExtensions;AddJsonFile;(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.Action);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Configuration;JsonConfigurationExtensions;AddJsonFile;(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Configuration;JsonConfigurationExtensions;AddJsonFile;(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.Configuration;JsonConfigurationExtensions;AddJsonFile;(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.String);Argument[0];ReturnValue;value;dfc-generated | | Microsoft.Extensions.Configuration;JsonConfigurationExtensions;AddJsonFile;(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.String,System.Boolean);Argument[0];ReturnValue;value;dfc-generated | @@ -1857,6 +1912,9 @@ summary | Microsoft.Extensions.Configuration;UserSecretsConfigurationExtensions;AddUserSecrets;(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.Boolean);Argument[0];ReturnValue;value;dfc-generated | | Microsoft.Extensions.Configuration;UserSecretsConfigurationExtensions;AddUserSecrets;(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.Boolean,System.Boolean);Argument[0];ReturnValue;value;dfc-generated | | Microsoft.Extensions.Configuration;XmlConfigurationExtensions;AddXmlFile;(Microsoft.Extensions.Configuration.IConfigurationBuilder,Microsoft.Extensions.FileProviders.IFileProvider,System.String,System.Boolean,System.Boolean);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Configuration;XmlConfigurationExtensions;AddXmlFile;(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.Action);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Configuration;XmlConfigurationExtensions;AddXmlFile;(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.Action);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Configuration;XmlConfigurationExtensions;AddXmlFile;(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Configuration;XmlConfigurationExtensions;AddXmlFile;(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.Configuration;XmlConfigurationExtensions;AddXmlFile;(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.String);Argument[0];ReturnValue;value;dfc-generated | | Microsoft.Extensions.Configuration;XmlConfigurationExtensions;AddXmlFile;(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.String,System.Boolean);Argument[0];ReturnValue;value;dfc-generated | @@ -1935,28 +1993,73 @@ summary | Microsoft.Extensions.DependencyInjection;HealthChecksBuilderDelegateExtensions;AddCheck;(Microsoft.Extensions.DependencyInjection.IHealthChecksBuilder,System.String,System.Func,System.Collections.Generic.IEnumerable);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.DependencyInjection;HealthChecksBuilderDelegateExtensions;AddCheck;(Microsoft.Extensions.DependencyInjection.IHealthChecksBuilder,System.String,System.Func,System.Collections.Generic.IEnumerable,System.Nullable);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;AddDefaultLogger;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;AddHttpMessageHandler;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Func);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;AddHttpMessageHandler;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Func);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;AddHttpMessageHandler;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;AddHttpMessageHandler;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;AddHttpMessageHandler;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Func);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;AddHttpMessageHandler;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Func);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;AddHttpMessageHandler;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;AddHttpMessageHandler;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;AddHttpMessageHandler;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;AddLogger;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Func,System.Boolean);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;AddLogger;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Func,System.Boolean);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;AddLogger;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Func,System.Boolean);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;AddLogger;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Func,System.Boolean);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;AddLogger;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Boolean);Argument[0];ReturnValue;value;dfc-generated | | Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;AddTypedClient;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder);Argument[0];ReturnValue;value;dfc-generated | | Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;AddTypedClient;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;AddTypedClient;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Func);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;AddTypedClient;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Func);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;AddTypedClient;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;AddTypedClient;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;AddTypedClient;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Func);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;AddTypedClient;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Func);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;AddTypedClient;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;AddTypedClient;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;ConfigureAdditionalHttpMessageHandlers;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Action,System.IServiceProvider>);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;ConfigureAdditionalHttpMessageHandlers;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Action,System.IServiceProvider>);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;ConfigureAdditionalHttpMessageHandlers;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Action,System.IServiceProvider>);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;ConfigureAdditionalHttpMessageHandlers;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Action,System.IServiceProvider>);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;ConfigureHttpClient;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Action);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;ConfigureHttpClient;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Action);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;ConfigureHttpClient;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;ConfigureHttpClient;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;ConfigureHttpClient;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Action);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;ConfigureHttpClient;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Action);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;ConfigureHttpClient;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;ConfigureHttpClient;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;ConfigureHttpMessageHandlerBuilder;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Action);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;ConfigureHttpMessageHandlerBuilder;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Action);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;ConfigureHttpMessageHandlerBuilder;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;ConfigureHttpMessageHandlerBuilder;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;ConfigurePrimaryHttpMessageHandler;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Action);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;ConfigurePrimaryHttpMessageHandler;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Action);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;ConfigurePrimaryHttpMessageHandler;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;ConfigurePrimaryHttpMessageHandler;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;ConfigurePrimaryHttpMessageHandler;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Func);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;ConfigurePrimaryHttpMessageHandler;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Func);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;ConfigurePrimaryHttpMessageHandler;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;ConfigurePrimaryHttpMessageHandler;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;ConfigurePrimaryHttpMessageHandler;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Func);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;ConfigurePrimaryHttpMessageHandler;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Func);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;ConfigurePrimaryHttpMessageHandler;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;ConfigurePrimaryHttpMessageHandler;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;ConfigurePrimaryHttpMessageHandler;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder);Argument[0];ReturnValue;value;dfc-generated | | Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;RedactLoggedHeaders;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Collections.Generic.IEnumerable);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;RedactLoggedHeaders;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Func);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;RedactLoggedHeaders;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Func);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;RedactLoggedHeaders;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;RedactLoggedHeaders;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;RemoveAllLoggers;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder);Argument[0];ReturnValue;value;dfc-generated | | Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;SetHandlerLifetime;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.TimeSpan);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;UseSocketsHttpHandler;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Action);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;UseSocketsHttpHandler;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Action);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;UseSocketsHttpHandler;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;UseSocketsHttpHandler;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;UseSocketsHttpHandler;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Action);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;UseSocketsHttpHandler;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Action);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;UseSocketsHttpHandler;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;UseSocketsHttpHandler;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.DependencyInjection;HttpClientFactoryServiceCollectionExtensions;AddHttpClient;(Microsoft.Extensions.DependencyInjection.IServiceCollection);Argument[0];ReturnValue;value;dfc-generated | | Microsoft.Extensions.DependencyInjection;HttpClientFactoryServiceCollectionExtensions;AddHttpClient;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.String);Argument[0].Element;ReturnValue;taint;df-generated | @@ -1981,6 +2084,9 @@ summary | Microsoft.Extensions.DependencyInjection;HttpClientFactoryServiceCollectionExtensions;AddHttpClient;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.String);Argument[1];ReturnValue;taint;df-generated | | Microsoft.Extensions.DependencyInjection;HttpClientFactoryServiceCollectionExtensions;AddHttpClient;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.String,System.Action);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.DependencyInjection;HttpClientFactoryServiceCollectionExtensions;AddHttpClient;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.String,System.Action);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.DependencyInjection;HttpClientFactoryServiceCollectionExtensions;ConfigureHttpClientDefaults;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;HttpClientFactoryServiceCollectionExtensions;ConfigureHttpClientDefaults;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.DependencyInjection;HttpClientFactoryServiceCollectionExtensions;ConfigureHttpClientDefaults;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;HttpClientFactoryServiceCollectionExtensions;ConfigureHttpClientDefaults;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.DependencyInjection;HttpJsonServiceExtensions;ConfigureHttpJsonOptions;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.DependencyInjection;HttpLoggingServicesExtensions;AddHttpLogging;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | @@ -1995,12 +2101,24 @@ summary | Microsoft.Extensions.DependencyInjection;JsonProtocolDependencyInjectionExtensions;AddJsonProtocol;(TBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.DependencyInjection;LocalizationServiceCollectionExtensions;AddLocalization;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.DependencyInjection;LoggingServiceCollectionExtensions;AddLogging;(Microsoft.Extensions.DependencyInjection.IServiceCollection);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;LoggingServiceCollectionExtensions;AddLogging;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;LoggingServiceCollectionExtensions;AddLogging;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.DependencyInjection;LoggingServiceCollectionExtensions;AddLogging;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;LoggingServiceCollectionExtensions;AddLogging;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.DependencyInjection;MemoryCacheServiceCollectionExtensions;AddDistributedMemoryCache;(Microsoft.Extensions.DependencyInjection.IServiceCollection);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;MemoryCacheServiceCollectionExtensions;AddDistributedMemoryCache;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;MemoryCacheServiceCollectionExtensions;AddDistributedMemoryCache;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.DependencyInjection;MemoryCacheServiceCollectionExtensions;AddDistributedMemoryCache;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;MemoryCacheServiceCollectionExtensions;AddDistributedMemoryCache;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.DependencyInjection;MemoryCacheServiceCollectionExtensions;AddMemoryCache;(Microsoft.Extensions.DependencyInjection.IServiceCollection);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;MemoryCacheServiceCollectionExtensions;AddMemoryCache;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;MemoryCacheServiceCollectionExtensions;AddMemoryCache;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.DependencyInjection;MemoryCacheServiceCollectionExtensions;AddMemoryCache;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;MemoryCacheServiceCollectionExtensions;AddMemoryCache;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.DependencyInjection;MetricsServiceExtensions;AddMetrics;(Microsoft.Extensions.DependencyInjection.IServiceCollection);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;MetricsServiceExtensions;AddMetrics;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;MetricsServiceExtensions;AddMetrics;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.DependencyInjection;MetricsServiceExtensions;AddMetrics;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;MetricsServiceExtensions;AddMetrics;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.DependencyInjection;MvcCoreMvcBuilderExtensions;AddFormatterMappings;(Microsoft.Extensions.DependencyInjection.IMvcBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.DependencyInjection;MvcCoreMvcBuilderExtensions;AddJsonOptions;(Microsoft.Extensions.DependencyInjection.IMvcBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | @@ -2066,23 +2184,53 @@ summary | Microsoft.Extensions.DependencyInjection;ObjectFactory;BeginInvoke;(System.IServiceProvider,System.Object[],System.AsyncCallback,System.Object);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.DependencyInjection;ObjectFactory;BeginInvoke;(System.IServiceProvider,System.Object[],System.AsyncCallback,System.Object);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.DependencyInjection;OptionsBuilderConfigurationExtensions;Bind;(Microsoft.Extensions.Options.OptionsBuilder,Microsoft.Extensions.Configuration.IConfiguration);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;OptionsBuilderConfigurationExtensions;Bind;(Microsoft.Extensions.Options.OptionsBuilder,Microsoft.Extensions.Configuration.IConfiguration,System.Action);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;OptionsBuilderConfigurationExtensions;Bind;(Microsoft.Extensions.Options.OptionsBuilder,Microsoft.Extensions.Configuration.IConfiguration,System.Action);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.DependencyInjection;OptionsBuilderConfigurationExtensions;Bind;(Microsoft.Extensions.Options.OptionsBuilder,Microsoft.Extensions.Configuration.IConfiguration,System.Action);Argument[2];Argument[2].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;OptionsBuilderConfigurationExtensions;Bind;(Microsoft.Extensions.Options.OptionsBuilder,Microsoft.Extensions.Configuration.IConfiguration,System.Action);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.DependencyInjection;OptionsBuilderConfigurationExtensions;BindConfiguration;(Microsoft.Extensions.Options.OptionsBuilder,System.String,System.Action);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;OptionsBuilderConfigurationExtensions;BindConfiguration;(Microsoft.Extensions.Options.OptionsBuilder,System.String,System.Action);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.DependencyInjection;OptionsBuilderConfigurationExtensions;BindConfiguration;(Microsoft.Extensions.Options.OptionsBuilder,System.String,System.Action);Argument[2];Argument[2].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;OptionsBuilderConfigurationExtensions;BindConfiguration;(Microsoft.Extensions.Options.OptionsBuilder,System.String,System.Action);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.DependencyInjection;OptionsBuilderDataAnnotationsExtensions;ValidateDataAnnotations;(Microsoft.Extensions.Options.OptionsBuilder);Argument[0];ReturnValue;value;dfc-generated | | Microsoft.Extensions.DependencyInjection;OptionsBuilderExtensions;ValidateOnStart;(Microsoft.Extensions.Options.OptionsBuilder);Argument[0];ReturnValue;value;dfc-generated | | Microsoft.Extensions.DependencyInjection;OptionsConfigurationServiceCollectionExtensions;Configure;(Microsoft.Extensions.DependencyInjection.IServiceCollection,Microsoft.Extensions.Configuration.IConfiguration);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;OptionsConfigurationServiceCollectionExtensions;Configure;(Microsoft.Extensions.DependencyInjection.IServiceCollection,Microsoft.Extensions.Configuration.IConfiguration,System.Action);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;OptionsConfigurationServiceCollectionExtensions;Configure;(Microsoft.Extensions.DependencyInjection.IServiceCollection,Microsoft.Extensions.Configuration.IConfiguration,System.Action);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.DependencyInjection;OptionsConfigurationServiceCollectionExtensions;Configure;(Microsoft.Extensions.DependencyInjection.IServiceCollection,Microsoft.Extensions.Configuration.IConfiguration,System.Action);Argument[2];Argument[2].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;OptionsConfigurationServiceCollectionExtensions;Configure;(Microsoft.Extensions.DependencyInjection.IServiceCollection,Microsoft.Extensions.Configuration.IConfiguration,System.Action);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.DependencyInjection;OptionsConfigurationServiceCollectionExtensions;Configure;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.String,Microsoft.Extensions.Configuration.IConfiguration);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;OptionsConfigurationServiceCollectionExtensions;Configure;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.String,Microsoft.Extensions.Configuration.IConfiguration,System.Action);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;OptionsConfigurationServiceCollectionExtensions;Configure;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.String,Microsoft.Extensions.Configuration.IConfiguration,System.Action);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.DependencyInjection;OptionsConfigurationServiceCollectionExtensions;Configure;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.String,Microsoft.Extensions.Configuration.IConfiguration,System.Action);Argument[3];Argument[3].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;OptionsConfigurationServiceCollectionExtensions;Configure;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.String,Microsoft.Extensions.Configuration.IConfiguration,System.Action);Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.DependencyInjection;OptionsServiceCollectionExtensions;AddOptions;(Microsoft.Extensions.DependencyInjection.IServiceCollection);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;OptionsServiceCollectionExtensions;Configure;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;OptionsServiceCollectionExtensions;Configure;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.DependencyInjection;OptionsServiceCollectionExtensions;Configure;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;OptionsServiceCollectionExtensions;Configure;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.DependencyInjection;OptionsServiceCollectionExtensions;Configure;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.String,System.Action);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;OptionsServiceCollectionExtensions;Configure;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.String,System.Action);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.DependencyInjection;OptionsServiceCollectionExtensions;Configure;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.String,System.Action);Argument[2];Argument[2].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;OptionsServiceCollectionExtensions;Configure;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.String,System.Action);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.DependencyInjection;OptionsServiceCollectionExtensions;ConfigureAll;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;OptionsServiceCollectionExtensions;ConfigureAll;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.DependencyInjection;OptionsServiceCollectionExtensions;ConfigureAll;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;OptionsServiceCollectionExtensions;ConfigureAll;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.DependencyInjection;OptionsServiceCollectionExtensions;ConfigureOptions;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Object);Argument[0];ReturnValue;value;dfc-generated | | Microsoft.Extensions.DependencyInjection;OptionsServiceCollectionExtensions;ConfigureOptions;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type);Argument[0];ReturnValue;value;dfc-generated | | Microsoft.Extensions.DependencyInjection;OptionsServiceCollectionExtensions;ConfigureOptions;(Microsoft.Extensions.DependencyInjection.IServiceCollection);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;OptionsServiceCollectionExtensions;PostConfigure;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;OptionsServiceCollectionExtensions;PostConfigure;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.DependencyInjection;OptionsServiceCollectionExtensions;PostConfigure;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;OptionsServiceCollectionExtensions;PostConfigure;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.DependencyInjection;OptionsServiceCollectionExtensions;PostConfigure;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.String,System.Action);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;OptionsServiceCollectionExtensions;PostConfigure;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.String,System.Action);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.DependencyInjection;OptionsServiceCollectionExtensions;PostConfigure;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.String,System.Action);Argument[2];Argument[2].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;OptionsServiceCollectionExtensions;PostConfigure;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.String,System.Action);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.DependencyInjection;OptionsServiceCollectionExtensions;PostConfigureAll;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;OptionsServiceCollectionExtensions;PostConfigureAll;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.DependencyInjection;OptionsServiceCollectionExtensions;PostConfigureAll;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;OptionsServiceCollectionExtensions;PostConfigureAll;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.DependencyInjection;OutputCacheConventionBuilderExtensions;CacheOutput;(TBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.DependencyInjection;OutputCacheConventionBuilderExtensions;CacheOutput;(TBuilder,System.Action,System.Boolean);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | @@ -2109,82 +2257,205 @@ summary | Microsoft.Extensions.DependencyInjection;ServiceCollection;get_Item;(System.Int32);Argument[this].Element;ReturnValue;value;manual | | Microsoft.Extensions.DependencyInjection;ServiceCollection;set_Item;(System.Int32,Microsoft.Extensions.DependencyInjection.ServiceDescriptor);Argument[1];Argument[this].Element;value;manual | | Microsoft.Extensions.DependencyInjection;ServiceCollectionHostedServiceExtensions;AddHostedService;(Microsoft.Extensions.DependencyInjection.IServiceCollection);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceCollectionHostedServiceExtensions;AddHostedService;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Func);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceCollectionHostedServiceExtensions;AddHostedService;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Func);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.DependencyInjection;ServiceCollectionHostedServiceExtensions;AddHostedService;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;ServiceCollectionHostedServiceExtensions;AddHostedService;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddKeyedScoped;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Object);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddKeyedScoped;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Object,System.Func);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddKeyedScoped;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Object,System.Func);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddKeyedScoped;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Object,System.Func);Argument[3];Argument[3].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddKeyedScoped;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Object,System.Func);Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddKeyedScoped;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Object,System.Type);Argument[0];ReturnValue;value;dfc-generated | | Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddKeyedScoped;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Object);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddKeyedScoped;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Object,System.Func);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddKeyedScoped;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Object,System.Func);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddKeyedScoped;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Object,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddKeyedScoped;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Object,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddKeyedScoped;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Object);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddKeyedScoped;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Object,System.Func);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddKeyedScoped;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Object,System.Func);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddKeyedScoped;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Object,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddKeyedScoped;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Object,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddKeyedSingleton;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Object);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddKeyedSingleton;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Object,System.Func);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddKeyedSingleton;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Object,System.Func);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddKeyedSingleton;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Object,System.Func);Argument[3];Argument[3].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddKeyedSingleton;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Object,System.Func);Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddKeyedSingleton;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Object,System.Object);Argument[0];ReturnValue;value;dfc-generated | | Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddKeyedSingleton;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Object,System.Type);Argument[0];ReturnValue;value;dfc-generated | | Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddKeyedSingleton;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Object);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddKeyedSingleton;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Object,System.Func);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddKeyedSingleton;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Object,System.Func);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddKeyedSingleton;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Object,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddKeyedSingleton;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Object,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddKeyedSingleton;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Object);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddKeyedSingleton;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Object,System.Func);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddKeyedSingleton;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Object,System.Func);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddKeyedSingleton;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Object,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddKeyedSingleton;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Object,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddKeyedSingleton;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Object,TService);Argument[0];ReturnValue;value;dfc-generated | | Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddKeyedTransient;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Object);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddKeyedTransient;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Object,System.Func);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddKeyedTransient;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Object,System.Func);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddKeyedTransient;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Object,System.Func);Argument[3];Argument[3].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddKeyedTransient;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Object,System.Func);Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddKeyedTransient;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Object,System.Type);Argument[0];ReturnValue;value;dfc-generated | | Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddKeyedTransient;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Object);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddKeyedTransient;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Object,System.Func);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddKeyedTransient;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Object,System.Func);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddKeyedTransient;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Object,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddKeyedTransient;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Object,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddKeyedTransient;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Object);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddKeyedTransient;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Object,System.Func);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddKeyedTransient;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Object,System.Func);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddKeyedTransient;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Object,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddKeyedTransient;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Object,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddScoped;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddScoped;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Func);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddScoped;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Func);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddScoped;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddScoped;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddScoped;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Type);Argument[0];ReturnValue;value;dfc-generated | | Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddScoped;(Microsoft.Extensions.DependencyInjection.IServiceCollection);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddScoped;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Func);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddScoped;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Func);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddScoped;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddScoped;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddScoped;(Microsoft.Extensions.DependencyInjection.IServiceCollection);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddScoped;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Func);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddScoped;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Func);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddScoped;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddScoped;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddSingleton;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddSingleton;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Func);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddSingleton;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Func);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddSingleton;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddSingleton;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddSingleton;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Object);Argument[0];ReturnValue;value;dfc-generated | | Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddSingleton;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Type);Argument[0];ReturnValue;value;dfc-generated | | Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddSingleton;(Microsoft.Extensions.DependencyInjection.IServiceCollection);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddSingleton;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Func);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddSingleton;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Func);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddSingleton;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddSingleton;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddSingleton;(Microsoft.Extensions.DependencyInjection.IServiceCollection);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddSingleton;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Func);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddSingleton;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Func);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddSingleton;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddSingleton;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddSingleton;(Microsoft.Extensions.DependencyInjection.IServiceCollection,TService);Argument[0];ReturnValue;value;dfc-generated | | Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddTransient;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddTransient;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Func);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddTransient;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Func);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddTransient;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddTransient;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddTransient;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Type);Argument[0];ReturnValue;value;dfc-generated | | Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddTransient;(Microsoft.Extensions.DependencyInjection.IServiceCollection);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddTransient;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Func);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddTransient;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Func);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddTransient;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddTransient;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddTransient;(Microsoft.Extensions.DependencyInjection.IServiceCollection);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddTransient;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Func);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddTransient;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Func);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddTransient;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddTransient;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;Describe;(System.Type,System.Func,Microsoft.Extensions.DependencyInjection.ServiceLifetime);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;ServiceDescriptor;Describe;(System.Type,System.Func,Microsoft.Extensions.DependencyInjection.ServiceLifetime);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;Describe;(System.Type,System.Func,Microsoft.Extensions.DependencyInjection.ServiceLifetime);Argument[1];ReturnValue.SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationFactory];value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;Describe;(System.Type,System.Func,Microsoft.Extensions.DependencyInjection.ServiceLifetime);Argument[1];ReturnValue.SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationFactory];value;hq-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;DescribeKeyed;(System.Type,System.Object,System.Func,Microsoft.Extensions.DependencyInjection.ServiceLifetime);Argument[2];Argument[2].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;ServiceDescriptor;DescribeKeyed;(System.Type,System.Object,System.Func,Microsoft.Extensions.DependencyInjection.ServiceLifetime);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;DescribeKeyed;(System.Type,System.Object,System.Func,Microsoft.Extensions.DependencyInjection.ServiceLifetime);Argument[2];ReturnValue.SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationFactory];value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;DescribeKeyed;(System.Type,System.Object,System.Func,Microsoft.Extensions.DependencyInjection.ServiceLifetime);Argument[2];ReturnValue.SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationFactory];value;hq-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;KeyedScoped;(System.Type,System.Object,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;ServiceDescriptor;KeyedScoped;(System.Type,System.Object,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;KeyedScoped;(System.Type,System.Object,System.Func);Argument[2];ReturnValue.SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationFactory];value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;KeyedScoped;(System.Type,System.Object,System.Func);Argument[2];ReturnValue.SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationFactory];value;hq-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;KeyedScoped;(System.Object,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;ServiceDescriptor;KeyedScoped;(System.Object,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;KeyedScoped;(System.Object,System.Func);Argument[1];ReturnValue.SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationFactory];value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;KeyedScoped;(System.Object,System.Func);Argument[1];ReturnValue.SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationFactory];value;hq-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;KeyedScoped;(System.Object,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;ServiceDescriptor;KeyedScoped;(System.Object,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;KeyedScoped;(System.Object,System.Func);Argument[1];ReturnValue.SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationFactory];value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;KeyedScoped;(System.Object,System.Func);Argument[1];ReturnValue.SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationFactory];value;hq-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;KeyedSingleton;(System.Type,System.Object,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;ServiceDescriptor;KeyedSingleton;(System.Type,System.Object,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;KeyedSingleton;(System.Type,System.Object,System.Func);Argument[2];ReturnValue.SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationFactory];value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;KeyedSingleton;(System.Type,System.Object,System.Func);Argument[2];ReturnValue.SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationFactory];value;hq-generated | | Microsoft.Extensions.DependencyInjection;ServiceDescriptor;KeyedSingleton;(System.Type,System.Object,System.Object);Argument[2];ReturnValue.SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationInstance];value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;KeyedSingleton;(System.Object,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;ServiceDescriptor;KeyedSingleton;(System.Object,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;KeyedSingleton;(System.Object,System.Func);Argument[1];ReturnValue.SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationFactory];value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;KeyedSingleton;(System.Object,System.Func);Argument[1];ReturnValue.SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationFactory];value;hq-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;KeyedSingleton;(System.Object,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;ServiceDescriptor;KeyedSingleton;(System.Object,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;KeyedSingleton;(System.Object,System.Func);Argument[1];ReturnValue.SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationFactory];value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;KeyedSingleton;(System.Object,System.Func);Argument[1];ReturnValue.SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationFactory];value;hq-generated | | Microsoft.Extensions.DependencyInjection;ServiceDescriptor;KeyedSingleton;(System.Object,TService);Argument[1];ReturnValue.SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationInstance];value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;KeyedTransient;(System.Type,System.Object,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;ServiceDescriptor;KeyedTransient;(System.Type,System.Object,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;KeyedTransient;(System.Type,System.Object,System.Func);Argument[2];ReturnValue.SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationFactory];value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;KeyedTransient;(System.Type,System.Object,System.Func);Argument[2];ReturnValue.SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationFactory];value;hq-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;KeyedTransient;(System.Object,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;ServiceDescriptor;KeyedTransient;(System.Object,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;KeyedTransient;(System.Object,System.Func);Argument[1];ReturnValue.SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationFactory];value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;KeyedTransient;(System.Object,System.Func);Argument[1];ReturnValue.SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationFactory];value;hq-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;KeyedTransient;(System.Object,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;ServiceDescriptor;KeyedTransient;(System.Object,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;KeyedTransient;(System.Object,System.Func);Argument[1];ReturnValue.SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationFactory];value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;KeyedTransient;(System.Object,System.Func);Argument[1];ReturnValue.SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationFactory];value;hq-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;Scoped;(System.Type,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;ServiceDescriptor;Scoped;(System.Type,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;Scoped;(System.Type,System.Func);Argument[1];ReturnValue.SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationFactory];value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;Scoped;(System.Type,System.Func);Argument[1];ReturnValue.SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationFactory];value;hq-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;Scoped;(System.Func);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;ServiceDescriptor;Scoped;(System.Func);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;Scoped;(System.Func);Argument[0];ReturnValue.SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationFactory];value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;Scoped;(System.Func);Argument[0];ReturnValue.SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationFactory];value;hq-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;Scoped;(System.Func);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;ServiceDescriptor;Scoped;(System.Func);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;Scoped;(System.Func);Argument[0];ReturnValue.SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationFactory];value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;Scoped;(System.Func);Argument[0];ReturnValue.SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationFactory];value;hq-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;ServiceDescriptor;(System.Type,System.Func,Microsoft.Extensions.DependencyInjection.ServiceLifetime);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;ServiceDescriptor;ServiceDescriptor;(System.Type,System.Func,Microsoft.Extensions.DependencyInjection.ServiceLifetime);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;ServiceDescriptor;(System.Type,System.Func,Microsoft.Extensions.DependencyInjection.ServiceLifetime);Argument[1];Argument[this].SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationFactory];value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;ServiceDescriptor;(System.Type,System.Func,Microsoft.Extensions.DependencyInjection.ServiceLifetime);Argument[1];Argument[this].SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationFactory];value;hq-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;ServiceDescriptor;(System.Type,System.Object,System.Func,Microsoft.Extensions.DependencyInjection.ServiceLifetime);Argument[2];Argument[2].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;ServiceDescriptor;ServiceDescriptor;(System.Type,System.Object,System.Func,Microsoft.Extensions.DependencyInjection.ServiceLifetime);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;ServiceDescriptor;(System.Type,System.Object,System.Func,Microsoft.Extensions.DependencyInjection.ServiceLifetime);Argument[2];Argument[this].SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationFactory];value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;ServiceDescriptor;(System.Type,System.Object,System.Func,Microsoft.Extensions.DependencyInjection.ServiceLifetime);Argument[2];Argument[this].SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationFactory];value;hq-generated | | Microsoft.Extensions.DependencyInjection;ServiceDescriptor;ServiceDescriptor;(System.Type,System.Object,System.Object);Argument[2];Argument[this].SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationInstance];value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;Singleton;(System.Type,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;ServiceDescriptor;Singleton;(System.Type,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;Singleton;(System.Type,System.Func);Argument[1];ReturnValue.SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationFactory];value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;Singleton;(System.Type,System.Func);Argument[1];ReturnValue.SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationFactory];value;hq-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;Singleton;(System.Func);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;ServiceDescriptor;Singleton;(System.Func);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;Singleton;(System.Func);Argument[0];ReturnValue.SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationFactory];value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;Singleton;(System.Func);Argument[0];ReturnValue.SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationFactory];value;hq-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;Singleton;(System.Func);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;ServiceDescriptor;Singleton;(System.Func);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;Singleton;(System.Func);Argument[0];ReturnValue.SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationFactory];value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;Singleton;(System.Func);Argument[0];ReturnValue.SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationFactory];value;hq-generated | | Microsoft.Extensions.DependencyInjection;ServiceDescriptor;ToString;();Argument[this];ReturnValue;taint;df-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;Transient;(System.Type,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;ServiceDescriptor;Transient;(System.Type,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;Transient;(System.Type,System.Func);Argument[1];ReturnValue.SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationFactory];value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;Transient;(System.Type,System.Func);Argument[1];ReturnValue.SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationFactory];value;hq-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;Transient;(System.Func);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;ServiceDescriptor;Transient;(System.Func);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;Transient;(System.Func);Argument[0];ReturnValue.SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationFactory];value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;Transient;(System.Func);Argument[0];ReturnValue.SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationFactory];value;hq-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;Transient;(System.Func);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;ServiceDescriptor;Transient;(System.Func);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | -| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;get_ImplementationFactory;();Argument[this];ReturnValue;taint;df-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;Transient;(System.Func);Argument[0];ReturnValue.SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationFactory];value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;Transient;(System.Func);Argument[0];ReturnValue.SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationFactory];value;hq-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;get_ImplementationFactory;();Argument[this].SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationFactory];ReturnValue;value;dfc-generated | | Microsoft.Extensions.DependencyInjection;ServiceDescriptor;get_ImplementationInstance;();Argument[this].SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationInstance];ReturnValue;value;dfc-generated | -| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;get_KeyedImplementationFactory;();Argument[this];ReturnValue;taint;df-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;get_KeyedImplementationFactory;();Argument[this].SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationFactory];ReturnValue;value;dfc-generated | | Microsoft.Extensions.DependencyInjection;ServiceDescriptor;get_KeyedImplementationInstance;();Argument[this].SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationInstance];ReturnValue;value;dfc-generated | | Microsoft.Extensions.DependencyInjection;ServiceProvider;DisposeAsync;();Argument[this];ReturnValue;taint;df-generated | | Microsoft.Extensions.DependencyInjection;ServiceProvider;GetService;(System.Type);Argument[this];ReturnValue;value;dfc-generated | @@ -2195,6 +2466,9 @@ summary | Microsoft.Extensions.DependencyInjection;SignalRDependencyInjectionExtensions;AddHubOptions;(Microsoft.AspNetCore.SignalR.ISignalRServerBuilder,System.Action>);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.DependencyInjection;SignalRDependencyInjectionExtensions;AddSignalR;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.DependencyInjection;SocketsHttpHandlerBuilderExtensions;Configure;(Microsoft.Extensions.DependencyInjection.ISocketsHttpHandlerBuilder,Microsoft.Extensions.Configuration.IConfiguration);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;SocketsHttpHandlerBuilderExtensions;Configure;(Microsoft.Extensions.DependencyInjection.ISocketsHttpHandlerBuilder,System.Action);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;SocketsHttpHandlerBuilderExtensions;Configure;(Microsoft.Extensions.DependencyInjection.ISocketsHttpHandlerBuilder,System.Action);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.DependencyInjection;SocketsHttpHandlerBuilderExtensions;Configure;(Microsoft.Extensions.DependencyInjection.ISocketsHttpHandlerBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;SocketsHttpHandlerBuilderExtensions;Configure;(Microsoft.Extensions.DependencyInjection.ISocketsHttpHandlerBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.DependencyInjection;TagHelperServicesExtensions;AddCacheTagHelperLimits;(Microsoft.Extensions.DependencyInjection.IMvcBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.DependencyInjection;TagHelperServicesExtensions;AddCacheTagHelperLimits;(Microsoft.Extensions.DependencyInjection.IMvcCoreBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | @@ -2242,14 +2516,23 @@ summary | Microsoft.Extensions.FileProviders.Physical;PhysicalFilesWatcher;PhysicalFilesWatcher;(System.String,System.IO.FileSystemWatcher,System.Boolean,Microsoft.Extensions.FileProviders.Physical.ExclusionFilters);Argument[0];Argument[this];taint;df-generated | | Microsoft.Extensions.FileProviders.Physical;PhysicalFilesWatcher;PhysicalFilesWatcher;(System.String,System.IO.FileSystemWatcher,System.Boolean,Microsoft.Extensions.FileProviders.Physical.ExclusionFilters);Argument[1];Argument[this];taint;df-generated | | Microsoft.Extensions.FileProviders.Physical;PollingFileChangeToken;PollingFileChangeToken;(System.IO.FileInfo);Argument[0];Argument[this];taint;df-generated | +| Microsoft.Extensions.FileProviders.Physical;PollingFileChangeToken;RegisterChangeCallback;(System.Action,System.Object);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.FileProviders.Physical;PollingFileChangeToken;RegisterChangeCallback;(System.Action,System.Object);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.FileProviders.Physical;PollingFileChangeToken;RegisterChangeCallback;(System.Action,System.Object);Argument[this];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.FileProviders.Physical;PollingFileChangeToken;RegisterChangeCallback;(System.Action,System.Object);Argument[this];ReturnValue;value;hq-generated | +| Microsoft.Extensions.FileProviders.Physical;PollingWildCardChangeToken;RegisterChangeCallback;(System.Action,System.Object);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.FileProviders.Physical;PollingWildCardChangeToken;RegisterChangeCallback;(System.Action,System.Object);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.FileProviders.Physical;PollingWildCardChangeToken;RegisterChangeCallback;(System.Action,System.Object);Argument[this];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.FileProviders.Physical;PollingWildCardChangeToken;RegisterChangeCallback;(System.Action,System.Object);Argument[this];ReturnValue;value;hq-generated | | Microsoft.Extensions.FileProviders;CompositeFileProvider;CompositeFileProvider;(Microsoft.Extensions.FileProviders.IFileProvider[]);Argument[0];Argument[this].SyntheticField[Microsoft.Extensions.FileProviders.CompositeFileProvider._fileProviders];value;dfc-generated | | Microsoft.Extensions.FileProviders;CompositeFileProvider;CompositeFileProvider;(System.Collections.Generic.IEnumerable);Argument[0].Element;Argument[this].SyntheticField[Microsoft.Extensions.FileProviders.CompositeFileProvider._fileProviders].Element;value;dfc-generated | | Microsoft.Extensions.FileProviders;CompositeFileProvider;get_FileProviders;();Argument[this].SyntheticField[Microsoft.Extensions.FileProviders.CompositeFileProvider._fileProviders];ReturnValue;value;dfc-generated | | Microsoft.Extensions.FileProviders;NotFoundDirectoryContents;GetEnumerator;();Argument[this].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator`1.Current];value;manual | | Microsoft.Extensions.FileProviders;NotFoundDirectoryContents;GetEnumerator;();Argument[this].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| Microsoft.Extensions.FileProviders;NullChangeToken;RegisterChangeCallback;(System.Action,System.Object);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.FileProviders;NullChangeToken;RegisterChangeCallback;(System.Action,System.Object);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.FileProviders;NullChangeToken;RegisterChangeCallback;(System.Action,System.Object);Argument[this];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.FileProviders;NullChangeToken;RegisterChangeCallback;(System.Action,System.Object);Argument[this];ReturnValue;value;hq-generated | | Microsoft.Extensions.FileSystemGlobbing.Abstractions;DirectoryInfoBase;EnumerateFileSystemInfos;();Argument[this];ReturnValue;taint;df-generated | | Microsoft.Extensions.FileSystemGlobbing.Abstractions;DirectoryInfoBase;GetDirectory;(System.String);Argument[this];ReturnValue;taint;df-generated | | Microsoft.Extensions.FileSystemGlobbing.Abstractions;DirectoryInfoWrapper;EnumerateFileSystemInfos;();Argument[this];ReturnValue;taint;df-generated | @@ -2292,7 +2575,6 @@ summary | Microsoft.Extensions.FileSystemGlobbing;InMemoryDirectoryInfo;get_ParentDirectory;();Argument[this];ReturnValue;taint;df-generated | | Microsoft.Extensions.FileSystemGlobbing;Matcher;AddExclude;(System.String);Argument[this];ReturnValue;value;dfc-generated | | Microsoft.Extensions.FileSystemGlobbing;Matcher;AddInclude;(System.String);Argument[this];ReturnValue;value;dfc-generated | -| Microsoft.Extensions.FileSystemGlobbing;MatcherExtensions;GetResultsInFullPath;(Microsoft.Extensions.FileSystemGlobbing.Matcher,System.String);Argument[1];ReturnValue.Element;taint;dfc-generated | | Microsoft.Extensions.Hosting.Internal;ApplicationLifetime;ApplicationLifetime;(Microsoft.Extensions.Logging.ILogger);Argument[0];Argument[this];taint;df-generated | | Microsoft.Extensions.Hosting.Internal;ApplicationLifetime;get_ApplicationStarted;();Argument[this];ReturnValue;taint;df-generated | | Microsoft.Extensions.Hosting.Internal;ApplicationLifetime;get_ApplicationStopped;();Argument[this];ReturnValue;taint;df-generated | @@ -2321,27 +2603,78 @@ summary | Microsoft.Extensions.Hosting;HostApplicationBuilder;get_Metrics;();Argument[this];ReturnValue;taint;df-generated | | Microsoft.Extensions.Hosting;HostApplicationBuilder;get_Properties;();Argument[this];ReturnValue;taint;df-generated | | Microsoft.Extensions.Hosting;HostApplicationBuilder;get_Services;();Argument[this];ReturnValue;taint;df-generated | +| Microsoft.Extensions.Hosting;HostBuilder;ConfigureAppConfiguration;(System.Action);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Hosting;HostBuilder;ConfigureAppConfiguration;(System.Action);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Hosting;HostBuilder;ConfigureAppConfiguration;(System.Action);Argument[this];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Hosting;HostBuilder;ConfigureAppConfiguration;(System.Action);Argument[this];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Hosting;HostBuilder;ConfigureContainer;(System.Action);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Hosting;HostBuilder;ConfigureContainer;(System.Action);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Hosting;HostBuilder;ConfigureContainer;(System.Action);Argument[this];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Hosting;HostBuilder;ConfigureContainer;(System.Action);Argument[this];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Hosting;HostBuilder;ConfigureHostConfiguration;(System.Action);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Hosting;HostBuilder;ConfigureHostConfiguration;(System.Action);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Hosting;HostBuilder;ConfigureHostConfiguration;(System.Action);Argument[this];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Hosting;HostBuilder;ConfigureHostConfiguration;(System.Action);Argument[this];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Hosting;HostBuilder;ConfigureServices;(System.Action);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Hosting;HostBuilder;ConfigureServices;(System.Action);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Hosting;HostBuilder;ConfigureServices;(System.Action);Argument[this];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Hosting;HostBuilder;ConfigureServices;(System.Action);Argument[this];ReturnValue;value;hq-generated | | Microsoft.Extensions.Hosting;HostBuilder;UseServiceProviderFactory;(Microsoft.Extensions.DependencyInjection.IServiceProviderFactory);Argument[this];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Hosting;HostBuilder;UseServiceProviderFactory;(System.Func>);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Hosting;HostBuilder;UseServiceProviderFactory;(System.Func>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Hosting;HostBuilder;UseServiceProviderFactory;(System.Func>);Argument[this];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Hosting;HostBuilder;UseServiceProviderFactory;(System.Func>);Argument[this];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Hosting;HostingHostBuilderExtensions;ConfigureAppConfiguration;(Microsoft.Extensions.Hosting.IHostBuilder,System.Action);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Hosting;HostingHostBuilderExtensions;ConfigureAppConfiguration;(Microsoft.Extensions.Hosting.IHostBuilder,System.Action);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Hosting;HostingHostBuilderExtensions;ConfigureAppConfiguration;(Microsoft.Extensions.Hosting.IHostBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Hosting;HostingHostBuilderExtensions;ConfigureAppConfiguration;(Microsoft.Extensions.Hosting.IHostBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Hosting;HostingHostBuilderExtensions;ConfigureContainer;(Microsoft.Extensions.Hosting.IHostBuilder,System.Action);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Hosting;HostingHostBuilderExtensions;ConfigureContainer;(Microsoft.Extensions.Hosting.IHostBuilder,System.Action);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Hosting;HostingHostBuilderExtensions;ConfigureContainer;(Microsoft.Extensions.Hosting.IHostBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Hosting;HostingHostBuilderExtensions;ConfigureContainer;(Microsoft.Extensions.Hosting.IHostBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.Hosting;HostingHostBuilderExtensions;ConfigureDefaults;(Microsoft.Extensions.Hosting.IHostBuilder,System.String[]);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Hosting;HostingHostBuilderExtensions;ConfigureHostOptions;(Microsoft.Extensions.Hosting.IHostBuilder,System.Action);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Hosting;HostingHostBuilderExtensions;ConfigureHostOptions;(Microsoft.Extensions.Hosting.IHostBuilder,System.Action);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Hosting;HostingHostBuilderExtensions;ConfigureHostOptions;(Microsoft.Extensions.Hosting.IHostBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Hosting;HostingHostBuilderExtensions;ConfigureHostOptions;(Microsoft.Extensions.Hosting.IHostBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Hosting;HostingHostBuilderExtensions;ConfigureHostOptions;(Microsoft.Extensions.Hosting.IHostBuilder,System.Action);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Hosting;HostingHostBuilderExtensions;ConfigureHostOptions;(Microsoft.Extensions.Hosting.IHostBuilder,System.Action);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Hosting;HostingHostBuilderExtensions;ConfigureHostOptions;(Microsoft.Extensions.Hosting.IHostBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Hosting;HostingHostBuilderExtensions;ConfigureHostOptions;(Microsoft.Extensions.Hosting.IHostBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Hosting;HostingHostBuilderExtensions;ConfigureLogging;(Microsoft.Extensions.Hosting.IHostBuilder,System.Action);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Hosting;HostingHostBuilderExtensions;ConfigureLogging;(Microsoft.Extensions.Hosting.IHostBuilder,System.Action);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Hosting;HostingHostBuilderExtensions;ConfigureLogging;(Microsoft.Extensions.Hosting.IHostBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Hosting;HostingHostBuilderExtensions;ConfigureLogging;(Microsoft.Extensions.Hosting.IHostBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Hosting;HostingHostBuilderExtensions;ConfigureLogging;(Microsoft.Extensions.Hosting.IHostBuilder,System.Action);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Hosting;HostingHostBuilderExtensions;ConfigureLogging;(Microsoft.Extensions.Hosting.IHostBuilder,System.Action);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Hosting;HostingHostBuilderExtensions;ConfigureLogging;(Microsoft.Extensions.Hosting.IHostBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Hosting;HostingHostBuilderExtensions;ConfigureLogging;(Microsoft.Extensions.Hosting.IHostBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Hosting;HostingHostBuilderExtensions;ConfigureMetrics;(Microsoft.Extensions.Hosting.IHostBuilder,System.Action);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Hosting;HostingHostBuilderExtensions;ConfigureMetrics;(Microsoft.Extensions.Hosting.IHostBuilder,System.Action);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Hosting;HostingHostBuilderExtensions;ConfigureMetrics;(Microsoft.Extensions.Hosting.IHostBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Hosting;HostingHostBuilderExtensions;ConfigureMetrics;(Microsoft.Extensions.Hosting.IHostBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Hosting;HostingHostBuilderExtensions;ConfigureMetrics;(Microsoft.Extensions.Hosting.IHostBuilder,System.Action);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Hosting;HostingHostBuilderExtensions;ConfigureMetrics;(Microsoft.Extensions.Hosting.IHostBuilder,System.Action);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Hosting;HostingHostBuilderExtensions;ConfigureMetrics;(Microsoft.Extensions.Hosting.IHostBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Hosting;HostingHostBuilderExtensions;ConfigureMetrics;(Microsoft.Extensions.Hosting.IHostBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Hosting;HostingHostBuilderExtensions;ConfigureServices;(Microsoft.Extensions.Hosting.IHostBuilder,System.Action);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Hosting;HostingHostBuilderExtensions;ConfigureServices;(Microsoft.Extensions.Hosting.IHostBuilder,System.Action);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Hosting;HostingHostBuilderExtensions;ConfigureServices;(Microsoft.Extensions.Hosting.IHostBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Hosting;HostingHostBuilderExtensions;ConfigureServices;(Microsoft.Extensions.Hosting.IHostBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.Hosting;HostingHostBuilderExtensions;RunConsoleAsync;(Microsoft.Extensions.Hosting.IHostBuilder,System.Action,System.Threading.CancellationToken);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.Hosting;HostingHostBuilderExtensions;UseConsoleLifetime;(Microsoft.Extensions.Hosting.IHostBuilder);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Hosting;HostingHostBuilderExtensions;UseConsoleLifetime;(Microsoft.Extensions.Hosting.IHostBuilder,System.Action);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Hosting;HostingHostBuilderExtensions;UseConsoleLifetime;(Microsoft.Extensions.Hosting.IHostBuilder,System.Action);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Hosting;HostingHostBuilderExtensions;UseConsoleLifetime;(Microsoft.Extensions.Hosting.IHostBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Hosting;HostingHostBuilderExtensions;UseConsoleLifetime;(Microsoft.Extensions.Hosting.IHostBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.Hosting;HostingHostBuilderExtensions;UseContentRoot;(Microsoft.Extensions.Hosting.IHostBuilder,System.String);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Hosting;HostingHostBuilderExtensions;UseDefaultServiceProvider;(Microsoft.Extensions.Hosting.IHostBuilder,System.Action);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Hosting;HostingHostBuilderExtensions;UseDefaultServiceProvider;(Microsoft.Extensions.Hosting.IHostBuilder,System.Action);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Hosting;HostingHostBuilderExtensions;UseDefaultServiceProvider;(Microsoft.Extensions.Hosting.IHostBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Hosting;HostingHostBuilderExtensions;UseDefaultServiceProvider;(Microsoft.Extensions.Hosting.IHostBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Hosting;HostingHostBuilderExtensions;UseDefaultServiceProvider;(Microsoft.Extensions.Hosting.IHostBuilder,System.Action);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Hosting;HostingHostBuilderExtensions;UseDefaultServiceProvider;(Microsoft.Extensions.Hosting.IHostBuilder,System.Action);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Hosting;HostingHostBuilderExtensions;UseDefaultServiceProvider;(Microsoft.Extensions.Hosting.IHostBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Hosting;HostingHostBuilderExtensions;UseDefaultServiceProvider;(Microsoft.Extensions.Hosting.IHostBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.Hosting;HostingHostBuilderExtensions;UseEnvironment;(Microsoft.Extensions.Hosting.IHostBuilder,System.String);Argument[0];ReturnValue;value;dfc-generated | | Microsoft.Extensions.Hosting;IApplicationLifetime;get_ApplicationStarted;();Argument[this];ReturnValue;taint;df-generated | @@ -2356,12 +2689,27 @@ summary | Microsoft.Extensions.Hosting;IHostApplicationLifetime;get_ApplicationStarted;();Argument[this];ReturnValue;taint;df-generated | | Microsoft.Extensions.Hosting;IHostApplicationLifetime;get_ApplicationStopped;();Argument[this];ReturnValue;taint;df-generated | | Microsoft.Extensions.Hosting;IHostApplicationLifetime;get_ApplicationStopping;();Argument[this];ReturnValue;taint;df-generated | +| Microsoft.Extensions.Hosting;IHostBuilder;ConfigureAppConfiguration;(System.Action);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Hosting;IHostBuilder;ConfigureAppConfiguration;(System.Action);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Hosting;IHostBuilder;ConfigureAppConfiguration;(System.Action);Argument[this];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Hosting;IHostBuilder;ConfigureAppConfiguration;(System.Action);Argument[this];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Hosting;IHostBuilder;ConfigureContainer;(System.Action);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Hosting;IHostBuilder;ConfigureContainer;(System.Action);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Hosting;IHostBuilder;ConfigureContainer;(System.Action);Argument[this];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Hosting;IHostBuilder;ConfigureContainer;(System.Action);Argument[this];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Hosting;IHostBuilder;ConfigureHostConfiguration;(System.Action);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Hosting;IHostBuilder;ConfigureHostConfiguration;(System.Action);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Hosting;IHostBuilder;ConfigureHostConfiguration;(System.Action);Argument[this];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Hosting;IHostBuilder;ConfigureHostConfiguration;(System.Action);Argument[this];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Hosting;IHostBuilder;ConfigureServices;(System.Action);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Hosting;IHostBuilder;ConfigureServices;(System.Action);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Hosting;IHostBuilder;ConfigureServices;(System.Action);Argument[this];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Hosting;IHostBuilder;ConfigureServices;(System.Action);Argument[this];ReturnValue;value;hq-generated | | Microsoft.Extensions.Hosting;IHostBuilder;UseServiceProviderFactory;(Microsoft.Extensions.DependencyInjection.IServiceProviderFactory);Argument[this];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Hosting;IHostBuilder;UseServiceProviderFactory;(System.Func>);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Hosting;IHostBuilder;UseServiceProviderFactory;(System.Func>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Hosting;IHostBuilder;UseServiceProviderFactory;(System.Func>);Argument[this];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Hosting;IHostBuilder;UseServiceProviderFactory;(System.Func>);Argument[this];ReturnValue;value;hq-generated | | Microsoft.Extensions.Hosting;IHostLifetime;WaitForStartAsync;(System.Threading.CancellationToken);Argument[this];ReturnValue;taint;df-generated | | Microsoft.Extensions.Hosting;IHostedService;StartAsync;(System.Threading.CancellationToken);Argument[this];ReturnValue;taint;df-generated | | Microsoft.Extensions.Http.Logging;LoggingHttpMessageHandler;LoggingHttpMessageHandler;(Microsoft.Extensions.Logging.ILogger);Argument[0];Argument[this];taint;df-generated | @@ -2380,9 +2728,19 @@ summary | Microsoft.Extensions.Logging.Abstractions;LogEntry;LogEntry;(Microsoft.Extensions.Logging.LogLevel,System.String,Microsoft.Extensions.Logging.EventId,TState,System.Exception,System.Func);Argument[5];Argument[5].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.Logging.Abstractions;NullLogger;BeginScope;(TState);Argument[0];ReturnValue;taint;df-generated | | Microsoft.Extensions.Logging.Abstractions;NullLogger;BeginScope;(TState);Argument[this];ReturnValue;taint;df-generated | +| Microsoft.Extensions.Logging.Abstractions;NullLogger;Log;(Microsoft.Extensions.Logging.LogLevel,Microsoft.Extensions.Logging.EventId,TState,System.Exception,System.Func);Argument[2];Argument[4].Parameter[0];value;dfc-generated | +| Microsoft.Extensions.Logging.Abstractions;NullLogger;Log;(Microsoft.Extensions.Logging.LogLevel,Microsoft.Extensions.Logging.EventId,TState,System.Exception,System.Func);Argument[2];Argument[4].Parameter[0];value;hq-generated | +| Microsoft.Extensions.Logging.Abstractions;NullLogger;Log;(Microsoft.Extensions.Logging.LogLevel,Microsoft.Extensions.Logging.EventId,TState,System.Exception,System.Func);Argument[3];Argument[4].Parameter[1];value;dfc-generated | +| Microsoft.Extensions.Logging.Abstractions;NullLogger;Log;(Microsoft.Extensions.Logging.LogLevel,Microsoft.Extensions.Logging.EventId,TState,System.Exception,System.Func);Argument[3];Argument[4].Parameter[1];value;hq-generated | +| Microsoft.Extensions.Logging.Abstractions;NullLogger;Log;(Microsoft.Extensions.Logging.LogLevel,Microsoft.Extensions.Logging.EventId,TState,System.Exception,System.Func);Argument[4];Argument[4].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Logging.Abstractions;NullLogger;Log;(Microsoft.Extensions.Logging.LogLevel,Microsoft.Extensions.Logging.EventId,TState,System.Exception,System.Func);Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.Logging.Abstractions;NullLogger;BeginScope;(TState);Argument[0];ReturnValue;taint;df-generated | | Microsoft.Extensions.Logging.Abstractions;NullLogger;BeginScope;(TState);Argument[this];ReturnValue;taint;df-generated | +| Microsoft.Extensions.Logging.Abstractions;NullLogger;Log;(Microsoft.Extensions.Logging.LogLevel,Microsoft.Extensions.Logging.EventId,TState,System.Exception,System.Func);Argument[2];Argument[4].Parameter[0];value;dfc-generated | +| Microsoft.Extensions.Logging.Abstractions;NullLogger;Log;(Microsoft.Extensions.Logging.LogLevel,Microsoft.Extensions.Logging.EventId,TState,System.Exception,System.Func);Argument[2];Argument[4].Parameter[0];value;hq-generated | +| Microsoft.Extensions.Logging.Abstractions;NullLogger;Log;(Microsoft.Extensions.Logging.LogLevel,Microsoft.Extensions.Logging.EventId,TState,System.Exception,System.Func);Argument[3];Argument[4].Parameter[1];value;dfc-generated | +| Microsoft.Extensions.Logging.Abstractions;NullLogger;Log;(Microsoft.Extensions.Logging.LogLevel,Microsoft.Extensions.Logging.EventId,TState,System.Exception,System.Func);Argument[3];Argument[4].Parameter[1];value;hq-generated | +| Microsoft.Extensions.Logging.Abstractions;NullLogger;Log;(Microsoft.Extensions.Logging.LogLevel,Microsoft.Extensions.Logging.EventId,TState,System.Exception,System.Func);Argument[4];Argument[4].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Logging.Abstractions;NullLogger;Log;(Microsoft.Extensions.Logging.LogLevel,Microsoft.Extensions.Logging.EventId,TState,System.Exception,System.Func);Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.Logging.Abstractions;NullLoggerFactory;AddProvider;(Microsoft.Extensions.Logging.ILoggerProvider);Argument[this];Argument[0];taint;df-generated | | Microsoft.Extensions.Logging.Abstractions;NullLoggerFactory;CreateLogger;(System.String);Argument[0];ReturnValue;taint;df-generated | @@ -2423,20 +2781,44 @@ summary | Microsoft.Extensions.Logging;ConsoleLoggerExtensions;AddConsole;(Microsoft.Extensions.Logging.ILoggerFactory,Microsoft.Extensions.Logging.LogLevel);Argument[0];ReturnValue;value;dfc-generated | | Microsoft.Extensions.Logging;ConsoleLoggerExtensions;AddConsole;(Microsoft.Extensions.Logging.ILoggerFactory,Microsoft.Extensions.Logging.LogLevel,System.Boolean);Argument[0];ReturnValue;value;dfc-generated | | Microsoft.Extensions.Logging;ConsoleLoggerExtensions;AddConsole;(Microsoft.Extensions.Logging.ILoggerFactory,System.Boolean);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Logging;ConsoleLoggerExtensions;AddConsole;(Microsoft.Extensions.Logging.ILoggerFactory,System.Func);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Logging;ConsoleLoggerExtensions;AddConsole;(Microsoft.Extensions.Logging.ILoggerFactory,System.Func);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Logging;ConsoleLoggerExtensions;AddConsole;(Microsoft.Extensions.Logging.ILoggerFactory,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Logging;ConsoleLoggerExtensions;AddConsole;(Microsoft.Extensions.Logging.ILoggerFactory,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Logging;ConsoleLoggerExtensions;AddConsole;(Microsoft.Extensions.Logging.ILoggerFactory,System.Func,System.Boolean);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Logging;ConsoleLoggerExtensions;AddConsole;(Microsoft.Extensions.Logging.ILoggerFactory,System.Func,System.Boolean);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Logging;ConsoleLoggerExtensions;AddConsole;(Microsoft.Extensions.Logging.ILoggerFactory,System.Func,System.Boolean);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Logging;ConsoleLoggerExtensions;AddConsole;(Microsoft.Extensions.Logging.ILoggerFactory,System.Func,System.Boolean);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.Logging;ConsoleLoggerExtensions;AddConsole;(Microsoft.Extensions.Logging.ILoggingBuilder);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Logging;ConsoleLoggerExtensions;AddConsole;(Microsoft.Extensions.Logging.ILoggingBuilder,System.Action);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Logging;ConsoleLoggerExtensions;AddConsole;(Microsoft.Extensions.Logging.ILoggingBuilder,System.Action);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Logging;ConsoleLoggerExtensions;AddConsole;(Microsoft.Extensions.Logging.ILoggingBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Logging;ConsoleLoggerExtensions;AddConsole;(Microsoft.Extensions.Logging.ILoggingBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.Logging;ConsoleLoggerExtensions;AddConsoleFormatter;(Microsoft.Extensions.Logging.ILoggingBuilder);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Logging;ConsoleLoggerExtensions;AddConsoleFormatter;(Microsoft.Extensions.Logging.ILoggingBuilder,System.Action);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Logging;ConsoleLoggerExtensions;AddConsoleFormatter;(Microsoft.Extensions.Logging.ILoggingBuilder,System.Action);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Logging;ConsoleLoggerExtensions;AddConsoleFormatter;(Microsoft.Extensions.Logging.ILoggingBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Logging;ConsoleLoggerExtensions;AddConsoleFormatter;(Microsoft.Extensions.Logging.ILoggingBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.Logging;ConsoleLoggerExtensions;AddJsonConsole;(Microsoft.Extensions.Logging.ILoggingBuilder);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Logging;ConsoleLoggerExtensions;AddJsonConsole;(Microsoft.Extensions.Logging.ILoggingBuilder,System.Action);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Logging;ConsoleLoggerExtensions;AddJsonConsole;(Microsoft.Extensions.Logging.ILoggingBuilder,System.Action);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Logging;ConsoleLoggerExtensions;AddJsonConsole;(Microsoft.Extensions.Logging.ILoggingBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Logging;ConsoleLoggerExtensions;AddJsonConsole;(Microsoft.Extensions.Logging.ILoggingBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.Logging;ConsoleLoggerExtensions;AddSimpleConsole;(Microsoft.Extensions.Logging.ILoggingBuilder);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Logging;ConsoleLoggerExtensions;AddSimpleConsole;(Microsoft.Extensions.Logging.ILoggingBuilder,System.Action);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Logging;ConsoleLoggerExtensions;AddSimpleConsole;(Microsoft.Extensions.Logging.ILoggingBuilder,System.Action);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Logging;ConsoleLoggerExtensions;AddSimpleConsole;(Microsoft.Extensions.Logging.ILoggingBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Logging;ConsoleLoggerExtensions;AddSimpleConsole;(Microsoft.Extensions.Logging.ILoggingBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.Logging;ConsoleLoggerExtensions;AddSystemdConsole;(Microsoft.Extensions.Logging.ILoggingBuilder);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Logging;ConsoleLoggerExtensions;AddSystemdConsole;(Microsoft.Extensions.Logging.ILoggingBuilder,System.Action);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Logging;ConsoleLoggerExtensions;AddSystemdConsole;(Microsoft.Extensions.Logging.ILoggingBuilder,System.Action);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Logging;ConsoleLoggerExtensions;AddSystemdConsole;(Microsoft.Extensions.Logging.ILoggingBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Logging;ConsoleLoggerExtensions;AddSystemdConsole;(Microsoft.Extensions.Logging.ILoggingBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.Logging;DebugLoggerFactoryExtensions;AddDebug;(Microsoft.Extensions.Logging.ILoggerFactory);Argument[0];ReturnValue;value;dfc-generated | | Microsoft.Extensions.Logging;DebugLoggerFactoryExtensions;AddDebug;(Microsoft.Extensions.Logging.ILoggerFactory,Microsoft.Extensions.Logging.LogLevel);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Logging;DebugLoggerFactoryExtensions;AddDebug;(Microsoft.Extensions.Logging.ILoggerFactory,System.Func);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Logging;DebugLoggerFactoryExtensions;AddDebug;(Microsoft.Extensions.Logging.ILoggerFactory,System.Func);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Logging;DebugLoggerFactoryExtensions;AddDebug;(Microsoft.Extensions.Logging.ILoggerFactory,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Logging;DebugLoggerFactoryExtensions;AddDebug;(Microsoft.Extensions.Logging.ILoggerFactory,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.Logging;DebugLoggerFactoryExtensions;AddDebug;(Microsoft.Extensions.Logging.ILoggingBuilder);Argument[0];ReturnValue;value;dfc-generated | | Microsoft.Extensions.Logging;EventId;ToString;();Argument[this].Property[Microsoft.Extensions.Logging.EventId.Name];ReturnValue;value;dfc-generated | @@ -2445,32 +2827,85 @@ summary | Microsoft.Extensions.Logging;EventLoggerFactoryExtensions;AddEventLog;(Microsoft.Extensions.Logging.ILoggerFactory,Microsoft.Extensions.Logging.LogLevel);Argument[0];ReturnValue;value;dfc-generated | | Microsoft.Extensions.Logging;EventLoggerFactoryExtensions;AddEventLog;(Microsoft.Extensions.Logging.ILoggingBuilder);Argument[0];ReturnValue;value;dfc-generated | | Microsoft.Extensions.Logging;EventLoggerFactoryExtensions;AddEventLog;(Microsoft.Extensions.Logging.ILoggingBuilder,Microsoft.Extensions.Logging.EventLog.EventLogSettings);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Logging;EventLoggerFactoryExtensions;AddEventLog;(Microsoft.Extensions.Logging.ILoggingBuilder,System.Action);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Logging;EventLoggerFactoryExtensions;AddEventLog;(Microsoft.Extensions.Logging.ILoggingBuilder,System.Action);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Logging;EventLoggerFactoryExtensions;AddEventLog;(Microsoft.Extensions.Logging.ILoggingBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Logging;EventLoggerFactoryExtensions;AddEventLog;(Microsoft.Extensions.Logging.ILoggingBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.Logging;EventSourceLoggerFactoryExtensions;AddEventSourceLogger;(Microsoft.Extensions.Logging.ILoggerFactory);Argument[0];ReturnValue;value;dfc-generated | | Microsoft.Extensions.Logging;EventSourceLoggerFactoryExtensions;AddEventSourceLogger;(Microsoft.Extensions.Logging.ILoggingBuilder);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;AddFilter;(Microsoft.Extensions.Logging.ILoggingBuilder,System.Func);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;AddFilter;(Microsoft.Extensions.Logging.ILoggingBuilder,System.Func);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;AddFilter;(Microsoft.Extensions.Logging.ILoggingBuilder,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;AddFilter;(Microsoft.Extensions.Logging.ILoggingBuilder,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;AddFilter;(Microsoft.Extensions.Logging.ILoggingBuilder,System.Func);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;AddFilter;(Microsoft.Extensions.Logging.ILoggingBuilder,System.Func);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;AddFilter;(Microsoft.Extensions.Logging.ILoggingBuilder,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;AddFilter;(Microsoft.Extensions.Logging.ILoggingBuilder,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;AddFilter;(Microsoft.Extensions.Logging.ILoggingBuilder,System.Func);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;AddFilter;(Microsoft.Extensions.Logging.ILoggingBuilder,System.Func);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;AddFilter;(Microsoft.Extensions.Logging.ILoggingBuilder,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;AddFilter;(Microsoft.Extensions.Logging.ILoggingBuilder,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;AddFilter;(Microsoft.Extensions.Logging.ILoggingBuilder,System.String,Microsoft.Extensions.Logging.LogLevel);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;AddFilter;(Microsoft.Extensions.Logging.ILoggingBuilder,System.String,System.Func);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;AddFilter;(Microsoft.Extensions.Logging.ILoggingBuilder,System.String,System.Func);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;AddFilter;(Microsoft.Extensions.Logging.ILoggingBuilder,System.String,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;AddFilter;(Microsoft.Extensions.Logging.ILoggingBuilder,System.String,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;AddFilter;(Microsoft.Extensions.Logging.LoggerFilterOptions,System.Func);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;AddFilter;(Microsoft.Extensions.Logging.LoggerFilterOptions,System.Func);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;AddFilter;(Microsoft.Extensions.Logging.LoggerFilterOptions,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;AddFilter;(Microsoft.Extensions.Logging.LoggerFilterOptions,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;AddFilter;(Microsoft.Extensions.Logging.LoggerFilterOptions,System.Func);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;AddFilter;(Microsoft.Extensions.Logging.LoggerFilterOptions,System.Func);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;AddFilter;(Microsoft.Extensions.Logging.LoggerFilterOptions,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;AddFilter;(Microsoft.Extensions.Logging.LoggerFilterOptions,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;AddFilter;(Microsoft.Extensions.Logging.LoggerFilterOptions,System.Func);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;AddFilter;(Microsoft.Extensions.Logging.LoggerFilterOptions,System.Func);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;AddFilter;(Microsoft.Extensions.Logging.LoggerFilterOptions,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;AddFilter;(Microsoft.Extensions.Logging.LoggerFilterOptions,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;AddFilter;(Microsoft.Extensions.Logging.LoggerFilterOptions,System.String,Microsoft.Extensions.Logging.LogLevel);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;AddFilter;(Microsoft.Extensions.Logging.LoggerFilterOptions,System.String,System.Func);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;AddFilter;(Microsoft.Extensions.Logging.LoggerFilterOptions,System.String,System.Func);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;AddFilter;(Microsoft.Extensions.Logging.LoggerFilterOptions,System.String,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;AddFilter;(Microsoft.Extensions.Logging.LoggerFilterOptions,System.String,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;AddFilter;(Microsoft.Extensions.Logging.ILoggingBuilder,System.Func);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;AddFilter;(Microsoft.Extensions.Logging.ILoggingBuilder,System.Func);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;AddFilter;(Microsoft.Extensions.Logging.ILoggingBuilder,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;AddFilter;(Microsoft.Extensions.Logging.ILoggingBuilder,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;AddFilter;(Microsoft.Extensions.Logging.ILoggingBuilder,System.Func);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;AddFilter;(Microsoft.Extensions.Logging.ILoggingBuilder,System.Func);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;AddFilter;(Microsoft.Extensions.Logging.ILoggingBuilder,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;AddFilter;(Microsoft.Extensions.Logging.ILoggingBuilder,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;AddFilter;(Microsoft.Extensions.Logging.ILoggingBuilder,System.String,Microsoft.Extensions.Logging.LogLevel);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;AddFilter;(Microsoft.Extensions.Logging.ILoggingBuilder,System.String,System.Func);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;AddFilter;(Microsoft.Extensions.Logging.ILoggingBuilder,System.String,System.Func);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;AddFilter;(Microsoft.Extensions.Logging.ILoggingBuilder,System.String,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;AddFilter;(Microsoft.Extensions.Logging.ILoggingBuilder,System.String,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;AddFilter;(Microsoft.Extensions.Logging.LoggerFilterOptions,System.Func);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;AddFilter;(Microsoft.Extensions.Logging.LoggerFilterOptions,System.Func);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;AddFilter;(Microsoft.Extensions.Logging.LoggerFilterOptions,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;AddFilter;(Microsoft.Extensions.Logging.LoggerFilterOptions,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;AddFilter;(Microsoft.Extensions.Logging.LoggerFilterOptions,System.Func);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;AddFilter;(Microsoft.Extensions.Logging.LoggerFilterOptions,System.Func);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;AddFilter;(Microsoft.Extensions.Logging.LoggerFilterOptions,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;AddFilter;(Microsoft.Extensions.Logging.LoggerFilterOptions,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;AddFilter;(Microsoft.Extensions.Logging.LoggerFilterOptions,System.String,Microsoft.Extensions.Logging.LogLevel);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;AddFilter;(Microsoft.Extensions.Logging.LoggerFilterOptions,System.String,System.Func);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;AddFilter;(Microsoft.Extensions.Logging.LoggerFilterOptions,System.String,System.Func);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;AddFilter;(Microsoft.Extensions.Logging.LoggerFilterOptions,System.String,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;AddFilter;(Microsoft.Extensions.Logging.LoggerFilterOptions,System.String,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Logging;IExternalScopeProvider;ForEachScope;(System.Action,TState);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Logging;IExternalScopeProvider;ForEachScope;(System.Action,TState);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Logging;IExternalScopeProvider;ForEachScope;(System.Action,TState);Argument[1];Argument[0].Parameter[1];value;dfc-generated | +| Microsoft.Extensions.Logging;IExternalScopeProvider;ForEachScope;(System.Action,TState);Argument[1];Argument[0].Parameter[1];value;hq-generated | | Microsoft.Extensions.Logging;IExternalScopeProvider;Push;(System.Object);Argument[0];ReturnValue;taint;df-generated | | Microsoft.Extensions.Logging;IExternalScopeProvider;Push;(System.Object);Argument[this];ReturnValue;taint;df-generated | | Microsoft.Extensions.Logging;ILogger;BeginScope;(TState);Argument[0];ReturnValue;taint;df-generated | | Microsoft.Extensions.Logging;ILogger;BeginScope;(TState);Argument[this];ReturnValue;taint;df-generated | +| Microsoft.Extensions.Logging;ILogger;Log;(Microsoft.Extensions.Logging.LogLevel,Microsoft.Extensions.Logging.EventId,TState,System.Exception,System.Func);Argument[2];Argument[4].Parameter[0];value;dfc-generated | +| Microsoft.Extensions.Logging;ILogger;Log;(Microsoft.Extensions.Logging.LogLevel,Microsoft.Extensions.Logging.EventId,TState,System.Exception,System.Func);Argument[2];Argument[4].Parameter[0];value;hq-generated | +| Microsoft.Extensions.Logging;ILogger;Log;(Microsoft.Extensions.Logging.LogLevel,Microsoft.Extensions.Logging.EventId,TState,System.Exception,System.Func);Argument[3];Argument[4].Parameter[1];value;dfc-generated | +| Microsoft.Extensions.Logging;ILogger;Log;(Microsoft.Extensions.Logging.LogLevel,Microsoft.Extensions.Logging.EventId,TState,System.Exception,System.Func);Argument[3];Argument[4].Parameter[1];value;hq-generated | +| Microsoft.Extensions.Logging;ILogger;Log;(Microsoft.Extensions.Logging.LogLevel,Microsoft.Extensions.Logging.EventId,TState,System.Exception,System.Func);Argument[4];Argument[4].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Logging;ILogger;Log;(Microsoft.Extensions.Logging.LogLevel,Microsoft.Extensions.Logging.EventId,TState,System.Exception,System.Func);Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.Logging;ILoggerFactory;AddProvider;(Microsoft.Extensions.Logging.ILoggerProvider);Argument[this];Argument[0];taint;df-generated | | Microsoft.Extensions.Logging;ILoggerFactory;CreateLogger;(System.String);Argument[0];ReturnValue;taint;df-generated | @@ -2480,11 +2915,19 @@ summary | Microsoft.Extensions.Logging;ISupportExternalScope;SetScopeProvider;(Microsoft.Extensions.Logging.IExternalScopeProvider);Argument[0];Argument[this];taint;df-generated | | Microsoft.Extensions.Logging;Logger;BeginScope;(TState);Argument[0];ReturnValue;taint;df-generated | | Microsoft.Extensions.Logging;Logger;BeginScope;(TState);Argument[this];ReturnValue;taint;df-generated | +| Microsoft.Extensions.Logging;Logger;Log;(Microsoft.Extensions.Logging.LogLevel,Microsoft.Extensions.Logging.EventId,TState,System.Exception,System.Func);Argument[2];Argument[4].Parameter[0];value;dfc-generated | +| Microsoft.Extensions.Logging;Logger;Log;(Microsoft.Extensions.Logging.LogLevel,Microsoft.Extensions.Logging.EventId,TState,System.Exception,System.Func);Argument[2];Argument[4].Parameter[0];value;hq-generated | +| Microsoft.Extensions.Logging;Logger;Log;(Microsoft.Extensions.Logging.LogLevel,Microsoft.Extensions.Logging.EventId,TState,System.Exception,System.Func);Argument[3];Argument[4].Parameter[1];value;dfc-generated | +| Microsoft.Extensions.Logging;Logger;Log;(Microsoft.Extensions.Logging.LogLevel,Microsoft.Extensions.Logging.EventId,TState,System.Exception,System.Func);Argument[3];Argument[4].Parameter[1];value;hq-generated | +| Microsoft.Extensions.Logging;Logger;Log;(Microsoft.Extensions.Logging.LogLevel,Microsoft.Extensions.Logging.EventId,TState,System.Exception,System.Func);Argument[4];Argument[4].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Logging;Logger;Log;(Microsoft.Extensions.Logging.LogLevel,Microsoft.Extensions.Logging.EventId,TState,System.Exception,System.Func);Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.Logging;LoggerExtensions;BeginScope;(Microsoft.Extensions.Logging.ILogger,System.String,System.Object[]);Argument[0];ReturnValue;taint;df-generated | | Microsoft.Extensions.Logging;LoggerExtensions;BeginScope;(Microsoft.Extensions.Logging.ILogger,System.String,System.Object[]);Argument[1];ReturnValue;taint;df-generated | | Microsoft.Extensions.Logging;LoggerExtensions;BeginScope;(Microsoft.Extensions.Logging.ILogger,System.String,System.Object[]);Argument[2].Element;ReturnValue;taint;df-generated | +| Microsoft.Extensions.Logging;LoggerExternalScopeProvider;ForEachScope;(System.Action,TState);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Logging;LoggerExternalScopeProvider;ForEachScope;(System.Action,TState);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Logging;LoggerExternalScopeProvider;ForEachScope;(System.Action,TState);Argument[1];Argument[0].Parameter[1];value;dfc-generated | +| Microsoft.Extensions.Logging;LoggerExternalScopeProvider;ForEachScope;(System.Action,TState);Argument[1];Argument[0].Parameter[1];value;hq-generated | | Microsoft.Extensions.Logging;LoggerExternalScopeProvider;Push;(System.Object);Argument[0];ReturnValue;taint;df-generated | | Microsoft.Extensions.Logging;LoggerExternalScopeProvider;Push;(System.Object);Argument[this];ReturnValue;taint;df-generated | | Microsoft.Extensions.Logging;LoggerFactory;AddProvider;(Microsoft.Extensions.Logging.ILoggerProvider);Argument[this];Argument[0];taint;df-generated | @@ -2499,6 +2942,9 @@ summary | Microsoft.Extensions.Logging;LoggingBuilderExtensions;AddConfiguration;(Microsoft.Extensions.Logging.ILoggingBuilder,Microsoft.Extensions.Configuration.IConfiguration);Argument[0];ReturnValue;value;dfc-generated | | Microsoft.Extensions.Logging;LoggingBuilderExtensions;AddProvider;(Microsoft.Extensions.Logging.ILoggingBuilder,Microsoft.Extensions.Logging.ILoggerProvider);Argument[0];ReturnValue;value;dfc-generated | | Microsoft.Extensions.Logging;LoggingBuilderExtensions;ClearProviders;(Microsoft.Extensions.Logging.ILoggingBuilder);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Logging;LoggingBuilderExtensions;Configure;(Microsoft.Extensions.Logging.ILoggingBuilder,System.Action);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Logging;LoggingBuilderExtensions;Configure;(Microsoft.Extensions.Logging.ILoggingBuilder,System.Action);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Logging;LoggingBuilderExtensions;Configure;(Microsoft.Extensions.Logging.ILoggingBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Logging;LoggingBuilderExtensions;Configure;(Microsoft.Extensions.Logging.ILoggingBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.Logging;LoggingBuilderExtensions;SetMinimumLevel;(Microsoft.Extensions.Logging.ILoggingBuilder,Microsoft.Extensions.Logging.LogLevel);Argument[0];ReturnValue;value;dfc-generated | | Microsoft.Extensions.Logging;TraceSourceFactoryExtensions;AddTraceSource;(Microsoft.Extensions.Logging.ILoggerFactory,System.Diagnostics.SourceSwitch);Argument[0];ReturnValue;value;dfc-generated | @@ -2511,40 +2957,125 @@ summary | Microsoft.Extensions.Logging;TraceSourceFactoryExtensions;AddTraceSource;(Microsoft.Extensions.Logging.ILoggingBuilder,System.String,System.Diagnostics.TraceListener);Argument[0];ReturnValue;value;dfc-generated | | Microsoft.Extensions.Options;ConfigurationChangeTokenSource;ConfigurationChangeTokenSource;(System.String,Microsoft.Extensions.Configuration.IConfiguration);Argument[1];Argument[this];taint;df-generated | | Microsoft.Extensions.Options;ConfigurationChangeTokenSource;GetChangeToken;();Argument[this];ReturnValue;taint;df-generated | +| Microsoft.Extensions.Options;ConfigureNamedOptions;Configure;(System.String,TOptions);Argument[1];Argument[this];taint;df-generated | +| Microsoft.Extensions.Options;ConfigureNamedOptions;Configure;(TOptions);Argument[0];Argument[this];taint;df-generated | | Microsoft.Extensions.Options;ConfigureNamedOptions;ConfigureNamedOptions;(System.String,TDep1,TDep2,TDep3,TDep4,TDep5,System.Action);Argument[6];Argument[6].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Options;ConfigureNamedOptions;Configure;(System.String,TOptions);Argument[1];Argument[this];taint;df-generated | +| Microsoft.Extensions.Options;ConfigureNamedOptions;Configure;(TOptions);Argument[0];Argument[this];taint;df-generated | | Microsoft.Extensions.Options;ConfigureNamedOptions;ConfigureNamedOptions;(System.String,TDep1,TDep2,TDep3,TDep4,System.Action);Argument[5];Argument[5].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Options;ConfigureNamedOptions;Configure;(System.String,TOptions);Argument[1];Argument[this];taint;df-generated | +| Microsoft.Extensions.Options;ConfigureNamedOptions;Configure;(TOptions);Argument[0];Argument[this];taint;df-generated | | Microsoft.Extensions.Options;ConfigureNamedOptions;ConfigureNamedOptions;(System.String,TDep1,TDep2,TDep3,System.Action);Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Options;ConfigureNamedOptions;Configure;(System.String,TOptions);Argument[1];Argument[this];taint;df-generated | +| Microsoft.Extensions.Options;ConfigureNamedOptions;Configure;(TOptions);Argument[0];Argument[this];taint;df-generated | | Microsoft.Extensions.Options;ConfigureNamedOptions;ConfigureNamedOptions;(System.String,TDep1,TDep2,System.Action);Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Options;ConfigureNamedOptions;Configure;(System.String,TOptions);Argument[1];Argument[this];taint;df-generated | +| Microsoft.Extensions.Options;ConfigureNamedOptions;Configure;(TOptions);Argument[0];Argument[this];taint;df-generated | | Microsoft.Extensions.Options;ConfigureNamedOptions;ConfigureNamedOptions;(System.String,TDep,System.Action);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Options;ConfigureNamedOptions;Configure;(System.String,TOptions);Argument[1];Argument[this];taint;df-generated | +| Microsoft.Extensions.Options;ConfigureNamedOptions;Configure;(TOptions);Argument[0];Argument[this];taint;df-generated | | Microsoft.Extensions.Options;ConfigureNamedOptions;ConfigureNamedOptions;(System.String,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Options;ConfigureOptions;Configure;(TOptions);Argument[0];Argument[this];taint;df-generated | | Microsoft.Extensions.Options;ConfigureOptions;ConfigureOptions;(System.Action);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.Options;IOptionsMonitor;OnChange;(System.Action);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.Options;IOptionsMonitorCache;GetOrAdd;(System.String,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.Options;NamedConfigureFromConfigurationOptions;NamedConfigureFromConfigurationOptions;(System.String,Microsoft.Extensions.Configuration.IConfiguration,System.Action);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Options;OptionsBuilder;Configure;(System.Action);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Options;OptionsBuilder;Configure;(System.Action);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Options;OptionsBuilder;Configure;(System.Action);Argument[this];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Options;OptionsBuilder;Configure;(System.Action);Argument[this];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Options;OptionsBuilder;Configure;(System.Action);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Options;OptionsBuilder;Configure;(System.Action);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Options;OptionsBuilder;Configure;(System.Action);Argument[this];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Options;OptionsBuilder;Configure;(System.Action);Argument[this];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Options;OptionsBuilder;Configure;(System.Action);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Options;OptionsBuilder;Configure;(System.Action);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Options;OptionsBuilder;Configure;(System.Action);Argument[this];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Options;OptionsBuilder;Configure;(System.Action);Argument[this];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Options;OptionsBuilder;Configure;(System.Action);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Options;OptionsBuilder;Configure;(System.Action);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Options;OptionsBuilder;Configure;(System.Action);Argument[this];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Options;OptionsBuilder;Configure;(System.Action);Argument[this];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Options;OptionsBuilder;Configure;(System.Action);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Options;OptionsBuilder;Configure;(System.Action);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Options;OptionsBuilder;Configure;(System.Action);Argument[this];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Options;OptionsBuilder;Configure;(System.Action);Argument[this];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Options;OptionsBuilder;Configure;(System.Action);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Options;OptionsBuilder;Configure;(System.Action);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Options;OptionsBuilder;Configure;(System.Action);Argument[this];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Options;OptionsBuilder;Configure;(System.Action);Argument[this];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Options;OptionsBuilder;PostConfigure;(System.Action);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Options;OptionsBuilder;PostConfigure;(System.Action);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Options;OptionsBuilder;PostConfigure;(System.Action);Argument[this];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Options;OptionsBuilder;PostConfigure;(System.Action);Argument[this];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Options;OptionsBuilder;PostConfigure;(System.Action);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Options;OptionsBuilder;PostConfigure;(System.Action);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Options;OptionsBuilder;PostConfigure;(System.Action);Argument[this];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Options;OptionsBuilder;PostConfigure;(System.Action);Argument[this];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Options;OptionsBuilder;PostConfigure;(System.Action);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Options;OptionsBuilder;PostConfigure;(System.Action);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Options;OptionsBuilder;PostConfigure;(System.Action);Argument[this];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Options;OptionsBuilder;PostConfigure;(System.Action);Argument[this];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Options;OptionsBuilder;PostConfigure;(System.Action);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Options;OptionsBuilder;PostConfigure;(System.Action);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Options;OptionsBuilder;PostConfigure;(System.Action);Argument[this];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Options;OptionsBuilder;PostConfigure;(System.Action);Argument[this];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Options;OptionsBuilder;PostConfigure;(System.Action);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Options;OptionsBuilder;PostConfigure;(System.Action);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Options;OptionsBuilder;PostConfigure;(System.Action);Argument[this];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Options;OptionsBuilder;PostConfigure;(System.Action);Argument[this];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Options;OptionsBuilder;PostConfigure;(System.Action);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Options;OptionsBuilder;PostConfigure;(System.Action);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Options;OptionsBuilder;PostConfigure;(System.Action);Argument[this];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Options;OptionsBuilder;PostConfigure;(System.Action);Argument[this];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Options;OptionsBuilder;Validate;(System.Func);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Options;OptionsBuilder;Validate;(System.Func);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Options;OptionsBuilder;Validate;(System.Func);Argument[this];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Options;OptionsBuilder;Validate;(System.Func);Argument[this];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Options;OptionsBuilder;Validate;(System.Func,System.String);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Options;OptionsBuilder;Validate;(System.Func,System.String);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Options;OptionsBuilder;Validate;(System.Func,System.String);Argument[this];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Options;OptionsBuilder;Validate;(System.Func,System.String);Argument[this];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Options;OptionsBuilder;Validate;(System.Func);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Options;OptionsBuilder;Validate;(System.Func);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Options;OptionsBuilder;Validate;(System.Func);Argument[this];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Options;OptionsBuilder;Validate;(System.Func);Argument[this];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Options;OptionsBuilder;Validate;(System.Func,System.String);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Options;OptionsBuilder;Validate;(System.Func,System.String);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Options;OptionsBuilder;Validate;(System.Func,System.String);Argument[this];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Options;OptionsBuilder;Validate;(System.Func,System.String);Argument[this];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Options;OptionsBuilder;Validate;(System.Func);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Options;OptionsBuilder;Validate;(System.Func);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Options;OptionsBuilder;Validate;(System.Func);Argument[this];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Options;OptionsBuilder;Validate;(System.Func);Argument[this];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Options;OptionsBuilder;Validate;(System.Func,System.String);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Options;OptionsBuilder;Validate;(System.Func,System.String);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Options;OptionsBuilder;Validate;(System.Func,System.String);Argument[this];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Options;OptionsBuilder;Validate;(System.Func,System.String);Argument[this];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Options;OptionsBuilder;Validate;(System.Func);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Options;OptionsBuilder;Validate;(System.Func);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Options;OptionsBuilder;Validate;(System.Func);Argument[this];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Options;OptionsBuilder;Validate;(System.Func);Argument[this];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Options;OptionsBuilder;Validate;(System.Func,System.String);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Options;OptionsBuilder;Validate;(System.Func,System.String);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Options;OptionsBuilder;Validate;(System.Func,System.String);Argument[this];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Options;OptionsBuilder;Validate;(System.Func,System.String);Argument[this];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Options;OptionsBuilder;Validate;(System.Func);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Options;OptionsBuilder;Validate;(System.Func);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Options;OptionsBuilder;Validate;(System.Func);Argument[this];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Options;OptionsBuilder;Validate;(System.Func);Argument[this];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Options;OptionsBuilder;Validate;(System.Func,System.String);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Options;OptionsBuilder;Validate;(System.Func,System.String);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Options;OptionsBuilder;Validate;(System.Func,System.String);Argument[this];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Options;OptionsBuilder;Validate;(System.Func,System.String);Argument[this];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Options;OptionsBuilder;Validate;(System.Func);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Options;OptionsBuilder;Validate;(System.Func);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Options;OptionsBuilder;Validate;(System.Func);Argument[this];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Options;OptionsBuilder;Validate;(System.Func);Argument[this];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Options;OptionsBuilder;Validate;(System.Func,System.String);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Options;OptionsBuilder;Validate;(System.Func,System.String);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Options;OptionsBuilder;Validate;(System.Func,System.String);Argument[this];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Options;OptionsBuilder;Validate;(System.Func,System.String);Argument[this];ReturnValue;value;hq-generated | | Microsoft.Extensions.Options;OptionsCache;GetOrAdd;(System.String,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.Options;OptionsFactory;OptionsFactory;(System.Collections.Generic.IEnumerable>,System.Collections.Generic.IEnumerable>,System.Collections.Generic.IEnumerable>);Argument[0].Element;Argument[this];taint;df-generated | | Microsoft.Extensions.Options;OptionsFactory;OptionsFactory;(System.Collections.Generic.IEnumerable>,System.Collections.Generic.IEnumerable>,System.Collections.Generic.IEnumerable>);Argument[1].Element;Argument[this];taint;df-generated | @@ -2556,17 +3087,34 @@ summary | Microsoft.Extensions.Options;OptionsMonitorExtensions;OnChange;(Microsoft.Extensions.Options.IOptionsMonitor,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.Options;OptionsValidationException;get_Message;();Argument[this].Property[Microsoft.Extensions.Options.OptionsValidationException.Failures].Element;ReturnValue;taint;dfc-generated | | Microsoft.Extensions.Options;OptionsValidationException;get_Message;();Argument[this].SyntheticField[System.Exception._message];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Options;PostConfigureOptions;PostConfigure;(System.String,TOptions);Argument[1];Argument[this];taint;df-generated | +| Microsoft.Extensions.Options;PostConfigureOptions;PostConfigure;(TOptions);Argument[0];Argument[this];taint;df-generated | | Microsoft.Extensions.Options;PostConfigureOptions;PostConfigureOptions;(System.String,TDep1,TDep2,TDep3,TDep4,TDep5,System.Action);Argument[6];Argument[6].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Options;PostConfigureOptions;PostConfigure;(System.String,TOptions);Argument[1];Argument[this];taint;df-generated | +| Microsoft.Extensions.Options;PostConfigureOptions;PostConfigure;(TOptions);Argument[0];Argument[this];taint;df-generated | | Microsoft.Extensions.Options;PostConfigureOptions;PostConfigureOptions;(System.String,TDep1,TDep2,TDep3,TDep4,System.Action);Argument[5];Argument[5].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Options;PostConfigureOptions;PostConfigure;(System.String,TOptions);Argument[1];Argument[this];taint;df-generated | +| Microsoft.Extensions.Options;PostConfigureOptions;PostConfigure;(TOptions);Argument[0];Argument[this];taint;df-generated | | Microsoft.Extensions.Options;PostConfigureOptions;PostConfigureOptions;(System.String,TDep1,TDep2,TDep3,System.Action);Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Options;PostConfigureOptions;PostConfigure;(System.String,TOptions);Argument[1];Argument[this];taint;df-generated | +| Microsoft.Extensions.Options;PostConfigureOptions;PostConfigure;(TOptions);Argument[0];Argument[this];taint;df-generated | | Microsoft.Extensions.Options;PostConfigureOptions;PostConfigureOptions;(System.String,TDep1,TDep2,System.Action);Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Options;PostConfigureOptions;PostConfigure;(System.String,TOptions);Argument[1];Argument[this];taint;df-generated | +| Microsoft.Extensions.Options;PostConfigureOptions;PostConfigure;(TOptions);Argument[0];Argument[this];taint;df-generated | | Microsoft.Extensions.Options;PostConfigureOptions;PostConfigureOptions;(System.String,TDep,System.Action);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Options;PostConfigureOptions;PostConfigure;(System.String,TOptions);Argument[1];Argument[this];taint;df-generated | | Microsoft.Extensions.Options;PostConfigureOptions;PostConfigureOptions;(System.String,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Options;ValidateOptions;Validate;(System.String,TOptions);Argument[1];Argument[this];taint;df-generated | | Microsoft.Extensions.Options;ValidateOptions;ValidateOptions;(System.String,TDep1,TDep2,TDep3,TDep4,TDep5,System.Func,System.String);Argument[6];Argument[6].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Options;ValidateOptions;Validate;(System.String,TOptions);Argument[1];Argument[this];taint;df-generated | | Microsoft.Extensions.Options;ValidateOptions;ValidateOptions;(System.String,TDep1,TDep2,TDep3,TDep4,System.Func,System.String);Argument[5];Argument[5].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Options;ValidateOptions;Validate;(System.String,TOptions);Argument[1];Argument[this];taint;df-generated | | Microsoft.Extensions.Options;ValidateOptions;ValidateOptions;(System.String,TDep1,TDep2,TDep3,System.Func,System.String);Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Options;ValidateOptions;Validate;(System.String,TOptions);Argument[1];Argument[this];taint;df-generated | | Microsoft.Extensions.Options;ValidateOptions;ValidateOptions;(System.String,TDep1,TDep2,System.Func,System.String);Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Options;ValidateOptions;Validate;(System.String,TOptions);Argument[1];Argument[this];taint;df-generated | | Microsoft.Extensions.Options;ValidateOptions;ValidateOptions;(System.String,TDep,System.Func,System.String);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Options;ValidateOptions;Validate;(System.String,TOptions);Argument[1];Argument[this];taint;df-generated | | Microsoft.Extensions.Options;ValidateOptions;ValidateOptions;(System.String,System.Func,System.String);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.Options;ValidateOptionsResultBuilder;AddError;(System.String,System.String);Argument[0];Argument[this];taint;df-generated | | Microsoft.Extensions.Options;ValidateOptionsResultBuilder;AddError;(System.String,System.String);Argument[1];Argument[this];taint;df-generated | @@ -2574,16 +3122,25 @@ summary | Microsoft.Extensions.Options;ValidateOptionsResultBuilder;AddResult;(System.ComponentModel.DataAnnotations.ValidationResult);Argument[0];Argument[this];taint;df-generated | | Microsoft.Extensions.Options;ValidateOptionsResultBuilder;AddResults;(System.Collections.Generic.IEnumerable);Argument[0].Element;Argument[this];taint;df-generated | | Microsoft.Extensions.Primitives;CancellationChangeToken;CancellationChangeToken;(System.Threading.CancellationToken);Argument[0];Argument[this];taint;df-generated | +| Microsoft.Extensions.Primitives;CancellationChangeToken;RegisterChangeCallback;(System.Action,System.Object);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Primitives;CancellationChangeToken;RegisterChangeCallback;(System.Action,System.Object);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Primitives;CancellationChangeToken;RegisterChangeCallback;(System.Action,System.Object);Argument[this];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Primitives;CancellationChangeToken;RegisterChangeCallback;(System.Action,System.Object);Argument[this];ReturnValue;value;hq-generated | | Microsoft.Extensions.Primitives;ChangeToken;OnChange;(System.Func,System.Action);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.Primitives;ChangeToken;OnChange;(System.Func,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.Primitives;ChangeToken;OnChange;(System.Func,System.Action,TState);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.Primitives;ChangeToken;OnChange;(System.Func,System.Action,TState);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Primitives;CompositeChangeToken;RegisterChangeCallback;(System.Action,System.Object);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Primitives;CompositeChangeToken;RegisterChangeCallback;(System.Action,System.Object);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Primitives;CompositeChangeToken;RegisterChangeCallback;(System.Action,System.Object);Argument[this];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Primitives;CompositeChangeToken;RegisterChangeCallback;(System.Action,System.Object);Argument[this];ReturnValue;value;hq-generated | | Microsoft.Extensions.Primitives;Extensions;Append;(System.Text.StringBuilder,Microsoft.Extensions.Primitives.StringSegment);Argument[0];ReturnValue;value;dfc-generated | | Microsoft.Extensions.Primitives;Extensions;Append;(System.Text.StringBuilder,Microsoft.Extensions.Primitives.StringSegment);Argument[1].Property[Microsoft.Extensions.Primitives.StringSegment.Buffer];Argument[0];taint;dfc-generated | | Microsoft.Extensions.Primitives;Extensions;Append;(System.Text.StringBuilder,Microsoft.Extensions.Primitives.StringSegment);Argument[1].Property[Microsoft.Extensions.Primitives.StringSegment.Buffer];ReturnValue;taint;dfc-generated | +| Microsoft.Extensions.Primitives;IChangeToken;RegisterChangeCallback;(System.Action,System.Object);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Primitives;IChangeToken;RegisterChangeCallback;(System.Action,System.Object);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Primitives;IChangeToken;RegisterChangeCallback;(System.Action,System.Object);Argument[this];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Primitives;IChangeToken;RegisterChangeCallback;(System.Action,System.Object);Argument[this];ReturnValue;value;hq-generated | | Microsoft.Extensions.Primitives;InplaceStringBuilder;ToString;();Argument[this];ReturnValue;taint;df-generated | | Microsoft.Extensions.Primitives;StringSegment;Substring;(System.Int32);Argument[this].Property[Microsoft.Extensions.Primitives.StringSegment.Buffer];ReturnValue;taint;dfc-generated | | Microsoft.Extensions.Primitives;StringSegment;Substring;(System.Int32,System.Int32);Argument[this].Property[Microsoft.Extensions.Primitives.StringSegment.Buffer];ReturnValue;taint;dfc-generated | @@ -4263,6 +4820,8 @@ summary | ServiceStack.Script;ScriptContext;set_OnUnhandledExpression;(System.Func>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | | ServiceStack.Script;ScriptMethodInfo;GetScriptMethods;(System.Type,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | ServiceStack.Script;SharpPages;OneTimePage;(System.String,System.String,System.Action);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Serialization;XmlSerializerWrapper;ReadObject;(System.Xml.XmlDictionaryReader);Argument[this];ReturnValue;taint;df-generated | +| ServiceStack.Serialization;XmlSerializerWrapper;ReadObject;(System.Xml.XmlDictionaryReader,System.Boolean);Argument[this];ReturnValue;taint;df-generated | | ServiceStack.Support;ActionExecHandler;ActionExecHandler;(System.Action,System.Threading.AutoResetEvent);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | | ServiceStack.Support;AdapterBase;Execute;(System.Action);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | | ServiceStack.Support;AdapterBase;Execute;(System.Func);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | @@ -5646,11 +6205,42 @@ summary | System.Collections.Concurrent;ConcurrentDictionary;Add;(System.Object,System.Object);Argument[1];Argument[this].Element.Property[System.Collections.Generic.KeyValuePair`2.Value];value;manual | | System.Collections.Concurrent;ConcurrentDictionary;Add;(TKey,TValue);Argument[0];Argument[this].Element.Property[System.Collections.Generic.KeyValuePair`2.Key];value;manual | | System.Collections.Concurrent;ConcurrentDictionary;Add;(TKey,TValue);Argument[1];Argument[this].Element.Property[System.Collections.Generic.KeyValuePair`2.Value];value;manual | +| System.Collections.Concurrent;ConcurrentDictionary;AddOrUpdate;(TKey,System.Func,System.Func);Argument[0];Argument[1].Parameter[0];value;dfc-generated | +| System.Collections.Concurrent;ConcurrentDictionary;AddOrUpdate;(TKey,System.Func,System.Func);Argument[0];Argument[1].Parameter[0];value;hq-generated | +| System.Collections.Concurrent;ConcurrentDictionary;AddOrUpdate;(TKey,System.Func,System.Func);Argument[0];Argument[2].Parameter[0];value;dfc-generated | +| System.Collections.Concurrent;ConcurrentDictionary;AddOrUpdate;(TKey,System.Func,System.Func);Argument[0];Argument[2].Parameter[0];value;hq-generated | +| System.Collections.Concurrent;ConcurrentDictionary;AddOrUpdate;(TKey,System.Func,System.Func);Argument[1].ReturnValue;ReturnValue;value;dfc-generated | +| System.Collections.Concurrent;ConcurrentDictionary;AddOrUpdate;(TKey,System.Func,System.Func);Argument[1].ReturnValue;ReturnValue;value;hq-generated | +| System.Collections.Concurrent;ConcurrentDictionary;AddOrUpdate;(TKey,System.Func,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Collections.Concurrent;ConcurrentDictionary;AddOrUpdate;(TKey,System.Func,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Collections.Concurrent;ConcurrentDictionary;AddOrUpdate;(TKey,System.Func,System.Func);Argument[2].ReturnValue;ReturnValue;value;dfc-generated | +| System.Collections.Concurrent;ConcurrentDictionary;AddOrUpdate;(TKey,System.Func,System.Func);Argument[2].ReturnValue;ReturnValue;value;hq-generated | +| System.Collections.Concurrent;ConcurrentDictionary;AddOrUpdate;(TKey,System.Func,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;dfc-generated | | System.Collections.Concurrent;ConcurrentDictionary;AddOrUpdate;(TKey,System.Func,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| System.Collections.Concurrent;ConcurrentDictionary;AddOrUpdate;(TKey,TValue,System.Func);Argument[0];Argument[2].Parameter[0];value;dfc-generated | +| System.Collections.Concurrent;ConcurrentDictionary;AddOrUpdate;(TKey,TValue,System.Func);Argument[0];Argument[2].Parameter[0];value;hq-generated | +| System.Collections.Concurrent;ConcurrentDictionary;AddOrUpdate;(TKey,TValue,System.Func);Argument[1];ReturnValue;value;dfc-generated | +| System.Collections.Concurrent;ConcurrentDictionary;AddOrUpdate;(TKey,TValue,System.Func);Argument[1];ReturnValue;value;hq-generated | +| System.Collections.Concurrent;ConcurrentDictionary;AddOrUpdate;(TKey,TValue,System.Func);Argument[2].ReturnValue;ReturnValue;value;dfc-generated | +| System.Collections.Concurrent;ConcurrentDictionary;AddOrUpdate;(TKey,TValue,System.Func);Argument[2].ReturnValue;ReturnValue;value;hq-generated | +| System.Collections.Concurrent;ConcurrentDictionary;AddOrUpdate;(TKey,TValue,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;dfc-generated | | System.Collections.Concurrent;ConcurrentDictionary;AddOrUpdate;(TKey,TValue,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| System.Collections.Concurrent;ConcurrentDictionary;AddOrUpdate;(TKey,System.Func,System.Func,TArg);Argument[0];Argument[1].Parameter[0];value;dfc-generated | +| System.Collections.Concurrent;ConcurrentDictionary;AddOrUpdate;(TKey,System.Func,System.Func,TArg);Argument[0];Argument[1].Parameter[0];value;hq-generated | +| System.Collections.Concurrent;ConcurrentDictionary;AddOrUpdate;(TKey,System.Func,System.Func,TArg);Argument[0];Argument[2].Parameter[0];value;dfc-generated | +| System.Collections.Concurrent;ConcurrentDictionary;AddOrUpdate;(TKey,System.Func,System.Func,TArg);Argument[0];Argument[2].Parameter[0];value;hq-generated | +| System.Collections.Concurrent;ConcurrentDictionary;AddOrUpdate;(TKey,System.Func,System.Func,TArg);Argument[1].ReturnValue;ReturnValue;value;dfc-generated | +| System.Collections.Concurrent;ConcurrentDictionary;AddOrUpdate;(TKey,System.Func,System.Func,TArg);Argument[1].ReturnValue;ReturnValue;value;hq-generated | +| System.Collections.Concurrent;ConcurrentDictionary;AddOrUpdate;(TKey,System.Func,System.Func,TArg);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Collections.Concurrent;ConcurrentDictionary;AddOrUpdate;(TKey,System.Func,System.Func,TArg);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Collections.Concurrent;ConcurrentDictionary;AddOrUpdate;(TKey,System.Func,System.Func,TArg);Argument[2].ReturnValue;ReturnValue;value;dfc-generated | +| System.Collections.Concurrent;ConcurrentDictionary;AddOrUpdate;(TKey,System.Func,System.Func,TArg);Argument[2].ReturnValue;ReturnValue;value;hq-generated | +| System.Collections.Concurrent;ConcurrentDictionary;AddOrUpdate;(TKey,System.Func,System.Func,TArg);Argument[2];Argument[2].Parameter[delegate-self];value;dfc-generated | | System.Collections.Concurrent;ConcurrentDictionary;AddOrUpdate;(TKey,System.Func,System.Func,TArg);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| System.Collections.Concurrent;ConcurrentDictionary;AddOrUpdate;(TKey,System.Func,System.Func,TArg);Argument[3];Argument[1].Parameter[1];value;dfc-generated | +| System.Collections.Concurrent;ConcurrentDictionary;AddOrUpdate;(TKey,System.Func,System.Func,TArg);Argument[3];Argument[1].Parameter[1];value;hq-generated | +| System.Collections.Concurrent;ConcurrentDictionary;AddOrUpdate;(TKey,System.Func,System.Func,TArg);Argument[3];Argument[2].Parameter[2];value;dfc-generated | +| System.Collections.Concurrent;ConcurrentDictionary;AddOrUpdate;(TKey,System.Func,System.Func,TArg);Argument[3];Argument[2].Parameter[2];value;hq-generated | | System.Collections.Concurrent;ConcurrentDictionary;Clear;();Argument[this].WithoutElement;Argument[this];value;manual | | System.Collections.Concurrent;ConcurrentDictionary;ConcurrentDictionary;(System.Collections.Generic.IEnumerable>);Argument[0].Element.Property[System.Collections.Generic.KeyValuePair`2.Key];Argument[this].Element.Property[System.Collections.Generic.KeyValuePair`2.Key];value;manual | | System.Collections.Concurrent;ConcurrentDictionary;ConcurrentDictionary;(System.Collections.Generic.IEnumerable>);Argument[0].Element.Property[System.Collections.Generic.KeyValuePair`2.Value];Argument[this].Element.Property[System.Collections.Generic.KeyValuePair`2.Value];value;manual | @@ -5663,9 +6253,21 @@ summary | System.Collections.Concurrent;ConcurrentDictionary;GetEnumerator;();Argument[this].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator`1.Current];value;manual | | System.Collections.Concurrent;ConcurrentDictionary;GetEnumerator;();Argument[this].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | | System.Collections.Concurrent;ConcurrentDictionary;GetEnumerator;();Argument[this];ReturnValue;taint;df-generated | +| System.Collections.Concurrent;ConcurrentDictionary;GetOrAdd;(TKey,System.Func);Argument[0];Argument[1].Parameter[0];value;dfc-generated | +| System.Collections.Concurrent;ConcurrentDictionary;GetOrAdd;(TKey,System.Func);Argument[0];Argument[1].Parameter[0];value;hq-generated | +| System.Collections.Concurrent;ConcurrentDictionary;GetOrAdd;(TKey,System.Func);Argument[1].ReturnValue;ReturnValue;value;dfc-generated | +| System.Collections.Concurrent;ConcurrentDictionary;GetOrAdd;(TKey,System.Func);Argument[1].ReturnValue;ReturnValue;value;hq-generated | +| System.Collections.Concurrent;ConcurrentDictionary;GetOrAdd;(TKey,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Collections.Concurrent;ConcurrentDictionary;GetOrAdd;(TKey,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | System.Collections.Concurrent;ConcurrentDictionary;GetOrAdd;(TKey,TValue);Argument[1];ReturnValue;value;dfc-generated | +| System.Collections.Concurrent;ConcurrentDictionary;GetOrAdd;(TKey,System.Func,TArg);Argument[0];Argument[1].Parameter[0];value;dfc-generated | +| System.Collections.Concurrent;ConcurrentDictionary;GetOrAdd;(TKey,System.Func,TArg);Argument[0];Argument[1].Parameter[0];value;hq-generated | +| System.Collections.Concurrent;ConcurrentDictionary;GetOrAdd;(TKey,System.Func,TArg);Argument[1].ReturnValue;ReturnValue;value;dfc-generated | +| System.Collections.Concurrent;ConcurrentDictionary;GetOrAdd;(TKey,System.Func,TArg);Argument[1].ReturnValue;ReturnValue;value;hq-generated | +| System.Collections.Concurrent;ConcurrentDictionary;GetOrAdd;(TKey,System.Func,TArg);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Collections.Concurrent;ConcurrentDictionary;GetOrAdd;(TKey,System.Func,TArg);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Collections.Concurrent;ConcurrentDictionary;GetOrAdd;(TKey,System.Func,TArg);Argument[2];Argument[1].Parameter[1];value;dfc-generated | +| System.Collections.Concurrent;ConcurrentDictionary;GetOrAdd;(TKey,System.Func,TArg);Argument[2];Argument[1].Parameter[1];value;hq-generated | | System.Collections.Concurrent;ConcurrentDictionary;get_Comparer;();Argument[this];ReturnValue;taint;df-generated | | System.Collections.Concurrent;ConcurrentDictionary;get_Item;(System.Object);Argument[this].Element.Property[System.Collections.Generic.KeyValuePair`2.Value];ReturnValue;value;manual | | System.Collections.Concurrent;ConcurrentDictionary;get_Item;(TKey);Argument[this].Element.Property[System.Collections.Generic.KeyValuePair`2.Value];ReturnValue;value;manual | @@ -5753,6 +6355,8 @@ summary | System.Collections.Generic;CollectionExtensions;Remove;(System.Collections.Generic.IDictionary,TKey,TValue);Argument[0].Element;ReturnValue;taint;df-generated | | System.Collections.Generic;CollectionExtensions;TryAdd;(System.Collections.Generic.IDictionary,TKey,TValue);Argument[1];Argument[0].Element.Property[System.Collections.Generic.KeyValuePair`2.Key];value;dfc-generated | | System.Collections.Generic;CollectionExtensions;TryAdd;(System.Collections.Generic.IDictionary,TKey,TValue);Argument[2];Argument[0].Element.Property[System.Collections.Generic.KeyValuePair`2.Value];value;dfc-generated | +| System.Collections.Generic;Comparer;Compare;(System.Object,System.Object);Argument[0];Argument[this];taint;df-generated | +| System.Collections.Generic;Comparer;Compare;(System.Object,System.Object);Argument[1];Argument[this];taint;df-generated | | System.Collections.Generic;Comparer;Create;(System.Comparison);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | | System.Collections.Generic;Dictionary+Enumerator;get_Current;();Argument[this];ReturnValue;taint;df-generated | | System.Collections.Generic;Dictionary+Enumerator;get_Entry;();Argument[this];ReturnValue;taint;df-generated | @@ -5822,6 +6426,9 @@ summary | System.Collections.Generic;Dictionary;set_Item;(TKey,TValue);Argument[1];Argument[this].Element.Property[System.Collections.Generic.KeyValuePair`2.Value];value;manual | | System.Collections.Generic;EqualityComparer;Create;(System.Func,System.Func);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | | System.Collections.Generic;EqualityComparer;Create;(System.Func,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Collections.Generic;EqualityComparer;Equals;(System.Object,System.Object);Argument[0];Argument[this];taint;df-generated | +| System.Collections.Generic;EqualityComparer;Equals;(System.Object,System.Object);Argument[1];Argument[this];taint;df-generated | +| System.Collections.Generic;EqualityComparer;GetHashCode;(System.Object);Argument[0];Argument[this];taint;df-generated | | System.Collections.Generic;HashSet+Enumerator;get_Current;();Argument[this];ReturnValue;taint;df-generated | | System.Collections.Generic;HashSet;Add;(T);Argument[0];Argument[this].Element;value;manual | | System.Collections.Generic;HashSet;Clear;();Argument[this].WithoutElement;Argument[this];value;manual | @@ -5985,6 +6592,9 @@ summary | System.Collections.Generic;Queue;TryDequeue;(T);Argument[this].SyntheticField[System.Collections.Generic.Queue`1._array].Element;ReturnValue;value;dfc-generated | | System.Collections.Generic;Queue;TryPeek;(T);Argument[this].SyntheticField[System.Collections.Generic.Queue`1._array].Element;ReturnValue;value;dfc-generated | | System.Collections.Generic;Queue;get_SyncRoot;();Argument[this];ReturnValue;value;dfc-generated | +| System.Collections.Generic;ReferenceEqualityComparer;Equals;(System.Object,System.Object);Argument[0];Argument[this];taint;df-generated | +| System.Collections.Generic;ReferenceEqualityComparer;Equals;(System.Object,System.Object);Argument[1];Argument[this];taint;df-generated | +| System.Collections.Generic;ReferenceEqualityComparer;GetHashCode;(System.Object);Argument[0];Argument[this];taint;df-generated | | System.Collections.Generic;SortedDictionary+Enumerator;get_Current;();Argument[this].Property[System.Collections.Generic.SortedDictionary`2+Enumerator.Current].Property[System.Collections.Generic.KeyValuePair`2.Key];ReturnValue.Property[System.Collections.Generic.KeyValuePair`2.Key];value;df-generated | | System.Collections.Generic;SortedDictionary+Enumerator;get_Current;();Argument[this].Property[System.Collections.Generic.SortedDictionary`2+Enumerator.Current].Property[System.Collections.Generic.KeyValuePair`2.Key];ReturnValue.Property[System.Collections.Generic.KeyValuePair`2.Key];value;dfc-generated | | System.Collections.Generic;SortedDictionary+Enumerator;get_Current;();Argument[this].Property[System.Collections.Generic.SortedDictionary`2+Enumerator.Current].Property[System.Collections.Generic.KeyValuePair`2.Value];ReturnValue.Property[System.Collections.Generic.KeyValuePair`2.Value];value;df-generated | @@ -6160,8 +6770,14 @@ summary | System.Collections.Immutable;ImmutableArray;Create;(T,T,T,T);Argument[3];ReturnValue;taint;df-generated | | System.Collections.Immutable;ImmutableArray;Create;(T[],System.Int32,System.Int32);Argument[0].Element;ReturnValue;taint;df-generated | | System.Collections.Immutable;ImmutableArray;CreateRange;(System.Collections.Generic.IEnumerable);Argument[0].Element;ReturnValue;taint;df-generated | +| System.Collections.Immutable;ImmutableArray;CreateRange;(System.Collections.Immutable.ImmutableArray,System.Func,TArg);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Collections.Immutable;ImmutableArray;CreateRange;(System.Collections.Immutable.ImmutableArray,System.Func,TArg);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Collections.Immutable;ImmutableArray;CreateRange;(System.Collections.Immutable.ImmutableArray,System.Func,TArg);Argument[2];Argument[1].Parameter[1];value;dfc-generated | +| System.Collections.Immutable;ImmutableArray;CreateRange;(System.Collections.Immutable.ImmutableArray,System.Func,TArg);Argument[2];Argument[1].Parameter[1];value;hq-generated | +| System.Collections.Immutable;ImmutableArray;CreateRange;(System.Collections.Immutable.ImmutableArray,System.Int32,System.Int32,System.Func,TArg);Argument[3];Argument[3].Parameter[delegate-self];value;dfc-generated | | System.Collections.Immutable;ImmutableArray;CreateRange;(System.Collections.Immutable.ImmutableArray,System.Int32,System.Int32,System.Func,TArg);Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| System.Collections.Immutable;ImmutableArray;CreateRange;(System.Collections.Immutable.ImmutableArray,System.Int32,System.Int32,System.Func,TArg);Argument[4];Argument[3].Parameter[1];value;dfc-generated | +| System.Collections.Immutable;ImmutableArray;CreateRange;(System.Collections.Immutable.ImmutableArray,System.Int32,System.Int32,System.Func,TArg);Argument[4];Argument[3].Parameter[1];value;hq-generated | | System.Collections.Immutable;ImmutableArray;CreateRange;(System.Collections.Immutable.ImmutableArray,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | System.Collections.Immutable;ImmutableArray;CreateRange;(System.Collections.Immutable.ImmutableArray,System.Int32,System.Int32,System.Func);Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | | System.Collections.Immutable;ImmutableArray;ToImmutableArray;(System.ReadOnlySpan);Argument[0].Element;ReturnValue.Element;value;manual | @@ -6181,10 +6797,23 @@ summary | System.Collections.Immutable;ImmutableArray+Builder;DrainToImmutable;();Argument[this].SyntheticField[System.Collections.Immutable.ImmutableArray`1+Builder._elements];ReturnValue.SyntheticField[System.Collections.Immutable.ImmutableArray`1.array];value;dfc-generated | | System.Collections.Immutable;ImmutableArray+Builder;GetEnumerator;();Argument[this].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator`1.Current];value;manual | | System.Collections.Immutable;ImmutableArray+Builder;GetEnumerator;();Argument[this].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Collections.Immutable;ImmutableArray+Builder;IndexOf;(T,System.Int32,System.Collections.Generic.IEqualityComparer);Argument[0];Argument[2];taint;df-generated | +| System.Collections.Immutable;ImmutableArray+Builder;IndexOf;(T,System.Int32,System.Collections.Generic.IEqualityComparer);Argument[this];Argument[2];taint;df-generated | +| System.Collections.Immutable;ImmutableArray+Builder;IndexOf;(T,System.Int32,System.Int32,System.Collections.Generic.IEqualityComparer);Argument[0];Argument[3];taint;df-generated | +| System.Collections.Immutable;ImmutableArray+Builder;IndexOf;(T,System.Int32,System.Int32,System.Collections.Generic.IEqualityComparer);Argument[this];Argument[3];taint;df-generated | | System.Collections.Immutable;ImmutableArray+Builder;Insert;(System.Int32,T);Argument[1];Argument[this].Element;value;manual | | System.Collections.Immutable;ImmutableArray+Builder;InsertRange;(System.Int32,System.Collections.Generic.IEnumerable);Argument[1].Element;Argument[this].SyntheticField[System.Collections.Immutable.ImmutableArray`1+Builder._elements].Element;value;dfc-generated | +| System.Collections.Immutable;ImmutableArray+Builder;LastIndexOf;(T,System.Int32,System.Int32,System.Collections.Generic.IEqualityComparer);Argument[0];Argument[3];taint;df-generated | +| System.Collections.Immutable;ImmutableArray+Builder;LastIndexOf;(T,System.Int32,System.Int32,System.Collections.Generic.IEqualityComparer);Argument[this];Argument[3];taint;df-generated | | System.Collections.Immutable;ImmutableArray+Builder;MoveToImmutable;();Argument[this].SyntheticField[System.Collections.Immutable.ImmutableArray`1+Builder._elements];ReturnValue.SyntheticField[System.Collections.Immutable.ImmutableArray`1.array];value;dfc-generated | +| System.Collections.Immutable;ImmutableArray+Builder;Remove;(T,System.Collections.Generic.IEqualityComparer);Argument[0];Argument[1];taint;df-generated | +| System.Collections.Immutable;ImmutableArray+Builder;Remove;(T,System.Collections.Generic.IEqualityComparer);Argument[this];Argument[1];taint;df-generated | +| System.Collections.Immutable;ImmutableArray+Builder;RemoveAll;(System.Predicate);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | System.Collections.Immutable;ImmutableArray+Builder;RemoveAll;(System.Predicate);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Collections.Immutable;ImmutableArray+Builder;RemoveAll;(System.Predicate);Argument[this].SyntheticField[System.Collections.Immutable.ImmutableArray`1+Builder._elements].Element;Argument[0].Parameter[0];value;dfc-generated | +| System.Collections.Immutable;ImmutableArray+Builder;RemoveAll;(System.Predicate);Argument[this].SyntheticField[System.Collections.Immutable.ImmutableArray`1+Builder._elements].Element;Argument[0].Parameter[0];value;hq-generated | +| System.Collections.Immutable;ImmutableArray+Builder;RemoveRange;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);Argument[0].Element;Argument[1];taint;df-generated | +| System.Collections.Immutable;ImmutableArray+Builder;RemoveRange;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);Argument[this];Argument[1];taint;df-generated | | System.Collections.Immutable;ImmutableArray+Builder;Replace;(T,T);Argument[1];Argument[this].SyntheticField[System.Collections.Immutable.ImmutableArray`1+Builder._elements].Element;value;dfc-generated | | System.Collections.Immutable;ImmutableArray+Builder;Replace;(T,T,System.Collections.Generic.IEqualityComparer);Argument[1];Argument[this].SyntheticField[System.Collections.Immutable.ImmutableArray`1+Builder._elements].Element;value;dfc-generated | | System.Collections.Immutable;ImmutableArray+Builder;Sort;(System.Comparison);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | @@ -6218,12 +6847,18 @@ summary | System.Collections.Immutable;ImmutableArray;CastUp;(System.Collections.Immutable.ImmutableArray);Argument[0].Element;ReturnValue;taint;df-generated | | System.Collections.Immutable;ImmutableArray;Clear;();Argument[this].WithoutElement;Argument[this];value;manual | | System.Collections.Immutable;ImmutableArray;Clear;();Argument[this].WithoutElement;ReturnValue;value;manual | +| System.Collections.Immutable;ImmutableArray;Contains;(T,System.Collections.Generic.IEqualityComparer);Argument[0];Argument[1];taint;df-generated | +| System.Collections.Immutable;ImmutableArray;Contains;(T,System.Collections.Generic.IEqualityComparer);Argument[this];Argument[1];taint;df-generated | | System.Collections.Immutable;ImmutableArray;CopyTo;(System.Array,System.Int32);Argument[this].Element;Argument[0].Element;value;manual | | System.Collections.Immutable;ImmutableArray;CopyTo;(System.Span);Argument[this].SyntheticField[System.Collections.Immutable.ImmutableArray`1.array].Element;Argument[0].Element;value;dfc-generated | | System.Collections.Immutable;ImmutableArray;CopyTo;(T[],System.Int32);Argument[this].Element;Argument[0].Element;value;manual | | System.Collections.Immutable;ImmutableArray;GetEnumerator;();Argument[this].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator`1.Current];value;manual | | System.Collections.Immutable;ImmutableArray;GetEnumerator;();Argument[this].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | | System.Collections.Immutable;ImmutableArray;GetEnumerator;();Argument[this].SyntheticField[System.Collections.Immutable.ImmutableArray`1.array];ReturnValue.SyntheticField[System.Collections.Immutable.ImmutableArray`1+Enumerator._array];value;dfc-generated | +| System.Collections.Immutable;ImmutableArray;IndexOf;(T,System.Int32,System.Collections.Generic.IEqualityComparer);Argument[0];Argument[2];taint;df-generated | +| System.Collections.Immutable;ImmutableArray;IndexOf;(T,System.Int32,System.Collections.Generic.IEqualityComparer);Argument[this];Argument[2];taint;df-generated | +| System.Collections.Immutable;ImmutableArray;IndexOf;(T,System.Int32,System.Int32,System.Collections.Generic.IEqualityComparer);Argument[0];Argument[3];taint;df-generated | +| System.Collections.Immutable;ImmutableArray;IndexOf;(T,System.Int32,System.Int32,System.Collections.Generic.IEqualityComparer);Argument[this];Argument[3];taint;df-generated | | System.Collections.Immutable;ImmutableArray;Insert;(System.Int32,System.Object);Argument[1];Argument[this].Element;value;manual | | System.Collections.Immutable;ImmutableArray;Insert;(System.Int32,T);Argument[1];Argument[this].Element;value;manual | | System.Collections.Immutable;ImmutableArray;Insert;(System.Int32,T);Argument[1];ReturnValue.SyntheticField[System.Collections.Immutable.ImmutableArray`1.array].Element;value;df-generated | @@ -6239,10 +6874,17 @@ summary | System.Collections.Immutable;ImmutableArray;InsertRange;(System.Int32,System.ReadOnlySpan);Argument[this];ReturnValue;value;dfc-generated | | System.Collections.Immutable;ImmutableArray;InsertRange;(System.Int32,T[]);Argument[1];ReturnValue.SyntheticField[System.Collections.Immutable.ImmutableArray`1.array];value;dfc-generated | | System.Collections.Immutable;ImmutableArray;InsertRange;(System.Int32,T[]);Argument[this];ReturnValue;value;dfc-generated | +| System.Collections.Immutable;ImmutableArray;LastIndexOf;(T,System.Int32,System.Int32,System.Collections.Generic.IEqualityComparer);Argument[0];Argument[3];taint;df-generated | +| System.Collections.Immutable;ImmutableArray;LastIndexOf;(T,System.Int32,System.Int32,System.Collections.Generic.IEqualityComparer);Argument[this];Argument[3];taint;df-generated | | System.Collections.Immutable;ImmutableArray;OfType;();Argument[this].SyntheticField[System.Collections.Immutable.ImmutableArray`1.array].Element;ReturnValue.Element;value;dfc-generated | | System.Collections.Immutable;ImmutableArray;Remove;(T);Argument[this];ReturnValue;value;dfc-generated | | System.Collections.Immutable;ImmutableArray;Remove;(T,System.Collections.Generic.IEqualityComparer);Argument[this];ReturnValue;value;dfc-generated | +| System.Collections.Immutable;ImmutableArray;RemoveAll;(System.Predicate);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | System.Collections.Immutable;ImmutableArray;RemoveAll;(System.Predicate);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Collections.Immutable;ImmutableArray;RemoveAll;(System.Predicate);Argument[this].SyntheticField[System.Collections.Immutable.ImmutableArray`1.array].Element;Argument[0].Parameter[0];value;dfc-generated | +| System.Collections.Immutable;ImmutableArray;RemoveAll;(System.Predicate);Argument[this].SyntheticField[System.Collections.Immutable.ImmutableArray`1.array].Element;Argument[0].Parameter[0];value;hq-generated | +| System.Collections.Immutable;ImmutableArray;RemoveAll;(System.Predicate);Argument[this];ReturnValue;value;dfc-generated | +| System.Collections.Immutable;ImmutableArray;RemoveAll;(System.Predicate);Argument[this];ReturnValue;value;hq-generated | | System.Collections.Immutable;ImmutableArray;RemoveAt;(System.Int32);Argument[this];ReturnValue;value;dfc-generated | | System.Collections.Immutable;ImmutableArray;RemoveRange;(System.Collections.Generic.IEnumerable);Argument[this];ReturnValue;value;dfc-generated | | System.Collections.Immutable;ImmutableArray;RemoveRange;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);Argument[this];ReturnValue;value;dfc-generated | @@ -6252,19 +6894,28 @@ summary | System.Collections.Immutable;ImmutableArray;RemoveRange;(System.ReadOnlySpan,System.Collections.Generic.IEqualityComparer);Argument[this];ReturnValue;value;dfc-generated | | System.Collections.Immutable;ImmutableArray;RemoveRange;(T[],System.Collections.Generic.IEqualityComparer);Argument[this];ReturnValue;value;dfc-generated | | System.Collections.Immutable;ImmutableArray;Replace;(T,T);Argument[1];ReturnValue.SyntheticField[System.Collections.Immutable.ImmutableArray`1.array].Element;value;dfc-generated | +| System.Collections.Immutable;ImmutableArray;Replace;(T,T,System.Collections.Generic.IEqualityComparer);Argument[0];Argument[2];taint;df-generated | +| System.Collections.Immutable;ImmutableArray;Replace;(T,T,System.Collections.Generic.IEqualityComparer);Argument[0];Argument[2];taint;dfc-generated | | System.Collections.Immutable;ImmutableArray;Replace;(T,T,System.Collections.Generic.IEqualityComparer);Argument[1];ReturnValue.SyntheticField[System.Collections.Immutable.ImmutableArray`1.array].Element;value;df-generated | | System.Collections.Immutable;ImmutableArray;Replace;(T,T,System.Collections.Generic.IEqualityComparer);Argument[1];ReturnValue.SyntheticField[System.Collections.Immutable.ImmutableArray`1.array].Element;value;dfc-generated | | System.Collections.Immutable;ImmutableArray;Replace;(T,T,System.Collections.Generic.IEqualityComparer);Argument[1];ReturnValue;taint;df-generated | | System.Collections.Immutable;ImmutableArray;Replace;(T,T,System.Collections.Generic.IEqualityComparer);Argument[1];ReturnValue;taint;dfc-generated | +| System.Collections.Immutable;ImmutableArray;Replace;(T,T,System.Collections.Generic.IEqualityComparer);Argument[this];Argument[2];taint;df-generated | +| System.Collections.Immutable;ImmutableArray;Replace;(T,T,System.Collections.Generic.IEqualityComparer);Argument[this];Argument[2];taint;dfc-generated | | System.Collections.Immutable;ImmutableArray;SetItem;(System.Int32,T);Argument[1];ReturnValue.SyntheticField[System.Collections.Immutable.ImmutableArray`1.array].Element;value;df-generated | | System.Collections.Immutable;ImmutableArray;SetItem;(System.Int32,T);Argument[1];ReturnValue.SyntheticField[System.Collections.Immutable.ImmutableArray`1.array].Element;value;dfc-generated | | System.Collections.Immutable;ImmutableArray;SetItem;(System.Int32,T);Argument[1];ReturnValue;taint;df-generated | | System.Collections.Immutable;ImmutableArray;SetItem;(System.Int32,T);Argument[1];ReturnValue;taint;dfc-generated | | System.Collections.Immutable;ImmutableArray;Slice;(System.Int32,System.Int32);Argument[this];ReturnValue;value;dfc-generated | | System.Collections.Immutable;ImmutableArray;Sort;();Argument[this];ReturnValue;value;dfc-generated | -| System.Collections.Immutable;ImmutableArray;Sort;(System.Collections.Generic.IComparer);Argument[this];ReturnValue;value;dfc-generated | +| System.Collections.Immutable;ImmutableArray;Sort;(System.Collections.Generic.IComparer);Argument[this];Argument[0];taint;df-generated | +| System.Collections.Immutable;ImmutableArray;Sort;(System.Collections.Generic.IComparer);Argument[this];ReturnValue;taint;df-generated | +| System.Collections.Immutable;ImmutableArray;Sort;(System.Comparison);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | System.Collections.Immutable;ImmutableArray;Sort;(System.Comparison);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | -| System.Collections.Immutable;ImmutableArray;Sort;(System.Int32,System.Int32,System.Collections.Generic.IComparer);Argument[this];ReturnValue;value;dfc-generated | +| System.Collections.Immutable;ImmutableArray;Sort;(System.Comparison);Argument[this];ReturnValue;value;dfc-generated | +| System.Collections.Immutable;ImmutableArray;Sort;(System.Comparison);Argument[this];ReturnValue;value;hq-generated | +| System.Collections.Immutable;ImmutableArray;Sort;(System.Int32,System.Int32,System.Collections.Generic.IComparer);Argument[this];Argument[2];taint;df-generated | +| System.Collections.Immutable;ImmutableArray;Sort;(System.Int32,System.Int32,System.Collections.Generic.IComparer);Argument[this];ReturnValue;taint;df-generated | | System.Collections.Immutable;ImmutableArray;ToBuilder;();Argument[this].Element;ReturnValue.Element;value;dfc-generated | | System.Collections.Immutable;ImmutableArray;get_Item;(System.Int32);Argument[this].Element;ReturnValue;value;manual | | System.Collections.Immutable;ImmutableArray;get_Item;(System.Int32);Argument[this].SyntheticField[System.Collections.Immutable.ImmutableArray`1.array].Element;ReturnValue;value;dfc-generated | @@ -6403,11 +7054,48 @@ summary | System.Collections.Immutable;ImmutableHashSet;WithComparer;(System.Collections.Generic.IEqualityComparer);Argument[this];ReturnValue;value;dfc-generated | | System.Collections.Immutable;ImmutableHashSet;get_KeyComparer;();Argument[this];ReturnValue;taint;df-generated | | System.Collections.Immutable;ImmutableHashSet;get_SyncRoot;();Argument[this];ReturnValue;value;dfc-generated | +| System.Collections.Immutable;ImmutableInterlocked;AddOrUpdate;(System.Collections.Immutable.ImmutableDictionary,TKey,System.Func,System.Func);Argument[0];ReturnValue;value;dfc-generated | +| System.Collections.Immutable;ImmutableInterlocked;AddOrUpdate;(System.Collections.Immutable.ImmutableDictionary,TKey,System.Func,System.Func);Argument[0];ReturnValue;value;hq-generated | +| System.Collections.Immutable;ImmutableInterlocked;AddOrUpdate;(System.Collections.Immutable.ImmutableDictionary,TKey,System.Func,System.Func);Argument[1];Argument[2].Parameter[0];value;dfc-generated | +| System.Collections.Immutable;ImmutableInterlocked;AddOrUpdate;(System.Collections.Immutable.ImmutableDictionary,TKey,System.Func,System.Func);Argument[1];Argument[2].Parameter[0];value;hq-generated | +| System.Collections.Immutable;ImmutableInterlocked;AddOrUpdate;(System.Collections.Immutable.ImmutableDictionary,TKey,System.Func,System.Func);Argument[1];Argument[3].Parameter[0];value;dfc-generated | +| System.Collections.Immutable;ImmutableInterlocked;AddOrUpdate;(System.Collections.Immutable.ImmutableDictionary,TKey,System.Func,System.Func);Argument[1];Argument[3].Parameter[0];value;hq-generated | +| System.Collections.Immutable;ImmutableInterlocked;AddOrUpdate;(System.Collections.Immutable.ImmutableDictionary,TKey,System.Func,System.Func);Argument[2].ReturnValue;ReturnValue;value;dfc-generated | +| System.Collections.Immutable;ImmutableInterlocked;AddOrUpdate;(System.Collections.Immutable.ImmutableDictionary,TKey,System.Func,System.Func);Argument[2].ReturnValue;ReturnValue;value;hq-generated | +| System.Collections.Immutable;ImmutableInterlocked;AddOrUpdate;(System.Collections.Immutable.ImmutableDictionary,TKey,System.Func,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;dfc-generated | | System.Collections.Immutable;ImmutableInterlocked;AddOrUpdate;(System.Collections.Immutable.ImmutableDictionary,TKey,System.Func,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| System.Collections.Immutable;ImmutableInterlocked;AddOrUpdate;(System.Collections.Immutable.ImmutableDictionary,TKey,System.Func,System.Func);Argument[3].ReturnValue;ReturnValue;value;dfc-generated | +| System.Collections.Immutable;ImmutableInterlocked;AddOrUpdate;(System.Collections.Immutable.ImmutableDictionary,TKey,System.Func,System.Func);Argument[3].ReturnValue;ReturnValue;value;hq-generated | +| System.Collections.Immutable;ImmutableInterlocked;AddOrUpdate;(System.Collections.Immutable.ImmutableDictionary,TKey,System.Func,System.Func);Argument[3];Argument[3].Parameter[delegate-self];value;dfc-generated | | System.Collections.Immutable;ImmutableInterlocked;AddOrUpdate;(System.Collections.Immutable.ImmutableDictionary,TKey,System.Func,System.Func);Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| System.Collections.Immutable;ImmutableInterlocked;AddOrUpdate;(System.Collections.Immutable.ImmutableDictionary,TKey,TValue,System.Func);Argument[0];ReturnValue;value;dfc-generated | +| System.Collections.Immutable;ImmutableInterlocked;AddOrUpdate;(System.Collections.Immutable.ImmutableDictionary,TKey,TValue,System.Func);Argument[0];ReturnValue;value;hq-generated | +| System.Collections.Immutable;ImmutableInterlocked;AddOrUpdate;(System.Collections.Immutable.ImmutableDictionary,TKey,TValue,System.Func);Argument[1];Argument[3].Parameter[0];value;dfc-generated | +| System.Collections.Immutable;ImmutableInterlocked;AddOrUpdate;(System.Collections.Immutable.ImmutableDictionary,TKey,TValue,System.Func);Argument[1];Argument[3].Parameter[0];value;hq-generated | +| System.Collections.Immutable;ImmutableInterlocked;AddOrUpdate;(System.Collections.Immutable.ImmutableDictionary,TKey,TValue,System.Func);Argument[2];ReturnValue;value;dfc-generated | +| System.Collections.Immutable;ImmutableInterlocked;AddOrUpdate;(System.Collections.Immutable.ImmutableDictionary,TKey,TValue,System.Func);Argument[2];ReturnValue;value;hq-generated | +| System.Collections.Immutable;ImmutableInterlocked;AddOrUpdate;(System.Collections.Immutable.ImmutableDictionary,TKey,TValue,System.Func);Argument[3].ReturnValue;ReturnValue;value;dfc-generated | +| System.Collections.Immutable;ImmutableInterlocked;AddOrUpdate;(System.Collections.Immutable.ImmutableDictionary,TKey,TValue,System.Func);Argument[3].ReturnValue;ReturnValue;value;hq-generated | +| System.Collections.Immutable;ImmutableInterlocked;AddOrUpdate;(System.Collections.Immutable.ImmutableDictionary,TKey,TValue,System.Func);Argument[3];Argument[3].Parameter[delegate-self];value;dfc-generated | | System.Collections.Immutable;ImmutableInterlocked;AddOrUpdate;(System.Collections.Immutable.ImmutableDictionary,TKey,TValue,System.Func);Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | | System.Collections.Immutable;ImmutableInterlocked;Enqueue;(System.Collections.Immutable.ImmutableQueue,T);Argument[0];ReturnValue;value;dfc-generated | +| System.Collections.Immutable;ImmutableInterlocked;GetOrAdd;(System.Collections.Immutable.ImmutableDictionary,TKey,System.Func,TArg);Argument[0];ReturnValue;value;dfc-generated | +| System.Collections.Immutable;ImmutableInterlocked;GetOrAdd;(System.Collections.Immutable.ImmutableDictionary,TKey,System.Func,TArg);Argument[0];ReturnValue;value;hq-generated | +| System.Collections.Immutable;ImmutableInterlocked;GetOrAdd;(System.Collections.Immutable.ImmutableDictionary,TKey,System.Func,TArg);Argument[1];Argument[2].Parameter[0];value;dfc-generated | +| System.Collections.Immutable;ImmutableInterlocked;GetOrAdd;(System.Collections.Immutable.ImmutableDictionary,TKey,System.Func,TArg);Argument[1];Argument[2].Parameter[0];value;hq-generated | +| System.Collections.Immutable;ImmutableInterlocked;GetOrAdd;(System.Collections.Immutable.ImmutableDictionary,TKey,System.Func,TArg);Argument[2].ReturnValue;ReturnValue;value;dfc-generated | +| System.Collections.Immutable;ImmutableInterlocked;GetOrAdd;(System.Collections.Immutable.ImmutableDictionary,TKey,System.Func,TArg);Argument[2].ReturnValue;ReturnValue;value;hq-generated | +| System.Collections.Immutable;ImmutableInterlocked;GetOrAdd;(System.Collections.Immutable.ImmutableDictionary,TKey,System.Func,TArg);Argument[2];Argument[2].Parameter[delegate-self];value;dfc-generated | | System.Collections.Immutable;ImmutableInterlocked;GetOrAdd;(System.Collections.Immutable.ImmutableDictionary,TKey,System.Func,TArg);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| System.Collections.Immutable;ImmutableInterlocked;GetOrAdd;(System.Collections.Immutable.ImmutableDictionary,TKey,System.Func,TArg);Argument[3];Argument[2].Parameter[1];value;dfc-generated | +| System.Collections.Immutable;ImmutableInterlocked;GetOrAdd;(System.Collections.Immutable.ImmutableDictionary,TKey,System.Func,TArg);Argument[3];Argument[2].Parameter[1];value;hq-generated | +| System.Collections.Immutable;ImmutableInterlocked;GetOrAdd;(System.Collections.Immutable.ImmutableDictionary,TKey,System.Func);Argument[0];ReturnValue;value;dfc-generated | +| System.Collections.Immutable;ImmutableInterlocked;GetOrAdd;(System.Collections.Immutable.ImmutableDictionary,TKey,System.Func);Argument[0];ReturnValue;value;hq-generated | +| System.Collections.Immutable;ImmutableInterlocked;GetOrAdd;(System.Collections.Immutable.ImmutableDictionary,TKey,System.Func);Argument[1];Argument[2].Parameter[0];value;dfc-generated | +| System.Collections.Immutable;ImmutableInterlocked;GetOrAdd;(System.Collections.Immutable.ImmutableDictionary,TKey,System.Func);Argument[1];Argument[2].Parameter[0];value;hq-generated | +| System.Collections.Immutable;ImmutableInterlocked;GetOrAdd;(System.Collections.Immutable.ImmutableDictionary,TKey,System.Func);Argument[2].ReturnValue;ReturnValue;value;dfc-generated | +| System.Collections.Immutable;ImmutableInterlocked;GetOrAdd;(System.Collections.Immutable.ImmutableDictionary,TKey,System.Func);Argument[2].ReturnValue;ReturnValue;value;hq-generated | +| System.Collections.Immutable;ImmutableInterlocked;GetOrAdd;(System.Collections.Immutable.ImmutableDictionary,TKey,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;dfc-generated | | System.Collections.Immutable;ImmutableInterlocked;GetOrAdd;(System.Collections.Immutable.ImmutableDictionary,TKey,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | | System.Collections.Immutable;ImmutableInterlocked;GetOrAdd;(System.Collections.Immutable.ImmutableDictionary,TKey,TValue);Argument[0];ReturnValue;value;dfc-generated | | System.Collections.Immutable;ImmutableInterlocked;GetOrAdd;(System.Collections.Immutable.ImmutableDictionary,TKey,TValue);Argument[2];ReturnValue;value;dfc-generated | @@ -6421,14 +7109,34 @@ summary | System.Collections.Immutable;ImmutableInterlocked;TryRemove;(System.Collections.Immutable.ImmutableDictionary,TKey,TValue);Argument[0];ReturnValue;value;dfc-generated | | System.Collections.Immutable;ImmutableInterlocked;TryRemove;(System.Collections.Immutable.ImmutableDictionary,TKey,TValue);Argument[2];ReturnValue;value;dfc-generated | | System.Collections.Immutable;ImmutableInterlocked;TryUpdate;(System.Collections.Immutable.ImmutableDictionary,TKey,TValue,TValue);Argument[0];ReturnValue;value;dfc-generated | +| System.Collections.Immutable;ImmutableInterlocked;Update;(System.Collections.Immutable.ImmutableArray,System.Func,TArg,System.Collections.Immutable.ImmutableArray>,TArg);Argument[0];ReturnValue;value;dfc-generated | +| System.Collections.Immutable;ImmutableInterlocked;Update;(System.Collections.Immutable.ImmutableArray,System.Func,TArg,System.Collections.Immutable.ImmutableArray>,TArg);Argument[0];ReturnValue;value;hq-generated | +| System.Collections.Immutable;ImmutableInterlocked;Update;(System.Collections.Immutable.ImmutableArray,System.Func,TArg,System.Collections.Immutable.ImmutableArray>,TArg);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Collections.Immutable;ImmutableInterlocked;Update;(System.Collections.Immutable.ImmutableArray,System.Func,TArg,System.Collections.Immutable.ImmutableArray>,TArg);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Collections.Immutable;ImmutableInterlocked;Update;(System.Collections.Immutable.ImmutableArray,System.Func,TArg,System.Collections.Immutable.ImmutableArray>,TArg);Argument[2];Argument[1].Parameter[1];value;dfc-generated | +| System.Collections.Immutable;ImmutableInterlocked;Update;(System.Collections.Immutable.ImmutableArray,System.Func,TArg,System.Collections.Immutable.ImmutableArray>,TArg);Argument[2];Argument[1].Parameter[1];value;hq-generated | +| System.Collections.Immutable;ImmutableInterlocked;Update;(T,System.Func,TArg);Argument[0];ReturnValue;value;dfc-generated | +| System.Collections.Immutable;ImmutableInterlocked;Update;(T,System.Func,TArg);Argument[0];ReturnValue;value;hq-generated | +| System.Collections.Immutable;ImmutableInterlocked;Update;(T,System.Func,TArg);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Collections.Immutable;ImmutableInterlocked;Update;(T,System.Func,TArg);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Collections.Immutable;ImmutableInterlocked;Update;(T,System.Func,TArg);Argument[2];Argument[1].Parameter[1];value;dfc-generated | +| System.Collections.Immutable;ImmutableInterlocked;Update;(T,System.Func,TArg);Argument[2];Argument[1].Parameter[1];value;hq-generated | +| System.Collections.Immutable;ImmutableInterlocked;Update;(System.Collections.Immutable.ImmutableArray,System.Func,System.Collections.Immutable.ImmutableArray>);Argument[0];ReturnValue;value;dfc-generated | +| System.Collections.Immutable;ImmutableInterlocked;Update;(System.Collections.Immutable.ImmutableArray,System.Func,System.Collections.Immutable.ImmutableArray>);Argument[0];ReturnValue;value;hq-generated | +| System.Collections.Immutable;ImmutableInterlocked;Update;(System.Collections.Immutable.ImmutableArray,System.Func,System.Collections.Immutable.ImmutableArray>);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Collections.Immutable;ImmutableInterlocked;Update;(System.Collections.Immutable.ImmutableArray,System.Func,System.Collections.Immutable.ImmutableArray>);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Collections.Immutable;ImmutableInterlocked;Update;(T,System.Func);Argument[0];ReturnValue;value;dfc-generated | +| System.Collections.Immutable;ImmutableInterlocked;Update;(T,System.Func);Argument[0];ReturnValue;value;hq-generated | +| System.Collections.Immutable;ImmutableInterlocked;Update;(T,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Collections.Immutable;ImmutableInterlocked;Update;(T,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | System.Collections.Immutable;ImmutableList;Create;(System.ReadOnlySpan);Argument[0];ReturnValue;taint;df-generated | | System.Collections.Immutable;ImmutableList;Create;(T);Argument[0];ReturnValue;taint;df-generated | | System.Collections.Immutable;ImmutableList;Create;(T[]);Argument[0].Element;ReturnValue;taint;df-generated | | System.Collections.Immutable;ImmutableList;CreateRange;(System.Collections.Generic.IEnumerable);Argument[0].Element;ReturnValue;taint;df-generated | +| System.Collections.Immutable;ImmutableList;IndexOf;(System.Collections.Immutable.IImmutableList,T,System.Collections.Generic.IEqualityComparer);Argument[0].Element;Argument[2];taint;df-generated | +| System.Collections.Immutable;ImmutableList;IndexOf;(System.Collections.Immutable.IImmutableList,T,System.Collections.Generic.IEqualityComparer);Argument[1];Argument[2];taint;df-generated | +| System.Collections.Immutable;ImmutableList;LastIndexOf;(System.Collections.Immutable.IImmutableList,T,System.Collections.Generic.IEqualityComparer);Argument[0].Element;Argument[2];taint;df-generated | +| System.Collections.Immutable;ImmutableList;LastIndexOf;(System.Collections.Immutable.IImmutableList,T,System.Collections.Generic.IEqualityComparer);Argument[1];Argument[2];taint;df-generated | | System.Collections.Immutable;ImmutableList;Remove;(System.Collections.Immutable.IImmutableList,T);Argument[0].Element;ReturnValue;taint;df-generated | | System.Collections.Immutable;ImmutableList;RemoveRange;(System.Collections.Immutable.IImmutableList,System.Collections.Generic.IEnumerable);Argument[0].Element;ReturnValue;taint;df-generated | | System.Collections.Immutable;ImmutableList;Replace;(System.Collections.Immutable.IImmutableList,T,T);Argument[0].Element;ReturnValue;taint;df-generated | @@ -6463,16 +7171,23 @@ summary | System.Collections.Immutable;ImmutableList+Builder;FindLastIndex;(System.Int32,System.Int32,System.Predicate);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | | System.Collections.Immutable;ImmutableList+Builder;FindLastIndex;(System.Int32,System.Predicate);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | System.Collections.Immutable;ImmutableList+Builder;FindLastIndex;(System.Predicate);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Collections.Immutable;ImmutableList+Builder;ForEach;(System.Action);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | System.Collections.Immutable;ImmutableList+Builder;ForEach;(System.Action);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Collections.Immutable;ImmutableList+Builder;ForEach;(System.Action);Argument[this].Element;Argument[0].Parameter[0];value;dfc-generated | +| System.Collections.Immutable;ImmutableList+Builder;ForEach;(System.Action);Argument[this].Element;Argument[0].Parameter[0];value;hq-generated | | System.Collections.Immutable;ImmutableList+Builder;GetEnumerator;();Argument[this].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator`1.Current];value;manual | | System.Collections.Immutable;ImmutableList+Builder;GetEnumerator;();Argument[this].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | | System.Collections.Immutable;ImmutableList+Builder;GetEnumerator;();Argument[this].Element;ReturnValue.Property[System.Collections.Immutable.ImmutableList`1+Enumerator.Current];value;manual | | System.Collections.Immutable;ImmutableList+Builder;GetRange;(System.Int32,System.Int32);Argument[this].Element;ReturnValue.Element;value;manual | +| System.Collections.Immutable;ImmutableList+Builder;IndexOf;(T,System.Int32,System.Int32,System.Collections.Generic.IEqualityComparer);Argument[0];Argument[3];taint;df-generated | | System.Collections.Immutable;ImmutableList+Builder;Insert;(System.Int32,System.Object);Argument[1];Argument[this].Element;value;manual | | System.Collections.Immutable;ImmutableList+Builder;Insert;(System.Int32,T);Argument[1];Argument[this].Element;value;manual | | System.Collections.Immutable;ImmutableList+Builder;InsertRange;(System.Int32,System.Collections.Generic.IEnumerable);Argument[1].Element;Argument[this].Element;value;manual | +| System.Collections.Immutable;ImmutableList+Builder;LastIndexOf;(T,System.Int32,System.Int32,System.Collections.Generic.IEqualityComparer);Argument[0];Argument[3];taint;df-generated | +| System.Collections.Immutable;ImmutableList+Builder;Remove;(T,System.Collections.Generic.IEqualityComparer);Argument[0];Argument[1];taint;df-generated | | System.Collections.Immutable;ImmutableList+Builder;RemoveAll;(System.Predicate);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | | System.Collections.Immutable;ImmutableList+Builder;Replace;(T,T);Argument[1];Argument[this];taint;df-generated | +| System.Collections.Immutable;ImmutableList+Builder;Replace;(T,T,System.Collections.Generic.IEqualityComparer);Argument[0];Argument[2];taint;df-generated | | System.Collections.Immutable;ImmutableList+Builder;Replace;(T,T,System.Collections.Generic.IEqualityComparer);Argument[1];Argument[this];taint;df-generated | | System.Collections.Immutable;ImmutableList+Builder;Sort;(System.Comparison);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | | System.Collections.Immutable;ImmutableList+Builder;TrueForAll;(System.Predicate);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | @@ -6513,15 +7228,21 @@ summary | System.Collections.Immutable;ImmutableList;FindLastIndex;(System.Int32,System.Int32,System.Predicate);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | | System.Collections.Immutable;ImmutableList;FindLastIndex;(System.Int32,System.Predicate);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | System.Collections.Immutable;ImmutableList;FindLastIndex;(System.Predicate);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Collections.Immutable;ImmutableList;ForEach;(System.Action);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | System.Collections.Immutable;ImmutableList;ForEach;(System.Action);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Collections.Immutable;ImmutableList;ForEach;(System.Action);Argument[this].Element;Argument[0].Parameter[0];value;dfc-generated | +| System.Collections.Immutable;ImmutableList;ForEach;(System.Action);Argument[this].Element;Argument[0].Parameter[0];value;hq-generated | | System.Collections.Immutable;ImmutableList;GetEnumerator;();Argument[this].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator`1.Current];value;manual | | System.Collections.Immutable;ImmutableList;GetEnumerator;();Argument[this].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | | System.Collections.Immutable;ImmutableList;GetEnumerator;();Argument[this].Element;ReturnValue.Property[System.Collections.Immutable.ImmutableList`1+Enumerator.Current];value;manual | | System.Collections.Immutable;ImmutableList;GetRange;(System.Int32,System.Int32);Argument[this].Element;ReturnValue.Element;value;manual | +| System.Collections.Immutable;ImmutableList;IndexOf;(T,System.Int32,System.Int32,System.Collections.Generic.IEqualityComparer);Argument[0];Argument[3];taint;df-generated | | System.Collections.Immutable;ImmutableList;Insert;(System.Int32,System.Object);Argument[1];Argument[this].Element;value;manual | | System.Collections.Immutable;ImmutableList;Insert;(System.Int32,T);Argument[1];Argument[this].Element;value;manual | | System.Collections.Immutable;ImmutableList;InsertRange;(System.Int32,System.Collections.Generic.IEnumerable);Argument[1].Element;Argument[this].Element;value;manual | +| System.Collections.Immutable;ImmutableList;LastIndexOf;(T,System.Int32,System.Int32,System.Collections.Generic.IEqualityComparer);Argument[0];Argument[3];taint;df-generated | | System.Collections.Immutable;ImmutableList;Remove;(T);Argument[this];ReturnValue;taint;df-generated | +| System.Collections.Immutable;ImmutableList;Remove;(T,System.Collections.Generic.IEqualityComparer);Argument[0];Argument[1];taint;df-generated | | System.Collections.Immutable;ImmutableList;Remove;(T,System.Collections.Generic.IEqualityComparer);Argument[this];ReturnValue;taint;df-generated | | System.Collections.Immutable;ImmutableList;RemoveAll;(System.Predicate);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | | System.Collections.Immutable;ImmutableList;RemoveAt;(System.Int32);Argument[this];ReturnValue;taint;df-generated | @@ -6532,6 +7253,7 @@ summary | System.Collections.Immutable;ImmutableList;Replace;(T,T);Argument[1];Argument[this];taint;df-generated | | System.Collections.Immutable;ImmutableList;Replace;(T,T);Argument[1];ReturnValue;taint;df-generated | | System.Collections.Immutable;ImmutableList;Replace;(T,T);Argument[this];ReturnValue;taint;df-generated | +| System.Collections.Immutable;ImmutableList;Replace;(T,T,System.Collections.Generic.IEqualityComparer);Argument[0];Argument[2];taint;df-generated | | System.Collections.Immutable;ImmutableList;Replace;(T,T,System.Collections.Generic.IEqualityComparer);Argument[1];Argument[this];taint;df-generated | | System.Collections.Immutable;ImmutableList;Replace;(T,T,System.Collections.Generic.IEqualityComparer);Argument[1];ReturnValue;taint;df-generated | | System.Collections.Immutable;ImmutableList;Replace;(T,T,System.Collections.Generic.IEqualityComparer);Argument[this];ReturnValue;taint;df-generated | @@ -6542,7 +7264,10 @@ summary | System.Collections.Immutable;ImmutableList;SetItem;(System.Int32,T);Argument[this];ReturnValue;taint;df-generated | | System.Collections.Immutable;ImmutableList;Sort;();Argument[this];ReturnValue;value;dfc-generated | | System.Collections.Immutable;ImmutableList;Sort;(System.Collections.Generic.IComparer);Argument[this];ReturnValue;value;dfc-generated | +| System.Collections.Immutable;ImmutableList;Sort;(System.Comparison);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | System.Collections.Immutable;ImmutableList;Sort;(System.Comparison);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Collections.Immutable;ImmutableList;Sort;(System.Comparison);Argument[this];ReturnValue;value;dfc-generated | +| System.Collections.Immutable;ImmutableList;Sort;(System.Comparison);Argument[this];ReturnValue;value;hq-generated | | System.Collections.Immutable;ImmutableList;Sort;(System.Int32,System.Int32,System.Collections.Generic.IComparer);Argument[this];ReturnValue;value;dfc-generated | | System.Collections.Immutable;ImmutableList;ToBuilder;();Argument[this];ReturnValue;taint;df-generated | | System.Collections.Immutable;ImmutableList;TrueForAll;(System.Predicate);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | @@ -6990,6 +7715,8 @@ summary | System.Collections;BitArray;Xor;(System.Collections.BitArray);Argument[this];ReturnValue;value;dfc-generated | | System.Collections;BitArray;get_SyncRoot;();Argument[this];ReturnValue;value;dfc-generated | | System.Collections;CaseInsensitiveComparer;CaseInsensitiveComparer;(System.Globalization.CultureInfo);Argument[0];Argument[this];taint;df-generated | +| System.Collections;CaseInsensitiveComparer;Compare;(System.Object,System.Object);Argument[0];Argument[this];taint;df-generated | +| System.Collections;CaseInsensitiveComparer;Compare;(System.Object,System.Object);Argument[1];Argument[this];taint;df-generated | | System.Collections;CaseInsensitiveHashCodeProvider;CaseInsensitiveHashCodeProvider;(System.Globalization.CultureInfo);Argument[0];Argument[this];taint;df-generated | | System.Collections;CollectionBase;Add;(System.Object);Argument[0];Argument[this].Element;value;manual | | System.Collections;CollectionBase;Clear;();Argument[this].WithoutElement;Argument[this];value;manual | @@ -7005,6 +7732,8 @@ summary | System.Collections;CollectionBase;get_List;();Argument[this];ReturnValue;value;dfc-generated | | System.Collections;CollectionBase;get_SyncRoot;();Argument[this];ReturnValue;value;dfc-generated | | System.Collections;CollectionBase;set_Item;(System.Int32,System.Object);Argument[1];Argument[this].Element;value;manual | +| System.Collections;Comparer;Compare;(System.Object,System.Object);Argument[0];Argument[this];taint;df-generated | +| System.Collections;Comparer;Compare;(System.Object,System.Object);Argument[1];Argument[this];taint;df-generated | | System.Collections;Comparer;Comparer;(System.Globalization.CultureInfo);Argument[0].Property[System.Globalization.CultureInfo.CompareInfo];Argument[this].SyntheticField[System.Collections.Comparer._compareInfo];value;dfc-generated | | System.Collections;Comparer;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);Argument[this].SyntheticField[System.Collections.Comparer._compareInfo];Argument[0].SyntheticField[System.Runtime.Serialization.SerializationInfo._values].Element;value;df-generated | | System.Collections;Comparer;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);Argument[this].SyntheticField[System.Collections.Comparer._compareInfo];Argument[0].SyntheticField[System.Runtime.Serialization.SerializationInfo._values].Element;value;dfc-generated | @@ -7061,6 +7790,8 @@ summary | System.Collections;Hashtable;set_Item;(System.Object,System.Object);Argument[1];Argument[this].Element.Property[System.Collections.Generic.KeyValuePair`2.Value];value;manual | | System.Collections;ICollection;CopyTo;(System.Array,System.Int32);Argument[this].Element;Argument[0].Element;value;manual | | System.Collections;ICollection;get_SyncRoot;();Argument[this];ReturnValue;value;dfc-generated | +| System.Collections;IComparer;Compare;(System.Object,System.Object);Argument[0];Argument[this];taint;df-generated | +| System.Collections;IComparer;Compare;(System.Object,System.Object);Argument[1];Argument[this];taint;df-generated | | System.Collections;IDictionary;Add;(System.Object,System.Object);Argument[0];Argument[this].Element.Property[System.Collections.Generic.KeyValuePair`2.Key];value;manual | | System.Collections;IDictionary;Add;(System.Object,System.Object);Argument[1];Argument[this].Element.Property[System.Collections.Generic.KeyValuePair`2.Value];value;manual | | System.Collections;IDictionary;Clear;();Argument[this].WithoutElement;Argument[this];value;manual | @@ -7075,6 +7806,9 @@ summary | System.Collections;IDictionaryEnumerator;get_Value;();Argument[this];ReturnValue;taint;df-generated | | System.Collections;IEnumerable;GetEnumerator;();Argument[this].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | | System.Collections;IEnumerator;get_Current;();Argument[this];ReturnValue;taint;df-generated | +| System.Collections;IEqualityComparer;Equals;(System.Object,System.Object);Argument[0];Argument[this];taint;df-generated | +| System.Collections;IEqualityComparer;Equals;(System.Object,System.Object);Argument[1];Argument[this];taint;df-generated | +| System.Collections;IEqualityComparer;GetHashCode;(System.Object);Argument[0];Argument[this];taint;df-generated | | System.Collections;IList;Add;(System.Object);Argument[0];Argument[this].Element;value;manual | | System.Collections;IList;Clear;();Argument[this].WithoutElement;Argument[this];value;manual | | System.Collections;IList;Insert;(System.Int32,System.Object);Argument[1];Argument[this].Element;value;manual | @@ -7133,8 +7867,6 @@ summary | System.ComponentModel.DataAnnotations;AssociationAttribute;get_OtherKeyMembers;();Argument[this].Property[System.ComponentModel.DataAnnotations.AssociationAttribute.OtherKey];ReturnValue.Element;taint;dfc-generated | | System.ComponentModel.DataAnnotations;AssociationAttribute;get_ThisKeyMembers;();Argument[this].Property[System.ComponentModel.DataAnnotations.AssociationAttribute.ThisKey];ReturnValue.Element;taint;dfc-generated | | System.ComponentModel.DataAnnotations;CompareAttribute;FormatErrorMessage;(System.String);Argument[0];ReturnValue;taint;dfc-generated | -| System.ComponentModel.DataAnnotations;CompareAttribute;FormatErrorMessage;(System.String);Argument[this].Property[System.ComponentModel.DataAnnotations.CompareAttribute.OtherPropertyDisplayName];ReturnValue;taint;dfc-generated | -| System.ComponentModel.DataAnnotations;CompareAttribute;FormatErrorMessage;(System.String);Argument[this].Property[System.ComponentModel.DataAnnotations.CompareAttribute.OtherProperty];ReturnValue;taint;dfc-generated | | System.ComponentModel.DataAnnotations;CompareAttribute;FormatErrorMessage;(System.String);Argument[this].Property[System.ComponentModel.DataAnnotations.ValidationAttribute.ErrorMessageString];ReturnValue;taint;dfc-generated | | System.ComponentModel.DataAnnotations;CustomValidationAttribute;FormatErrorMessage;(System.String);Argument[0];ReturnValue;taint;dfc-generated | | System.ComponentModel.DataAnnotations;CustomValidationAttribute;FormatErrorMessage;(System.String);Argument[this].Property[System.ComponentModel.DataAnnotations.ValidationAttribute.ErrorMessageString];ReturnValue;taint;dfc-generated | @@ -7162,8 +7894,6 @@ summary | System.ComponentModel.DataAnnotations;MinLengthAttribute;FormatErrorMessage;(System.String);Argument[0];ReturnValue;taint;dfc-generated | | System.ComponentModel.DataAnnotations;MinLengthAttribute;FormatErrorMessage;(System.String);Argument[this].Property[System.ComponentModel.DataAnnotations.ValidationAttribute.ErrorMessageString];ReturnValue;taint;dfc-generated | | System.ComponentModel.DataAnnotations;RangeAttribute;FormatErrorMessage;(System.String);Argument[0];ReturnValue;taint;dfc-generated | -| System.ComponentModel.DataAnnotations;RangeAttribute;FormatErrorMessage;(System.String);Argument[this].Property[System.ComponentModel.DataAnnotations.RangeAttribute.Maximum];ReturnValue;taint;dfc-generated | -| System.ComponentModel.DataAnnotations;RangeAttribute;FormatErrorMessage;(System.String);Argument[this].Property[System.ComponentModel.DataAnnotations.RangeAttribute.Minimum];ReturnValue;taint;dfc-generated | | System.ComponentModel.DataAnnotations;RangeAttribute;FormatErrorMessage;(System.String);Argument[this].Property[System.ComponentModel.DataAnnotations.ValidationAttribute.ErrorMessageString];ReturnValue;taint;dfc-generated | | System.ComponentModel.DataAnnotations;RegularExpressionAttribute;FormatErrorMessage;(System.String);Argument[0];ReturnValue;taint;dfc-generated | | System.ComponentModel.DataAnnotations;RegularExpressionAttribute;FormatErrorMessage;(System.String);Argument[this].Property[System.ComponentModel.DataAnnotations.RegularExpressionAttribute.Pattern];ReturnValue;taint;dfc-generated | @@ -7177,9 +7907,16 @@ summary | System.ComponentModel.DataAnnotations;UIHintAttribute;get_UIHint;();Argument[this].SyntheticField[System.ComponentModel.DataAnnotations.UIHintAttribute._implementation].SyntheticField[System.ComponentModel.DataAnnotations.UIHintAttribute+UIHintImplementation.UIHint];ReturnValue;value;dfc-generated | | System.ComponentModel.DataAnnotations;ValidationAttribute;FormatErrorMessage;(System.String);Argument[0];ReturnValue;taint;dfc-generated | | System.ComponentModel.DataAnnotations;ValidationAttribute;FormatErrorMessage;(System.String);Argument[this].Property[System.ComponentModel.DataAnnotations.ValidationAttribute.ErrorMessageString];ReturnValue;taint;dfc-generated | +| System.ComponentModel.DataAnnotations;ValidationAttribute;ValidationAttribute;(System.Func);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | System.ComponentModel.DataAnnotations;ValidationAttribute;ValidationAttribute;(System.Func);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.ComponentModel.DataAnnotations;ValidationAttribute;ValidationAttribute;(System.Func);Argument[0];Argument[this].SyntheticField[System.ComponentModel.DataAnnotations.ValidationAttribute._errorMessageResourceAccessor];value;dfc-generated | +| System.ComponentModel.DataAnnotations;ValidationAttribute;ValidationAttribute;(System.Func);Argument[0];Argument[this].SyntheticField[System.ComponentModel.DataAnnotations.ValidationAttribute._errorMessageResourceAccessor];value;hq-generated | +| System.ComponentModel.DataAnnotations;ValidationAttribute;get_ErrorMessageString;();Argument[this];ReturnValue;taint;df-generated | | System.ComponentModel.DataAnnotations;ValidationContext;GetService;(System.Type);Argument[this];ReturnValue;value;dfc-generated | +| System.ComponentModel.DataAnnotations;ValidationContext;InitializeServiceProvider;(System.Func);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | System.ComponentModel.DataAnnotations;ValidationContext;InitializeServiceProvider;(System.Func);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.ComponentModel.DataAnnotations;ValidationContext;InitializeServiceProvider;(System.Func);Argument[0];Argument[this].SyntheticField[System.ComponentModel.DataAnnotations.ValidationContext._serviceProvider];value;dfc-generated | +| System.ComponentModel.DataAnnotations;ValidationContext;InitializeServiceProvider;(System.Func);Argument[0];Argument[this].SyntheticField[System.ComponentModel.DataAnnotations.ValidationContext._serviceProvider];value;hq-generated | | System.ComponentModel.DataAnnotations;ValidationContext;get_Items;();Argument[this];ReturnValue;taint;df-generated | | System.ComponentModel.DataAnnotations;ValidationException;ValidationException;(System.ComponentModel.DataAnnotations.ValidationResult,System.ComponentModel.DataAnnotations.ValidationAttribute,System.Object);Argument[0];Argument[this];taint;df-generated | | System.ComponentModel.DataAnnotations;ValidationResult;ToString;();Argument[this].Property[System.ComponentModel.DataAnnotations.ValidationResult.ErrorMessage];ReturnValue;value;dfc-generated | @@ -7327,6 +8064,8 @@ summary | System.ComponentModel;BindingList;ApplySort;(System.ComponentModel.PropertyDescriptor,System.ComponentModel.ListSortDirection);Argument[0];Argument[this];taint;df-generated | | System.ComponentModel;BindingList;Find;(System.ComponentModel.PropertyDescriptor,System.Object);Argument[this].Element;ReturnValue;value;manual | | System.ComponentModel;BindingList;InsertItem;(System.Int32,T);Argument[1];Argument[this].SyntheticField[System.Collections.ObjectModel.Collection`1.items].Element;value;dfc-generated | +| System.ComponentModel;BindingList;OnAddingNew;(System.ComponentModel.AddingNewEventArgs);Argument[0];Argument[this];taint;df-generated | +| System.ComponentModel;BindingList;OnListChanged;(System.ComponentModel.ListChangedEventArgs);Argument[0];Argument[this];taint;df-generated | | System.ComponentModel;BindingList;SetItem;(System.Int32,T);Argument[1];Argument[this];taint;df-generated | | System.ComponentModel;BindingList;add_AddingNew;(System.ComponentModel.AddingNewEventHandler);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | | System.ComponentModel;BindingList;add_ListChanged;(System.ComponentModel.ListChangedEventHandler);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | @@ -7790,6 +8529,10 @@ summary | System.Configuration;AppSettingsSection;get_Settings;();Argument[this];ReturnValue;taint;df-generated | | System.Configuration;ApplicationSettingsBase;ApplicationSettingsBase;(System.ComponentModel.IComponent,System.String);Argument[0];Argument[this];taint;df-generated | | System.Configuration;ApplicationSettingsBase;ApplicationSettingsBase;(System.String);Argument[0];Argument[this];taint;df-generated | +| System.Configuration;ApplicationSettingsBase;OnPropertyChanged;(System.Object,System.ComponentModel.PropertyChangedEventArgs);Argument[1];Argument[this];taint;df-generated | +| System.Configuration;ApplicationSettingsBase;OnSettingChanging;(System.Object,System.Configuration.SettingChangingEventArgs);Argument[1];Argument[this];taint;df-generated | +| System.Configuration;ApplicationSettingsBase;OnSettingsLoaded;(System.Object,System.Configuration.SettingsLoadedEventArgs);Argument[1];Argument[this];taint;df-generated | +| System.Configuration;ApplicationSettingsBase;OnSettingsSaving;(System.Object,System.ComponentModel.CancelEventArgs);Argument[1];Argument[this];taint;df-generated | | System.Configuration;ApplicationSettingsBase;add_PropertyChanged;(System.ComponentModel.PropertyChangedEventHandler);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | | System.Configuration;ApplicationSettingsBase;add_SettingChanging;(System.Configuration.SettingChangingEventHandler);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | | System.Configuration;ApplicationSettingsBase;add_SettingsLoaded;(System.Configuration.SettingsLoadedEventHandler);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | @@ -7807,6 +8550,7 @@ summary | System.Configuration;ApplicationSettingsBase;remove_SettingsLoaded;(System.Configuration.SettingsLoadedEventHandler);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | | System.Configuration;ApplicationSettingsBase;remove_SettingsSaving;(System.Configuration.SettingsSavingEventHandler);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | | System.Configuration;CallbackValidator;CallbackValidator;(System.Type,System.Configuration.ValidatorCallback);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Configuration;CallbackValidator;Validate;(System.Object);Argument[0];Argument[this];taint;df-generated | | System.Configuration;CallbackValidatorAttribute;get_ValidatorInstance;();Argument[this];ReturnValue;taint;df-generated | | System.Configuration;ClientSettingsSection;get_Properties;();Argument[this];ReturnValue;taint;df-generated | | System.Configuration;ClientSettingsSection;get_Settings;();Argument[this];ReturnValue;taint;df-generated | @@ -7983,6 +8727,7 @@ summary | System.Configuration;ConfigurationSectionGroupCollection;get_Item;(System.Int32);Argument[this];ReturnValue;taint;df-generated | | System.Configuration;ConfigurationSectionGroupCollection;get_Item;(System.String);Argument[this];ReturnValue;taint;df-generated | | System.Configuration;ConfigurationValidatorAttribute;get_ValidatorInstance;();Argument[this];ReturnValue;taint;df-generated | +| System.Configuration;ConfigurationValidatorBase;Validate;(System.Object);Argument[0];Argument[this];taint;df-generated | | System.Configuration;ConnectionStringSettings;ToString;();Argument[this].Property[System.Configuration.ConnectionStringSettings.ConnectionString];ReturnValue;value;dfc-generated | | System.Configuration;ConnectionStringSettings;get_Properties;();Argument[this];ReturnValue;taint;df-generated | | System.Configuration;ConnectionStringSettingsCollection;Add;(System.Configuration.ConnectionStringSettings);Argument[this];Argument[0];taint;df-generated | @@ -8007,6 +8752,7 @@ summary | System.Configuration;DefaultSection;get_Properties;();Argument[this];ReturnValue;taint;df-generated | | System.Configuration;DefaultSettingValueAttribute;DefaultSettingValueAttribute;(System.String);Argument[0];Argument[this].SyntheticField[System.Configuration.DefaultSettingValueAttribute._value];value;dfc-generated | | System.Configuration;DefaultSettingValueAttribute;get_Value;();Argument[this].SyntheticField[System.Configuration.DefaultSettingValueAttribute._value];ReturnValue;value;dfc-generated | +| System.Configuration;DefaultValidator;Validate;(System.Object);Argument[0];Argument[this];taint;df-generated | | System.Configuration;DictionarySectionHandler;Create;(System.Object,System.Object,System.Xml.XmlNode);Argument[0].Element;ReturnValue.Element;value;dfc-generated | | System.Configuration;DpapiProtectedConfigurationProvider;Initialize;(System.String,System.Collections.Specialized.NameValueCollection);Argument[0];Argument[this].SyntheticField[System.Configuration.Provider.ProviderBase._name];value;dfc-generated | | System.Configuration;ExeConfigurationFileMap;Clone;();Argument[this];ReturnValue;value;dfc-generated | @@ -8033,6 +8779,7 @@ summary | System.Configuration;InfiniteTimeSpanConverter;ConvertFrom;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object);Argument[2];ReturnValue;value;dfc-generated | | System.Configuration;InfiniteTimeSpanConverter;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);Argument[2].Element;ReturnValue;taint;dfc-generated | | System.Configuration;InfiniteTimeSpanConverter;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);Argument[2];ReturnValue;taint;dfc-generated | +| System.Configuration;IntegerValidator;Validate;(System.Object);Argument[0];Argument[this];taint;df-generated | | System.Configuration;IntegerValidatorAttribute;get_ValidatorInstance;();Argument[this];ReturnValue;taint;df-generated | | System.Configuration;IriParsingElement;get_Properties;();Argument[this];ReturnValue;taint;df-generated | | System.Configuration;KeyValueConfigurationCollection;Add;(System.Configuration.KeyValueConfigurationElement);Argument[this];Argument[0];taint;df-generated | @@ -8050,6 +8797,7 @@ summary | System.Configuration;KeyValueConfigurationElement;get_Properties;();Argument[this];ReturnValue;taint;df-generated | | System.Configuration;LocalFileSettingsProvider;GetPreviousVersion;(System.Configuration.SettingsContext,System.Configuration.SettingsProperty);Argument[this];ReturnValue;taint;df-generated | | System.Configuration;LocalFileSettingsProvider;Initialize;(System.String,System.Collections.Specialized.NameValueCollection);Argument[0];Argument[this].SyntheticField[System.Configuration.Provider.ProviderBase._name];value;dfc-generated | +| System.Configuration;LongValidator;Validate;(System.Object);Argument[0];Argument[this];taint;df-generated | | System.Configuration;LongValidatorAttribute;get_ValidatorInstance;();Argument[this];ReturnValue;taint;df-generated | | System.Configuration;NameValueConfigurationCollection;Add;(System.Configuration.NameValueConfigurationElement);Argument[this];Argument[0];taint;df-generated | | System.Configuration;NameValueConfigurationCollection;Clear;();Argument[this].WithoutElement;Argument[this];value;manual | @@ -8065,6 +8813,7 @@ summary | System.Configuration;NameValueConfigurationElement;get_Properties;();Argument[this];ReturnValue;taint;df-generated | | System.Configuration;NameValueFileSectionHandler;Create;(System.Object,System.Object,System.Xml.XmlNode);Argument[0].Element;ReturnValue.Element;value;dfc-generated | | System.Configuration;NameValueSectionHandler;Create;(System.Object,System.Object,System.Xml.XmlNode);Argument[0].Element;ReturnValue.Element;value;dfc-generated | +| System.Configuration;PositiveTimeSpanValidator;Validate;(System.Object);Argument[0];Argument[this];taint;df-generated | | System.Configuration;PositiveTimeSpanValidatorAttribute;get_ValidatorInstance;();Argument[this];ReturnValue;taint;df-generated | | System.Configuration;PropertyInformation;get_Converter;();Argument[this];ReturnValue;taint;df-generated | | System.Configuration;PropertyInformation;get_DefaultValue;();Argument[this];ReturnValue;taint;df-generated | @@ -8092,6 +8841,7 @@ summary | System.Configuration;ProviderSettingsCollection;get_Properties;();Argument[this];ReturnValue;taint;df-generated | | System.Configuration;ProviderSettingsCollection;set_Item;(System.Int32,System.Configuration.ProviderSettings);Argument[this];Argument[1];taint;df-generated | | System.Configuration;RegexStringValidator;RegexStringValidator;(System.String);Argument[0];Argument[this];taint;df-generated | +| System.Configuration;RegexStringValidator;Validate;(System.Object);Argument[0];Argument[this];taint;df-generated | | System.Configuration;RegexStringValidatorAttribute;get_ValidatorInstance;();Argument[this];ReturnValue;taint;df-generated | | System.Configuration;SchemeSettingElement;get_Name;();Argument[this];ReturnValue;taint;df-generated | | System.Configuration;SchemeSettingElement;get_Properties;();Argument[this];ReturnValue;taint;df-generated | @@ -8169,7 +8919,9 @@ summary | System.Configuration;SingleTagSectionHandler;Create;(System.Object,System.Object,System.Xml.XmlNode);Argument[0].Element.Property[System.Collections.Generic.KeyValuePair`2.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair`2.Value];value;dfc-generated | | System.Configuration;SingleTagSectionHandler;Create;(System.Object,System.Object,System.Xml.XmlNode);Argument[0].Element;ReturnValue.Element;value;dfc-generated | | System.Configuration;StringValidator;StringValidator;(System.Int32,System.Int32,System.String);Argument[2];Argument[this];taint;df-generated | +| System.Configuration;StringValidator;Validate;(System.Object);Argument[0];Argument[this];taint;df-generated | | System.Configuration;StringValidatorAttribute;get_ValidatorInstance;();Argument[this];ReturnValue;taint;df-generated | +| System.Configuration;SubclassTypeValidator;Validate;(System.Object);Argument[0];Argument[this];taint;df-generated | | System.Configuration;SubclassTypeValidatorAttribute;get_ValidatorInstance;();Argument[this];ReturnValue;taint;df-generated | | System.Configuration;TimeSpanMinutesConverter;ConvertFrom;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object);Argument[2];ReturnValue.Element;taint;dfc-generated | | System.Configuration;TimeSpanMinutesConverter;ConvertFrom;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object);Argument[2];ReturnValue;taint;dfc-generated | @@ -8193,6 +8945,7 @@ summary | System.Configuration;TimeSpanSecondsOrInfiniteConverter;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);Argument[2];ReturnValue;taint;dfc-generated | | System.Configuration;TimeSpanValidator;TimeSpanValidator;(System.TimeSpan,System.TimeSpan,System.Boolean,System.Int64);Argument[0];Argument[this];taint;df-generated | | System.Configuration;TimeSpanValidator;TimeSpanValidator;(System.TimeSpan,System.TimeSpan,System.Boolean,System.Int64);Argument[1];Argument[this];taint;df-generated | +| System.Configuration;TimeSpanValidator;Validate;(System.Object);Argument[0];Argument[this];taint;df-generated | | System.Configuration;TimeSpanValidatorAttribute;get_ValidatorInstance;();Argument[this];ReturnValue;taint;df-generated | | System.Configuration;TypeNameConverter;ConvertFrom;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object);Argument[2];ReturnValue.Element;taint;dfc-generated | | System.Configuration;TypeNameConverter;ConvertFrom;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object);Argument[2];ReturnValue;taint;dfc-generated | @@ -9134,6 +9887,8 @@ summary | System.Data;DataRelationCollection;Clear;();Argument[this].WithoutElement;Argument[this];value;manual | | System.Data;DataRelationCollection;CopyTo;(System.Data.DataRelation[],System.Int32);Argument[this].Element;Argument[0].Element;value;manual | | System.Data;DataRelationCollection;GetDataSet;();Argument[this];ReturnValue;taint;df-generated | +| System.Data;DataRelationCollection;OnCollectionChanged;(System.ComponentModel.CollectionChangeEventArgs);Argument[0];Argument[this];taint;df-generated | +| System.Data;DataRelationCollection;OnCollectionChanging;(System.ComponentModel.CollectionChangeEventArgs);Argument[0];Argument[this];taint;df-generated | | System.Data;DataRelationCollection;Remove;(System.Data.DataRelation);Argument[0];Argument[this];taint;df-generated | | System.Data;DataRelationCollection;add_CollectionChanged;(System.ComponentModel.CollectionChangeEventHandler);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | | System.Data;DataRelationCollection;get_Item;(System.Int32);Argument[this];ReturnValue;taint;df-generated | @@ -9226,6 +9981,16 @@ summary | System.Data;DataTable;LoadDataRow;(System.Object[],System.Boolean);Argument[0];Argument[this].SyntheticField[System.Data.DataTable._rowCollection].Element;value;dfc-generated | | System.Data;DataTable;LoadDataRow;(System.Object[],System.Data.LoadOption);Argument[this];ReturnValue;taint;df-generated | | System.Data;DataTable;NewRowArray;(System.Int32);Argument[this];ReturnValue;taint;df-generated | +| System.Data;DataTable;OnColumnChanged;(System.Data.DataColumnChangeEventArgs);Argument[0];Argument[this];taint;df-generated | +| System.Data;DataTable;OnColumnChanging;(System.Data.DataColumnChangeEventArgs);Argument[0];Argument[this];taint;df-generated | +| System.Data;DataTable;OnPropertyChanging;(System.ComponentModel.PropertyChangedEventArgs);Argument[0];Argument[this];taint;df-generated | +| System.Data;DataTable;OnRowChanged;(System.Data.DataRowChangeEventArgs);Argument[0];Argument[this];taint;df-generated | +| System.Data;DataTable;OnRowChanging;(System.Data.DataRowChangeEventArgs);Argument[0];Argument[this];taint;df-generated | +| System.Data;DataTable;OnRowDeleted;(System.Data.DataRowChangeEventArgs);Argument[0];Argument[this];taint;df-generated | +| System.Data;DataTable;OnRowDeleting;(System.Data.DataRowChangeEventArgs);Argument[0];Argument[this];taint;df-generated | +| System.Data;DataTable;OnTableCleared;(System.Data.DataTableClearEventArgs);Argument[0];Argument[this];taint;df-generated | +| System.Data;DataTable;OnTableClearing;(System.Data.DataTableClearEventArgs);Argument[0];Argument[this];taint;df-generated | +| System.Data;DataTable;OnTableNewRow;(System.Data.DataTableNewRowEventArgs);Argument[0];Argument[this];taint;df-generated | | System.Data;DataTable;ReadXml;(System.Xml.XmlReader);Argument[0];Argument[this];taint;df-generated | | System.Data;DataTable;Select;();Argument[this];ReturnValue;taint;df-generated | | System.Data;DataTable;Select;(System.String);Argument[this];ReturnValue;taint;df-generated | @@ -9282,6 +10047,11 @@ summary | System.Data;DataTableExtensions;CopyToDataTable;(System.Collections.Generic.IEnumerable);Argument[0].Element.Property[System.Data.DataRow.ItemArray];ReturnValue.SyntheticField[System.Data.DataTable._rowCollection].Element;value;dfc-generated | | System.Data;DataTableExtensions;CopyToDataTable;(System.Collections.Generic.IEnumerable,System.Data.DataTable,System.Data.LoadOption);Argument[0].Element.Property[System.Data.DataRow.ItemArray];Argument[1].Property[System.Data.DataTable.Rows].Element;value;dfc-generated | | System.Data;DataTableExtensions;CopyToDataTable;(System.Collections.Generic.IEnumerable,System.Data.DataTable,System.Data.LoadOption);Argument[0].Element.Property[System.Data.DataRow.ItemArray];Argument[1].SyntheticField[System.Data.DataTable._rowCollection].Element;value;dfc-generated | +| System.Data;DataTableExtensions;CopyToDataTable;(System.Collections.Generic.IEnumerable,System.Data.DataTable,System.Data.LoadOption,System.Data.FillErrorEventHandler);Argument[0].Element.Property[System.Data.DataRow.ItemArray];Argument[1].Property[System.Data.DataTable.Rows].Element;value;dfc-generated | +| System.Data;DataTableExtensions;CopyToDataTable;(System.Collections.Generic.IEnumerable,System.Data.DataTable,System.Data.LoadOption,System.Data.FillErrorEventHandler);Argument[0].Element.Property[System.Data.DataRow.ItemArray];Argument[1].Property[System.Data.DataTable.Rows].Element;value;hq-generated | +| System.Data;DataTableExtensions;CopyToDataTable;(System.Collections.Generic.IEnumerable,System.Data.DataTable,System.Data.LoadOption,System.Data.FillErrorEventHandler);Argument[0].Element.Property[System.Data.DataRow.ItemArray];Argument[1].SyntheticField[System.Data.DataTable._rowCollection].Element;value;dfc-generated | +| System.Data;DataTableExtensions;CopyToDataTable;(System.Collections.Generic.IEnumerable,System.Data.DataTable,System.Data.LoadOption,System.Data.FillErrorEventHandler);Argument[0].Element.Property[System.Data.DataRow.ItemArray];Argument[1].SyntheticField[System.Data.DataTable._rowCollection].Element;value;hq-generated | +| System.Data;DataTableExtensions;CopyToDataTable;(System.Collections.Generic.IEnumerable,System.Data.DataTable,System.Data.LoadOption,System.Data.FillErrorEventHandler);Argument[3];Argument[3].Parameter[delegate-self];value;dfc-generated | | System.Data;DataTableExtensions;CopyToDataTable;(System.Collections.Generic.IEnumerable,System.Data.DataTable,System.Data.LoadOption,System.Data.FillErrorEventHandler);Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | | System.Data;DataTableNewRowEventHandler;BeginInvoke;(System.Object,System.Data.DataTableNewRowEventArgs,System.AsyncCallback,System.Object);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | | System.Data;DataTableReader;DataTableReader;(System.Data.DataTable);Argument[0];Argument[this];taint;df-generated | @@ -9316,7 +10086,9 @@ summary | System.Data;DataView;GetListName;(System.ComponentModel.PropertyDescriptor[]);Argument[this].SyntheticField[System.Data.DataView._table].Property[System.Data.DataTable.TableName];ReturnValue;value;dfc-generated | | System.Data;DataView;GetListName;(System.ComponentModel.PropertyDescriptor[]);Argument[this];ReturnValue;taint;df-generated | | System.Data;DataView;GetListName;(System.ComponentModel.PropertyDescriptor[]);Argument[this];ReturnValue;taint;dfc-generated | +| System.Data;DataView;IndexListChanged;(System.Object,System.ComponentModel.ListChangedEventArgs);Argument[1];Argument[this];taint;df-generated | | System.Data;DataView;Insert;(System.Int32,System.Object);Argument[1];Argument[this].Element;value;manual | +| System.Data;DataView;OnListChanged;(System.ComponentModel.ListChangedEventArgs);Argument[0];Argument[this];taint;df-generated | | System.Data;DataView;ToTable;();Argument[this];ReturnValue;taint;df-generated | | System.Data;DataView;ToTable;(System.Boolean,System.String[]);Argument[this];ReturnValue;taint;df-generated | | System.Data;DataView;ToTable;(System.String);Argument[0];ReturnValue.Property[System.Data.DataTable.TableName];value;dfc-generated | @@ -9471,8 +10243,14 @@ summary | System.Data;UniqueConstraint;get_Columns;();Argument[this];ReturnValue;taint;df-generated | | System.Data;UniqueConstraint;get_Table;();Argument[this];ReturnValue;taint;df-generated | | System.Diagnostics.Contracts;Contract;Exists;(System.Int32,System.Int32,System.Predicate);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| System.Diagnostics.Contracts;Contract;Exists;(System.Collections.Generic.IEnumerable,System.Predicate);Argument[0].Element;Argument[1].Parameter[0];value;dfc-generated | +| System.Diagnostics.Contracts;Contract;Exists;(System.Collections.Generic.IEnumerable,System.Predicate);Argument[0].Element;Argument[1].Parameter[0];value;hq-generated | +| System.Diagnostics.Contracts;Contract;Exists;(System.Collections.Generic.IEnumerable,System.Predicate);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Diagnostics.Contracts;Contract;Exists;(System.Collections.Generic.IEnumerable,System.Predicate);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | System.Diagnostics.Contracts;Contract;ForAll;(System.Int32,System.Int32,System.Predicate);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| System.Diagnostics.Contracts;Contract;ForAll;(System.Collections.Generic.IEnumerable,System.Predicate);Argument[0].Element;Argument[1].Parameter[0];value;dfc-generated | +| System.Diagnostics.Contracts;Contract;ForAll;(System.Collections.Generic.IEnumerable,System.Predicate);Argument[0].Element;Argument[1].Parameter[0];value;hq-generated | +| System.Diagnostics.Contracts;Contract;ForAll;(System.Collections.Generic.IEnumerable,System.Predicate);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Diagnostics.Contracts;Contract;ForAll;(System.Collections.Generic.IEnumerable,System.Predicate);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | System.Diagnostics.Contracts;Contract;add_ContractFailed;(System.EventHandler);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | | System.Diagnostics.Contracts;Contract;remove_ContractFailed;(System.EventHandler);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | @@ -9517,16 +10295,25 @@ summary | System.Diagnostics.Metrics;Meter;CreateObservableUpDownCounter;(System.String,System.Func>,System.String,System.String,System.Collections.Generic.IEnumerable>);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | System.Diagnostics.Metrics;Meter;CreateObservableUpDownCounter;(System.String,System.Func,System.String,System.String);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | System.Diagnostics.Metrics;Meter;CreateObservableUpDownCounter;(System.String,System.Func,System.String,System.String,System.Collections.Generic.IEnumerable>);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Diagnostics.Metrics;MeterListener;DisableMeasurementEvents;(System.Diagnostics.Metrics.Instrument);Argument[0];Argument[this];taint;df-generated | +| System.Diagnostics.Metrics;MeterListener;EnableMeasurementEvents;(System.Diagnostics.Metrics.Instrument,System.Object);Argument[0];Argument[this];taint;df-generated | +| System.Diagnostics.Metrics;MeterListener;EnableMeasurementEvents;(System.Diagnostics.Metrics.Instrument,System.Object);Argument[1];Argument[this];taint;df-generated | | System.Diagnostics.Metrics;MeterListener;SetMeasurementEventCallback;(System.Diagnostics.Metrics.MeasurementCallback);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | | System.Diagnostics.Metrics;MeterListener;set_InstrumentPublished;(System.Action);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | | System.Diagnostics.Metrics;MeterListener;set_MeasurementsCompleted;(System.Action);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | | System.Diagnostics.Metrics;MeterOptions;MeterOptions;(System.String);Argument[0];Argument[this];taint;df-generated | +| System.Diagnostics.Metrics;ObservableCounter;Observe;();Argument[this];ReturnValue;taint;df-generated | +| System.Diagnostics.Metrics;ObservableGauge;Observe;();Argument[this];ReturnValue;taint;df-generated | +| System.Diagnostics.Metrics;ObservableUpDownCounter;Observe;();Argument[this];ReturnValue;taint;df-generated | | System.Diagnostics.Tracing;EventCounter;ToString;();Argument[this].Property[System.Diagnostics.Tracing.DiagnosticCounter.Name];ReturnValue;taint;dfc-generated | | System.Diagnostics.Tracing;EventListener;DisableEvents;(System.Diagnostics.Tracing.EventSource);Argument[this];Argument[0];taint;df-generated | | System.Diagnostics.Tracing;EventListener;EnableEvents;(System.Diagnostics.Tracing.EventSource,System.Diagnostics.Tracing.EventLevel);Argument[this];Argument[0];taint;df-generated | | System.Diagnostics.Tracing;EventListener;EnableEvents;(System.Diagnostics.Tracing.EventSource,System.Diagnostics.Tracing.EventLevel,System.Diagnostics.Tracing.EventKeywords);Argument[this];Argument[0];taint;df-generated | | System.Diagnostics.Tracing;EventListener;EnableEvents;(System.Diagnostics.Tracing.EventSource,System.Diagnostics.Tracing.EventLevel,System.Diagnostics.Tracing.EventKeywords,System.Collections.Generic.IDictionary);Argument[this];Argument[0];taint;df-generated | +| System.Diagnostics.Tracing;EventListener;add_EventSourceCreated;(System.EventHandler);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | System.Diagnostics.Tracing;EventListener;add_EventSourceCreated;(System.EventHandler);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Diagnostics.Tracing;EventListener;add_EventSourceCreated;(System.EventHandler);Argument[this];Argument[0].Parameter[0];value;dfc-generated | +| System.Diagnostics.Tracing;EventListener;add_EventSourceCreated;(System.EventHandler);Argument[this];Argument[0].Parameter[0];value;hq-generated | | System.Diagnostics.Tracing;EventListener;add_EventWritten;(System.EventHandler);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | | System.Diagnostics.Tracing;EventListener;remove_EventSourceCreated;(System.EventHandler);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | | System.Diagnostics.Tracing;EventListener;remove_EventWritten;(System.EventHandler);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | @@ -9541,7 +10328,10 @@ summary | System.Diagnostics.Tracing;EventSource;Write;(System.String,System.Diagnostics.Tracing.EventSourceOptions,System.Guid,System.Guid,T);Argument[4];ReturnValue;value;dfc-generated | | System.Diagnostics.Tracing;EventSource;Write;(System.String,System.Diagnostics.Tracing.EventSourceOptions,T);Argument[1];ReturnValue;value;dfc-generated | | System.Diagnostics.Tracing;EventSource;Write;(System.String,System.Diagnostics.Tracing.EventSourceOptions,T);Argument[2];ReturnValue;value;dfc-generated | +| System.Diagnostics.Tracing;EventSource;add_EventCommandExecuted;(System.EventHandler);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | System.Diagnostics.Tracing;EventSource;add_EventCommandExecuted;(System.EventHandler);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Diagnostics.Tracing;EventSource;add_EventCommandExecuted;(System.EventHandler);Argument[this];Argument[0].Parameter[0];value;dfc-generated | +| System.Diagnostics.Tracing;EventSource;add_EventCommandExecuted;(System.EventHandler);Argument[this];Argument[0].Parameter[0];value;hq-generated | | System.Diagnostics.Tracing;EventSource;get_ConstructionException;();Argument[this];ReturnValue;taint;df-generated | | System.Diagnostics.Tracing;EventSource;get_Guid;();Argument[this];ReturnValue;taint;df-generated | | System.Diagnostics.Tracing;EventSource;get_Name;();Argument[this];ReturnValue;taint;df-generated | @@ -9662,8 +10452,17 @@ summary | System.Diagnostics;DiagnosticSource;StartActivity;(System.Diagnostics.Activity,T);Argument[0];ReturnValue;value;dfc-generated | | System.Diagnostics;DistributedContextPropagator+PropagatorGetterCallback;BeginInvoke;(System.Object,System.String,System.String,System.Collections.Generic.IEnumerable,System.AsyncCallback,System.Object);Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | | System.Diagnostics;DistributedContextPropagator+PropagatorSetterCallback;BeginInvoke;(System.Object,System.String,System.String,System.AsyncCallback,System.Object);Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| System.Diagnostics;DistributedContextPropagator;ExtractBaggage;(System.Object,System.Diagnostics.DistributedContextPropagator+PropagatorGetterCallback);Argument[0];Argument[1].Parameter[0];value;dfc-generated | +| System.Diagnostics;DistributedContextPropagator;ExtractBaggage;(System.Object,System.Diagnostics.DistributedContextPropagator+PropagatorGetterCallback);Argument[0];Argument[1].Parameter[0];value;hq-generated | +| System.Diagnostics;DistributedContextPropagator;ExtractBaggage;(System.Object,System.Diagnostics.DistributedContextPropagator+PropagatorGetterCallback);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Diagnostics;DistributedContextPropagator;ExtractBaggage;(System.Object,System.Diagnostics.DistributedContextPropagator+PropagatorGetterCallback);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Diagnostics;DistributedContextPropagator;ExtractTraceIdAndState;(System.Object,System.Diagnostics.DistributedContextPropagator+PropagatorGetterCallback,System.String,System.String);Argument[0];Argument[1].Parameter[0];value;dfc-generated | +| System.Diagnostics;DistributedContextPropagator;ExtractTraceIdAndState;(System.Object,System.Diagnostics.DistributedContextPropagator+PropagatorGetterCallback,System.String,System.String);Argument[0];Argument[1].Parameter[0];value;hq-generated | +| System.Diagnostics;DistributedContextPropagator;ExtractTraceIdAndState;(System.Object,System.Diagnostics.DistributedContextPropagator+PropagatorGetterCallback,System.String,System.String);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Diagnostics;DistributedContextPropagator;ExtractTraceIdAndState;(System.Object,System.Diagnostics.DistributedContextPropagator+PropagatorGetterCallback,System.String,System.String);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Diagnostics;DistributedContextPropagator;Inject;(System.Diagnostics.Activity,System.Object,System.Diagnostics.DistributedContextPropagator+PropagatorSetterCallback);Argument[1];Argument[2].Parameter[0];value;dfc-generated | +| System.Diagnostics;DistributedContextPropagator;Inject;(System.Diagnostics.Activity,System.Object,System.Diagnostics.DistributedContextPropagator+PropagatorSetterCallback);Argument[1];Argument[2].Parameter[0];value;hq-generated | +| System.Diagnostics;DistributedContextPropagator;Inject;(System.Diagnostics.Activity,System.Object,System.Diagnostics.DistributedContextPropagator+PropagatorSetterCallback);Argument[2];Argument[2].Parameter[delegate-self];value;dfc-generated | | System.Diagnostics;DistributedContextPropagator;Inject;(System.Diagnostics.Activity,System.Object,System.Diagnostics.DistributedContextPropagator+PropagatorSetterCallback);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | | System.Diagnostics;EntryWrittenEventHandler;BeginInvoke;(System.Object,System.Diagnostics.EntryWrittenEventArgs,System.AsyncCallback,System.Object);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | | System.Diagnostics;EventLog;add_EntryWritten;(System.Diagnostics.EntryWrittenEventHandler);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | @@ -10328,7 +11127,10 @@ summary | System.IO.Pipelines;PipeReader;Create;(System.IO.Stream,System.IO.Pipelines.StreamPipeReaderOptions);Argument[0];ReturnValue;taint;df-generated | | System.IO.Pipelines;PipeReader;Create;(System.IO.Stream,System.IO.Pipelines.StreamPipeReaderOptions);Argument[1];ReturnValue;taint;df-generated | | System.IO.Pipelines;PipeReader;OnWriterCompleted;(System.Action,System.Object);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.IO.Pipelines;PipeScheduler;Schedule;(System.Action,System.Object);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | System.IO.Pipelines;PipeScheduler;Schedule;(System.Action,System.Object);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.IO.Pipelines;PipeScheduler;Schedule;(System.Action,System.Object);Argument[1];Argument[0].Parameter[0];value;dfc-generated | +| System.IO.Pipelines;PipeScheduler;Schedule;(System.Action,System.Object);Argument[1];Argument[0].Parameter[0];value;hq-generated | | System.IO.Pipelines;PipeWriter;AsStream;(System.Boolean);Argument[this];ReturnValue;taint;df-generated | | System.IO.Pipelines;PipeWriter;Create;(System.IO.Stream,System.IO.Pipelines.StreamPipeWriterOptions);Argument[0];ReturnValue;taint;df-generated | | System.IO.Pipelines;PipeWriter;Create;(System.IO.Stream,System.IO.Pipelines.StreamPipeWriterOptions);Argument[1];ReturnValue;taint;df-generated | @@ -10527,6 +11329,9 @@ summary | System.IO;FileSystemWatcher;FileSystemWatcher;(System.String);Argument[0];Argument[this];taint;df-generated | | System.IO;FileSystemWatcher;FileSystemWatcher;(System.String,System.String);Argument[1];Argument[this].Property[System.IO.FileSystemWatcher.Filters].Element;value;dfc-generated | | System.IO;FileSystemWatcher;FileSystemWatcher;(System.String,System.String);Argument[1];Argument[this].SyntheticField[System.IO.FileSystemWatcher._filters].Element;value;dfc-generated | +| System.IO;FileSystemWatcher;OnChanged;(System.IO.FileSystemEventArgs);Argument[0];Argument[this];taint;df-generated | +| System.IO;FileSystemWatcher;OnCreated;(System.IO.FileSystemEventArgs);Argument[0];Argument[this];taint;df-generated | +| System.IO;FileSystemWatcher;OnDeleted;(System.IO.FileSystemEventArgs);Argument[0];Argument[this];taint;df-generated | | System.IO;FileSystemWatcher;add_Changed;(System.IO.FileSystemEventHandler);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | | System.IO;FileSystemWatcher;add_Created;(System.IO.FileSystemEventHandler);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | | System.IO;FileSystemWatcher;add_Deleted;(System.IO.FileSystemEventHandler);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | @@ -11108,6 +11913,11 @@ summary | System.Linq.Expressions;ExpressionVisitor;Visit;(System.Collections.ObjectModel.ReadOnlyCollection);Argument[0].Element;Argument[this];taint;df-generated | | System.Linq.Expressions;ExpressionVisitor;Visit;(System.Collections.ObjectModel.ReadOnlyCollection);Argument[0].Element;ReturnValue;taint;df-generated | | System.Linq.Expressions;ExpressionVisitor;Visit;(System.Linq.Expressions.Expression);Argument[0];ReturnValue;value;dfc-generated | +| System.Linq.Expressions;ExpressionVisitor;Visit;(System.Collections.ObjectModel.ReadOnlyCollection,System.Func);Argument[0].Element;Argument[1].Parameter[0];value;dfc-generated | +| System.Linq.Expressions;ExpressionVisitor;Visit;(System.Collections.ObjectModel.ReadOnlyCollection,System.Func);Argument[0].Element;Argument[1].Parameter[0];value;hq-generated | +| System.Linq.Expressions;ExpressionVisitor;Visit;(System.Collections.ObjectModel.ReadOnlyCollection,System.Func);Argument[0];ReturnValue;value;dfc-generated | +| System.Linq.Expressions;ExpressionVisitor;Visit;(System.Collections.ObjectModel.ReadOnlyCollection,System.Func);Argument[0];ReturnValue;value;hq-generated | +| System.Linq.Expressions;ExpressionVisitor;Visit;(System.Collections.ObjectModel.ReadOnlyCollection,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Linq.Expressions;ExpressionVisitor;Visit;(System.Collections.ObjectModel.ReadOnlyCollection,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | System.Linq.Expressions;ExpressionVisitor;VisitAndConvert;(System.Collections.ObjectModel.ReadOnlyCollection,System.String);Argument[0].Element;Argument[this];taint;df-generated | | System.Linq.Expressions;ExpressionVisitor;VisitAndConvert;(System.Collections.ObjectModel.ReadOnlyCollection,System.String);Argument[0].Element;ReturnValue;taint;df-generated | @@ -11264,6 +12074,8 @@ summary | System.Linq;Enumerable;Chunk;(System.Collections.Generic.IEnumerable,System.Int32);Argument[0].Element;ReturnValue.Element.Element;value;dfc-generated | | System.Linq;Enumerable;Concat;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable);Argument[0].Element;ReturnValue.Element;value;manual | | System.Linq;Enumerable;Concat;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable);Argument[1].Element;ReturnValue.Element;value;manual | +| System.Linq;Enumerable;Contains;(System.Collections.Generic.IEnumerable,TSource,System.Collections.Generic.IEqualityComparer);Argument[0].Element;Argument[2];taint;df-generated | +| System.Linq;Enumerable;Contains;(System.Collections.Generic.IEnumerable,TSource,System.Collections.Generic.IEqualityComparer);Argument[1];Argument[2];taint;df-generated | | System.Linq;Enumerable;Count;(System.Collections.Generic.IEnumerable,System.Func);Argument[0].Element;Argument[1].Parameter[0];value;manual | | System.Linq;Enumerable;Count;(System.Collections.Generic.IEnumerable,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;manual | | System.Linq;Enumerable;DefaultIfEmpty;(System.Collections.Generic.IEnumerable);Argument[0].Element;ReturnValue.Element;value;manual | @@ -11271,7 +12083,17 @@ summary | System.Linq;Enumerable;DefaultIfEmpty;(System.Collections.Generic.IEnumerable,TSource);Argument[1];ReturnValue.Element;value;manual | | System.Linq;Enumerable;Distinct;(System.Collections.Generic.IEnumerable);Argument[0].Element;ReturnValue.Element;value;manual | | System.Linq;Enumerable;Distinct;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Enumerable;DistinctBy;(System.Collections.Generic.IEnumerable,System.Func);Argument[0].Element;Argument[1].Parameter[0];value;dfc-generated | +| System.Linq;Enumerable;DistinctBy;(System.Collections.Generic.IEnumerable,System.Func);Argument[0].Element;Argument[1].Parameter[0];value;hq-generated | +| System.Linq;Enumerable;DistinctBy;(System.Collections.Generic.IEnumerable,System.Func);Argument[0].Element;ReturnValue.Element;value;dfc-generated | +| System.Linq;Enumerable;DistinctBy;(System.Collections.Generic.IEnumerable,System.Func);Argument[0].Element;ReturnValue.Element;value;hq-generated | +| System.Linq;Enumerable;DistinctBy;(System.Collections.Generic.IEnumerable,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Linq;Enumerable;DistinctBy;(System.Collections.Generic.IEnumerable,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Linq;Enumerable;DistinctBy;(System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IEqualityComparer);Argument[0].Element;Argument[1].Parameter[0];value;dfc-generated | +| System.Linq;Enumerable;DistinctBy;(System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IEqualityComparer);Argument[0].Element;Argument[1].Parameter[0];value;hq-generated | +| System.Linq;Enumerable;DistinctBy;(System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IEqualityComparer);Argument[0].Element;ReturnValue.Element;value;dfc-generated | +| System.Linq;Enumerable;DistinctBy;(System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IEqualityComparer);Argument[0].Element;ReturnValue.Element;value;hq-generated | +| System.Linq;Enumerable;DistinctBy;(System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IEqualityComparer);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Linq;Enumerable;DistinctBy;(System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IEqualityComparer);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | System.Linq;Enumerable;ElementAt;(System.Collections.Generic.IEnumerable,System.Index);Argument[0].Element;ReturnValue;value;dfc-generated | | System.Linq;Enumerable;ElementAt;(System.Collections.Generic.IEnumerable,System.Int32);Argument[0].Element;ReturnValue;value;manual | @@ -11279,7 +12101,17 @@ summary | System.Linq;Enumerable;ElementAtOrDefault;(System.Collections.Generic.IEnumerable,System.Int32);Argument[0].Element;ReturnValue;value;manual | | System.Linq;Enumerable;Except;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable);Argument[0].Element;ReturnValue.Element;value;manual | | System.Linq;Enumerable;Except;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Enumerable;ExceptBy;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func);Argument[0].Element;Argument[2].Parameter[0];value;dfc-generated | +| System.Linq;Enumerable;ExceptBy;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func);Argument[0].Element;Argument[2].Parameter[0];value;hq-generated | +| System.Linq;Enumerable;ExceptBy;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func);Argument[0].Element;ReturnValue.Element;value;dfc-generated | +| System.Linq;Enumerable;ExceptBy;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func);Argument[0].Element;ReturnValue.Element;value;hq-generated | +| System.Linq;Enumerable;ExceptBy;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;dfc-generated | | System.Linq;Enumerable;ExceptBy;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| System.Linq;Enumerable;ExceptBy;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IEqualityComparer);Argument[0].Element;Argument[2].Parameter[0];value;dfc-generated | +| System.Linq;Enumerable;ExceptBy;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IEqualityComparer);Argument[0].Element;Argument[2].Parameter[0];value;hq-generated | +| System.Linq;Enumerable;ExceptBy;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IEqualityComparer);Argument[0].Element;ReturnValue.Element;value;dfc-generated | +| System.Linq;Enumerable;ExceptBy;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IEqualityComparer);Argument[0].Element;ReturnValue.Element;value;hq-generated | +| System.Linq;Enumerable;ExceptBy;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IEqualityComparer);Argument[2];Argument[2].Parameter[delegate-self];value;dfc-generated | | System.Linq;Enumerable;ExceptBy;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IEqualityComparer);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | | System.Linq;Enumerable;First;(System.Collections.Generic.IEnumerable);Argument[0].Element;ReturnValue;value;manual | | System.Linq;Enumerable;First;(System.Collections.Generic.IEnumerable,System.Func);Argument[0].Element;Argument[1].Parameter[0];value;manual | @@ -11289,7 +12121,14 @@ summary | System.Linq;Enumerable;FirstOrDefault;(System.Collections.Generic.IEnumerable,System.Func);Argument[0].Element;Argument[1].Parameter[0];value;manual | | System.Linq;Enumerable;FirstOrDefault;(System.Collections.Generic.IEnumerable,System.Func);Argument[0].Element;ReturnValue;value;manual | | System.Linq;Enumerable;FirstOrDefault;(System.Collections.Generic.IEnumerable,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;manual | +| System.Linq;Enumerable;FirstOrDefault;(System.Collections.Generic.IEnumerable,System.Func,TSource);Argument[0].Element;Argument[1].Parameter[0];value;dfc-generated | +| System.Linq;Enumerable;FirstOrDefault;(System.Collections.Generic.IEnumerable,System.Func,TSource);Argument[0].Element;Argument[1].Parameter[0];value;hq-generated | +| System.Linq;Enumerable;FirstOrDefault;(System.Collections.Generic.IEnumerable,System.Func,TSource);Argument[0].Element;ReturnValue;value;dfc-generated | +| System.Linq;Enumerable;FirstOrDefault;(System.Collections.Generic.IEnumerable,System.Func,TSource);Argument[0].Element;ReturnValue;value;hq-generated | +| System.Linq;Enumerable;FirstOrDefault;(System.Collections.Generic.IEnumerable,System.Func,TSource);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Linq;Enumerable;FirstOrDefault;(System.Collections.Generic.IEnumerable,System.Func,TSource);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Linq;Enumerable;FirstOrDefault;(System.Collections.Generic.IEnumerable,System.Func,TSource);Argument[2];ReturnValue;value;dfc-generated | +| System.Linq;Enumerable;FirstOrDefault;(System.Collections.Generic.IEnumerable,System.Func,TSource);Argument[2];ReturnValue;value;hq-generated | | System.Linq;Enumerable;FirstOrDefault;(System.Collections.Generic.IEnumerable,TSource);Argument[0].Element;ReturnValue;value;dfc-generated | | System.Linq;Enumerable;FirstOrDefault;(System.Collections.Generic.IEnumerable,TSource);Argument[1];ReturnValue;value;dfc-generated | | System.Linq;Enumerable;GroupBy;(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>);Argument[0].Element;Argument[1].Parameter[0];value;manual | @@ -11353,7 +12192,17 @@ summary | System.Linq;Enumerable;Intersect;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable);Argument[1].Element;ReturnValue.Element;value;manual | | System.Linq;Enumerable;Intersect;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);Argument[0].Element;ReturnValue.Element;value;manual | | System.Linq;Enumerable;Intersect;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);Argument[1].Element;ReturnValue.Element;value;manual | +| System.Linq;Enumerable;IntersectBy;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func);Argument[0].Element;Argument[2].Parameter[0];value;dfc-generated | +| System.Linq;Enumerable;IntersectBy;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func);Argument[0].Element;Argument[2].Parameter[0];value;hq-generated | +| System.Linq;Enumerable;IntersectBy;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func);Argument[0].Element;ReturnValue.Element;value;dfc-generated | +| System.Linq;Enumerable;IntersectBy;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func);Argument[0].Element;ReturnValue.Element;value;hq-generated | +| System.Linq;Enumerable;IntersectBy;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;dfc-generated | | System.Linq;Enumerable;IntersectBy;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| System.Linq;Enumerable;IntersectBy;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IEqualityComparer);Argument[0].Element;Argument[2].Parameter[0];value;dfc-generated | +| System.Linq;Enumerable;IntersectBy;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IEqualityComparer);Argument[0].Element;Argument[2].Parameter[0];value;hq-generated | +| System.Linq;Enumerable;IntersectBy;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IEqualityComparer);Argument[0].Element;ReturnValue.Element;value;dfc-generated | +| System.Linq;Enumerable;IntersectBy;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IEqualityComparer);Argument[0].Element;ReturnValue.Element;value;hq-generated | +| System.Linq;Enumerable;IntersectBy;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IEqualityComparer);Argument[2];Argument[2].Parameter[delegate-self];value;dfc-generated | | System.Linq;Enumerable;IntersectBy;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IEqualityComparer);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | | System.Linq;Enumerable;Join;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func);Argument[0].Element;Argument[2].Parameter[0];value;manual | | System.Linq;Enumerable;Join;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func);Argument[0].Element;Argument[4].Parameter[0];value;manual | @@ -11379,7 +12228,10 @@ summary | System.Linq;Enumerable;LastOrDefault;(System.Collections.Generic.IEnumerable,System.Func);Argument[0].Element;Argument[1].Parameter[0];value;manual | | System.Linq;Enumerable;LastOrDefault;(System.Collections.Generic.IEnumerable,System.Func);Argument[0].Element;ReturnValue;value;manual | | System.Linq;Enumerable;LastOrDefault;(System.Collections.Generic.IEnumerable,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;manual | +| System.Linq;Enumerable;LastOrDefault;(System.Collections.Generic.IEnumerable,System.Func,TSource);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Linq;Enumerable;LastOrDefault;(System.Collections.Generic.IEnumerable,System.Func,TSource);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Linq;Enumerable;LastOrDefault;(System.Collections.Generic.IEnumerable,System.Func,TSource);Argument[2];ReturnValue;value;dfc-generated | +| System.Linq;Enumerable;LastOrDefault;(System.Collections.Generic.IEnumerable,System.Func,TSource);Argument[2];ReturnValue;value;hq-generated | | System.Linq;Enumerable;LastOrDefault;(System.Collections.Generic.IEnumerable,TSource);Argument[0].Element;ReturnValue;value;dfc-generated | | System.Linq;Enumerable;LastOrDefault;(System.Collections.Generic.IEnumerable,TSource);Argument[1];ReturnValue;value;dfc-generated | | System.Linq;Enumerable;LongCount;(System.Collections.Generic.IEnumerable,System.Func);Argument[0].Element;Argument[1].Parameter[0];value;manual | @@ -11490,6 +12342,8 @@ summary | System.Linq;Enumerable;SelectMany;(System.Collections.Generic.IEnumerable,System.Func>);Argument[0].Element;Argument[1].Parameter[0];value;manual | | System.Linq;Enumerable;SelectMany;(System.Collections.Generic.IEnumerable,System.Func>);Argument[1].ReturnValue;ReturnValue.Element;value;manual | | System.Linq;Enumerable;SelectMany;(System.Collections.Generic.IEnumerable,System.Func>);Argument[1];Argument[1].Parameter[delegate-self];value;manual | +| System.Linq;Enumerable;SequenceEqual;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);Argument[0].Element;Argument[2];taint;df-generated | +| System.Linq;Enumerable;SequenceEqual;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);Argument[1].Element;Argument[2];taint;df-generated | | System.Linq;Enumerable;Single;(System.Collections.Generic.IEnumerable);Argument[0].Element;ReturnValue;value;manual | | System.Linq;Enumerable;Single;(System.Collections.Generic.IEnumerable,System.Func);Argument[0].Element;Argument[1].Parameter[0];value;manual | | System.Linq;Enumerable;Single;(System.Collections.Generic.IEnumerable,System.Func);Argument[0].Element;ReturnValue;value;manual | @@ -11498,7 +12352,14 @@ summary | System.Linq;Enumerable;SingleOrDefault;(System.Collections.Generic.IEnumerable,System.Func);Argument[0].Element;Argument[1].Parameter[0];value;manual | | System.Linq;Enumerable;SingleOrDefault;(System.Collections.Generic.IEnumerable,System.Func);Argument[0].Element;ReturnValue;value;manual | | System.Linq;Enumerable;SingleOrDefault;(System.Collections.Generic.IEnumerable,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;manual | +| System.Linq;Enumerable;SingleOrDefault;(System.Collections.Generic.IEnumerable,System.Func,TSource);Argument[0].Element;Argument[1].Parameter[0];value;dfc-generated | +| System.Linq;Enumerable;SingleOrDefault;(System.Collections.Generic.IEnumerable,System.Func,TSource);Argument[0].Element;Argument[1].Parameter[0];value;hq-generated | +| System.Linq;Enumerable;SingleOrDefault;(System.Collections.Generic.IEnumerable,System.Func,TSource);Argument[0].Element;ReturnValue;value;dfc-generated | +| System.Linq;Enumerable;SingleOrDefault;(System.Collections.Generic.IEnumerable,System.Func,TSource);Argument[0].Element;ReturnValue;value;hq-generated | +| System.Linq;Enumerable;SingleOrDefault;(System.Collections.Generic.IEnumerable,System.Func,TSource);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Linq;Enumerable;SingleOrDefault;(System.Collections.Generic.IEnumerable,System.Func,TSource);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Linq;Enumerable;SingleOrDefault;(System.Collections.Generic.IEnumerable,System.Func,TSource);Argument[2];ReturnValue;value;dfc-generated | +| System.Linq;Enumerable;SingleOrDefault;(System.Collections.Generic.IEnumerable,System.Func,TSource);Argument[2];ReturnValue;value;hq-generated | | System.Linq;Enumerable;SingleOrDefault;(System.Collections.Generic.IEnumerable,TSource);Argument[0].Element;ReturnValue;value;dfc-generated | | System.Linq;Enumerable;SingleOrDefault;(System.Collections.Generic.IEnumerable,TSource);Argument[1];ReturnValue;value;dfc-generated | | System.Linq;Enumerable;Skip;(System.Collections.Generic.IEnumerable,System.Int32);Argument[0].Element;ReturnValue.Element;value;manual | @@ -11598,7 +12459,25 @@ summary | System.Linq;Enumerable;Union;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable);Argument[1].Element;ReturnValue.Element;value;manual | | System.Linq;Enumerable;Union;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);Argument[0].Element;ReturnValue.Element;value;manual | | System.Linq;Enumerable;Union;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);Argument[1].Element;ReturnValue.Element;value;manual | +| System.Linq;Enumerable;UnionBy;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func);Argument[0].Element;Argument[2].Parameter[0];value;dfc-generated | +| System.Linq;Enumerable;UnionBy;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func);Argument[0].Element;Argument[2].Parameter[0];value;hq-generated | +| System.Linq;Enumerable;UnionBy;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func);Argument[0].Element;ReturnValue.Element;value;dfc-generated | +| System.Linq;Enumerable;UnionBy;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func);Argument[0].Element;ReturnValue.Element;value;hq-generated | +| System.Linq;Enumerable;UnionBy;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func);Argument[1].Element;Argument[2].Parameter[0];value;dfc-generated | +| System.Linq;Enumerable;UnionBy;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func);Argument[1].Element;Argument[2].Parameter[0];value;hq-generated | +| System.Linq;Enumerable;UnionBy;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func);Argument[1].Element;ReturnValue.Element;value;dfc-generated | +| System.Linq;Enumerable;UnionBy;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func);Argument[1].Element;ReturnValue.Element;value;hq-generated | +| System.Linq;Enumerable;UnionBy;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;dfc-generated | | System.Linq;Enumerable;UnionBy;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| System.Linq;Enumerable;UnionBy;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IEqualityComparer);Argument[0].Element;Argument[2].Parameter[0];value;dfc-generated | +| System.Linq;Enumerable;UnionBy;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IEqualityComparer);Argument[0].Element;Argument[2].Parameter[0];value;hq-generated | +| System.Linq;Enumerable;UnionBy;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IEqualityComparer);Argument[0].Element;ReturnValue.Element;value;dfc-generated | +| System.Linq;Enumerable;UnionBy;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IEqualityComparer);Argument[0].Element;ReturnValue.Element;value;hq-generated | +| System.Linq;Enumerable;UnionBy;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IEqualityComparer);Argument[1].Element;Argument[2].Parameter[0];value;dfc-generated | +| System.Linq;Enumerable;UnionBy;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IEqualityComparer);Argument[1].Element;Argument[2].Parameter[0];value;hq-generated | +| System.Linq;Enumerable;UnionBy;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IEqualityComparer);Argument[1].Element;ReturnValue.Element;value;dfc-generated | +| System.Linq;Enumerable;UnionBy;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IEqualityComparer);Argument[1].Element;ReturnValue.Element;value;hq-generated | +| System.Linq;Enumerable;UnionBy;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IEqualityComparer);Argument[2];Argument[2].Parameter[delegate-self];value;dfc-generated | | System.Linq;Enumerable;UnionBy;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IEqualityComparer);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | | System.Linq;Enumerable;Where;(System.Collections.Generic.IEnumerable,System.Func);Argument[0].Element;Argument[1].Parameter[0];value;manual | | System.Linq;Enumerable;Where;(System.Collections.Generic.IEnumerable,System.Func);Argument[0].Element;ReturnValue.Element;value;manual | @@ -11625,9 +12504,33 @@ summary | System.Linq;EnumerableQuery;get_Provider;();Argument[this];ReturnValue;value;dfc-generated | | System.Linq;IOrderedEnumerable;CreateOrderedEnumerable;(System.Func,System.Collections.Generic.IComparer,System.Boolean);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | | System.Linq;IQueryable;get_Provider;();Argument[this];ReturnValue;value;dfc-generated | +| System.Linq;ImmutableArrayExtensions;Aggregate;(System.Collections.Immutable.ImmutableArray,System.Func);Argument[1].ReturnValue;Argument[1].Parameter[0];value;dfc-generated | +| System.Linq;ImmutableArrayExtensions;Aggregate;(System.Collections.Immutable.ImmutableArray,System.Func);Argument[1].ReturnValue;Argument[1].Parameter[0];value;hq-generated | +| System.Linq;ImmutableArrayExtensions;Aggregate;(System.Collections.Immutable.ImmutableArray,System.Func);Argument[1].ReturnValue;ReturnValue;value;dfc-generated | +| System.Linq;ImmutableArrayExtensions;Aggregate;(System.Collections.Immutable.ImmutableArray,System.Func);Argument[1].ReturnValue;ReturnValue;value;hq-generated | +| System.Linq;ImmutableArrayExtensions;Aggregate;(System.Collections.Immutable.ImmutableArray,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Linq;ImmutableArrayExtensions;Aggregate;(System.Collections.Immutable.ImmutableArray,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Linq;ImmutableArrayExtensions;Aggregate;(System.Collections.Immutable.ImmutableArray,TAccumulate,System.Func);Argument[1];Argument[2].Parameter[0];value;dfc-generated | +| System.Linq;ImmutableArrayExtensions;Aggregate;(System.Collections.Immutable.ImmutableArray,TAccumulate,System.Func);Argument[1];Argument[2].Parameter[0];value;hq-generated | +| System.Linq;ImmutableArrayExtensions;Aggregate;(System.Collections.Immutable.ImmutableArray,TAccumulate,System.Func);Argument[1];ReturnValue;value;dfc-generated | +| System.Linq;ImmutableArrayExtensions;Aggregate;(System.Collections.Immutable.ImmutableArray,TAccumulate,System.Func);Argument[1];ReturnValue;value;hq-generated | +| System.Linq;ImmutableArrayExtensions;Aggregate;(System.Collections.Immutable.ImmutableArray,TAccumulate,System.Func);Argument[2].ReturnValue;Argument[2].Parameter[0];value;dfc-generated | +| System.Linq;ImmutableArrayExtensions;Aggregate;(System.Collections.Immutable.ImmutableArray,TAccumulate,System.Func);Argument[2].ReturnValue;Argument[2].Parameter[0];value;hq-generated | +| System.Linq;ImmutableArrayExtensions;Aggregate;(System.Collections.Immutable.ImmutableArray,TAccumulate,System.Func);Argument[2].ReturnValue;ReturnValue;value;dfc-generated | +| System.Linq;ImmutableArrayExtensions;Aggregate;(System.Collections.Immutable.ImmutableArray,TAccumulate,System.Func);Argument[2].ReturnValue;ReturnValue;value;hq-generated | +| System.Linq;ImmutableArrayExtensions;Aggregate;(System.Collections.Immutable.ImmutableArray,TAccumulate,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;dfc-generated | | System.Linq;ImmutableArrayExtensions;Aggregate;(System.Collections.Immutable.ImmutableArray,TAccumulate,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| System.Linq;ImmutableArrayExtensions;Aggregate;(System.Collections.Immutable.ImmutableArray,TAccumulate,System.Func,System.Func);Argument[1];Argument[2].Parameter[0];value;dfc-generated | +| System.Linq;ImmutableArrayExtensions;Aggregate;(System.Collections.Immutable.ImmutableArray,TAccumulate,System.Func,System.Func);Argument[1];Argument[2].Parameter[0];value;hq-generated | +| System.Linq;ImmutableArrayExtensions;Aggregate;(System.Collections.Immutable.ImmutableArray,TAccumulate,System.Func,System.Func);Argument[1];Argument[3].Parameter[0];value;dfc-generated | +| System.Linq;ImmutableArrayExtensions;Aggregate;(System.Collections.Immutable.ImmutableArray,TAccumulate,System.Func,System.Func);Argument[1];Argument[3].Parameter[0];value;hq-generated | +| System.Linq;ImmutableArrayExtensions;Aggregate;(System.Collections.Immutable.ImmutableArray,TAccumulate,System.Func,System.Func);Argument[2].ReturnValue;Argument[3].Parameter[0];value;dfc-generated | +| System.Linq;ImmutableArrayExtensions;Aggregate;(System.Collections.Immutable.ImmutableArray,TAccumulate,System.Func,System.Func);Argument[2].ReturnValue;Argument[3].Parameter[0];value;hq-generated | +| System.Linq;ImmutableArrayExtensions;Aggregate;(System.Collections.Immutable.ImmutableArray,TAccumulate,System.Func,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;dfc-generated | | System.Linq;ImmutableArrayExtensions;Aggregate;(System.Collections.Immutable.ImmutableArray,TAccumulate,System.Func,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| System.Linq;ImmutableArrayExtensions;Aggregate;(System.Collections.Immutable.ImmutableArray,TAccumulate,System.Func,System.Func);Argument[3].ReturnValue;ReturnValue;value;dfc-generated | +| System.Linq;ImmutableArrayExtensions;Aggregate;(System.Collections.Immutable.ImmutableArray,TAccumulate,System.Func,System.Func);Argument[3].ReturnValue;ReturnValue;value;hq-generated | +| System.Linq;ImmutableArrayExtensions;Aggregate;(System.Collections.Immutable.ImmutableArray,TAccumulate,System.Func,System.Func);Argument[3];Argument[3].Parameter[delegate-self];value;dfc-generated | | System.Linq;ImmutableArrayExtensions;Aggregate;(System.Collections.Immutable.ImmutableArray,TAccumulate,System.Func,System.Func);Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | | System.Linq;ImmutableArrayExtensions;All;(System.Collections.Immutable.ImmutableArray,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | System.Linq;ImmutableArrayExtensions;Any;(System.Collections.Immutable.ImmutableArray,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | @@ -11645,31 +12548,89 @@ summary | System.Linq;ImmutableArrayExtensions;LastOrDefault;(System.Collections.Immutable.ImmutableArray+Builder);Argument[0].Element;ReturnValue;value;manual | | System.Linq;ImmutableArrayExtensions;LastOrDefault;(System.Collections.Immutable.ImmutableArray,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | System.Linq;ImmutableArrayExtensions;Select;(System.Collections.Immutable.ImmutableArray,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Linq;ImmutableArrayExtensions;SelectMany;(System.Collections.Immutable.ImmutableArray,System.Func>,System.Func);Argument[1].ReturnValue.Element;Argument[2].Parameter[1];value;dfc-generated | +| System.Linq;ImmutableArrayExtensions;SelectMany;(System.Collections.Immutable.ImmutableArray,System.Func>,System.Func);Argument[1].ReturnValue.Element;Argument[2].Parameter[1];value;hq-generated | +| System.Linq;ImmutableArrayExtensions;SelectMany;(System.Collections.Immutable.ImmutableArray,System.Func>,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Linq;ImmutableArrayExtensions;SelectMany;(System.Collections.Immutable.ImmutableArray,System.Func>,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Linq;ImmutableArrayExtensions;SelectMany;(System.Collections.Immutable.ImmutableArray,System.Func>,System.Func);Argument[2].ReturnValue;ReturnValue.Element;value;dfc-generated | +| System.Linq;ImmutableArrayExtensions;SelectMany;(System.Collections.Immutable.ImmutableArray,System.Func>,System.Func);Argument[2].ReturnValue;ReturnValue.Element;value;hq-generated | +| System.Linq;ImmutableArrayExtensions;SelectMany;(System.Collections.Immutable.ImmutableArray,System.Func>,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;dfc-generated | | System.Linq;ImmutableArrayExtensions;SelectMany;(System.Collections.Immutable.ImmutableArray,System.Func>,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| System.Linq;ImmutableArrayExtensions;SequenceEqual;(System.Collections.Immutable.ImmutableArray,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);Argument[0].Element;Argument[2];taint;df-generated | +| System.Linq;ImmutableArrayExtensions;SequenceEqual;(System.Collections.Immutable.ImmutableArray,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);Argument[1].Element;Argument[2];taint;df-generated | +| System.Linq;ImmutableArrayExtensions;SequenceEqual;(System.Collections.Immutable.ImmutableArray,System.Collections.Immutable.ImmutableArray,System.Collections.Generic.IEqualityComparer);Argument[0].Element;Argument[2];taint;df-generated | +| System.Linq;ImmutableArrayExtensions;SequenceEqual;(System.Collections.Immutable.ImmutableArray,System.Collections.Immutable.ImmutableArray,System.Collections.Generic.IEqualityComparer);Argument[1].Element;Argument[2];taint;df-generated | | System.Linq;ImmutableArrayExtensions;SequenceEqual;(System.Collections.Immutable.ImmutableArray,System.Collections.Immutable.ImmutableArray,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | | System.Linq;ImmutableArrayExtensions;Single;(System.Collections.Immutable.ImmutableArray);Argument[0].Element;ReturnValue;taint;df-generated | | System.Linq;ImmutableArrayExtensions;Single;(System.Collections.Immutable.ImmutableArray,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | System.Linq;ImmutableArrayExtensions;SingleOrDefault;(System.Collections.Immutable.ImmutableArray,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | System.Linq;ImmutableArrayExtensions;ToArray;(System.Collections.Immutable.ImmutableArray);Argument[0].Element;ReturnValue;taint;df-generated | +| System.Linq;ImmutableArrayExtensions;ToDictionary;(System.Collections.Immutable.ImmutableArray,System.Func);Argument[0].Element;Argument[1].Parameter[0];value;dfc-generated | +| System.Linq;ImmutableArrayExtensions;ToDictionary;(System.Collections.Immutable.ImmutableArray,System.Func);Argument[0].Element;Argument[1].Parameter[0];value;hq-generated | +| System.Linq;ImmutableArrayExtensions;ToDictionary;(System.Collections.Immutable.ImmutableArray,System.Func);Argument[0].Element;ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair`2.Value];value;dfc-generated | +| System.Linq;ImmutableArrayExtensions;ToDictionary;(System.Collections.Immutable.ImmutableArray,System.Func);Argument[0].Element;ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair`2.Value];value;hq-generated | +| System.Linq;ImmutableArrayExtensions;ToDictionary;(System.Collections.Immutable.ImmutableArray,System.Func);Argument[1].ReturnValue;ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair`2.Key];value;dfc-generated | +| System.Linq;ImmutableArrayExtensions;ToDictionary;(System.Collections.Immutable.ImmutableArray,System.Func);Argument[1].ReturnValue;ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair`2.Key];value;hq-generated | +| System.Linq;ImmutableArrayExtensions;ToDictionary;(System.Collections.Immutable.ImmutableArray,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Linq;ImmutableArrayExtensions;ToDictionary;(System.Collections.Immutable.ImmutableArray,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Linq;ImmutableArrayExtensions;ToDictionary;(System.Collections.Immutable.ImmutableArray,System.Func,System.Collections.Generic.IEqualityComparer);Argument[0].Element;Argument[1].Parameter[0];value;dfc-generated | +| System.Linq;ImmutableArrayExtensions;ToDictionary;(System.Collections.Immutable.ImmutableArray,System.Func,System.Collections.Generic.IEqualityComparer);Argument[0].Element;Argument[1].Parameter[0];value;hq-generated | +| System.Linq;ImmutableArrayExtensions;ToDictionary;(System.Collections.Immutable.ImmutableArray,System.Func,System.Collections.Generic.IEqualityComparer);Argument[0].Element;ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair`2.Value];value;dfc-generated | +| System.Linq;ImmutableArrayExtensions;ToDictionary;(System.Collections.Immutable.ImmutableArray,System.Func,System.Collections.Generic.IEqualityComparer);Argument[0].Element;ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair`2.Value];value;hq-generated | +| System.Linq;ImmutableArrayExtensions;ToDictionary;(System.Collections.Immutable.ImmutableArray,System.Func,System.Collections.Generic.IEqualityComparer);Argument[1].ReturnValue;ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair`2.Key];value;dfc-generated | +| System.Linq;ImmutableArrayExtensions;ToDictionary;(System.Collections.Immutable.ImmutableArray,System.Func,System.Collections.Generic.IEqualityComparer);Argument[1].ReturnValue;ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair`2.Key];value;hq-generated | +| System.Linq;ImmutableArrayExtensions;ToDictionary;(System.Collections.Immutable.ImmutableArray,System.Func,System.Collections.Generic.IEqualityComparer);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Linq;ImmutableArrayExtensions;ToDictionary;(System.Collections.Immutable.ImmutableArray,System.Func,System.Collections.Generic.IEqualityComparer);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Linq;ImmutableArrayExtensions;ToDictionary;(System.Collections.Immutable.ImmutableArray,System.Func,System.Func);Argument[1].ReturnValue;ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair`2.Key];value;dfc-generated | +| System.Linq;ImmutableArrayExtensions;ToDictionary;(System.Collections.Immutable.ImmutableArray,System.Func,System.Func);Argument[1].ReturnValue;ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair`2.Key];value;hq-generated | +| System.Linq;ImmutableArrayExtensions;ToDictionary;(System.Collections.Immutable.ImmutableArray,System.Func,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Linq;ImmutableArrayExtensions;ToDictionary;(System.Collections.Immutable.ImmutableArray,System.Func,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Linq;ImmutableArrayExtensions;ToDictionary;(System.Collections.Immutable.ImmutableArray,System.Func,System.Func);Argument[2].ReturnValue;ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair`2.Value];value;dfc-generated | +| System.Linq;ImmutableArrayExtensions;ToDictionary;(System.Collections.Immutable.ImmutableArray,System.Func,System.Func);Argument[2].ReturnValue;ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair`2.Value];value;hq-generated | +| System.Linq;ImmutableArrayExtensions;ToDictionary;(System.Collections.Immutable.ImmutableArray,System.Func,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;dfc-generated | | System.Linq;ImmutableArrayExtensions;ToDictionary;(System.Collections.Immutable.ImmutableArray,System.Func,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| System.Linq;ImmutableArrayExtensions;ToDictionary;(System.Collections.Immutable.ImmutableArray,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);Argument[1].ReturnValue;ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair`2.Key];value;dfc-generated | +| System.Linq;ImmutableArrayExtensions;ToDictionary;(System.Collections.Immutable.ImmutableArray,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);Argument[1].ReturnValue;ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair`2.Key];value;hq-generated | +| System.Linq;ImmutableArrayExtensions;ToDictionary;(System.Collections.Immutable.ImmutableArray,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Linq;ImmutableArrayExtensions;ToDictionary;(System.Collections.Immutable.ImmutableArray,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Linq;ImmutableArrayExtensions;ToDictionary;(System.Collections.Immutable.ImmutableArray,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);Argument[2].ReturnValue;ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair`2.Value];value;dfc-generated | +| System.Linq;ImmutableArrayExtensions;ToDictionary;(System.Collections.Immutable.ImmutableArray,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);Argument[2].ReturnValue;ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair`2.Value];value;hq-generated | +| System.Linq;ImmutableArrayExtensions;ToDictionary;(System.Collections.Immutable.ImmutableArray,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);Argument[2];Argument[2].Parameter[delegate-self];value;dfc-generated | | System.Linq;ImmutableArrayExtensions;ToDictionary;(System.Collections.Immutable.ImmutableArray,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | | System.Linq;ImmutableArrayExtensions;Where;(System.Collections.Immutable.ImmutableArray,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Linq;Lookup;ApplyResultSelector;(System.Func,TResult>);Argument[0].ReturnValue;ReturnValue.Element;value;dfc-generated | +| System.Linq;Lookup;ApplyResultSelector;(System.Func,TResult>);Argument[0].ReturnValue;ReturnValue.Element;value;hq-generated | +| System.Linq;Lookup;ApplyResultSelector;(System.Func,TResult>);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | System.Linq;Lookup;ApplyResultSelector;(System.Func,TResult>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | | System.Linq;Lookup;GetEnumerator;();Argument[this].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator`1.Current];value;manual | | System.Linq;Lookup;GetEnumerator;();Argument[this].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | | System.Linq;Lookup;get_Item;(TKey);Argument[this];ReturnValue;taint;df-generated | | System.Linq;OrderedParallelQuery;GetEnumerator;();Argument[this].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator`1.Current];value;manual | +| System.Linq;ParallelEnumerable;Aggregate;(System.Linq.ParallelQuery,System.Func,System.Func,System.Func,System.Func);Argument[1].ReturnValue;ReturnValue;value;dfc-generated | +| System.Linq;ParallelEnumerable;Aggregate;(System.Linq.ParallelQuery,System.Func,System.Func,System.Func,System.Func);Argument[1].ReturnValue;ReturnValue;value;hq-generated | +| System.Linq;ParallelEnumerable;Aggregate;(System.Linq.ParallelQuery,System.Func,System.Func,System.Func,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Linq;ParallelEnumerable;Aggregate;(System.Linq.ParallelQuery,System.Func,System.Func,System.Func,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Linq;ParallelEnumerable;Aggregate;(System.Linq.ParallelQuery,System.Func,System.Func,System.Func,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;dfc-generated | | System.Linq;ParallelEnumerable;Aggregate;(System.Linq.ParallelQuery,System.Func,System.Func,System.Func,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| System.Linq;ParallelEnumerable;Aggregate;(System.Linq.ParallelQuery,System.Func,System.Func,System.Func,System.Func);Argument[3].ReturnValue;ReturnValue;value;dfc-generated | +| System.Linq;ParallelEnumerable;Aggregate;(System.Linq.ParallelQuery,System.Func,System.Func,System.Func,System.Func);Argument[3].ReturnValue;ReturnValue;value;hq-generated | +| System.Linq;ParallelEnumerable;Aggregate;(System.Linq.ParallelQuery,System.Func,System.Func,System.Func,System.Func);Argument[3];Argument[3].Parameter[delegate-self];value;dfc-generated | | System.Linq;ParallelEnumerable;Aggregate;(System.Linq.ParallelQuery,System.Func,System.Func,System.Func,System.Func);Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| System.Linq;ParallelEnumerable;Aggregate;(System.Linq.ParallelQuery,System.Func,System.Func,System.Func,System.Func);Argument[4].ReturnValue;ReturnValue;value;dfc-generated | +| System.Linq;ParallelEnumerable;Aggregate;(System.Linq.ParallelQuery,System.Func,System.Func,System.Func,System.Func);Argument[4].ReturnValue;ReturnValue;value;hq-generated | +| System.Linq;ParallelEnumerable;Aggregate;(System.Linq.ParallelQuery,System.Func,System.Func,System.Func,System.Func);Argument[4];Argument[4].Parameter[delegate-self];value;dfc-generated | | System.Linq;ParallelEnumerable;Aggregate;(System.Linq.ParallelQuery,System.Func,System.Func,System.Func,System.Func);Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| System.Linq;ParallelEnumerable;Aggregate;(System.Linq.ParallelQuery,TAccumulate,System.Func,System.Func,System.Func);Argument[1];ReturnValue;value;dfc-generated | +| System.Linq;ParallelEnumerable;Aggregate;(System.Linq.ParallelQuery,TAccumulate,System.Func,System.Func,System.Func);Argument[1];ReturnValue;value;hq-generated | +| System.Linq;ParallelEnumerable;Aggregate;(System.Linq.ParallelQuery,TAccumulate,System.Func,System.Func,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;dfc-generated | | System.Linq;ParallelEnumerable;Aggregate;(System.Linq.ParallelQuery,TAccumulate,System.Func,System.Func,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| System.Linq;ParallelEnumerable;Aggregate;(System.Linq.ParallelQuery,TAccumulate,System.Func,System.Func,System.Func);Argument[3].ReturnValue;ReturnValue;value;dfc-generated | +| System.Linq;ParallelEnumerable;Aggregate;(System.Linq.ParallelQuery,TAccumulate,System.Func,System.Func,System.Func);Argument[3].ReturnValue;ReturnValue;value;hq-generated | +| System.Linq;ParallelEnumerable;Aggregate;(System.Linq.ParallelQuery,TAccumulate,System.Func,System.Func,System.Func);Argument[3];Argument[3].Parameter[delegate-self];value;dfc-generated | | System.Linq;ParallelEnumerable;Aggregate;(System.Linq.ParallelQuery,TAccumulate,System.Func,System.Func,System.Func);Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| System.Linq;ParallelEnumerable;Aggregate;(System.Linq.ParallelQuery,TAccumulate,System.Func,System.Func,System.Func);Argument[4].ReturnValue;ReturnValue;value;dfc-generated | +| System.Linq;ParallelEnumerable;Aggregate;(System.Linq.ParallelQuery,TAccumulate,System.Func,System.Func,System.Func);Argument[4].ReturnValue;ReturnValue;value;hq-generated | +| System.Linq;ParallelEnumerable;Aggregate;(System.Linq.ParallelQuery,TAccumulate,System.Func,System.Func,System.Func);Argument[4];Argument[4].Parameter[delegate-self];value;dfc-generated | | System.Linq;ParallelEnumerable;Aggregate;(System.Linq.ParallelQuery,TAccumulate,System.Func,System.Func,System.Func);Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | | System.Linq;ParallelEnumerable;Aggregate;(System.Linq.ParallelQuery,TAccumulate,System.Func,System.Func);Argument[0].Element;Argument[2].Parameter[1];value;manual | | System.Linq;ParallelEnumerable;Aggregate;(System.Linq.ParallelQuery,TAccumulate,System.Func,System.Func);Argument[1];Argument[2].Parameter[0];value;manual | @@ -11949,6 +12910,8 @@ summary | System.Linq;ParallelEnumerable;SelectMany;(System.Linq.ParallelQuery,System.Func>);Argument[0].Element;Argument[1].Parameter[0];value;manual | | System.Linq;ParallelEnumerable;SelectMany;(System.Linq.ParallelQuery,System.Func>);Argument[1].ReturnValue;ReturnValue.Element;value;manual | | System.Linq;ParallelEnumerable;SelectMany;(System.Linq.ParallelQuery,System.Func>);Argument[1];Argument[1].Parameter[delegate-self];value;manual | +| System.Linq;ParallelEnumerable;SequenceEqual;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Collections.Generic.IEqualityComparer);Argument[0].Element;Argument[2];taint;df-generated | +| System.Linq;ParallelEnumerable;SequenceEqual;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Collections.Generic.IEqualityComparer);Argument[1].Element;Argument[2];taint;df-generated | | System.Linq;ParallelEnumerable;Single;(System.Linq.ParallelQuery);Argument[0].Element;ReturnValue;value;manual | | System.Linq;ParallelEnumerable;Single;(System.Linq.ParallelQuery,System.Func);Argument[0].Element;Argument[1].Parameter[0];value;manual | | System.Linq;ParallelEnumerable;Single;(System.Linq.ParallelQuery,System.Func);Argument[0].Element;ReturnValue;value;manual | @@ -12896,9 +13859,11 @@ summary | System.Net.Security;SslServerAuthenticationOptions;set_ServerCertificateSelectionCallback;(System.Net.Security.ServerCertificateSelectionCallback);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | | System.Net.Security;SslStream;AuthenticateAsClient;(System.Net.Security.SslClientAuthenticationOptions);Argument[0];Argument[this];taint;df-generated | | System.Net.Security;SslStream;AuthenticateAsClientAsync;(System.Net.Security.SslClientAuthenticationOptions,System.Threading.CancellationToken);Argument[0];Argument[this];taint;df-generated | +| System.Net.Security;SslStream;AuthenticateAsClientAsync;(System.Net.Security.SslClientAuthenticationOptions,System.Threading.CancellationToken);Argument[1];Argument[this];taint;df-generated | | System.Net.Security;SslStream;AuthenticateAsServer;(System.Net.Security.SslServerAuthenticationOptions);Argument[0];Argument[this];taint;df-generated | | System.Net.Security;SslStream;AuthenticateAsServerAsync;(System.Net.Security.ServerOptionsSelectionCallback,System.Object,System.Threading.CancellationToken);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | | System.Net.Security;SslStream;AuthenticateAsServerAsync;(System.Net.Security.SslServerAuthenticationOptions,System.Threading.CancellationToken);Argument[0];Argument[this];taint;df-generated | +| System.Net.Security;SslStream;AuthenticateAsServerAsync;(System.Net.Security.SslServerAuthenticationOptions,System.Threading.CancellationToken);Argument[1];Argument[this];taint;df-generated | | System.Net.Security;SslStream;BeginAuthenticateAsClient;(System.String,System.AsyncCallback,System.Object);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | System.Net.Security;SslStream;BeginAuthenticateAsClient;(System.String,System.Security.Cryptography.X509Certificates.X509CertificateCollection,System.Boolean,System.AsyncCallback,System.Object);Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | | System.Net.Security;SslStream;BeginAuthenticateAsClient;(System.String,System.Security.Cryptography.X509Certificates.X509CertificateCollection,System.Security.Authentication.SslProtocols,System.Boolean,System.AsyncCallback,System.Object);Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | @@ -12911,6 +13876,7 @@ summary | System.Net.Security;SslStream;BeginWrite;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);Argument[3];Argument[3].Parameter[delegate-self];value;manual | | System.Net.Security;SslStream;DisposeAsync;();Argument[this];ReturnValue;taint;df-generated | | System.Net.Security;SslStream;FlushAsync;(System.Threading.CancellationToken);Argument[this];ReturnValue.SyntheticField[System.Threading.Tasks.Task.m_stateObject];value;dfc-generated | +| System.Net.Security;SslStream;NegotiateClientCertificateAsync;(System.Threading.CancellationToken);Argument[0];Argument[this];taint;df-generated | | System.Net.Security;SslStream;Read;(System.Byte[],System.Int32,System.Int32);Argument[this];Argument[0].Element;taint;manual | | System.Net.Security;SslStream;ReadAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);Argument[this];Argument[0].Element;taint;manual | | System.Net.Security;SslStream;ReadAsync;(System.Memory,System.Threading.CancellationToken);Argument[this];Argument[0].Element;taint;manual | @@ -12968,7 +13934,13 @@ summary | System.Net.Sockets;Socket;BeginReceive;(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.Net.Sockets.SocketError,System.AsyncCallback,System.Object);Argument[5];Argument[5].Parameter[delegate-self];value;hq-generated | | System.Net.Sockets;Socket;BeginReceive;(System.Collections.Generic.IList>,System.Net.Sockets.SocketFlags,System.AsyncCallback,System.Object);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | | System.Net.Sockets;Socket;BeginReceive;(System.Collections.Generic.IList>,System.Net.Sockets.SocketFlags,System.Net.Sockets.SocketError,System.AsyncCallback,System.Object);Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| System.Net.Sockets;Socket;BeginReceiveFrom;(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.Net.EndPoint,System.AsyncCallback,System.Object);Argument[4];ReturnValue;value;dfc-generated | +| System.Net.Sockets;Socket;BeginReceiveFrom;(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.Net.EndPoint,System.AsyncCallback,System.Object);Argument[4];ReturnValue;value;hq-generated | +| System.Net.Sockets;Socket;BeginReceiveFrom;(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.Net.EndPoint,System.AsyncCallback,System.Object);Argument[5];Argument[5].Parameter[delegate-self];value;dfc-generated | | System.Net.Sockets;Socket;BeginReceiveFrom;(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.Net.EndPoint,System.AsyncCallback,System.Object);Argument[5];Argument[5].Parameter[delegate-self];value;hq-generated | +| System.Net.Sockets;Socket;BeginReceiveMessageFrom;(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.Net.EndPoint,System.AsyncCallback,System.Object);Argument[4];ReturnValue;value;dfc-generated | +| System.Net.Sockets;Socket;BeginReceiveMessageFrom;(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.Net.EndPoint,System.AsyncCallback,System.Object);Argument[4];ReturnValue;value;hq-generated | +| System.Net.Sockets;Socket;BeginReceiveMessageFrom;(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.Net.EndPoint,System.AsyncCallback,System.Object);Argument[5];Argument[5].Parameter[delegate-self];value;dfc-generated | | System.Net.Sockets;Socket;BeginReceiveMessageFrom;(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.Net.EndPoint,System.AsyncCallback,System.Object);Argument[5];Argument[5].Parameter[delegate-self];value;hq-generated | | System.Net.Sockets;Socket;BeginSend;(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.AsyncCallback,System.Object);Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | | System.Net.Sockets;Socket;BeginSend;(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.Net.Sockets.SocketError,System.AsyncCallback,System.Object);Argument[5];Argument[5].Parameter[delegate-self];value;hq-generated | @@ -13153,7 +14125,10 @@ summary | System.Net;FtpWebResponse;get_WelcomeMessage;();Argument[this];ReturnValue;taint;df-generated | | System.Net;HttpContinueDelegate;BeginInvoke;(System.Int32,System.Net.WebHeaderCollection,System.AsyncCallback,System.Object);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | | System.Net;HttpListener+ExtendedProtectionSelector;BeginInvoke;(System.Net.HttpListenerRequest,System.AsyncCallback,System.Object);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Net;HttpListener;BeginGetContext;(System.AsyncCallback,System.Object);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | System.Net;HttpListener;BeginGetContext;(System.AsyncCallback,System.Object);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Net;HttpListener;BeginGetContext;(System.AsyncCallback,System.Object);Argument[1];ReturnValue.SyntheticField[System.Net.ListenerAsyncResult._state];value;dfc-generated | +| System.Net;HttpListener;BeginGetContext;(System.AsyncCallback,System.Object);Argument[1];ReturnValue.SyntheticField[System.Net.ListenerAsyncResult._state];value;hq-generated | | System.Net;HttpListener;get_DefaultServiceNames;();Argument[this];ReturnValue;taint;df-generated | | System.Net;HttpListener;get_Prefixes;();Argument[this];ReturnValue;taint;df-generated | | System.Net;HttpListener;get_TimeoutManager;();Argument[this];ReturnValue;taint;df-generated | @@ -13458,6 +14433,9 @@ summary | System.Reflection.Emit;ConstructorBuilder;DefineParameterCore;(System.Int32,System.Reflection.ParameterAttributes,System.String);Argument[this];ReturnValue;taint;df-generated | | System.Reflection.Emit;ConstructorBuilder;GetILGeneratorCore;(System.Int32);Argument[this];ReturnValue;taint;df-generated | | System.Reflection.Emit;ConstructorBuilder;GetParameters;();Argument[this];ReturnValue;taint;df-generated | +| System.Reflection.Emit;ConstructorBuilder;Invoke;(System.Object,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo);Argument[0];Argument[this];taint;df-generated | +| System.Reflection.Emit;ConstructorBuilder;Invoke;(System.Object,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo);Argument[3].Element;Argument[this];taint;df-generated | +| System.Reflection.Emit;ConstructorBuilder;Invoke;(System.Object,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo);Argument[this];ReturnValue;taint;df-generated | | System.Reflection.Emit;ConstructorBuilder;get_DeclaringType;();Argument[this];ReturnValue;taint;df-generated | | System.Reflection.Emit;ConstructorBuilder;get_MethodHandle;();Argument[this];ReturnValue;taint;df-generated | | System.Reflection.Emit;ConstructorBuilder;get_Module;();Argument[this];ReturnValue;taint;df-generated | @@ -13497,6 +14475,9 @@ summary | System.Reflection.Emit;DynamicMethod;GetParameters;();Argument[this];ReturnValue.Element.Field[System.Reflection.ParameterInfo.MemberImpl];value;dfc-generated | | System.Reflection.Emit;DynamicMethod;GetParameters;();Argument[this];ReturnValue;taint;df-generated | | System.Reflection.Emit;DynamicMethod;GetParameters;();Argument[this];ReturnValue;taint;dfc-generated | +| System.Reflection.Emit;DynamicMethod;Invoke;(System.Object,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo);Argument[0];Argument[this];taint;df-generated | +| System.Reflection.Emit;DynamicMethod;Invoke;(System.Object,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo);Argument[3].Element;Argument[this];taint;df-generated | +| System.Reflection.Emit;DynamicMethod;Invoke;(System.Object,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo);Argument[this];ReturnValue;taint;df-generated | | System.Reflection.Emit;DynamicMethod;get_DeclaringType;();Argument[this];ReturnValue;taint;df-generated | | System.Reflection.Emit;DynamicMethod;get_MethodHandle;();Argument[this];ReturnValue;taint;df-generated | | System.Reflection.Emit;DynamicMethod;get_Module;();Argument[this].SyntheticField[System.Reflection.Emit.DynamicMethod._module];ReturnValue;value;df-generated | @@ -13596,6 +14577,9 @@ summary | System.Reflection.Emit;MethodBuilder;GetGenericMethodDefinition;();Argument[this];ReturnValue;value;dfc-generated | | System.Reflection.Emit;MethodBuilder;GetILGeneratorCore;(System.Int32);Argument[this];ReturnValue;taint;df-generated | | System.Reflection.Emit;MethodBuilder;GetParameters;();Argument[this];ReturnValue;taint;df-generated | +| System.Reflection.Emit;MethodBuilder;Invoke;(System.Object,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo);Argument[0];Argument[this];taint;df-generated | +| System.Reflection.Emit;MethodBuilder;Invoke;(System.Object,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo);Argument[3].Element;Argument[this];taint;df-generated | +| System.Reflection.Emit;MethodBuilder;Invoke;(System.Object,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo);Argument[this];ReturnValue;taint;df-generated | | System.Reflection.Emit;MethodBuilder;MakeGenericMethod;(System.Type[]);Argument[0].Element;ReturnValue;taint;df-generated | | System.Reflection.Emit;MethodBuilder;MakeGenericMethod;(System.Type[]);Argument[this];ReturnValue;taint;df-generated | | System.Reflection.Emit;MethodBuilder;SetCustomAttributeCore;(System.Reflection.ConstructorInfo,System.ReadOnlySpan);Argument[1];Argument[this];taint;df-generated | @@ -13660,6 +14644,8 @@ summary | System.Reflection.Emit;PropertyBuilder;GetGetMethod;(System.Boolean);Argument[this];ReturnValue;taint;df-generated | | System.Reflection.Emit;PropertyBuilder;GetIndexParameters;();Argument[this];ReturnValue;taint;df-generated | | System.Reflection.Emit;PropertyBuilder;GetSetMethod;(System.Boolean);Argument[this];ReturnValue;taint;df-generated | +| System.Reflection.Emit;PropertyBuilder;GetValue;(System.Object,System.Object[]);Argument[0];Argument[this];taint;df-generated | +| System.Reflection.Emit;PropertyBuilder;GetValue;(System.Object,System.Object[]);Argument[this];ReturnValue;taint;df-generated | | System.Reflection.Emit;PropertyBuilder;SetConstantCore;(System.Object);Argument[0];Argument[this];taint;df-generated | | System.Reflection.Emit;PropertyBuilder;SetGetMethodCore;(System.Reflection.Emit.MethodBuilder);Argument[0];Argument[this];taint;df-generated | | System.Reflection.Emit;PropertyBuilder;SetSetMethodCore;(System.Reflection.Emit.MethodBuilder);Argument[0];Argument[this];taint;df-generated | @@ -13767,6 +14753,7 @@ summary | System.Reflection.Metadata.Ecma335;PermissionSetEncoder;AddPermission;(System.String,System.Reflection.Metadata.BlobBuilder);Argument[this];ReturnValue;value;dfc-generated | | System.Reflection.Metadata.Ecma335;PortablePdbBuilder;PortablePdbBuilder;(System.Reflection.Metadata.Ecma335.MetadataBuilder,System.Collections.Immutable.ImmutableArray,System.Reflection.Metadata.MethodDefinitionHandle,System.Func,System.Reflection.Metadata.BlobContentId>);Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | | System.Reflection.Metadata.Ecma335;PortablePdbBuilder;Serialize;(System.Reflection.Metadata.BlobBuilder);Argument[0];Argument[this];taint;df-generated | +| System.Reflection.Metadata.Ecma335;PortablePdbBuilder;Serialize;(System.Reflection.Metadata.BlobBuilder);Argument[this];ReturnValue;taint;df-generated | | System.Reflection.Metadata.Ecma335;SignatureDecoder;DecodeFieldSignature;(System.Reflection.Metadata.BlobReader);Argument[0];ReturnValue;value;dfc-generated | | System.Reflection.Metadata.Ecma335;SignatureDecoder;DecodeLocalSignature;(System.Reflection.Metadata.BlobReader);Argument[0];ReturnValue;value;dfc-generated | | System.Reflection.Metadata.Ecma335;SignatureDecoder;DecodeMethodSignature;(System.Reflection.Metadata.BlobReader);Argument[0];ReturnValue;value;dfc-generated | @@ -13775,8 +14762,12 @@ summary | System.Reflection.Metadata.Ecma335;SignatureDecoder;SignatureDecoder;(System.Reflection.Metadata.ISignatureTypeProvider,System.Reflection.Metadata.MetadataReader,TGenericContext);Argument[0];Argument[this];taint;df-generated | | System.Reflection.Metadata.Ecma335;SignatureDecoder;SignatureDecoder;(System.Reflection.Metadata.ISignatureTypeProvider,System.Reflection.Metadata.MetadataReader,TGenericContext);Argument[1];Argument[this];taint;df-generated | | System.Reflection.Metadata.Ecma335;SignatureDecoder;SignatureDecoder;(System.Reflection.Metadata.ISignatureTypeProvider,System.Reflection.Metadata.MetadataReader,TGenericContext);Argument[2];Argument[this];taint;df-generated | +| System.Reflection.Metadata.Ecma335;SignatureTypeEncoder;Array;(System.Action,System.Action);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | System.Reflection.Metadata.Ecma335;SignatureTypeEncoder;Array;(System.Action,System.Action);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Reflection.Metadata.Ecma335;SignatureTypeEncoder;Array;(System.Action,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Reflection.Metadata.Ecma335;SignatureTypeEncoder;Array;(System.Action,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Reflection.Metadata.Ecma335;SignatureTypeEncoder;Array;(System.Action,System.Action);Argument[this];Argument[0].Parameter[0];value;dfc-generated | +| System.Reflection.Metadata.Ecma335;SignatureTypeEncoder;Array;(System.Action,System.Action);Argument[this];Argument[0].Parameter[0];value;hq-generated | | System.Reflection.Metadata.Ecma335;SignatureTypeEncoder;Array;(System.Reflection.Metadata.Ecma335.SignatureTypeEncoder,System.Reflection.Metadata.Ecma335.ArrayShapeEncoder);Argument[this];ReturnValue;value;dfc-generated | | System.Reflection.Metadata.Ecma335;SignatureTypeEncoder;Pointer;();Argument[this];ReturnValue;value;dfc-generated | | System.Reflection.Metadata.Ecma335;SignatureTypeEncoder;SZArray;();Argument[this];ReturnValue;value;dfc-generated | @@ -14098,6 +15089,9 @@ summary | System.Reflection.Metadata;TypeReferenceHandleCollection;GetEnumerator;();Argument[this].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator`1.Current];value;manual | | System.Reflection.Metadata;TypeReferenceHandleCollection;GetEnumerator;();Argument[this].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | | System.Reflection.Metadata;TypeSpecification;GetCustomAttributes;();Argument[this];ReturnValue;taint;df-generated | +| System.Reflection.PortableExecutable;DebugDirectoryBuilder;AddEntry;(System.Reflection.PortableExecutable.DebugDirectoryEntryType,System.UInt32,System.UInt32,TData,System.Action);Argument[3];Argument[4].Parameter[1];value;dfc-generated | +| System.Reflection.PortableExecutable;DebugDirectoryBuilder;AddEntry;(System.Reflection.PortableExecutable.DebugDirectoryEntryType,System.UInt32,System.UInt32,TData,System.Action);Argument[3];Argument[4].Parameter[1];value;hq-generated | +| System.Reflection.PortableExecutable;DebugDirectoryBuilder;AddEntry;(System.Reflection.PortableExecutable.DebugDirectoryEntryType,System.UInt32,System.UInt32,TData,System.Action);Argument[4];Argument[4].Parameter[delegate-self];value;dfc-generated | | System.Reflection.PortableExecutable;DebugDirectoryBuilder;AddEntry;(System.Reflection.PortableExecutable.DebugDirectoryEntryType,System.UInt32,System.UInt32,TData,System.Action);Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | | System.Reflection.PortableExecutable;ManagedPEBuilder;GetDirectories;();Argument[this];ReturnValue;taint;df-generated | | System.Reflection.PortableExecutable;ManagedPEBuilder;ManagedPEBuilder;(System.Reflection.PortableExecutable.PEHeaderBuilder,System.Reflection.Metadata.Ecma335.MetadataRootBuilder,System.Reflection.Metadata.BlobBuilder,System.Reflection.Metadata.BlobBuilder,System.Reflection.Metadata.BlobBuilder,System.Reflection.PortableExecutable.ResourceSectionBuilder,System.Reflection.PortableExecutable.DebugDirectoryBuilder,System.Int32,System.Reflection.Metadata.MethodDefinitionHandle,System.Reflection.PortableExecutable.CorFlags,System.Func,System.Reflection.Metadata.BlobContentId>);Argument[10];Argument[10].Parameter[delegate-self];value;hq-generated | @@ -14108,6 +15102,7 @@ summary | System.Reflection.PortableExecutable;PEBuilder;GetSections;();Argument[this];ReturnValue;taint;df-generated | | System.Reflection.PortableExecutable;PEBuilder;PEBuilder;(System.Reflection.PortableExecutable.PEHeaderBuilder,System.Func,System.Reflection.Metadata.BlobContentId>);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | System.Reflection.PortableExecutable;PEBuilder;Serialize;(System.Reflection.Metadata.BlobBuilder);Argument[0];Argument[this];taint;df-generated | +| System.Reflection.PortableExecutable;PEBuilder;Serialize;(System.Reflection.Metadata.BlobBuilder);Argument[this];ReturnValue;taint;df-generated | | System.Reflection.PortableExecutable;PEBuilder;SerializeSection;(System.String,System.Reflection.PortableExecutable.SectionLocation);Argument[this];ReturnValue;taint;df-generated | | System.Reflection.PortableExecutable;PEHeaders;get_CoffHeader;();Argument[this];ReturnValue;taint;df-generated | | System.Reflection.PortableExecutable;PEHeaders;get_CorHeader;();Argument[this];ReturnValue;taint;df-generated | @@ -14121,6 +15116,11 @@ summary | System.Reflection.PortableExecutable;PEReader;PEReader;(System.Byte*,System.Int32,System.Boolean);Argument[0];Argument[this];taint;df-generated | | System.Reflection.PortableExecutable;PEReader;PEReader;(System.Collections.Immutable.ImmutableArray);Argument[0].Element;Argument[this];taint;df-generated | | System.Reflection.PortableExecutable;PEReader;PEReader;(System.IO.Stream,System.Reflection.PortableExecutable.PEStreamOptions,System.Int32);Argument[0];Argument[this];taint;df-generated | +| System.Reflection.PortableExecutable;PEReader;TryOpenAssociatedPortablePdb;(System.String,System.Func,System.Reflection.Metadata.MetadataReaderProvider,System.String);Argument[0];Argument[1].Parameter[0];taint;dfc-generated | +| System.Reflection.PortableExecutable;PEReader;TryOpenAssociatedPortablePdb;(System.String,System.Func,System.Reflection.Metadata.MetadataReaderProvider,System.String);Argument[0];Argument[1].Parameter[0];taint;hq-generated | +| System.Reflection.PortableExecutable;PEReader;TryOpenAssociatedPortablePdb;(System.String,System.Func,System.Reflection.Metadata.MetadataReaderProvider,System.String);Argument[0];ReturnValue;taint;dfc-generated | +| System.Reflection.PortableExecutable;PEReader;TryOpenAssociatedPortablePdb;(System.String,System.Func,System.Reflection.Metadata.MetadataReaderProvider,System.String);Argument[0];ReturnValue;taint;hq-generated | +| System.Reflection.PortableExecutable;PEReader;TryOpenAssociatedPortablePdb;(System.String,System.Func,System.Reflection.Metadata.MetadataReaderProvider,System.String);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Reflection.PortableExecutable;PEReader;TryOpenAssociatedPortablePdb;(System.String,System.Func,System.Reflection.Metadata.MetadataReaderProvider,System.String);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | System.Reflection.PortableExecutable;PEReader;get_PEHeaders;();Argument[this];ReturnValue;taint;df-generated | | System.Reflection;Assembly;CreateQualifiedName;(System.String,System.String);Argument[0];ReturnValue;taint;dfc-generated | @@ -14167,6 +15167,17 @@ summary | System.Reflection;Binder;ReorderArgumentArray;(System.Object[],System.Object);Argument[0];ReturnValue;value;dfc-generated | | System.Reflection;Binder;SelectMethod;(System.Reflection.BindingFlags,System.Reflection.MethodBase[],System.Type[],System.Reflection.ParameterModifier[]);Argument[1].Element;ReturnValue;value;dfc-generated | | System.Reflection;Binder;SelectProperty;(System.Reflection.BindingFlags,System.Reflection.PropertyInfo[],System.Type,System.Type[],System.Reflection.ParameterModifier[]);Argument[1].Element;ReturnValue;value;dfc-generated | +| System.Reflection;ConstructorInvoker;Invoke;(System.Object);Argument[0];Argument[this];taint;df-generated | +| System.Reflection;ConstructorInvoker;Invoke;(System.Object,System.Object);Argument[0];Argument[this];taint;df-generated | +| System.Reflection;ConstructorInvoker;Invoke;(System.Object,System.Object);Argument[1];Argument[this];taint;df-generated | +| System.Reflection;ConstructorInvoker;Invoke;(System.Object,System.Object,System.Object);Argument[0];Argument[this];taint;df-generated | +| System.Reflection;ConstructorInvoker;Invoke;(System.Object,System.Object,System.Object);Argument[1];Argument[this];taint;df-generated | +| System.Reflection;ConstructorInvoker;Invoke;(System.Object,System.Object,System.Object);Argument[2];Argument[this];taint;df-generated | +| System.Reflection;ConstructorInvoker;Invoke;(System.Object,System.Object,System.Object,System.Object);Argument[0];Argument[this];taint;df-generated | +| System.Reflection;ConstructorInvoker;Invoke;(System.Object,System.Object,System.Object,System.Object);Argument[1];Argument[this];taint;df-generated | +| System.Reflection;ConstructorInvoker;Invoke;(System.Object,System.Object,System.Object,System.Object);Argument[2];Argument[this];taint;df-generated | +| System.Reflection;ConstructorInvoker;Invoke;(System.Object,System.Object,System.Object,System.Object);Argument[3];Argument[this];taint;df-generated | +| System.Reflection;ConstructorInvoker;Invoke;(System.Span);Argument[0];Argument[this];taint;df-generated | | System.Reflection;CustomAttributeData;get_Constructor;();Argument[this];ReturnValue;taint;df-generated | | System.Reflection;CustomAttributeData;get_ConstructorArguments;();Argument[this];ReturnValue;taint;df-generated | | System.Reflection;CustomAttributeData;get_NamedArguments;();Argument[this];ReturnValue;taint;df-generated | @@ -14213,6 +15224,12 @@ summary | System.Reflection;MethodBase;GetGenericArguments;();Argument[this];ReturnValue;taint;df-generated | | System.Reflection;MethodBase;GetMethodBody;();Argument[this];ReturnValue;taint;df-generated | | System.Reflection;MethodBase;GetParameters;();Argument[this];ReturnValue;taint;df-generated | +| System.Reflection;MethodBase;Invoke;(System.Object,System.Object[]);Argument[0];Argument[this];taint;df-generated | +| System.Reflection;MethodBase;Invoke;(System.Object,System.Object[]);Argument[1].Element;Argument[this];taint;df-generated | +| System.Reflection;MethodBase;Invoke;(System.Object,System.Object[]);Argument[this];ReturnValue;taint;df-generated | +| System.Reflection;MethodBase;Invoke;(System.Object,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo);Argument[0];Argument[this];taint;df-generated | +| System.Reflection;MethodBase;Invoke;(System.Object,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo);Argument[3].Element;Argument[this];taint;df-generated | +| System.Reflection;MethodBase;Invoke;(System.Object,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo);Argument[this];ReturnValue;taint;df-generated | | System.Reflection;MethodBase;get_MethodHandle;();Argument[this];ReturnValue;taint;df-generated | | System.Reflection;MethodBody;GetILAsByteArray;();Argument[this];ReturnValue;taint;df-generated | | System.Reflection;MethodBody;get_ExceptionHandlingClauses;();Argument[this];ReturnValue;taint;df-generated | @@ -14227,8 +15244,34 @@ summary | System.Reflection;MethodInfo;get_ReturnType;();Argument[this];ReturnValue;taint;df-generated | | System.Reflection;MethodInfo;get_ReturnTypeCustomAttributes;();Argument[this];ReturnValue;taint;df-generated | | System.Reflection;MethodInfoExtensions;GetBaseDefinition;(System.Reflection.MethodInfo);Argument[0];ReturnValue;taint;df-generated | +| System.Reflection;MethodInvoker;Invoke;(System.Object);Argument[0];Argument[this];taint;df-generated | +| System.Reflection;MethodInvoker;Invoke;(System.Object);Argument[this];ReturnValue;taint;df-generated | +| System.Reflection;MethodInvoker;Invoke;(System.Object,System.Object);Argument[0];Argument[this];taint;df-generated | +| System.Reflection;MethodInvoker;Invoke;(System.Object,System.Object);Argument[1];Argument[this];taint;df-generated | +| System.Reflection;MethodInvoker;Invoke;(System.Object,System.Object);Argument[this];ReturnValue;taint;df-generated | +| System.Reflection;MethodInvoker;Invoke;(System.Object,System.Object,System.Object);Argument[0];Argument[this];taint;df-generated | +| System.Reflection;MethodInvoker;Invoke;(System.Object,System.Object,System.Object);Argument[1];Argument[this];taint;df-generated | +| System.Reflection;MethodInvoker;Invoke;(System.Object,System.Object,System.Object);Argument[2];Argument[this];taint;df-generated | +| System.Reflection;MethodInvoker;Invoke;(System.Object,System.Object,System.Object);Argument[this];ReturnValue;taint;df-generated | +| System.Reflection;MethodInvoker;Invoke;(System.Object,System.Object,System.Object,System.Object);Argument[0];Argument[this];taint;df-generated | +| System.Reflection;MethodInvoker;Invoke;(System.Object,System.Object,System.Object,System.Object);Argument[1];Argument[this];taint;df-generated | +| System.Reflection;MethodInvoker;Invoke;(System.Object,System.Object,System.Object,System.Object);Argument[2];Argument[this];taint;df-generated | +| System.Reflection;MethodInvoker;Invoke;(System.Object,System.Object,System.Object,System.Object);Argument[3];Argument[this];taint;df-generated | +| System.Reflection;MethodInvoker;Invoke;(System.Object,System.Object,System.Object,System.Object);Argument[this];ReturnValue;taint;df-generated | +| System.Reflection;MethodInvoker;Invoke;(System.Object,System.Object,System.Object,System.Object,System.Object);Argument[0];Argument[this];taint;df-generated | +| System.Reflection;MethodInvoker;Invoke;(System.Object,System.Object,System.Object,System.Object,System.Object);Argument[1];Argument[this];taint;df-generated | +| System.Reflection;MethodInvoker;Invoke;(System.Object,System.Object,System.Object,System.Object,System.Object);Argument[2];Argument[this];taint;df-generated | +| System.Reflection;MethodInvoker;Invoke;(System.Object,System.Object,System.Object,System.Object,System.Object);Argument[3];Argument[this];taint;df-generated | +| System.Reflection;MethodInvoker;Invoke;(System.Object,System.Object,System.Object,System.Object,System.Object);Argument[4];Argument[this];taint;df-generated | +| System.Reflection;MethodInvoker;Invoke;(System.Object,System.Object,System.Object,System.Object,System.Object);Argument[this];ReturnValue;taint;df-generated | +| System.Reflection;MethodInvoker;Invoke;(System.Object,System.Span);Argument[0];Argument[this];taint;df-generated | +| System.Reflection;MethodInvoker;Invoke;(System.Object,System.Span);Argument[1];Argument[this];taint;df-generated | +| System.Reflection;MethodInvoker;Invoke;(System.Object,System.Span);Argument[this];ReturnValue;taint;df-generated | | System.Reflection;Missing;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);Argument[this];Argument[0];taint;df-generated | +| System.Reflection;Module;FindTypes;(System.Reflection.TypeFilter,System.Object);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | System.Reflection;Module;FindTypes;(System.Reflection.TypeFilter,System.Object);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Reflection;Module;FindTypes;(System.Reflection.TypeFilter,System.Object);Argument[1];Argument[0].Parameter[1];value;dfc-generated | +| System.Reflection;Module;FindTypes;(System.Reflection.TypeFilter,System.Object);Argument[1];Argument[0].Parameter[1];value;hq-generated | | System.Reflection;Module;GetField;(System.String);Argument[this];ReturnValue;taint;df-generated | | System.Reflection;Module;GetField;(System.String,System.Reflection.BindingFlags);Argument[this];ReturnValue;taint;df-generated | | System.Reflection;Module;GetMethod;(System.String);Argument[this];ReturnValue;taint;df-generated | @@ -14275,6 +15318,10 @@ summary | System.Reflection;PropertyInfo;GetModifiedPropertyType;();Argument[this];ReturnValue;taint;df-generated | | System.Reflection;PropertyInfo;GetSetMethod;();Argument[this];ReturnValue;taint;df-generated | | System.Reflection;PropertyInfo;GetSetMethod;(System.Boolean);Argument[this];ReturnValue;taint;df-generated | +| System.Reflection;PropertyInfo;GetValue;(System.Object);Argument[0];Argument[this];taint;df-generated | +| System.Reflection;PropertyInfo;GetValue;(System.Object);Argument[this];ReturnValue;taint;df-generated | +| System.Reflection;PropertyInfo;GetValue;(System.Object,System.Object[]);Argument[0];Argument[this];taint;df-generated | +| System.Reflection;PropertyInfo;GetValue;(System.Object,System.Object[]);Argument[this];ReturnValue;taint;df-generated | | System.Reflection;PropertyInfo;get_GetMethod;();Argument[this];ReturnValue;taint;df-generated | | System.Reflection;PropertyInfo;get_PropertyType;();Argument[this];ReturnValue;taint;df-generated | | System.Reflection;PropertyInfo;get_SetMethod;();Argument[this];ReturnValue;taint;df-generated | @@ -14378,6 +15425,11 @@ summary | System.Runtime.CompilerServices;ConditionalWeakTable;Clear;();Argument[this].WithoutElement;Argument[this];value;manual | | System.Runtime.CompilerServices;ConditionalWeakTable;GetEnumerator;();Argument[this].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator`1.Current];value;manual | | System.Runtime.CompilerServices;ConditionalWeakTable;GetEnumerator;();Argument[this].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Runtime.CompilerServices;ConditionalWeakTable;GetValue;(TKey,System.Runtime.CompilerServices.ConditionalWeakTable+CreateValueCallback);Argument[0];Argument[1].Parameter[0];value;dfc-generated | +| System.Runtime.CompilerServices;ConditionalWeakTable;GetValue;(TKey,System.Runtime.CompilerServices.ConditionalWeakTable+CreateValueCallback);Argument[0];Argument[1].Parameter[0];value;hq-generated | +| System.Runtime.CompilerServices;ConditionalWeakTable;GetValue;(TKey,System.Runtime.CompilerServices.ConditionalWeakTable+CreateValueCallback);Argument[1].ReturnValue;ReturnValue;value;dfc-generated | +| System.Runtime.CompilerServices;ConditionalWeakTable;GetValue;(TKey,System.Runtime.CompilerServices.ConditionalWeakTable+CreateValueCallback);Argument[1].ReturnValue;ReturnValue;value;hq-generated | +| System.Runtime.CompilerServices;ConditionalWeakTable;GetValue;(TKey,System.Runtime.CompilerServices.ConditionalWeakTable+CreateValueCallback);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Runtime.CompilerServices;ConditionalWeakTable;GetValue;(TKey,System.Runtime.CompilerServices.ConditionalWeakTable+CreateValueCallback);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | System.Runtime.CompilerServices;ConfiguredCancelableAsyncEnumerable+Enumerator;get_Current;();Argument[this];ReturnValue;taint;df-generated | | System.Runtime.CompilerServices;ConfiguredCancelableAsyncEnumerable;ConfigureAwait;(System.Boolean);Argument[this];ReturnValue;taint;df-generated | @@ -14438,8 +15490,14 @@ summary | System.Runtime.CompilerServices;ReadOnlyCollectionBuilder;set_Item;(System.Int32,T);Argument[1];Argument[this].Element;value;manual | | System.Runtime.CompilerServices;RuntimeHelpers+CleanupCode;BeginInvoke;(System.Object,System.Boolean,System.AsyncCallback,System.Object);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | | System.Runtime.CompilerServices;RuntimeHelpers+TryCode;BeginInvoke;(System.Object,System.AsyncCallback,System.Object);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Runtime.CompilerServices;RuntimeHelpers;ExecuteCodeWithGuaranteedCleanup;(System.Runtime.CompilerServices.RuntimeHelpers+TryCode,System.Runtime.CompilerServices.RuntimeHelpers+CleanupCode,System.Object);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | System.Runtime.CompilerServices;RuntimeHelpers;ExecuteCodeWithGuaranteedCleanup;(System.Runtime.CompilerServices.RuntimeHelpers+TryCode,System.Runtime.CompilerServices.RuntimeHelpers+CleanupCode,System.Object);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Runtime.CompilerServices;RuntimeHelpers;ExecuteCodeWithGuaranteedCleanup;(System.Runtime.CompilerServices.RuntimeHelpers+TryCode,System.Runtime.CompilerServices.RuntimeHelpers+CleanupCode,System.Object);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Runtime.CompilerServices;RuntimeHelpers;ExecuteCodeWithGuaranteedCleanup;(System.Runtime.CompilerServices.RuntimeHelpers+TryCode,System.Runtime.CompilerServices.RuntimeHelpers+CleanupCode,System.Object);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Runtime.CompilerServices;RuntimeHelpers;ExecuteCodeWithGuaranteedCleanup;(System.Runtime.CompilerServices.RuntimeHelpers+TryCode,System.Runtime.CompilerServices.RuntimeHelpers+CleanupCode,System.Object);Argument[2];Argument[0].Parameter[0];value;dfc-generated | +| System.Runtime.CompilerServices;RuntimeHelpers;ExecuteCodeWithGuaranteedCleanup;(System.Runtime.CompilerServices.RuntimeHelpers+TryCode,System.Runtime.CompilerServices.RuntimeHelpers+CleanupCode,System.Object);Argument[2];Argument[0].Parameter[0];value;hq-generated | +| System.Runtime.CompilerServices;RuntimeHelpers;ExecuteCodeWithGuaranteedCleanup;(System.Runtime.CompilerServices.RuntimeHelpers+TryCode,System.Runtime.CompilerServices.RuntimeHelpers+CleanupCode,System.Object);Argument[2];Argument[1].Parameter[0];value;dfc-generated | +| System.Runtime.CompilerServices;RuntimeHelpers;ExecuteCodeWithGuaranteedCleanup;(System.Runtime.CompilerServices.RuntimeHelpers+TryCode,System.Runtime.CompilerServices.RuntimeHelpers+CleanupCode,System.Object);Argument[2];Argument[1].Parameter[0];value;hq-generated | | System.Runtime.CompilerServices;RuntimeWrappedException;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);Argument[this];Argument[0];taint;df-generated | | System.Runtime.CompilerServices;RuntimeWrappedException;RuntimeWrappedException;(System.Object);Argument[0];Argument[this].SyntheticField[System.Runtime.CompilerServices.RuntimeWrappedException._wrappedException];value;dfc-generated | | System.Runtime.CompilerServices;RuntimeWrappedException;get_WrappedException;();Argument[this].SyntheticField[System.Runtime.CompilerServices.RuntimeWrappedException._wrappedException];ReturnValue;value;dfc-generated | @@ -14682,6 +15740,11 @@ summary | System.Runtime.Serialization.Formatters.Binary;BinaryFormatter;BinaryFormatter;(System.Runtime.Serialization.ISurrogateSelector,System.Runtime.Serialization.StreamingContext);Argument[1];Argument[this];taint;df-generated | | System.Runtime.Serialization.Json;DataContractJsonSerializer;DataContractJsonSerializer;(System.Type,System.Runtime.Serialization.Json.DataContractJsonSerializerSettings);Argument[1].Property[System.Runtime.Serialization.Json.DataContractJsonSerializerSettings.DateTimeFormat];Argument[this].SyntheticField[System.Runtime.Serialization.Json.DataContractJsonSerializer._dateTimeFormat];value;dfc-generated | | System.Runtime.Serialization.Json;DataContractJsonSerializer;GetSerializationSurrogateProvider;();Argument[this].SyntheticField[System.Runtime.Serialization.Json.DataContractJsonSerializer._serializationSurrogateProvider];ReturnValue;value;dfc-generated | +| System.Runtime.Serialization.Json;DataContractJsonSerializer;ReadObject;(System.IO.Stream);Argument[this];ReturnValue;taint;df-generated | +| System.Runtime.Serialization.Json;DataContractJsonSerializer;ReadObject;(System.Xml.XmlDictionaryReader);Argument[this];ReturnValue;taint;df-generated | +| System.Runtime.Serialization.Json;DataContractJsonSerializer;ReadObject;(System.Xml.XmlDictionaryReader,System.Boolean);Argument[this];ReturnValue;taint;df-generated | +| System.Runtime.Serialization.Json;DataContractJsonSerializer;ReadObject;(System.Xml.XmlReader);Argument[this];ReturnValue;taint;df-generated | +| System.Runtime.Serialization.Json;DataContractJsonSerializer;ReadObject;(System.Xml.XmlReader,System.Boolean);Argument[this];ReturnValue;taint;df-generated | | System.Runtime.Serialization.Json;DataContractJsonSerializer;SetSerializationSurrogateProvider;(System.Runtime.Serialization.ISerializationSurrogateProvider);Argument[0];Argument[this].SyntheticField[System.Runtime.Serialization.Json.DataContractJsonSerializer._serializationSurrogateProvider];value;dfc-generated | | System.Runtime.Serialization.Json;DataContractJsonSerializer;get_DateTimeFormat;();Argument[this].SyntheticField[System.Runtime.Serialization.Json.DataContractJsonSerializer._dateTimeFormat];ReturnValue;value;dfc-generated | | System.Runtime.Serialization.Json;IXmlJsonReaderInitializer;SetInput;(System.Byte[],System.Int32,System.Int32,System.Text.Encoding,System.Xml.XmlDictionaryReaderQuotas,System.Xml.OnXmlDictionaryReaderClose);Argument[5];Argument[5].Parameter[delegate-self];value;hq-generated | @@ -14703,6 +15766,10 @@ summary | System.Runtime.Serialization;DataContractSerializer;DataContractSerializer;(System.Type,System.Runtime.Serialization.DataContractSerializerSettings);Argument[1].Property[System.Runtime.Serialization.DataContractSerializerSettings.DataContractResolver];Argument[this].SyntheticField[System.Runtime.Serialization.DataContractSerializer._dataContractResolver];value;dfc-generated | | System.Runtime.Serialization;DataContractSerializer;DataContractSerializer;(System.Type,System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString,System.Collections.Generic.IEnumerable);Argument[1];Argument[this];taint;df-generated | | System.Runtime.Serialization;DataContractSerializer;DataContractSerializer;(System.Type,System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString,System.Collections.Generic.IEnumerable);Argument[2];Argument[this];taint;df-generated | +| System.Runtime.Serialization;DataContractSerializer;ReadObject;(System.Xml.XmlDictionaryReader,System.Boolean);Argument[this];ReturnValue;taint;df-generated | +| System.Runtime.Serialization;DataContractSerializer;ReadObject;(System.Xml.XmlDictionaryReader,System.Boolean,System.Runtime.Serialization.DataContractResolver);Argument[this];ReturnValue;taint;df-generated | +| System.Runtime.Serialization;DataContractSerializer;ReadObject;(System.Xml.XmlReader);Argument[this];ReturnValue;taint;df-generated | +| System.Runtime.Serialization;DataContractSerializer;ReadObject;(System.Xml.XmlReader,System.Boolean);Argument[this];ReturnValue;taint;df-generated | | System.Runtime.Serialization;DataContractSerializer;get_DataContractResolver;();Argument[this].SyntheticField[System.Runtime.Serialization.DataContractSerializer._dataContractResolver];ReturnValue;value;dfc-generated | | System.Runtime.Serialization;DataContractSerializerExtensions;GetSerializationSurrogateProvider;(System.Runtime.Serialization.DataContractSerializer);Argument[0].SyntheticField[System.Runtime.Serialization.DataContractSerializer._serializationSurrogateProvider];ReturnValue;value;dfc-generated | | System.Runtime.Serialization;DataContractSerializerExtensions;SetSerializationSurrogateProvider;(System.Runtime.Serialization.DataContractSerializer,System.Runtime.Serialization.ISerializationSurrogateProvider);Argument[1];Argument[0].SyntheticField[System.Runtime.Serialization.DataContractSerializer._serializationSurrogateProvider];value;dfc-generated | @@ -14768,6 +15835,11 @@ summary | System.Runtime.Serialization;SurrogateSelector;GetSurrogate;(System.Type,System.Runtime.Serialization.StreamingContext,System.Runtime.Serialization.ISurrogateSelector);Argument[this].SyntheticField[System.Runtime.Serialization.SurrogateSelector._nextSelector];ReturnValue;value;dfc-generated | | System.Runtime.Serialization;SurrogateSelector;GetSurrogate;(System.Type,System.Runtime.Serialization.StreamingContext,System.Runtime.Serialization.ISurrogateSelector);Argument[this];ReturnValue;value;dfc-generated | | System.Runtime.Serialization;XPathQueryGenerator;CreateFromDataContractSerializer;(System.Type,System.Reflection.MemberInfo[],System.Text.StringBuilder,System.Xml.XmlNamespaceManager);Argument[2];ReturnValue;taint;dfc-generated | +| System.Runtime.Serialization;XmlObjectSerializer;ReadObject;(System.IO.Stream);Argument[this];ReturnValue;taint;df-generated | +| System.Runtime.Serialization;XmlObjectSerializer;ReadObject;(System.Xml.XmlDictionaryReader);Argument[this];ReturnValue;taint;df-generated | +| System.Runtime.Serialization;XmlObjectSerializer;ReadObject;(System.Xml.XmlDictionaryReader,System.Boolean);Argument[this];ReturnValue;taint;df-generated | +| System.Runtime.Serialization;XmlObjectSerializer;ReadObject;(System.Xml.XmlReader);Argument[this];ReturnValue;taint;df-generated | +| System.Runtime.Serialization;XmlObjectSerializer;ReadObject;(System.Xml.XmlReader,System.Boolean);Argument[this];ReturnValue;taint;df-generated | | System.Runtime.Serialization;XmlSerializableServices;WriteNodes;(System.Xml.XmlWriter,System.Xml.XmlNode[]);Argument[1].Element;Argument[0];taint;df-generated | | System.Runtime.Serialization;XsdDataContractExporter;XsdDataContractExporter;(System.Xml.Schema.XmlSchemaSet);Argument[0];Argument[this].SyntheticField[System.Runtime.Serialization.XsdDataContractExporter._schemas];value;dfc-generated | | System.Runtime.Serialization;XsdDataContractExporter;get_Schemas;();Argument[this].SyntheticField[System.Runtime.Serialization.XsdDataContractExporter._schemas];ReturnValue;value;dfc-generated | @@ -14830,7 +15902,12 @@ summary | System.Security.Claims;ClaimsIdentity;FindFirst;(System.Predicate);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | | System.Security.Claims;ClaimsIdentity;FindFirst;(System.String);Argument[this].Property[System.Security.Claims.ClaimsIdentity.Claims].Element;ReturnValue;value;dfc-generated | | System.Security.Claims;ClaimsIdentity;FindFirst;(System.String);Argument[this].SyntheticField[System.Security.Claims.ClaimsIdentity._instanceClaims].Element;ReturnValue;value;dfc-generated | +| System.Security.Claims;ClaimsIdentity;HasClaim;(System.Predicate);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | System.Security.Claims;ClaimsIdentity;HasClaim;(System.Predicate);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Security.Claims;ClaimsIdentity;HasClaim;(System.Predicate);Argument[this].Property[System.Security.Claims.ClaimsIdentity.Claims].Element;Argument[0].Parameter[0];value;dfc-generated | +| System.Security.Claims;ClaimsIdentity;HasClaim;(System.Predicate);Argument[this].Property[System.Security.Claims.ClaimsIdentity.Claims].Element;Argument[0].Parameter[0];value;hq-generated | +| System.Security.Claims;ClaimsIdentity;HasClaim;(System.Predicate);Argument[this].SyntheticField[System.Security.Claims.ClaimsIdentity._instanceClaims].Element;Argument[0].Parameter[0];value;dfc-generated | +| System.Security.Claims;ClaimsIdentity;HasClaim;(System.Predicate);Argument[this].SyntheticField[System.Security.Claims.ClaimsIdentity._instanceClaims].Element;Argument[0].Parameter[0];value;hq-generated | | System.Security.Claims;ClaimsIdentity;get_AuthenticationType;();Argument[this].SyntheticField[System.Security.Claims.ClaimsIdentity._authenticationType];ReturnValue;value;dfc-generated | | System.Security.Claims;ClaimsIdentity;get_Claims;();Argument[this].SyntheticField[System.Security.Claims.ClaimsIdentity._instanceClaims].Element;ReturnValue.Element;value;dfc-generated | | System.Security.Claims;ClaimsIdentity;get_Claims;();Argument[this].SyntheticField[System.Security.Claims.ClaimsIdentity._instanceClaims];ReturnValue;value;dfc-generated | @@ -15685,6 +16762,24 @@ summary | System.Text.Json;JsonSerializer;Deserialize;(System.Text.Json.Utf8JsonReader,System.Type,System.Text.Json.Serialization.JsonSerializerContext);Argument[0];ReturnValue;value;dfc-generated | | System.Text.Json;JsonSerializer;Deserialize;(System.Text.Json.Utf8JsonReader,System.Text.Json.JsonSerializerOptions);Argument[0];ReturnValue;value;dfc-generated | | System.Text.Json;JsonSerializer;Deserialize;(System.Text.Json.Utf8JsonReader,System.Text.Json.Serialization.Metadata.JsonTypeInfo);Argument[0];ReturnValue;value;dfc-generated | +| System.Text.Json;JsonSerializer;Serialize;(System.IO.Stream,System.Object,System.Text.Json.Serialization.Metadata.JsonTypeInfo);Argument[1];Argument[2];taint;df-generated | +| System.Text.Json;JsonSerializer;Serialize;(System.Object,System.Text.Json.Serialization.Metadata.JsonTypeInfo);Argument[0];Argument[1];taint;df-generated | +| System.Text.Json;JsonSerializer;Serialize;(System.Text.Json.Utf8JsonWriter,System.Object,System.Text.Json.Serialization.Metadata.JsonTypeInfo);Argument[0];Argument[2];taint;df-generated | +| System.Text.Json;JsonSerializer;Serialize;(System.Text.Json.Utf8JsonWriter,System.Object,System.Text.Json.Serialization.Metadata.JsonTypeInfo);Argument[1];Argument[2];taint;df-generated | +| System.Text.Json;JsonSerializer;Serialize;(System.IO.Stream,TValue,System.Text.Json.Serialization.Metadata.JsonTypeInfo);Argument[1];Argument[2];taint;df-generated | +| System.Text.Json;JsonSerializer;Serialize;(System.Text.Json.Utf8JsonWriter,TValue,System.Text.Json.Serialization.Metadata.JsonTypeInfo);Argument[0];Argument[2];taint;df-generated | +| System.Text.Json;JsonSerializer;Serialize;(System.Text.Json.Utf8JsonWriter,TValue,System.Text.Json.Serialization.Metadata.JsonTypeInfo);Argument[1];Argument[2];taint;df-generated | +| System.Text.Json;JsonSerializer;Serialize;(TValue,System.Text.Json.Serialization.Metadata.JsonTypeInfo);Argument[0];Argument[1];taint;df-generated | +| System.Text.Json;JsonSerializer;SerializeAsync;(System.IO.Stream,System.Object,System.Text.Json.Serialization.Metadata.JsonTypeInfo,System.Threading.CancellationToken);Argument[1];Argument[2];taint;df-generated | +| System.Text.Json;JsonSerializer;SerializeAsync;(System.IO.Stream,TValue,System.Text.Json.Serialization.Metadata.JsonTypeInfo,System.Threading.CancellationToken);Argument[1];Argument[2];taint;df-generated | +| System.Text.Json;JsonSerializer;SerializeToDocument;(System.Object,System.Text.Json.Serialization.Metadata.JsonTypeInfo);Argument[0];Argument[1];taint;df-generated | +| System.Text.Json;JsonSerializer;SerializeToDocument;(TValue,System.Text.Json.Serialization.Metadata.JsonTypeInfo);Argument[0];Argument[1];taint;df-generated | +| System.Text.Json;JsonSerializer;SerializeToElement;(System.Object,System.Text.Json.Serialization.Metadata.JsonTypeInfo);Argument[0];Argument[1];taint;df-generated | +| System.Text.Json;JsonSerializer;SerializeToElement;(TValue,System.Text.Json.Serialization.Metadata.JsonTypeInfo);Argument[0];Argument[1];taint;df-generated | +| System.Text.Json;JsonSerializer;SerializeToNode;(System.Object,System.Text.Json.Serialization.Metadata.JsonTypeInfo);Argument[0];Argument[1];taint;df-generated | +| System.Text.Json;JsonSerializer;SerializeToNode;(TValue,System.Text.Json.Serialization.Metadata.JsonTypeInfo);Argument[0];Argument[1];taint;df-generated | +| System.Text.Json;JsonSerializer;SerializeToUtf8Bytes;(System.Object,System.Text.Json.Serialization.Metadata.JsonTypeInfo);Argument[0];Argument[1];taint;df-generated | +| System.Text.Json;JsonSerializer;SerializeToUtf8Bytes;(TValue,System.Text.Json.Serialization.Metadata.JsonTypeInfo);Argument[0];Argument[1];taint;df-generated | | System.Text.Json;JsonSerializerOptions;GetConverter;(System.Type);Argument[this];ReturnValue;taint;df-generated | | System.Text.Json;JsonSerializerOptions;GetTypeInfo;(System.Type);Argument[this];ReturnValue;taint;df-generated | | System.Text.Json;JsonSerializerOptions;JsonSerializerOptions;(System.Text.Json.JsonSerializerOptions);Argument[0];Argument[this];taint;df-generated | @@ -15791,11 +16886,29 @@ summary | System.Text.RegularExpressions;Regex;Replace;(System.String,System.String,System.String);Argument[0];ReturnValue;value;dfc-generated | | System.Text.RegularExpressions;Regex;Replace;(System.String,System.String,System.String,System.Text.RegularExpressions.RegexOptions);Argument[0];ReturnValue;value;dfc-generated | | System.Text.RegularExpressions;Regex;Replace;(System.String,System.String,System.String,System.Text.RegularExpressions.RegexOptions,System.TimeSpan);Argument[0];ReturnValue;value;dfc-generated | +| System.Text.RegularExpressions;Regex;Replace;(System.String,System.String,System.Text.RegularExpressions.MatchEvaluator);Argument[0];ReturnValue;value;dfc-generated | +| System.Text.RegularExpressions;Regex;Replace;(System.String,System.String,System.Text.RegularExpressions.MatchEvaluator);Argument[0];ReturnValue;value;hq-generated | +| System.Text.RegularExpressions;Regex;Replace;(System.String,System.String,System.Text.RegularExpressions.MatchEvaluator);Argument[2];Argument[2].Parameter[delegate-self];value;dfc-generated | | System.Text.RegularExpressions;Regex;Replace;(System.String,System.String,System.Text.RegularExpressions.MatchEvaluator);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| System.Text.RegularExpressions;Regex;Replace;(System.String,System.String,System.Text.RegularExpressions.MatchEvaluator,System.Text.RegularExpressions.RegexOptions);Argument[0];ReturnValue;value;dfc-generated | +| System.Text.RegularExpressions;Regex;Replace;(System.String,System.String,System.Text.RegularExpressions.MatchEvaluator,System.Text.RegularExpressions.RegexOptions);Argument[0];ReturnValue;value;hq-generated | +| System.Text.RegularExpressions;Regex;Replace;(System.String,System.String,System.Text.RegularExpressions.MatchEvaluator,System.Text.RegularExpressions.RegexOptions);Argument[2];Argument[2].Parameter[delegate-self];value;dfc-generated | | System.Text.RegularExpressions;Regex;Replace;(System.String,System.String,System.Text.RegularExpressions.MatchEvaluator,System.Text.RegularExpressions.RegexOptions);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| System.Text.RegularExpressions;Regex;Replace;(System.String,System.String,System.Text.RegularExpressions.MatchEvaluator,System.Text.RegularExpressions.RegexOptions,System.TimeSpan);Argument[0];ReturnValue;value;dfc-generated | +| System.Text.RegularExpressions;Regex;Replace;(System.String,System.String,System.Text.RegularExpressions.MatchEvaluator,System.Text.RegularExpressions.RegexOptions,System.TimeSpan);Argument[0];ReturnValue;value;hq-generated | +| System.Text.RegularExpressions;Regex;Replace;(System.String,System.String,System.Text.RegularExpressions.MatchEvaluator,System.Text.RegularExpressions.RegexOptions,System.TimeSpan);Argument[2];Argument[2].Parameter[delegate-self];value;dfc-generated | | System.Text.RegularExpressions;Regex;Replace;(System.String,System.String,System.Text.RegularExpressions.MatchEvaluator,System.Text.RegularExpressions.RegexOptions,System.TimeSpan);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| System.Text.RegularExpressions;Regex;Replace;(System.String,System.Text.RegularExpressions.MatchEvaluator);Argument[0];ReturnValue;value;dfc-generated | +| System.Text.RegularExpressions;Regex;Replace;(System.String,System.Text.RegularExpressions.MatchEvaluator);Argument[0];ReturnValue;value;hq-generated | +| System.Text.RegularExpressions;Regex;Replace;(System.String,System.Text.RegularExpressions.MatchEvaluator);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Text.RegularExpressions;Regex;Replace;(System.String,System.Text.RegularExpressions.MatchEvaluator);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Text.RegularExpressions;Regex;Replace;(System.String,System.Text.RegularExpressions.MatchEvaluator,System.Int32);Argument[0];ReturnValue;value;dfc-generated | +| System.Text.RegularExpressions;Regex;Replace;(System.String,System.Text.RegularExpressions.MatchEvaluator,System.Int32);Argument[0];ReturnValue;value;hq-generated | +| System.Text.RegularExpressions;Regex;Replace;(System.String,System.Text.RegularExpressions.MatchEvaluator,System.Int32);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Text.RegularExpressions;Regex;Replace;(System.String,System.Text.RegularExpressions.MatchEvaluator,System.Int32);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Text.RegularExpressions;Regex;Replace;(System.String,System.Text.RegularExpressions.MatchEvaluator,System.Int32,System.Int32);Argument[0];ReturnValue;value;dfc-generated | +| System.Text.RegularExpressions;Regex;Replace;(System.String,System.Text.RegularExpressions.MatchEvaluator,System.Int32,System.Int32);Argument[0];ReturnValue;value;hq-generated | +| System.Text.RegularExpressions;Regex;Replace;(System.String,System.Text.RegularExpressions.MatchEvaluator,System.Int32,System.Int32);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Text.RegularExpressions;Regex;Replace;(System.String,System.Text.RegularExpressions.MatchEvaluator,System.Int32,System.Int32);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | System.Text.RegularExpressions;Regex;Split;(System.String);Argument[0];ReturnValue.Element;value;dfc-generated | | System.Text.RegularExpressions;Regex;Split;(System.String,System.Int32);Argument[0];ReturnValue.Element;value;dfc-generated | @@ -15812,6 +16925,7 @@ summary | System.Text.RegularExpressions;RegexCompilationInfo;RegexCompilationInfo;(System.String,System.Text.RegularExpressions.RegexOptions,System.String,System.String,System.Boolean,System.TimeSpan);Argument[5];Argument[this];taint;df-generated | | System.Text.RegularExpressions;RegexMatchTimeoutException;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);Argument[this];Argument[0];taint;df-generated | | System.Text.RegularExpressions;RegexParseException;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);Argument[this];Argument[0];taint;df-generated | +| System.Text.RegularExpressions;RegexRunner;Scan;(System.ReadOnlySpan);Argument[0];Argument[this];taint;df-generated | | System.Text.RegularExpressions;RegexRunner;Scan;(System.Text.RegularExpressions.Regex,System.String,System.Int32,System.Int32,System.Int32,System.Int32,System.Boolean);Argument[1];Argument[this].Field[System.Text.RegularExpressions.RegexRunner.runtext];value;dfc-generated | | System.Text.RegularExpressions;RegexRunner;Scan;(System.Text.RegularExpressions.Regex,System.String,System.Int32,System.Int32,System.Int32,System.Int32,System.Boolean);Argument[this].Field[System.Text.RegularExpressions.RegexRunner.runmatch];ReturnValue;value;dfc-generated | | System.Text.RegularExpressions;RegexRunner;Scan;(System.Text.RegularExpressions.Regex,System.String,System.Int32,System.Int32,System.Int32,System.Int32,System.Boolean,System.TimeSpan);Argument[1];Argument[this].Field[System.Text.RegularExpressions.RegexRunner.runtext];value;dfc-generated | @@ -16103,14 +17217,17 @@ summary | System.Threading.Tasks.Dataflow;ActionBlock;ActionBlock;(System.Action,System.Threading.Tasks.Dataflow.ExecutionDataflowBlockOptions);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | | System.Threading.Tasks.Dataflow;ActionBlock;ActionBlock;(System.Func);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | | System.Threading.Tasks.Dataflow;ActionBlock;ActionBlock;(System.Func,System.Threading.Tasks.Dataflow.ExecutionDataflowBlockOptions);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Threading.Tasks.Dataflow;ActionBlock;Fault;(System.Exception);Argument[0];Argument[this];taint;df-generated | | System.Threading.Tasks.Dataflow;ActionBlock;get_Completion;();Argument[this];ReturnValue;taint;df-generated | | System.Threading.Tasks.Dataflow;BatchBlock;BatchBlock;(System.Int32,System.Threading.Tasks.Dataflow.GroupingDataflowBlockOptions);Argument[1];Argument[this];taint;df-generated | +| System.Threading.Tasks.Dataflow;BatchBlock;Fault;(System.Exception);Argument[0];Argument[this];taint;df-generated | | System.Threading.Tasks.Dataflow;BatchBlock;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Threading.Tasks.Dataflow.DataflowLinkOptions);Argument[0];ReturnValue;taint;df-generated | | System.Threading.Tasks.Dataflow;BatchBlock;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Threading.Tasks.Dataflow.DataflowLinkOptions);Argument[this];ReturnValue;taint;df-generated | | System.Threading.Tasks.Dataflow;BatchBlock;ReserveMessage;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock);Argument[1];Argument[this];taint;df-generated | | System.Threading.Tasks.Dataflow;BatchBlock;TryReceive;(System.Predicate,T[]);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | | System.Threading.Tasks.Dataflow;BatchBlock;get_Completion;();Argument[this];ReturnValue;taint;df-generated | | System.Threading.Tasks.Dataflow;BatchedJoinBlock;BatchedJoinBlock;(System.Int32,System.Threading.Tasks.Dataflow.GroupingDataflowBlockOptions);Argument[1];Argument[this];taint;df-generated | +| System.Threading.Tasks.Dataflow;BatchedJoinBlock;Fault;(System.Exception);Argument[0];Argument[this];taint;df-generated | | System.Threading.Tasks.Dataflow;BatchedJoinBlock;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Collections.Generic.IList,System.Collections.Generic.IList>>,System.Threading.Tasks.Dataflow.DataflowLinkOptions);Argument[0];ReturnValue;taint;df-generated | | System.Threading.Tasks.Dataflow;BatchedJoinBlock;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Collections.Generic.IList,System.Collections.Generic.IList>>,System.Threading.Tasks.Dataflow.DataflowLinkOptions);Argument[this];ReturnValue;taint;df-generated | | System.Threading.Tasks.Dataflow;BatchedJoinBlock;ReserveMessage;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock,System.Collections.Generic.IList,System.Collections.Generic.IList>>);Argument[1];Argument[this];taint;df-generated | @@ -16120,6 +17237,7 @@ summary | System.Threading.Tasks.Dataflow;BatchedJoinBlock;get_Target2;();Argument[this];ReturnValue;taint;df-generated | | System.Threading.Tasks.Dataflow;BatchedJoinBlock;get_Target3;();Argument[this];ReturnValue;taint;df-generated | | System.Threading.Tasks.Dataflow;BatchedJoinBlock;BatchedJoinBlock;(System.Int32,System.Threading.Tasks.Dataflow.GroupingDataflowBlockOptions);Argument[1];Argument[this];taint;df-generated | +| System.Threading.Tasks.Dataflow;BatchedJoinBlock;Fault;(System.Exception);Argument[0];Argument[this];taint;df-generated | | System.Threading.Tasks.Dataflow;BatchedJoinBlock;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Collections.Generic.IList>>,System.Threading.Tasks.Dataflow.DataflowLinkOptions);Argument[0];ReturnValue;taint;df-generated | | System.Threading.Tasks.Dataflow;BatchedJoinBlock;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Collections.Generic.IList>>,System.Threading.Tasks.Dataflow.DataflowLinkOptions);Argument[this];ReturnValue;taint;df-generated | | System.Threading.Tasks.Dataflow;BatchedJoinBlock;ReserveMessage;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock,System.Collections.Generic.IList>>);Argument[1];Argument[this];taint;df-generated | @@ -16130,6 +17248,7 @@ summary | System.Threading.Tasks.Dataflow;BroadcastBlock;BroadcastBlock;(System.Func);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | | System.Threading.Tasks.Dataflow;BroadcastBlock;BroadcastBlock;(System.Func,System.Threading.Tasks.Dataflow.DataflowBlockOptions);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | | System.Threading.Tasks.Dataflow;BroadcastBlock;ConsumeMessage;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock,System.Boolean);Argument[this];ReturnValue;taint;df-generated | +| System.Threading.Tasks.Dataflow;BroadcastBlock;Fault;(System.Exception);Argument[0];Argument[this];taint;df-generated | | System.Threading.Tasks.Dataflow;BroadcastBlock;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Threading.Tasks.Dataflow.DataflowLinkOptions);Argument[0];ReturnValue;taint;df-generated | | System.Threading.Tasks.Dataflow;BroadcastBlock;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Threading.Tasks.Dataflow.DataflowLinkOptions);Argument[this];ReturnValue;taint;df-generated | | System.Threading.Tasks.Dataflow;BroadcastBlock;ReserveMessage;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock);Argument[1];Argument[this];taint;df-generated | @@ -16137,6 +17256,7 @@ summary | System.Threading.Tasks.Dataflow;BroadcastBlock;TryReceiveAll;(System.Collections.Generic.IList);Argument[this];ReturnValue;taint;df-generated | | System.Threading.Tasks.Dataflow;BroadcastBlock;get_Completion;();Argument[this];ReturnValue;taint;df-generated | | System.Threading.Tasks.Dataflow;BufferBlock;BufferBlock;(System.Threading.Tasks.Dataflow.DataflowBlockOptions);Argument[0];Argument[this];taint;df-generated | +| System.Threading.Tasks.Dataflow;BufferBlock;Fault;(System.Exception);Argument[0];Argument[this];taint;df-generated | | System.Threading.Tasks.Dataflow;BufferBlock;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Threading.Tasks.Dataflow.DataflowLinkOptions);Argument[0];ReturnValue;taint;df-generated | | System.Threading.Tasks.Dataflow;BufferBlock;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Threading.Tasks.Dataflow.DataflowLinkOptions);Argument[this];ReturnValue;taint;df-generated | | System.Threading.Tasks.Dataflow;BufferBlock;ReserveMessage;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock);Argument[1];Argument[this];taint;df-generated | @@ -16173,8 +17293,10 @@ summary | System.Threading.Tasks.Dataflow;DataflowBlock;SendAsync;(System.Threading.Tasks.Dataflow.ITargetBlock,TInput);Argument[1];Argument[0];taint;df-generated | | System.Threading.Tasks.Dataflow;DataflowBlock;SendAsync;(System.Threading.Tasks.Dataflow.ITargetBlock,TInput,System.Threading.CancellationToken);Argument[1];Argument[0];taint;df-generated | | System.Threading.Tasks.Dataflow;DataflowBlock;TryReceive;(System.Threading.Tasks.Dataflow.IReceivableSourceBlock,TOutput);Argument[0];ReturnValue;taint;df-generated | +| System.Threading.Tasks.Dataflow;IDataflowBlock;Fault;(System.Exception);Argument[0];Argument[this];taint;df-generated | | System.Threading.Tasks.Dataflow;IDataflowBlock;get_Completion;();Argument[this];ReturnValue;taint;df-generated | | System.Threading.Tasks.Dataflow;IReceivableSourceBlock;TryReceive;(System.Predicate,TOutput);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Threading.Tasks.Dataflow;JoinBlock;Fault;(System.Exception);Argument[0];Argument[this];taint;df-generated | | System.Threading.Tasks.Dataflow;JoinBlock;JoinBlock;(System.Threading.Tasks.Dataflow.GroupingDataflowBlockOptions);Argument[0];Argument[this];taint;df-generated | | System.Threading.Tasks.Dataflow;JoinBlock;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock>,System.Threading.Tasks.Dataflow.DataflowLinkOptions);Argument[0];ReturnValue;taint;df-generated | | System.Threading.Tasks.Dataflow;JoinBlock;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock>,System.Threading.Tasks.Dataflow.DataflowLinkOptions);Argument[this];ReturnValue;taint;df-generated | @@ -16184,6 +17306,7 @@ summary | System.Threading.Tasks.Dataflow;JoinBlock;get_Target1;();Argument[this];ReturnValue;taint;df-generated | | System.Threading.Tasks.Dataflow;JoinBlock;get_Target2;();Argument[this];ReturnValue;taint;df-generated | | System.Threading.Tasks.Dataflow;JoinBlock;get_Target3;();Argument[this];ReturnValue;taint;df-generated | +| System.Threading.Tasks.Dataflow;JoinBlock;Fault;(System.Exception);Argument[0];Argument[this];taint;df-generated | | System.Threading.Tasks.Dataflow;JoinBlock;JoinBlock;(System.Threading.Tasks.Dataflow.GroupingDataflowBlockOptions);Argument[0];Argument[this];taint;df-generated | | System.Threading.Tasks.Dataflow;JoinBlock;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock>,System.Threading.Tasks.Dataflow.DataflowLinkOptions);Argument[0];ReturnValue;taint;df-generated | | System.Threading.Tasks.Dataflow;JoinBlock;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock>,System.Threading.Tasks.Dataflow.DataflowLinkOptions);Argument[this];ReturnValue;taint;df-generated | @@ -16192,6 +17315,7 @@ summary | System.Threading.Tasks.Dataflow;JoinBlock;get_Completion;();Argument[this];ReturnValue;taint;df-generated | | System.Threading.Tasks.Dataflow;JoinBlock;get_Target1;();Argument[this];ReturnValue;taint;df-generated | | System.Threading.Tasks.Dataflow;JoinBlock;get_Target2;();Argument[this];ReturnValue;taint;df-generated | +| System.Threading.Tasks.Dataflow;TransformBlock;Fault;(System.Exception);Argument[0];Argument[this];taint;df-generated | | System.Threading.Tasks.Dataflow;TransformBlock;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Threading.Tasks.Dataflow.DataflowLinkOptions);Argument[0];ReturnValue;taint;df-generated | | System.Threading.Tasks.Dataflow;TransformBlock;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Threading.Tasks.Dataflow.DataflowLinkOptions);Argument[this];ReturnValue;taint;df-generated | | System.Threading.Tasks.Dataflow;TransformBlock;ReserveMessage;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock);Argument[1];Argument[this];taint;df-generated | @@ -16201,6 +17325,7 @@ summary | System.Threading.Tasks.Dataflow;TransformBlock;TransformBlock;(System.Func,System.Threading.Tasks.Dataflow.ExecutionDataflowBlockOptions);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | | System.Threading.Tasks.Dataflow;TransformBlock;TryReceive;(System.Predicate,TOutput);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | | System.Threading.Tasks.Dataflow;TransformBlock;get_Completion;();Argument[this];ReturnValue;taint;df-generated | +| System.Threading.Tasks.Dataflow;TransformManyBlock;Fault;(System.Exception);Argument[0];Argument[this];taint;df-generated | | System.Threading.Tasks.Dataflow;TransformManyBlock;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Threading.Tasks.Dataflow.DataflowLinkOptions);Argument[0];ReturnValue;taint;df-generated | | System.Threading.Tasks.Dataflow;TransformManyBlock;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Threading.Tasks.Dataflow.DataflowLinkOptions);Argument[this];ReturnValue;taint;df-generated | | System.Threading.Tasks.Dataflow;TransformManyBlock;ReserveMessage;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock);Argument[1];Argument[this];taint;df-generated | @@ -16213,6 +17338,7 @@ summary | System.Threading.Tasks.Dataflow;TransformManyBlock;TryReceive;(System.Predicate,TOutput);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | | System.Threading.Tasks.Dataflow;TransformManyBlock;get_Completion;();Argument[this];ReturnValue;taint;df-generated | | System.Threading.Tasks.Dataflow;WriteOnceBlock;ConsumeMessage;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock,System.Boolean);Argument[this].SyntheticField[System.Threading.Tasks.Dataflow.WriteOnceBlock`1._value];ReturnValue;value;dfc-generated | +| System.Threading.Tasks.Dataflow;WriteOnceBlock;Fault;(System.Exception);Argument[0];Argument[this];taint;df-generated | | System.Threading.Tasks.Dataflow;WriteOnceBlock;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Threading.Tasks.Dataflow.DataflowLinkOptions);Argument[0];ReturnValue;taint;df-generated | | System.Threading.Tasks.Dataflow;WriteOnceBlock;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Threading.Tasks.Dataflow.DataflowLinkOptions);Argument[this];Argument[0];taint;df-generated | | System.Threading.Tasks.Dataflow;WriteOnceBlock;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Threading.Tasks.Dataflow.DataflowLinkOptions);Argument[this];ReturnValue;taint;df-generated | @@ -16222,7 +17348,10 @@ summary | System.Threading.Tasks.Dataflow;WriteOnceBlock;TryReceive;(System.Predicate,T);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | | System.Threading.Tasks.Dataflow;WriteOnceBlock;TryReceiveAll;(System.Collections.Generic.IList);Argument[this].SyntheticField[System.Threading.Tasks.Dataflow.WriteOnceBlock`1._value];ReturnValue.Element;value;dfc-generated | | System.Threading.Tasks.Dataflow;WriteOnceBlock;WriteOnceBlock;(System.Func);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Threading.Tasks.Dataflow;WriteOnceBlock;WriteOnceBlock;(System.Func,System.Threading.Tasks.Dataflow.DataflowBlockOptions);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | System.Threading.Tasks.Dataflow;WriteOnceBlock;WriteOnceBlock;(System.Func,System.Threading.Tasks.Dataflow.DataflowBlockOptions);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Threading.Tasks.Dataflow;WriteOnceBlock;WriteOnceBlock;(System.Func,System.Threading.Tasks.Dataflow.DataflowBlockOptions);Argument[0];Argument[this].SyntheticField[System.Threading.Tasks.Dataflow.WriteOnceBlock`1._cloningFunction];value;dfc-generated | +| System.Threading.Tasks.Dataflow;WriteOnceBlock;WriteOnceBlock;(System.Func,System.Threading.Tasks.Dataflow.DataflowBlockOptions);Argument[0];Argument[this].SyntheticField[System.Threading.Tasks.Dataflow.WriteOnceBlock`1._cloningFunction];value;hq-generated | | System.Threading.Tasks.Dataflow;WriteOnceBlock;get_Completion;();Argument[this];ReturnValue;taint;df-generated | | System.Threading.Tasks.Sources;IValueTaskSource;OnCompleted;(System.Action,System.Object,System.Int16,System.Threading.Tasks.Sources.ValueTaskSourceOnCompletedFlags);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | | System.Threading.Tasks.Sources;IValueTaskSource;OnCompleted;(System.Action,System.Object,System.Int16,System.Threading.Tasks.Sources.ValueTaskSourceOnCompletedFlags);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | @@ -16561,41 +17690,185 @@ summary | System.Threading.Tasks;TaskFactory;ContinueWhenAny;(System.Threading.Tasks.Task[],System.Func,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);Argument[1];Argument[1].Parameter[delegate-self];value;manual | | System.Threading.Tasks;TaskFactory;ContinueWhenAny;(System.Threading.Tasks.Task[],System.Func,System.Threading.Tasks.TaskContinuationOptions);Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task`1.Result];value;manual | | System.Threading.Tasks;TaskFactory;ContinueWhenAny;(System.Threading.Tasks.Task[],System.Func,System.Threading.Tasks.TaskContinuationOptions);Argument[1];Argument[1].Parameter[delegate-self];value;manual | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,System.Object);Argument[0].ReturnValue;Argument[1].Parameter[0];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,System.Object);Argument[0].ReturnValue;Argument[1].Parameter[0];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,System.Object);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,System.Object);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,System.Object);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,System.Object);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,System.Object);Argument[2];Argument[0].Parameter[1];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,System.Object);Argument[2];Argument[0].Parameter[1];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[0].ReturnValue;Argument[1].Parameter[0];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[0].ReturnValue;Argument[1].Parameter[0];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[2];Argument[0].Parameter[1];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[2];Argument[0].Parameter[1];value;hq-generated | | System.Threading.Tasks;TaskFactory;FromAsync;(System.IAsyncResult,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | System.Threading.Tasks;TaskFactory;FromAsync;(System.IAsyncResult,System.Action,System.Threading.Tasks.TaskCreationOptions);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | System.Threading.Tasks;TaskFactory;FromAsync;(System.IAsyncResult,System.Action,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object);Argument[0].ReturnValue;Argument[1].Parameter[0];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object);Argument[0].ReturnValue;Argument[1].Parameter[0];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object);Argument[2];Argument[0].Parameter[0];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object);Argument[2];Argument[0].Parameter[0];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object);Argument[3];Argument[0].Parameter[1];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object);Argument[3];Argument[0].Parameter[1];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object);Argument[4];Argument[0].Parameter[2];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object);Argument[4];Argument[0].Parameter[2];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object);Argument[5];Argument[0].Parameter[4];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object);Argument[5];Argument[0].Parameter[4];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[0].ReturnValue;Argument[1].Parameter[0];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[0].ReturnValue;Argument[1].Parameter[0];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[2];Argument[0].Parameter[0];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[2];Argument[0].Parameter[0];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[3];Argument[0].Parameter[1];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[3];Argument[0].Parameter[1];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[4];Argument[0].Parameter[2];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[4];Argument[0].Parameter[2];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[5];Argument[0].Parameter[4];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[5];Argument[0].Parameter[4];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,TArg2,TArg3,System.Object);Argument[0].ReturnValue;Argument[1].Parameter[0];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,TArg2,TArg3,System.Object);Argument[0].ReturnValue;Argument[1].Parameter[0];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,TArg2,TArg3,System.Object);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,TArg2,TArg3,System.Object);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,TArg2,TArg3,System.Object);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,TArg2,TArg3,System.Object);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,TArg2,TArg3,System.Object);Argument[2];Argument[0].Parameter[0];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,TArg2,TArg3,System.Object);Argument[2];Argument[0].Parameter[0];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,TArg2,TArg3,System.Object);Argument[3];Argument[0].Parameter[1];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,TArg2,TArg3,System.Object);Argument[3];Argument[0].Parameter[1];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,TArg2,TArg3,System.Object);Argument[4];Argument[0].Parameter[2];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,TArg2,TArg3,System.Object);Argument[4];Argument[0].Parameter[2];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,TArg2,TArg3,System.Object);Argument[5];Argument[0].Parameter[4];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,TArg2,TArg3,System.Object);Argument[5];Argument[0].Parameter[4];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,TArg2,TArg3,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[0].ReturnValue;Argument[1].Parameter[0];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,TArg2,TArg3,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[0].ReturnValue;Argument[1].Parameter[0];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,TArg2,TArg3,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,TArg2,TArg3,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,TArg2,TArg3,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,TArg2,TArg3,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,TArg2,TArg3,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[2];Argument[0].Parameter[0];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,TArg2,TArg3,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[2];Argument[0].Parameter[0];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,TArg2,TArg3,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[3];Argument[0].Parameter[1];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,TArg2,TArg3,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[3];Argument[0].Parameter[1];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,TArg2,TArg3,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[4];Argument[0].Parameter[2];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,TArg2,TArg3,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[4];Argument[0].Parameter[2];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,TArg2,TArg3,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[5];Argument[0].Parameter[4];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,TArg2,TArg3,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[5];Argument[0].Parameter[4];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,System.Object);Argument[0].ReturnValue;Argument[1].Parameter[0];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,System.Object);Argument[0].ReturnValue;Argument[1].Parameter[0];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,System.Object);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,System.Object);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,System.Object);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,System.Object);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,System.Object);Argument[2];Argument[0].Parameter[0];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,System.Object);Argument[2];Argument[0].Parameter[0];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,System.Object);Argument[3];Argument[0].Parameter[1];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,System.Object);Argument[3];Argument[0].Parameter[1];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,System.Object);Argument[4];Argument[0].Parameter[3];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,System.Object);Argument[4];Argument[0].Parameter[3];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[0].ReturnValue;Argument[1].Parameter[0];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[0].ReturnValue;Argument[1].Parameter[0];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[2];Argument[0].Parameter[0];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[2];Argument[0].Parameter[0];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[3];Argument[0].Parameter[1];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[3];Argument[0].Parameter[1];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[4];Argument[0].Parameter[3];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[4];Argument[0].Parameter[3];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,TArg2,System.Object);Argument[0].ReturnValue;Argument[1].Parameter[0];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,TArg2,System.Object);Argument[0].ReturnValue;Argument[1].Parameter[0];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,TArg2,System.Object);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,TArg2,System.Object);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,TArg2,System.Object);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,TArg2,System.Object);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,TArg2,System.Object);Argument[2];Argument[0].Parameter[0];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,TArg2,System.Object);Argument[2];Argument[0].Parameter[0];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,TArg2,System.Object);Argument[3];Argument[0].Parameter[1];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,TArg2,System.Object);Argument[3];Argument[0].Parameter[1];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,TArg2,System.Object);Argument[4];Argument[0].Parameter[3];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,TArg2,System.Object);Argument[4];Argument[0].Parameter[3];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,TArg2,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[0].ReturnValue;Argument[1].Parameter[0];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,TArg2,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[0].ReturnValue;Argument[1].Parameter[0];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,TArg2,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,TArg2,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,TArg2,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,TArg2,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,TArg2,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[2];Argument[0].Parameter[0];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,TArg2,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[2];Argument[0].Parameter[0];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,TArg2,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[3];Argument[0].Parameter[1];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,TArg2,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[3];Argument[0].Parameter[1];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,TArg2,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[4];Argument[0].Parameter[3];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,TArg2,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[4];Argument[0].Parameter[3];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,System.Object);Argument[0].ReturnValue;Argument[1].Parameter[0];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,System.Object);Argument[0].ReturnValue;Argument[1].Parameter[0];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,System.Object);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,System.Object);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,System.Object);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,System.Object);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,System.Object);Argument[2];Argument[0].Parameter[0];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,System.Object);Argument[2];Argument[0].Parameter[0];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,System.Object);Argument[3];Argument[0].Parameter[2];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,System.Object);Argument[3];Argument[0].Parameter[2];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[0].ReturnValue;Argument[1].Parameter[0];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[0].ReturnValue;Argument[1].Parameter[0];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[2];Argument[0].Parameter[0];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[2];Argument[0].Parameter[0];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[3];Argument[0].Parameter[2];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[3];Argument[0].Parameter[2];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,System.Object);Argument[0].ReturnValue;Argument[1].Parameter[0];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,System.Object);Argument[0].ReturnValue;Argument[1].Parameter[0];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,System.Object);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,System.Object);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,System.Object);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,System.Object);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,System.Object);Argument[2];Argument[0].Parameter[0];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,System.Object);Argument[2];Argument[0].Parameter[0];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,System.Object);Argument[3];Argument[0].Parameter[2];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,System.Object);Argument[3];Argument[0].Parameter[2];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[0].ReturnValue;Argument[1].Parameter[0];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[0].ReturnValue;Argument[1].Parameter[0];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[2];Argument[0].Parameter[0];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[2];Argument[0].Parameter[0];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[3];Argument[0].Parameter[2];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[3];Argument[0].Parameter[2];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,System.Object);Argument[0].ReturnValue;Argument[1].Parameter[0];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,System.Object);Argument[0].ReturnValue;Argument[1].Parameter[0];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,System.Object);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,System.Object);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,System.Object);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,System.Object);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,System.Object);Argument[2];Argument[0].Parameter[1];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,System.Object);Argument[2];Argument[0].Parameter[1];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[0].ReturnValue;Argument[1].Parameter[0];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[0].ReturnValue;Argument[1].Parameter[0];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[2];Argument[0].Parameter[1];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[2];Argument[0].Parameter[1];value;hq-generated | | System.Threading.Tasks;TaskFactory;FromAsync;(System.IAsyncResult,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | System.Threading.Tasks;TaskFactory;FromAsync;(System.IAsyncResult,System.Func,System.Threading.Tasks.TaskCreationOptions);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | System.Threading.Tasks;TaskFactory;FromAsync;(System.IAsyncResult,System.Func,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | @@ -16677,25 +17950,97 @@ summary | System.Threading.Tasks;TaskFactory;ContinueWhenAny;(System.Threading.Tasks.Task[],System.Func,TResult>,System.Threading.Tasks.TaskContinuationOptions);Argument[0];Argument[1].Parameter[0];value;manual | | System.Threading.Tasks;TaskFactory;ContinueWhenAny;(System.Threading.Tasks.Task[],System.Func,TResult>,System.Threading.Tasks.TaskContinuationOptions);Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task`1.Result];value;manual | | System.Threading.Tasks;TaskFactory;ContinueWhenAny;(System.Threading.Tasks.Task[],System.Func,TResult>,System.Threading.Tasks.TaskContinuationOptions);Argument[1];Argument[1].Parameter[delegate-self];value;manual | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,System.Object);Argument[0].ReturnValue;Argument[1].Parameter[0];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,System.Object);Argument[0].ReturnValue;Argument[1].Parameter[0];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,System.Object);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,System.Object);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,System.Object);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,System.Object);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,System.Object);Argument[2];Argument[0].Parameter[1];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,System.Object);Argument[2];Argument[0].Parameter[1];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[0].ReturnValue;Argument[1].Parameter[0];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[0].ReturnValue;Argument[1].Parameter[0];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[2];Argument[0].Parameter[1];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[2];Argument[0].Parameter[1];value;hq-generated | | System.Threading.Tasks;TaskFactory;FromAsync;(System.IAsyncResult,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | System.Threading.Tasks;TaskFactory;FromAsync;(System.IAsyncResult,System.Func,System.Threading.Tasks.TaskCreationOptions);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | System.Threading.Tasks;TaskFactory;FromAsync;(System.IAsyncResult,System.Func,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object);Argument[0].ReturnValue;Argument[1].Parameter[0];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object);Argument[0].ReturnValue;Argument[1].Parameter[0];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object);Argument[2];Argument[0].Parameter[0];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object);Argument[2];Argument[0].Parameter[0];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object);Argument[3];Argument[0].Parameter[1];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object);Argument[3];Argument[0].Parameter[1];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object);Argument[4];Argument[0].Parameter[2];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object);Argument[4];Argument[0].Parameter[2];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object);Argument[5];Argument[0].Parameter[4];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object);Argument[5];Argument[0].Parameter[4];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[0].ReturnValue;Argument[1].Parameter[0];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[0].ReturnValue;Argument[1].Parameter[0];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[2];Argument[0].Parameter[0];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[2];Argument[0].Parameter[0];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[3];Argument[0].Parameter[1];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[3];Argument[0].Parameter[1];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[4];Argument[0].Parameter[2];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[4];Argument[0].Parameter[2];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[5];Argument[0].Parameter[4];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[5];Argument[0].Parameter[4];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,System.Object);Argument[0].ReturnValue;Argument[1].Parameter[0];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,System.Object);Argument[0].ReturnValue;Argument[1].Parameter[0];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,System.Object);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,System.Object);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,System.Object);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,System.Object);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,System.Object);Argument[2];Argument[0].Parameter[0];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,System.Object);Argument[2];Argument[0].Parameter[0];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,System.Object);Argument[3];Argument[0].Parameter[1];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,System.Object);Argument[3];Argument[0].Parameter[1];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,System.Object);Argument[4];Argument[0].Parameter[3];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,System.Object);Argument[4];Argument[0].Parameter[3];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[0].ReturnValue;Argument[1].Parameter[0];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[0].ReturnValue;Argument[1].Parameter[0];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[2];Argument[0].Parameter[0];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[2];Argument[0].Parameter[0];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[3];Argument[0].Parameter[1];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[3];Argument[0].Parameter[1];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[4];Argument[0].Parameter[3];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[4];Argument[0].Parameter[3];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,System.Object);Argument[0].ReturnValue;Argument[1].Parameter[0];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,System.Object);Argument[0].ReturnValue;Argument[1].Parameter[0];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,System.Object);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,System.Object);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,System.Object);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,System.Object);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,System.Object);Argument[2];Argument[0].Parameter[0];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,System.Object);Argument[2];Argument[0].Parameter[0];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,System.Object);Argument[3];Argument[0].Parameter[2];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,System.Object);Argument[3];Argument[0].Parameter[2];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[0].ReturnValue;Argument[1].Parameter[0];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[0].ReturnValue;Argument[1].Parameter[0];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[2];Argument[0].Parameter[0];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[2];Argument[0].Parameter[0];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[3];Argument[0].Parameter[2];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[3];Argument[0].Parameter[2];value;hq-generated | | System.Threading.Tasks;TaskFactory;StartNew;(System.Func,System.Object);Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task`1.Result];value;manual | | System.Threading.Tasks;TaskFactory;StartNew;(System.Func,System.Object);Argument[0];Argument[0].Parameter[delegate-self];value;manual | | System.Threading.Tasks;TaskFactory;StartNew;(System.Func,System.Object);Argument[1];Argument[0].Parameter[0];value;manual | @@ -16725,6 +18070,9 @@ summary | System.Threading.Tasks;TaskScheduler;GetScheduledTasks;();Argument[this];ReturnValue;taint;df-generated | | System.Threading.Tasks;TaskScheduler;add_UnobservedTaskException;(System.EventHandler);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | | System.Threading.Tasks;TaskScheduler;remove_UnobservedTaskException;(System.EventHandler);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Threading.Tasks;TaskToAsyncResult;Begin;(System.Threading.Tasks.Task,System.AsyncCallback,System.Object);Argument[0];ReturnValue.SyntheticField[System.Threading.Tasks.TaskToAsyncResult+TaskAsyncResult._task];value;dfc-generated | +| System.Threading.Tasks;TaskToAsyncResult;Begin;(System.Threading.Tasks.Task,System.AsyncCallback,System.Object);Argument[0];ReturnValue.SyntheticField[System.Threading.Tasks.TaskToAsyncResult+TaskAsyncResult._task];value;hq-generated | +| System.Threading.Tasks;TaskToAsyncResult;Begin;(System.Threading.Tasks.Task,System.AsyncCallback,System.Object);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Threading.Tasks;TaskToAsyncResult;Begin;(System.Threading.Tasks.Task,System.AsyncCallback,System.Object);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | System.Threading.Tasks;UnobservedTaskExceptionEventArgs;UnobservedTaskExceptionEventArgs;(System.AggregateException);Argument[0];Argument[this].SyntheticField[System.Threading.Tasks.UnobservedTaskExceptionEventArgs.m_exception];value;dfc-generated | | System.Threading.Tasks;UnobservedTaskExceptionEventArgs;get_Exception;();Argument[this].SyntheticField[System.Threading.Tasks.UnobservedTaskExceptionEventArgs.m_exception];ReturnValue;value;dfc-generated | @@ -16754,23 +18102,44 @@ summary | System.Threading;Barrier;Barrier;(System.Int32,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | System.Threading;CancellationToken;Register;(System.Action);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | | System.Threading;CancellationToken;Register;(System.Action,System.Boolean);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Threading;CancellationToken;Register;(System.Action,System.Object);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | System.Threading;CancellationToken;Register;(System.Action,System.Object);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Threading;CancellationToken;Register;(System.Action,System.Object);Argument[1];Argument[0].Parameter[0];value;dfc-generated | +| System.Threading;CancellationToken;Register;(System.Action,System.Object);Argument[1];Argument[0].Parameter[0];value;hq-generated | +| System.Threading;CancellationToken;Register;(System.Action,System.Object);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | System.Threading;CancellationToken;Register;(System.Action,System.Object);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Threading;CancellationToken;Register;(System.Action,System.Object);Argument[1];Argument[0].Parameter[0];value;dfc-generated | +| System.Threading;CancellationToken;Register;(System.Action,System.Object);Argument[1];Argument[0].Parameter[0];value;hq-generated | +| System.Threading;CancellationToken;Register;(System.Action,System.Object,System.Boolean);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | System.Threading;CancellationToken;Register;(System.Action,System.Object,System.Boolean);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Threading;CancellationToken;Register;(System.Action,System.Object,System.Boolean);Argument[1];Argument[0].Parameter[0];value;dfc-generated | +| System.Threading;CancellationToken;Register;(System.Action,System.Object,System.Boolean);Argument[1];Argument[0].Parameter[0];value;hq-generated | +| System.Threading;CancellationToken;UnsafeRegister;(System.Action,System.Object);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | System.Threading;CancellationToken;UnsafeRegister;(System.Action,System.Object);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Threading;CancellationToken;UnsafeRegister;(System.Action,System.Object);Argument[1];Argument[0].Parameter[0];value;dfc-generated | +| System.Threading;CancellationToken;UnsafeRegister;(System.Action,System.Object);Argument[1];Argument[0].Parameter[0];value;hq-generated | +| System.Threading;CancellationToken;UnsafeRegister;(System.Action,System.Object);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | System.Threading;CancellationToken;UnsafeRegister;(System.Action,System.Object);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Threading;CancellationToken;UnsafeRegister;(System.Action,System.Object);Argument[1];Argument[0].Parameter[0];value;dfc-generated | +| System.Threading;CancellationToken;UnsafeRegister;(System.Action,System.Object);Argument[1];Argument[0].Parameter[0];value;hq-generated | | System.Threading;CancellationToken;get_WaitHandle;();Argument[this];ReturnValue;taint;df-generated | | System.Threading;CancellationTokenRegistration;DisposeAsync;();Argument[this];ReturnValue;taint;df-generated | | System.Threading;CancellationTokenSource;CancelAsync;();Argument[this];ReturnValue.SyntheticField[System.Threading.Tasks.Task.m_stateObject];value;dfc-generated | | System.Threading;CancellationTokenSource;get_Token;();Argument[this];ReturnValue;taint;df-generated | | System.Threading;CompressedStack;CreateCopy;();Argument[this];ReturnValue;value;dfc-generated | | System.Threading;CompressedStack;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);Argument[this];Argument[0];taint;df-generated | +| System.Threading;CompressedStack;Run;(System.Threading.CompressedStack,System.Threading.ContextCallback,System.Object);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Threading;CompressedStack;Run;(System.Threading.CompressedStack,System.Threading.ContextCallback,System.Object);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Threading;CompressedStack;Run;(System.Threading.CompressedStack,System.Threading.ContextCallback,System.Object);Argument[2];Argument[1].Parameter[0];value;dfc-generated | +| System.Threading;CompressedStack;Run;(System.Threading.CompressedStack,System.Threading.ContextCallback,System.Object);Argument[2];Argument[1].Parameter[0];value;hq-generated | | System.Threading;ContextCallback;BeginInvoke;(System.Object,System.AsyncCallback,System.Object);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | System.Threading;CountdownEvent;get_WaitHandle;();Argument[this];ReturnValue;taint;df-generated | | System.Threading;ExecutionContext;CreateCopy;();Argument[this];ReturnValue;value;dfc-generated | | System.Threading;ExecutionContext;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);Argument[this];Argument[0];taint;df-generated | +| System.Threading;ExecutionContext;Run;(System.Threading.ExecutionContext,System.Threading.ContextCallback,System.Object);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Threading;ExecutionContext;Run;(System.Threading.ExecutionContext,System.Threading.ContextCallback,System.Object);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Threading;ExecutionContext;Run;(System.Threading.ExecutionContext,System.Threading.ContextCallback,System.Object);Argument[2];Argument[1].Parameter[0];value;dfc-generated | +| System.Threading;ExecutionContext;Run;(System.Threading.ExecutionContext,System.Threading.ContextCallback,System.Object);Argument[2];Argument[1].Parameter[0];value;hq-generated | | System.Threading;HostExecutionContextManager;SetHostExecutionContext;(System.Threading.HostExecutionContext);Argument[0];ReturnValue;taint;df-generated | | System.Threading;IOCompletionCallback;BeginInvoke;(System.UInt32,System.UInt32,System.Threading.NativeOverlapped*,System.AsyncCallback,System.Object);Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | | System.Threading;Interlocked;CompareExchange;(System.IntPtr,System.IntPtr,System.IntPtr);Argument[0];ReturnValue;value;dfc-generated | @@ -16782,8 +18151,23 @@ summary | System.Threading;LazyInitializer;EnsureInitialized;(T);Argument[0];ReturnValue;value;dfc-generated | | System.Threading;LazyInitializer;EnsureInitialized;(T,System.Boolean,System.Object);Argument[0];ReturnValue;value;dfc-generated | | System.Threading;LazyInitializer;EnsureInitialized;(T,System.Boolean,System.Object);Argument[2];ReturnValue;value;dfc-generated | +| System.Threading;LazyInitializer;EnsureInitialized;(T,System.Boolean,System.Object,System.Func);Argument[0];ReturnValue;value;dfc-generated | +| System.Threading;LazyInitializer;EnsureInitialized;(T,System.Boolean,System.Object,System.Func);Argument[0];ReturnValue;value;hq-generated | +| System.Threading;LazyInitializer;EnsureInitialized;(T,System.Boolean,System.Object,System.Func);Argument[2];ReturnValue;value;dfc-generated | +| System.Threading;LazyInitializer;EnsureInitialized;(T,System.Boolean,System.Object,System.Func);Argument[2];ReturnValue;value;hq-generated | +| System.Threading;LazyInitializer;EnsureInitialized;(T,System.Boolean,System.Object,System.Func);Argument[3].ReturnValue;ReturnValue;value;dfc-generated | +| System.Threading;LazyInitializer;EnsureInitialized;(T,System.Boolean,System.Object,System.Func);Argument[3].ReturnValue;ReturnValue;value;hq-generated | +| System.Threading;LazyInitializer;EnsureInitialized;(T,System.Boolean,System.Object,System.Func);Argument[3];Argument[3].Parameter[delegate-self];value;dfc-generated | | System.Threading;LazyInitializer;EnsureInitialized;(T,System.Boolean,System.Object,System.Func);Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| System.Threading;LazyInitializer;EnsureInitialized;(T,System.Func);Argument[0];ReturnValue;value;dfc-generated | +| System.Threading;LazyInitializer;EnsureInitialized;(T,System.Func);Argument[0];ReturnValue;value;hq-generated | +| System.Threading;LazyInitializer;EnsureInitialized;(T,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Threading;LazyInitializer;EnsureInitialized;(T,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Threading;LazyInitializer;EnsureInitialized;(T,System.Object,System.Func);Argument[0];ReturnValue;value;dfc-generated | +| System.Threading;LazyInitializer;EnsureInitialized;(T,System.Object,System.Func);Argument[0];ReturnValue;value;hq-generated | +| System.Threading;LazyInitializer;EnsureInitialized;(T,System.Object,System.Func);Argument[1];ReturnValue;value;dfc-generated | +| System.Threading;LazyInitializer;EnsureInitialized;(T,System.Object,System.Func);Argument[1];ReturnValue;value;hq-generated | +| System.Threading;LazyInitializer;EnsureInitialized;(T,System.Object,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;dfc-generated | | System.Threading;LazyInitializer;EnsureInitialized;(T,System.Object,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | | System.Threading;ManualResetEventSlim;get_WaitHandle;();Argument[this];ReturnValue;taint;df-generated | | System.Threading;Mutex;TryOpenExisting;(System.String,System.Threading.Mutex);Argument[1];ReturnValue;value;dfc-generated | @@ -16814,7 +18198,10 @@ summary | System.Threading;SpinWait;SpinUntil;(System.Func,System.Int32);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | | System.Threading;SpinWait;SpinUntil;(System.Func,System.TimeSpan);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | | System.Threading;SynchronizationContext;Post;(System.Threading.SendOrPostCallback,System.Object);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Threading;SynchronizationContext;Send;(System.Threading.SendOrPostCallback,System.Object);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | System.Threading;SynchronizationContext;Send;(System.Threading.SendOrPostCallback,System.Object);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Threading;SynchronizationContext;Send;(System.Threading.SendOrPostCallback,System.Object);Argument[1];Argument[0].Parameter[0];value;dfc-generated | +| System.Threading;SynchronizationContext;Send;(System.Threading.SendOrPostCallback,System.Object);Argument[1];Argument[0].Parameter[0];value;hq-generated | | System.Threading;Thread;GetData;(System.LocalDataStoreSlot);Argument[0].SyntheticField[System.LocalDataStoreSlot.Data].Property[System.Threading.ThreadLocal`1.Value];ReturnValue;value;dfc-generated | | System.Threading;Thread;SetData;(System.LocalDataStoreSlot,System.Object);Argument[1];Argument[0].SyntheticField[System.LocalDataStoreSlot.Data].Property[System.Threading.ThreadLocal`1.Value];value;dfc-generated | | System.Threading;Thread;Thread;(System.Threading.ParameterizedThreadStart);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | @@ -16871,8 +18258,16 @@ summary | System.Timers;TimersDescriptionAttribute;get_Description;();Argument[this].Property[System.ComponentModel.DescriptionAttribute.DescriptionValue];ReturnValue;value;dfc-generated | | System.Timers;TimersDescriptionAttribute;get_Description;();Argument[this].Property[System.ComponentModel.DescriptionAttribute.Description];Argument[this].Property[System.ComponentModel.DescriptionAttribute.DescriptionValue];taint;dfc-generated | | System.Timers;TimersDescriptionAttribute;get_Description;();Argument[this].Property[System.ComponentModel.DescriptionAttribute.Description];ReturnValue;value;dfc-generated | +| System.Transactions;CommittableTransaction;BeginCommit;(System.AsyncCallback,System.Object);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | System.Transactions;CommittableTransaction;BeginCommit;(System.AsyncCallback,System.Object);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Transactions;CommittableTransaction;BeginCommit;(System.AsyncCallback,System.Object);Argument[1];ReturnValue.SyntheticField[System.Transactions.Transaction._internalTransaction].SyntheticField[System.Transactions.InternalTransaction._asyncState];value;dfc-generated | +| System.Transactions;CommittableTransaction;BeginCommit;(System.AsyncCallback,System.Object);Argument[1];ReturnValue.SyntheticField[System.Transactions.Transaction._internalTransaction].SyntheticField[System.Transactions.InternalTransaction._asyncState];value;hq-generated | +| System.Transactions;CommittableTransaction;BeginCommit;(System.AsyncCallback,System.Object);Argument[this];ReturnValue;value;dfc-generated | +| System.Transactions;CommittableTransaction;BeginCommit;(System.AsyncCallback,System.Object);Argument[this];ReturnValue;value;hq-generated | +| System.Transactions;CommittableTransaction;get_AsyncState;();Argument[this].SyntheticField[System.Transactions.Transaction._internalTransaction].SyntheticField[System.Transactions.InternalTransaction._asyncState];ReturnValue;value;df-generated | +| System.Transactions;CommittableTransaction;get_AsyncState;();Argument[this].SyntheticField[System.Transactions.Transaction._internalTransaction].SyntheticField[System.Transactions.InternalTransaction._asyncState];ReturnValue;value;dfc-generated | | System.Transactions;CommittableTransaction;get_AsyncState;();Argument[this];ReturnValue;taint;df-generated | +| System.Transactions;CommittableTransaction;get_AsyncState;();Argument[this];ReturnValue;taint;dfc-generated | | System.Transactions;CommittableTransaction;get_AsyncWaitHandle;();Argument[this];ReturnValue;taint;df-generated | | System.Transactions;DistributedTransactionPermission;Copy;();Argument[this];ReturnValue;value;dfc-generated | | System.Transactions;DistributedTransactionPermission;Intersect;(System.Security.IPermission);Argument[0];ReturnValue;value;dfc-generated | @@ -17080,6 +18475,11 @@ summary | System.Xml.Linq;XNode;WriteTo;(System.Xml.XmlWriter);Argument[this];Argument[0];taint;df-generated | | System.Xml.Linq;XNode;WriteToAsync;(System.Xml.XmlWriter,System.Threading.CancellationToken);Argument[this];Argument[0];taint;df-generated | | System.Xml.Linq;XNode;get_NextNode;();Argument[this];ReturnValue;taint;df-generated | +| System.Xml.Linq;XNodeDocumentOrderComparer;Compare;(System.Object,System.Object);Argument[0];Argument[this];taint;df-generated | +| System.Xml.Linq;XNodeDocumentOrderComparer;Compare;(System.Object,System.Object);Argument[1];Argument[this];taint;df-generated | +| System.Xml.Linq;XNodeEqualityComparer;Equals;(System.Object,System.Object);Argument[0];Argument[this];taint;df-generated | +| System.Xml.Linq;XNodeEqualityComparer;Equals;(System.Object,System.Object);Argument[1];Argument[this];taint;df-generated | +| System.Xml.Linq;XNodeEqualityComparer;GetHashCode;(System.Object);Argument[0];Argument[this];taint;df-generated | | System.Xml.Linq;XObject;AddAnnotation;(System.Object);Argument[0];Argument[this].SyntheticField[System.Xml.Linq.XObject.annotations].Element;value;dfc-generated | | System.Xml.Linq;XObject;AddAnnotation;(System.Object);Argument[0];Argument[this].SyntheticField[System.Xml.Linq.XObject.annotations];value;dfc-generated | | System.Xml.Linq;XObject;AddAnnotation;(System.Object);Argument[this].SyntheticField[System.Xml.Linq.XObject.annotations];Argument[this].SyntheticField[System.Xml.Linq.XObject.annotations].Element;value;dfc-generated | @@ -17141,6 +18541,7 @@ summary | System.Xml.Schema;XmlAtomicValue;Clone;();Argument[this];ReturnValue;value;dfc-generated | | System.Xml.Schema;XmlAtomicValue;ToString;();Argument[this];ReturnValue;taint;df-generated | | System.Xml.Schema;XmlAtomicValue;ValueAs;(System.Type,System.Xml.IXmlNamespaceResolver);Argument[1];ReturnValue;taint;df-generated | +| System.Xml.Schema;XmlAtomicValue;ValueAs;(System.Type,System.Xml.IXmlNamespaceResolver);Argument[this];Argument[1];taint;df-generated | | System.Xml.Schema;XmlAtomicValue;ValueAs;(System.Type,System.Xml.IXmlNamespaceResolver);Argument[this];ReturnValue;taint;df-generated | | System.Xml.Schema;XmlAtomicValue;ValueAs;(System.Type,System.Xml.IXmlNamespaceResolver);Argument[this];ReturnValue;value;df-generated | | System.Xml.Schema;XmlAtomicValue;get_TypedValue;();Argument[this];ReturnValue;taint;df-generated | @@ -17189,9 +18590,11 @@ summary | System.Xml.Schema;XmlSchemaComplexType;get_ContentTypeParticle;();Argument[this];ReturnValue;taint;df-generated | | System.Xml.Schema;XmlSchemaDatatype;ChangeType;(System.Object,System.Type);Argument[0];ReturnValue;taint;df-generated | | System.Xml.Schema;XmlSchemaDatatype;ChangeType;(System.Object,System.Type);Argument[this];ReturnValue;taint;df-generated | +| System.Xml.Schema;XmlSchemaDatatype;ChangeType;(System.Object,System.Type,System.Xml.IXmlNamespaceResolver);Argument[0];Argument[2];taint;df-generated | | System.Xml.Schema;XmlSchemaDatatype;ChangeType;(System.Object,System.Type,System.Xml.IXmlNamespaceResolver);Argument[0];ReturnValue;taint;df-generated | | System.Xml.Schema;XmlSchemaDatatype;ChangeType;(System.Object,System.Type,System.Xml.IXmlNamespaceResolver);Argument[2];ReturnValue;taint;df-generated | | System.Xml.Schema;XmlSchemaDatatype;ChangeType;(System.Object,System.Type,System.Xml.IXmlNamespaceResolver);Argument[this];ReturnValue;taint;df-generated | +| System.Xml.Schema;XmlSchemaDatatype;ParseValue;(System.String,System.Xml.XmlNameTable,System.Xml.IXmlNamespaceResolver);Argument[0];Argument[2];taint;df-generated | | System.Xml.Schema;XmlSchemaDatatype;ParseValue;(System.String,System.Xml.XmlNameTable,System.Xml.IXmlNamespaceResolver);Argument[0];ReturnValue;taint;df-generated | | System.Xml.Schema;XmlSchemaDatatype;ParseValue;(System.String,System.Xml.XmlNameTable,System.Xml.IXmlNamespaceResolver);Argument[this];ReturnValue;taint;df-generated | | System.Xml.Schema;XmlSchemaElement;get_ElementSchemaType;();Argument[this];ReturnValue;taint;df-generated | @@ -17427,14 +18830,26 @@ summary | System.Xml.Serialization;XmlSerializationCollectionFixupCallback;BeginInvoke;(System.Object,System.Object,System.AsyncCallback,System.Object);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | | System.Xml.Serialization;XmlSerializationFixupCallback;BeginInvoke;(System.Object,System.AsyncCallback,System.Object);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | System.Xml.Serialization;XmlSerializationReadCallback;BeginInvoke;(System.AsyncCallback,System.Object);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Xml.Serialization;XmlSerializationReader+CollectionFixup;CollectionFixup;(System.Object,System.Xml.Serialization.XmlSerializationCollectionFixupCallback,System.Object);Argument[0];Argument[this].SyntheticField[System.Xml.Serialization.XmlSerializationReader+CollectionFixup._collection];value;dfc-generated | +| System.Xml.Serialization;XmlSerializationReader+CollectionFixup;CollectionFixup;(System.Object,System.Xml.Serialization.XmlSerializationCollectionFixupCallback,System.Object);Argument[0];Argument[this].SyntheticField[System.Xml.Serialization.XmlSerializationReader+CollectionFixup._collection];value;hq-generated | +| System.Xml.Serialization;XmlSerializationReader+CollectionFixup;CollectionFixup;(System.Object,System.Xml.Serialization.XmlSerializationCollectionFixupCallback,System.Object);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Xml.Serialization;XmlSerializationReader+CollectionFixup;CollectionFixup;(System.Object,System.Xml.Serialization.XmlSerializationCollectionFixupCallback,System.Object);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | -| System.Xml.Serialization;XmlSerializationReader+CollectionFixup;get_Callback;();Argument[this];ReturnValue;taint;df-generated | -| System.Xml.Serialization;XmlSerializationReader+CollectionFixup;get_Collection;();Argument[this];ReturnValue;taint;df-generated | -| System.Xml.Serialization;XmlSerializationReader+CollectionFixup;get_CollectionItems;();Argument[this];ReturnValue;taint;df-generated | +| System.Xml.Serialization;XmlSerializationReader+CollectionFixup;CollectionFixup;(System.Object,System.Xml.Serialization.XmlSerializationCollectionFixupCallback,System.Object);Argument[1];Argument[this].SyntheticField[System.Xml.Serialization.XmlSerializationReader+CollectionFixup._callback];value;dfc-generated | +| System.Xml.Serialization;XmlSerializationReader+CollectionFixup;CollectionFixup;(System.Object,System.Xml.Serialization.XmlSerializationCollectionFixupCallback,System.Object);Argument[1];Argument[this].SyntheticField[System.Xml.Serialization.XmlSerializationReader+CollectionFixup._callback];value;hq-generated | +| System.Xml.Serialization;XmlSerializationReader+CollectionFixup;CollectionFixup;(System.Object,System.Xml.Serialization.XmlSerializationCollectionFixupCallback,System.Object);Argument[2];Argument[this].SyntheticField[System.Xml.Serialization.XmlSerializationReader+CollectionFixup._collectionItems];value;dfc-generated | +| System.Xml.Serialization;XmlSerializationReader+CollectionFixup;CollectionFixup;(System.Object,System.Xml.Serialization.XmlSerializationCollectionFixupCallback,System.Object);Argument[2];Argument[this].SyntheticField[System.Xml.Serialization.XmlSerializationReader+CollectionFixup._collectionItems];value;hq-generated | +| System.Xml.Serialization;XmlSerializationReader+CollectionFixup;get_Callback;();Argument[this].SyntheticField[System.Xml.Serialization.XmlSerializationReader+CollectionFixup._callback];ReturnValue;value;dfc-generated | +| System.Xml.Serialization;XmlSerializationReader+CollectionFixup;get_Collection;();Argument[this].SyntheticField[System.Xml.Serialization.XmlSerializationReader+CollectionFixup._collection];ReturnValue;value;dfc-generated | +| System.Xml.Serialization;XmlSerializationReader+CollectionFixup;get_CollectionItems;();Argument[this].SyntheticField[System.Xml.Serialization.XmlSerializationReader+CollectionFixup._collectionItems];ReturnValue;value;dfc-generated | | System.Xml.Serialization;XmlSerializationReader+Fixup;Fixup;(System.Object,System.Xml.Serialization.XmlSerializationFixupCallback,System.Int32);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Xml.Serialization;XmlSerializationReader+Fixup;Fixup;(System.Object,System.Xml.Serialization.XmlSerializationFixupCallback,System.String[]);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Xml.Serialization;XmlSerializationReader+Fixup;Fixup;(System.Object,System.Xml.Serialization.XmlSerializationFixupCallback,System.String[]);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | -| System.Xml.Serialization;XmlSerializationReader+Fixup;get_Callback;();Argument[this];ReturnValue;taint;df-generated | -| System.Xml.Serialization;XmlSerializationReader+Fixup;get_Ids;();Argument[this];ReturnValue;taint;df-generated | +| System.Xml.Serialization;XmlSerializationReader+Fixup;Fixup;(System.Object,System.Xml.Serialization.XmlSerializationFixupCallback,System.String[]);Argument[1];Argument[this].SyntheticField[System.Xml.Serialization.XmlSerializationReader+Fixup._callback];value;dfc-generated | +| System.Xml.Serialization;XmlSerializationReader+Fixup;Fixup;(System.Object,System.Xml.Serialization.XmlSerializationFixupCallback,System.String[]);Argument[1];Argument[this].SyntheticField[System.Xml.Serialization.XmlSerializationReader+Fixup._callback];value;hq-generated | +| System.Xml.Serialization;XmlSerializationReader+Fixup;Fixup;(System.Object,System.Xml.Serialization.XmlSerializationFixupCallback,System.String[]);Argument[2];Argument[this].SyntheticField[System.Xml.Serialization.XmlSerializationReader+Fixup._ids];value;dfc-generated | +| System.Xml.Serialization;XmlSerializationReader+Fixup;Fixup;(System.Object,System.Xml.Serialization.XmlSerializationFixupCallback,System.String[]);Argument[2];Argument[this].SyntheticField[System.Xml.Serialization.XmlSerializationReader+Fixup._ids];value;hq-generated | +| System.Xml.Serialization;XmlSerializationReader+Fixup;get_Callback;();Argument[this].SyntheticField[System.Xml.Serialization.XmlSerializationReader+Fixup._callback];ReturnValue;value;dfc-generated | +| System.Xml.Serialization;XmlSerializationReader+Fixup;get_Ids;();Argument[this].SyntheticField[System.Xml.Serialization.XmlSerializationReader+Fixup._ids];ReturnValue;value;dfc-generated | | System.Xml.Serialization;XmlSerializationReader;AddFixup;(System.Xml.Serialization.XmlSerializationReader+CollectionFixup);Argument[0];Argument[this];taint;df-generated | | System.Xml.Serialization;XmlSerializationReader;AddFixup;(System.Xml.Serialization.XmlSerializationReader+Fixup);Argument[0];Argument[this];taint;df-generated | | System.Xml.Serialization;XmlSerializationReader;AddReadCallback;(System.String,System.String,System.Type,System.Xml.Serialization.XmlSerializationReadCallback);Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | @@ -17641,6 +19056,7 @@ summary | System.Xml.XPath;XPathExpression;get_Expression;();Argument[this];ReturnValue;taint;df-generated | | System.Xml.XPath;XPathItem;ValueAs;(System.Type);Argument[this];ReturnValue;taint;df-generated | | System.Xml.XPath;XPathItem;ValueAs;(System.Type,System.Xml.IXmlNamespaceResolver);Argument[1];ReturnValue;taint;df-generated | +| System.Xml.XPath;XPathItem;ValueAs;(System.Type,System.Xml.IXmlNamespaceResolver);Argument[this];Argument[1];taint;df-generated | | System.Xml.XPath;XPathItem;ValueAs;(System.Type,System.Xml.IXmlNamespaceResolver);Argument[this];ReturnValue;taint;df-generated | | System.Xml.XPath;XPathItem;ValueAs;(System.Type,System.Xml.IXmlNamespaceResolver);Argument[this];ReturnValue;value;df-generated | | System.Xml.XPath;XPathItem;get_TypedValue;();Argument[this];ReturnValue;taint;df-generated | @@ -17678,6 +19094,7 @@ summary | System.Xml.XPath;XPathNavigator;SelectSingleNode;(System.Xml.XPath.XPathExpression);Argument[0];ReturnValue;taint;df-generated | | System.Xml.XPath;XPathNavigator;ToString;();Argument[this];ReturnValue;taint;df-generated | | System.Xml.XPath;XPathNavigator;ValueAs;(System.Type,System.Xml.IXmlNamespaceResolver);Argument[1];ReturnValue;taint;df-generated | +| System.Xml.XPath;XPathNavigator;ValueAs;(System.Type,System.Xml.IXmlNamespaceResolver);Argument[this];Argument[1];taint;df-generated | | System.Xml.XPath;XPathNavigator;ValueAs;(System.Type,System.Xml.IXmlNamespaceResolver);Argument[this];ReturnValue;taint;df-generated | | System.Xml.XPath;XPathNavigator;ValueAs;(System.Type,System.Xml.IXmlNamespaceResolver);Argument[this];ReturnValue;value;df-generated | | System.Xml.XPath;XPathNavigator;WriteSubtree;(System.Xml.XmlWriter);Argument[this];Argument[0];taint;df-generated | @@ -17896,6 +19313,7 @@ summary | System.Xml;XmlDictionaryReader;GetAttribute;(System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString);Argument[this];ReturnValue;taint;df-generated | | System.Xml;XmlDictionaryReader;GetNonAtomizedNames;(System.String,System.String);Argument[this];ReturnValue;taint;df-generated | | System.Xml;XmlDictionaryReader;ReadContentAs;(System.Type,System.Xml.IXmlNamespaceResolver);Argument[1];ReturnValue;taint;df-generated | +| System.Xml;XmlDictionaryReader;ReadContentAs;(System.Type,System.Xml.IXmlNamespaceResolver);Argument[this];Argument[1];taint;df-generated | | System.Xml;XmlDictionaryReader;ReadContentAs;(System.Type,System.Xml.IXmlNamespaceResolver);Argument[this];ReturnValue;taint;df-generated | | System.Xml;XmlDictionaryReader;ReadContentAsQualifiedName;(System.String,System.String);Argument[this];ReturnValue;taint;df-generated | | System.Xml;XmlDictionaryReader;ReadContentAsString;();Argument[this];ReturnValue;taint;df-generated | @@ -18345,6 +19763,7 @@ summary | System.Xml;XmlReader;LookupNamespace;(System.String);Argument[0];ReturnValue;value;dfc-generated | | System.Xml;XmlReader;MoveToAttribute;(System.String);Argument[0];Argument[this];taint;df-generated | | System.Xml;XmlReader;ReadContentAs;(System.Type,System.Xml.IXmlNamespaceResolver);Argument[1];ReturnValue;taint;df-generated | +| System.Xml;XmlReader;ReadContentAs;(System.Type,System.Xml.IXmlNamespaceResolver);Argument[this];Argument[1];taint;df-generated | | System.Xml;XmlReader;ReadContentAs;(System.Type,System.Xml.IXmlNamespaceResolver);Argument[this];ReturnValue;taint;df-generated | | System.Xml;XmlReader;ReadContentAsAsync;(System.Type,System.Xml.IXmlNamespaceResolver);Argument[1];Argument[this];taint;df-generated | | System.Xml;XmlReader;ReadContentAsAsync;(System.Type,System.Xml.IXmlNamespaceResolver);Argument[1];ReturnValue;taint;df-generated | @@ -18357,8 +19776,10 @@ summary | System.Xml;XmlReader;ReadContentAsString;();Argument[this];ReturnValue;taint;df-generated | | System.Xml;XmlReader;ReadContentAsStringAsync;();Argument[this];ReturnValue;taint;df-generated | | System.Xml;XmlReader;ReadElementContentAs;(System.Type,System.Xml.IXmlNamespaceResolver);Argument[1];ReturnValue;taint;df-generated | +| System.Xml;XmlReader;ReadElementContentAs;(System.Type,System.Xml.IXmlNamespaceResolver);Argument[this];Argument[1];taint;df-generated | | System.Xml;XmlReader;ReadElementContentAs;(System.Type,System.Xml.IXmlNamespaceResolver);Argument[this];ReturnValue;taint;df-generated | | System.Xml;XmlReader;ReadElementContentAs;(System.Type,System.Xml.IXmlNamespaceResolver,System.String,System.String);Argument[1];ReturnValue;taint;df-generated | +| System.Xml;XmlReader;ReadElementContentAs;(System.Type,System.Xml.IXmlNamespaceResolver,System.String,System.String);Argument[this];Argument[1];taint;df-generated | | System.Xml;XmlReader;ReadElementContentAs;(System.Type,System.Xml.IXmlNamespaceResolver,System.String,System.String);Argument[this];ReturnValue;taint;df-generated | | System.Xml;XmlReader;ReadElementContentAsAsync;(System.Type,System.Xml.IXmlNamespaceResolver);Argument[1];Argument[this];taint;df-generated | | System.Xml;XmlReader;ReadElementContentAsAsync;(System.Type,System.Xml.IXmlNamespaceResolver);Argument[1];ReturnValue;taint;df-generated | @@ -18677,11 +20098,14 @@ summary | System;Action;BeginInvoke;(T1,T2,T3,System.AsyncCallback,System.Object);Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | | System;Action;BeginInvoke;(T1,T2,System.AsyncCallback,System.Object);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | | System;Action;BeginInvoke;(T,System.AsyncCallback,System.Object);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | -| System;AggregateException;AggregateException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);Argument[0];Argument[this];taint;df-generated | -| System;AggregateException;AggregateException;(System.String,System.Exception);Argument[1];Argument[this];taint;df-generated | +| System;AggregateException;AggregateException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);Argument[0].SyntheticField[System.Runtime.Serialization.SerializationInfo._values].Element;Argument[this].SyntheticField[System.AggregateException._innerExceptions];value;dfc-generated | +| System;AggregateException;AggregateException;(System.String,System.Exception);Argument[1];Argument[this].SyntheticField[System.AggregateException._innerExceptions].Element;value;dfc-generated | | System;AggregateException;GetBaseException;();Argument[this];ReturnValue;taint;df-generated | | System;AggregateException;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);Argument[this];Argument[0];taint;df-generated | +| System;AggregateException;Handle;(System.Func);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | System;AggregateException;Handle;(System.Func);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System;AggregateException;Handle;(System.Func);Argument[this].SyntheticField[System.AggregateException._innerExceptions].Element;Argument[0].Parameter[0];value;dfc-generated | +| System;AggregateException;Handle;(System.Func);Argument[this].SyntheticField[System.AggregateException._innerExceptions].Element;Argument[0].Parameter[0];value;hq-generated | | System;AggregateException;get_Message;();Argument[this].Property[System.Exception.Message];ReturnValue;value;dfc-generated | | System;AggregateException;get_Message;();Argument[this].SyntheticField[System.Exception._message];ReturnValue;value;dfc-generated | | System;AppDomain;ApplyPolicy;(System.String);Argument[0];ReturnValue;value;dfc-generated | @@ -18729,9 +20153,17 @@ summary | System;Array;Clear;(System.Array);Argument[0].WithoutElement;Argument[0];value;manual | | System;Array;Clear;(System.Array,System.Int32,System.Int32);Argument[0].WithoutElement;Argument[0];value;manual | | System;Array;Clone;();Argument[this].Element;ReturnValue.Element;value;manual | +| System;Array;ConvertAll;(TInput[],System.Converter);Argument[0].Element;Argument[1].Parameter[0];value;dfc-generated | +| System;Array;ConvertAll;(TInput[],System.Converter);Argument[0].Element;Argument[1].Parameter[0];value;hq-generated | +| System;Array;ConvertAll;(TInput[],System.Converter);Argument[1].ReturnValue;ReturnValue.Element;value;dfc-generated | +| System;Array;ConvertAll;(TInput[],System.Converter);Argument[1].ReturnValue;ReturnValue.Element;value;hq-generated | +| System;Array;ConvertAll;(TInput[],System.Converter);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System;Array;ConvertAll;(TInput[],System.Converter);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | System;Array;CopyTo;(System.Array,System.Int32);Argument[this].Element;Argument[0].Element;value;manual | | System;Array;CopyTo;(System.Array,System.Int64);Argument[this].Element;Argument[0].Element;value;manual | +| System;Array;Exists;(T[],System.Predicate);Argument[0].Element;Argument[1].Parameter[0];value;dfc-generated | +| System;Array;Exists;(T[],System.Predicate);Argument[0].Element;Argument[1].Parameter[0];value;hq-generated | +| System;Array;Exists;(T[],System.Predicate);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System;Array;Exists;(T[],System.Predicate);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | System;Array;Fill;(T[],T);Argument[1];Argument[0].Element;value;dfc-generated | | System;Array;Fill;(T[],T,System.Int32,System.Int32);Argument[1];Argument[0].Element;value;dfc-generated | @@ -18741,15 +20173,36 @@ summary | System;Array;FindAll;(T[],System.Predicate);Argument[0].Element;Argument[1].Parameter[0];value;manual | | System;Array;FindAll;(T[],System.Predicate);Argument[0].Element;ReturnValue;value;manual | | System;Array;FindAll;(T[],System.Predicate);Argument[1];Argument[1].Parameter[delegate-self];value;manual | +| System;Array;FindIndex;(T[],System.Int32,System.Int32,System.Predicate);Argument[0].Element;Argument[3].Parameter[0];value;dfc-generated | +| System;Array;FindIndex;(T[],System.Int32,System.Int32,System.Predicate);Argument[0].Element;Argument[3].Parameter[0];value;hq-generated | +| System;Array;FindIndex;(T[],System.Int32,System.Int32,System.Predicate);Argument[3];Argument[3].Parameter[delegate-self];value;dfc-generated | | System;Array;FindIndex;(T[],System.Int32,System.Int32,System.Predicate);Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| System;Array;FindIndex;(T[],System.Int32,System.Predicate);Argument[0].Element;Argument[2].Parameter[0];value;dfc-generated | +| System;Array;FindIndex;(T[],System.Int32,System.Predicate);Argument[0].Element;Argument[2].Parameter[0];value;hq-generated | +| System;Array;FindIndex;(T[],System.Int32,System.Predicate);Argument[2];Argument[2].Parameter[delegate-self];value;dfc-generated | | System;Array;FindIndex;(T[],System.Int32,System.Predicate);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| System;Array;FindIndex;(T[],System.Predicate);Argument[0].Element;Argument[1].Parameter[0];value;dfc-generated | +| System;Array;FindIndex;(T[],System.Predicate);Argument[0].Element;Argument[1].Parameter[0];value;hq-generated | +| System;Array;FindIndex;(T[],System.Predicate);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System;Array;FindIndex;(T[],System.Predicate);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | System;Array;FindLast;(T[],System.Predicate);Argument[0].Element;Argument[1].Parameter[0];value;manual | | System;Array;FindLast;(T[],System.Predicate);Argument[0].Element;ReturnValue;value;manual | | System;Array;FindLast;(T[],System.Predicate);Argument[1];Argument[1].Parameter[delegate-self];value;manual | +| System;Array;FindLastIndex;(T[],System.Int32,System.Int32,System.Predicate);Argument[0].Element;Argument[3].Parameter[0];value;dfc-generated | +| System;Array;FindLastIndex;(T[],System.Int32,System.Int32,System.Predicate);Argument[0].Element;Argument[3].Parameter[0];value;hq-generated | +| System;Array;FindLastIndex;(T[],System.Int32,System.Int32,System.Predicate);Argument[3];Argument[3].Parameter[delegate-self];value;dfc-generated | | System;Array;FindLastIndex;(T[],System.Int32,System.Int32,System.Predicate);Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| System;Array;FindLastIndex;(T[],System.Int32,System.Predicate);Argument[0].Element;Argument[2].Parameter[0];value;dfc-generated | +| System;Array;FindLastIndex;(T[],System.Int32,System.Predicate);Argument[0].Element;Argument[2].Parameter[0];value;hq-generated | +| System;Array;FindLastIndex;(T[],System.Int32,System.Predicate);Argument[2];Argument[2].Parameter[delegate-self];value;dfc-generated | | System;Array;FindLastIndex;(T[],System.Int32,System.Predicate);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| System;Array;FindLastIndex;(T[],System.Predicate);Argument[0].Element;Argument[1].Parameter[0];value;dfc-generated | +| System;Array;FindLastIndex;(T[],System.Predicate);Argument[0].Element;Argument[1].Parameter[0];value;hq-generated | +| System;Array;FindLastIndex;(T[],System.Predicate);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System;Array;FindLastIndex;(T[],System.Predicate);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System;Array;ForEach;(T[],System.Action);Argument[0].Element;Argument[1].Parameter[0];value;dfc-generated | +| System;Array;ForEach;(T[],System.Action);Argument[0].Element;Argument[1].Parameter[0];value;hq-generated | +| System;Array;ForEach;(T[],System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System;Array;ForEach;(T[],System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | System;Array;GetEnumerator;();Argument[this].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | | System;Array;Insert;(System.Int32,System.Object);Argument[1];Argument[this].Element;value;manual | @@ -18759,6 +20212,9 @@ summary | System;Array;Reverse;(T[]);Argument[0].Element;ReturnValue.Element;value;manual | | System;Array;Reverse;(T[],System.Int32,System.Int32);Argument[0].Element;ReturnValue.Element;value;manual | | System;Array;Sort;(T[],System.Comparison);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System;Array;TrueForAll;(T[],System.Predicate);Argument[0].Element;Argument[1].Parameter[0];value;dfc-generated | +| System;Array;TrueForAll;(T[],System.Predicate);Argument[0].Element;Argument[1].Parameter[0];value;hq-generated | +| System;Array;TrueForAll;(T[],System.Predicate);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System;Array;TrueForAll;(T[],System.Predicate);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | System;Array;get_Item;(System.Int32);Argument[this].Element;ReturnValue;value;manual | | System;Array;get_SyncRoot;();Argument[this];ReturnValue;value;dfc-generated | @@ -19313,6 +20769,7 @@ summary | System;Half;MinNumber;(System.Half,System.Half);Argument[1];ReturnValue;value;dfc-generated | | System;Half;ToString;(System.IFormatProvider);Argument[0];ReturnValue;taint;df-generated | | System;Half;ToString;(System.String,System.IFormatProvider);Argument[this];ReturnValue;taint;dfc-generated | +| System;HashCode;Add;(T,System.Collections.Generic.IEqualityComparer);Argument[0];Argument[1];taint;df-generated | | System;IAsyncDisposable;DisposeAsync;();Argument[this];ReturnValue;taint;df-generated | | System;IAsyncResult;get_AsyncState;();Argument[this];ReturnValue;taint;df-generated | | System;IAsyncResult;get_AsyncWaitHandle;();Argument[this];ReturnValue;taint;df-generated | @@ -19462,9 +20919,18 @@ summary | System;IntPtr;System.Numerics.IAdditionOperators.op_CheckedAddition;(System.IntPtr,System.IntPtr);Argument[1];ReturnValue;taint;dfc-generated | | System;IntPtr;ToString;(System.String,System.IFormatProvider);Argument[this];ReturnValue;taint;dfc-generated | | System;IntPtr;op_Addition;(System.IntPtr,System.Int32);Argument[0];ReturnValue;taint;dfc-generated | +| System;Lazy;Lazy;(System.Func,TMetadata);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | System;Lazy;Lazy;(System.Func,TMetadata);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System;Lazy;Lazy;(System.Func,TMetadata);Argument[1];Argument[this].SyntheticField[System.Lazy`2._metadata];value;dfc-generated | +| System;Lazy;Lazy;(System.Func,TMetadata);Argument[1];Argument[this].SyntheticField[System.Lazy`2._metadata];value;hq-generated | +| System;Lazy;Lazy;(System.Func,TMetadata,System.Boolean);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | System;Lazy;Lazy;(System.Func,TMetadata,System.Boolean);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System;Lazy;Lazy;(System.Func,TMetadata,System.Boolean);Argument[1];Argument[this].SyntheticField[System.Lazy`2._metadata];value;dfc-generated | +| System;Lazy;Lazy;(System.Func,TMetadata,System.Boolean);Argument[1];Argument[this].SyntheticField[System.Lazy`2._metadata];value;hq-generated | +| System;Lazy;Lazy;(System.Func,TMetadata,System.Threading.LazyThreadSafetyMode);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | System;Lazy;Lazy;(System.Func,TMetadata,System.Threading.LazyThreadSafetyMode);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System;Lazy;Lazy;(System.Func,TMetadata,System.Threading.LazyThreadSafetyMode);Argument[1];Argument[this].SyntheticField[System.Lazy`2._metadata];value;dfc-generated | +| System;Lazy;Lazy;(System.Func,TMetadata,System.Threading.LazyThreadSafetyMode);Argument[1];Argument[this].SyntheticField[System.Lazy`2._metadata];value;hq-generated | | System;Lazy;Lazy;(TMetadata);Argument[0];Argument[this].SyntheticField[System.Lazy`2._metadata];value;dfc-generated | | System;Lazy;Lazy;(TMetadata,System.Boolean);Argument[0];Argument[this].SyntheticField[System.Lazy`2._metadata];value;dfc-generated | | System;Lazy;Lazy;(TMetadata,System.Threading.LazyThreadSafetyMode);Argument[0];Argument[this].SyntheticField[System.Lazy`2._metadata];value;dfc-generated | @@ -19524,6 +20990,9 @@ summary | System;MemoryExtensions;AsSpan;(System.ArraySegment,System.Range);Argument[0].Property[System.ArraySegment`1.Array].Element;ReturnValue.Element;value;dfc-generated | | System;MemoryExtensions;AsSpan;(T[]);Argument[0].Element;ReturnValue.Element;value;dfc-generated | | System;MemoryExtensions;AsSpan;(T[],System.Int32,System.Int32);Argument[0].Element;ReturnValue.Element;value;dfc-generated | +| System;MemoryExtensions;CommonPrefixLength;(System.ReadOnlySpan,System.ReadOnlySpan,System.Collections.Generic.IEqualityComparer);Argument[0];Argument[2];taint;df-generated | +| System;MemoryExtensions;CommonPrefixLength;(System.ReadOnlySpan,System.ReadOnlySpan,System.Collections.Generic.IEqualityComparer);Argument[1];Argument[2];taint;df-generated | +| System;MemoryExtensions;CommonPrefixLength;(System.Span,System.ReadOnlySpan,System.Collections.Generic.IEqualityComparer);Argument[1];Argument[2];taint;df-generated | | System;MemoryExtensions;CopyTo;(T[],System.Memory);Argument[0].Element;Argument[1].Property[System.Memory`1.Span].Element;value;dfc-generated | | System;MemoryExtensions;CopyTo;(T[],System.Span);Argument[0].Element;Argument[1].Element;value;dfc-generated | | System;MemoryExtensions;EnumerateLines;(System.ReadOnlySpan);Argument[0];ReturnValue.SyntheticField[System.Text.SpanLineEnumerator._remaining];value;dfc-generated | @@ -19531,6 +21000,14 @@ summary | System;MemoryExtensions;Replace;(System.ReadOnlySpan,System.Span,T,T);Argument[0].Element;Argument[1].Element;value;manual | | System;MemoryExtensions;Replace;(System.ReadOnlySpan,System.Span,T,T);Argument[3];Argument[1].Element;value;manual | | System;MemoryExtensions;Replace;(System.Span,T,T);Argument[2];Argument[0].Element;value;manual | +| System;MemoryExtensions;SequenceEqual;(System.ReadOnlySpan,System.ReadOnlySpan,System.Collections.Generic.IEqualityComparer);Argument[0];Argument[2];taint;df-generated | +| System;MemoryExtensions;SequenceEqual;(System.ReadOnlySpan,System.ReadOnlySpan,System.Collections.Generic.IEqualityComparer);Argument[1];Argument[2];taint;df-generated | +| System;MemoryExtensions;SequenceEqual;(System.Span,System.ReadOnlySpan,System.Collections.Generic.IEqualityComparer);Argument[1];Argument[2];taint;df-generated | +| System;MemoryExtensions;Sort;(System.Span,System.Comparison);Argument[0].Element;Argument[1].Parameter[0];value;dfc-generated | +| System;MemoryExtensions;Sort;(System.Span,System.Comparison);Argument[0].Element;Argument[1].Parameter[0];value;hq-generated | +| System;MemoryExtensions;Sort;(System.Span,System.Comparison);Argument[0].Element;Argument[1].Parameter[1];value;dfc-generated | +| System;MemoryExtensions;Sort;(System.Span,System.Comparison);Argument[0].Element;Argument[1].Parameter[1];value;hq-generated | +| System;MemoryExtensions;Sort;(System.Span,System.Comparison);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System;MemoryExtensions;Sort;(System.Span,System.Comparison);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | System;MemoryExtensions;Sort;(System.Span,System.Span,System.Comparison);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | | System;MemoryExtensions;Trim;(System.Memory);Argument[0];ReturnValue;taint;df-generated | @@ -19757,6 +21234,9 @@ summary | System;String;Copy;(System.String);Argument[0];ReturnValue;value;manual | | System;String;Create;(System.IFormatProvider,System.Runtime.CompilerServices.DefaultInterpolatedStringHandler);Argument[1];ReturnValue;value;dfc-generated | | System;String;Create;(System.IFormatProvider,System.Span,System.Runtime.CompilerServices.DefaultInterpolatedStringHandler);Argument[2];ReturnValue;value;dfc-generated | +| System;String;Create;(System.Int32,TState,System.Buffers.SpanAction);Argument[1];Argument[2].Parameter[1];value;dfc-generated | +| System;String;Create;(System.Int32,TState,System.Buffers.SpanAction);Argument[1];Argument[2].Parameter[1];value;hq-generated | +| System;String;Create;(System.Int32,TState,System.Buffers.SpanAction);Argument[2];Argument[2].Parameter[delegate-self];value;dfc-generated | | System;String;Create;(System.Int32,TState,System.Buffers.SpanAction);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | | System;String;EnumerateRunes;();Argument[this];ReturnValue;taint;df-generated | | System;String;Format;(System.IFormatProvider,System.String,System.Object);Argument[1];ReturnValue;taint;manual | @@ -19862,6 +21342,11 @@ summary | System;String;TrimStart;(System.Char);Argument[this];ReturnValue;taint;manual | | System;String;TrimStart;(System.Char[]);Argument[this];ReturnValue;taint;manual | | System;String;TryParse;(System.String,System.IFormatProvider,System.String);Argument[0];ReturnValue;value;dfc-generated | +| System;StringComparer;Compare;(System.Object,System.Object);Argument[0];Argument[this];taint;df-generated | +| System;StringComparer;Compare;(System.Object,System.Object);Argument[1];Argument[this];taint;df-generated | +| System;StringComparer;Equals;(System.Object,System.Object);Argument[0];Argument[this];taint;df-generated | +| System;StringComparer;Equals;(System.Object,System.Object);Argument[1];Argument[this];taint;df-generated | +| System;StringComparer;GetHashCode;(System.Object);Argument[0];Argument[this];taint;df-generated | | System;StringNormalizationExtensions;Normalize;(System.String);Argument[0];ReturnValue;value;dfc-generated | | System;StringNormalizationExtensions;Normalize;(System.String,System.Text.NormalizationForm);Argument[0];ReturnValue;value;dfc-generated | | System;TimeOnly;ToString;(System.String,System.IFormatProvider);Argument[this];ReturnValue;taint;dfc-generated | @@ -20230,8 +21715,14 @@ summary | System;TupleExtensions;ToValueTuple;(System.Tuple);Argument[0];ReturnValue;taint;df-generated | | System;TupleExtensions;ToValueTuple;(System.Tuple);Argument[0];ReturnValue;taint;df-generated | | System;TupleExtensions;ToValueTuple;(System.Tuple);Argument[0].Property[System.Tuple`1.Item1];ReturnValue.Field[System.ValueTuple`1.Item1];value;dfc-generated | +| System;Type;FindInterfaces;(System.Reflection.TypeFilter,System.Object);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | System;Type;FindInterfaces;(System.Reflection.TypeFilter,System.Object);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System;Type;FindInterfaces;(System.Reflection.TypeFilter,System.Object);Argument[1];Argument[0].Parameter[1];value;dfc-generated | +| System;Type;FindInterfaces;(System.Reflection.TypeFilter,System.Object);Argument[1];Argument[0].Parameter[1];value;hq-generated | +| System;Type;FindMembers;(System.Reflection.MemberTypes,System.Reflection.BindingFlags,System.Reflection.MemberFilter,System.Object);Argument[2];Argument[2].Parameter[delegate-self];value;dfc-generated | | System;Type;FindMembers;(System.Reflection.MemberTypes,System.Reflection.BindingFlags,System.Reflection.MemberFilter,System.Object);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| System;Type;FindMembers;(System.Reflection.MemberTypes,System.Reflection.BindingFlags,System.Reflection.MemberFilter,System.Object);Argument[3];Argument[2].Parameter[1];value;dfc-generated | +| System;Type;FindMembers;(System.Reflection.MemberTypes,System.Reflection.BindingFlags,System.Reflection.MemberFilter,System.Object);Argument[3];Argument[2].Parameter[1];value;hq-generated | | System;Type;GetConstructorImpl;(System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[]);Argument[this];ReturnValue;taint;df-generated | | System;Type;GetElementType;();Argument[this];ReturnValue;taint;df-generated | | System;Type;GetEnumUnderlyingType;();Argument[this];ReturnValue;taint;df-generated | @@ -20598,6 +22089,7 @@ neutral | Microsoft.AspNetCore.Builder;WebApplication;StartAsync;(System.Threading.CancellationToken);summary;df-generated | | Microsoft.AspNetCore.Builder;WebApplication;StopAsync;(System.Threading.CancellationToken);summary;df-generated | | Microsoft.AspNetCore.Builder;WebApplication;get_Services;();summary;df-generated | +| Microsoft.AspNetCore.Builder;WebApplicationBuilder;ConfigureContainer;(Microsoft.Extensions.DependencyInjection.IServiceProviderFactory,System.Action);summary;df-generated | | Microsoft.AspNetCore.Builder;WebApplicationBuilder;get_Configuration;();summary;df-generated | | Microsoft.AspNetCore.Components.Authorization;CascadingAuthenticationState;Dispose;();summary;df-generated | | Microsoft.AspNetCore.Components.Forms;DataAnnotationsValidator;Dispose;();summary;df-generated | @@ -20863,6 +22355,7 @@ neutral | Microsoft.Extensions.Caching.Distributed;MemoryDistributedCache;SetAsync;(System.String,System.Byte[],Microsoft.Extensions.Caching.Distributed.DistributedCacheEntryOptions,System.Threading.CancellationToken);summary;df-generated | | Microsoft.Extensions.Caching.Memory;CacheExtensions;Get;(Microsoft.Extensions.Caching.Memory.IMemoryCache,System.Object);summary;df-generated | | Microsoft.Extensions.Caching.Memory;CacheExtensions;Get;(Microsoft.Extensions.Caching.Memory.IMemoryCache,System.Object);summary;df-generated | +| Microsoft.Extensions.Caching.Memory;CacheExtensions;GetOrCreateAsync;(Microsoft.Extensions.Caching.Memory.IMemoryCache,System.Object,System.Func>);summary;df-generated | | Microsoft.Extensions.Caching.Memory;CacheExtensions;TryGetValue;(Microsoft.Extensions.Caching.Memory.IMemoryCache,System.Object,TItem);summary;df-generated | | Microsoft.Extensions.Caching.Memory;ICacheEntry;get_Key;();summary;df-generated | | Microsoft.Extensions.Caching.Memory;IMemoryCache;GetCurrentStatistics;();summary;df-generated | @@ -20910,9 +22403,7 @@ neutral | Microsoft.Extensions.Configuration.Xml;XmlConfigurationProvider;Load;(System.IO.Stream);summary;df-generated | | Microsoft.Extensions.Configuration.Xml;XmlConfigurationProvider;XmlConfigurationProvider;(Microsoft.Extensions.Configuration.Xml.XmlConfigurationSource);summary;df-generated | | Microsoft.Extensions.Configuration.Xml;XmlConfigurationSource;Build;(Microsoft.Extensions.Configuration.IConfigurationBuilder);summary;df-generated | -| Microsoft.Extensions.Configuration.Xml;XmlDocumentDecryptor;DecryptDocumentAndCreateXmlReader;(System.Xml.XmlDocument);summary;df-generated | | Microsoft.Extensions.Configuration.Xml;XmlStreamConfigurationProvider;Load;(System.IO.Stream);summary;df-generated | -| Microsoft.Extensions.Configuration.Xml;XmlStreamConfigurationProvider;Read;(System.IO.Stream,Microsoft.Extensions.Configuration.Xml.XmlDocumentDecryptor);summary;df-generated | | Microsoft.Extensions.Configuration.Xml;XmlStreamConfigurationProvider;XmlStreamConfigurationProvider;(Microsoft.Extensions.Configuration.Xml.XmlStreamConfigurationSource);summary;df-generated | | Microsoft.Extensions.Configuration.Xml;XmlStreamConfigurationSource;Build;(Microsoft.Extensions.Configuration.IConfigurationBuilder);summary;df-generated | | Microsoft.Extensions.Configuration;ChainedConfigurationProvider;Dispose;();summary;df-generated | @@ -20921,7 +22412,10 @@ neutral | Microsoft.Extensions.Configuration;ChainedConfigurationProvider;TryGet;(System.String,System.String);summary;df-generated | | Microsoft.Extensions.Configuration;ChainedConfigurationSource;Build;(Microsoft.Extensions.Configuration.IConfigurationBuilder);summary;df-generated | | Microsoft.Extensions.Configuration;ConfigurationBinder;Bind;(Microsoft.Extensions.Configuration.IConfiguration,System.Object);summary;df-generated | +| Microsoft.Extensions.Configuration;ConfigurationBinder;Bind;(Microsoft.Extensions.Configuration.IConfiguration,System.Object,System.Action);summary;df-generated | | Microsoft.Extensions.Configuration;ConfigurationBinder;Bind;(Microsoft.Extensions.Configuration.IConfiguration,System.String,System.Object);summary;df-generated | +| Microsoft.Extensions.Configuration;ConfigurationBinder;Get;(Microsoft.Extensions.Configuration.IConfiguration,System.Type,System.Action);summary;df-generated | +| Microsoft.Extensions.Configuration;ConfigurationBinder;Get;(Microsoft.Extensions.Configuration.IConfiguration,System.Action);summary;df-generated | | Microsoft.Extensions.Configuration;ConfigurationBinder;GetValue;(Microsoft.Extensions.Configuration.IConfiguration,System.Type,System.String);summary;df-generated | | Microsoft.Extensions.Configuration;ConfigurationBinder;GetValue;(Microsoft.Extensions.Configuration.IConfiguration,System.String);summary;df-generated | | Microsoft.Extensions.Configuration;ConfigurationBuilder;get_Sources;();summary;df-generated | @@ -20990,30 +22484,42 @@ neutral | Microsoft.Extensions.Configuration;StreamConfigurationProvider;get_Source;();summary;df-generated | | Microsoft.Extensions.Configuration;StreamConfigurationSource;Build;(Microsoft.Extensions.Configuration.IConfigurationBuilder);summary;df-generated | | Microsoft.Extensions.DependencyInjection.Extensions;ServiceCollectionDescriptorExtensions;TryAddKeyedScoped;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Object);summary;df-generated | +| Microsoft.Extensions.DependencyInjection.Extensions;ServiceCollectionDescriptorExtensions;TryAddKeyedScoped;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Object,System.Func);summary;df-generated | | Microsoft.Extensions.DependencyInjection.Extensions;ServiceCollectionDescriptorExtensions;TryAddKeyedScoped;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Object,System.Type);summary;df-generated | | Microsoft.Extensions.DependencyInjection.Extensions;ServiceCollectionDescriptorExtensions;TryAddKeyedScoped;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Object);summary;df-generated | | Microsoft.Extensions.DependencyInjection.Extensions;ServiceCollectionDescriptorExtensions;TryAddKeyedScoped;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Object);summary;df-generated | +| Microsoft.Extensions.DependencyInjection.Extensions;ServiceCollectionDescriptorExtensions;TryAddKeyedScoped;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Object,System.Func);summary;df-generated | | Microsoft.Extensions.DependencyInjection.Extensions;ServiceCollectionDescriptorExtensions;TryAddKeyedSingleton;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Object);summary;df-generated | +| Microsoft.Extensions.DependencyInjection.Extensions;ServiceCollectionDescriptorExtensions;TryAddKeyedSingleton;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Object,System.Func);summary;df-generated | | Microsoft.Extensions.DependencyInjection.Extensions;ServiceCollectionDescriptorExtensions;TryAddKeyedSingleton;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Object,System.Type);summary;df-generated | | Microsoft.Extensions.DependencyInjection.Extensions;ServiceCollectionDescriptorExtensions;TryAddKeyedSingleton;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Object);summary;df-generated | | Microsoft.Extensions.DependencyInjection.Extensions;ServiceCollectionDescriptorExtensions;TryAddKeyedSingleton;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Object);summary;df-generated | +| Microsoft.Extensions.DependencyInjection.Extensions;ServiceCollectionDescriptorExtensions;TryAddKeyedSingleton;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Object,System.Func);summary;df-generated | | Microsoft.Extensions.DependencyInjection.Extensions;ServiceCollectionDescriptorExtensions;TryAddKeyedTransient;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Object);summary;df-generated | +| Microsoft.Extensions.DependencyInjection.Extensions;ServiceCollectionDescriptorExtensions;TryAddKeyedTransient;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Object,System.Func);summary;df-generated | | Microsoft.Extensions.DependencyInjection.Extensions;ServiceCollectionDescriptorExtensions;TryAddKeyedTransient;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Object,System.Type);summary;df-generated | | Microsoft.Extensions.DependencyInjection.Extensions;ServiceCollectionDescriptorExtensions;TryAddKeyedTransient;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Object);summary;df-generated | | Microsoft.Extensions.DependencyInjection.Extensions;ServiceCollectionDescriptorExtensions;TryAddKeyedTransient;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Object);summary;df-generated | +| Microsoft.Extensions.DependencyInjection.Extensions;ServiceCollectionDescriptorExtensions;TryAddKeyedTransient;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Object,System.Func);summary;df-generated | | Microsoft.Extensions.DependencyInjection.Extensions;ServiceCollectionDescriptorExtensions;TryAddScoped;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type);summary;df-generated | +| Microsoft.Extensions.DependencyInjection.Extensions;ServiceCollectionDescriptorExtensions;TryAddScoped;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Func);summary;df-generated | | Microsoft.Extensions.DependencyInjection.Extensions;ServiceCollectionDescriptorExtensions;TryAddScoped;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Type);summary;df-generated | | Microsoft.Extensions.DependencyInjection.Extensions;ServiceCollectionDescriptorExtensions;TryAddScoped;(Microsoft.Extensions.DependencyInjection.IServiceCollection);summary;df-generated | | Microsoft.Extensions.DependencyInjection.Extensions;ServiceCollectionDescriptorExtensions;TryAddScoped;(Microsoft.Extensions.DependencyInjection.IServiceCollection);summary;df-generated | +| Microsoft.Extensions.DependencyInjection.Extensions;ServiceCollectionDescriptorExtensions;TryAddScoped;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Func);summary;df-generated | | Microsoft.Extensions.DependencyInjection.Extensions;ServiceCollectionDescriptorExtensions;TryAddSingleton;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type);summary;df-generated | +| Microsoft.Extensions.DependencyInjection.Extensions;ServiceCollectionDescriptorExtensions;TryAddSingleton;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Func);summary;df-generated | | Microsoft.Extensions.DependencyInjection.Extensions;ServiceCollectionDescriptorExtensions;TryAddSingleton;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Type);summary;df-generated | | Microsoft.Extensions.DependencyInjection.Extensions;ServiceCollectionDescriptorExtensions;TryAddSingleton;(Microsoft.Extensions.DependencyInjection.IServiceCollection);summary;df-generated | | Microsoft.Extensions.DependencyInjection.Extensions;ServiceCollectionDescriptorExtensions;TryAddSingleton;(Microsoft.Extensions.DependencyInjection.IServiceCollection);summary;df-generated | +| Microsoft.Extensions.DependencyInjection.Extensions;ServiceCollectionDescriptorExtensions;TryAddSingleton;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Func);summary;df-generated | | Microsoft.Extensions.DependencyInjection.Extensions;ServiceCollectionDescriptorExtensions;TryAddSingleton;(Microsoft.Extensions.DependencyInjection.IServiceCollection,TService);summary;df-generated | | Microsoft.Extensions.DependencyInjection.Extensions;ServiceCollectionDescriptorExtensions;TryAddTransient;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type);summary;df-generated | +| Microsoft.Extensions.DependencyInjection.Extensions;ServiceCollectionDescriptorExtensions;TryAddTransient;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Func);summary;df-generated | | Microsoft.Extensions.DependencyInjection.Extensions;ServiceCollectionDescriptorExtensions;TryAddTransient;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Type);summary;df-generated | | Microsoft.Extensions.DependencyInjection.Extensions;ServiceCollectionDescriptorExtensions;TryAddTransient;(Microsoft.Extensions.DependencyInjection.IServiceCollection);summary;df-generated | | Microsoft.Extensions.DependencyInjection.Extensions;ServiceCollectionDescriptorExtensions;TryAddTransient;(Microsoft.Extensions.DependencyInjection.IServiceCollection);summary;df-generated | +| Microsoft.Extensions.DependencyInjection.Extensions;ServiceCollectionDescriptorExtensions;TryAddTransient;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Func);summary;df-generated | | Microsoft.Extensions.DependencyInjection;ActivatorUtilities;CreateFactory;(System.Type,System.Type[]);summary;df-generated | | Microsoft.Extensions.DependencyInjection;ActivatorUtilities;CreateFactory;(System.Type[]);summary;df-generated | | Microsoft.Extensions.DependencyInjection;ActivatorUtilities;CreateInstance;(System.IServiceProvider,System.Type,System.Object[]);summary;df-generated | @@ -21023,6 +22529,20 @@ neutral | Microsoft.Extensions.DependencyInjection;DefaultServiceProviderFactory;CreateServiceProvider;(Microsoft.Extensions.DependencyInjection.IServiceCollection);summary;df-generated | | Microsoft.Extensions.DependencyInjection;FromKeyedServicesAttribute;FromKeyedServicesAttribute;(System.Object);summary;df-generated | | Microsoft.Extensions.DependencyInjection;FromKeyedServicesAttribute;get_Key;();summary;df-generated | +| Microsoft.Extensions.DependencyInjection;HttpClientFactoryServiceCollectionExtensions;AddHttpClient;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.String,System.Action);summary;df-generated | +| Microsoft.Extensions.DependencyInjection;HttpClientFactoryServiceCollectionExtensions;AddHttpClient;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.String,System.Action);summary;df-generated | +| Microsoft.Extensions.DependencyInjection;HttpClientFactoryServiceCollectionExtensions;AddHttpClient;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action);summary;df-generated | +| Microsoft.Extensions.DependencyInjection;HttpClientFactoryServiceCollectionExtensions;AddHttpClient;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action);summary;df-generated | +| Microsoft.Extensions.DependencyInjection;HttpClientFactoryServiceCollectionExtensions;AddHttpClient;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Func);summary;df-generated | +| Microsoft.Extensions.DependencyInjection;HttpClientFactoryServiceCollectionExtensions;AddHttpClient;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Func);summary;df-generated | +| Microsoft.Extensions.DependencyInjection;HttpClientFactoryServiceCollectionExtensions;AddHttpClient;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.String,System.Action);summary;df-generated | +| Microsoft.Extensions.DependencyInjection;HttpClientFactoryServiceCollectionExtensions;AddHttpClient;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.String,System.Action);summary;df-generated | +| Microsoft.Extensions.DependencyInjection;HttpClientFactoryServiceCollectionExtensions;AddHttpClient;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.String,System.Func);summary;df-generated | +| Microsoft.Extensions.DependencyInjection;HttpClientFactoryServiceCollectionExtensions;AddHttpClient;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.String,System.Func);summary;df-generated | +| Microsoft.Extensions.DependencyInjection;HttpClientFactoryServiceCollectionExtensions;AddHttpClient;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action);summary;df-generated | +| Microsoft.Extensions.DependencyInjection;HttpClientFactoryServiceCollectionExtensions;AddHttpClient;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action);summary;df-generated | +| Microsoft.Extensions.DependencyInjection;HttpClientFactoryServiceCollectionExtensions;AddHttpClient;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.String,System.Action);summary;df-generated | +| Microsoft.Extensions.DependencyInjection;HttpClientFactoryServiceCollectionExtensions;AddHttpClient;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.String,System.Action);summary;df-generated | | Microsoft.Extensions.DependencyInjection;IHttpClientBuilder;get_Name;();summary;df-generated | | Microsoft.Extensions.DependencyInjection;IHttpClientBuilder;get_Services;();summary;df-generated | | Microsoft.Extensions.DependencyInjection;IKeyedServiceProvider;GetKeyedService;(System.Type,System.Object);summary;df-generated | @@ -21203,6 +22723,7 @@ neutral | Microsoft.Extensions.FileSystemGlobbing.Internal.PathSegments;WildcardPathSegment;get_CanProduceStem;();summary;df-generated | | Microsoft.Extensions.FileSystemGlobbing.Internal.PathSegments;WildcardPathSegment;get_Contains;();summary;df-generated | | Microsoft.Extensions.FileSystemGlobbing.Internal.PathSegments;WildcardPathSegment;get_EndsWith;();summary;df-generated | +| Microsoft.Extensions.FileSystemGlobbing.Internal.PatternContexts;PatternContext;Declare;(System.Action);summary;df-generated | | Microsoft.Extensions.FileSystemGlobbing.Internal.PatternContexts;PatternContext;IsStackEmpty;();summary;df-generated | | Microsoft.Extensions.FileSystemGlobbing.Internal.PatternContexts;PatternContext;PopDirectory;();summary;df-generated | | Microsoft.Extensions.FileSystemGlobbing.Internal.PatternContexts;PatternContext;PushDirectory;(Microsoft.Extensions.FileSystemGlobbing.Abstractions.DirectoryInfoBase);summary;df-generated | @@ -21217,6 +22738,7 @@ neutral | Microsoft.Extensions.FileSystemGlobbing.Internal.PatternContexts;PatternContextLinear;get_Pattern;();summary;df-generated | | Microsoft.Extensions.FileSystemGlobbing.Internal.PatternContexts;PatternContextLinearExclude;PatternContextLinearExclude;(Microsoft.Extensions.FileSystemGlobbing.Internal.ILinearPattern);summary;df-generated | | Microsoft.Extensions.FileSystemGlobbing.Internal.PatternContexts;PatternContextLinearExclude;Test;(Microsoft.Extensions.FileSystemGlobbing.Abstractions.DirectoryInfoBase);summary;df-generated | +| Microsoft.Extensions.FileSystemGlobbing.Internal.PatternContexts;PatternContextLinearInclude;Declare;(System.Action);summary;df-generated | | Microsoft.Extensions.FileSystemGlobbing.Internal.PatternContexts;PatternContextLinearInclude;PatternContextLinearInclude;(Microsoft.Extensions.FileSystemGlobbing.Internal.ILinearPattern);summary;df-generated | | Microsoft.Extensions.FileSystemGlobbing.Internal.PatternContexts;PatternContextLinearInclude;Test;(Microsoft.Extensions.FileSystemGlobbing.Abstractions.DirectoryInfoBase);summary;df-generated | | Microsoft.Extensions.FileSystemGlobbing.Internal.PatternContexts;PatternContextRagged+FrameData;get_StemItems;();summary;df-generated | @@ -21231,6 +22753,7 @@ neutral | Microsoft.Extensions.FileSystemGlobbing.Internal.PatternContexts;PatternContextRagged;get_Pattern;();summary;df-generated | | Microsoft.Extensions.FileSystemGlobbing.Internal.PatternContexts;PatternContextRaggedExclude;PatternContextRaggedExclude;(Microsoft.Extensions.FileSystemGlobbing.Internal.IRaggedPattern);summary;df-generated | | Microsoft.Extensions.FileSystemGlobbing.Internal.PatternContexts;PatternContextRaggedExclude;Test;(Microsoft.Extensions.FileSystemGlobbing.Abstractions.DirectoryInfoBase);summary;df-generated | +| Microsoft.Extensions.FileSystemGlobbing.Internal.PatternContexts;PatternContextRaggedInclude;Declare;(System.Action);summary;df-generated | | Microsoft.Extensions.FileSystemGlobbing.Internal.PatternContexts;PatternContextRaggedInclude;PatternContextRaggedInclude;(Microsoft.Extensions.FileSystemGlobbing.Internal.IRaggedPattern);summary;df-generated | | Microsoft.Extensions.FileSystemGlobbing.Internal.PatternContexts;PatternContextRaggedInclude;Test;(Microsoft.Extensions.FileSystemGlobbing.Abstractions.DirectoryInfoBase);summary;df-generated | | Microsoft.Extensions.FileSystemGlobbing.Internal.Patterns;PatternBuilder;Build;(System.String);summary;df-generated | @@ -21241,6 +22764,7 @@ neutral | Microsoft.Extensions.FileSystemGlobbing.Internal;IPathSegment;get_CanProduceStem;();summary;df-generated | | Microsoft.Extensions.FileSystemGlobbing.Internal;IPattern;CreatePatternContextForExclude;();summary;df-generated | | Microsoft.Extensions.FileSystemGlobbing.Internal;IPattern;CreatePatternContextForInclude;();summary;df-generated | +| Microsoft.Extensions.FileSystemGlobbing.Internal;IPatternContext;Declare;(System.Action);summary;df-generated | | Microsoft.Extensions.FileSystemGlobbing.Internal;IPatternContext;PopDirectory;();summary;df-generated | | Microsoft.Extensions.FileSystemGlobbing.Internal;IPatternContext;PushDirectory;(Microsoft.Extensions.FileSystemGlobbing.Abstractions.DirectoryInfoBase);summary;df-generated | | Microsoft.Extensions.FileSystemGlobbing.Internal;IPatternContext;Test;(Microsoft.Extensions.FileSystemGlobbing.Abstractions.DirectoryInfoBase);summary;df-generated | @@ -21265,6 +22789,7 @@ neutral | Microsoft.Extensions.FileSystemGlobbing;Matcher;Matcher;(System.StringComparison);summary;df-generated | | Microsoft.Extensions.FileSystemGlobbing;MatcherExtensions;AddExcludePatterns;(Microsoft.Extensions.FileSystemGlobbing.Matcher,System.Collections.Generic.IEnumerable[]);summary;df-generated | | Microsoft.Extensions.FileSystemGlobbing;MatcherExtensions;AddIncludePatterns;(Microsoft.Extensions.FileSystemGlobbing.Matcher,System.Collections.Generic.IEnumerable[]);summary;df-generated | +| Microsoft.Extensions.FileSystemGlobbing;MatcherExtensions;GetResultsInFullPath;(Microsoft.Extensions.FileSystemGlobbing.Matcher,System.String);summary;df-generated | | Microsoft.Extensions.FileSystemGlobbing;MatcherExtensions;Match;(Microsoft.Extensions.FileSystemGlobbing.Matcher,System.Collections.Generic.IEnumerable);summary;df-generated | | Microsoft.Extensions.FileSystemGlobbing;MatcherExtensions;Match;(Microsoft.Extensions.FileSystemGlobbing.Matcher,System.String);summary;df-generated | | Microsoft.Extensions.FileSystemGlobbing;MatcherExtensions;Match;(Microsoft.Extensions.FileSystemGlobbing.Matcher,System.String,System.Collections.Generic.IEnumerable);summary;df-generated | @@ -21289,6 +22814,7 @@ neutral | Microsoft.Extensions.Hosting;HostAbortedException;HostAbortedException;(System.String);summary;df-generated | | Microsoft.Extensions.Hosting;HostAbortedException;HostAbortedException;(System.String,System.Exception);summary;df-generated | | Microsoft.Extensions.Hosting;HostApplicationBuilder;Build;();summary;df-generated | +| Microsoft.Extensions.Hosting;HostApplicationBuilder;ConfigureContainer;(Microsoft.Extensions.DependencyInjection.IServiceProviderFactory,System.Action);summary;df-generated | | Microsoft.Extensions.Hosting;HostApplicationBuilder;HostApplicationBuilder;(System.String[]);summary;df-generated | | Microsoft.Extensions.Hosting;HostApplicationBuilder;get_Configuration;();summary;df-generated | | Microsoft.Extensions.Hosting;HostBuilder;Build;();summary;df-generated | @@ -21311,11 +22837,13 @@ neutral | Microsoft.Extensions.Hosting;HostingEnvironmentExtensions;IsEnvironment;(Microsoft.Extensions.Hosting.IHostingEnvironment,System.String);summary;df-generated | | Microsoft.Extensions.Hosting;HostingEnvironmentExtensions;IsProduction;(Microsoft.Extensions.Hosting.IHostingEnvironment);summary;df-generated | | Microsoft.Extensions.Hosting;HostingEnvironmentExtensions;IsStaging;(Microsoft.Extensions.Hosting.IHostingEnvironment);summary;df-generated | +| Microsoft.Extensions.Hosting;HostingHostBuilderExtensions;RunConsoleAsync;(Microsoft.Extensions.Hosting.IHostBuilder,System.Action,System.Threading.CancellationToken);summary;df-generated | | Microsoft.Extensions.Hosting;HostingHostBuilderExtensions;RunConsoleAsync;(Microsoft.Extensions.Hosting.IHostBuilder,System.Threading.CancellationToken);summary;df-generated | | Microsoft.Extensions.Hosting;IApplicationLifetime;StopApplication;();summary;df-generated | | Microsoft.Extensions.Hosting;IHost;StartAsync;(System.Threading.CancellationToken);summary;df-generated | | Microsoft.Extensions.Hosting;IHost;StopAsync;(System.Threading.CancellationToken);summary;df-generated | | Microsoft.Extensions.Hosting;IHost;get_Services;();summary;df-generated | +| Microsoft.Extensions.Hosting;IHostApplicationBuilder;ConfigureContainer;(Microsoft.Extensions.DependencyInjection.IServiceProviderFactory,System.Action);summary;df-generated | | Microsoft.Extensions.Hosting;IHostApplicationBuilder;get_Configuration;();summary;df-generated | | Microsoft.Extensions.Hosting;IHostApplicationLifetime;StopApplication;();summary;df-generated | | Microsoft.Extensions.Hosting;IHostBuilder;Build;();summary;df-generated | @@ -21338,9 +22866,11 @@ neutral | Microsoft.Extensions.Http;HttpClientFactoryOptions;get_HttpMessageHandlerBuilderActions;();summary;df-generated | | Microsoft.Extensions.Http;HttpMessageHandlerBuilder;get_AdditionalHandlers;();summary;df-generated | | Microsoft.Extensions.Http;HttpMessageHandlerBuilder;get_Services;();summary;df-generated | +| Microsoft.Extensions.Http;IHttpMessageHandlerBuilderFilter;Configure;(System.Action);summary;df-generated | | Microsoft.Extensions.Http;ITypedHttpClientFactory;CreateClient;(System.Net.Http.HttpClient);summary;df-generated | | Microsoft.Extensions.Internal;ISystemClock;get_UtcNow;();summary;df-generated | | Microsoft.Extensions.Internal;SystemClock;get_UtcNow;();summary;df-generated | +| Microsoft.Extensions.Logging.Abstractions;LogEntry;LogEntry;(Microsoft.Extensions.Logging.LogLevel,System.String,Microsoft.Extensions.Logging.EventId,TState,System.Exception,System.Func);summary;df-generated | | Microsoft.Extensions.Logging.Abstractions;LogEntry;get_Category;();summary;df-generated | | Microsoft.Extensions.Logging.Abstractions;LogEntry;get_EventId;();summary;df-generated | | Microsoft.Extensions.Logging.Abstractions;LogEntry;get_Exception;();summary;df-generated | @@ -21419,6 +22949,7 @@ neutral | Microsoft.Extensions.Logging;LoggerExtensions;LogWarning;(Microsoft.Extensions.Logging.ILogger,System.Exception,System.String,System.Object[]);summary;df-generated | | Microsoft.Extensions.Logging;LoggerExtensions;LogWarning;(Microsoft.Extensions.Logging.ILogger,System.String,System.Object[]);summary;df-generated | | Microsoft.Extensions.Logging;LoggerFactory;CheckDisposed;();summary;df-generated | +| Microsoft.Extensions.Logging;LoggerFactory;Create;(System.Action);summary;df-generated | | Microsoft.Extensions.Logging;LoggerFactory;Dispose;();summary;df-generated | | Microsoft.Extensions.Logging;LoggerFactory;LoggerFactory;(System.Collections.Generic.IEnumerable);summary;df-generated | | Microsoft.Extensions.Logging;LoggerFactory;LoggerFactory;(System.Collections.Generic.IEnumerable,Microsoft.Extensions.Logging.LoggerFilterOptions);summary;df-generated | @@ -21426,6 +22957,7 @@ neutral | Microsoft.Extensions.Logging;LoggerFactory;LoggerFactory;(System.Collections.Generic.IEnumerable,Microsoft.Extensions.Options.IOptionsMonitor,Microsoft.Extensions.Options.IOptions);summary;df-generated | | Microsoft.Extensions.Logging;LoggerFactoryExtensions;CreateLogger;(Microsoft.Extensions.Logging.ILoggerFactory,System.Type);summary;df-generated | | Microsoft.Extensions.Logging;LoggerFactoryExtensions;CreateLogger;(Microsoft.Extensions.Logging.ILoggerFactory);summary;df-generated | +| Microsoft.Extensions.Logging;LoggerFilterRule;LoggerFilterRule;(System.String,System.String,System.Nullable,System.Func);summary;df-generated | | Microsoft.Extensions.Logging;LoggerFilterRule;get_CategoryName;();summary;df-generated | | Microsoft.Extensions.Logging;LoggerFilterRule;get_Filter;();summary;df-generated | | Microsoft.Extensions.Logging;LoggerFilterRule;get_LogLevel;();summary;df-generated | @@ -21463,6 +22995,7 @@ neutral | Microsoft.Extensions.Options;ConfigureFromConfigurationOptions;ConfigureFromConfigurationOptions;(Microsoft.Extensions.Configuration.IConfiguration);summary;df-generated | | Microsoft.Extensions.Options;ConfigureNamedOptions;Configure;(System.String,TOptions);summary;df-generated | | Microsoft.Extensions.Options;ConfigureNamedOptions;Configure;(TOptions);summary;df-generated | +| Microsoft.Extensions.Options;ConfigureNamedOptions;ConfigureNamedOptions;(System.String,TDep1,TDep2,TDep3,TDep4,TDep5,System.Action);summary;df-generated | | Microsoft.Extensions.Options;ConfigureNamedOptions;get_Action;();summary;df-generated | | Microsoft.Extensions.Options;ConfigureNamedOptions;get_Dependency1;();summary;df-generated | | Microsoft.Extensions.Options;ConfigureNamedOptions;get_Dependency2;();summary;df-generated | @@ -21472,6 +23005,7 @@ neutral | Microsoft.Extensions.Options;ConfigureNamedOptions;get_Name;();summary;df-generated | | Microsoft.Extensions.Options;ConfigureNamedOptions;Configure;(System.String,TOptions);summary;df-generated | | Microsoft.Extensions.Options;ConfigureNamedOptions;Configure;(TOptions);summary;df-generated | +| Microsoft.Extensions.Options;ConfigureNamedOptions;ConfigureNamedOptions;(System.String,TDep1,TDep2,TDep3,TDep4,System.Action);summary;df-generated | | Microsoft.Extensions.Options;ConfigureNamedOptions;get_Action;();summary;df-generated | | Microsoft.Extensions.Options;ConfigureNamedOptions;get_Dependency1;();summary;df-generated | | Microsoft.Extensions.Options;ConfigureNamedOptions;get_Dependency2;();summary;df-generated | @@ -21480,6 +23014,7 @@ neutral | Microsoft.Extensions.Options;ConfigureNamedOptions;get_Name;();summary;df-generated | | Microsoft.Extensions.Options;ConfigureNamedOptions;Configure;(System.String,TOptions);summary;df-generated | | Microsoft.Extensions.Options;ConfigureNamedOptions;Configure;(TOptions);summary;df-generated | +| Microsoft.Extensions.Options;ConfigureNamedOptions;ConfigureNamedOptions;(System.String,TDep1,TDep2,TDep3,System.Action);summary;df-generated | | Microsoft.Extensions.Options;ConfigureNamedOptions;get_Action;();summary;df-generated | | Microsoft.Extensions.Options;ConfigureNamedOptions;get_Dependency1;();summary;df-generated | | Microsoft.Extensions.Options;ConfigureNamedOptions;get_Dependency2;();summary;df-generated | @@ -21487,20 +23022,24 @@ neutral | Microsoft.Extensions.Options;ConfigureNamedOptions;get_Name;();summary;df-generated | | Microsoft.Extensions.Options;ConfigureNamedOptions;Configure;(System.String,TOptions);summary;df-generated | | Microsoft.Extensions.Options;ConfigureNamedOptions;Configure;(TOptions);summary;df-generated | +| Microsoft.Extensions.Options;ConfigureNamedOptions;ConfigureNamedOptions;(System.String,TDep1,TDep2,System.Action);summary;df-generated | | Microsoft.Extensions.Options;ConfigureNamedOptions;get_Action;();summary;df-generated | | Microsoft.Extensions.Options;ConfigureNamedOptions;get_Dependency1;();summary;df-generated | | Microsoft.Extensions.Options;ConfigureNamedOptions;get_Dependency2;();summary;df-generated | | Microsoft.Extensions.Options;ConfigureNamedOptions;get_Name;();summary;df-generated | | Microsoft.Extensions.Options;ConfigureNamedOptions;Configure;(System.String,TOptions);summary;df-generated | | Microsoft.Extensions.Options;ConfigureNamedOptions;Configure;(TOptions);summary;df-generated | +| Microsoft.Extensions.Options;ConfigureNamedOptions;ConfigureNamedOptions;(System.String,TDep,System.Action);summary;df-generated | | Microsoft.Extensions.Options;ConfigureNamedOptions;get_Action;();summary;df-generated | | Microsoft.Extensions.Options;ConfigureNamedOptions;get_Dependency;();summary;df-generated | | Microsoft.Extensions.Options;ConfigureNamedOptions;get_Name;();summary;df-generated | | Microsoft.Extensions.Options;ConfigureNamedOptions;Configure;(System.String,TOptions);summary;df-generated | | Microsoft.Extensions.Options;ConfigureNamedOptions;Configure;(TOptions);summary;df-generated | +| Microsoft.Extensions.Options;ConfigureNamedOptions;ConfigureNamedOptions;(System.String,System.Action);summary;df-generated | | Microsoft.Extensions.Options;ConfigureNamedOptions;get_Action;();summary;df-generated | | Microsoft.Extensions.Options;ConfigureNamedOptions;get_Name;();summary;df-generated | | Microsoft.Extensions.Options;ConfigureOptions;Configure;(TOptions);summary;df-generated | +| Microsoft.Extensions.Options;ConfigureOptions;ConfigureOptions;(System.Action);summary;df-generated | | Microsoft.Extensions.Options;ConfigureOptions;get_Action;();summary;df-generated | | Microsoft.Extensions.Options;DataAnnotationValidateOptions;DataAnnotationValidateOptions;(System.String);summary;df-generated | | Microsoft.Extensions.Options;DataAnnotationValidateOptions;Validate;(System.String,TOptions);summary;df-generated | @@ -21512,8 +23051,10 @@ neutral | Microsoft.Extensions.Options;IOptionsChangeTokenSource;get_Name;();summary;df-generated | | Microsoft.Extensions.Options;IOptionsFactory;Create;(System.String);summary;df-generated | | Microsoft.Extensions.Options;IOptionsMonitor;Get;(System.String);summary;df-generated | +| Microsoft.Extensions.Options;IOptionsMonitor;OnChange;(System.Action);summary;df-generated | | Microsoft.Extensions.Options;IOptionsMonitor;get_CurrentValue;();summary;df-generated | | Microsoft.Extensions.Options;IOptionsMonitorCache;Clear;();summary;df-generated | +| Microsoft.Extensions.Options;IOptionsMonitorCache;GetOrAdd;(System.String,System.Func);summary;df-generated | | Microsoft.Extensions.Options;IOptionsMonitorCache;TryAdd;(System.String,TOptions);summary;df-generated | | Microsoft.Extensions.Options;IOptionsMonitorCache;TryRemove;(System.String);summary;df-generated | | Microsoft.Extensions.Options;IOptionsSnapshot;Get;(System.String);summary;df-generated | @@ -21521,11 +23062,13 @@ neutral | Microsoft.Extensions.Options;IStartupValidator;Validate;();summary;df-generated | | Microsoft.Extensions.Options;IValidateOptions;Validate;(System.String,TOptions);summary;df-generated | | Microsoft.Extensions.Options;NamedConfigureFromConfigurationOptions;NamedConfigureFromConfigurationOptions;(System.String,Microsoft.Extensions.Configuration.IConfiguration);summary;df-generated | +| Microsoft.Extensions.Options;NamedConfigureFromConfigurationOptions;NamedConfigureFromConfigurationOptions;(System.String,Microsoft.Extensions.Configuration.IConfiguration,System.Action);summary;df-generated | | Microsoft.Extensions.Options;Options;Create;(TOptions);summary;df-generated | | Microsoft.Extensions.Options;OptionsBuilder;OptionsBuilder;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.String);summary;df-generated | | Microsoft.Extensions.Options;OptionsBuilder;get_Name;();summary;df-generated | | Microsoft.Extensions.Options;OptionsBuilder;get_Services;();summary;df-generated | | Microsoft.Extensions.Options;OptionsCache;Clear;();summary;df-generated | +| Microsoft.Extensions.Options;OptionsCache;GetOrAdd;(System.String,System.Func);summary;df-generated | | Microsoft.Extensions.Options;OptionsCache;TryAdd;(System.String,TOptions);summary;df-generated | | Microsoft.Extensions.Options;OptionsCache;TryRemove;(System.String);summary;df-generated | | Microsoft.Extensions.Options;OptionsFactory;Create;(System.String);summary;df-generated | @@ -21535,7 +23078,9 @@ neutral | Microsoft.Extensions.Options;OptionsManager;get_Value;();summary;df-generated | | Microsoft.Extensions.Options;OptionsMonitor;Dispose;();summary;df-generated | | Microsoft.Extensions.Options;OptionsMonitor;Get;(System.String);summary;df-generated | +| Microsoft.Extensions.Options;OptionsMonitor;OnChange;(System.Action);summary;df-generated | | Microsoft.Extensions.Options;OptionsMonitor;get_CurrentValue;();summary;df-generated | +| Microsoft.Extensions.Options;OptionsMonitorExtensions;OnChange;(Microsoft.Extensions.Options.IOptionsMonitor,System.Action);summary;df-generated | | Microsoft.Extensions.Options;OptionsValidationException;OptionsValidationException;(System.String,System.Type,System.Collections.Generic.IEnumerable);summary;df-generated | | Microsoft.Extensions.Options;OptionsValidationException;get_Failures;();summary;df-generated | | Microsoft.Extensions.Options;OptionsValidationException;get_OptionsName;();summary;df-generated | @@ -21543,7 +23088,7 @@ neutral | Microsoft.Extensions.Options;OptionsWrapper;OptionsWrapper;(TOptions);summary;df-generated | | Microsoft.Extensions.Options;OptionsWrapper;get_Value;();summary;df-generated | | Microsoft.Extensions.Options;PostConfigureOptions;PostConfigure;(System.String,TOptions);summary;df-generated | -| Microsoft.Extensions.Options;PostConfigureOptions;PostConfigure;(TOptions);summary;df-generated | +| Microsoft.Extensions.Options;PostConfigureOptions;PostConfigureOptions;(System.String,TDep1,TDep2,TDep3,TDep4,TDep5,System.Action);summary;df-generated | | Microsoft.Extensions.Options;PostConfigureOptions;get_Action;();summary;df-generated | | Microsoft.Extensions.Options;PostConfigureOptions;get_Dependency1;();summary;df-generated | | Microsoft.Extensions.Options;PostConfigureOptions;get_Dependency2;();summary;df-generated | @@ -21552,7 +23097,7 @@ neutral | Microsoft.Extensions.Options;PostConfigureOptions;get_Dependency5;();summary;df-generated | | Microsoft.Extensions.Options;PostConfigureOptions;get_Name;();summary;df-generated | | Microsoft.Extensions.Options;PostConfigureOptions;PostConfigure;(System.String,TOptions);summary;df-generated | -| Microsoft.Extensions.Options;PostConfigureOptions;PostConfigure;(TOptions);summary;df-generated | +| Microsoft.Extensions.Options;PostConfigureOptions;PostConfigureOptions;(System.String,TDep1,TDep2,TDep3,TDep4,System.Action);summary;df-generated | | Microsoft.Extensions.Options;PostConfigureOptions;get_Action;();summary;df-generated | | Microsoft.Extensions.Options;PostConfigureOptions;get_Dependency1;();summary;df-generated | | Microsoft.Extensions.Options;PostConfigureOptions;get_Dependency2;();summary;df-generated | @@ -21560,24 +23105,25 @@ neutral | Microsoft.Extensions.Options;PostConfigureOptions;get_Dependency4;();summary;df-generated | | Microsoft.Extensions.Options;PostConfigureOptions;get_Name;();summary;df-generated | | Microsoft.Extensions.Options;PostConfigureOptions;PostConfigure;(System.String,TOptions);summary;df-generated | -| Microsoft.Extensions.Options;PostConfigureOptions;PostConfigure;(TOptions);summary;df-generated | +| Microsoft.Extensions.Options;PostConfigureOptions;PostConfigureOptions;(System.String,TDep1,TDep2,TDep3,System.Action);summary;df-generated | | Microsoft.Extensions.Options;PostConfigureOptions;get_Action;();summary;df-generated | | Microsoft.Extensions.Options;PostConfigureOptions;get_Dependency1;();summary;df-generated | | Microsoft.Extensions.Options;PostConfigureOptions;get_Dependency2;();summary;df-generated | | Microsoft.Extensions.Options;PostConfigureOptions;get_Dependency3;();summary;df-generated | | Microsoft.Extensions.Options;PostConfigureOptions;get_Name;();summary;df-generated | | Microsoft.Extensions.Options;PostConfigureOptions;PostConfigure;(System.String,TOptions);summary;df-generated | -| Microsoft.Extensions.Options;PostConfigureOptions;PostConfigure;(TOptions);summary;df-generated | +| Microsoft.Extensions.Options;PostConfigureOptions;PostConfigureOptions;(System.String,TDep1,TDep2,System.Action);summary;df-generated | | Microsoft.Extensions.Options;PostConfigureOptions;get_Action;();summary;df-generated | | Microsoft.Extensions.Options;PostConfigureOptions;get_Dependency1;();summary;df-generated | | Microsoft.Extensions.Options;PostConfigureOptions;get_Dependency2;();summary;df-generated | | Microsoft.Extensions.Options;PostConfigureOptions;get_Name;();summary;df-generated | | Microsoft.Extensions.Options;PostConfigureOptions;PostConfigure;(System.String,TOptions);summary;df-generated | -| Microsoft.Extensions.Options;PostConfigureOptions;PostConfigure;(TOptions);summary;df-generated | +| Microsoft.Extensions.Options;PostConfigureOptions;PostConfigureOptions;(System.String,TDep,System.Action);summary;df-generated | | Microsoft.Extensions.Options;PostConfigureOptions;get_Action;();summary;df-generated | | Microsoft.Extensions.Options;PostConfigureOptions;get_Dependency;();summary;df-generated | | Microsoft.Extensions.Options;PostConfigureOptions;get_Name;();summary;df-generated | | Microsoft.Extensions.Options;PostConfigureOptions;PostConfigure;(System.String,TOptions);summary;df-generated | +| Microsoft.Extensions.Options;PostConfigureOptions;PostConfigureOptions;(System.String,System.Action);summary;df-generated | | Microsoft.Extensions.Options;PostConfigureOptions;get_Action;();summary;df-generated | | Microsoft.Extensions.Options;PostConfigureOptions;get_Name;();summary;df-generated | | Microsoft.Extensions.Options;ValidateEnumeratedItemsAttribute;ValidateEnumeratedItemsAttribute;(System.Type);summary;df-generated | @@ -21585,6 +23131,7 @@ neutral | Microsoft.Extensions.Options;ValidateObjectMembersAttribute;ValidateObjectMembersAttribute;(System.Type);summary;df-generated | | Microsoft.Extensions.Options;ValidateObjectMembersAttribute;get_Validator;();summary;df-generated | | Microsoft.Extensions.Options;ValidateOptions;Validate;(System.String,TOptions);summary;df-generated | +| Microsoft.Extensions.Options;ValidateOptions;ValidateOptions;(System.String,TDep1,TDep2,TDep3,TDep4,TDep5,System.Func,System.String);summary;df-generated | | Microsoft.Extensions.Options;ValidateOptions;get_Dependency1;();summary;df-generated | | Microsoft.Extensions.Options;ValidateOptions;get_Dependency2;();summary;df-generated | | Microsoft.Extensions.Options;ValidateOptions;get_Dependency3;();summary;df-generated | @@ -21594,6 +23141,7 @@ neutral | Microsoft.Extensions.Options;ValidateOptions;get_Name;();summary;df-generated | | Microsoft.Extensions.Options;ValidateOptions;get_Validation;();summary;df-generated | | Microsoft.Extensions.Options;ValidateOptions;Validate;(System.String,TOptions);summary;df-generated | +| Microsoft.Extensions.Options;ValidateOptions;ValidateOptions;(System.String,TDep1,TDep2,TDep3,TDep4,System.Func,System.String);summary;df-generated | | Microsoft.Extensions.Options;ValidateOptions;get_Dependency1;();summary;df-generated | | Microsoft.Extensions.Options;ValidateOptions;get_Dependency2;();summary;df-generated | | Microsoft.Extensions.Options;ValidateOptions;get_Dependency3;();summary;df-generated | @@ -21602,6 +23150,7 @@ neutral | Microsoft.Extensions.Options;ValidateOptions;get_Name;();summary;df-generated | | Microsoft.Extensions.Options;ValidateOptions;get_Validation;();summary;df-generated | | Microsoft.Extensions.Options;ValidateOptions;Validate;(System.String,TOptions);summary;df-generated | +| Microsoft.Extensions.Options;ValidateOptions;ValidateOptions;(System.String,TDep1,TDep2,TDep3,System.Func,System.String);summary;df-generated | | Microsoft.Extensions.Options;ValidateOptions;get_Dependency1;();summary;df-generated | | Microsoft.Extensions.Options;ValidateOptions;get_Dependency2;();summary;df-generated | | Microsoft.Extensions.Options;ValidateOptions;get_Dependency3;();summary;df-generated | @@ -21609,17 +23158,20 @@ neutral | Microsoft.Extensions.Options;ValidateOptions;get_Name;();summary;df-generated | | Microsoft.Extensions.Options;ValidateOptions;get_Validation;();summary;df-generated | | Microsoft.Extensions.Options;ValidateOptions;Validate;(System.String,TOptions);summary;df-generated | +| Microsoft.Extensions.Options;ValidateOptions;ValidateOptions;(System.String,TDep1,TDep2,System.Func,System.String);summary;df-generated | | Microsoft.Extensions.Options;ValidateOptions;get_Dependency1;();summary;df-generated | | Microsoft.Extensions.Options;ValidateOptions;get_Dependency2;();summary;df-generated | | Microsoft.Extensions.Options;ValidateOptions;get_FailureMessage;();summary;df-generated | | Microsoft.Extensions.Options;ValidateOptions;get_Name;();summary;df-generated | | Microsoft.Extensions.Options;ValidateOptions;get_Validation;();summary;df-generated | | Microsoft.Extensions.Options;ValidateOptions;Validate;(System.String,TOptions);summary;df-generated | +| Microsoft.Extensions.Options;ValidateOptions;ValidateOptions;(System.String,TDep,System.Func,System.String);summary;df-generated | | Microsoft.Extensions.Options;ValidateOptions;get_Dependency;();summary;df-generated | | Microsoft.Extensions.Options;ValidateOptions;get_FailureMessage;();summary;df-generated | | Microsoft.Extensions.Options;ValidateOptions;get_Name;();summary;df-generated | | Microsoft.Extensions.Options;ValidateOptions;get_Validation;();summary;df-generated | | Microsoft.Extensions.Options;ValidateOptions;Validate;(System.String,TOptions);summary;df-generated | +| Microsoft.Extensions.Options;ValidateOptions;ValidateOptions;(System.String,System.Func,System.String);summary;df-generated | | Microsoft.Extensions.Options;ValidateOptions;get_FailureMessage;();summary;df-generated | | Microsoft.Extensions.Options;ValidateOptions;get_Name;();summary;df-generated | | Microsoft.Extensions.Options;ValidateOptions;get_Validation;();summary;df-generated | @@ -21629,6 +23181,8 @@ neutral | Microsoft.Extensions.Options;ValidateOptionsResultBuilder;Clear;();summary;df-generated | | Microsoft.Extensions.Primitives;CancellationChangeToken;get_ActiveChangeCallbacks;();summary;df-generated | | Microsoft.Extensions.Primitives;CancellationChangeToken;get_HasChanged;();summary;df-generated | +| Microsoft.Extensions.Primitives;ChangeToken;OnChange;(System.Func,System.Action);summary;df-generated | +| Microsoft.Extensions.Primitives;ChangeToken;OnChange;(System.Func,System.Action,TState);summary;df-generated | | Microsoft.Extensions.Primitives;CompositeChangeToken;CompositeChangeToken;(System.Collections.Generic.IReadOnlyList);summary;df-generated | | Microsoft.Extensions.Primitives;CompositeChangeToken;get_ActiveChangeCallbacks;();summary;df-generated | | Microsoft.Extensions.Primitives;CompositeChangeToken;get_ChangeTokens;();summary;df-generated | @@ -22415,6 +23969,34 @@ neutral | Microsoft.Win32;SystemEvents;CreateTimer;(System.Int32);summary;df-generated | | Microsoft.Win32;SystemEvents;InvokeOnEventsThread;(System.Delegate);summary;df-generated | | Microsoft.Win32;SystemEvents;KillTimer;(System.IntPtr);summary;df-generated | +| Microsoft.Win32;SystemEvents;add_DisplaySettingsChanged;(System.EventHandler);summary;df-generated | +| Microsoft.Win32;SystemEvents;add_DisplaySettingsChanging;(System.EventHandler);summary;df-generated | +| Microsoft.Win32;SystemEvents;add_EventsThreadShutdown;(System.EventHandler);summary;df-generated | +| Microsoft.Win32;SystemEvents;add_InstalledFontsChanged;(System.EventHandler);summary;df-generated | +| Microsoft.Win32;SystemEvents;add_LowMemory;(System.EventHandler);summary;df-generated | +| Microsoft.Win32;SystemEvents;add_PaletteChanged;(System.EventHandler);summary;df-generated | +| Microsoft.Win32;SystemEvents;add_PowerModeChanged;(Microsoft.Win32.PowerModeChangedEventHandler);summary;df-generated | +| Microsoft.Win32;SystemEvents;add_SessionEnded;(Microsoft.Win32.SessionEndedEventHandler);summary;df-generated | +| Microsoft.Win32;SystemEvents;add_SessionEnding;(Microsoft.Win32.SessionEndingEventHandler);summary;df-generated | +| Microsoft.Win32;SystemEvents;add_SessionSwitch;(Microsoft.Win32.SessionSwitchEventHandler);summary;df-generated | +| Microsoft.Win32;SystemEvents;add_TimeChanged;(System.EventHandler);summary;df-generated | +| Microsoft.Win32;SystemEvents;add_TimerElapsed;(Microsoft.Win32.TimerElapsedEventHandler);summary;df-generated | +| Microsoft.Win32;SystemEvents;add_UserPreferenceChanged;(Microsoft.Win32.UserPreferenceChangedEventHandler);summary;df-generated | +| Microsoft.Win32;SystemEvents;add_UserPreferenceChanging;(Microsoft.Win32.UserPreferenceChangingEventHandler);summary;df-generated | +| Microsoft.Win32;SystemEvents;remove_DisplaySettingsChanged;(System.EventHandler);summary;df-generated | +| Microsoft.Win32;SystemEvents;remove_DisplaySettingsChanging;(System.EventHandler);summary;df-generated | +| Microsoft.Win32;SystemEvents;remove_EventsThreadShutdown;(System.EventHandler);summary;df-generated | +| Microsoft.Win32;SystemEvents;remove_InstalledFontsChanged;(System.EventHandler);summary;df-generated | +| Microsoft.Win32;SystemEvents;remove_LowMemory;(System.EventHandler);summary;df-generated | +| Microsoft.Win32;SystemEvents;remove_PaletteChanged;(System.EventHandler);summary;df-generated | +| Microsoft.Win32;SystemEvents;remove_PowerModeChanged;(Microsoft.Win32.PowerModeChangedEventHandler);summary;df-generated | +| Microsoft.Win32;SystemEvents;remove_SessionEnded;(Microsoft.Win32.SessionEndedEventHandler);summary;df-generated | +| Microsoft.Win32;SystemEvents;remove_SessionEnding;(Microsoft.Win32.SessionEndingEventHandler);summary;df-generated | +| Microsoft.Win32;SystemEvents;remove_SessionSwitch;(Microsoft.Win32.SessionSwitchEventHandler);summary;df-generated | +| Microsoft.Win32;SystemEvents;remove_TimeChanged;(System.EventHandler);summary;df-generated | +| Microsoft.Win32;SystemEvents;remove_TimerElapsed;(Microsoft.Win32.TimerElapsedEventHandler);summary;df-generated | +| Microsoft.Win32;SystemEvents;remove_UserPreferenceChanged;(Microsoft.Win32.UserPreferenceChangedEventHandler);summary;df-generated | +| Microsoft.Win32;SystemEvents;remove_UserPreferenceChanging;(Microsoft.Win32.UserPreferenceChangingEventHandler);summary;df-generated | | Microsoft.Win32;TimerElapsedEventArgs;TimerElapsedEventArgs;(System.IntPtr);summary;df-generated | | Microsoft.Win32;TimerElapsedEventArgs;get_TimerId;();summary;df-generated | | Microsoft.Win32;UserPreferenceChangedEventArgs;UserPreferenceChangedEventArgs;(Microsoft.Win32.UserPreferenceCategory);summary;df-generated | @@ -22437,6 +24019,8 @@ neutral | Newtonsoft.Json.Linq;JContainer;RemoveAt;(System.Int32);summary;df-generated | | Newtonsoft.Json.Linq;JContainer;RemoveIndex;(System.ComponentModel.PropertyDescriptor);summary;df-generated | | Newtonsoft.Json.Linq;JContainer;RemoveSort;();summary;df-generated | +| Newtonsoft.Json.Linq;JContainer;add_CollectionChanged;(System.Collections.Specialized.NotifyCollectionChangedEventHandler);summary;df-generated | +| Newtonsoft.Json.Linq;JContainer;add_ListChanged;(System.ComponentModel.ListChangedEventHandler);summary;df-generated | | Newtonsoft.Json.Linq;JContainer;get_AllowEdit;();summary;df-generated | | Newtonsoft.Json.Linq;JContainer;get_AllowNew;();summary;df-generated | | Newtonsoft.Json.Linq;JContainer;get_AllowRemove;();summary;df-generated | @@ -22450,6 +24034,8 @@ neutral | Newtonsoft.Json.Linq;JContainer;get_SupportsChangeNotification;();summary;df-generated | | Newtonsoft.Json.Linq;JContainer;get_SupportsSearching;();summary;df-generated | | Newtonsoft.Json.Linq;JContainer;get_SupportsSorting;();summary;df-generated | +| Newtonsoft.Json.Linq;JContainer;remove_CollectionChanged;(System.Collections.Specialized.NotifyCollectionChangedEventHandler);summary;df-generated | +| Newtonsoft.Json.Linq;JContainer;remove_ListChanged;(System.ComponentModel.ListChangedEventHandler);summary;df-generated | | Newtonsoft.Json.Linq;JEnumerable;Equals;(Newtonsoft.Json.Linq.JEnumerable);summary;df-generated | | Newtonsoft.Json.Linq;JObject;Contains;(System.Collections.Generic.KeyValuePair);summary;df-generated | | Newtonsoft.Json.Linq;JObject;ContainsKey;(System.String);summary;df-generated | @@ -22465,7 +24051,11 @@ neutral | Newtonsoft.Json.Linq;JObject;Remove;(System.Collections.Generic.KeyValuePair);summary;df-generated | | Newtonsoft.Json.Linq;JObject;Remove;(System.String);summary;df-generated | | Newtonsoft.Json.Linq;JObject;TryGetValue;(System.String,Newtonsoft.Json.Linq.JToken);summary;df-generated | +| Newtonsoft.Json.Linq;JObject;add_PropertyChanged;(System.ComponentModel.PropertyChangedEventHandler);summary;df-generated | +| Newtonsoft.Json.Linq;JObject;add_PropertyChanging;(System.ComponentModel.PropertyChangingEventHandler);summary;df-generated | | Newtonsoft.Json.Linq;JObject;get_IsReadOnly;();summary;df-generated | +| Newtonsoft.Json.Linq;JObject;remove_PropertyChanged;(System.ComponentModel.PropertyChangedEventHandler);summary;df-generated | +| Newtonsoft.Json.Linq;JObject;remove_PropertyChanging;(System.ComponentModel.PropertyChangingEventHandler);summary;df-generated | | Newtonsoft.Json.Linq;JPropertyDescriptor;CanResetValue;(System.Object);summary;df-generated | | Newtonsoft.Json.Linq;JPropertyDescriptor;ShouldSerializeValue;(System.Object);summary;df-generated | | Newtonsoft.Json.Linq;JPropertyDescriptor;get_ComponentType;();summary;df-generated | @@ -22603,8 +24193,6 @@ neutral | ServiceStack.Script;ScriptContext;Dispose;();summary;df-generated | | ServiceStack.Script;SharpCodePage;Dispose;();summary;df-generated | | ServiceStack.Serialization;XmlSerializerWrapper;IsStartObject;(System.Xml.XmlDictionaryReader);summary;df-generated | -| ServiceStack.Serialization;XmlSerializerWrapper;ReadObject;(System.Xml.XmlDictionaryReader);summary;df-generated | -| ServiceStack.Serialization;XmlSerializerWrapper;ReadObject;(System.Xml.XmlDictionaryReader,System.Boolean);summary;df-generated | | ServiceStack.Serialization;XmlSerializerWrapper;WriteEndObject;(System.Xml.XmlDictionaryWriter);summary;df-generated | | ServiceStack.Serialization;XmlSerializerWrapper;WriteObject;(System.Xml.XmlDictionaryWriter,System.Object);summary;df-generated | | ServiceStack.Serialization;XmlSerializerWrapper;WriteObjectContent;(System.Xml.XmlDictionaryWriter,System.Object);summary;df-generated | @@ -23108,8 +24696,14 @@ neutral | System.CodeDom;CodeIterationStatement;CodeIterationStatement;(System.CodeDom.CodeStatement,System.CodeDom.CodeExpression,System.CodeDom.CodeStatement,System.CodeDom.CodeStatement[]);summary;df-generated | | System.CodeDom;CodeIterationStatement;get_Statements;();summary;df-generated | | System.CodeDom;CodeMemberEvent;get_ImplementationTypes;();summary;df-generated | +| System.CodeDom;CodeMemberMethod;add_PopulateImplementationTypes;(System.EventHandler);summary;df-generated | +| System.CodeDom;CodeMemberMethod;add_PopulateParameters;(System.EventHandler);summary;df-generated | +| System.CodeDom;CodeMemberMethod;add_PopulateStatements;(System.EventHandler);summary;df-generated | | System.CodeDom;CodeMemberMethod;get_ReturnTypeCustomAttributes;();summary;df-generated | | System.CodeDom;CodeMemberMethod;get_TypeParameters;();summary;df-generated | +| System.CodeDom;CodeMemberMethod;remove_PopulateImplementationTypes;(System.EventHandler);summary;df-generated | +| System.CodeDom;CodeMemberMethod;remove_PopulateParameters;(System.EventHandler);summary;df-generated | +| System.CodeDom;CodeMemberMethod;remove_PopulateStatements;(System.EventHandler);summary;df-generated | | System.CodeDom;CodeMemberProperty;get_GetStatements;();summary;df-generated | | System.CodeDom;CodeMemberProperty;get_ImplementationTypes;();summary;df-generated | | System.CodeDom;CodeMemberProperty;get_Parameters;();summary;df-generated | @@ -23118,6 +24712,12 @@ neutral | System.CodeDom;CodeMethodInvokeExpression;get_Parameters;();summary;df-generated | | System.CodeDom;CodeMethodReferenceExpression;get_TypeArguments;();summary;df-generated | | System.CodeDom;CodeMethodReturnStatement;CodeMethodReturnStatement;(System.CodeDom.CodeExpression);summary;df-generated | +| System.CodeDom;CodeNamespace;add_PopulateComments;(System.EventHandler);summary;df-generated | +| System.CodeDom;CodeNamespace;add_PopulateImports;(System.EventHandler);summary;df-generated | +| System.CodeDom;CodeNamespace;add_PopulateTypes;(System.EventHandler);summary;df-generated | +| System.CodeDom;CodeNamespace;remove_PopulateComments;(System.EventHandler);summary;df-generated | +| System.CodeDom;CodeNamespace;remove_PopulateImports;(System.EventHandler);summary;df-generated | +| System.CodeDom;CodeNamespace;remove_PopulateTypes;(System.EventHandler);summary;df-generated | | System.CodeDom;CodeNamespaceCollection;Contains;(System.CodeDom.CodeNamespace);summary;df-generated | | System.CodeDom;CodeNamespaceCollection;IndexOf;(System.CodeDom.CodeNamespace);summary;df-generated | | System.CodeDom;CodeNamespaceCollection;Remove;(System.CodeDom.CodeNamespace);summary;df-generated | @@ -23150,7 +24750,11 @@ neutral | System.CodeDom;CodeTryCatchFinallyStatement;get_CatchClauses;();summary;df-generated | | System.CodeDom;CodeTryCatchFinallyStatement;get_FinallyStatements;();summary;df-generated | | System.CodeDom;CodeTryCatchFinallyStatement;get_TryStatements;();summary;df-generated | +| System.CodeDom;CodeTypeDeclaration;add_PopulateBaseTypes;(System.EventHandler);summary;df-generated | +| System.CodeDom;CodeTypeDeclaration;add_PopulateMembers;(System.EventHandler);summary;df-generated | | System.CodeDom;CodeTypeDeclaration;get_TypeParameters;();summary;df-generated | +| System.CodeDom;CodeTypeDeclaration;remove_PopulateBaseTypes;(System.EventHandler);summary;df-generated | +| System.CodeDom;CodeTypeDeclaration;remove_PopulateMembers;(System.EventHandler);summary;df-generated | | System.CodeDom;CodeTypeDeclarationCollection;Contains;(System.CodeDom.CodeTypeDeclaration);summary;df-generated | | System.CodeDom;CodeTypeDeclarationCollection;IndexOf;(System.CodeDom.CodeTypeDeclaration);summary;df-generated | | System.CodeDom;CodeTypeDeclarationCollection;Remove;(System.CodeDom.CodeTypeDeclaration);summary;df-generated | @@ -23276,6 +24880,8 @@ neutral | System.Collections.Concurrent;Partitioner;GetDynamicPartitions;();summary;df-generated | | System.Collections.Concurrent;Partitioner;GetPartitions;(System.Int32);summary;df-generated | | System.Collections.Concurrent;Partitioner;get_SupportsDynamicPartitions;();summary;df-generated | +| System.Collections.Frozen;FrozenDictionary;ToFrozenDictionary;(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);summary;df-generated | +| System.Collections.Frozen;FrozenDictionary;ToFrozenDictionary;(System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IEqualityComparer);summary;df-generated | | System.Collections.Frozen;FrozenDictionary+Enumerator;Dispose;();summary;df-generated | | System.Collections.Frozen;FrozenDictionary+Enumerator;MoveNext;();summary;df-generated | | System.Collections.Frozen;FrozenDictionary+Enumerator;Reset;();summary;df-generated | @@ -23324,8 +24930,8 @@ neutral | System.Collections.Generic;CollectionExtensions;AddRange;(System.Collections.Generic.List,System.ReadOnlySpan);summary;df-generated | | System.Collections.Generic;CollectionExtensions;GetValueOrDefault;(System.Collections.Generic.IReadOnlyDictionary,TKey);summary;df-generated | | System.Collections.Generic;CollectionExtensions;InsertRange;(System.Collections.Generic.List,System.Int32,System.ReadOnlySpan);summary;df-generated | -| System.Collections.Generic;Comparer;Compare;(System.Object,System.Object);summary;df-generated | | System.Collections.Generic;Comparer;Compare;(T,T);summary;df-generated | +| System.Collections.Generic;Comparer;Create;(System.Comparison);summary;df-generated | | System.Collections.Generic;Comparer;get_Default;();summary;df-generated | | System.Collections.Generic;Dictionary+Enumerator;Dispose;();summary;df-generated | | System.Collections.Generic;Dictionary+Enumerator;MoveNext;();summary;df-generated | @@ -23373,9 +24979,8 @@ neutral | System.Collections.Generic;Dictionary;get_Item;(TKey);summary;df-generated | | System.Collections.Generic;Dictionary;get_Keys;();summary;df-generated | | System.Collections.Generic;Dictionary;get_Values;();summary;df-generated | -| System.Collections.Generic;EqualityComparer;Equals;(System.Object,System.Object);summary;df-generated | +| System.Collections.Generic;EqualityComparer;Create;(System.Func,System.Func);summary;df-generated | | System.Collections.Generic;EqualityComparer;Equals;(T,T);summary;df-generated | -| System.Collections.Generic;EqualityComparer;GetHashCode;(System.Object);summary;df-generated | | System.Collections.Generic;EqualityComparer;GetHashCode;(T);summary;df-generated | | System.Collections.Generic;EqualityComparer;get_Default;();summary;df-generated | | System.Collections.Generic;HashSet+Enumerator;Dispose;();summary;df-generated | @@ -23400,6 +25005,7 @@ neutral | System.Collections.Generic;HashSet;OnDeserialization;(System.Object);summary;df-generated | | System.Collections.Generic;HashSet;Overlaps;(System.Collections.Generic.IEnumerable);summary;df-generated | | System.Collections.Generic;HashSet;Remove;(T);summary;df-generated | +| System.Collections.Generic;HashSet;RemoveWhere;(System.Predicate);summary;df-generated | | System.Collections.Generic;HashSet;SetEquals;(System.Collections.Generic.IEnumerable);summary;df-generated | | System.Collections.Generic;HashSet;SymmetricExceptWith;(System.Collections.Generic.IEnumerable);summary;df-generated | | System.Collections.Generic;HashSet;TrimExcess;();summary;df-generated | @@ -23473,8 +25079,16 @@ neutral | System.Collections.Generic;List;BinarySearch;(T,System.Collections.Generic.IComparer);summary;df-generated | | System.Collections.Generic;List;Contains;(System.Object);summary;df-generated | | System.Collections.Generic;List;Contains;(T);summary;df-generated | +| System.Collections.Generic;List;ConvertAll;(System.Converter);summary;df-generated | | System.Collections.Generic;List;CopyTo;(System.Int32,T[],System.Int32,System.Int32);summary;df-generated | | System.Collections.Generic;List;EnsureCapacity;(System.Int32);summary;df-generated | +| System.Collections.Generic;List;Exists;(System.Predicate);summary;df-generated | +| System.Collections.Generic;List;FindIndex;(System.Int32,System.Int32,System.Predicate);summary;df-generated | +| System.Collections.Generic;List;FindIndex;(System.Int32,System.Predicate);summary;df-generated | +| System.Collections.Generic;List;FindIndex;(System.Predicate);summary;df-generated | +| System.Collections.Generic;List;FindLastIndex;(System.Int32,System.Int32,System.Predicate);summary;df-generated | +| System.Collections.Generic;List;FindLastIndex;(System.Int32,System.Predicate);summary;df-generated | +| System.Collections.Generic;List;FindLastIndex;(System.Predicate);summary;df-generated | | System.Collections.Generic;List;IndexOf;(System.Object);summary;df-generated | | System.Collections.Generic;List;IndexOf;(T);summary;df-generated | | System.Collections.Generic;List;IndexOf;(T,System.Int32);summary;df-generated | @@ -23485,15 +25099,18 @@ neutral | System.Collections.Generic;List;List;(System.Int32);summary;df-generated | | System.Collections.Generic;List;Remove;(System.Object);summary;df-generated | | System.Collections.Generic;List;Remove;(T);summary;df-generated | +| System.Collections.Generic;List;RemoveAll;(System.Predicate);summary;df-generated | | System.Collections.Generic;List;RemoveAt;(System.Int32);summary;df-generated | | System.Collections.Generic;List;RemoveRange;(System.Int32,System.Int32);summary;df-generated | | System.Collections.Generic;List;Reverse;();summary;df-generated | | System.Collections.Generic;List;Reverse;(System.Int32,System.Int32);summary;df-generated | | System.Collections.Generic;List;Sort;();summary;df-generated | | System.Collections.Generic;List;Sort;(System.Collections.Generic.IComparer);summary;df-generated | +| System.Collections.Generic;List;Sort;(System.Comparison);summary;df-generated | | System.Collections.Generic;List;Sort;(System.Int32,System.Int32,System.Collections.Generic.IComparer);summary;df-generated | | System.Collections.Generic;List;ToArray;();summary;df-generated | | System.Collections.Generic;List;TrimExcess;();summary;df-generated | +| System.Collections.Generic;List;TrueForAll;(System.Predicate);summary;df-generated | | System.Collections.Generic;List;get_Count;();summary;df-generated | | System.Collections.Generic;List;get_IsFixedSize;();summary;df-generated | | System.Collections.Generic;List;get_IsReadOnly;();summary;df-generated | @@ -23606,6 +25223,7 @@ neutral | System.Collections.Generic;SortedSet;OnDeserialization;(System.Object);summary;df-generated | | System.Collections.Generic;SortedSet;Overlaps;(System.Collections.Generic.IEnumerable);summary;df-generated | | System.Collections.Generic;SortedSet;Remove;(T);summary;df-generated | +| System.Collections.Generic;SortedSet;RemoveWhere;(System.Predicate);summary;df-generated | | System.Collections.Generic;SortedSet;SetEquals;(System.Collections.Generic.IEnumerable);summary;df-generated | | System.Collections.Generic;SortedSet;SortedSet;(System.Collections.Generic.IEnumerable);summary;df-generated | | System.Collections.Generic;SortedSet;SymmetricExceptWith;(System.Collections.Generic.IEnumerable);summary;df-generated | @@ -23635,6 +25253,7 @@ neutral | System.Collections.Immutable;IImmutableList;InsertRange;(System.Int32,System.Collections.Generic.IEnumerable);summary;df-generated | | System.Collections.Immutable;IImmutableList;LastIndexOf;(T,System.Int32,System.Int32,System.Collections.Generic.IEqualityComparer);summary;df-generated | | System.Collections.Immutable;IImmutableList;Remove;(T,System.Collections.Generic.IEqualityComparer);summary;df-generated | +| System.Collections.Immutable;IImmutableList;RemoveAll;(System.Predicate);summary;df-generated | | System.Collections.Immutable;IImmutableList;RemoveAt;(System.Int32);summary;df-generated | | System.Collections.Immutable;IImmutableList;RemoveRange;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);summary;df-generated | | System.Collections.Immutable;IImmutableList;RemoveRange;(System.Int32,System.Int32);summary;df-generated | @@ -23669,6 +25288,8 @@ neutral | System.Collections.Immutable;ImmutableArray;Create;(T[]);summary;df-generated | | System.Collections.Immutable;ImmutableArray;CreateBuilder;();summary;df-generated | | System.Collections.Immutable;ImmutableArray;CreateBuilder;(System.Int32);summary;df-generated | +| System.Collections.Immutable;ImmutableArray;CreateRange;(System.Collections.Immutable.ImmutableArray,System.Func);summary;df-generated | +| System.Collections.Immutable;ImmutableArray;CreateRange;(System.Collections.Immutable.ImmutableArray,System.Int32,System.Int32,System.Func);summary;df-generated | | System.Collections.Immutable;ImmutableArray;ToImmutableArray;(System.Collections.Immutable.ImmutableArray+Builder);summary;df-generated | | System.Collections.Immutable;ImmutableArray+Builder;AddRange;(System.Collections.Immutable.ImmutableArray,System.Int32);summary;df-generated | | System.Collections.Immutable;ImmutableArray+Builder;AddRange;(System.ReadOnlySpan);summary;df-generated | @@ -23679,24 +25300,20 @@ neutral | System.Collections.Immutable;ImmutableArray+Builder;CopyTo;(T[]);summary;df-generated | | System.Collections.Immutable;ImmutableArray+Builder;IndexOf;(T);summary;df-generated | | System.Collections.Immutable;ImmutableArray+Builder;IndexOf;(T,System.Int32);summary;df-generated | -| System.Collections.Immutable;ImmutableArray+Builder;IndexOf;(T,System.Int32,System.Collections.Generic.IEqualityComparer);summary;df-generated | | System.Collections.Immutable;ImmutableArray+Builder;IndexOf;(T,System.Int32,System.Int32);summary;df-generated | -| System.Collections.Immutable;ImmutableArray+Builder;IndexOf;(T,System.Int32,System.Int32,System.Collections.Generic.IEqualityComparer);summary;df-generated | | System.Collections.Immutable;ImmutableArray+Builder;InsertRange;(System.Int32,System.Collections.Immutable.ImmutableArray);summary;df-generated | | System.Collections.Immutable;ImmutableArray+Builder;ItemRef;(System.Int32);summary;df-generated | | System.Collections.Immutable;ImmutableArray+Builder;LastIndexOf;(T);summary;df-generated | | System.Collections.Immutable;ImmutableArray+Builder;LastIndexOf;(T,System.Int32);summary;df-generated | | System.Collections.Immutable;ImmutableArray+Builder;LastIndexOf;(T,System.Int32,System.Int32);summary;df-generated | -| System.Collections.Immutable;ImmutableArray+Builder;LastIndexOf;(T,System.Int32,System.Int32,System.Collections.Generic.IEqualityComparer);summary;df-generated | | System.Collections.Immutable;ImmutableArray+Builder;Remove;(T);summary;df-generated | -| System.Collections.Immutable;ImmutableArray+Builder;Remove;(T,System.Collections.Generic.IEqualityComparer);summary;df-generated | | System.Collections.Immutable;ImmutableArray+Builder;RemoveAt;(System.Int32);summary;df-generated | | System.Collections.Immutable;ImmutableArray+Builder;RemoveRange;(System.Collections.Generic.IEnumerable);summary;df-generated | -| System.Collections.Immutable;ImmutableArray+Builder;RemoveRange;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);summary;df-generated | | System.Collections.Immutable;ImmutableArray+Builder;RemoveRange;(System.Int32,System.Int32);summary;df-generated | | System.Collections.Immutable;ImmutableArray+Builder;Reverse;();summary;df-generated | | System.Collections.Immutable;ImmutableArray+Builder;Sort;();summary;df-generated | | System.Collections.Immutable;ImmutableArray+Builder;Sort;(System.Collections.Generic.IComparer);summary;df-generated | +| System.Collections.Immutable;ImmutableArray+Builder;Sort;(System.Comparison);summary;df-generated | | System.Collections.Immutable;ImmutableArray+Builder;Sort;(System.Int32,System.Int32,System.Collections.Generic.IComparer);summary;df-generated | | System.Collections.Immutable;ImmutableArray+Builder;ToArray;();summary;df-generated | | System.Collections.Immutable;ImmutableArray+Builder;ToImmutable;();summary;df-generated | @@ -23709,7 +25326,6 @@ neutral | System.Collections.Immutable;ImmutableArray;CompareTo;(System.Object,System.Collections.IComparer);summary;df-generated | | System.Collections.Immutable;ImmutableArray;Contains;(System.Object);summary;df-generated | | System.Collections.Immutable;ImmutableArray;Contains;(T);summary;df-generated | -| System.Collections.Immutable;ImmutableArray;Contains;(T,System.Collections.Generic.IEqualityComparer);summary;df-generated | | System.Collections.Immutable;ImmutableArray;CopyTo;(System.Int32,T[],System.Int32,System.Int32);summary;df-generated | | System.Collections.Immutable;ImmutableArray;CopyTo;(T[]);summary;df-generated | | System.Collections.Immutable;ImmutableArray;Equals;(System.Collections.Immutable.ImmutableArray);summary;df-generated | @@ -23720,7 +25336,6 @@ neutral | System.Collections.Immutable;ImmutableArray;IndexOf;(System.Object);summary;df-generated | | System.Collections.Immutable;ImmutableArray;IndexOf;(T);summary;df-generated | | System.Collections.Immutable;ImmutableArray;IndexOf;(T,System.Int32);summary;df-generated | -| System.Collections.Immutable;ImmutableArray;IndexOf;(T,System.Int32,System.Collections.Generic.IEqualityComparer);summary;df-generated | | System.Collections.Immutable;ImmutableArray;IndexOf;(T,System.Int32,System.Int32);summary;df-generated | | System.Collections.Immutable;ImmutableArray;IndexOf;(T,System.Int32,System.Int32,System.Collections.Generic.IEqualityComparer);summary;df-generated | | System.Collections.Immutable;ImmutableArray;Insert;(System.Int32,T);summary;df-generated | @@ -23733,6 +25348,7 @@ neutral | System.Collections.Immutable;ImmutableArray;Remove;(System.Object);summary;df-generated | | System.Collections.Immutable;ImmutableArray;Remove;(T);summary;df-generated | | System.Collections.Immutable;ImmutableArray;Remove;(T,System.Collections.Generic.IEqualityComparer);summary;df-generated | +| System.Collections.Immutable;ImmutableArray;RemoveAll;(System.Predicate);summary;df-generated | | System.Collections.Immutable;ImmutableArray;RemoveAt;(System.Int32);summary;df-generated | | System.Collections.Immutable;ImmutableArray;RemoveRange;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);summary;df-generated | | System.Collections.Immutable;ImmutableArray;RemoveRange;(System.Int32,System.Int32);summary;df-generated | @@ -23756,6 +25372,11 @@ neutral | System.Collections.Immutable;ImmutableDictionary;CreateBuilder;();summary;df-generated | | System.Collections.Immutable;ImmutableDictionary;GetValueOrDefault;(System.Collections.Immutable.IImmutableDictionary,TKey);summary;df-generated | | System.Collections.Immutable;ImmutableDictionary;ToImmutableDictionary;(System.Collections.Immutable.ImmutableDictionary+Builder);summary;df-generated | +| System.Collections.Immutable;ImmutableDictionary;ToImmutableDictionary;(System.Collections.Generic.IEnumerable,System.Func,System.Func);summary;df-generated | +| System.Collections.Immutable;ImmutableDictionary;ToImmutableDictionary;(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);summary;df-generated | +| System.Collections.Immutable;ImmutableDictionary;ToImmutableDictionary;(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Collections.Generic.IEqualityComparer,System.Collections.Generic.IEqualityComparer);summary;df-generated | +| System.Collections.Immutable;ImmutableDictionary;ToImmutableDictionary;(System.Collections.Generic.IEnumerable,System.Func);summary;df-generated | +| System.Collections.Immutable;ImmutableDictionary;ToImmutableDictionary;(System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IEqualityComparer);summary;df-generated | | System.Collections.Immutable;ImmutableDictionary+Builder;Contains;(System.Collections.Generic.KeyValuePair);summary;df-generated | | System.Collections.Immutable;ImmutableDictionary+Builder;Contains;(System.Object);summary;df-generated | | System.Collections.Immutable;ImmutableDictionary+Builder;ContainsKey;(TKey);summary;df-generated | @@ -23847,11 +25468,9 @@ neutral | System.Collections.Immutable;ImmutableList;Create;();summary;df-generated | | System.Collections.Immutable;ImmutableList;CreateBuilder;();summary;df-generated | | System.Collections.Immutable;ImmutableList;IndexOf;(System.Collections.Immutable.IImmutableList,T);summary;df-generated | -| System.Collections.Immutable;ImmutableList;IndexOf;(System.Collections.Immutable.IImmutableList,T,System.Collections.Generic.IEqualityComparer);summary;df-generated | | System.Collections.Immutable;ImmutableList;IndexOf;(System.Collections.Immutable.IImmutableList,T,System.Int32);summary;df-generated | | System.Collections.Immutable;ImmutableList;IndexOf;(System.Collections.Immutable.IImmutableList,T,System.Int32,System.Int32);summary;df-generated | | System.Collections.Immutable;ImmutableList;LastIndexOf;(System.Collections.Immutable.IImmutableList,T);summary;df-generated | -| System.Collections.Immutable;ImmutableList;LastIndexOf;(System.Collections.Immutable.IImmutableList,T,System.Collections.Generic.IEqualityComparer);summary;df-generated | | System.Collections.Immutable;ImmutableList;LastIndexOf;(System.Collections.Immutable.IImmutableList,T,System.Int32);summary;df-generated | | System.Collections.Immutable;ImmutableList;LastIndexOf;(System.Collections.Immutable.IImmutableList,T,System.Int32,System.Int32);summary;df-generated | | System.Collections.Immutable;ImmutableList;ToImmutableList;(System.Collections.Immutable.ImmutableList+Builder);summary;df-generated | @@ -23859,20 +25478,26 @@ neutral | System.Collections.Immutable;ImmutableList+Builder;Clear;();summary;df-generated | | System.Collections.Immutable;ImmutableList+Builder;Contains;(System.Object);summary;df-generated | | System.Collections.Immutable;ImmutableList+Builder;Contains;(T);summary;df-generated | +| System.Collections.Immutable;ImmutableList+Builder;ConvertAll;(System.Func);summary;df-generated | | System.Collections.Immutable;ImmutableList+Builder;CopyTo;(System.Int32,T[],System.Int32,System.Int32);summary;df-generated | +| System.Collections.Immutable;ImmutableList+Builder;Exists;(System.Predicate);summary;df-generated | +| System.Collections.Immutable;ImmutableList+Builder;FindIndex;(System.Int32,System.Int32,System.Predicate);summary;df-generated | +| System.Collections.Immutable;ImmutableList+Builder;FindIndex;(System.Int32,System.Predicate);summary;df-generated | +| System.Collections.Immutable;ImmutableList+Builder;FindIndex;(System.Predicate);summary;df-generated | +| System.Collections.Immutable;ImmutableList+Builder;FindLastIndex;(System.Int32,System.Int32,System.Predicate);summary;df-generated | +| System.Collections.Immutable;ImmutableList+Builder;FindLastIndex;(System.Int32,System.Predicate);summary;df-generated | +| System.Collections.Immutable;ImmutableList+Builder;FindLastIndex;(System.Predicate);summary;df-generated | | System.Collections.Immutable;ImmutableList+Builder;IndexOf;(System.Object);summary;df-generated | | System.Collections.Immutable;ImmutableList+Builder;IndexOf;(T);summary;df-generated | | System.Collections.Immutable;ImmutableList+Builder;IndexOf;(T,System.Int32);summary;df-generated | | System.Collections.Immutable;ImmutableList+Builder;IndexOf;(T,System.Int32,System.Int32);summary;df-generated | -| System.Collections.Immutable;ImmutableList+Builder;IndexOf;(T,System.Int32,System.Int32,System.Collections.Generic.IEqualityComparer);summary;df-generated | | System.Collections.Immutable;ImmutableList+Builder;ItemRef;(System.Int32);summary;df-generated | | System.Collections.Immutable;ImmutableList+Builder;LastIndexOf;(T);summary;df-generated | | System.Collections.Immutable;ImmutableList+Builder;LastIndexOf;(T,System.Int32);summary;df-generated | | System.Collections.Immutable;ImmutableList+Builder;LastIndexOf;(T,System.Int32,System.Int32);summary;df-generated | -| System.Collections.Immutable;ImmutableList+Builder;LastIndexOf;(T,System.Int32,System.Int32,System.Collections.Generic.IEqualityComparer);summary;df-generated | | System.Collections.Immutable;ImmutableList+Builder;Remove;(System.Object);summary;df-generated | | System.Collections.Immutable;ImmutableList+Builder;Remove;(T);summary;df-generated | -| System.Collections.Immutable;ImmutableList+Builder;Remove;(T,System.Collections.Generic.IEqualityComparer);summary;df-generated | +| System.Collections.Immutable;ImmutableList+Builder;RemoveAll;(System.Predicate);summary;df-generated | | System.Collections.Immutable;ImmutableList+Builder;RemoveAt;(System.Int32);summary;df-generated | | System.Collections.Immutable;ImmutableList+Builder;RemoveRange;(System.Collections.Generic.IEnumerable);summary;df-generated | | System.Collections.Immutable;ImmutableList+Builder;RemoveRange;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);summary;df-generated | @@ -23881,8 +25506,10 @@ neutral | System.Collections.Immutable;ImmutableList+Builder;Reverse;(System.Int32,System.Int32);summary;df-generated | | System.Collections.Immutable;ImmutableList+Builder;Sort;();summary;df-generated | | System.Collections.Immutable;ImmutableList+Builder;Sort;(System.Collections.Generic.IComparer);summary;df-generated | +| System.Collections.Immutable;ImmutableList+Builder;Sort;(System.Comparison);summary;df-generated | | System.Collections.Immutable;ImmutableList+Builder;Sort;(System.Int32,System.Int32,System.Collections.Generic.IComparer);summary;df-generated | | System.Collections.Immutable;ImmutableList+Builder;ToImmutable;();summary;df-generated | +| System.Collections.Immutable;ImmutableList+Builder;TrueForAll;(System.Predicate);summary;df-generated | | System.Collections.Immutable;ImmutableList+Builder;get_Count;();summary;df-generated | | System.Collections.Immutable;ImmutableList+Builder;get_IsFixedSize;();summary;df-generated | | System.Collections.Immutable;ImmutableList+Builder;get_IsReadOnly;();summary;df-generated | @@ -23896,7 +25523,15 @@ neutral | System.Collections.Immutable;ImmutableList;Clear;();summary;df-generated | | System.Collections.Immutable;ImmutableList;Contains;(System.Object);summary;df-generated | | System.Collections.Immutable;ImmutableList;Contains;(T);summary;df-generated | +| System.Collections.Immutable;ImmutableList;ConvertAll;(System.Func);summary;df-generated | | System.Collections.Immutable;ImmutableList;CopyTo;(System.Int32,T[],System.Int32,System.Int32);summary;df-generated | +| System.Collections.Immutable;ImmutableList;Exists;(System.Predicate);summary;df-generated | +| System.Collections.Immutable;ImmutableList;FindIndex;(System.Int32,System.Int32,System.Predicate);summary;df-generated | +| System.Collections.Immutable;ImmutableList;FindIndex;(System.Int32,System.Predicate);summary;df-generated | +| System.Collections.Immutable;ImmutableList;FindIndex;(System.Predicate);summary;df-generated | +| System.Collections.Immutable;ImmutableList;FindLastIndex;(System.Int32,System.Int32,System.Predicate);summary;df-generated | +| System.Collections.Immutable;ImmutableList;FindLastIndex;(System.Int32,System.Predicate);summary;df-generated | +| System.Collections.Immutable;ImmutableList;FindLastIndex;(System.Predicate);summary;df-generated | | System.Collections.Immutable;ImmutableList;IndexOf;(System.Object);summary;df-generated | | System.Collections.Immutable;ImmutableList;IndexOf;(T);summary;df-generated | | System.Collections.Immutable;ImmutableList;IndexOf;(T,System.Int32,System.Int32,System.Collections.Generic.IEqualityComparer);summary;df-generated | @@ -23907,11 +25542,13 @@ neutral | System.Collections.Immutable;ImmutableList;Remove;(System.Object);summary;df-generated | | System.Collections.Immutable;ImmutableList;Remove;(T);summary;df-generated | | System.Collections.Immutable;ImmutableList;Remove;(T,System.Collections.Generic.IEqualityComparer);summary;df-generated | +| System.Collections.Immutable;ImmutableList;RemoveAll;(System.Predicate);summary;df-generated | | System.Collections.Immutable;ImmutableList;RemoveAt;(System.Int32);summary;df-generated | | System.Collections.Immutable;ImmutableList;RemoveRange;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);summary;df-generated | | System.Collections.Immutable;ImmutableList;RemoveRange;(System.Int32,System.Int32);summary;df-generated | | System.Collections.Immutable;ImmutableList;Replace;(T,T,System.Collections.Generic.IEqualityComparer);summary;df-generated | | System.Collections.Immutable;ImmutableList;SetItem;(System.Int32,T);summary;df-generated | +| System.Collections.Immutable;ImmutableList;TrueForAll;(System.Predicate);summary;df-generated | | System.Collections.Immutable;ImmutableList;get_Count;();summary;df-generated | | System.Collections.Immutable;ImmutableList;get_IsEmpty;();summary;df-generated | | System.Collections.Immutable;ImmutableList;get_IsFixedSize;();summary;df-generated | @@ -23930,6 +25567,9 @@ neutral | System.Collections.Immutable;ImmutableSortedDictionary;Create;();summary;df-generated | | System.Collections.Immutable;ImmutableSortedDictionary;CreateBuilder;();summary;df-generated | | System.Collections.Immutable;ImmutableSortedDictionary;ToImmutableSortedDictionary;(System.Collections.Immutable.ImmutableSortedDictionary+Builder);summary;df-generated | +| System.Collections.Immutable;ImmutableSortedDictionary;ToImmutableSortedDictionary;(System.Collections.Generic.IEnumerable,System.Func,System.Func);summary;df-generated | +| System.Collections.Immutable;ImmutableSortedDictionary;ToImmutableSortedDictionary;(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Collections.Generic.IComparer);summary;df-generated | +| System.Collections.Immutable;ImmutableSortedDictionary;ToImmutableSortedDictionary;(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Collections.Generic.IComparer,System.Collections.Generic.IEqualityComparer);summary;df-generated | | System.Collections.Immutable;ImmutableSortedDictionary+Builder;Contains;(System.Collections.Generic.KeyValuePair);summary;df-generated | | System.Collections.Immutable;ImmutableSortedDictionary+Builder;Contains;(System.Object);summary;df-generated | | System.Collections.Immutable;ImmutableSortedDictionary+Builder;ContainsKey;(TKey);summary;df-generated | @@ -24074,6 +25714,10 @@ neutral | System.Collections.ObjectModel;ObservableCollection;OnPropertyChanged;(System.ComponentModel.PropertyChangedEventArgs);summary;df-generated | | System.Collections.ObjectModel;ObservableCollection;RemoveItem;(System.Int32);summary;df-generated | | System.Collections.ObjectModel;ObservableCollection;SetItem;(System.Int32,T);summary;df-generated | +| System.Collections.ObjectModel;ObservableCollection;add_CollectionChanged;(System.Collections.Specialized.NotifyCollectionChangedEventHandler);summary;df-generated | +| System.Collections.ObjectModel;ObservableCollection;add_PropertyChanged;(System.ComponentModel.PropertyChangedEventHandler);summary;df-generated | +| System.Collections.ObjectModel;ObservableCollection;remove_CollectionChanged;(System.Collections.Specialized.NotifyCollectionChangedEventHandler);summary;df-generated | +| System.Collections.ObjectModel;ObservableCollection;remove_PropertyChanged;(System.ComponentModel.PropertyChangedEventHandler);summary;df-generated | | System.Collections.ObjectModel;ReadOnlyCollection;Contains;(System.Object);summary;df-generated | | System.Collections.ObjectModel;ReadOnlyCollection;Contains;(T);summary;df-generated | | System.Collections.ObjectModel;ReadOnlyCollection;IndexOf;(System.Object);summary;df-generated | @@ -24115,7 +25759,11 @@ neutral | System.Collections.ObjectModel;ReadOnlyObservableCollection;OnCollectionChanged;(System.Collections.Specialized.NotifyCollectionChangedEventArgs);summary;df-generated | | System.Collections.ObjectModel;ReadOnlyObservableCollection;OnPropertyChanged;(System.ComponentModel.PropertyChangedEventArgs);summary;df-generated | | System.Collections.ObjectModel;ReadOnlyObservableCollection;ReadOnlyObservableCollection;(System.Collections.ObjectModel.ObservableCollection);summary;df-generated | +| System.Collections.ObjectModel;ReadOnlyObservableCollection;add_CollectionChanged;(System.Collections.Specialized.NotifyCollectionChangedEventHandler);summary;df-generated | +| System.Collections.ObjectModel;ReadOnlyObservableCollection;add_PropertyChanged;(System.ComponentModel.PropertyChangedEventHandler);summary;df-generated | | System.Collections.ObjectModel;ReadOnlyObservableCollection;get_Empty;();summary;df-generated | +| System.Collections.ObjectModel;ReadOnlyObservableCollection;remove_CollectionChanged;(System.Collections.Specialized.NotifyCollectionChangedEventHandler);summary;df-generated | +| System.Collections.ObjectModel;ReadOnlyObservableCollection;remove_PropertyChanged;(System.ComponentModel.PropertyChangedEventHandler);summary;df-generated | | System.Collections.Specialized;BitVector32+Section;Equals;(System.Collections.Specialized.BitVector32+Section);summary;df-generated | | System.Collections.Specialized;BitVector32+Section;Equals;(System.Object);summary;df-generated | | System.Collections.Specialized;BitVector32+Section;GetHashCode;();summary;df-generated | @@ -24153,6 +25801,8 @@ neutral | System.Collections.Specialized;HybridDictionary;get_IsFixedSize;();summary;df-generated | | System.Collections.Specialized;HybridDictionary;get_IsReadOnly;();summary;df-generated | | System.Collections.Specialized;HybridDictionary;get_IsSynchronized;();summary;df-generated | +| System.Collections.Specialized;INotifyCollectionChanged;add_CollectionChanged;(System.Collections.Specialized.NotifyCollectionChangedEventHandler);summary;df-generated | +| System.Collections.Specialized;INotifyCollectionChanged;remove_CollectionChanged;(System.Collections.Specialized.NotifyCollectionChangedEventHandler);summary;df-generated | | System.Collections.Specialized;IOrderedDictionary;GetEnumerator;();summary;df-generated | | System.Collections.Specialized;IOrderedDictionary;Insert;(System.Int32,System.Object,System.Object);summary;df-generated | | System.Collections.Specialized;IOrderedDictionary;RemoveAt;(System.Int32);summary;df-generated | @@ -24270,7 +25920,6 @@ neutral | System.Collections;BitArray;get_IsSynchronized;();summary;df-generated | | System.Collections;BitArray;get_Item;(System.Int32);summary;df-generated | | System.Collections;BitArray;set_Item;(System.Int32,System.Boolean);summary;df-generated | -| System.Collections;CaseInsensitiveComparer;Compare;(System.Object,System.Object);summary;df-generated | | System.Collections;CaseInsensitiveComparer;get_Default;();summary;df-generated | | System.Collections;CaseInsensitiveComparer;get_DefaultInvariant;();summary;df-generated | | System.Collections;CaseInsensitiveHashCodeProvider;GetHashCode;(System.Object);summary;df-generated | @@ -24292,7 +25941,6 @@ neutral | System.Collections;CollectionBase;get_IsFixedSize;();summary;df-generated | | System.Collections;CollectionBase;get_IsReadOnly;();summary;df-generated | | System.Collections;CollectionBase;get_IsSynchronized;();summary;df-generated | -| System.Collections;Comparer;Compare;(System.Object,System.Object);summary;df-generated | | System.Collections;DictionaryBase;Contains;(System.Object);summary;df-generated | | System.Collections;DictionaryBase;OnClear;();summary;df-generated | | System.Collections;DictionaryBase;OnClearComplete;();summary;df-generated | @@ -24329,15 +25977,12 @@ neutral | System.Collections;Hashtable;get_IsSynchronized;();summary;df-generated | | System.Collections;ICollection;get_Count;();summary;df-generated | | System.Collections;ICollection;get_IsSynchronized;();summary;df-generated | -| System.Collections;IComparer;Compare;(System.Object,System.Object);summary;df-generated | | System.Collections;IDictionary;Contains;(System.Object);summary;df-generated | | System.Collections;IDictionary;Remove;(System.Object);summary;df-generated | | System.Collections;IDictionary;get_IsFixedSize;();summary;df-generated | | System.Collections;IDictionary;get_IsReadOnly;();summary;df-generated | | System.Collections;IEnumerator;MoveNext;();summary;df-generated | | System.Collections;IEnumerator;Reset;();summary;df-generated | -| System.Collections;IEqualityComparer;Equals;(System.Object,System.Object);summary;df-generated | -| System.Collections;IEqualityComparer;GetHashCode;(System.Object);summary;df-generated | | System.Collections;IHashCodeProvider;GetHashCode;(System.Object);summary;df-generated | | System.Collections;IList;Contains;(System.Object);summary;df-generated | | System.Collections;IList;IndexOf;(System.Object);summary;df-generated | @@ -24475,7 +26120,6 @@ neutral | System.ComponentModel.DataAnnotations;ValidationAttribute;Validate;(System.Object,System.ComponentModel.DataAnnotations.ValidationContext);summary;df-generated | | System.ComponentModel.DataAnnotations;ValidationAttribute;Validate;(System.Object,System.String);summary;df-generated | | System.ComponentModel.DataAnnotations;ValidationAttribute;ValidationAttribute;(System.String);summary;df-generated | -| System.ComponentModel.DataAnnotations;ValidationAttribute;get_ErrorMessageString;();summary;df-generated | | System.ComponentModel.DataAnnotations;ValidationAttribute;get_RequiresValidationContext;();summary;df-generated | | System.ComponentModel.DataAnnotations;ValidationContext;ValidationContext;(System.Object);summary;df-generated | | System.ComponentModel.DataAnnotations;ValidationContext;ValidationContext;(System.Object,System.Collections.Generic.IDictionary);summary;df-generated | @@ -24538,8 +26182,12 @@ neutral | System.ComponentModel.Design.Serialization;IDesignerSerializationManager;RemoveSerializationProvider;(System.ComponentModel.Design.Serialization.IDesignerSerializationProvider);summary;df-generated | | System.ComponentModel.Design.Serialization;IDesignerSerializationManager;ReportError;(System.Object);summary;df-generated | | System.ComponentModel.Design.Serialization;IDesignerSerializationManager;SetName;(System.Object,System.String);summary;df-generated | +| System.ComponentModel.Design.Serialization;IDesignerSerializationManager;add_ResolveName;(System.ComponentModel.Design.Serialization.ResolveNameEventHandler);summary;df-generated | +| System.ComponentModel.Design.Serialization;IDesignerSerializationManager;add_SerializationComplete;(System.EventHandler);summary;df-generated | | System.ComponentModel.Design.Serialization;IDesignerSerializationManager;get_Context;();summary;df-generated | | System.ComponentModel.Design.Serialization;IDesignerSerializationManager;get_Properties;();summary;df-generated | +| System.ComponentModel.Design.Serialization;IDesignerSerializationManager;remove_ResolveName;(System.ComponentModel.Design.Serialization.ResolveNameEventHandler);summary;df-generated | +| System.ComponentModel.Design.Serialization;IDesignerSerializationManager;remove_SerializationComplete;(System.EventHandler);summary;df-generated | | System.ComponentModel.Design.Serialization;IDesignerSerializationProvider;GetSerializer;(System.ComponentModel.Design.Serialization.IDesignerSerializationManager,System.Object,System.Type,System.Type);summary;df-generated | | System.ComponentModel.Design.Serialization;IDesignerSerializationService;Deserialize;(System.Object);summary;df-generated | | System.ComponentModel.Design.Serialization;IDesignerSerializationService;Serialize;(System.Collections.ICollection);summary;df-generated | @@ -24641,6 +26289,8 @@ neutral | System.ComponentModel.Design;DesignerTransactionCloseEventArgs;DesignerTransactionCloseEventArgs;(System.Boolean,System.Boolean);summary;df-generated | | System.ComponentModel.Design;DesignerTransactionCloseEventArgs;get_LastTransaction;();summary;df-generated | | System.ComponentModel.Design;DesignerTransactionCloseEventArgs;get_TransactionCommitted;();summary;df-generated | +| System.ComponentModel.Design;DesignerVerb;DesignerVerb;(System.String,System.EventHandler);summary;df-generated | +| System.ComponentModel.Design;DesignerVerb;DesignerVerb;(System.String,System.EventHandler,System.ComponentModel.Design.CommandID);summary;df-generated | | System.ComponentModel.Design;DesignerVerbCollection;Contains;(System.ComponentModel.Design.DesignerVerb);summary;df-generated | | System.ComponentModel.Design;DesignerVerbCollection;IndexOf;(System.ComponentModel.Design.DesignerVerb);summary;df-generated | | System.ComponentModel.Design;DesignerVerbCollection;OnValidate;(System.Object);summary;df-generated | @@ -24655,6 +26305,20 @@ neutral | System.ComponentModel.Design;HelpKeywordAttribute;get_HelpKeyword;();summary;df-generated | | System.ComponentModel.Design;IComponentChangeService;OnComponentChanged;(System.Object,System.ComponentModel.MemberDescriptor,System.Object,System.Object);summary;df-generated | | System.ComponentModel.Design;IComponentChangeService;OnComponentChanging;(System.Object,System.ComponentModel.MemberDescriptor);summary;df-generated | +| System.ComponentModel.Design;IComponentChangeService;add_ComponentAdded;(System.ComponentModel.Design.ComponentEventHandler);summary;df-generated | +| System.ComponentModel.Design;IComponentChangeService;add_ComponentAdding;(System.ComponentModel.Design.ComponentEventHandler);summary;df-generated | +| System.ComponentModel.Design;IComponentChangeService;add_ComponentChanged;(System.ComponentModel.Design.ComponentChangedEventHandler);summary;df-generated | +| System.ComponentModel.Design;IComponentChangeService;add_ComponentChanging;(System.ComponentModel.Design.ComponentChangingEventHandler);summary;df-generated | +| System.ComponentModel.Design;IComponentChangeService;add_ComponentRemoved;(System.ComponentModel.Design.ComponentEventHandler);summary;df-generated | +| System.ComponentModel.Design;IComponentChangeService;add_ComponentRemoving;(System.ComponentModel.Design.ComponentEventHandler);summary;df-generated | +| System.ComponentModel.Design;IComponentChangeService;add_ComponentRename;(System.ComponentModel.Design.ComponentRenameEventHandler);summary;df-generated | +| System.ComponentModel.Design;IComponentChangeService;remove_ComponentAdded;(System.ComponentModel.Design.ComponentEventHandler);summary;df-generated | +| System.ComponentModel.Design;IComponentChangeService;remove_ComponentAdding;(System.ComponentModel.Design.ComponentEventHandler);summary;df-generated | +| System.ComponentModel.Design;IComponentChangeService;remove_ComponentChanged;(System.ComponentModel.Design.ComponentChangedEventHandler);summary;df-generated | +| System.ComponentModel.Design;IComponentChangeService;remove_ComponentChanging;(System.ComponentModel.Design.ComponentChangingEventHandler);summary;df-generated | +| System.ComponentModel.Design;IComponentChangeService;remove_ComponentRemoved;(System.ComponentModel.Design.ComponentEventHandler);summary;df-generated | +| System.ComponentModel.Design;IComponentChangeService;remove_ComponentRemoving;(System.ComponentModel.Design.ComponentEventHandler);summary;df-generated | +| System.ComponentModel.Design;IComponentChangeService;remove_ComponentRename;(System.ComponentModel.Design.ComponentRenameEventHandler);summary;df-generated | | System.ComponentModel.Design;IComponentDiscoveryService;GetComponentTypes;(System.ComponentModel.Design.IDesignerHost,System.Type);summary;df-generated | | System.ComponentModel.Design;IComponentInitializer;InitializeExistingComponent;(System.Collections.IDictionary);summary;df-generated | | System.ComponentModel.Design;IComponentInitializer;InitializeNewComponent;(System.Collections.IDictionary);summary;df-generated | @@ -24662,8 +26326,16 @@ neutral | System.ComponentModel.Design;IDesigner;Initialize;(System.ComponentModel.IComponent);summary;df-generated | | System.ComponentModel.Design;IDesigner;get_Component;();summary;df-generated | | System.ComponentModel.Design;IDesigner;get_Verbs;();summary;df-generated | +| System.ComponentModel.Design;IDesignerEventService;add_ActiveDesignerChanged;(System.ComponentModel.Design.ActiveDesignerEventHandler);summary;df-generated | +| System.ComponentModel.Design;IDesignerEventService;add_DesignerCreated;(System.ComponentModel.Design.DesignerEventHandler);summary;df-generated | +| System.ComponentModel.Design;IDesignerEventService;add_DesignerDisposed;(System.ComponentModel.Design.DesignerEventHandler);summary;df-generated | +| System.ComponentModel.Design;IDesignerEventService;add_SelectionChanged;(System.EventHandler);summary;df-generated | | System.ComponentModel.Design;IDesignerEventService;get_ActiveDesigner;();summary;df-generated | | System.ComponentModel.Design;IDesignerEventService;get_Designers;();summary;df-generated | +| System.ComponentModel.Design;IDesignerEventService;remove_ActiveDesignerChanged;(System.ComponentModel.Design.ActiveDesignerEventHandler);summary;df-generated | +| System.ComponentModel.Design;IDesignerEventService;remove_DesignerCreated;(System.ComponentModel.Design.DesignerEventHandler);summary;df-generated | +| System.ComponentModel.Design;IDesignerEventService;remove_DesignerDisposed;(System.ComponentModel.Design.DesignerEventHandler);summary;df-generated | +| System.ComponentModel.Design;IDesignerEventService;remove_SelectionChanged;(System.EventHandler);summary;df-generated | | System.ComponentModel.Design;IDesignerFilter;PostFilterAttributes;(System.Collections.IDictionary);summary;df-generated | | System.ComponentModel.Design;IDesignerFilter;PostFilterEvents;(System.Collections.IDictionary);summary;df-generated | | System.ComponentModel.Design;IDesignerFilter;PostFilterProperties;(System.Collections.IDictionary);summary;df-generated | @@ -24678,12 +26350,26 @@ neutral | System.ComponentModel.Design;IDesignerHost;DestroyComponent;(System.ComponentModel.IComponent);summary;df-generated | | System.ComponentModel.Design;IDesignerHost;GetDesigner;(System.ComponentModel.IComponent);summary;df-generated | | System.ComponentModel.Design;IDesignerHost;GetType;(System.String);summary;df-generated | +| System.ComponentModel.Design;IDesignerHost;add_Activated;(System.EventHandler);summary;df-generated | +| System.ComponentModel.Design;IDesignerHost;add_Deactivated;(System.EventHandler);summary;df-generated | +| System.ComponentModel.Design;IDesignerHost;add_LoadComplete;(System.EventHandler);summary;df-generated | +| System.ComponentModel.Design;IDesignerHost;add_TransactionClosed;(System.ComponentModel.Design.DesignerTransactionCloseEventHandler);summary;df-generated | +| System.ComponentModel.Design;IDesignerHost;add_TransactionClosing;(System.ComponentModel.Design.DesignerTransactionCloseEventHandler);summary;df-generated | +| System.ComponentModel.Design;IDesignerHost;add_TransactionOpened;(System.EventHandler);summary;df-generated | +| System.ComponentModel.Design;IDesignerHost;add_TransactionOpening;(System.EventHandler);summary;df-generated | | System.ComponentModel.Design;IDesignerHost;get_Container;();summary;df-generated | | System.ComponentModel.Design;IDesignerHost;get_InTransaction;();summary;df-generated | | System.ComponentModel.Design;IDesignerHost;get_Loading;();summary;df-generated | | System.ComponentModel.Design;IDesignerHost;get_RootComponent;();summary;df-generated | | System.ComponentModel.Design;IDesignerHost;get_RootComponentClassName;();summary;df-generated | | System.ComponentModel.Design;IDesignerHost;get_TransactionDescription;();summary;df-generated | +| System.ComponentModel.Design;IDesignerHost;remove_Activated;(System.EventHandler);summary;df-generated | +| System.ComponentModel.Design;IDesignerHost;remove_Deactivated;(System.EventHandler);summary;df-generated | +| System.ComponentModel.Design;IDesignerHost;remove_LoadComplete;(System.EventHandler);summary;df-generated | +| System.ComponentModel.Design;IDesignerHost;remove_TransactionClosed;(System.ComponentModel.Design.DesignerTransactionCloseEventHandler);summary;df-generated | +| System.ComponentModel.Design;IDesignerHost;remove_TransactionClosing;(System.ComponentModel.Design.DesignerTransactionCloseEventHandler);summary;df-generated | +| System.ComponentModel.Design;IDesignerHost;remove_TransactionOpened;(System.EventHandler);summary;df-generated | +| System.ComponentModel.Design;IDesignerHost;remove_TransactionOpening;(System.EventHandler);summary;df-generated | | System.ComponentModel.Design;IDesignerHostTransactionState;get_IsClosingTransaction;();summary;df-generated | | System.ComponentModel.Design;IDesignerOptionService;GetOptionValue;(System.String,System.String);summary;df-generated | | System.ComponentModel.Design;IDesignerOptionService;SetOptionValue;(System.String,System.String,System.Object);summary;df-generated | @@ -24731,8 +26417,14 @@ neutral | System.ComponentModel.Design;ISelectionService;GetSelectedComponents;();summary;df-generated | | System.ComponentModel.Design;ISelectionService;SetSelectedComponents;(System.Collections.ICollection);summary;df-generated | | System.ComponentModel.Design;ISelectionService;SetSelectedComponents;(System.Collections.ICollection,System.ComponentModel.Design.SelectionTypes);summary;df-generated | +| System.ComponentModel.Design;ISelectionService;add_SelectionChanged;(System.EventHandler);summary;df-generated | +| System.ComponentModel.Design;ISelectionService;add_SelectionChanging;(System.EventHandler);summary;df-generated | | System.ComponentModel.Design;ISelectionService;get_PrimarySelection;();summary;df-generated | | System.ComponentModel.Design;ISelectionService;get_SelectionCount;();summary;df-generated | +| System.ComponentModel.Design;ISelectionService;remove_SelectionChanged;(System.EventHandler);summary;df-generated | +| System.ComponentModel.Design;ISelectionService;remove_SelectionChanging;(System.EventHandler);summary;df-generated | +| System.ComponentModel.Design;IServiceContainer;AddService;(System.Type,System.ComponentModel.Design.ServiceCreatorCallback);summary;df-generated | +| System.ComponentModel.Design;IServiceContainer;AddService;(System.Type,System.ComponentModel.Design.ServiceCreatorCallback,System.Boolean);summary;df-generated | | System.ComponentModel.Design;IServiceContainer;AddService;(System.Type,System.Object);summary;df-generated | | System.ComponentModel.Design;IServiceContainer;AddService;(System.Type,System.Object,System.Boolean);summary;df-generated | | System.ComponentModel.Design;IServiceContainer;RemoveService;(System.Type);summary;df-generated | @@ -24752,10 +26444,15 @@ neutral | System.ComponentModel.Design;ITypeResolutionService;ReferenceAssembly;(System.Reflection.AssemblyName);summary;df-generated | | System.ComponentModel.Design;MenuCommand;Invoke;();summary;df-generated | | System.ComponentModel.Design;MenuCommand;Invoke;(System.Object);summary;df-generated | +| System.ComponentModel.Design;MenuCommand;MenuCommand;(System.EventHandler,System.ComponentModel.Design.CommandID);summary;df-generated | | System.ComponentModel.Design;MenuCommand;OnCommandChanged;(System.EventArgs);summary;df-generated | +| System.ComponentModel.Design;MenuCommand;add_CommandChanged;(System.EventHandler);summary;df-generated | | System.ComponentModel.Design;MenuCommand;get_CommandID;();summary;df-generated | | System.ComponentModel.Design;MenuCommand;get_OleStatus;();summary;df-generated | | System.ComponentModel.Design;MenuCommand;get_Properties;();summary;df-generated | +| System.ComponentModel.Design;MenuCommand;remove_CommandChanged;(System.EventHandler);summary;df-generated | +| System.ComponentModel.Design;ServiceContainer;AddService;(System.Type,System.ComponentModel.Design.ServiceCreatorCallback);summary;df-generated | +| System.ComponentModel.Design;ServiceContainer;AddService;(System.Type,System.ComponentModel.Design.ServiceCreatorCallback,System.Boolean);summary;df-generated | | System.ComponentModel.Design;ServiceContainer;AddService;(System.Type,System.Object);summary;df-generated | | System.ComponentModel.Design;ServiceContainer;AddService;(System.Type,System.Object,System.Boolean);summary;df-generated | | System.ComponentModel.Design;ServiceContainer;Dispose;();summary;df-generated | @@ -24787,6 +26484,8 @@ neutral | System.ComponentModel;AsyncCompletedEventArgs;get_Error;();summary;df-generated | | System.ComponentModel;AsyncCompletedEventArgs;get_UserState;();summary;df-generated | | System.ComponentModel;AsyncOperation;OperationCompleted;();summary;df-generated | +| System.ComponentModel;AsyncOperation;Post;(System.Threading.SendOrPostCallback,System.Object);summary;df-generated | +| System.ComponentModel;AsyncOperation;PostOperationCompleted;(System.Threading.SendOrPostCallback,System.Object);summary;df-generated | | System.ComponentModel;AsyncOperation;get_UserSuppliedState;();summary;df-generated | | System.ComponentModel;AsyncOperationManager;CreateOperation;(System.Object);summary;df-generated | | System.ComponentModel;AttributeCollection;Contains;(System.Attribute);summary;df-generated | @@ -24811,8 +26510,14 @@ neutral | System.ComponentModel;BackgroundWorker;ReportProgress;(System.Int32,System.Object);summary;df-generated | | System.ComponentModel;BackgroundWorker;RunWorkerAsync;();summary;df-generated | | System.ComponentModel;BackgroundWorker;RunWorkerAsync;(System.Object);summary;df-generated | +| System.ComponentModel;BackgroundWorker;add_DoWork;(System.ComponentModel.DoWorkEventHandler);summary;df-generated | +| System.ComponentModel;BackgroundWorker;add_ProgressChanged;(System.ComponentModel.ProgressChangedEventHandler);summary;df-generated | +| System.ComponentModel;BackgroundWorker;add_RunWorkerCompleted;(System.ComponentModel.RunWorkerCompletedEventHandler);summary;df-generated | | System.ComponentModel;BackgroundWorker;get_CancellationPending;();summary;df-generated | | System.ComponentModel;BackgroundWorker;get_IsBusy;();summary;df-generated | +| System.ComponentModel;BackgroundWorker;remove_DoWork;(System.ComponentModel.DoWorkEventHandler);summary;df-generated | +| System.ComponentModel;BackgroundWorker;remove_ProgressChanged;(System.ComponentModel.ProgressChangedEventHandler);summary;df-generated | +| System.ComponentModel;BackgroundWorker;remove_RunWorkerCompleted;(System.ComponentModel.RunWorkerCompletedEventHandler);summary;df-generated | | System.ComponentModel;BaseNumberConverter;CanConvertFrom;(System.ComponentModel.ITypeDescriptorContext,System.Type);summary;df-generated | | System.ComponentModel;BaseNumberConverter;CanConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Type);summary;df-generated | | System.ComponentModel;BindableAttribute;BindableAttribute;(System.Boolean);summary;df-generated | @@ -24834,8 +26539,6 @@ neutral | System.ComponentModel;BindingList;EndNew;(System.Int32);summary;df-generated | | System.ComponentModel;BindingList;FindCore;(System.ComponentModel.PropertyDescriptor,System.Object);summary;df-generated | | System.ComponentModel;BindingList;InsertItem;(System.Int32,T);summary;df-generated | -| System.ComponentModel;BindingList;OnAddingNew;(System.ComponentModel.AddingNewEventArgs);summary;df-generated | -| System.ComponentModel;BindingList;OnListChanged;(System.ComponentModel.ListChangedEventArgs);summary;df-generated | | System.ComponentModel;BindingList;RemoveIndex;(System.ComponentModel.PropertyDescriptor);summary;df-generated | | System.ComponentModel;BindingList;RemoveItem;(System.Int32);summary;df-generated | | System.ComponentModel;BindingList;RemoveSort;();summary;df-generated | @@ -24843,6 +26546,8 @@ neutral | System.ComponentModel;BindingList;ResetBindings;();summary;df-generated | | System.ComponentModel;BindingList;ResetItem;(System.Int32);summary;df-generated | | System.ComponentModel;BindingList;SetItem;(System.Int32,T);summary;df-generated | +| System.ComponentModel;BindingList;add_AddingNew;(System.ComponentModel.AddingNewEventHandler);summary;df-generated | +| System.ComponentModel;BindingList;add_ListChanged;(System.ComponentModel.ListChangedEventHandler);summary;df-generated | | System.ComponentModel;BindingList;get_AllowEdit;();summary;df-generated | | System.ComponentModel;BindingList;get_AllowNew;();summary;df-generated | | System.ComponentModel;BindingList;get_AllowRemove;();summary;df-generated | @@ -24859,6 +26564,8 @@ neutral | System.ComponentModel;BindingList;get_SupportsSearchingCore;();summary;df-generated | | System.ComponentModel;BindingList;get_SupportsSorting;();summary;df-generated | | System.ComponentModel;BindingList;get_SupportsSortingCore;();summary;df-generated | +| System.ComponentModel;BindingList;remove_AddingNew;(System.ComponentModel.AddingNewEventHandler);summary;df-generated | +| System.ComponentModel;BindingList;remove_ListChanged;(System.ComponentModel.ListChangedEventHandler);summary;df-generated | | System.ComponentModel;BooleanConverter;CanConvertFrom;(System.ComponentModel.ITypeDescriptorContext,System.Type);summary;df-generated | | System.ComponentModel;BooleanConverter;GetStandardValuesExclusive;(System.ComponentModel.ITypeDescriptorContext);summary;df-generated | | System.ComponentModel;BooleanConverter;GetStandardValuesSupported;(System.ComponentModel.ITypeDescriptorContext);summary;df-generated | @@ -24899,9 +26606,11 @@ neutral | System.ComponentModel;Component;Dispose;();summary;df-generated | | System.ComponentModel;Component;Dispose;(System.Boolean);summary;df-generated | | System.ComponentModel;Component;GetService;(System.Type);summary;df-generated | +| System.ComponentModel;Component;add_Disposed;(System.EventHandler);summary;df-generated | | System.ComponentModel;Component;get_CanRaiseEvents;();summary;df-generated | | System.ComponentModel;Component;get_DesignMode;();summary;df-generated | | System.ComponentModel;Component;get_Events;();summary;df-generated | +| System.ComponentModel;Component;remove_Disposed;(System.EventHandler);summary;df-generated | | System.ComponentModel;ComponentConverter;ComponentConverter;(System.Type);summary;df-generated | | System.ComponentModel;ComponentConverter;GetPropertiesSupported;(System.ComponentModel.ITypeDescriptorContext);summary;df-generated | | System.ComponentModel;ComponentEditor;EditComponent;(System.ComponentModel.ITypeDescriptorContext,System.Object);summary;df-generated | @@ -25076,6 +26785,7 @@ neutral | System.ComponentModel;IBindingList;AddNew;();summary;df-generated | | System.ComponentModel;IBindingList;RemoveIndex;(System.ComponentModel.PropertyDescriptor);summary;df-generated | | System.ComponentModel;IBindingList;RemoveSort;();summary;df-generated | +| System.ComponentModel;IBindingList;add_ListChanged;(System.ComponentModel.ListChangedEventHandler);summary;df-generated | | System.ComponentModel;IBindingList;get_AllowEdit;();summary;df-generated | | System.ComponentModel;IBindingList;get_AllowNew;();summary;df-generated | | System.ComponentModel;IBindingList;get_AllowRemove;();summary;df-generated | @@ -25085,6 +26795,7 @@ neutral | System.ComponentModel;IBindingList;get_SupportsChangeNotification;();summary;df-generated | | System.ComponentModel;IBindingList;get_SupportsSearching;();summary;df-generated | | System.ComponentModel;IBindingList;get_SupportsSorting;();summary;df-generated | +| System.ComponentModel;IBindingList;remove_ListChanged;(System.ComponentModel.ListChangedEventHandler);summary;df-generated | | System.ComponentModel;IBindingListView;RemoveFilter;();summary;df-generated | | System.ComponentModel;IBindingListView;get_SortDescriptions;();summary;df-generated | | System.ComponentModel;IBindingListView;get_SupportsAdvancedSorting;();summary;df-generated | @@ -25105,6 +26816,8 @@ neutral | System.ComponentModel;IComNativeDescriptorHandler;GetProperties;(System.Object,System.Attribute[]);summary;df-generated | | System.ComponentModel;IComNativeDescriptorHandler;GetPropertyValue;(System.Object,System.Int32,System.Boolean);summary;df-generated | | System.ComponentModel;IComNativeDescriptorHandler;GetPropertyValue;(System.Object,System.String,System.Boolean);summary;df-generated | +| System.ComponentModel;IComponent;add_Disposed;(System.EventHandler);summary;df-generated | +| System.ComponentModel;IComponent;remove_Disposed;(System.EventHandler);summary;df-generated | | System.ComponentModel;IContainer;Remove;(System.ComponentModel.IComponent);summary;df-generated | | System.ComponentModel;ICustomTypeDescriptor;GetAttributes;();summary;df-generated | | System.ComponentModel;ICustomTypeDescriptor;GetClassName;();summary;df-generated | @@ -25126,7 +26839,13 @@ neutral | System.ComponentModel;IListSource;get_ContainsListCollection;();summary;df-generated | | System.ComponentModel;INestedContainer;get_Owner;();summary;df-generated | | System.ComponentModel;INotifyDataErrorInfo;GetErrors;(System.String);summary;df-generated | +| System.ComponentModel;INotifyDataErrorInfo;add_ErrorsChanged;(System.EventHandler);summary;df-generated | | System.ComponentModel;INotifyDataErrorInfo;get_HasErrors;();summary;df-generated | +| System.ComponentModel;INotifyDataErrorInfo;remove_ErrorsChanged;(System.EventHandler);summary;df-generated | +| System.ComponentModel;INotifyPropertyChanged;add_PropertyChanged;(System.ComponentModel.PropertyChangedEventHandler);summary;df-generated | +| System.ComponentModel;INotifyPropertyChanged;remove_PropertyChanged;(System.ComponentModel.PropertyChangedEventHandler);summary;df-generated | +| System.ComponentModel;INotifyPropertyChanging;add_PropertyChanging;(System.ComponentModel.PropertyChangingEventHandler);summary;df-generated | +| System.ComponentModel;INotifyPropertyChanging;remove_PropertyChanging;(System.ComponentModel.PropertyChangingEventHandler);summary;df-generated | | System.ComponentModel;IRaiseItemChangedEvents;get_RaisesItemChangedEvents;();summary;df-generated | | System.ComponentModel;IRevertibleChangeTracking;RejectChanges;();summary;df-generated | | System.ComponentModel;ISite;get_Component;();summary;df-generated | @@ -25134,7 +26853,9 @@ neutral | System.ComponentModel;ISite;get_DesignMode;();summary;df-generated | | System.ComponentModel;ISupportInitialize;BeginInit;();summary;df-generated | | System.ComponentModel;ISupportInitialize;EndInit;();summary;df-generated | +| System.ComponentModel;ISupportInitializeNotification;add_Initialized;(System.EventHandler);summary;df-generated | | System.ComponentModel;ISupportInitializeNotification;get_IsInitialized;();summary;df-generated | +| System.ComponentModel;ISupportInitializeNotification;remove_Initialized;(System.EventHandler);summary;df-generated | | System.ComponentModel;ISynchronizeInvoke;BeginInvoke;(System.Delegate,System.Object[]);summary;df-generated | | System.ComponentModel;ISynchronizeInvoke;EndInvoke;(System.IAsyncResult);summary;df-generated | | System.ComponentModel;ISynchronizeInvoke;Invoke;(System.Delegate,System.Object[]);summary;df-generated | @@ -25230,8 +26951,10 @@ neutral | System.ComponentModel;LookupBindingPropertiesAttribute;get_ValueMember;();summary;df-generated | | System.ComponentModel;MarshalByValueComponent;Dispose;();summary;df-generated | | System.ComponentModel;MarshalByValueComponent;Dispose;(System.Boolean);summary;df-generated | +| System.ComponentModel;MarshalByValueComponent;add_Disposed;(System.EventHandler);summary;df-generated | | System.ComponentModel;MarshalByValueComponent;get_DesignMode;();summary;df-generated | | System.ComponentModel;MarshalByValueComponent;get_Events;();summary;df-generated | +| System.ComponentModel;MarshalByValueComponent;remove_Disposed;(System.EventHandler);summary;df-generated | | System.ComponentModel;MaskedTextProvider;Add;(System.Char);summary;df-generated | | System.ComponentModel;MaskedTextProvider;Add;(System.Char,System.Int32,System.ComponentModel.MaskedTextResultHint);summary;df-generated | | System.ComponentModel;MaskedTextProvider;Add;(System.String);summary;df-generated | @@ -25347,6 +27070,7 @@ neutral | System.ComponentModel;PropertyChangedEventArgs;get_PropertyName;();summary;df-generated | | System.ComponentModel;PropertyChangingEventArgs;PropertyChangingEventArgs;(System.String);summary;df-generated | | System.ComponentModel;PropertyChangingEventArgs;get_PropertyName;();summary;df-generated | +| System.ComponentModel;PropertyDescriptor;AddValueChanged;(System.Object,System.EventHandler);summary;df-generated | | System.ComponentModel;PropertyDescriptor;CanResetValue;(System.Object);summary;df-generated | | System.ComponentModel;PropertyDescriptor;CreateInstance;(System.Type);summary;df-generated | | System.ComponentModel;PropertyDescriptor;Equals;(System.Object);summary;df-generated | @@ -25361,6 +27085,7 @@ neutral | System.ComponentModel;PropertyDescriptor;PropertyDescriptor;(System.ComponentModel.MemberDescriptor);summary;df-generated | | System.ComponentModel;PropertyDescriptor;PropertyDescriptor;(System.ComponentModel.MemberDescriptor,System.Attribute[]);summary;df-generated | | System.ComponentModel;PropertyDescriptor;PropertyDescriptor;(System.String,System.Attribute[]);summary;df-generated | +| System.ComponentModel;PropertyDescriptor;RemoveValueChanged;(System.Object,System.EventHandler);summary;df-generated | | System.ComponentModel;PropertyDescriptor;ShouldSerializeValue;(System.Object);summary;df-generated | | System.ComponentModel;PropertyDescriptor;get_ComponentType;();summary;df-generated | | System.ComponentModel;PropertyDescriptor;get_IsLocalizable;();summary;df-generated | @@ -25547,8 +27272,10 @@ neutral | System.ComponentModel;TypeDescriptor;RemoveProviderTransparent;(System.ComponentModel.TypeDescriptionProvider,System.Object);summary;df-generated | | System.ComponentModel;TypeDescriptor;RemoveProviderTransparent;(System.ComponentModel.TypeDescriptionProvider,System.Type);summary;df-generated | | System.ComponentModel;TypeDescriptor;SortDescriptorArray;(System.Collections.IList);summary;df-generated | +| System.ComponentModel;TypeDescriptor;add_Refreshed;(System.ComponentModel.RefreshEventHandler);summary;df-generated | | System.ComponentModel;TypeDescriptor;get_ComObjectType;();summary;df-generated | | System.ComponentModel;TypeDescriptor;get_InterfaceType;();summary;df-generated | +| System.ComponentModel;TypeDescriptor;remove_Refreshed;(System.ComponentModel.RefreshEventHandler);summary;df-generated | | System.ComponentModel;TypeListConverter;CanConvertFrom;(System.ComponentModel.ITypeDescriptorContext,System.Type);summary;df-generated | | System.ComponentModel;TypeListConverter;CanConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Type);summary;df-generated | | System.ComponentModel;TypeListConverter;GetStandardValuesExclusive;(System.ComponentModel.ITypeDescriptorContext);summary;df-generated | @@ -25593,6 +27320,8 @@ neutral | System.Configuration.Internal;DelegatingConfigHost;PrefetchSection;(System.String,System.String);summary;df-generated | | System.Configuration.Internal;DelegatingConfigHost;RefreshConfigPaths;();summary;df-generated | | System.Configuration.Internal;DelegatingConfigHost;RequireCompleteInit;(System.Configuration.Internal.IInternalConfigRecord);summary;df-generated | +| System.Configuration.Internal;DelegatingConfigHost;StartMonitoringStreamForChanges;(System.String,System.Configuration.Internal.StreamChangeCallback);summary;df-generated | +| System.Configuration.Internal;DelegatingConfigHost;StopMonitoringStreamForChanges;(System.String,System.Configuration.Internal.StreamChangeCallback);summary;df-generated | | System.Configuration.Internal;DelegatingConfigHost;VerifyDefinitionAllowed;(System.String,System.Configuration.ConfigurationAllowDefinition,System.Configuration.ConfigurationAllowExeDefinition,System.Configuration.Internal.IConfigErrorInfo);summary;df-generated | | System.Configuration.Internal;DelegatingConfigHost;WriteCompleted;(System.String,System.Boolean,System.Object);summary;df-generated | | System.Configuration.Internal;DelegatingConfigHost;WriteCompleted;(System.String,System.Boolean,System.Object,System.Boolean);summary;df-generated | @@ -25646,6 +27375,8 @@ neutral | System.Configuration.Internal;IInternalConfigHost;PrefetchAll;(System.String,System.String);summary;df-generated | | System.Configuration.Internal;IInternalConfigHost;PrefetchSection;(System.String,System.String);summary;df-generated | | System.Configuration.Internal;IInternalConfigHost;RequireCompleteInit;(System.Configuration.Internal.IInternalConfigRecord);summary;df-generated | +| System.Configuration.Internal;IInternalConfigHost;StartMonitoringStreamForChanges;(System.String,System.Configuration.Internal.StreamChangeCallback);summary;df-generated | +| System.Configuration.Internal;IInternalConfigHost;StopMonitoringStreamForChanges;(System.String,System.Configuration.Internal.StreamChangeCallback);summary;df-generated | | System.Configuration.Internal;IInternalConfigHost;VerifyDefinitionAllowed;(System.String,System.Configuration.ConfigurationAllowDefinition,System.Configuration.ConfigurationAllowExeDefinition,System.Configuration.Internal.IConfigErrorInfo);summary;df-generated | | System.Configuration.Internal;IInternalConfigHost;WriteCompleted;(System.String,System.Boolean,System.Object);summary;df-generated | | System.Configuration.Internal;IInternalConfigHost;WriteCompleted;(System.String,System.Boolean,System.Object,System.Boolean);summary;df-generated | @@ -25659,7 +27390,11 @@ neutral | System.Configuration.Internal;IInternalConfigRecord;ThrowIfInitErrors;();summary;df-generated | | System.Configuration.Internal;IInternalConfigRecord;get_HasInitErrors;();summary;df-generated | | System.Configuration.Internal;IInternalConfigRoot;RemoveConfig;(System.String);summary;df-generated | +| System.Configuration.Internal;IInternalConfigRoot;add_ConfigChanged;(System.Configuration.Internal.InternalConfigEventHandler);summary;df-generated | +| System.Configuration.Internal;IInternalConfigRoot;add_ConfigRemoved;(System.Configuration.Internal.InternalConfigEventHandler);summary;df-generated | | System.Configuration.Internal;IInternalConfigRoot;get_IsDesignTime;();summary;df-generated | +| System.Configuration.Internal;IInternalConfigRoot;remove_ConfigChanged;(System.Configuration.Internal.InternalConfigEventHandler);summary;df-generated | +| System.Configuration.Internal;IInternalConfigRoot;remove_ConfigRemoved;(System.Configuration.Internal.InternalConfigEventHandler);summary;df-generated | | System.Configuration.Internal;IInternalConfigSettingsFactory;CompleteInit;();summary;df-generated | | System.Configuration.Internal;IInternalConfigSettingsFactory;SetConfigurationSystem;(System.Configuration.Internal.IInternalConfigSystem,System.Boolean);summary;df-generated | | System.Configuration.Internal;IInternalConfigSystem;RefreshConfig;(System.String);summary;df-generated | @@ -25675,17 +27410,21 @@ neutral | System.Configuration.Provider;ProviderException;ProviderException;(System.String,System.Exception);summary;df-generated | | System.Configuration;ApplicationSettingsBase;ApplicationSettingsBase;(System.ComponentModel.IComponent);summary;df-generated | | System.Configuration;ApplicationSettingsBase;GetPreviousVersion;(System.String);summary;df-generated | -| System.Configuration;ApplicationSettingsBase;OnPropertyChanged;(System.Object,System.ComponentModel.PropertyChangedEventArgs);summary;df-generated | -| System.Configuration;ApplicationSettingsBase;OnSettingChanging;(System.Object,System.Configuration.SettingChangingEventArgs);summary;df-generated | -| System.Configuration;ApplicationSettingsBase;OnSettingsLoaded;(System.Object,System.Configuration.SettingsLoadedEventArgs);summary;df-generated | -| System.Configuration;ApplicationSettingsBase;OnSettingsSaving;(System.Object,System.ComponentModel.CancelEventArgs);summary;df-generated | | System.Configuration;ApplicationSettingsBase;Reload;();summary;df-generated | | System.Configuration;ApplicationSettingsBase;Reset;();summary;df-generated | | System.Configuration;ApplicationSettingsBase;Save;();summary;df-generated | | System.Configuration;ApplicationSettingsBase;Upgrade;();summary;df-generated | +| System.Configuration;ApplicationSettingsBase;add_PropertyChanged;(System.ComponentModel.PropertyChangedEventHandler);summary;df-generated | +| System.Configuration;ApplicationSettingsBase;add_SettingChanging;(System.Configuration.SettingChangingEventHandler);summary;df-generated | +| System.Configuration;ApplicationSettingsBase;add_SettingsLoaded;(System.Configuration.SettingsLoadedEventHandler);summary;df-generated | +| System.Configuration;ApplicationSettingsBase;add_SettingsSaving;(System.Configuration.SettingsSavingEventHandler);summary;df-generated | +| System.Configuration;ApplicationSettingsBase;remove_PropertyChanged;(System.ComponentModel.PropertyChangedEventHandler);summary;df-generated | +| System.Configuration;ApplicationSettingsBase;remove_SettingChanging;(System.Configuration.SettingChangingEventHandler);summary;df-generated | +| System.Configuration;ApplicationSettingsBase;remove_SettingsLoaded;(System.Configuration.SettingsLoadedEventHandler);summary;df-generated | +| System.Configuration;ApplicationSettingsBase;remove_SettingsSaving;(System.Configuration.SettingsSavingEventHandler);summary;df-generated | | System.Configuration;ApplicationSettingsBase;set_Item;(System.String,System.Object);summary;df-generated | +| System.Configuration;CallbackValidator;CallbackValidator;(System.Type,System.Configuration.ValidatorCallback);summary;df-generated | | System.Configuration;CallbackValidator;CanValidate;(System.Type);summary;df-generated | -| System.Configuration;CallbackValidator;Validate;(System.Object);summary;df-generated | | System.Configuration;CommaDelimitedStringCollection;Remove;(System.String);summary;df-generated | | System.Configuration;CommaDelimitedStringCollection;SetReadOnly;();summary;df-generated | | System.Configuration;CommaDelimitedStringCollection;get_IsModified;();summary;df-generated | @@ -25822,7 +27561,6 @@ neutral | System.Configuration;ConfigurationValidatorAttribute;ConfigurationValidatorAttribute;(System.Type);summary;df-generated | | System.Configuration;ConfigurationValidatorAttribute;get_ValidatorType;();summary;df-generated | | System.Configuration;ConfigurationValidatorBase;CanValidate;(System.Type);summary;df-generated | -| System.Configuration;ConfigurationValidatorBase;Validate;(System.Object);summary;df-generated | | System.Configuration;ConnectionStringSettings;ConnectionStringSettings;(System.String,System.String);summary;df-generated | | System.Configuration;ConnectionStringSettings;ConnectionStringSettings;(System.String,System.String,System.String);summary;df-generated | | System.Configuration;ConnectionStringSettingsCollection;CreateNewElement;();summary;df-generated | @@ -25834,7 +27572,6 @@ neutral | System.Configuration;DefaultSection;IsModified;();summary;df-generated | | System.Configuration;DefaultSection;ResetModified;();summary;df-generated | | System.Configuration;DefaultValidator;CanValidate;(System.Type);summary;df-generated | -| System.Configuration;DefaultValidator;Validate;(System.Object);summary;df-generated | | System.Configuration;DictionarySectionHandler;get_KeyAttributeName;();summary;df-generated | | System.Configuration;DictionarySectionHandler;get_ValueAttributeName;();summary;df-generated | | System.Configuration;DpapiProtectedConfigurationProvider;Decrypt;(System.Xml.XmlNode);summary;df-generated | @@ -25867,7 +27604,6 @@ neutral | System.Configuration;IntegerValidator;IntegerValidator;(System.Int32,System.Int32);summary;df-generated | | System.Configuration;IntegerValidator;IntegerValidator;(System.Int32,System.Int32,System.Boolean);summary;df-generated | | System.Configuration;IntegerValidator;IntegerValidator;(System.Int32,System.Int32,System.Boolean,System.Int32);summary;df-generated | -| System.Configuration;IntegerValidator;Validate;(System.Object);summary;df-generated | | System.Configuration;KeyValueConfigurationCollection;Add;(System.String,System.String);summary;df-generated | | System.Configuration;KeyValueConfigurationCollection;CreateNewElement;();summary;df-generated | | System.Configuration;KeyValueConfigurationCollection;Remove;(System.String);summary;df-generated | @@ -25881,7 +27617,6 @@ neutral | System.Configuration;LongValidator;LongValidator;(System.Int64,System.Int64);summary;df-generated | | System.Configuration;LongValidator;LongValidator;(System.Int64,System.Int64,System.Boolean);summary;df-generated | | System.Configuration;LongValidator;LongValidator;(System.Int64,System.Int64,System.Boolean,System.Int64);summary;df-generated | -| System.Configuration;LongValidator;Validate;(System.Object);summary;df-generated | | System.Configuration;NameValueConfigurationCollection;CreateNewElement;();summary;df-generated | | System.Configuration;NameValueConfigurationCollection;Remove;(System.Configuration.NameValueConfigurationElement);summary;df-generated | | System.Configuration;NameValueConfigurationCollection;Remove;(System.String);summary;df-generated | @@ -25889,7 +27624,6 @@ neutral | System.Configuration;NameValueSectionHandler;get_KeyAttributeName;();summary;df-generated | | System.Configuration;NameValueSectionHandler;get_ValueAttributeName;();summary;df-generated | | System.Configuration;PositiveTimeSpanValidator;CanValidate;(System.Type);summary;df-generated | -| System.Configuration;PositiveTimeSpanValidator;Validate;(System.Object);summary;df-generated | | System.Configuration;PropertyInformation;get_IsKey;();summary;df-generated | | System.Configuration;PropertyInformation;get_IsLocked;();summary;df-generated | | System.Configuration;PropertyInformation;get_IsModified;();summary;df-generated | @@ -25911,7 +27645,6 @@ neutral | System.Configuration;ProviderSettingsCollection;CreateNewElement;();summary;df-generated | | System.Configuration;ProviderSettingsCollection;Remove;(System.String);summary;df-generated | | System.Configuration;RegexStringValidator;CanValidate;(System.Type);summary;df-generated | -| System.Configuration;RegexStringValidator;Validate;(System.Object);summary;df-generated | | System.Configuration;RegexStringValidatorAttribute;RegexStringValidatorAttribute;(System.String);summary;df-generated | | System.Configuration;RegexStringValidatorAttribute;get_Regex;();summary;df-generated | | System.Configuration;RsaProtectedConfigurationProvider;AddKey;(System.Int32,System.Boolean);summary;df-generated | @@ -25997,16 +27730,13 @@ neutral | System.Configuration;StringValidator;CanValidate;(System.Type);summary;df-generated | | System.Configuration;StringValidator;StringValidator;(System.Int32);summary;df-generated | | System.Configuration;StringValidator;StringValidator;(System.Int32,System.Int32);summary;df-generated | -| System.Configuration;StringValidator;Validate;(System.Object);summary;df-generated | | System.Configuration;SubclassTypeValidator;CanValidate;(System.Type);summary;df-generated | | System.Configuration;SubclassTypeValidator;SubclassTypeValidator;(System.Type);summary;df-generated | -| System.Configuration;SubclassTypeValidator;Validate;(System.Object);summary;df-generated | | System.Configuration;SubclassTypeValidatorAttribute;SubclassTypeValidatorAttribute;(System.Type);summary;df-generated | | System.Configuration;SubclassTypeValidatorAttribute;get_BaseClass;();summary;df-generated | | System.Configuration;TimeSpanValidator;CanValidate;(System.Type);summary;df-generated | | System.Configuration;TimeSpanValidator;TimeSpanValidator;(System.TimeSpan,System.TimeSpan);summary;df-generated | | System.Configuration;TimeSpanValidator;TimeSpanValidator;(System.TimeSpan,System.TimeSpan,System.Boolean);summary;df-generated | -| System.Configuration;TimeSpanValidator;Validate;(System.Object);summary;df-generated | | System.Data.Common;DBDataPermission;Add;(System.String,System.String,System.Data.KeyRestrictionBehavior);summary;df-generated | | System.Data.Common;DBDataPermission;Clear;();summary;df-generated | | System.Data.Common;DBDataPermission;CreateInstance;();summary;df-generated | @@ -26038,7 +27768,9 @@ neutral | System.Data.Common;DataAdapter;ShouldSerializeFillLoadOption;();summary;df-generated | | System.Data.Common;DataAdapter;ShouldSerializeTableMappings;();summary;df-generated | | System.Data.Common;DataAdapter;Update;(System.Data.DataSet);summary;df-generated | +| System.Data.Common;DataAdapter;add_FillError;(System.Data.FillErrorEventHandler);summary;df-generated | | System.Data.Common;DataAdapter;get_TableMappings;();summary;df-generated | +| System.Data.Common;DataAdapter;remove_FillError;(System.Data.FillErrorEventHandler);summary;df-generated | | System.Data.Common;DataColumnMappingCollection;Contains;(System.Object);summary;df-generated | | System.Data.Common;DataColumnMappingCollection;Contains;(System.String);summary;df-generated | | System.Data.Common;DataColumnMappingCollection;IndexOf;(System.Object);summary;df-generated | @@ -26142,12 +27874,14 @@ neutral | System.Data.Common;DbConnection;Open;();summary;df-generated | | System.Data.Common;DbConnection;OpenAsync;();summary;df-generated | | System.Data.Common;DbConnection;OpenAsync;(System.Threading.CancellationToken);summary;df-generated | +| System.Data.Common;DbConnection;add_StateChange;(System.Data.StateChangeEventHandler);summary;df-generated | | System.Data.Common;DbConnection;get_CanCreateBatch;();summary;df-generated | | System.Data.Common;DbConnection;get_ConnectionTimeout;();summary;df-generated | | System.Data.Common;DbConnection;get_DataSource;();summary;df-generated | | System.Data.Common;DbConnection;get_Database;();summary;df-generated | | System.Data.Common;DbConnection;get_DbProviderFactory;();summary;df-generated | | System.Data.Common;DbConnection;get_State;();summary;df-generated | +| System.Data.Common;DbConnection;remove_StateChange;(System.Data.StateChangeEventHandler);summary;df-generated | | System.Data.Common;DbConnectionStringBuilder;ClearPropertyDescriptors;();summary;df-generated | | System.Data.Common;DbConnectionStringBuilder;Contains;(System.Object);summary;df-generated | | System.Data.Common;DbConnectionStringBuilder;ContainsKey;(System.String);summary;df-generated | @@ -26445,6 +28179,10 @@ neutral | System.Data.Entity.Core.Objects.DataClasses;EntityCollection;get_ContainsListCollection;();summary;df-generated | | System.Data.Entity.Core.Objects.DataClasses;EntityCollection;get_Count;();summary;df-generated | | System.Data.Entity.Core.Objects.DataClasses;EntityCollection;get_IsReadOnly;();summary;df-generated | +| System.Data.Entity.Core.Objects.DataClasses;StructuralObject;add_PropertyChanged;(System.ComponentModel.PropertyChangedEventHandler);summary;df-generated | +| System.Data.Entity.Core.Objects.DataClasses;StructuralObject;add_PropertyChanging;(System.ComponentModel.PropertyChangingEventHandler);summary;df-generated | +| System.Data.Entity.Core.Objects.DataClasses;StructuralObject;remove_PropertyChanged;(System.ComponentModel.PropertyChangedEventHandler);summary;df-generated | +| System.Data.Entity.Core.Objects.DataClasses;StructuralObject;remove_PropertyChanging;(System.ComponentModel.PropertyChangingEventHandler);summary;df-generated | | System.Data.Entity.Core.Objects;DbUpdatableDataRecord;GetBoolean;(System.Int32);summary;df-generated | | System.Data.Entity.Core.Objects;DbUpdatableDataRecord;GetByte;(System.Int32);summary;df-generated | | System.Data.Entity.Core.Objects;DbUpdatableDataRecord;GetBytes;(System.Int32,System.Int64,System.Byte[],System.Int32,System.Int32);summary;df-generated | @@ -26508,6 +28246,14 @@ neutral | System.Data.Entity.Migrations.Utilities;IndentedTextWriter;WriteLine;(System.Int64);summary;df-generated | | System.Data.Entity.Migrations.Utilities;IndentedTextWriter;WriteLine;(System.Single);summary;df-generated | | System.Data.Entity.Migrations.Utilities;IndentedTextWriter;WriteLine;(System.UInt32);summary;df-generated | +| System.Data.Entity.SqlServer.Utilities;TaskExtensions+CultureAwaiter;OnCompleted;(System.Action);summary;df-generated | +| System.Data.Entity.SqlServer.Utilities;TaskExtensions+CultureAwaiter;UnsafeOnCompleted;(System.Action);summary;df-generated | +| System.Data.Entity.SqlServer.Utilities;TaskExtensions+CultureAwaiter;OnCompleted;(System.Action);summary;df-generated | +| System.Data.Entity.SqlServer.Utilities;TaskExtensions+CultureAwaiter;UnsafeOnCompleted;(System.Action);summary;df-generated | +| System.Data.Entity.Utilities;TaskExtensions+CultureAwaiter;OnCompleted;(System.Action);summary;df-generated | +| System.Data.Entity.Utilities;TaskExtensions+CultureAwaiter;UnsafeOnCompleted;(System.Action);summary;df-generated | +| System.Data.Entity.Utilities;TaskExtensions+CultureAwaiter;OnCompleted;(System.Action);summary;df-generated | +| System.Data.Entity.Utilities;TaskExtensions+CultureAwaiter;UnsafeOnCompleted;(System.Action);summary;df-generated | | System.Data.Entity;DbContext;Dispose;();summary;df-generated | | System.Data.Entity;DbContextTransaction;Dispose;();summary;df-generated | | System.Data.Odbc;OdbcPermission;Add;(System.String,System.String,System.Data.KeyRestrictionBehavior);summary;df-generated | @@ -27274,6 +29020,8 @@ neutral | System.Data;ConstraintCollection;Remove;(System.Data.Constraint);summary;df-generated | | System.Data;ConstraintCollection;Remove;(System.String);summary;df-generated | | System.Data;ConstraintCollection;RemoveAt;(System.Int32);summary;df-generated | +| System.Data;ConstraintCollection;add_CollectionChanged;(System.ComponentModel.CollectionChangeEventHandler);summary;df-generated | +| System.Data;ConstraintCollection;remove_CollectionChanged;(System.ComponentModel.CollectionChangeEventHandler);summary;df-generated | | System.Data;ConstraintException;ConstraintException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);summary;df-generated | | System.Data;ConstraintException;ConstraintException;(System.String);summary;df-generated | | System.Data;ConstraintException;ConstraintException;(System.String,System.Exception);summary;df-generated | @@ -27298,6 +29046,8 @@ neutral | System.Data;DataColumnCollection;Remove;(System.Data.DataColumn);summary;df-generated | | System.Data;DataColumnCollection;Remove;(System.String);summary;df-generated | | System.Data;DataColumnCollection;RemoveAt;(System.Int32);summary;df-generated | +| System.Data;DataColumnCollection;add_CollectionChanged;(System.ComponentModel.CollectionChangeEventHandler);summary;df-generated | +| System.Data;DataColumnCollection;remove_CollectionChanged;(System.ComponentModel.CollectionChangeEventHandler);summary;df-generated | | System.Data;DataException;DataException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);summary;df-generated | | System.Data;DataException;DataException;(System.String);summary;df-generated | | System.Data;DataException;DataException;(System.String,System.Exception);summary;df-generated | @@ -27330,11 +29080,11 @@ neutral | System.Data;DataRelationCollection;Contains;(System.String);summary;df-generated | | System.Data;DataRelationCollection;IndexOf;(System.Data.DataRelation);summary;df-generated | | System.Data;DataRelationCollection;IndexOf;(System.String);summary;df-generated | -| System.Data;DataRelationCollection;OnCollectionChanged;(System.ComponentModel.CollectionChangeEventArgs);summary;df-generated | -| System.Data;DataRelationCollection;OnCollectionChanging;(System.ComponentModel.CollectionChangeEventArgs);summary;df-generated | | System.Data;DataRelationCollection;Remove;(System.String);summary;df-generated | | System.Data;DataRelationCollection;RemoveAt;(System.Int32);summary;df-generated | | System.Data;DataRelationCollection;RemoveCore;(System.Data.DataRelation);summary;df-generated | +| System.Data;DataRelationCollection;add_CollectionChanged;(System.ComponentModel.CollectionChangeEventHandler);summary;df-generated | +| System.Data;DataRelationCollection;remove_CollectionChanged;(System.ComponentModel.CollectionChangeEventHandler);summary;df-generated | | System.Data;DataRow;AcceptChanges;();summary;df-generated | | System.Data;DataRow;BeginEdit;();summary;df-generated | | System.Data;DataRow;CancelEdit;();summary;df-generated | @@ -27402,11 +29152,13 @@ neutral | System.Data;DataRowView;GetEvents;();summary;df-generated | | System.Data;DataRowView;GetEvents;(System.Attribute[]);summary;df-generated | | System.Data;DataRowView;GetHashCode;();summary;df-generated | +| System.Data;DataRowView;add_PropertyChanged;(System.ComponentModel.PropertyChangedEventHandler);summary;df-generated | | System.Data;DataRowView;get_Error;();summary;df-generated | | System.Data;DataRowView;get_IsEdit;();summary;df-generated | | System.Data;DataRowView;get_IsNew;();summary;df-generated | | System.Data;DataRowView;get_Item;(System.String);summary;df-generated | | System.Data;DataRowView;get_RowVersion;();summary;df-generated | +| System.Data;DataRowView;remove_PropertyChanged;(System.ComponentModel.PropertyChangedEventHandler);summary;df-generated | | System.Data;DataRowView;set_Item;(System.Int32,System.Object);summary;df-generated | | System.Data;DataRowView;set_Item;(System.String,System.Object);summary;df-generated | | System.Data;DataSet;AcceptChanges;();summary;df-generated | @@ -27434,6 +29186,7 @@ neutral | System.Data;DataSet;InitializeDerivedDataSet;();summary;df-generated | | System.Data;DataSet;IsBinarySerialized;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);summary;df-generated | | System.Data;DataSet;Load;(System.Data.IDataReader,System.Data.LoadOption,System.Data.DataTable[]);summary;df-generated | +| System.Data;DataSet;Load;(System.Data.IDataReader,System.Data.LoadOption,System.Data.FillErrorEventHandler,System.Data.DataTable[]);summary;df-generated | | System.Data;DataSet;Load;(System.Data.IDataReader,System.Data.LoadOption,System.String[]);summary;df-generated | | System.Data;DataSet;Merge;(System.Data.DataRow[]);summary;df-generated | | System.Data;DataSet;Merge;(System.Data.DataRow[],System.Boolean,System.Data.MissingSchemaAction);summary;df-generated | @@ -27472,13 +29225,21 @@ neutral | System.Data;DataSet;WriteXml;(System.Xml.XmlWriter);summary;df-generated | | System.Data;DataSet;WriteXml;(System.Xml.XmlWriter,System.Data.XmlWriteMode);summary;df-generated | | System.Data;DataSet;WriteXmlSchema;(System.IO.Stream);summary;df-generated | +| System.Data;DataSet;WriteXmlSchema;(System.IO.Stream,System.Converter);summary;df-generated | | System.Data;DataSet;WriteXmlSchema;(System.IO.TextWriter);summary;df-generated | +| System.Data;DataSet;WriteXmlSchema;(System.IO.TextWriter,System.Converter);summary;df-generated | | System.Data;DataSet;WriteXmlSchema;(System.String);summary;df-generated | +| System.Data;DataSet;WriteXmlSchema;(System.String,System.Converter);summary;df-generated | | System.Data;DataSet;WriteXmlSchema;(System.Xml.XmlWriter);summary;df-generated | +| System.Data;DataSet;WriteXmlSchema;(System.Xml.XmlWriter,System.Converter);summary;df-generated | +| System.Data;DataSet;add_Initialized;(System.EventHandler);summary;df-generated | +| System.Data;DataSet;add_MergeFailed;(System.Data.MergeFailedEventHandler);summary;df-generated | | System.Data;DataSet;get_ContainsListCollection;();summary;df-generated | | System.Data;DataSet;get_ExtendedProperties;();summary;df-generated | | System.Data;DataSet;get_HasErrors;();summary;df-generated | | System.Data;DataSet;get_IsInitialized;();summary;df-generated | +| System.Data;DataSet;remove_Initialized;(System.EventHandler);summary;df-generated | +| System.Data;DataSet;remove_MergeFailed;(System.Data.MergeFailedEventHandler);summary;df-generated | | System.Data;DataSysDescriptionAttribute;DataSysDescriptionAttribute;(System.String);summary;df-generated | | System.Data;DataTable;AcceptChanges;();summary;df-generated | | System.Data;DataTable;BeginInit;();summary;df-generated | @@ -27496,22 +29257,13 @@ neutral | System.Data;DataTable;ImportRow;(System.Data.DataRow);summary;df-generated | | System.Data;DataTable;Load;(System.Data.IDataReader);summary;df-generated | | System.Data;DataTable;Load;(System.Data.IDataReader,System.Data.LoadOption);summary;df-generated | +| System.Data;DataTable;Load;(System.Data.IDataReader,System.Data.LoadOption,System.Data.FillErrorEventHandler);summary;df-generated | | System.Data;DataTable;Merge;(System.Data.DataTable);summary;df-generated | | System.Data;DataTable;Merge;(System.Data.DataTable,System.Boolean);summary;df-generated | | System.Data;DataTable;Merge;(System.Data.DataTable,System.Boolean,System.Data.MissingSchemaAction);summary;df-generated | | System.Data;DataTable;NewRow;();summary;df-generated | | System.Data;DataTable;NewRowFromBuilder;(System.Data.DataRowBuilder);summary;df-generated | -| System.Data;DataTable;OnColumnChanged;(System.Data.DataColumnChangeEventArgs);summary;df-generated | -| System.Data;DataTable;OnColumnChanging;(System.Data.DataColumnChangeEventArgs);summary;df-generated | -| System.Data;DataTable;OnPropertyChanging;(System.ComponentModel.PropertyChangedEventArgs);summary;df-generated | | System.Data;DataTable;OnRemoveColumn;(System.Data.DataColumn);summary;df-generated | -| System.Data;DataTable;OnRowChanged;(System.Data.DataRowChangeEventArgs);summary;df-generated | -| System.Data;DataTable;OnRowChanging;(System.Data.DataRowChangeEventArgs);summary;df-generated | -| System.Data;DataTable;OnRowDeleted;(System.Data.DataRowChangeEventArgs);summary;df-generated | -| System.Data;DataTable;OnRowDeleting;(System.Data.DataRowChangeEventArgs);summary;df-generated | -| System.Data;DataTable;OnTableCleared;(System.Data.DataTableClearEventArgs);summary;df-generated | -| System.Data;DataTable;OnTableClearing;(System.Data.DataTableClearEventArgs);summary;df-generated | -| System.Data;DataTable;OnTableNewRow;(System.Data.DataTableNewRowEventArgs);summary;df-generated | | System.Data;DataTable;ReadXml;(System.IO.Stream);summary;df-generated | | System.Data;DataTable;ReadXml;(System.IO.TextReader);summary;df-generated | | System.Data;DataTable;ReadXml;(System.String);summary;df-generated | @@ -27547,12 +29299,32 @@ neutral | System.Data;DataTable;WriteXmlSchema;(System.String,System.Boolean);summary;df-generated | | System.Data;DataTable;WriteXmlSchema;(System.Xml.XmlWriter);summary;df-generated | | System.Data;DataTable;WriteXmlSchema;(System.Xml.XmlWriter,System.Boolean);summary;df-generated | +| System.Data;DataTable;add_ColumnChanged;(System.Data.DataColumnChangeEventHandler);summary;df-generated | +| System.Data;DataTable;add_ColumnChanging;(System.Data.DataColumnChangeEventHandler);summary;df-generated | +| System.Data;DataTable;add_Initialized;(System.EventHandler);summary;df-generated | +| System.Data;DataTable;add_RowChanged;(System.Data.DataRowChangeEventHandler);summary;df-generated | +| System.Data;DataTable;add_RowChanging;(System.Data.DataRowChangeEventHandler);summary;df-generated | +| System.Data;DataTable;add_RowDeleted;(System.Data.DataRowChangeEventHandler);summary;df-generated | +| System.Data;DataTable;add_RowDeleting;(System.Data.DataRowChangeEventHandler);summary;df-generated | +| System.Data;DataTable;add_TableCleared;(System.Data.DataTableClearEventHandler);summary;df-generated | +| System.Data;DataTable;add_TableClearing;(System.Data.DataTableClearEventHandler);summary;df-generated | +| System.Data;DataTable;add_TableNewRow;(System.Data.DataTableNewRowEventHandler);summary;df-generated | | System.Data;DataTable;get_ChildRelations;();summary;df-generated | | System.Data;DataTable;get_ContainsListCollection;();summary;df-generated | | System.Data;DataTable;get_ExtendedProperties;();summary;df-generated | | System.Data;DataTable;get_HasErrors;();summary;df-generated | | System.Data;DataTable;get_IsInitialized;();summary;df-generated | | System.Data;DataTable;get_ParentRelations;();summary;df-generated | +| System.Data;DataTable;remove_ColumnChanged;(System.Data.DataColumnChangeEventHandler);summary;df-generated | +| System.Data;DataTable;remove_ColumnChanging;(System.Data.DataColumnChangeEventHandler);summary;df-generated | +| System.Data;DataTable;remove_Initialized;(System.EventHandler);summary;df-generated | +| System.Data;DataTable;remove_RowChanged;(System.Data.DataRowChangeEventHandler);summary;df-generated | +| System.Data;DataTable;remove_RowChanging;(System.Data.DataRowChangeEventHandler);summary;df-generated | +| System.Data;DataTable;remove_RowDeleted;(System.Data.DataRowChangeEventHandler);summary;df-generated | +| System.Data;DataTable;remove_RowDeleting;(System.Data.DataRowChangeEventHandler);summary;df-generated | +| System.Data;DataTable;remove_TableCleared;(System.Data.DataTableClearEventHandler);summary;df-generated | +| System.Data;DataTable;remove_TableClearing;(System.Data.DataTableClearEventHandler);summary;df-generated | +| System.Data;DataTable;remove_TableNewRow;(System.Data.DataTableNewRowEventHandler);summary;df-generated | | System.Data;DataTableClearEventArgs;DataTableClearEventArgs;(System.Data.DataTable);summary;df-generated | | System.Data;DataTableClearEventArgs;get_Table;();summary;df-generated | | System.Data;DataTableCollection;CanRemove;(System.Data.DataTable);summary;df-generated | @@ -27565,6 +29337,10 @@ neutral | System.Data;DataTableCollection;Remove;(System.String);summary;df-generated | | System.Data;DataTableCollection;Remove;(System.String,System.String);summary;df-generated | | System.Data;DataTableCollection;RemoveAt;(System.Int32);summary;df-generated | +| System.Data;DataTableCollection;add_CollectionChanged;(System.ComponentModel.CollectionChangeEventHandler);summary;df-generated | +| System.Data;DataTableCollection;add_CollectionChanging;(System.ComponentModel.CollectionChangeEventHandler);summary;df-generated | +| System.Data;DataTableCollection;remove_CollectionChanged;(System.ComponentModel.CollectionChangeEventHandler);summary;df-generated | +| System.Data;DataTableCollection;remove_CollectionChanging;(System.ComponentModel.CollectionChangeEventHandler);summary;df-generated | | System.Data;DataTableExtensions;AsDataView;(System.Data.DataTable);summary;df-generated | | System.Data;DataTableExtensions;AsDataView;(System.Data.EnumerableRowCollection);summary;df-generated | | System.Data;DataTableNewRowEventArgs;DataTableNewRowEventArgs;(System.Data.DataRow);summary;df-generated | @@ -27607,9 +29383,7 @@ neutral | System.Data;DataView;Dispose;(System.Boolean);summary;df-generated | | System.Data;DataView;EndInit;();summary;df-generated | | System.Data;DataView;Equals;(System.Data.DataView);summary;df-generated | -| System.Data;DataView;IndexListChanged;(System.Object,System.ComponentModel.ListChangedEventArgs);summary;df-generated | | System.Data;DataView;IndexOf;(System.Object);summary;df-generated | -| System.Data;DataView;OnListChanged;(System.ComponentModel.ListChangedEventArgs);summary;df-generated | | System.Data;DataView;Open;();summary;df-generated | | System.Data;DataView;Remove;(System.Object);summary;df-generated | | System.Data;DataView;RemoveAt;(System.Int32);summary;df-generated | @@ -27619,6 +29393,8 @@ neutral | System.Data;DataView;Reset;();summary;df-generated | | System.Data;DataView;UpdateIndex;();summary;df-generated | | System.Data;DataView;UpdateIndex;(System.Boolean);summary;df-generated | +| System.Data;DataView;add_Initialized;(System.EventHandler);summary;df-generated | +| System.Data;DataView;add_ListChanged;(System.ComponentModel.ListChangedEventHandler);summary;df-generated | | System.Data;DataView;get_AllowEdit;();summary;df-generated | | System.Data;DataView;get_AllowNew;();summary;df-generated | | System.Data;DataView;get_AllowRemove;();summary;df-generated | @@ -27637,6 +29413,8 @@ neutral | System.Data;DataView;get_SupportsFiltering;();summary;df-generated | | System.Data;DataView;get_SupportsSearching;();summary;df-generated | | System.Data;DataView;get_SupportsSorting;();summary;df-generated | +| System.Data;DataView;remove_Initialized;(System.EventHandler);summary;df-generated | +| System.Data;DataView;remove_ListChanged;(System.ComponentModel.ListChangedEventHandler);summary;df-generated | | System.Data;DataViewManager;AddIndex;(System.ComponentModel.PropertyDescriptor);summary;df-generated | | System.Data;DataViewManager;AddNew;();summary;df-generated | | System.Data;DataViewManager;Contains;(System.Object);summary;df-generated | @@ -27649,6 +29427,7 @@ neutral | System.Data;DataViewManager;RemoveIndex;(System.ComponentModel.PropertyDescriptor);summary;df-generated | | System.Data;DataViewManager;RemoveSort;();summary;df-generated | | System.Data;DataViewManager;TableCollectionChanged;(System.Object,System.ComponentModel.CollectionChangeEventArgs);summary;df-generated | +| System.Data;DataViewManager;add_ListChanged;(System.ComponentModel.ListChangedEventHandler);summary;df-generated | | System.Data;DataViewManager;get_AllowEdit;();summary;df-generated | | System.Data;DataViewManager;get_AllowNew;();summary;df-generated | | System.Data;DataViewManager;get_AllowRemove;();summary;df-generated | @@ -27662,6 +29441,7 @@ neutral | System.Data;DataViewManager;get_SupportsChangeNotification;();summary;df-generated | | System.Data;DataViewManager;get_SupportsSearching;();summary;df-generated | | System.Data;DataViewManager;get_SupportsSorting;();summary;df-generated | +| System.Data;DataViewManager;remove_ListChanged;(System.ComponentModel.ListChangedEventHandler);summary;df-generated | | System.Data;DataViewSettingCollection;get_Count;();summary;df-generated | | System.Data;DataViewSettingCollection;get_IsReadOnly;();summary;df-generated | | System.Data;DataViewSettingCollection;get_IsSynchronized;();summary;df-generated | @@ -27842,6 +29622,8 @@ neutral | System.Diagnostics.Contracts;Contract;Ensures;(System.Boolean,System.String);summary;df-generated | | System.Diagnostics.Contracts;Contract;EnsuresOnThrow;(System.Boolean);summary;df-generated | | System.Diagnostics.Contracts;Contract;EnsuresOnThrow;(System.Boolean,System.String);summary;df-generated | +| System.Diagnostics.Contracts;Contract;Exists;(System.Int32,System.Int32,System.Predicate);summary;df-generated | +| System.Diagnostics.Contracts;Contract;ForAll;(System.Int32,System.Int32,System.Predicate);summary;df-generated | | System.Diagnostics.Contracts;Contract;Invariant;(System.Boolean);summary;df-generated | | System.Diagnostics.Contracts;Contract;Invariant;(System.Boolean,System.String);summary;df-generated | | System.Diagnostics.Contracts;Contract;OldValue;(T);summary;df-generated | @@ -27851,6 +29633,8 @@ neutral | System.Diagnostics.Contracts;Contract;Requires;(System.Boolean,System.String);summary;df-generated | | System.Diagnostics.Contracts;Contract;Result;();summary;df-generated | | System.Diagnostics.Contracts;Contract;ValueAtReturn;(T);summary;df-generated | +| System.Diagnostics.Contracts;Contract;add_ContractFailed;(System.EventHandler);summary;df-generated | +| System.Diagnostics.Contracts;Contract;remove_ContractFailed;(System.EventHandler);summary;df-generated | | System.Diagnostics.Contracts;ContractClassAttribute;ContractClassAttribute;(System.Type);summary;df-generated | | System.Diagnostics.Contracts;ContractClassAttribute;get_TypeContainingContracts;();summary;df-generated | | System.Diagnostics.Contracts;ContractClassForAttribute;ContractClassForAttribute;(System.Type);summary;df-generated | @@ -27986,6 +29770,8 @@ neutral | System.Diagnostics.Eventing.Reader;EventLogWatcher;EventLogWatcher;(System.Diagnostics.Eventing.Reader.EventLogQuery,System.Diagnostics.Eventing.Reader.EventBookmark);summary;df-generated | | System.Diagnostics.Eventing.Reader;EventLogWatcher;EventLogWatcher;(System.Diagnostics.Eventing.Reader.EventLogQuery,System.Diagnostics.Eventing.Reader.EventBookmark,System.Boolean);summary;df-generated | | System.Diagnostics.Eventing.Reader;EventLogWatcher;EventLogWatcher;(System.String);summary;df-generated | +| System.Diagnostics.Eventing.Reader;EventLogWatcher;add_EventRecordWritten;(System.EventHandler);summary;df-generated | +| System.Diagnostics.Eventing.Reader;EventLogWatcher;remove_EventRecordWritten;(System.EventHandler);summary;df-generated | | System.Diagnostics.Eventing.Reader;EventMetadata;get_Description;();summary;df-generated | | System.Diagnostics.Eventing.Reader;EventMetadata;get_Id;();summary;df-generated | | System.Diagnostics.Eventing.Reader;EventMetadata;get_Keywords;();summary;df-generated | @@ -28092,6 +29878,24 @@ neutral | System.Diagnostics.Metrics;Meter;CreateCounter;(System.String,System.String,System.String,System.Collections.Generic.IEnumerable>);summary;df-generated | | System.Diagnostics.Metrics;Meter;CreateHistogram;(System.String,System.String,System.String);summary;df-generated | | System.Diagnostics.Metrics;Meter;CreateHistogram;(System.String,System.String,System.String,System.Collections.Generic.IEnumerable>);summary;df-generated | +| System.Diagnostics.Metrics;Meter;CreateObservableCounter;(System.String,System.Func>>,System.String,System.String);summary;df-generated | +| System.Diagnostics.Metrics;Meter;CreateObservableCounter;(System.String,System.Func>>,System.String,System.String,System.Collections.Generic.IEnumerable>);summary;df-generated | +| System.Diagnostics.Metrics;Meter;CreateObservableCounter;(System.String,System.Func>,System.String,System.String);summary;df-generated | +| System.Diagnostics.Metrics;Meter;CreateObservableCounter;(System.String,System.Func>,System.String,System.String,System.Collections.Generic.IEnumerable>);summary;df-generated | +| System.Diagnostics.Metrics;Meter;CreateObservableCounter;(System.String,System.Func,System.String,System.String);summary;df-generated | +| System.Diagnostics.Metrics;Meter;CreateObservableCounter;(System.String,System.Func,System.String,System.String,System.Collections.Generic.IEnumerable>);summary;df-generated | +| System.Diagnostics.Metrics;Meter;CreateObservableGauge;(System.String,System.Func>>,System.String,System.String);summary;df-generated | +| System.Diagnostics.Metrics;Meter;CreateObservableGauge;(System.String,System.Func>>,System.String,System.String,System.Collections.Generic.IEnumerable>);summary;df-generated | +| System.Diagnostics.Metrics;Meter;CreateObservableGauge;(System.String,System.Func>,System.String,System.String);summary;df-generated | +| System.Diagnostics.Metrics;Meter;CreateObservableGauge;(System.String,System.Func>,System.String,System.String,System.Collections.Generic.IEnumerable>);summary;df-generated | +| System.Diagnostics.Metrics;Meter;CreateObservableGauge;(System.String,System.Func,System.String,System.String);summary;df-generated | +| System.Diagnostics.Metrics;Meter;CreateObservableGauge;(System.String,System.Func,System.String,System.String,System.Collections.Generic.IEnumerable>);summary;df-generated | +| System.Diagnostics.Metrics;Meter;CreateObservableUpDownCounter;(System.String,System.Func>>,System.String,System.String);summary;df-generated | +| System.Diagnostics.Metrics;Meter;CreateObservableUpDownCounter;(System.String,System.Func>>,System.String,System.String,System.Collections.Generic.IEnumerable>);summary;df-generated | +| System.Diagnostics.Metrics;Meter;CreateObservableUpDownCounter;(System.String,System.Func>,System.String,System.String);summary;df-generated | +| System.Diagnostics.Metrics;Meter;CreateObservableUpDownCounter;(System.String,System.Func>,System.String,System.String,System.Collections.Generic.IEnumerable>);summary;df-generated | +| System.Diagnostics.Metrics;Meter;CreateObservableUpDownCounter;(System.String,System.Func,System.String,System.String);summary;df-generated | +| System.Diagnostics.Metrics;Meter;CreateObservableUpDownCounter;(System.String,System.Func,System.String,System.String,System.Collections.Generic.IEnumerable>);summary;df-generated | | System.Diagnostics.Metrics;Meter;CreateUpDownCounter;(System.String,System.String,System.String);summary;df-generated | | System.Diagnostics.Metrics;Meter;CreateUpDownCounter;(System.String,System.String,System.String,System.Collections.Generic.IEnumerable>);summary;df-generated | | System.Diagnostics.Metrics;Meter;Dispose;();summary;df-generated | @@ -28101,10 +29905,9 @@ neutral | System.Diagnostics.Metrics;Meter;Meter;(System.String,System.String);summary;df-generated | | System.Diagnostics.Metrics;Meter;Meter;(System.String,System.String,System.Collections.Generic.IEnumerable>,System.Object);summary;df-generated | | System.Diagnostics.Metrics;MeterFactoryExtensions;Create;(System.Diagnostics.Metrics.IMeterFactory,System.String,System.String,System.Collections.Generic.IEnumerable>);summary;df-generated | -| System.Diagnostics.Metrics;MeterListener;DisableMeasurementEvents;(System.Diagnostics.Metrics.Instrument);summary;df-generated | | System.Diagnostics.Metrics;MeterListener;Dispose;();summary;df-generated | -| System.Diagnostics.Metrics;MeterListener;EnableMeasurementEvents;(System.Diagnostics.Metrics.Instrument,System.Object);summary;df-generated | | System.Diagnostics.Metrics;MeterListener;RecordObservableInstruments;();summary;df-generated | +| System.Diagnostics.Metrics;MeterListener;SetMeasurementEventCallback;(System.Diagnostics.Metrics.MeasurementCallback);summary;df-generated | | System.Diagnostics.Metrics;MeterListener;Start;();summary;df-generated | | System.Diagnostics.Metrics;ObservableCounter;Observe;();summary;df-generated | | System.Diagnostics.Metrics;ObservableGauge;Observe;();summary;df-generated | @@ -28214,6 +30017,9 @@ neutral | System.Diagnostics.Tracing;EventListener;EventSourceIndex;(System.Diagnostics.Tracing.EventSource);summary;df-generated | | System.Diagnostics.Tracing;EventListener;OnEventSourceCreated;(System.Diagnostics.Tracing.EventSource);summary;df-generated | | System.Diagnostics.Tracing;EventListener;OnEventWritten;(System.Diagnostics.Tracing.EventWrittenEventArgs);summary;df-generated | +| System.Diagnostics.Tracing;EventListener;add_EventWritten;(System.EventHandler);summary;df-generated | +| System.Diagnostics.Tracing;EventListener;remove_EventSourceCreated;(System.EventHandler);summary;df-generated | +| System.Diagnostics.Tracing;EventListener;remove_EventWritten;(System.EventHandler);summary;df-generated | | System.Diagnostics.Tracing;EventSource;Dispose;();summary;df-generated | | System.Diagnostics.Tracing;EventSource;Dispose;(System.Boolean);summary;df-generated | | System.Diagnostics.Tracing;EventSource;EventSource;(System.Boolean);summary;df-generated | @@ -28259,6 +30065,7 @@ neutral | System.Diagnostics.Tracing;EventSource;WriteEventWithRelatedActivityIdCore;(System.Int32,System.Guid*,System.Int32,System.Diagnostics.Tracing.EventSource+EventData*);summary;df-generated | | System.Diagnostics.Tracing;EventSource;get_CurrentThreadActivityId;();summary;df-generated | | System.Diagnostics.Tracing;EventSource;get_Settings;();summary;df-generated | +| System.Diagnostics.Tracing;EventSource;remove_EventCommandExecuted;(System.EventHandler);summary;df-generated | | System.Diagnostics.Tracing;EventSourceException;EventSourceException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);summary;df-generated | | System.Diagnostics.Tracing;EventSourceException;EventSourceException;(System.String);summary;df-generated | | System.Diagnostics.Tracing;EventSourceException;EventSourceException;(System.String,System.Exception);summary;df-generated | @@ -28268,6 +30075,8 @@ neutral | System.Diagnostics.Tracing;EventWrittenEventArgs;get_Version;();summary;df-generated | | System.Diagnostics.Tracing;IncrementingEventCounter;Increment;(System.Double);summary;df-generated | | System.Diagnostics.Tracing;IncrementingEventCounter;IncrementingEventCounter;(System.String,System.Diagnostics.Tracing.EventSource);summary;df-generated | +| System.Diagnostics.Tracing;IncrementingPollingCounter;IncrementingPollingCounter;(System.String,System.Diagnostics.Tracing.EventSource,System.Func);summary;df-generated | +| System.Diagnostics.Tracing;PollingCounter;PollingCounter;(System.String,System.Diagnostics.Tracing.EventSource,System.Func);summary;df-generated | | System.Diagnostics;Activity+Enumerator;MoveNext;();summary;df-generated | | System.Diagnostics;Activity+Enumerator;get_Current;();summary;df-generated | | System.Diagnostics;Activity;Activity;(System.String);summary;df-generated | @@ -28277,12 +30086,14 @@ neutral | System.Diagnostics;Activity;GetTagItem;(System.String);summary;df-generated | | System.Diagnostics;Activity;SetCustomProperty;(System.String,System.Object);summary;df-generated | | System.Diagnostics;Activity;Stop;();summary;df-generated | +| System.Diagnostics;Activity;add_CurrentChanged;(System.EventHandler);summary;df-generated | | System.Diagnostics;Activity;get_Baggage;();summary;df-generated | | System.Diagnostics;Activity;get_Context;();summary;df-generated | | System.Diagnostics;Activity;get_OperationName;();summary;df-generated | | System.Diagnostics;Activity;get_Recorded;();summary;df-generated | | System.Diagnostics;Activity;get_Status;();summary;df-generated | | System.Diagnostics;Activity;get_Tags;();summary;df-generated | +| System.Diagnostics;Activity;remove_CurrentChanged;(System.EventHandler);summary;df-generated | | System.Diagnostics;ActivityContext;ActivityContext;(System.Diagnostics.ActivityTraceId,System.Diagnostics.ActivitySpanId,System.Diagnostics.ActivityTraceFlags,System.String,System.Boolean);summary;df-generated | | System.Diagnostics;ActivityContext;Equals;(System.Diagnostics.ActivityContext);summary;df-generated | | System.Diagnostics;ActivityContext;Equals;(System.Object);summary;df-generated | @@ -28459,6 +30270,9 @@ neutral | System.Diagnostics;DiagnosticListener;OnActivityExport;(System.Diagnostics.Activity,System.Object);summary;df-generated | | System.Diagnostics;DiagnosticListener;OnActivityImport;(System.Diagnostics.Activity,System.Object);summary;df-generated | | System.Diagnostics;DiagnosticListener;Subscribe;(System.IObserver>);summary;df-generated | +| System.Diagnostics;DiagnosticListener;Subscribe;(System.IObserver>,System.Func);summary;df-generated | +| System.Diagnostics;DiagnosticListener;Subscribe;(System.IObserver>,System.Func,System.Action,System.Action);summary;df-generated | +| System.Diagnostics;DiagnosticListener;Subscribe;(System.IObserver>,System.Predicate);summary;df-generated | | System.Diagnostics;DiagnosticListener;Write;(System.String,System.Object);summary;df-generated | | System.Diagnostics;DiagnosticListener;get_AllListeners;();summary;df-generated | | System.Diagnostics;DiagnosticSource;IsEnabled;(System.String);summary;df-generated | @@ -28515,10 +30329,12 @@ neutral | System.Diagnostics;EventLog;WriteEvent;(System.Diagnostics.EventInstance,System.Object[]);summary;df-generated | | System.Diagnostics;EventLog;WriteEvent;(System.String,System.Diagnostics.EventInstance,System.Byte[],System.Object[]);summary;df-generated | | System.Diagnostics;EventLog;WriteEvent;(System.String,System.Diagnostics.EventInstance,System.Object[]);summary;df-generated | +| System.Diagnostics;EventLog;add_EntryWritten;(System.Diagnostics.EntryWrittenEventHandler);summary;df-generated | | System.Diagnostics;EventLog;get_Entries;();summary;df-generated | | System.Diagnostics;EventLog;get_LogDisplayName;();summary;df-generated | | System.Diagnostics;EventLog;get_MinimumRetentionDays;();summary;df-generated | | System.Diagnostics;EventLog;get_OverflowAction;();summary;df-generated | +| System.Diagnostics;EventLog;remove_EntryWritten;(System.Diagnostics.EntryWrittenEventHandler);summary;df-generated | | System.Diagnostics;EventLogEntry;Equals;(System.Diagnostics.EventLogEntry);summary;df-generated | | System.Diagnostics;EventLogEntry;get_Category;();summary;df-generated | | System.Diagnostics;EventLogEntry;get_CategoryNumber;();summary;df-generated | @@ -28638,6 +30454,9 @@ neutral | System.Diagnostics;Process;WaitForInputIdle;();summary;df-generated | | System.Diagnostics;Process;WaitForInputIdle;(System.Int32);summary;df-generated | | System.Diagnostics;Process;WaitForInputIdle;(System.TimeSpan);summary;df-generated | +| System.Diagnostics;Process;add_ErrorDataReceived;(System.Diagnostics.DataReceivedEventHandler);summary;df-generated | +| System.Diagnostics;Process;add_Exited;(System.EventHandler);summary;df-generated | +| System.Diagnostics;Process;add_OutputDataReceived;(System.Diagnostics.DataReceivedEventHandler);summary;df-generated | | System.Diagnostics;Process;get_BasePriority;();summary;df-generated | | System.Diagnostics;Process;get_ExitCode;();summary;df-generated | | System.Diagnostics;Process;get_ExitTime;();summary;df-generated | @@ -28671,6 +30490,9 @@ neutral | System.Diagnostics;Process;get_VirtualMemorySize;();summary;df-generated | | System.Diagnostics;Process;get_WorkingSet64;();summary;df-generated | | System.Diagnostics;Process;get_WorkingSet;();summary;df-generated | +| System.Diagnostics;Process;remove_ErrorDataReceived;(System.Diagnostics.DataReceivedEventHandler);summary;df-generated | +| System.Diagnostics;Process;remove_Exited;(System.EventHandler);summary;df-generated | +| System.Diagnostics;Process;remove_OutputDataReceived;(System.Diagnostics.DataReceivedEventHandler);summary;df-generated | | System.Diagnostics;ProcessModule;get_FileVersionInfo;();summary;df-generated | | System.Diagnostics;ProcessModuleCollection;Contains;(System.Diagnostics.ProcessModule);summary;df-generated | | System.Diagnostics;ProcessModuleCollection;IndexOf;(System.Diagnostics.ProcessModule);summary;df-generated | @@ -28738,7 +30560,9 @@ neutral | System.Diagnostics;Switch;OnValueChanged;();summary;df-generated | | System.Diagnostics;Switch;Refresh;();summary;df-generated | | System.Diagnostics;Switch;Switch;(System.String,System.String);summary;df-generated | +| System.Diagnostics;Switch;add_Initializing;(System.EventHandler);summary;df-generated | | System.Diagnostics;Switch;get_Attributes;();summary;df-generated | +| System.Diagnostics;Switch;remove_Initializing;(System.EventHandler);summary;df-generated | | System.Diagnostics;SwitchAttribute;GetAll;(System.Reflection.Assembly);summary;df-generated | | System.Diagnostics;SwitchLevelAttribute;SwitchLevelAttribute;(System.Type);summary;df-generated | | System.Diagnostics;TagList+Enumerator;Dispose;();summary;df-generated | @@ -28793,8 +30617,10 @@ neutral | System.Diagnostics;Trace;WriteLineIf;(System.Boolean,System.Object,System.String);summary;df-generated | | System.Diagnostics;Trace;WriteLineIf;(System.Boolean,System.String);summary;df-generated | | System.Diagnostics;Trace;WriteLineIf;(System.Boolean,System.String,System.String);summary;df-generated | +| System.Diagnostics;Trace;add_Refreshing;(System.EventHandler);summary;df-generated | | System.Diagnostics;Trace;get_CorrelationManager;();summary;df-generated | | System.Diagnostics;Trace;get_Listeners;();summary;df-generated | +| System.Diagnostics;Trace;remove_Refreshing;(System.EventHandler);summary;df-generated | | System.Diagnostics;TraceEventCache;get_Callstack;();summary;df-generated | | System.Diagnostics;TraceEventCache;get_DateTime;();summary;df-generated | | System.Diagnostics;TraceEventCache;get_LogicalOperationStack;();summary;df-generated | @@ -28845,8 +30671,10 @@ neutral | System.Diagnostics;TraceSource;TraceInformation;(System.String,System.Object[]);summary;df-generated | | System.Diagnostics;TraceSource;TraceSource;(System.String);summary;df-generated | | System.Diagnostics;TraceSource;TraceTransfer;(System.Int32,System.String,System.Guid);summary;df-generated | +| System.Diagnostics;TraceSource;add_Initializing;(System.EventHandler);summary;df-generated | | System.Diagnostics;TraceSource;get_Attributes;();summary;df-generated | | System.Diagnostics;TraceSource;get_DefaultLevel;();summary;df-generated | +| System.Diagnostics;TraceSource;remove_Initializing;(System.EventHandler);summary;df-generated | | System.Diagnostics;TraceSwitch;OnSwitchSettingChanged;();summary;df-generated | | System.Diagnostics;TraceSwitch;OnValueChanged;();summary;df-generated | | System.Diagnostics;TraceSwitch;TraceSwitch;(System.String,System.String);summary;df-generated | @@ -29367,8 +31195,10 @@ neutral | System.Dynamic;ExpandoObject;Remove;(System.Collections.Generic.KeyValuePair);summary;df-generated | | System.Dynamic;ExpandoObject;Remove;(System.String);summary;df-generated | | System.Dynamic;ExpandoObject;TryGetValue;(System.String,System.Object);summary;df-generated | +| System.Dynamic;ExpandoObject;add_PropertyChanged;(System.ComponentModel.PropertyChangedEventHandler);summary;df-generated | | System.Dynamic;ExpandoObject;get_Count;();summary;df-generated | | System.Dynamic;ExpandoObject;get_IsReadOnly;();summary;df-generated | +| System.Dynamic;ExpandoObject;remove_PropertyChanged;(System.ComponentModel.PropertyChangedEventHandler);summary;df-generated | | System.Dynamic;GetIndexBinder;Bind;(System.Dynamic.DynamicMetaObject,System.Dynamic.DynamicMetaObject[]);summary;df-generated | | System.Dynamic;GetIndexBinder;FallbackGetIndex;(System.Dynamic.DynamicMetaObject,System.Dynamic.DynamicMetaObject[]);summary;df-generated | | System.Dynamic;GetIndexBinder;GetIndexBinder;(System.Dynamic.CallInfo);summary;df-generated | @@ -30119,6 +31949,7 @@ neutral | System.IO.Enumeration;FileSystemEntry;get_LastAccessTimeUtc;();summary;df-generated | | System.IO.Enumeration;FileSystemEntry;get_LastWriteTimeUtc;();summary;df-generated | | System.IO.Enumeration;FileSystemEntry;get_Length;();summary;df-generated | +| System.IO.Enumeration;FileSystemEnumerable;FileSystemEnumerable;(System.String,System.IO.Enumeration.FileSystemEnumerable+FindTransform,System.IO.EnumerationOptions);summary;df-generated | | System.IO.Enumeration;FileSystemEnumerator;ContinueOnError;(System.Int32);summary;df-generated | | System.IO.Enumeration;FileSystemEnumerator;Dispose;();summary;df-generated | | System.IO.Enumeration;FileSystemEnumerator;Dispose;(System.Boolean);summary;df-generated | @@ -30261,6 +32092,7 @@ neutral | System.IO.Pipelines;PipeReader;Complete;(System.Exception);summary;df-generated | | System.IO.Pipelines;PipeReader;CompleteAsync;(System.Exception);summary;df-generated | | System.IO.Pipelines;PipeReader;CopyToAsync;(System.IO.Pipelines.PipeWriter,System.Threading.CancellationToken);summary;df-generated | +| System.IO.Pipelines;PipeReader;OnWriterCompleted;(System.Action,System.Object);summary;df-generated | | System.IO.Pipelines;PipeReader;ReadAsync;(System.Threading.CancellationToken);summary;df-generated | | System.IO.Pipelines;PipeReader;ReadAtLeastAsync;(System.Int32,System.Threading.CancellationToken);summary;df-generated | | System.IO.Pipelines;PipeReader;ReadAtLeastAsyncCore;(System.Int32,System.Threading.CancellationToken);summary;df-generated | @@ -30275,6 +32107,7 @@ neutral | System.IO.Pipelines;PipeWriter;FlushAsync;(System.Threading.CancellationToken);summary;df-generated | | System.IO.Pipelines;PipeWriter;GetMemory;(System.Int32);summary;df-generated | | System.IO.Pipelines;PipeWriter;GetSpan;(System.Int32);summary;df-generated | +| System.IO.Pipelines;PipeWriter;OnReaderCompleted;(System.Action,System.Object);summary;df-generated | | System.IO.Pipelines;PipeWriter;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);summary;df-generated | | System.IO.Pipelines;PipeWriter;get_CanGetUnflushedBytes;();summary;df-generated | | System.IO.Pipelines;PipeWriter;get_UnflushedBytes;();summary;df-generated | @@ -30318,6 +32151,7 @@ neutral | System.IO.Pipes;NamedPipeClientStream;NamedPipeClientStream;(System.String,System.String,System.IO.Pipes.PipeDirection,System.IO.Pipes.PipeOptions);summary;df-generated | | System.IO.Pipes;NamedPipeClientStream;NamedPipeClientStream;(System.String,System.String,System.IO.Pipes.PipeDirection,System.IO.Pipes.PipeOptions,System.Security.Principal.TokenImpersonationLevel);summary;df-generated | | System.IO.Pipes;NamedPipeClientStream;get_NumberOfServerInstances;();summary;df-generated | +| System.IO.Pipes;NamedPipeServerStream;BeginWaitForConnection;(System.AsyncCallback,System.Object);summary;df-generated | | System.IO.Pipes;NamedPipeServerStream;Disconnect;();summary;df-generated | | System.IO.Pipes;NamedPipeServerStream;EndWaitForConnection;(System.IAsyncResult);summary;df-generated | | System.IO.Pipes;NamedPipeServerStream;GetImpersonationUserName;();summary;df-generated | @@ -30327,6 +32161,7 @@ neutral | System.IO.Pipes;NamedPipeServerStream;NamedPipeServerStream;(System.String,System.IO.Pipes.PipeDirection,System.Int32,System.IO.Pipes.PipeTransmissionMode);summary;df-generated | | System.IO.Pipes;NamedPipeServerStream;NamedPipeServerStream;(System.String,System.IO.Pipes.PipeDirection,System.Int32,System.IO.Pipes.PipeTransmissionMode,System.IO.Pipes.PipeOptions);summary;df-generated | | System.IO.Pipes;NamedPipeServerStream;NamedPipeServerStream;(System.String,System.IO.Pipes.PipeDirection,System.Int32,System.IO.Pipes.PipeTransmissionMode,System.IO.Pipes.PipeOptions,System.Int32,System.Int32);summary;df-generated | +| System.IO.Pipes;NamedPipeServerStream;RunAsClient;(System.IO.Pipes.PipeStreamImpersonationWorker);summary;df-generated | | System.IO.Pipes;NamedPipeServerStream;WaitForConnection;();summary;df-generated | | System.IO.Pipes;NamedPipeServerStream;WaitForConnectionAsync;();summary;df-generated | | System.IO.Pipes;NamedPipeServerStream;WaitForConnectionAsync;(System.Threading.CancellationToken);summary;df-generated | @@ -30665,14 +32500,21 @@ neutral | System.IO;FileSystemWatcher;BeginInit;();summary;df-generated | | System.IO;FileSystemWatcher;Dispose;(System.Boolean);summary;df-generated | | System.IO;FileSystemWatcher;EndInit;();summary;df-generated | -| System.IO;FileSystemWatcher;OnChanged;(System.IO.FileSystemEventArgs);summary;df-generated | -| System.IO;FileSystemWatcher;OnCreated;(System.IO.FileSystemEventArgs);summary;df-generated | -| System.IO;FileSystemWatcher;OnDeleted;(System.IO.FileSystemEventArgs);summary;df-generated | | System.IO;FileSystemWatcher;OnError;(System.IO.ErrorEventArgs);summary;df-generated | | System.IO;FileSystemWatcher;OnRenamed;(System.IO.RenamedEventArgs);summary;df-generated | | System.IO;FileSystemWatcher;WaitForChanged;(System.IO.WatcherChangeTypes);summary;df-generated | | System.IO;FileSystemWatcher;WaitForChanged;(System.IO.WatcherChangeTypes,System.Int32);summary;df-generated | | System.IO;FileSystemWatcher;WaitForChanged;(System.IO.WatcherChangeTypes,System.TimeSpan);summary;df-generated | +| System.IO;FileSystemWatcher;add_Changed;(System.IO.FileSystemEventHandler);summary;df-generated | +| System.IO;FileSystemWatcher;add_Created;(System.IO.FileSystemEventHandler);summary;df-generated | +| System.IO;FileSystemWatcher;add_Deleted;(System.IO.FileSystemEventHandler);summary;df-generated | +| System.IO;FileSystemWatcher;add_Error;(System.IO.ErrorEventHandler);summary;df-generated | +| System.IO;FileSystemWatcher;add_Renamed;(System.IO.RenamedEventHandler);summary;df-generated | +| System.IO;FileSystemWatcher;remove_Changed;(System.IO.FileSystemEventHandler);summary;df-generated | +| System.IO;FileSystemWatcher;remove_Created;(System.IO.FileSystemEventHandler);summary;df-generated | +| System.IO;FileSystemWatcher;remove_Deleted;(System.IO.FileSystemEventHandler);summary;df-generated | +| System.IO;FileSystemWatcher;remove_Error;(System.IO.ErrorEventHandler);summary;df-generated | +| System.IO;FileSystemWatcher;remove_Renamed;(System.IO.RenamedEventHandler);summary;df-generated | | System.IO;IOException;IOException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);summary;df-generated | | System.IO;IOException;IOException;(System.String);summary;df-generated | | System.IO;IOException;IOException;(System.String,System.Exception);summary;df-generated | @@ -31217,7 +33059,6 @@ neutral | System.Linq;Enumerable;Average;(System.Collections.Generic.IEnumerable>);summary;df-generated | | System.Linq;Enumerable;Average;(System.Collections.Generic.IEnumerable);summary;df-generated | | System.Linq;Enumerable;Contains;(System.Collections.Generic.IEnumerable,TSource);summary;df-generated | -| System.Linq;Enumerable;Contains;(System.Collections.Generic.IEnumerable,TSource,System.Collections.Generic.IEqualityComparer);summary;df-generated | | System.Linq;Enumerable;Count;(System.Collections.Generic.IEnumerable);summary;df-generated | | System.Linq;Enumerable;Empty;();summary;df-generated | | System.Linq;Enumerable;LongCount;(System.Collections.Generic.IEnumerable);summary;df-generated | @@ -31227,15 +33068,18 @@ neutral | System.Linq;Enumerable;Max;(System.Collections.Generic.IEnumerable);summary;df-generated | | System.Linq;Enumerable;Max;(System.Collections.Generic.IEnumerable>);summary;df-generated | | System.Linq;Enumerable;Max;(System.Collections.Generic.IEnumerable);summary;df-generated | +| System.Linq;Enumerable;MaxBy;(System.Collections.Generic.IEnumerable,System.Func);summary;df-generated | +| System.Linq;Enumerable;MaxBy;(System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IComparer);summary;df-generated | | System.Linq;Enumerable;Min;(System.Collections.Generic.IEnumerable);summary;df-generated | | System.Linq;Enumerable;Min;(System.Collections.Generic.IEnumerable);summary;df-generated | | System.Linq;Enumerable;Min;(System.Collections.Generic.IEnumerable);summary;df-generated | | System.Linq;Enumerable;Min;(System.Collections.Generic.IEnumerable);summary;df-generated | | System.Linq;Enumerable;Min;(System.Collections.Generic.IEnumerable>);summary;df-generated | | System.Linq;Enumerable;Min;(System.Collections.Generic.IEnumerable);summary;df-generated | +| System.Linq;Enumerable;MinBy;(System.Collections.Generic.IEnumerable,System.Func);summary;df-generated | +| System.Linq;Enumerable;MinBy;(System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IComparer);summary;df-generated | | System.Linq;Enumerable;Range;(System.Int32,System.Int32);summary;df-generated | | System.Linq;Enumerable;SequenceEqual;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable);summary;df-generated | -| System.Linq;Enumerable;SequenceEqual;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);summary;df-generated | | System.Linq;Enumerable;Sum;(System.Collections.Generic.IEnumerable);summary;df-generated | | System.Linq;Enumerable;Sum;(System.Collections.Generic.IEnumerable);summary;df-generated | | System.Linq;Enumerable;Sum;(System.Collections.Generic.IEnumerable);summary;df-generated | @@ -31259,18 +33103,28 @@ neutral | System.Linq;ILookup;Contains;(TKey);summary;df-generated | | System.Linq;ILookup;get_Count;();summary;df-generated | | System.Linq;ILookup;get_Item;(TKey);summary;df-generated | +| System.Linq;IOrderedEnumerable;CreateOrderedEnumerable;(System.Func,System.Collections.Generic.IComparer,System.Boolean);summary;df-generated | | System.Linq;IQueryProvider;CreateQuery;(System.Linq.Expressions.Expression);summary;df-generated | | System.Linq;IQueryProvider;CreateQuery;(System.Linq.Expressions.Expression);summary;df-generated | | System.Linq;IQueryProvider;Execute;(System.Linq.Expressions.Expression);summary;df-generated | | System.Linq;IQueryProvider;Execute;(System.Linq.Expressions.Expression);summary;df-generated | | System.Linq;IQueryable;get_ElementType;();summary;df-generated | | System.Linq;IQueryable;get_Expression;();summary;df-generated | +| System.Linq;ImmutableArrayExtensions;All;(System.Collections.Immutable.ImmutableArray,System.Func);summary;df-generated | | System.Linq;ImmutableArrayExtensions;Any;(System.Collections.Immutable.ImmutableArray);summary;df-generated | | System.Linq;ImmutableArrayExtensions;Any;(System.Collections.Immutable.ImmutableArray+Builder);summary;df-generated | +| System.Linq;ImmutableArrayExtensions;Any;(System.Collections.Immutable.ImmutableArray,System.Func);summary;df-generated | +| System.Linq;ImmutableArrayExtensions;First;(System.Collections.Immutable.ImmutableArray,System.Func);summary;df-generated | +| System.Linq;ImmutableArrayExtensions;FirstOrDefault;(System.Collections.Immutable.ImmutableArray,System.Func);summary;df-generated | +| System.Linq;ImmutableArrayExtensions;Last;(System.Collections.Immutable.ImmutableArray,System.Func);summary;df-generated | | System.Linq;ImmutableArrayExtensions;LastOrDefault;(System.Collections.Immutable.ImmutableArray);summary;df-generated | -| System.Linq;ImmutableArrayExtensions;SequenceEqual;(System.Collections.Immutable.ImmutableArray,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);summary;df-generated | -| System.Linq;ImmutableArrayExtensions;SequenceEqual;(System.Collections.Immutable.ImmutableArray,System.Collections.Immutable.ImmutableArray,System.Collections.Generic.IEqualityComparer);summary;df-generated | +| System.Linq;ImmutableArrayExtensions;LastOrDefault;(System.Collections.Immutable.ImmutableArray,System.Func);summary;df-generated | +| System.Linq;ImmutableArrayExtensions;Select;(System.Collections.Immutable.ImmutableArray,System.Func);summary;df-generated | +| System.Linq;ImmutableArrayExtensions;SequenceEqual;(System.Collections.Immutable.ImmutableArray,System.Collections.Immutable.ImmutableArray,System.Func);summary;df-generated | +| System.Linq;ImmutableArrayExtensions;Single;(System.Collections.Immutable.ImmutableArray,System.Func);summary;df-generated | | System.Linq;ImmutableArrayExtensions;SingleOrDefault;(System.Collections.Immutable.ImmutableArray);summary;df-generated | +| System.Linq;ImmutableArrayExtensions;SingleOrDefault;(System.Collections.Immutable.ImmutableArray,System.Func);summary;df-generated | +| System.Linq;ImmutableArrayExtensions;Where;(System.Collections.Immutable.ImmutableArray,System.Func);summary;df-generated | | System.Linq;Lookup;Contains;(TKey);summary;df-generated | | System.Linq;Lookup;get_Count;();summary;df-generated | | System.Linq;Lookup;get_Item;(TKey);summary;df-generated | @@ -31289,6 +33143,7 @@ neutral | System.Linq;ParallelEnumerable;Contains;(System.Linq.ParallelQuery,TSource,System.Collections.Generic.IEqualityComparer);summary;df-generated | | System.Linq;ParallelEnumerable;Count;(System.Linq.ParallelQuery);summary;df-generated | | System.Linq;ParallelEnumerable;Empty;();summary;df-generated | +| System.Linq;ParallelEnumerable;ForAll;(System.Linq.ParallelQuery,System.Action);summary;df-generated | | System.Linq;ParallelEnumerable;LongCount;(System.Linq.ParallelQuery);summary;df-generated | | System.Linq;ParallelEnumerable;Max;(System.Linq.ParallelQuery);summary;df-generated | | System.Linq;ParallelEnumerable;Max;(System.Linq.ParallelQuery);summary;df-generated | @@ -31316,7 +33171,6 @@ neutral | System.Linq;ParallelEnumerable;SequenceEqual;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable);summary;df-generated | | System.Linq;ParallelEnumerable;SequenceEqual;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);summary;df-generated | | System.Linq;ParallelEnumerable;SequenceEqual;(System.Linq.ParallelQuery,System.Linq.ParallelQuery);summary;df-generated | -| System.Linq;ParallelEnumerable;SequenceEqual;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Collections.Generic.IEqualityComparer);summary;df-generated | | System.Linq;ParallelEnumerable;Sum;(System.Linq.ParallelQuery);summary;df-generated | | System.Linq;ParallelEnumerable;Sum;(System.Linq.ParallelQuery);summary;df-generated | | System.Linq;ParallelEnumerable;Sum;(System.Linq.ParallelQuery);summary;df-generated | @@ -31402,7 +33256,13 @@ neutral | System.Media;SoundPlayer;SoundPlayer;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);summary;df-generated | | System.Media;SoundPlayer;SoundPlayer;(System.String);summary;df-generated | | System.Media;SoundPlayer;Stop;();summary;df-generated | +| System.Media;SoundPlayer;add_LoadCompleted;(System.ComponentModel.AsyncCompletedEventHandler);summary;df-generated | +| System.Media;SoundPlayer;add_SoundLocationChanged;(System.EventHandler);summary;df-generated | +| System.Media;SoundPlayer;add_StreamChanged;(System.EventHandler);summary;df-generated | | System.Media;SoundPlayer;get_IsLoadCompleted;();summary;df-generated | +| System.Media;SoundPlayer;remove_LoadCompleted;(System.ComponentModel.AsyncCompletedEventHandler);summary;df-generated | +| System.Media;SoundPlayer;remove_SoundLocationChanged;(System.EventHandler);summary;df-generated | +| System.Media;SoundPlayer;remove_StreamChanged;(System.EventHandler);summary;df-generated | | System.Media;SystemSound;Play;();summary;df-generated | | System.Media;SystemSounds;get_Asterisk;();summary;df-generated | | System.Media;SystemSounds;get_Beep;();summary;df-generated | @@ -31645,6 +33505,7 @@ neutral | System.Net.Http.Json;JsonContent;TryComputeLength;(System.Int64);summary;df-generated | | System.Net.Http.Json;JsonContent;get_ObjectType;();summary;df-generated | | System.Net.Http.Json;JsonContent;get_Value;();summary;df-generated | +| System.Net.Http.Metrics;HttpMetricsEnrichmentContext;AddCallback;(System.Net.Http.HttpRequestMessage,System.Action);summary;df-generated | | System.Net.Http.Metrics;HttpMetricsEnrichmentContext;AddCustomTag;(System.String,System.Object);summary;df-generated | | System.Net.Http;ByteArrayContent;TryComputeLength;(System.Int64);summary;df-generated | | System.Net.Http;DelegatingHandler;Dispose;(System.Boolean);summary;df-generated | @@ -31836,7 +33697,9 @@ neutral | System.Net.Mail;SmtpClient;Dispose;(System.Boolean);summary;df-generated | | System.Net.Mail;SmtpClient;OnSendCompleted;(System.ComponentModel.AsyncCompletedEventArgs);summary;df-generated | | System.Net.Mail;SmtpClient;SendAsyncCancel;();summary;df-generated | +| System.Net.Mail;SmtpClient;add_SendCompleted;(System.Net.Mail.SendCompletedEventHandler);summary;df-generated | | System.Net.Mail;SmtpClient;get_ServicePoint;();summary;df-generated | +| System.Net.Mail;SmtpClient;remove_SendCompleted;(System.Net.Mail.SendCompletedEventHandler);summary;df-generated | | System.Net.Mail;SmtpException;SmtpException;(System.Net.Mail.SmtpStatusCode);summary;df-generated | | System.Net.Mail;SmtpException;SmtpException;(System.Net.Mail.SmtpStatusCode,System.String);summary;df-generated | | System.Net.Mail;SmtpException;SmtpException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);summary;df-generated | @@ -31877,6 +33740,7 @@ neutral | System.Net.NetworkInformation;IPAddressInformationCollection;Remove;(System.Net.NetworkInformation.IPAddressInformation);summary;df-generated | | System.Net.NetworkInformation;IPAddressInformationCollection;get_Count;();summary;df-generated | | System.Net.NetworkInformation;IPAddressInformationCollection;get_IsReadOnly;();summary;df-generated | +| System.Net.NetworkInformation;IPGlobalProperties;BeginGetUnicastAddresses;(System.AsyncCallback,System.Object);summary;df-generated | | System.Net.NetworkInformation;IPGlobalProperties;EndGetUnicastAddresses;(System.IAsyncResult);summary;df-generated | | System.Net.NetworkInformation;IPGlobalProperties;GetActiveTcpConnections;();summary;df-generated | | System.Net.NetworkInformation;IPGlobalProperties;GetActiveTcpListeners;();summary;df-generated | @@ -32028,6 +33892,10 @@ neutral | System.Net.NetworkInformation;MulticastIPAddressInformationCollection;get_IsReadOnly;();summary;df-generated | | System.Net.NetworkInformation;NetworkAvailabilityEventArgs;get_IsAvailable;();summary;df-generated | | System.Net.NetworkInformation;NetworkChange;RegisterNetworkChange;(System.Net.NetworkInformation.NetworkChange);summary;df-generated | +| System.Net.NetworkInformation;NetworkChange;add_NetworkAddressChanged;(System.Net.NetworkInformation.NetworkAddressChangedEventHandler);summary;df-generated | +| System.Net.NetworkInformation;NetworkChange;add_NetworkAvailabilityChanged;(System.Net.NetworkInformation.NetworkAvailabilityChangedEventHandler);summary;df-generated | +| System.Net.NetworkInformation;NetworkChange;remove_NetworkAddressChanged;(System.Net.NetworkInformation.NetworkAddressChangedEventHandler);summary;df-generated | +| System.Net.NetworkInformation;NetworkChange;remove_NetworkAvailabilityChanged;(System.Net.NetworkInformation.NetworkAvailabilityChangedEventHandler);summary;df-generated | | System.Net.NetworkInformation;NetworkInformationException;NetworkInformationException;(System.Int32);summary;df-generated | | System.Net.NetworkInformation;NetworkInformationException;NetworkInformationException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);summary;df-generated | | System.Net.NetworkInformation;NetworkInformationException;get_ErrorCode;();summary;df-generated | @@ -32091,6 +33959,8 @@ neutral | System.Net.NetworkInformation;Ping;SendPingAsync;(System.String,System.Int32,System.Byte[]);summary;df-generated | | System.Net.NetworkInformation;Ping;SendPingAsync;(System.String,System.Int32,System.Byte[],System.Net.NetworkInformation.PingOptions);summary;df-generated | | System.Net.NetworkInformation;Ping;SendPingAsync;(System.String,System.TimeSpan,System.Byte[],System.Net.NetworkInformation.PingOptions,System.Threading.CancellationToken);summary;df-generated | +| System.Net.NetworkInformation;Ping;add_PingCompleted;(System.Net.NetworkInformation.PingCompletedEventHandler);summary;df-generated | +| System.Net.NetworkInformation;Ping;remove_PingCompleted;(System.Net.NetworkInformation.PingCompletedEventHandler);summary;df-generated | | System.Net.NetworkInformation;PingCompletedEventArgs;get_Reply;();summary;df-generated | | System.Net.NetworkInformation;PingException;PingException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);summary;df-generated | | System.Net.NetworkInformation;PingException;PingException;(System.String);summary;df-generated | @@ -32220,6 +34090,15 @@ neutral | System.Net.Security;NegotiateStream;AuthenticateAsServer;(System.Net.NetworkCredential,System.Net.Security.ProtectionLevel,System.Security.Principal.TokenImpersonationLevel);summary;df-generated | | System.Net.Security;NegotiateStream;AuthenticateAsServerAsync;();summary;df-generated | | System.Net.Security;NegotiateStream;AuthenticateAsServerAsync;(System.Net.NetworkCredential,System.Net.Security.ProtectionLevel,System.Security.Principal.TokenImpersonationLevel);summary;df-generated | +| System.Net.Security;NegotiateStream;BeginAuthenticateAsClient;(System.AsyncCallback,System.Object);summary;df-generated | +| System.Net.Security;NegotiateStream;BeginAuthenticateAsClient;(System.Net.NetworkCredential,System.Security.Authentication.ExtendedProtection.ChannelBinding,System.String,System.AsyncCallback,System.Object);summary;df-generated | +| System.Net.Security;NegotiateStream;BeginAuthenticateAsClient;(System.Net.NetworkCredential,System.Security.Authentication.ExtendedProtection.ChannelBinding,System.String,System.Net.Security.ProtectionLevel,System.Security.Principal.TokenImpersonationLevel,System.AsyncCallback,System.Object);summary;df-generated | +| System.Net.Security;NegotiateStream;BeginAuthenticateAsClient;(System.Net.NetworkCredential,System.String,System.AsyncCallback,System.Object);summary;df-generated | +| System.Net.Security;NegotiateStream;BeginAuthenticateAsClient;(System.Net.NetworkCredential,System.String,System.Net.Security.ProtectionLevel,System.Security.Principal.TokenImpersonationLevel,System.AsyncCallback,System.Object);summary;df-generated | +| System.Net.Security;NegotiateStream;BeginAuthenticateAsServer;(System.AsyncCallback,System.Object);summary;df-generated | +| System.Net.Security;NegotiateStream;BeginAuthenticateAsServer;(System.Net.NetworkCredential,System.Net.Security.ProtectionLevel,System.Security.Principal.TokenImpersonationLevel,System.AsyncCallback,System.Object);summary;df-generated | +| System.Net.Security;NegotiateStream;BeginAuthenticateAsServer;(System.Net.NetworkCredential,System.Security.Authentication.ExtendedProtection.ExtendedProtectionPolicy,System.Net.Security.ProtectionLevel,System.Security.Principal.TokenImpersonationLevel,System.AsyncCallback,System.Object);summary;df-generated | +| System.Net.Security;NegotiateStream;BeginAuthenticateAsServer;(System.Security.Authentication.ExtendedProtection.ExtendedProtectionPolicy,System.AsyncCallback,System.Object);summary;df-generated | | System.Net.Security;NegotiateStream;Dispose;(System.Boolean);summary;df-generated | | System.Net.Security;NegotiateStream;EndAuthenticateAsClient;(System.IAsyncResult);summary;df-generated | | System.Net.Security;NegotiateStream;EndAuthenticateAsServer;(System.IAsyncResult);summary;df-generated | @@ -32261,22 +34140,31 @@ neutral | System.Net.Security;SslStream;AuthenticateAsServer;(System.Security.Cryptography.X509Certificates.X509Certificate);summary;df-generated | | System.Net.Security;SslStream;AuthenticateAsServer;(System.Security.Cryptography.X509Certificates.X509Certificate,System.Boolean,System.Boolean);summary;df-generated | | System.Net.Security;SslStream;AuthenticateAsServer;(System.Security.Cryptography.X509Certificates.X509Certificate,System.Boolean,System.Security.Authentication.SslProtocols,System.Boolean);summary;df-generated | +| System.Net.Security;SslStream;AuthenticateAsServerAsync;(System.Net.Security.ServerOptionsSelectionCallback,System.Object,System.Threading.CancellationToken);summary;df-generated | | System.Net.Security;SslStream;AuthenticateAsServerAsync;(System.Security.Cryptography.X509Certificates.X509Certificate);summary;df-generated | | System.Net.Security;SslStream;AuthenticateAsServerAsync;(System.Security.Cryptography.X509Certificates.X509Certificate,System.Boolean,System.Boolean);summary;df-generated | | System.Net.Security;SslStream;AuthenticateAsServerAsync;(System.Security.Cryptography.X509Certificates.X509Certificate,System.Boolean,System.Security.Authentication.SslProtocols,System.Boolean);summary;df-generated | +| System.Net.Security;SslStream;BeginAuthenticateAsClient;(System.String,System.AsyncCallback,System.Object);summary;df-generated | +| System.Net.Security;SslStream;BeginAuthenticateAsClient;(System.String,System.Security.Cryptography.X509Certificates.X509CertificateCollection,System.Boolean,System.AsyncCallback,System.Object);summary;df-generated | +| System.Net.Security;SslStream;BeginAuthenticateAsClient;(System.String,System.Security.Cryptography.X509Certificates.X509CertificateCollection,System.Security.Authentication.SslProtocols,System.Boolean,System.AsyncCallback,System.Object);summary;df-generated | +| System.Net.Security;SslStream;BeginAuthenticateAsServer;(System.Security.Cryptography.X509Certificates.X509Certificate,System.AsyncCallback,System.Object);summary;df-generated | +| System.Net.Security;SslStream;BeginAuthenticateAsServer;(System.Security.Cryptography.X509Certificates.X509Certificate,System.Boolean,System.Boolean,System.AsyncCallback,System.Object);summary;df-generated | +| System.Net.Security;SslStream;BeginAuthenticateAsServer;(System.Security.Cryptography.X509Certificates.X509Certificate,System.Boolean,System.Security.Authentication.SslProtocols,System.Boolean,System.AsyncCallback,System.Object);summary;df-generated | | System.Net.Security;SslStream;Dispose;(System.Boolean);summary;df-generated | | System.Net.Security;SslStream;EndAuthenticateAsClient;(System.IAsyncResult);summary;df-generated | | System.Net.Security;SslStream;EndAuthenticateAsServer;(System.IAsyncResult);summary;df-generated | | System.Net.Security;SslStream;EndRead;(System.IAsyncResult);summary;df-generated | | System.Net.Security;SslStream;EndWrite;(System.IAsyncResult);summary;df-generated | | System.Net.Security;SslStream;Flush;();summary;df-generated | -| System.Net.Security;SslStream;NegotiateClientCertificateAsync;(System.Threading.CancellationToken);summary;df-generated | | System.Net.Security;SslStream;ReadByte;();summary;df-generated | | System.Net.Security;SslStream;Seek;(System.Int64,System.IO.SeekOrigin);summary;df-generated | | System.Net.Security;SslStream;SetLength;(System.Int64);summary;df-generated | | System.Net.Security;SslStream;ShutdownAsync;();summary;df-generated | | System.Net.Security;SslStream;SslStream;(System.IO.Stream);summary;df-generated | | System.Net.Security;SslStream;SslStream;(System.IO.Stream,System.Boolean);summary;df-generated | +| System.Net.Security;SslStream;SslStream;(System.IO.Stream,System.Boolean,System.Net.Security.RemoteCertificateValidationCallback);summary;df-generated | +| System.Net.Security;SslStream;SslStream;(System.IO.Stream,System.Boolean,System.Net.Security.RemoteCertificateValidationCallback,System.Net.Security.LocalCertificateSelectionCallback);summary;df-generated | +| System.Net.Security;SslStream;SslStream;(System.IO.Stream,System.Boolean,System.Net.Security.RemoteCertificateValidationCallback,System.Net.Security.LocalCertificateSelectionCallback,System.Net.Security.EncryptionPolicy);summary;df-generated | | System.Net.Security;SslStream;get_CanRead;();summary;df-generated | | System.Net.Security;SslStream;get_CanSeek;();summary;df-generated | | System.Net.Security;SslStream;get_CanTimeout;();summary;df-generated | @@ -32349,6 +34237,25 @@ neutral | System.Net.Sockets;Socket;AcceptAsync;(System.Net.Sockets.Socket);summary;df-generated | | System.Net.Sockets;Socket;AcceptAsync;(System.Net.Sockets.Socket,System.Threading.CancellationToken);summary;df-generated | | System.Net.Sockets;Socket;AcceptAsync;(System.Threading.CancellationToken);summary;df-generated | +| System.Net.Sockets;Socket;BeginAccept;(System.AsyncCallback,System.Object);summary;df-generated | +| System.Net.Sockets;Socket;BeginAccept;(System.Int32,System.AsyncCallback,System.Object);summary;df-generated | +| System.Net.Sockets;Socket;BeginAccept;(System.Net.Sockets.Socket,System.Int32,System.AsyncCallback,System.Object);summary;df-generated | +| System.Net.Sockets;Socket;BeginConnect;(System.Net.EndPoint,System.AsyncCallback,System.Object);summary;df-generated | +| System.Net.Sockets;Socket;BeginConnect;(System.Net.IPAddress,System.Int32,System.AsyncCallback,System.Object);summary;df-generated | +| System.Net.Sockets;Socket;BeginConnect;(System.Net.IPAddress[],System.Int32,System.AsyncCallback,System.Object);summary;df-generated | +| System.Net.Sockets;Socket;BeginConnect;(System.String,System.Int32,System.AsyncCallback,System.Object);summary;df-generated | +| System.Net.Sockets;Socket;BeginDisconnect;(System.Boolean,System.AsyncCallback,System.Object);summary;df-generated | +| System.Net.Sockets;Socket;BeginReceive;(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.AsyncCallback,System.Object);summary;df-generated | +| System.Net.Sockets;Socket;BeginReceive;(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.Net.Sockets.SocketError,System.AsyncCallback,System.Object);summary;df-generated | +| System.Net.Sockets;Socket;BeginReceive;(System.Collections.Generic.IList>,System.Net.Sockets.SocketFlags,System.AsyncCallback,System.Object);summary;df-generated | +| System.Net.Sockets;Socket;BeginReceive;(System.Collections.Generic.IList>,System.Net.Sockets.SocketFlags,System.Net.Sockets.SocketError,System.AsyncCallback,System.Object);summary;df-generated | +| System.Net.Sockets;Socket;BeginSend;(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.AsyncCallback,System.Object);summary;df-generated | +| System.Net.Sockets;Socket;BeginSend;(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.Net.Sockets.SocketError,System.AsyncCallback,System.Object);summary;df-generated | +| System.Net.Sockets;Socket;BeginSend;(System.Collections.Generic.IList>,System.Net.Sockets.SocketFlags,System.AsyncCallback,System.Object);summary;df-generated | +| System.Net.Sockets;Socket;BeginSend;(System.Collections.Generic.IList>,System.Net.Sockets.SocketFlags,System.Net.Sockets.SocketError,System.AsyncCallback,System.Object);summary;df-generated | +| System.Net.Sockets;Socket;BeginSendFile;(System.String,System.AsyncCallback,System.Object);summary;df-generated | +| System.Net.Sockets;Socket;BeginSendFile;(System.String,System.Byte[],System.Byte[],System.Net.Sockets.TransmitFileOptions,System.AsyncCallback,System.Object);summary;df-generated | +| System.Net.Sockets;Socket;BeginSendTo;(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.Net.EndPoint,System.AsyncCallback,System.Object);summary;df-generated | | System.Net.Sockets;Socket;CancelConnectAsync;(System.Net.Sockets.SocketAsyncEventArgs);summary;df-generated | | System.Net.Sockets;Socket;Close;();summary;df-generated | | System.Net.Sockets;Socket;Close;(System.Int32);summary;df-generated | @@ -32469,11 +34376,13 @@ neutral | System.Net.Sockets;SocketAsyncEventArgs;SetBuffer;(System.Byte[],System.Int32,System.Int32);summary;df-generated | | System.Net.Sockets;SocketAsyncEventArgs;SetBuffer;(System.Int32,System.Int32);summary;df-generated | | System.Net.Sockets;SocketAsyncEventArgs;SocketAsyncEventArgs;(System.Boolean);summary;df-generated | +| System.Net.Sockets;SocketAsyncEventArgs;add_Completed;(System.EventHandler);summary;df-generated | | System.Net.Sockets;SocketAsyncEventArgs;get_Buffer;();summary;df-generated | | System.Net.Sockets;SocketAsyncEventArgs;get_BytesTransferred;();summary;df-generated | | System.Net.Sockets;SocketAsyncEventArgs;get_Count;();summary;df-generated | | System.Net.Sockets;SocketAsyncEventArgs;get_LastOperation;();summary;df-generated | | System.Net.Sockets;SocketAsyncEventArgs;get_Offset;();summary;df-generated | +| System.Net.Sockets;SocketAsyncEventArgs;remove_Completed;(System.EventHandler);summary;df-generated | | System.Net.Sockets;SocketException;SocketException;(System.Int32);summary;df-generated | | System.Net.Sockets;SocketException;SocketException;(System.Int32,System.String);summary;df-generated | | System.Net.Sockets;SocketException;SocketException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);summary;df-generated | @@ -32495,6 +34404,9 @@ neutral | System.Net.Sockets;SocketTaskExtensions;SendAsync;(System.Net.Sockets.Socket,System.ArraySegment,System.Net.Sockets.SocketFlags);summary;df-generated | | System.Net.Sockets;SocketTaskExtensions;SendAsync;(System.Net.Sockets.Socket,System.Collections.Generic.IList>,System.Net.Sockets.SocketFlags);summary;df-generated | | System.Net.Sockets;SocketTaskExtensions;SendAsync;(System.Net.Sockets.Socket,System.ReadOnlyMemory,System.Net.Sockets.SocketFlags,System.Threading.CancellationToken);summary;df-generated | +| System.Net.Sockets;TcpClient;BeginConnect;(System.Net.IPAddress,System.Int32,System.AsyncCallback,System.Object);summary;df-generated | +| System.Net.Sockets;TcpClient;BeginConnect;(System.Net.IPAddress[],System.Int32,System.AsyncCallback,System.Object);summary;df-generated | +| System.Net.Sockets;TcpClient;BeginConnect;(System.String,System.Int32,System.AsyncCallback,System.Object);summary;df-generated | | System.Net.Sockets;TcpClient;Close;();summary;df-generated | | System.Net.Sockets;TcpClient;Connect;(System.Net.IPAddress,System.Int32);summary;df-generated | | System.Net.Sockets;TcpClient;Connect;(System.Net.IPAddress[],System.Int32);summary;df-generated | @@ -32518,6 +34430,8 @@ neutral | System.Net.Sockets;TcpListener;AcceptTcpClientAsync;();summary;df-generated | | System.Net.Sockets;TcpListener;AcceptTcpClientAsync;(System.Threading.CancellationToken);summary;df-generated | | System.Net.Sockets;TcpListener;AllowNatTraversal;(System.Boolean);summary;df-generated | +| System.Net.Sockets;TcpListener;BeginAcceptSocket;(System.AsyncCallback,System.Object);summary;df-generated | +| System.Net.Sockets;TcpListener;BeginAcceptTcpClient;(System.AsyncCallback,System.Object);summary;df-generated | | System.Net.Sockets;TcpListener;Create;(System.Int32);summary;df-generated | | System.Net.Sockets;TcpListener;Dispose;();summary;df-generated | | System.Net.Sockets;TcpListener;EndAcceptSocket;(System.IAsyncResult);summary;df-generated | @@ -32530,6 +34444,10 @@ neutral | System.Net.Sockets;TcpListener;TcpListener;(System.Net.IPAddress,System.Int32);summary;df-generated | | System.Net.Sockets;TcpListener;get_Active;();summary;df-generated | | System.Net.Sockets;UdpClient;AllowNatTraversal;(System.Boolean);summary;df-generated | +| System.Net.Sockets;UdpClient;BeginReceive;(System.AsyncCallback,System.Object);summary;df-generated | +| System.Net.Sockets;UdpClient;BeginSend;(System.Byte[],System.Int32,System.AsyncCallback,System.Object);summary;df-generated | +| System.Net.Sockets;UdpClient;BeginSend;(System.Byte[],System.Int32,System.Net.IPEndPoint,System.AsyncCallback,System.Object);summary;df-generated | +| System.Net.Sockets;UdpClient;BeginSend;(System.Byte[],System.Int32,System.String,System.Int32,System.AsyncCallback,System.Object);summary;df-generated | | System.Net.Sockets;UdpClient;Close;();summary;df-generated | | System.Net.Sockets;UdpClient;Connect;(System.Net.IPAddress,System.Int32);summary;df-generated | | System.Net.Sockets;UdpClient;Connect;(System.String,System.Int32);summary;df-generated | @@ -32668,6 +34586,11 @@ neutral | System.Net;CredentialCache;Remove;(System.Uri,System.String);summary;df-generated | | System.Net;CredentialCache;get_DefaultCredentials;();summary;df-generated | | System.Net;CredentialCache;get_DefaultNetworkCredentials;();summary;df-generated | +| System.Net;Dns;BeginGetHostAddresses;(System.String,System.AsyncCallback,System.Object);summary;df-generated | +| System.Net;Dns;BeginGetHostByName;(System.String,System.AsyncCallback,System.Object);summary;df-generated | +| System.Net;Dns;BeginGetHostEntry;(System.Net.IPAddress,System.AsyncCallback,System.Object);summary;df-generated | +| System.Net;Dns;BeginGetHostEntry;(System.String,System.AsyncCallback,System.Object);summary;df-generated | +| System.Net;Dns;BeginResolve;(System.String,System.AsyncCallback,System.Object);summary;df-generated | | System.Net;Dns;EndGetHostAddresses;(System.IAsyncResult);summary;df-generated | | System.Net;Dns;EndGetHostByName;(System.IAsyncResult);summary;df-generated | | System.Net;Dns;EndGetHostEntry;(System.IAsyncResult);summary;df-generated | @@ -32712,6 +34635,8 @@ neutral | System.Net;EndpointPermission;get_Port;();summary;df-generated | | System.Net;EndpointPermission;get_Transport;();summary;df-generated | | System.Net;FileWebRequest;Abort;();summary;df-generated | +| System.Net;FileWebRequest;BeginGetRequestStream;(System.AsyncCallback,System.Object);summary;df-generated | +| System.Net;FileWebRequest;BeginGetResponse;(System.AsyncCallback,System.Object);summary;df-generated | | System.Net;FileWebRequest;FileWebRequest;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);summary;df-generated | | System.Net;FileWebRequest;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);summary;df-generated | | System.Net;FileWebRequest;GetResponseAsync;();summary;df-generated | @@ -32721,6 +34646,8 @@ neutral | System.Net;FileWebResponse;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);summary;df-generated | | System.Net;FileWebResponse;get_SupportsHeaders;();summary;df-generated | | System.Net;FtpWebRequest;Abort;();summary;df-generated | +| System.Net;FtpWebRequest;BeginGetRequestStream;(System.AsyncCallback,System.Object);summary;df-generated | +| System.Net;FtpWebRequest;BeginGetResponse;(System.AsyncCallback,System.Object);summary;df-generated | | System.Net;FtpWebRequest;get_RequestUri;();summary;df-generated | | System.Net;FtpWebRequest;get_ServicePoint;();summary;df-generated | | System.Net;FtpWebResponse;Close;();summary;df-generated | @@ -32751,6 +34678,7 @@ neutral | System.Net;HttpListenerPrefixCollection;get_Count;();summary;df-generated | | System.Net;HttpListenerPrefixCollection;get_IsReadOnly;();summary;df-generated | | System.Net;HttpListenerPrefixCollection;get_IsSynchronized;();summary;df-generated | +| System.Net;HttpListenerRequest;BeginGetClientCertificate;(System.AsyncCallback,System.Object);summary;df-generated | | System.Net;HttpListenerRequest;GetClientCertificateAsync;();summary;df-generated | | System.Net;HttpListenerRequest;get_AcceptTypes;();summary;df-generated | | System.Net;HttpListenerRequest;get_ClientCertificateError;();summary;df-generated | @@ -32786,6 +34714,8 @@ neutral | System.Net;HttpWebRequest;AddRange;(System.String,System.Int32,System.Int32);summary;df-generated | | System.Net;HttpWebRequest;AddRange;(System.String,System.Int64);summary;df-generated | | System.Net;HttpWebRequest;AddRange;(System.String,System.Int64,System.Int64);summary;df-generated | +| System.Net;HttpWebRequest;BeginGetRequestStream;(System.AsyncCallback,System.Object);summary;df-generated | +| System.Net;HttpWebRequest;BeginGetResponse;(System.AsyncCallback,System.Object);summary;df-generated | | System.Net;HttpWebRequest;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);summary;df-generated | | System.Net;HttpWebRequest;HttpWebRequest;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);summary;df-generated | | System.Net;HttpWebRequest;get_HaveResponse;();summary;df-generated | @@ -32982,7 +34912,31 @@ neutral | System.Net;WebClient;UploadValuesAsync;(System.Uri,System.Collections.Specialized.NameValueCollection);summary;df-generated | | System.Net;WebClient;UploadValuesTaskAsync;(System.String,System.Collections.Specialized.NameValueCollection);summary;df-generated | | System.Net;WebClient;UploadValuesTaskAsync;(System.Uri,System.Collections.Specialized.NameValueCollection);summary;df-generated | +| System.Net;WebClient;add_DownloadDataCompleted;(System.Net.DownloadDataCompletedEventHandler);summary;df-generated | +| System.Net;WebClient;add_DownloadFileCompleted;(System.ComponentModel.AsyncCompletedEventHandler);summary;df-generated | +| System.Net;WebClient;add_DownloadProgressChanged;(System.Net.DownloadProgressChangedEventHandler);summary;df-generated | +| System.Net;WebClient;add_DownloadStringCompleted;(System.Net.DownloadStringCompletedEventHandler);summary;df-generated | +| System.Net;WebClient;add_OpenReadCompleted;(System.Net.OpenReadCompletedEventHandler);summary;df-generated | +| System.Net;WebClient;add_OpenWriteCompleted;(System.Net.OpenWriteCompletedEventHandler);summary;df-generated | +| System.Net;WebClient;add_UploadDataCompleted;(System.Net.UploadDataCompletedEventHandler);summary;df-generated | +| System.Net;WebClient;add_UploadFileCompleted;(System.Net.UploadFileCompletedEventHandler);summary;df-generated | +| System.Net;WebClient;add_UploadProgressChanged;(System.Net.UploadProgressChangedEventHandler);summary;df-generated | +| System.Net;WebClient;add_UploadStringCompleted;(System.Net.UploadStringCompletedEventHandler);summary;df-generated | +| System.Net;WebClient;add_UploadValuesCompleted;(System.Net.UploadValuesCompletedEventHandler);summary;df-generated | +| System.Net;WebClient;add_WriteStreamClosed;(System.Net.WriteStreamClosedEventHandler);summary;df-generated | | System.Net;WebClient;get_IsBusy;();summary;df-generated | +| System.Net;WebClient;remove_DownloadDataCompleted;(System.Net.DownloadDataCompletedEventHandler);summary;df-generated | +| System.Net;WebClient;remove_DownloadFileCompleted;(System.ComponentModel.AsyncCompletedEventHandler);summary;df-generated | +| System.Net;WebClient;remove_DownloadProgressChanged;(System.Net.DownloadProgressChangedEventHandler);summary;df-generated | +| System.Net;WebClient;remove_DownloadStringCompleted;(System.Net.DownloadStringCompletedEventHandler);summary;df-generated | +| System.Net;WebClient;remove_OpenReadCompleted;(System.Net.OpenReadCompletedEventHandler);summary;df-generated | +| System.Net;WebClient;remove_OpenWriteCompleted;(System.Net.OpenWriteCompletedEventHandler);summary;df-generated | +| System.Net;WebClient;remove_UploadDataCompleted;(System.Net.UploadDataCompletedEventHandler);summary;df-generated | +| System.Net;WebClient;remove_UploadFileCompleted;(System.Net.UploadFileCompletedEventHandler);summary;df-generated | +| System.Net;WebClient;remove_UploadProgressChanged;(System.Net.UploadProgressChangedEventHandler);summary;df-generated | +| System.Net;WebClient;remove_UploadStringCompleted;(System.Net.UploadStringCompletedEventHandler);summary;df-generated | +| System.Net;WebClient;remove_UploadValuesCompleted;(System.Net.UploadValuesCompletedEventHandler);summary;df-generated | +| System.Net;WebClient;remove_WriteStreamClosed;(System.Net.WriteStreamClosedEventHandler);summary;df-generated | | System.Net;WebException;WebException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);summary;df-generated | | System.Net;WebException;WebException;(System.String);summary;df-generated | | System.Net;WebException;WebException;(System.String,System.Exception);summary;df-generated | @@ -33033,6 +34987,8 @@ neutral | System.Net;WebProxy;WebProxy;(System.Uri,System.Boolean,System.String[],System.Net.ICredentials);summary;df-generated | | System.Net;WebProxy;get_BypassArrayList;();summary;df-generated | | System.Net;WebRequest;Abort;();summary;df-generated | +| System.Net;WebRequest;BeginGetRequestStream;(System.AsyncCallback,System.Object);summary;df-generated | +| System.Net;WebRequest;BeginGetResponse;(System.AsyncCallback,System.Object);summary;df-generated | | System.Net;WebRequest;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);summary;df-generated | | System.Net;WebRequest;GetResponseAsync;();summary;df-generated | | System.Net;WebRequest;GetSystemWebProxy;();summary;df-generated | @@ -34066,7 +36022,6 @@ neutral | System.Reflection.Emit;ConstructorBuilder;GetILGenerator;();summary;df-generated | | System.Reflection.Emit;ConstructorBuilder;GetILGenerator;(System.Int32);summary;df-generated | | System.Reflection.Emit;ConstructorBuilder;GetMethodImplementationFlags;();summary;df-generated | -| System.Reflection.Emit;ConstructorBuilder;Invoke;(System.Object,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo);summary;df-generated | | System.Reflection.Emit;ConstructorBuilder;Invoke;(System.Reflection.BindingFlags,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo);summary;df-generated | | System.Reflection.Emit;ConstructorBuilder;IsDefined;(System.Type,System.Boolean);summary;df-generated | | System.Reflection.Emit;ConstructorBuilder;SetCustomAttribute;(System.Reflection.ConstructorInfo,System.Byte[]);summary;df-generated | @@ -34100,7 +36055,6 @@ neutral | System.Reflection.Emit;DynamicMethod;GetILGenerator;();summary;df-generated | | System.Reflection.Emit;DynamicMethod;GetILGenerator;(System.Int32);summary;df-generated | | System.Reflection.Emit;DynamicMethod;GetMethodImplementationFlags;();summary;df-generated | -| System.Reflection.Emit;DynamicMethod;Invoke;(System.Object,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo);summary;df-generated | | System.Reflection.Emit;DynamicMethod;IsDefined;(System.Type,System.Boolean);summary;df-generated | | System.Reflection.Emit;DynamicMethod;ToString;();summary;df-generated | | System.Reflection.Emit;DynamicMethod;get_Attributes;();summary;df-generated | @@ -34260,7 +36214,6 @@ neutral | System.Reflection.Emit;MethodBuilder;GetILGenerator;();summary;df-generated | | System.Reflection.Emit;MethodBuilder;GetILGenerator;(System.Int32);summary;df-generated | | System.Reflection.Emit;MethodBuilder;GetMethodImplementationFlags;();summary;df-generated | -| System.Reflection.Emit;MethodBuilder;Invoke;(System.Object,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo);summary;df-generated | | System.Reflection.Emit;MethodBuilder;IsDefined;(System.Type,System.Boolean);summary;df-generated | | System.Reflection.Emit;MethodBuilder;SetCustomAttribute;(System.Reflection.ConstructorInfo,System.Byte[]);summary;df-generated | | System.Reflection.Emit;MethodBuilder;SetCustomAttribute;(System.Reflection.Emit.CustomAttributeBuilder);summary;df-generated | @@ -34338,7 +36291,6 @@ neutral | System.Reflection.Emit;PropertyBuilder;AddOtherMethod;(System.Reflection.Emit.MethodBuilder);summary;df-generated | | System.Reflection.Emit;PropertyBuilder;GetCustomAttributes;(System.Boolean);summary;df-generated | | System.Reflection.Emit;PropertyBuilder;GetCustomAttributes;(System.Type,System.Boolean);summary;df-generated | -| System.Reflection.Emit;PropertyBuilder;GetValue;(System.Object,System.Object[]);summary;df-generated | | System.Reflection.Emit;PropertyBuilder;GetValue;(System.Object,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo);summary;df-generated | | System.Reflection.Emit;PropertyBuilder;IsDefined;(System.Type,System.Boolean);summary;df-generated | | System.Reflection.Emit;PropertyBuilder;SetConstant;(System.Object);summary;df-generated | @@ -34455,6 +36407,7 @@ neutral | System.Reflection.Metadata.Ecma335;ArrayShapeEncoder;Shape;(System.Int32,System.Collections.Immutable.ImmutableArray,System.Collections.Immutable.ImmutableArray);summary;df-generated | | System.Reflection.Metadata.Ecma335;ArrayShapeEncoder;get_Builder;();summary;df-generated | | System.Reflection.Metadata.Ecma335;BlobEncoder;BlobEncoder;(System.Reflection.Metadata.BlobBuilder);summary;df-generated | +| System.Reflection.Metadata.Ecma335;BlobEncoder;CustomAttributeSignature;(System.Action,System.Action);summary;df-generated | | System.Reflection.Metadata.Ecma335;BlobEncoder;CustomAttributeSignature;(System.Reflection.Metadata.Ecma335.FixedArgumentsEncoder,System.Reflection.Metadata.Ecma335.CustomAttributeNamedArgumentsEncoder);summary;df-generated | | System.Reflection.Metadata.Ecma335;BlobEncoder;Field;();summary;df-generated | | System.Reflection.Metadata.Ecma335;BlobEncoder;FieldSignature;();summary;df-generated | @@ -34570,7 +36523,9 @@ neutral | System.Reflection.Metadata.Ecma335;LabelHandle;op_Inequality;(System.Reflection.Metadata.Ecma335.LabelHandle,System.Reflection.Metadata.Ecma335.LabelHandle);summary;df-generated | | System.Reflection.Metadata.Ecma335;LiteralEncoder;LiteralEncoder;(System.Reflection.Metadata.BlobBuilder);summary;df-generated | | System.Reflection.Metadata.Ecma335;LiteralEncoder;Scalar;();summary;df-generated | +| System.Reflection.Metadata.Ecma335;LiteralEncoder;TaggedScalar;(System.Action,System.Action);summary;df-generated | | System.Reflection.Metadata.Ecma335;LiteralEncoder;TaggedScalar;(System.Reflection.Metadata.Ecma335.CustomAttributeElementTypeEncoder,System.Reflection.Metadata.Ecma335.ScalarEncoder);summary;df-generated | +| System.Reflection.Metadata.Ecma335;LiteralEncoder;TaggedVector;(System.Action,System.Action);summary;df-generated | | System.Reflection.Metadata.Ecma335;LiteralEncoder;TaggedVector;(System.Reflection.Metadata.Ecma335.CustomAttributeArrayTypeEncoder,System.Reflection.Metadata.Ecma335.VectorEncoder);summary;df-generated | | System.Reflection.Metadata.Ecma335;LiteralEncoder;Vector;();summary;df-generated | | System.Reflection.Metadata.Ecma335;LiteralEncoder;get_Builder;();summary;df-generated | @@ -34730,6 +36685,7 @@ neutral | System.Reflection.Metadata.Ecma335;MethodBodyStreamEncoder;MethodBodyStreamEncoder;(System.Reflection.Metadata.BlobBuilder);summary;df-generated | | System.Reflection.Metadata.Ecma335;MethodBodyStreamEncoder;get_Builder;();summary;df-generated | | System.Reflection.Metadata.Ecma335;MethodSignatureEncoder;MethodSignatureEncoder;(System.Reflection.Metadata.BlobBuilder,System.Boolean);summary;df-generated | +| System.Reflection.Metadata.Ecma335;MethodSignatureEncoder;Parameters;(System.Int32,System.Action,System.Action);summary;df-generated | | System.Reflection.Metadata.Ecma335;MethodSignatureEncoder;Parameters;(System.Int32,System.Reflection.Metadata.Ecma335.ReturnTypeEncoder,System.Reflection.Metadata.Ecma335.ParametersEncoder);summary;df-generated | | System.Reflection.Metadata.Ecma335;MethodSignatureEncoder;get_Builder;();summary;df-generated | | System.Reflection.Metadata.Ecma335;MethodSignatureEncoder;get_HasVarArgs;();summary;df-generated | @@ -34741,6 +36697,7 @@ neutral | System.Reflection.Metadata.Ecma335;NamedArgumentTypeEncoder;SZArray;();summary;df-generated | | System.Reflection.Metadata.Ecma335;NamedArgumentTypeEncoder;ScalarType;();summary;df-generated | | System.Reflection.Metadata.Ecma335;NamedArgumentTypeEncoder;get_Builder;();summary;df-generated | +| System.Reflection.Metadata.Ecma335;NamedArgumentsEncoder;AddArgument;(System.Boolean,System.Action,System.Action,System.Action);summary;df-generated | | System.Reflection.Metadata.Ecma335;NamedArgumentsEncoder;AddArgument;(System.Boolean,System.Reflection.Metadata.Ecma335.NamedArgumentTypeEncoder,System.Reflection.Metadata.Ecma335.NameEncoder,System.Reflection.Metadata.Ecma335.LiteralEncoder);summary;df-generated | | System.Reflection.Metadata.Ecma335;NamedArgumentsEncoder;NamedArgumentsEncoder;(System.Reflection.Metadata.BlobBuilder);summary;df-generated | | System.Reflection.Metadata.Ecma335;NamedArgumentsEncoder;get_Builder;();summary;df-generated | @@ -34756,6 +36713,7 @@ neutral | System.Reflection.Metadata.Ecma335;ParametersEncoder;get_HasVarArgs;();summary;df-generated | | System.Reflection.Metadata.Ecma335;PermissionSetEncoder;PermissionSetEncoder;(System.Reflection.Metadata.BlobBuilder);summary;df-generated | | System.Reflection.Metadata.Ecma335;PermissionSetEncoder;get_Builder;();summary;df-generated | +| System.Reflection.Metadata.Ecma335;PortablePdbBuilder;PortablePdbBuilder;(System.Reflection.Metadata.Ecma335.MetadataBuilder,System.Collections.Immutable.ImmutableArray,System.Reflection.Metadata.MethodDefinitionHandle,System.Func,System.Reflection.Metadata.BlobContentId>);summary;df-generated | | System.Reflection.Metadata.Ecma335;PortablePdbBuilder;get_FormatVersion;();summary;df-generated | | System.Reflection.Metadata.Ecma335;PortablePdbBuilder;get_IdProvider;();summary;df-generated | | System.Reflection.Metadata.Ecma335;PortablePdbBuilder;get_MetadataVersion;();summary;df-generated | @@ -35673,7 +37631,10 @@ neutral | System.Reflection.PortableExecutable;DebugDirectoryEntry;get_Type;();summary;df-generated | | System.Reflection.PortableExecutable;DirectoryEntry;DirectoryEntry;(System.Int32,System.Int32);summary;df-generated | | System.Reflection.PortableExecutable;ManagedPEBuilder;CreateSections;();summary;df-generated | +| System.Reflection.PortableExecutable;ManagedPEBuilder;ManagedPEBuilder;(System.Reflection.PortableExecutable.PEHeaderBuilder,System.Reflection.Metadata.Ecma335.MetadataRootBuilder,System.Reflection.Metadata.BlobBuilder,System.Reflection.Metadata.BlobBuilder,System.Reflection.Metadata.BlobBuilder,System.Reflection.PortableExecutable.ResourceSectionBuilder,System.Reflection.PortableExecutable.DebugDirectoryBuilder,System.Int32,System.Reflection.Metadata.MethodDefinitionHandle,System.Reflection.PortableExecutable.CorFlags,System.Func,System.Reflection.Metadata.BlobContentId>);summary;df-generated | +| System.Reflection.PortableExecutable;ManagedPEBuilder;Sign;(System.Reflection.Metadata.BlobBuilder,System.Func,System.Byte[]>);summary;df-generated | | System.Reflection.PortableExecutable;PEBuilder;CreateSections;();summary;df-generated | +| System.Reflection.PortableExecutable;PEBuilder;PEBuilder;(System.Reflection.PortableExecutable.PEHeaderBuilder,System.Func,System.Reflection.Metadata.BlobContentId>);summary;df-generated | | System.Reflection.PortableExecutable;PEBuilder;get_Header;();summary;df-generated | | System.Reflection.PortableExecutable;PEBuilder;get_IdProvider;();summary;df-generated | | System.Reflection.PortableExecutable;PEBuilder;get_IsDeterministic;();summary;df-generated | @@ -35827,6 +37788,7 @@ neutral | System.Reflection;Assembly;ReflectionOnlyLoad;(System.String);summary;df-generated | | System.Reflection;Assembly;ReflectionOnlyLoadFrom;(System.String);summary;df-generated | | System.Reflection;Assembly;UnsafeLoadFrom;(System.String);summary;df-generated | +| System.Reflection;Assembly;add_ModuleResolve;(System.Reflection.ModuleResolveEventHandler);summary;df-generated | | System.Reflection;Assembly;get_DefinedTypes;();summary;df-generated | | System.Reflection;Assembly;get_ExportedTypes;();summary;df-generated | | System.Reflection;Assembly;get_GlobalAssemblyCache;();summary;df-generated | @@ -35838,6 +37800,7 @@ neutral | System.Reflection;Assembly;get_SecurityRuleSet;();summary;df-generated | | System.Reflection;Assembly;op_Equality;(System.Reflection.Assembly,System.Reflection.Assembly);summary;df-generated | | System.Reflection;Assembly;op_Inequality;(System.Reflection.Assembly,System.Reflection.Assembly);summary;df-generated | +| System.Reflection;Assembly;remove_ModuleResolve;(System.Reflection.ModuleResolveEventHandler);summary;df-generated | | System.Reflection;AssemblyAlgorithmIdAttribute;AssemblyAlgorithmIdAttribute;(System.Configuration.Assemblies.AssemblyHashAlgorithm);summary;df-generated | | System.Reflection;AssemblyAlgorithmIdAttribute;AssemblyAlgorithmIdAttribute;(System.UInt32);summary;df-generated | | System.Reflection;AssemblyAlgorithmIdAttribute;get_AlgorithmId;();summary;df-generated | @@ -35902,11 +37865,6 @@ neutral | System.Reflection;ConstructorInfo;op_Inequality;(System.Reflection.ConstructorInfo,System.Reflection.ConstructorInfo);summary;df-generated | | System.Reflection;ConstructorInvoker;Create;(System.Reflection.ConstructorInfo);summary;df-generated | | System.Reflection;ConstructorInvoker;Invoke;();summary;df-generated | -| System.Reflection;ConstructorInvoker;Invoke;(System.Object);summary;df-generated | -| System.Reflection;ConstructorInvoker;Invoke;(System.Object,System.Object);summary;df-generated | -| System.Reflection;ConstructorInvoker;Invoke;(System.Object,System.Object,System.Object);summary;df-generated | -| System.Reflection;ConstructorInvoker;Invoke;(System.Object,System.Object,System.Object,System.Object);summary;df-generated | -| System.Reflection;ConstructorInvoker;Invoke;(System.Span);summary;df-generated | | System.Reflection;CustomAttributeData;Equals;(System.Object);summary;df-generated | | System.Reflection;CustomAttributeData;GetCustomAttributes;(System.Reflection.Assembly);summary;df-generated | | System.Reflection;CustomAttributeData;GetCustomAttributes;(System.Reflection.MemberInfo);summary;df-generated | @@ -36068,8 +38026,6 @@ neutral | System.Reflection;MethodBase;GetMethodFromHandle;(System.RuntimeMethodHandle);summary;df-generated | | System.Reflection;MethodBase;GetMethodFromHandle;(System.RuntimeMethodHandle,System.RuntimeTypeHandle);summary;df-generated | | System.Reflection;MethodBase;GetMethodImplementationFlags;();summary;df-generated | -| System.Reflection;MethodBase;Invoke;(System.Object,System.Object[]);summary;df-generated | -| System.Reflection;MethodBase;Invoke;(System.Object,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo);summary;df-generated | | System.Reflection;MethodBase;get_Attributes;();summary;df-generated | | System.Reflection;MethodBase;get_CallingConvention;();summary;df-generated | | System.Reflection;MethodBase;get_ContainsGenericParameters;();summary;df-generated | @@ -36107,12 +38063,6 @@ neutral | System.Reflection;MethodInfo;op_Equality;(System.Reflection.MethodInfo,System.Reflection.MethodInfo);summary;df-generated | | System.Reflection;MethodInfo;op_Inequality;(System.Reflection.MethodInfo,System.Reflection.MethodInfo);summary;df-generated | | System.Reflection;MethodInvoker;Create;(System.Reflection.MethodBase);summary;df-generated | -| System.Reflection;MethodInvoker;Invoke;(System.Object);summary;df-generated | -| System.Reflection;MethodInvoker;Invoke;(System.Object,System.Object);summary;df-generated | -| System.Reflection;MethodInvoker;Invoke;(System.Object,System.Object,System.Object);summary;df-generated | -| System.Reflection;MethodInvoker;Invoke;(System.Object,System.Object,System.Object,System.Object);summary;df-generated | -| System.Reflection;MethodInvoker;Invoke;(System.Object,System.Object,System.Object,System.Object,System.Object);summary;df-generated | -| System.Reflection;MethodInvoker;Invoke;(System.Object,System.Span);summary;df-generated | | System.Reflection;Module;Equals;(System.Object);summary;df-generated | | System.Reflection;Module;GetCustomAttributes;(System.Boolean);summary;df-generated | | System.Reflection;Module;GetCustomAttributes;(System.Type,System.Boolean);summary;df-generated | @@ -36170,8 +38120,6 @@ neutral | System.Reflection;PropertyInfo;GetOptionalCustomModifiers;();summary;df-generated | | System.Reflection;PropertyInfo;GetRawConstantValue;();summary;df-generated | | System.Reflection;PropertyInfo;GetRequiredCustomModifiers;();summary;df-generated | -| System.Reflection;PropertyInfo;GetValue;(System.Object);summary;df-generated | -| System.Reflection;PropertyInfo;GetValue;(System.Object,System.Object[]);summary;df-generated | | System.Reflection;PropertyInfo;GetValue;(System.Object,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo);summary;df-generated | | System.Reflection;PropertyInfo;SetValue;(System.Object,System.Object);summary;df-generated | | System.Reflection;PropertyInfo;SetValue;(System.Object,System.Object,System.Object[]);summary;df-generated | @@ -36399,10 +38347,18 @@ neutral | System.Runtime.CompilerServices;ConfiguredCancelableAsyncEnumerable+Enumerator;DisposeAsync;();summary;df-generated | | System.Runtime.CompilerServices;ConfiguredCancelableAsyncEnumerable+Enumerator;MoveNextAsync;();summary;df-generated | | System.Runtime.CompilerServices;ConfiguredTaskAwaitable+ConfiguredTaskAwaiter;GetResult;();summary;df-generated | +| System.Runtime.CompilerServices;ConfiguredTaskAwaitable+ConfiguredTaskAwaiter;OnCompleted;(System.Action);summary;df-generated | +| System.Runtime.CompilerServices;ConfiguredTaskAwaitable+ConfiguredTaskAwaiter;UnsafeOnCompleted;(System.Action);summary;df-generated | | System.Runtime.CompilerServices;ConfiguredTaskAwaitable+ConfiguredTaskAwaiter;get_IsCompleted;();summary;df-generated | +| System.Runtime.CompilerServices;ConfiguredTaskAwaitable+ConfiguredTaskAwaiter;OnCompleted;(System.Action);summary;df-generated | +| System.Runtime.CompilerServices;ConfiguredTaskAwaitable+ConfiguredTaskAwaiter;UnsafeOnCompleted;(System.Action);summary;df-generated | | System.Runtime.CompilerServices;ConfiguredTaskAwaitable+ConfiguredTaskAwaiter;get_IsCompleted;();summary;df-generated | | System.Runtime.CompilerServices;ConfiguredValueTaskAwaitable+ConfiguredValueTaskAwaiter;GetResult;();summary;df-generated | +| System.Runtime.CompilerServices;ConfiguredValueTaskAwaitable+ConfiguredValueTaskAwaiter;OnCompleted;(System.Action);summary;df-generated | +| System.Runtime.CompilerServices;ConfiguredValueTaskAwaitable+ConfiguredValueTaskAwaiter;UnsafeOnCompleted;(System.Action);summary;df-generated | | System.Runtime.CompilerServices;ConfiguredValueTaskAwaitable+ConfiguredValueTaskAwaiter;get_IsCompleted;();summary;df-generated | +| System.Runtime.CompilerServices;ConfiguredValueTaskAwaitable+ConfiguredValueTaskAwaiter;OnCompleted;(System.Action);summary;df-generated | +| System.Runtime.CompilerServices;ConfiguredValueTaskAwaitable+ConfiguredValueTaskAwaiter;UnsafeOnCompleted;(System.Action);summary;df-generated | | System.Runtime.CompilerServices;ConfiguredValueTaskAwaitable+ConfiguredValueTaskAwaiter;get_IsCompleted;();summary;df-generated | | System.Runtime.CompilerServices;ContractHelper;TriggerFailure;(System.Diagnostics.Contracts.ContractFailureKind,System.String,System.String,System.String,System.Exception);summary;df-generated | | System.Runtime.CompilerServices;CppInlineNamespaceAttribute;CppInlineNamespaceAttribute;(System.String);summary;df-generated | @@ -36439,7 +38395,9 @@ neutral | System.Runtime.CompilerServices;FixedBufferAttribute;get_Length;();summary;df-generated | | System.Runtime.CompilerServices;IAsyncStateMachine;MoveNext;();summary;df-generated | | System.Runtime.CompilerServices;IAsyncStateMachine;SetStateMachine;(System.Runtime.CompilerServices.IAsyncStateMachine);summary;df-generated | +| System.Runtime.CompilerServices;ICriticalNotifyCompletion;UnsafeOnCompleted;(System.Action);summary;df-generated | | System.Runtime.CompilerServices;IDispatchConstantAttribute;get_Value;();summary;df-generated | +| System.Runtime.CompilerServices;INotifyCompletion;OnCompleted;(System.Action);summary;df-generated | | System.Runtime.CompilerServices;IRuntimeVariables;get_Count;();summary;df-generated | | System.Runtime.CompilerServices;IRuntimeVariables;set_Item;(System.Int32,System.Object);summary;df-generated | | System.Runtime.CompilerServices;ITuple;get_Length;();summary;df-generated | @@ -36522,7 +38480,11 @@ neutral | System.Runtime.CompilerServices;SwitchExpressionException;SwitchExpressionException;(System.String,System.Exception);summary;df-generated | | System.Runtime.CompilerServices;SwitchExpressionException;get_UnmatchedValue;();summary;df-generated | | System.Runtime.CompilerServices;TaskAwaiter;GetResult;();summary;df-generated | +| System.Runtime.CompilerServices;TaskAwaiter;OnCompleted;(System.Action);summary;df-generated | +| System.Runtime.CompilerServices;TaskAwaiter;UnsafeOnCompleted;(System.Action);summary;df-generated | | System.Runtime.CompilerServices;TaskAwaiter;get_IsCompleted;();summary;df-generated | +| System.Runtime.CompilerServices;TaskAwaiter;OnCompleted;(System.Action);summary;df-generated | +| System.Runtime.CompilerServices;TaskAwaiter;UnsafeOnCompleted;(System.Action);summary;df-generated | | System.Runtime.CompilerServices;TaskAwaiter;get_IsCompleted;();summary;df-generated | | System.Runtime.CompilerServices;TypeForwardedFromAttribute;TypeForwardedFromAttribute;(System.String);summary;df-generated | | System.Runtime.CompilerServices;TypeForwardedFromAttribute;get_AssemblyFullName;();summary;df-generated | @@ -36565,9 +38527,15 @@ neutral | System.Runtime.CompilerServices;UnsafeAccessorAttribute;UnsafeAccessorAttribute;(System.Runtime.CompilerServices.UnsafeAccessorKind);summary;df-generated | | System.Runtime.CompilerServices;UnsafeAccessorAttribute;get_Kind;();summary;df-generated | | System.Runtime.CompilerServices;ValueTaskAwaiter;GetResult;();summary;df-generated | +| System.Runtime.CompilerServices;ValueTaskAwaiter;OnCompleted;(System.Action);summary;df-generated | +| System.Runtime.CompilerServices;ValueTaskAwaiter;UnsafeOnCompleted;(System.Action);summary;df-generated | | System.Runtime.CompilerServices;ValueTaskAwaiter;get_IsCompleted;();summary;df-generated | +| System.Runtime.CompilerServices;ValueTaskAwaiter;OnCompleted;(System.Action);summary;df-generated | +| System.Runtime.CompilerServices;ValueTaskAwaiter;UnsafeOnCompleted;(System.Action);summary;df-generated | | System.Runtime.CompilerServices;ValueTaskAwaiter;get_IsCompleted;();summary;df-generated | | System.Runtime.CompilerServices;YieldAwaitable+YieldAwaiter;GetResult;();summary;df-generated | +| System.Runtime.CompilerServices;YieldAwaitable+YieldAwaiter;OnCompleted;(System.Action);summary;df-generated | +| System.Runtime.CompilerServices;YieldAwaitable+YieldAwaiter;UnsafeOnCompleted;(System.Action);summary;df-generated | | System.Runtime.CompilerServices;YieldAwaitable+YieldAwaiter;get_IsCompleted;();summary;df-generated | | System.Runtime.CompilerServices;YieldAwaitable;GetAwaiter;();summary;df-generated | | System.Runtime.ConstrainedExecution;ReliabilityContractAttribute;ReliabilityContractAttribute;(System.Runtime.ConstrainedExecution.Consistency,System.Runtime.ConstrainedExecution.Cer);summary;df-generated | @@ -36771,6 +38739,7 @@ neutral | System.Runtime.InteropServices.JavaScript;JSImportAttribute;get_FunctionName;();summary;df-generated | | System.Runtime.InteropServices.JavaScript;JSImportAttribute;get_ModuleName;();summary;df-generated | | System.Runtime.InteropServices.JavaScript;JSMarshalerArgument;Initialize;();summary;df-generated | +| System.Runtime.InteropServices.JavaScript;JSMarshalerArgument;ToJS;(System.Action);summary;df-generated | | System.Runtime.InteropServices.JavaScript;JSMarshalerArgument;ToJS;(System.ArraySegment);summary;df-generated | | System.Runtime.InteropServices.JavaScript;JSMarshalerArgument;ToJS;(System.ArraySegment);summary;df-generated | | System.Runtime.InteropServices.JavaScript;JSMarshalerArgument;ToJS;(System.ArraySegment);summary;df-generated | @@ -36811,8 +38780,17 @@ neutral | System.Runtime.InteropServices.JavaScript;JSMarshalerArgument;ToJS;(System.String[]);summary;df-generated | | System.Runtime.InteropServices.JavaScript;JSMarshalerArgument;ToJS;(System.Threading.Tasks.Task);summary;df-generated | | System.Runtime.InteropServices.JavaScript;JSMarshalerArgument;ToJS;(System.Void*);summary;df-generated | +| System.Runtime.InteropServices.JavaScript;JSMarshalerArgument;ToJS;(System.Func,System.Runtime.InteropServices.JavaScript.JSMarshalerArgument+ArgumentToManagedCallback,System.Runtime.InteropServices.JavaScript.JSMarshalerArgument+ArgumentToManagedCallback,System.Runtime.InteropServices.JavaScript.JSMarshalerArgument+ArgumentToManagedCallback,System.Runtime.InteropServices.JavaScript.JSMarshalerArgument+ArgumentToJSCallback);summary;df-generated | +| System.Runtime.InteropServices.JavaScript;JSMarshalerArgument;ToJS;(System.Action,System.Runtime.InteropServices.JavaScript.JSMarshalerArgument+ArgumentToManagedCallback,System.Runtime.InteropServices.JavaScript.JSMarshalerArgument+ArgumentToManagedCallback,System.Runtime.InteropServices.JavaScript.JSMarshalerArgument+ArgumentToManagedCallback);summary;df-generated | +| System.Runtime.InteropServices.JavaScript;JSMarshalerArgument;ToJS;(System.Func,System.Runtime.InteropServices.JavaScript.JSMarshalerArgument+ArgumentToManagedCallback,System.Runtime.InteropServices.JavaScript.JSMarshalerArgument+ArgumentToManagedCallback,System.Runtime.InteropServices.JavaScript.JSMarshalerArgument+ArgumentToJSCallback);summary;df-generated | +| System.Runtime.InteropServices.JavaScript;JSMarshalerArgument;ToJS;(System.Action,System.Runtime.InteropServices.JavaScript.JSMarshalerArgument+ArgumentToManagedCallback,System.Runtime.InteropServices.JavaScript.JSMarshalerArgument+ArgumentToManagedCallback);summary;df-generated | +| System.Runtime.InteropServices.JavaScript;JSMarshalerArgument;ToJS;(System.Func,System.Runtime.InteropServices.JavaScript.JSMarshalerArgument+ArgumentToManagedCallback,System.Runtime.InteropServices.JavaScript.JSMarshalerArgument+ArgumentToJSCallback);summary;df-generated | +| System.Runtime.InteropServices.JavaScript;JSMarshalerArgument;ToJS;(System.Action,System.Runtime.InteropServices.JavaScript.JSMarshalerArgument+ArgumentToManagedCallback);summary;df-generated | +| System.Runtime.InteropServices.JavaScript;JSMarshalerArgument;ToJS;(System.Threading.Tasks.Task,System.Runtime.InteropServices.JavaScript.JSMarshalerArgument+ArgumentToJSCallback);summary;df-generated | +| System.Runtime.InteropServices.JavaScript;JSMarshalerArgument;ToJS;(System.Func,System.Runtime.InteropServices.JavaScript.JSMarshalerArgument+ArgumentToJSCallback);summary;df-generated | | System.Runtime.InteropServices.JavaScript;JSMarshalerArgument;ToJSBig;(System.Int64);summary;df-generated | | System.Runtime.InteropServices.JavaScript;JSMarshalerArgument;ToJSBig;(System.Nullable);summary;df-generated | +| System.Runtime.InteropServices.JavaScript;JSMarshalerArgument;ToManaged;(System.Action);summary;df-generated | | System.Runtime.InteropServices.JavaScript;JSMarshalerArgument;ToManaged;(System.ArraySegment);summary;df-generated | | System.Runtime.InteropServices.JavaScript;JSMarshalerArgument;ToManaged;(System.ArraySegment);summary;df-generated | | System.Runtime.InteropServices.JavaScript;JSMarshalerArgument;ToManaged;(System.ArraySegment);summary;df-generated | @@ -36853,6 +38831,14 @@ neutral | System.Runtime.InteropServices.JavaScript;JSMarshalerArgument;ToManaged;(System.String[]);summary;df-generated | | System.Runtime.InteropServices.JavaScript;JSMarshalerArgument;ToManaged;(System.Threading.Tasks.Task);summary;df-generated | | System.Runtime.InteropServices.JavaScript;JSMarshalerArgument;ToManaged;(System.Void*);summary;df-generated | +| System.Runtime.InteropServices.JavaScript;JSMarshalerArgument;ToManaged;(System.Func,System.Runtime.InteropServices.JavaScript.JSMarshalerArgument+ArgumentToJSCallback,System.Runtime.InteropServices.JavaScript.JSMarshalerArgument+ArgumentToJSCallback,System.Runtime.InteropServices.JavaScript.JSMarshalerArgument+ArgumentToJSCallback,System.Runtime.InteropServices.JavaScript.JSMarshalerArgument+ArgumentToManagedCallback);summary;df-generated | +| System.Runtime.InteropServices.JavaScript;JSMarshalerArgument;ToManaged;(System.Action,System.Runtime.InteropServices.JavaScript.JSMarshalerArgument+ArgumentToJSCallback,System.Runtime.InteropServices.JavaScript.JSMarshalerArgument+ArgumentToJSCallback,System.Runtime.InteropServices.JavaScript.JSMarshalerArgument+ArgumentToJSCallback);summary;df-generated | +| System.Runtime.InteropServices.JavaScript;JSMarshalerArgument;ToManaged;(System.Func,System.Runtime.InteropServices.JavaScript.JSMarshalerArgument+ArgumentToJSCallback,System.Runtime.InteropServices.JavaScript.JSMarshalerArgument+ArgumentToJSCallback,System.Runtime.InteropServices.JavaScript.JSMarshalerArgument+ArgumentToManagedCallback);summary;df-generated | +| System.Runtime.InteropServices.JavaScript;JSMarshalerArgument;ToManaged;(System.Action,System.Runtime.InteropServices.JavaScript.JSMarshalerArgument+ArgumentToJSCallback,System.Runtime.InteropServices.JavaScript.JSMarshalerArgument+ArgumentToJSCallback);summary;df-generated | +| System.Runtime.InteropServices.JavaScript;JSMarshalerArgument;ToManaged;(System.Func,System.Runtime.InteropServices.JavaScript.JSMarshalerArgument+ArgumentToJSCallback,System.Runtime.InteropServices.JavaScript.JSMarshalerArgument+ArgumentToManagedCallback);summary;df-generated | +| System.Runtime.InteropServices.JavaScript;JSMarshalerArgument;ToManaged;(System.Action,System.Runtime.InteropServices.JavaScript.JSMarshalerArgument+ArgumentToJSCallback);summary;df-generated | +| System.Runtime.InteropServices.JavaScript;JSMarshalerArgument;ToManaged;(System.Threading.Tasks.Task,System.Runtime.InteropServices.JavaScript.JSMarshalerArgument+ArgumentToManagedCallback);summary;df-generated | +| System.Runtime.InteropServices.JavaScript;JSMarshalerArgument;ToManaged;(System.Func,System.Runtime.InteropServices.JavaScript.JSMarshalerArgument+ArgumentToManagedCallback);summary;df-generated | | System.Runtime.InteropServices.JavaScript;JSMarshalerArgument;ToManagedBig;(System.Int64);summary;df-generated | | System.Runtime.InteropServices.JavaScript;JSMarshalerArgument;ToManagedBig;(System.Nullable);summary;df-generated | | System.Runtime.InteropServices.JavaScript;JSMarshalerType;Action;();summary;df-generated | @@ -37026,6 +39012,7 @@ neutral | System.Runtime.InteropServices.Marshalling;VirtualMethodTableInfo;get_ThisPointer;();summary;df-generated | | System.Runtime.InteropServices.Marshalling;VirtualMethodTableInfo;get_VirtualMethodTable;();summary;df-generated | | System.Runtime.InteropServices.ObjectiveC;ObjectiveCMarshal;CreateReferenceTrackingHandle;(System.Object,System.Span);summary;df-generated | +| System.Runtime.InteropServices.ObjectiveC;ObjectiveCMarshal;Initialize;(System.Runtime.InteropServices.ObjectiveC.ObjectiveCMarshal+UnhandledExceptionPropagationHandler);summary;df-generated | | System.Runtime.InteropServices.ObjectiveC;ObjectiveCMarshal;SetMessageSendCallback;(System.Runtime.InteropServices.ObjectiveC.ObjectiveCMarshal+MessageSendFunction,System.IntPtr);summary;df-generated | | System.Runtime.InteropServices.ObjectiveC;ObjectiveCMarshal;SetMessageSendPendingException;(System.Exception);summary;df-generated | | System.Runtime.InteropServices;ArrayWithOffset;Equals;(System.Object);summary;df-generated | @@ -37554,6 +39541,7 @@ neutral | System.Runtime.InteropServices;NativeLibrary;GetMainProgramHandle;();summary;df-generated | | System.Runtime.InteropServices;NativeLibrary;Load;(System.String);summary;df-generated | | System.Runtime.InteropServices;NativeLibrary;Load;(System.String,System.Reflection.Assembly,System.Nullable);summary;df-generated | +| System.Runtime.InteropServices;NativeLibrary;SetDllImportResolver;(System.Reflection.Assembly,System.Runtime.InteropServices.DllImportResolver);summary;df-generated | | System.Runtime.InteropServices;NativeLibrary;TryGetExport;(System.IntPtr,System.String,System.IntPtr);summary;df-generated | | System.Runtime.InteropServices;NativeLibrary;TryLoad;(System.String,System.IntPtr);summary;df-generated | | System.Runtime.InteropServices;NativeLibrary;TryLoad;(System.String,System.Reflection.Assembly,System.Nullable,System.IntPtr);summary;df-generated | @@ -37579,6 +39567,7 @@ neutral | System.Runtime.InteropServices;OSPlatform;op_Equality;(System.Runtime.InteropServices.OSPlatform,System.Runtime.InteropServices.OSPlatform);summary;df-generated | | System.Runtime.InteropServices;OSPlatform;op_Inequality;(System.Runtime.InteropServices.OSPlatform,System.Runtime.InteropServices.OSPlatform);summary;df-generated | | System.Runtime.InteropServices;PosixSignalContext;PosixSignalContext;(System.Runtime.InteropServices.PosixSignal);summary;df-generated | +| System.Runtime.InteropServices;PosixSignalRegistration;Create;(System.Runtime.InteropServices.PosixSignal,System.Action);summary;df-generated | | System.Runtime.InteropServices;PosixSignalRegistration;Dispose;();summary;df-generated | | System.Runtime.InteropServices;PrimaryInteropAssemblyAttribute;PrimaryInteropAssemblyAttribute;(System.Int32,System.Int32);summary;df-generated | | System.Runtime.InteropServices;PrimaryInteropAssemblyAttribute;get_MajorVersion;();summary;df-generated | @@ -43825,11 +45814,17 @@ neutral | System.Runtime.Loader;AssemblyLoadContext;SetProfileOptimizationRoot;(System.String);summary;df-generated | | System.Runtime.Loader;AssemblyLoadContext;StartProfileOptimization;(System.String);summary;df-generated | | System.Runtime.Loader;AssemblyLoadContext;Unload;();summary;df-generated | +| System.Runtime.Loader;AssemblyLoadContext;add_Resolving;(System.Func);summary;df-generated | +| System.Runtime.Loader;AssemblyLoadContext;add_ResolvingUnmanagedDll;(System.Func);summary;df-generated | +| System.Runtime.Loader;AssemblyLoadContext;add_Unloading;(System.Action);summary;df-generated | | System.Runtime.Loader;AssemblyLoadContext;get_All;();summary;df-generated | | System.Runtime.Loader;AssemblyLoadContext;get_Assemblies;();summary;df-generated | | System.Runtime.Loader;AssemblyLoadContext;get_CurrentContextualReflectionContext;();summary;df-generated | | System.Runtime.Loader;AssemblyLoadContext;get_Default;();summary;df-generated | | System.Runtime.Loader;AssemblyLoadContext;get_IsCollectible;();summary;df-generated | +| System.Runtime.Loader;AssemblyLoadContext;remove_Resolving;(System.Func);summary;df-generated | +| System.Runtime.Loader;AssemblyLoadContext;remove_ResolvingUnmanagedDll;(System.Func);summary;df-generated | +| System.Runtime.Loader;AssemblyLoadContext;remove_Unloading;(System.Action);summary;df-generated | | System.Runtime.Serialization.DataContracts;DataContract;GetArrayTypeName;(System.Boolean);summary;df-generated | | System.Runtime.Serialization.DataContracts;DataContract;GetBuiltInDataContract;(System.String,System.String);summary;df-generated | | System.Runtime.Serialization.DataContracts;DataContract;GetXmlName;(System.Type);summary;df-generated | @@ -43855,11 +45850,6 @@ neutral | System.Runtime.Serialization.Json;DataContractJsonSerializer;DataContractJsonSerializer;(System.Type,System.Xml.XmlDictionaryString,System.Collections.Generic.IEnumerable);summary;df-generated | | System.Runtime.Serialization.Json;DataContractJsonSerializer;IsStartObject;(System.Xml.XmlDictionaryReader);summary;df-generated | | System.Runtime.Serialization.Json;DataContractJsonSerializer;IsStartObject;(System.Xml.XmlReader);summary;df-generated | -| System.Runtime.Serialization.Json;DataContractJsonSerializer;ReadObject;(System.IO.Stream);summary;df-generated | -| System.Runtime.Serialization.Json;DataContractJsonSerializer;ReadObject;(System.Xml.XmlDictionaryReader);summary;df-generated | -| System.Runtime.Serialization.Json;DataContractJsonSerializer;ReadObject;(System.Xml.XmlDictionaryReader,System.Boolean);summary;df-generated | -| System.Runtime.Serialization.Json;DataContractJsonSerializer;ReadObject;(System.Xml.XmlReader);summary;df-generated | -| System.Runtime.Serialization.Json;DataContractJsonSerializer;ReadObject;(System.Xml.XmlReader,System.Boolean);summary;df-generated | | System.Runtime.Serialization.Json;DataContractJsonSerializer;WriteEndObject;(System.Xml.XmlDictionaryWriter);summary;df-generated | | System.Runtime.Serialization.Json;DataContractJsonSerializer;WriteEndObject;(System.Xml.XmlWriter);summary;df-generated | | System.Runtime.Serialization.Json;DataContractJsonSerializer;WriteObject;(System.IO.Stream,System.Object);summary;df-generated | @@ -43875,8 +45865,12 @@ neutral | System.Runtime.Serialization.Json;DataContractJsonSerializer;get_MaxItemsInObjectGraph;();summary;df-generated | | System.Runtime.Serialization.Json;DataContractJsonSerializer;get_SerializeReadOnlyTypes;();summary;df-generated | | System.Runtime.Serialization.Json;DataContractJsonSerializer;get_UseSimpleDictionaryFormat;();summary;df-generated | +| System.Runtime.Serialization.Json;IXmlJsonReaderInitializer;SetInput;(System.Byte[],System.Int32,System.Int32,System.Text.Encoding,System.Xml.XmlDictionaryReaderQuotas,System.Xml.OnXmlDictionaryReaderClose);summary;df-generated | +| System.Runtime.Serialization.Json;IXmlJsonReaderInitializer;SetInput;(System.IO.Stream,System.Text.Encoding,System.Xml.XmlDictionaryReaderQuotas,System.Xml.OnXmlDictionaryReaderClose);summary;df-generated | +| System.Runtime.Serialization.Json;JsonReaderWriterFactory;CreateJsonReader;(System.Byte[],System.Int32,System.Int32,System.Text.Encoding,System.Xml.XmlDictionaryReaderQuotas,System.Xml.OnXmlDictionaryReaderClose);summary;df-generated | | System.Runtime.Serialization.Json;JsonReaderWriterFactory;CreateJsonReader;(System.Byte[],System.Int32,System.Int32,System.Xml.XmlDictionaryReaderQuotas);summary;df-generated | | System.Runtime.Serialization.Json;JsonReaderWriterFactory;CreateJsonReader;(System.Byte[],System.Xml.XmlDictionaryReaderQuotas);summary;df-generated | +| System.Runtime.Serialization.Json;JsonReaderWriterFactory;CreateJsonReader;(System.IO.Stream,System.Text.Encoding,System.Xml.XmlDictionaryReaderQuotas,System.Xml.OnXmlDictionaryReaderClose);summary;df-generated | | System.Runtime.Serialization.Json;JsonReaderWriterFactory;CreateJsonReader;(System.IO.Stream,System.Xml.XmlDictionaryReaderQuotas);summary;df-generated | | System.Runtime.Serialization;CollectionDataContractAttribute;get_IsItemNameSetExplicitly;();summary;df-generated | | System.Runtime.Serialization;CollectionDataContractAttribute;get_IsKeyNameSetExplicitly;();summary;df-generated | @@ -43898,10 +45892,6 @@ neutral | System.Runtime.Serialization;DataContractSerializer;DataContractSerializer;(System.Type,System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString);summary;df-generated | | System.Runtime.Serialization;DataContractSerializer;IsStartObject;(System.Xml.XmlDictionaryReader);summary;df-generated | | System.Runtime.Serialization;DataContractSerializer;IsStartObject;(System.Xml.XmlReader);summary;df-generated | -| System.Runtime.Serialization;DataContractSerializer;ReadObject;(System.Xml.XmlDictionaryReader,System.Boolean);summary;df-generated | -| System.Runtime.Serialization;DataContractSerializer;ReadObject;(System.Xml.XmlDictionaryReader,System.Boolean,System.Runtime.Serialization.DataContractResolver);summary;df-generated | -| System.Runtime.Serialization;DataContractSerializer;ReadObject;(System.Xml.XmlReader);summary;df-generated | -| System.Runtime.Serialization;DataContractSerializer;ReadObject;(System.Xml.XmlReader,System.Boolean);summary;df-generated | | System.Runtime.Serialization;DataContractSerializer;WriteEndObject;(System.Xml.XmlDictionaryWriter);summary;df-generated | | System.Runtime.Serialization;DataContractSerializer;WriteEndObject;(System.Xml.XmlWriter);summary;df-generated | | System.Runtime.Serialization;DataContractSerializer;WriteObject;(System.Xml.XmlDictionaryWriter,System.Object,System.Runtime.Serialization.DataContractResolver);summary;df-generated | @@ -44053,11 +46043,6 @@ neutral | System.Runtime.Serialization;XPathQueryGenerator;CreateFromDataContractSerializer;(System.Type,System.Reflection.MemberInfo[],System.Xml.XmlNamespaceManager);summary;df-generated | | System.Runtime.Serialization;XmlObjectSerializer;IsStartObject;(System.Xml.XmlDictionaryReader);summary;df-generated | | System.Runtime.Serialization;XmlObjectSerializer;IsStartObject;(System.Xml.XmlReader);summary;df-generated | -| System.Runtime.Serialization;XmlObjectSerializer;ReadObject;(System.IO.Stream);summary;df-generated | -| System.Runtime.Serialization;XmlObjectSerializer;ReadObject;(System.Xml.XmlDictionaryReader);summary;df-generated | -| System.Runtime.Serialization;XmlObjectSerializer;ReadObject;(System.Xml.XmlDictionaryReader,System.Boolean);summary;df-generated | -| System.Runtime.Serialization;XmlObjectSerializer;ReadObject;(System.Xml.XmlReader);summary;df-generated | -| System.Runtime.Serialization;XmlObjectSerializer;ReadObject;(System.Xml.XmlReader,System.Boolean);summary;df-generated | | System.Runtime.Serialization;XmlObjectSerializer;WriteEndObject;(System.Xml.XmlDictionaryWriter);summary;df-generated | | System.Runtime.Serialization;XmlObjectSerializer;WriteEndObject;(System.Xml.XmlWriter);summary;df-generated | | System.Runtime.Serialization;XmlObjectSerializer;WriteObject;(System.IO.Stream,System.Object);summary;df-generated | @@ -44110,6 +46095,7 @@ neutral | System.Runtime;AmbiguousImplementationException;AmbiguousImplementationException;(System.String,System.Exception);summary;df-generated | | System.Runtime;AssemblyTargetedPatchBandAttribute;AssemblyTargetedPatchBandAttribute;(System.String);summary;df-generated | | System.Runtime;AssemblyTargetedPatchBandAttribute;get_TargetedPatchBand;();summary;df-generated | +| System.Runtime;ControlledExecution;Run;(System.Action,System.Threading.CancellationToken);summary;df-generated | | System.Runtime;DependentHandle;DependentHandle;(System.Object,System.Object);summary;df-generated | | System.Runtime;DependentHandle;Dispose;();summary;df-generated | | System.Runtime;DependentHandle;get_IsAllocated;();summary;df-generated | @@ -44295,7 +46281,10 @@ neutral | System.Security.AccessControl;GenericSecurityDescriptor;get_Revision;();summary;df-generated | | System.Security.AccessControl;NativeObjectSecurity;NativeObjectSecurity;(System.Boolean,System.Security.AccessControl.ResourceType);summary;df-generated | | System.Security.AccessControl;NativeObjectSecurity;NativeObjectSecurity;(System.Boolean,System.Security.AccessControl.ResourceType,System.Runtime.InteropServices.SafeHandle,System.Security.AccessControl.AccessControlSections);summary;df-generated | +| System.Security.AccessControl;NativeObjectSecurity;NativeObjectSecurity;(System.Boolean,System.Security.AccessControl.ResourceType,System.Runtime.InteropServices.SafeHandle,System.Security.AccessControl.AccessControlSections,System.Security.AccessControl.NativeObjectSecurity+ExceptionFromErrorCode,System.Object);summary;df-generated | +| System.Security.AccessControl;NativeObjectSecurity;NativeObjectSecurity;(System.Boolean,System.Security.AccessControl.ResourceType,System.Security.AccessControl.NativeObjectSecurity+ExceptionFromErrorCode,System.Object);summary;df-generated | | System.Security.AccessControl;NativeObjectSecurity;NativeObjectSecurity;(System.Boolean,System.Security.AccessControl.ResourceType,System.String,System.Security.AccessControl.AccessControlSections);summary;df-generated | +| System.Security.AccessControl;NativeObjectSecurity;NativeObjectSecurity;(System.Boolean,System.Security.AccessControl.ResourceType,System.String,System.Security.AccessControl.AccessControlSections,System.Security.AccessControl.NativeObjectSecurity+ExceptionFromErrorCode,System.Object);summary;df-generated | | System.Security.AccessControl;NativeObjectSecurity;Persist;(System.Runtime.InteropServices.SafeHandle,System.Security.AccessControl.AccessControlSections);summary;df-generated | | System.Security.AccessControl;NativeObjectSecurity;Persist;(System.Runtime.InteropServices.SafeHandle,System.Security.AccessControl.AccessControlSections,System.Object);summary;df-generated | | System.Security.AccessControl;NativeObjectSecurity;Persist;(System.String,System.Security.AccessControl.AccessControlSections);summary;df-generated | @@ -44358,7 +46347,9 @@ neutral | System.Security.AccessControl;ObjectSecurity;AuditRuleFactory;(System.Security.Principal.IdentityReference,System.Int32,System.Boolean,System.Security.AccessControl.InheritanceFlags,System.Security.AccessControl.PropagationFlags,System.Security.AccessControl.AuditFlags);summary;df-generated | | System.Security.AccessControl;ObjectSecurity;ObjectSecurity;(System.Boolean,System.Security.AccessControl.ResourceType);summary;df-generated | | System.Security.AccessControl;ObjectSecurity;ObjectSecurity;(System.Boolean,System.Security.AccessControl.ResourceType,System.Runtime.InteropServices.SafeHandle,System.Security.AccessControl.AccessControlSections);summary;df-generated | +| System.Security.AccessControl;ObjectSecurity;ObjectSecurity;(System.Boolean,System.Security.AccessControl.ResourceType,System.Runtime.InteropServices.SafeHandle,System.Security.AccessControl.AccessControlSections,System.Security.AccessControl.NativeObjectSecurity+ExceptionFromErrorCode,System.Object);summary;df-generated | | System.Security.AccessControl;ObjectSecurity;ObjectSecurity;(System.Boolean,System.Security.AccessControl.ResourceType,System.String,System.Security.AccessControl.AccessControlSections);summary;df-generated | +| System.Security.AccessControl;ObjectSecurity;ObjectSecurity;(System.Boolean,System.Security.AccessControl.ResourceType,System.String,System.Security.AccessControl.AccessControlSections,System.Security.AccessControl.NativeObjectSecurity+ExceptionFromErrorCode,System.Object);summary;df-generated | | System.Security.AccessControl;ObjectSecurity;Persist;(System.Runtime.InteropServices.SafeHandle);summary;df-generated | | System.Security.AccessControl;ObjectSecurity;Persist;(System.String);summary;df-generated | | System.Security.AccessControl;ObjectSecurity;RemoveAccessRule;(System.Security.AccessControl.AccessRule);summary;df-generated | @@ -44475,7 +46466,9 @@ neutral | System.Security.Claims;ClaimsIdentity;ClaimsIdentity;(System.String,System.String,System.String);summary;df-generated | | System.Security.Claims;ClaimsIdentity;Clone;();summary;df-generated | | System.Security.Claims;ClaimsIdentity;CreateClaim;(System.IO.BinaryReader);summary;df-generated | +| System.Security.Claims;ClaimsIdentity;FindAll;(System.Predicate);summary;df-generated | | System.Security.Claims;ClaimsIdentity;FindAll;(System.String);summary;df-generated | +| System.Security.Claims;ClaimsIdentity;FindFirst;(System.Predicate);summary;df-generated | | System.Security.Claims;ClaimsIdentity;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);summary;df-generated | | System.Security.Claims;ClaimsIdentity;HasClaim;(System.String,System.String);summary;df-generated | | System.Security.Claims;ClaimsIdentity;RemoveClaim;(System.Security.Claims.Claim);summary;df-generated | @@ -44488,8 +46481,11 @@ neutral | System.Security.Claims;ClaimsPrincipal;ClaimsPrincipal;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);summary;df-generated | | System.Security.Claims;ClaimsPrincipal;Clone;();summary;df-generated | | System.Security.Claims;ClaimsPrincipal;CreateClaimsIdentity;(System.IO.BinaryReader);summary;df-generated | +| System.Security.Claims;ClaimsPrincipal;FindAll;(System.Predicate);summary;df-generated | | System.Security.Claims;ClaimsPrincipal;FindAll;(System.String);summary;df-generated | +| System.Security.Claims;ClaimsPrincipal;FindFirst;(System.Predicate);summary;df-generated | | System.Security.Claims;ClaimsPrincipal;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);summary;df-generated | +| System.Security.Claims;ClaimsPrincipal;HasClaim;(System.Predicate);summary;df-generated | | System.Security.Claims;ClaimsPrincipal;HasClaim;(System.String,System.String);summary;df-generated | | System.Security.Claims;ClaimsPrincipal;IsInRole;(System.String);summary;df-generated | | System.Security.Claims;ClaimsPrincipal;WriteTo;(System.IO.BinaryWriter);summary;df-generated | @@ -46756,6 +48752,10 @@ neutral | System.Security.Principal;WindowsIdentity;GetCurrent;(System.Boolean);summary;df-generated | | System.Security.Principal;WindowsIdentity;GetCurrent;(System.Security.Principal.TokenAccessLevels);summary;df-generated | | System.Security.Principal;WindowsIdentity;OnDeserialization;(System.Object);summary;df-generated | +| System.Security.Principal;WindowsIdentity;RunImpersonated;(Microsoft.Win32.SafeHandles.SafeAccessTokenHandle,System.Action);summary;df-generated | +| System.Security.Principal;WindowsIdentity;RunImpersonated;(Microsoft.Win32.SafeHandles.SafeAccessTokenHandle,System.Func);summary;df-generated | +| System.Security.Principal;WindowsIdentity;RunImpersonatedAsync;(Microsoft.Win32.SafeHandles.SafeAccessTokenHandle,System.Func);summary;df-generated | +| System.Security.Principal;WindowsIdentity;RunImpersonatedAsync;(Microsoft.Win32.SafeHandles.SafeAccessTokenHandle,System.Func>);summary;df-generated | | System.Security.Principal;WindowsIdentity;WindowsIdentity;(System.IntPtr);summary;df-generated | | System.Security.Principal;WindowsIdentity;WindowsIdentity;(System.IntPtr,System.String);summary;df-generated | | System.Security.Principal;WindowsIdentity;WindowsIdentity;(System.IntPtr,System.String,System.Security.Principal.WindowsAccountType);summary;df-generated | @@ -46889,6 +48889,7 @@ neutral | System.Security;SecurityContext;IsFlowSuppressed;();summary;df-generated | | System.Security;SecurityContext;IsWindowsIdentityFlowSuppressed;();summary;df-generated | | System.Security;SecurityContext;RestoreFlow;();summary;df-generated | +| System.Security;SecurityContext;Run;(System.Security.SecurityContext,System.Threading.ContextCallback,System.Object);summary;df-generated | | System.Security;SecurityContext;SuppressFlow;();summary;df-generated | | System.Security;SecurityContext;SuppressFlowWindowsIdentity;();summary;df-generated | | System.Security;SecurityCriticalAttribute;SecurityCriticalAttribute;(System.Security.SecurityCriticalScope);summary;df-generated | @@ -47049,6 +49050,10 @@ neutral | System.Text.Json.Serialization.Metadata;JsonDerivedType;JsonDerivedType;(System.Type,System.String);summary;df-generated | | System.Text.Json.Serialization.Metadata;JsonDerivedType;get_DerivedType;();summary;df-generated | | System.Text.Json.Serialization.Metadata;JsonDerivedType;get_TypeDiscriminator;();summary;df-generated | +| System.Text.Json.Serialization.Metadata;JsonMetadataServices;CreateImmutableDictionaryInfo;(System.Text.Json.JsonSerializerOptions,System.Text.Json.Serialization.Metadata.JsonCollectionInfoValues,System.Func>,TCollection>);summary;df-generated | +| System.Text.Json.Serialization.Metadata;JsonMetadataServices;CreateImmutableEnumerableInfo;(System.Text.Json.JsonSerializerOptions,System.Text.Json.Serialization.Metadata.JsonCollectionInfoValues,System.Func,TCollection>);summary;df-generated | +| System.Text.Json.Serialization.Metadata;JsonMetadataServices;CreateQueueInfo;(System.Text.Json.JsonSerializerOptions,System.Text.Json.Serialization.Metadata.JsonCollectionInfoValues,System.Action);summary;df-generated | +| System.Text.Json.Serialization.Metadata;JsonMetadataServices;CreateStackInfo;(System.Text.Json.JsonSerializerOptions,System.Text.Json.Serialization.Metadata.JsonCollectionInfoValues,System.Action);summary;df-generated | | System.Text.Json.Serialization.Metadata;JsonMetadataServices;GetEnumConverter;(System.Text.Json.JsonSerializerOptions);summary;df-generated | | System.Text.Json.Serialization.Metadata;JsonMetadataServices;GetNullableConverter;(System.Text.Json.JsonSerializerOptions);summary;df-generated | | System.Text.Json.Serialization.Metadata;JsonMetadataServices;GetUnsupportedTypeConverter;();summary;df-generated | @@ -47091,6 +49096,7 @@ neutral | System.Text.Json.Serialization.Metadata;JsonPropertyInfo;get_PropertyType;();summary;df-generated | | System.Text.Json.Serialization.Metadata;JsonTypeInfo;MakeReadOnly;();summary;df-generated | | System.Text.Json.Serialization.Metadata;JsonTypeInfo;get_Converter;();summary;df-generated | +| System.Text.Json.Serialization.Metadata;JsonTypeInfoResolver;WithAddedModifier;(System.Text.Json.Serialization.Metadata.IJsonTypeInfoResolver,System.Action);summary;df-generated | | System.Text.Json.Serialization;IJsonOnDeserialized;OnDeserialized;();summary;df-generated | | System.Text.Json.Serialization;IJsonOnDeserializing;OnDeserializing;();summary;df-generated | | System.Text.Json.Serialization;IJsonOnSerialized;OnSerialized;();summary;df-generated | @@ -47249,46 +49255,30 @@ neutral | System.Text.Json;JsonSerializer;DeserializeAsync;(System.IO.Stream,System.Text.Json.Serialization.Metadata.JsonTypeInfo,System.Threading.CancellationToken);summary;df-generated | | System.Text.Json;JsonSerializer;DeserializeAsyncEnumerable;(System.IO.Stream,System.Text.Json.JsonSerializerOptions,System.Threading.CancellationToken);summary;df-generated | | System.Text.Json;JsonSerializer;DeserializeAsyncEnumerable;(System.IO.Stream,System.Text.Json.Serialization.Metadata.JsonTypeInfo,System.Threading.CancellationToken);summary;df-generated | -| System.Text.Json;JsonSerializer;Serialize;(System.IO.Stream,System.Object,System.Text.Json.Serialization.Metadata.JsonTypeInfo);summary;df-generated | | System.Text.Json;JsonSerializer;Serialize;(System.IO.Stream,System.Object,System.Type,System.Text.Json.JsonSerializerOptions);summary;df-generated | | System.Text.Json;JsonSerializer;Serialize;(System.IO.Stream,System.Object,System.Type,System.Text.Json.Serialization.JsonSerializerContext);summary;df-generated | -| System.Text.Json;JsonSerializer;Serialize;(System.Object,System.Text.Json.Serialization.Metadata.JsonTypeInfo);summary;df-generated | | System.Text.Json;JsonSerializer;Serialize;(System.Object,System.Type,System.Text.Json.JsonSerializerOptions);summary;df-generated | | System.Text.Json;JsonSerializer;Serialize;(System.Object,System.Type,System.Text.Json.Serialization.JsonSerializerContext);summary;df-generated | -| System.Text.Json;JsonSerializer;Serialize;(System.Text.Json.Utf8JsonWriter,System.Object,System.Text.Json.Serialization.Metadata.JsonTypeInfo);summary;df-generated | | System.Text.Json;JsonSerializer;Serialize;(System.Text.Json.Utf8JsonWriter,System.Object,System.Type,System.Text.Json.JsonSerializerOptions);summary;df-generated | | System.Text.Json;JsonSerializer;Serialize;(System.Text.Json.Utf8JsonWriter,System.Object,System.Type,System.Text.Json.Serialization.JsonSerializerContext);summary;df-generated | | System.Text.Json;JsonSerializer;Serialize;(System.IO.Stream,TValue,System.Text.Json.JsonSerializerOptions);summary;df-generated | -| System.Text.Json;JsonSerializer;Serialize;(System.IO.Stream,TValue,System.Text.Json.Serialization.Metadata.JsonTypeInfo);summary;df-generated | | System.Text.Json;JsonSerializer;Serialize;(System.Text.Json.Utf8JsonWriter,TValue,System.Text.Json.JsonSerializerOptions);summary;df-generated | -| System.Text.Json;JsonSerializer;Serialize;(System.Text.Json.Utf8JsonWriter,TValue,System.Text.Json.Serialization.Metadata.JsonTypeInfo);summary;df-generated | | System.Text.Json;JsonSerializer;Serialize;(TValue,System.Text.Json.JsonSerializerOptions);summary;df-generated | -| System.Text.Json;JsonSerializer;Serialize;(TValue,System.Text.Json.Serialization.Metadata.JsonTypeInfo);summary;df-generated | -| System.Text.Json;JsonSerializer;SerializeAsync;(System.IO.Stream,System.Object,System.Text.Json.Serialization.Metadata.JsonTypeInfo,System.Threading.CancellationToken);summary;df-generated | | System.Text.Json;JsonSerializer;SerializeAsync;(System.IO.Stream,System.Object,System.Type,System.Text.Json.JsonSerializerOptions,System.Threading.CancellationToken);summary;df-generated | | System.Text.Json;JsonSerializer;SerializeAsync;(System.IO.Stream,System.Object,System.Type,System.Text.Json.Serialization.JsonSerializerContext,System.Threading.CancellationToken);summary;df-generated | | System.Text.Json;JsonSerializer;SerializeAsync;(System.IO.Stream,TValue,System.Text.Json.JsonSerializerOptions,System.Threading.CancellationToken);summary;df-generated | -| System.Text.Json;JsonSerializer;SerializeAsync;(System.IO.Stream,TValue,System.Text.Json.Serialization.Metadata.JsonTypeInfo,System.Threading.CancellationToken);summary;df-generated | -| System.Text.Json;JsonSerializer;SerializeToDocument;(System.Object,System.Text.Json.Serialization.Metadata.JsonTypeInfo);summary;df-generated | | System.Text.Json;JsonSerializer;SerializeToDocument;(System.Object,System.Type,System.Text.Json.JsonSerializerOptions);summary;df-generated | | System.Text.Json;JsonSerializer;SerializeToDocument;(System.Object,System.Type,System.Text.Json.Serialization.JsonSerializerContext);summary;df-generated | | System.Text.Json;JsonSerializer;SerializeToDocument;(TValue,System.Text.Json.JsonSerializerOptions);summary;df-generated | -| System.Text.Json;JsonSerializer;SerializeToDocument;(TValue,System.Text.Json.Serialization.Metadata.JsonTypeInfo);summary;df-generated | -| System.Text.Json;JsonSerializer;SerializeToElement;(System.Object,System.Text.Json.Serialization.Metadata.JsonTypeInfo);summary;df-generated | | System.Text.Json;JsonSerializer;SerializeToElement;(System.Object,System.Type,System.Text.Json.JsonSerializerOptions);summary;df-generated | | System.Text.Json;JsonSerializer;SerializeToElement;(System.Object,System.Type,System.Text.Json.Serialization.JsonSerializerContext);summary;df-generated | | System.Text.Json;JsonSerializer;SerializeToElement;(TValue,System.Text.Json.JsonSerializerOptions);summary;df-generated | -| System.Text.Json;JsonSerializer;SerializeToElement;(TValue,System.Text.Json.Serialization.Metadata.JsonTypeInfo);summary;df-generated | -| System.Text.Json;JsonSerializer;SerializeToNode;(System.Object,System.Text.Json.Serialization.Metadata.JsonTypeInfo);summary;df-generated | | System.Text.Json;JsonSerializer;SerializeToNode;(System.Object,System.Type,System.Text.Json.JsonSerializerOptions);summary;df-generated | | System.Text.Json;JsonSerializer;SerializeToNode;(System.Object,System.Type,System.Text.Json.Serialization.JsonSerializerContext);summary;df-generated | | System.Text.Json;JsonSerializer;SerializeToNode;(TValue,System.Text.Json.JsonSerializerOptions);summary;df-generated | -| System.Text.Json;JsonSerializer;SerializeToNode;(TValue,System.Text.Json.Serialization.Metadata.JsonTypeInfo);summary;df-generated | -| System.Text.Json;JsonSerializer;SerializeToUtf8Bytes;(System.Object,System.Text.Json.Serialization.Metadata.JsonTypeInfo);summary;df-generated | | System.Text.Json;JsonSerializer;SerializeToUtf8Bytes;(System.Object,System.Type,System.Text.Json.JsonSerializerOptions);summary;df-generated | | System.Text.Json;JsonSerializer;SerializeToUtf8Bytes;(System.Object,System.Type,System.Text.Json.Serialization.JsonSerializerContext);summary;df-generated | | System.Text.Json;JsonSerializer;SerializeToUtf8Bytes;(TValue,System.Text.Json.JsonSerializerOptions);summary;df-generated | -| System.Text.Json;JsonSerializer;SerializeToUtf8Bytes;(TValue,System.Text.Json.Serialization.Metadata.JsonTypeInfo);summary;df-generated | | System.Text.Json;JsonSerializer;get_IsReflectionEnabledByDefault;();summary;df-generated | | System.Text.Json;JsonSerializerOptions;AddContext;();summary;df-generated | | System.Text.Json;JsonSerializerOptions;JsonSerializerOptions;(System.Text.Json.JsonSerializerDefaults);summary;df-generated | @@ -47577,7 +49567,6 @@ neutral | System.Text.RegularExpressions;RegexRunner;MatchIndex;(System.Int32);summary;df-generated | | System.Text.RegularExpressions;RegexRunner;MatchLength;(System.Int32);summary;df-generated | | System.Text.RegularExpressions;RegexRunner;Popcrawl;();summary;df-generated | -| System.Text.RegularExpressions;RegexRunner;Scan;(System.ReadOnlySpan);summary;df-generated | | System.Text.RegularExpressions;RegexRunner;TransferCapture;(System.Int32,System.Int32,System.Int32,System.Int32);summary;df-generated | | System.Text.RegularExpressions;RegexRunner;Uncapture;();summary;df-generated | | System.Text.RegularExpressions;ValueMatch;get_Index;();summary;df-generated | @@ -48089,6 +50078,7 @@ neutral | System.Threading.Channels;BoundedChannelOptions;BoundedChannelOptions;(System.Int32);summary;df-generated | | System.Threading.Channels;Channel;CreateBounded;(System.Int32);summary;df-generated | | System.Threading.Channels;Channel;CreateBounded;(System.Threading.Channels.BoundedChannelOptions);summary;df-generated | +| System.Threading.Channels;Channel;CreateBounded;(System.Threading.Channels.BoundedChannelOptions,System.Action);summary;df-generated | | System.Threading.Channels;Channel;CreateUnbounded;();summary;df-generated | | System.Threading.Channels;Channel;CreateUnbounded;(System.Threading.Channels.UnboundedChannelOptions);summary;df-generated | | System.Threading.Channels;ChannelClosedException;ChannelClosedException;(System.Exception);summary;df-generated | @@ -48131,6 +50121,7 @@ neutral | System.Threading.RateLimiting;MetadataName;GetHashCode;();summary;df-generated | | System.Threading.RateLimiting;MetadataName;op_Equality;(System.Threading.RateLimiting.MetadataName,System.Threading.RateLimiting.MetadataName);summary;df-generated | | System.Threading.RateLimiting;MetadataName;op_Inequality;(System.Threading.RateLimiting.MetadataName,System.Threading.RateLimiting.MetadataName);summary;df-generated | +| System.Threading.RateLimiting;PartitionedRateLimiter;Create;(System.Func>,System.Collections.Generic.IEqualityComparer);summary;df-generated | | System.Threading.RateLimiting;PartitionedRateLimiter;AcquireAsync;(TResource,System.Int32,System.Threading.CancellationToken);summary;df-generated | | System.Threading.RateLimiting;PartitionedRateLimiter;AcquireAsyncCore;(TResource,System.Int32,System.Threading.CancellationToken);summary;df-generated | | System.Threading.RateLimiting;PartitionedRateLimiter;AttemptAcquire;(TResource,System.Int32);summary;df-generated | @@ -48139,10 +50130,17 @@ neutral | System.Threading.RateLimiting;PartitionedRateLimiter;Dispose;(System.Boolean);summary;df-generated | | System.Threading.RateLimiting;PartitionedRateLimiter;DisposeAsyncCore;();summary;df-generated | | System.Threading.RateLimiting;PartitionedRateLimiter;GetStatistics;(TResource);summary;df-generated | +| System.Threading.RateLimiting;PartitionedRateLimiter;WithTranslatedKey;(System.Func,System.Boolean);summary;df-generated | | System.Threading.RateLimiting;RateLimitLease;Dispose;();summary;df-generated | | System.Threading.RateLimiting;RateLimitLease;Dispose;(System.Boolean);summary;df-generated | | System.Threading.RateLimiting;RateLimitLease;get_IsAcquired;();summary;df-generated | +| System.Threading.RateLimiting;RateLimitPartition;Get;(TKey,System.Func);summary;df-generated | +| System.Threading.RateLimiting;RateLimitPartition;GetConcurrencyLimiter;(TKey,System.Func);summary;df-generated | +| System.Threading.RateLimiting;RateLimitPartition;GetFixedWindowLimiter;(TKey,System.Func);summary;df-generated | | System.Threading.RateLimiting;RateLimitPartition;GetNoLimiter;(TKey);summary;df-generated | +| System.Threading.RateLimiting;RateLimitPartition;GetSlidingWindowLimiter;(TKey,System.Func);summary;df-generated | +| System.Threading.RateLimiting;RateLimitPartition;GetTokenBucketLimiter;(TKey,System.Func);summary;df-generated | +| System.Threading.RateLimiting;RateLimitPartition;RateLimitPartition;(TKey,System.Func);summary;df-generated | | System.Threading.RateLimiting;RateLimitPartition;get_Factory;();summary;df-generated | | System.Threading.RateLimiting;RateLimitPartition;get_PartitionKey;();summary;df-generated | | System.Threading.RateLimiting;RateLimiter;AcquireAsync;(System.Int32,System.Threading.CancellationToken);summary;df-generated | @@ -48170,8 +50168,11 @@ neutral | System.Threading.RateLimiting;TokenBucketRateLimiter;TryReplenish;();summary;df-generated | | System.Threading.RateLimiting;TokenBucketRateLimiter;get_IdleDuration;();summary;df-generated | | System.Threading.RateLimiting;TokenBucketRateLimiter;get_IsAutoReplenishing;();summary;df-generated | +| System.Threading.Tasks.Dataflow;ActionBlock;ActionBlock;(System.Action);summary;df-generated | +| System.Threading.Tasks.Dataflow;ActionBlock;ActionBlock;(System.Action,System.Threading.Tasks.Dataflow.ExecutionDataflowBlockOptions);summary;df-generated | +| System.Threading.Tasks.Dataflow;ActionBlock;ActionBlock;(System.Func);summary;df-generated | +| System.Threading.Tasks.Dataflow;ActionBlock;ActionBlock;(System.Func,System.Threading.Tasks.Dataflow.ExecutionDataflowBlockOptions);summary;df-generated | | System.Threading.Tasks.Dataflow;ActionBlock;Complete;();summary;df-generated | -| System.Threading.Tasks.Dataflow;ActionBlock;Fault;(System.Exception);summary;df-generated | | System.Threading.Tasks.Dataflow;ActionBlock;OfferMessage;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,TInput,System.Threading.Tasks.Dataflow.ISourceBlock,System.Boolean);summary;df-generated | | System.Threading.Tasks.Dataflow;ActionBlock;Post;(TInput);summary;df-generated | | System.Threading.Tasks.Dataflow;ActionBlock;ToString;();summary;df-generated | @@ -48179,58 +50180,66 @@ neutral | System.Threading.Tasks.Dataflow;BatchBlock;BatchBlock;(System.Int32);summary;df-generated | | System.Threading.Tasks.Dataflow;BatchBlock;Complete;();summary;df-generated | | System.Threading.Tasks.Dataflow;BatchBlock;ConsumeMessage;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock,System.Boolean);summary;df-generated | -| System.Threading.Tasks.Dataflow;BatchBlock;Fault;(System.Exception);summary;df-generated | | System.Threading.Tasks.Dataflow;BatchBlock;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Threading.Tasks.Dataflow.DataflowLinkOptions);summary;df-generated | | System.Threading.Tasks.Dataflow;BatchBlock;OfferMessage;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,T,System.Threading.Tasks.Dataflow.ISourceBlock,System.Boolean);summary;df-generated | | System.Threading.Tasks.Dataflow;BatchBlock;ReleaseReservation;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock);summary;df-generated | | System.Threading.Tasks.Dataflow;BatchBlock;ReserveMessage;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock);summary;df-generated | | System.Threading.Tasks.Dataflow;BatchBlock;ToString;();summary;df-generated | | System.Threading.Tasks.Dataflow;BatchBlock;TriggerBatch;();summary;df-generated | +| System.Threading.Tasks.Dataflow;BatchBlock;TryReceive;(System.Predicate,T[]);summary;df-generated | | System.Threading.Tasks.Dataflow;BatchBlock;TryReceiveAll;(System.Collections.Generic.IList);summary;df-generated | | System.Threading.Tasks.Dataflow;BatchBlock;get_BatchSize;();summary;df-generated | | System.Threading.Tasks.Dataflow;BatchBlock;get_OutputCount;();summary;df-generated | | System.Threading.Tasks.Dataflow;BatchedJoinBlock;BatchedJoinBlock;(System.Int32);summary;df-generated | | System.Threading.Tasks.Dataflow;BatchedJoinBlock;Complete;();summary;df-generated | | System.Threading.Tasks.Dataflow;BatchedJoinBlock;ConsumeMessage;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock,System.Collections.Generic.IList,System.Collections.Generic.IList>>,System.Boolean);summary;df-generated | -| System.Threading.Tasks.Dataflow;BatchedJoinBlock;Fault;(System.Exception);summary;df-generated | | System.Threading.Tasks.Dataflow;BatchedJoinBlock;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Collections.Generic.IList,System.Collections.Generic.IList>>,System.Threading.Tasks.Dataflow.DataflowLinkOptions);summary;df-generated | | System.Threading.Tasks.Dataflow;BatchedJoinBlock;ReleaseReservation;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock,System.Collections.Generic.IList,System.Collections.Generic.IList>>);summary;df-generated | | System.Threading.Tasks.Dataflow;BatchedJoinBlock;ReserveMessage;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock,System.Collections.Generic.IList,System.Collections.Generic.IList>>);summary;df-generated | | System.Threading.Tasks.Dataflow;BatchedJoinBlock;ToString;();summary;df-generated | +| System.Threading.Tasks.Dataflow;BatchedJoinBlock;TryReceive;(System.Predicate,System.Collections.Generic.IList,System.Collections.Generic.IList>>,System.Tuple,System.Collections.Generic.IList,System.Collections.Generic.IList>);summary;df-generated | | System.Threading.Tasks.Dataflow;BatchedJoinBlock;TryReceiveAll;(System.Collections.Generic.IList,System.Collections.Generic.IList,System.Collections.Generic.IList>>);summary;df-generated | | System.Threading.Tasks.Dataflow;BatchedJoinBlock;get_BatchSize;();summary;df-generated | | System.Threading.Tasks.Dataflow;BatchedJoinBlock;get_OutputCount;();summary;df-generated | | System.Threading.Tasks.Dataflow;BatchedJoinBlock;BatchedJoinBlock;(System.Int32);summary;df-generated | | System.Threading.Tasks.Dataflow;BatchedJoinBlock;Complete;();summary;df-generated | | System.Threading.Tasks.Dataflow;BatchedJoinBlock;ConsumeMessage;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock,System.Collections.Generic.IList>>,System.Boolean);summary;df-generated | -| System.Threading.Tasks.Dataflow;BatchedJoinBlock;Fault;(System.Exception);summary;df-generated | | System.Threading.Tasks.Dataflow;BatchedJoinBlock;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Collections.Generic.IList>>,System.Threading.Tasks.Dataflow.DataflowLinkOptions);summary;df-generated | | System.Threading.Tasks.Dataflow;BatchedJoinBlock;ReleaseReservation;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock,System.Collections.Generic.IList>>);summary;df-generated | | System.Threading.Tasks.Dataflow;BatchedJoinBlock;ReserveMessage;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock,System.Collections.Generic.IList>>);summary;df-generated | | System.Threading.Tasks.Dataflow;BatchedJoinBlock;ToString;();summary;df-generated | +| System.Threading.Tasks.Dataflow;BatchedJoinBlock;TryReceive;(System.Predicate,System.Collections.Generic.IList>>,System.Tuple,System.Collections.Generic.IList>);summary;df-generated | | System.Threading.Tasks.Dataflow;BatchedJoinBlock;TryReceiveAll;(System.Collections.Generic.IList,System.Collections.Generic.IList>>);summary;df-generated | | System.Threading.Tasks.Dataflow;BatchedJoinBlock;get_BatchSize;();summary;df-generated | | System.Threading.Tasks.Dataflow;BatchedJoinBlock;get_OutputCount;();summary;df-generated | +| System.Threading.Tasks.Dataflow;BroadcastBlock;BroadcastBlock;(System.Func);summary;df-generated | +| System.Threading.Tasks.Dataflow;BroadcastBlock;BroadcastBlock;(System.Func,System.Threading.Tasks.Dataflow.DataflowBlockOptions);summary;df-generated | | System.Threading.Tasks.Dataflow;BroadcastBlock;Complete;();summary;df-generated | | System.Threading.Tasks.Dataflow;BroadcastBlock;ConsumeMessage;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock,System.Boolean);summary;df-generated | -| System.Threading.Tasks.Dataflow;BroadcastBlock;Fault;(System.Exception);summary;df-generated | | System.Threading.Tasks.Dataflow;BroadcastBlock;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Threading.Tasks.Dataflow.DataflowLinkOptions);summary;df-generated | | System.Threading.Tasks.Dataflow;BroadcastBlock;OfferMessage;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,T,System.Threading.Tasks.Dataflow.ISourceBlock,System.Boolean);summary;df-generated | | System.Threading.Tasks.Dataflow;BroadcastBlock;ReleaseReservation;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock);summary;df-generated | | System.Threading.Tasks.Dataflow;BroadcastBlock;ReserveMessage;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock);summary;df-generated | | System.Threading.Tasks.Dataflow;BroadcastBlock;ToString;();summary;df-generated | +| System.Threading.Tasks.Dataflow;BroadcastBlock;TryReceive;(System.Predicate,T);summary;df-generated | | System.Threading.Tasks.Dataflow;BroadcastBlock;TryReceiveAll;(System.Collections.Generic.IList);summary;df-generated | | System.Threading.Tasks.Dataflow;BufferBlock;Complete;();summary;df-generated | | System.Threading.Tasks.Dataflow;BufferBlock;ConsumeMessage;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock,System.Boolean);summary;df-generated | -| System.Threading.Tasks.Dataflow;BufferBlock;Fault;(System.Exception);summary;df-generated | | System.Threading.Tasks.Dataflow;BufferBlock;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Threading.Tasks.Dataflow.DataflowLinkOptions);summary;df-generated | | System.Threading.Tasks.Dataflow;BufferBlock;OfferMessage;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,T,System.Threading.Tasks.Dataflow.ISourceBlock,System.Boolean);summary;df-generated | | System.Threading.Tasks.Dataflow;BufferBlock;ReleaseReservation;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock);summary;df-generated | | System.Threading.Tasks.Dataflow;BufferBlock;ReserveMessage;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock);summary;df-generated | | System.Threading.Tasks.Dataflow;BufferBlock;ToString;();summary;df-generated | +| System.Threading.Tasks.Dataflow;BufferBlock;TryReceive;(System.Predicate,T);summary;df-generated | | System.Threading.Tasks.Dataflow;BufferBlock;TryReceiveAll;(System.Collections.Generic.IList);summary;df-generated | | System.Threading.Tasks.Dataflow;BufferBlock;get_Count;();summary;df-generated | | System.Threading.Tasks.Dataflow;DataflowBlock;AsObservable;(System.Threading.Tasks.Dataflow.ISourceBlock);summary;df-generated | +| System.Threading.Tasks.Dataflow;DataflowBlock;Choose;(System.Threading.Tasks.Dataflow.ISourceBlock,System.Action,System.Threading.Tasks.Dataflow.ISourceBlock,System.Action,System.Threading.Tasks.Dataflow.ISourceBlock,System.Action);summary;df-generated | +| System.Threading.Tasks.Dataflow;DataflowBlock;Choose;(System.Threading.Tasks.Dataflow.ISourceBlock,System.Action,System.Threading.Tasks.Dataflow.ISourceBlock,System.Action,System.Threading.Tasks.Dataflow.ISourceBlock,System.Action,System.Threading.Tasks.Dataflow.DataflowBlockOptions);summary;df-generated | +| System.Threading.Tasks.Dataflow;DataflowBlock;Choose;(System.Threading.Tasks.Dataflow.ISourceBlock,System.Action,System.Threading.Tasks.Dataflow.ISourceBlock,System.Action);summary;df-generated | +| System.Threading.Tasks.Dataflow;DataflowBlock;Choose;(System.Threading.Tasks.Dataflow.ISourceBlock,System.Action,System.Threading.Tasks.Dataflow.ISourceBlock,System.Action,System.Threading.Tasks.Dataflow.DataflowBlockOptions);summary;df-generated | +| System.Threading.Tasks.Dataflow;DataflowBlock;LinkTo;(System.Threading.Tasks.Dataflow.ISourceBlock,System.Threading.Tasks.Dataflow.ITargetBlock,System.Predicate);summary;df-generated | +| System.Threading.Tasks.Dataflow;DataflowBlock;LinkTo;(System.Threading.Tasks.Dataflow.ISourceBlock,System.Threading.Tasks.Dataflow.ITargetBlock,System.Threading.Tasks.Dataflow.DataflowLinkOptions,System.Predicate);summary;df-generated | | System.Threading.Tasks.Dataflow;DataflowBlock;NullTarget;();summary;df-generated | | System.Threading.Tasks.Dataflow;DataflowBlock;OutputAvailableAsync;(System.Threading.Tasks.Dataflow.ISourceBlock);summary;df-generated | | System.Threading.Tasks.Dataflow;DataflowBlock;OutputAvailableAsync;(System.Threading.Tasks.Dataflow.ISourceBlock,System.Threading.CancellationToken);summary;df-generated | @@ -48243,7 +50252,7 @@ neutral | System.Threading.Tasks.Dataflow;DataflowMessageHeader;op_Equality;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.DataflowMessageHeader);summary;df-generated | | System.Threading.Tasks.Dataflow;DataflowMessageHeader;op_Inequality;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.DataflowMessageHeader);summary;df-generated | | System.Threading.Tasks.Dataflow;IDataflowBlock;Complete;();summary;df-generated | -| System.Threading.Tasks.Dataflow;IDataflowBlock;Fault;(System.Exception);summary;df-generated | +| System.Threading.Tasks.Dataflow;IReceivableSourceBlock;TryReceive;(System.Predicate,TOutput);summary;df-generated | | System.Threading.Tasks.Dataflow;IReceivableSourceBlock;TryReceiveAll;(System.Collections.Generic.IList);summary;df-generated | | System.Threading.Tasks.Dataflow;ISourceBlock;ConsumeMessage;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock,System.Boolean);summary;df-generated | | System.Threading.Tasks.Dataflow;ISourceBlock;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Threading.Tasks.Dataflow.DataflowLinkOptions);summary;df-generated | @@ -48252,63 +50261,118 @@ neutral | System.Threading.Tasks.Dataflow;ITargetBlock;OfferMessage;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,TInput,System.Threading.Tasks.Dataflow.ISourceBlock,System.Boolean);summary;df-generated | | System.Threading.Tasks.Dataflow;JoinBlock;Complete;();summary;df-generated | | System.Threading.Tasks.Dataflow;JoinBlock;ConsumeMessage;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock>,System.Boolean);summary;df-generated | -| System.Threading.Tasks.Dataflow;JoinBlock;Fault;(System.Exception);summary;df-generated | | System.Threading.Tasks.Dataflow;JoinBlock;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock>,System.Threading.Tasks.Dataflow.DataflowLinkOptions);summary;df-generated | | System.Threading.Tasks.Dataflow;JoinBlock;ReleaseReservation;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock>);summary;df-generated | | System.Threading.Tasks.Dataflow;JoinBlock;ReserveMessage;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock>);summary;df-generated | | System.Threading.Tasks.Dataflow;JoinBlock;ToString;();summary;df-generated | +| System.Threading.Tasks.Dataflow;JoinBlock;TryReceive;(System.Predicate>,System.Tuple);summary;df-generated | | System.Threading.Tasks.Dataflow;JoinBlock;TryReceiveAll;(System.Collections.Generic.IList>);summary;df-generated | | System.Threading.Tasks.Dataflow;JoinBlock;get_OutputCount;();summary;df-generated | | System.Threading.Tasks.Dataflow;JoinBlock;Complete;();summary;df-generated | | System.Threading.Tasks.Dataflow;JoinBlock;ConsumeMessage;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock>,System.Boolean);summary;df-generated | -| System.Threading.Tasks.Dataflow;JoinBlock;Fault;(System.Exception);summary;df-generated | | System.Threading.Tasks.Dataflow;JoinBlock;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock>,System.Threading.Tasks.Dataflow.DataflowLinkOptions);summary;df-generated | | System.Threading.Tasks.Dataflow;JoinBlock;ReleaseReservation;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock>);summary;df-generated | | System.Threading.Tasks.Dataflow;JoinBlock;ReserveMessage;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock>);summary;df-generated | | System.Threading.Tasks.Dataflow;JoinBlock;ToString;();summary;df-generated | +| System.Threading.Tasks.Dataflow;JoinBlock;TryReceive;(System.Predicate>,System.Tuple);summary;df-generated | | System.Threading.Tasks.Dataflow;JoinBlock;TryReceiveAll;(System.Collections.Generic.IList>);summary;df-generated | | System.Threading.Tasks.Dataflow;JoinBlock;get_OutputCount;();summary;df-generated | | System.Threading.Tasks.Dataflow;TransformBlock;Complete;();summary;df-generated | | System.Threading.Tasks.Dataflow;TransformBlock;ConsumeMessage;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock,System.Boolean);summary;df-generated | -| System.Threading.Tasks.Dataflow;TransformBlock;Fault;(System.Exception);summary;df-generated | | System.Threading.Tasks.Dataflow;TransformBlock;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Threading.Tasks.Dataflow.DataflowLinkOptions);summary;df-generated | | System.Threading.Tasks.Dataflow;TransformBlock;OfferMessage;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,TInput,System.Threading.Tasks.Dataflow.ISourceBlock,System.Boolean);summary;df-generated | | System.Threading.Tasks.Dataflow;TransformBlock;ReleaseReservation;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock);summary;df-generated | | System.Threading.Tasks.Dataflow;TransformBlock;ReserveMessage;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock);summary;df-generated | | System.Threading.Tasks.Dataflow;TransformBlock;ToString;();summary;df-generated | +| System.Threading.Tasks.Dataflow;TransformBlock;TransformBlock;(System.Func>);summary;df-generated | +| System.Threading.Tasks.Dataflow;TransformBlock;TransformBlock;(System.Func>,System.Threading.Tasks.Dataflow.ExecutionDataflowBlockOptions);summary;df-generated | +| System.Threading.Tasks.Dataflow;TransformBlock;TransformBlock;(System.Func);summary;df-generated | +| System.Threading.Tasks.Dataflow;TransformBlock;TransformBlock;(System.Func,System.Threading.Tasks.Dataflow.ExecutionDataflowBlockOptions);summary;df-generated | +| System.Threading.Tasks.Dataflow;TransformBlock;TryReceive;(System.Predicate,TOutput);summary;df-generated | | System.Threading.Tasks.Dataflow;TransformBlock;TryReceiveAll;(System.Collections.Generic.IList);summary;df-generated | | System.Threading.Tasks.Dataflow;TransformBlock;get_InputCount;();summary;df-generated | | System.Threading.Tasks.Dataflow;TransformBlock;get_OutputCount;();summary;df-generated | | System.Threading.Tasks.Dataflow;TransformManyBlock;Complete;();summary;df-generated | | System.Threading.Tasks.Dataflow;TransformManyBlock;ConsumeMessage;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock,System.Boolean);summary;df-generated | -| System.Threading.Tasks.Dataflow;TransformManyBlock;Fault;(System.Exception);summary;df-generated | | System.Threading.Tasks.Dataflow;TransformManyBlock;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Threading.Tasks.Dataflow.DataflowLinkOptions);summary;df-generated | | System.Threading.Tasks.Dataflow;TransformManyBlock;OfferMessage;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,TInput,System.Threading.Tasks.Dataflow.ISourceBlock,System.Boolean);summary;df-generated | | System.Threading.Tasks.Dataflow;TransformManyBlock;ReleaseReservation;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock);summary;df-generated | | System.Threading.Tasks.Dataflow;TransformManyBlock;ReserveMessage;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock);summary;df-generated | | System.Threading.Tasks.Dataflow;TransformManyBlock;ToString;();summary;df-generated | +| System.Threading.Tasks.Dataflow;TransformManyBlock;TransformManyBlock;(System.Func>);summary;df-generated | +| System.Threading.Tasks.Dataflow;TransformManyBlock;TransformManyBlock;(System.Func>,System.Threading.Tasks.Dataflow.ExecutionDataflowBlockOptions);summary;df-generated | +| System.Threading.Tasks.Dataflow;TransformManyBlock;TransformManyBlock;(System.Func>);summary;df-generated | +| System.Threading.Tasks.Dataflow;TransformManyBlock;TransformManyBlock;(System.Func>,System.Threading.Tasks.Dataflow.ExecutionDataflowBlockOptions);summary;df-generated | +| System.Threading.Tasks.Dataflow;TransformManyBlock;TransformManyBlock;(System.Func>>);summary;df-generated | +| System.Threading.Tasks.Dataflow;TransformManyBlock;TransformManyBlock;(System.Func>>,System.Threading.Tasks.Dataflow.ExecutionDataflowBlockOptions);summary;df-generated | +| System.Threading.Tasks.Dataflow;TransformManyBlock;TryReceive;(System.Predicate,TOutput);summary;df-generated | | System.Threading.Tasks.Dataflow;TransformManyBlock;TryReceiveAll;(System.Collections.Generic.IList);summary;df-generated | | System.Threading.Tasks.Dataflow;TransformManyBlock;get_InputCount;();summary;df-generated | | System.Threading.Tasks.Dataflow;TransformManyBlock;get_OutputCount;();summary;df-generated | | System.Threading.Tasks.Dataflow;WriteOnceBlock;Complete;();summary;df-generated | | System.Threading.Tasks.Dataflow;WriteOnceBlock;ConsumeMessage;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock,System.Boolean);summary;df-generated | -| System.Threading.Tasks.Dataflow;WriteOnceBlock;Fault;(System.Exception);summary;df-generated | | System.Threading.Tasks.Dataflow;WriteOnceBlock;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Threading.Tasks.Dataflow.DataflowLinkOptions);summary;df-generated | | System.Threading.Tasks.Dataflow;WriteOnceBlock;OfferMessage;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,T,System.Threading.Tasks.Dataflow.ISourceBlock,System.Boolean);summary;df-generated | | System.Threading.Tasks.Dataflow;WriteOnceBlock;ReleaseReservation;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock);summary;df-generated | | System.Threading.Tasks.Dataflow;WriteOnceBlock;ReserveMessage;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock);summary;df-generated | +| System.Threading.Tasks.Dataflow;WriteOnceBlock;TryReceive;(System.Predicate,T);summary;df-generated | | System.Threading.Tasks.Dataflow;WriteOnceBlock;TryReceiveAll;(System.Collections.Generic.IList);summary;df-generated | +| System.Threading.Tasks.Dataflow;WriteOnceBlock;WriteOnceBlock;(System.Func);summary;df-generated | | System.Threading.Tasks.Sources;IValueTaskSource;GetResult;(System.Int16);summary;df-generated | | System.Threading.Tasks.Sources;IValueTaskSource;GetStatus;(System.Int16);summary;df-generated | +| System.Threading.Tasks.Sources;IValueTaskSource;OnCompleted;(System.Action,System.Object,System.Int16,System.Threading.Tasks.Sources.ValueTaskSourceOnCompletedFlags);summary;df-generated | | System.Threading.Tasks.Sources;IValueTaskSource;GetResult;(System.Int16);summary;df-generated | | System.Threading.Tasks.Sources;IValueTaskSource;GetStatus;(System.Int16);summary;df-generated | +| System.Threading.Tasks.Sources;IValueTaskSource;OnCompleted;(System.Action,System.Object,System.Int16,System.Threading.Tasks.Sources.ValueTaskSourceOnCompletedFlags);summary;df-generated | | System.Threading.Tasks.Sources;ManualResetValueTaskSourceCore;GetStatus;(System.Int16);summary;df-generated | +| System.Threading.Tasks.Sources;ManualResetValueTaskSourceCore;OnCompleted;(System.Action,System.Object,System.Int16,System.Threading.Tasks.Sources.ValueTaskSourceOnCompletedFlags);summary;df-generated | | System.Threading.Tasks.Sources;ManualResetValueTaskSourceCore;Reset;();summary;df-generated | | System.Threading.Tasks.Sources;ManualResetValueTaskSourceCore;get_Version;();summary;df-generated | | System.Threading.Tasks;ConcurrentExclusiveSchedulerPair;Complete;();summary;df-generated | | System.Threading.Tasks;ConcurrentExclusiveSchedulerPair;ConcurrentExclusiveSchedulerPair;(System.Threading.Tasks.TaskScheduler);summary;df-generated | | System.Threading.Tasks;ConcurrentExclusiveSchedulerPair;ConcurrentExclusiveSchedulerPair;(System.Threading.Tasks.TaskScheduler,System.Int32);summary;df-generated | | System.Threading.Tasks;ConcurrentExclusiveSchedulerPair;get_Completion;();summary;df-generated | +| System.Threading.Tasks;Parallel;For;(System.Int32,System.Int32,System.Action);summary;df-generated | +| System.Threading.Tasks;Parallel;For;(System.Int32,System.Int32,System.Action);summary;df-generated | +| System.Threading.Tasks;Parallel;For;(System.Int32,System.Int32,System.Threading.Tasks.ParallelOptions,System.Action);summary;df-generated | +| System.Threading.Tasks;Parallel;For;(System.Int32,System.Int32,System.Threading.Tasks.ParallelOptions,System.Action);summary;df-generated | +| System.Threading.Tasks;Parallel;For;(System.Int64,System.Int64,System.Action);summary;df-generated | +| System.Threading.Tasks;Parallel;For;(System.Int64,System.Int64,System.Action);summary;df-generated | +| System.Threading.Tasks;Parallel;For;(System.Int64,System.Int64,System.Threading.Tasks.ParallelOptions,System.Action);summary;df-generated | +| System.Threading.Tasks;Parallel;For;(System.Int64,System.Int64,System.Threading.Tasks.ParallelOptions,System.Action);summary;df-generated | +| System.Threading.Tasks;Parallel;For;(System.Int32,System.Int32,System.Func,System.Func,System.Action);summary;df-generated | +| System.Threading.Tasks;Parallel;For;(System.Int32,System.Int32,System.Threading.Tasks.ParallelOptions,System.Func,System.Func,System.Action);summary;df-generated | +| System.Threading.Tasks;Parallel;For;(System.Int64,System.Int64,System.Func,System.Func,System.Action);summary;df-generated | +| System.Threading.Tasks;Parallel;For;(System.Int64,System.Int64,System.Threading.Tasks.ParallelOptions,System.Func,System.Func,System.Action);summary;df-generated | +| System.Threading.Tasks;Parallel;ForAsync;(T,T,System.Func);summary;df-generated | +| System.Threading.Tasks;Parallel;ForAsync;(T,T,System.Threading.CancellationToken,System.Func);summary;df-generated | +| System.Threading.Tasks;Parallel;ForAsync;(T,T,System.Threading.Tasks.ParallelOptions,System.Func);summary;df-generated | +| System.Threading.Tasks;Parallel;ForEach;(System.Collections.Concurrent.OrderablePartitioner,System.Func,System.Func,System.Action);summary;df-generated | +| System.Threading.Tasks;Parallel;ForEach;(System.Collections.Concurrent.OrderablePartitioner,System.Threading.Tasks.ParallelOptions,System.Func,System.Func,System.Action);summary;df-generated | +| System.Threading.Tasks;Parallel;ForEach;(System.Collections.Concurrent.Partitioner,System.Func,System.Func,System.Action);summary;df-generated | +| System.Threading.Tasks;Parallel;ForEach;(System.Collections.Concurrent.Partitioner,System.Threading.Tasks.ParallelOptions,System.Func,System.Func,System.Action);summary;df-generated | +| System.Threading.Tasks;Parallel;ForEach;(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Action);summary;df-generated | +| System.Threading.Tasks;Parallel;ForEach;(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Action);summary;df-generated | +| System.Threading.Tasks;Parallel;ForEach;(System.Collections.Generic.IEnumerable,System.Threading.Tasks.ParallelOptions,System.Func,System.Func,System.Action);summary;df-generated | +| System.Threading.Tasks;Parallel;ForEach;(System.Collections.Generic.IEnumerable,System.Threading.Tasks.ParallelOptions,System.Func,System.Func,System.Action);summary;df-generated | +| System.Threading.Tasks;Parallel;ForEach;(System.Collections.Concurrent.OrderablePartitioner,System.Action);summary;df-generated | +| System.Threading.Tasks;Parallel;ForEach;(System.Collections.Concurrent.OrderablePartitioner,System.Threading.Tasks.ParallelOptions,System.Action);summary;df-generated | +| System.Threading.Tasks;Parallel;ForEach;(System.Collections.Concurrent.Partitioner,System.Action);summary;df-generated | +| System.Threading.Tasks;Parallel;ForEach;(System.Collections.Concurrent.Partitioner,System.Action);summary;df-generated | +| System.Threading.Tasks;Parallel;ForEach;(System.Collections.Concurrent.Partitioner,System.Threading.Tasks.ParallelOptions,System.Action);summary;df-generated | +| System.Threading.Tasks;Parallel;ForEach;(System.Collections.Concurrent.Partitioner,System.Threading.Tasks.ParallelOptions,System.Action);summary;df-generated | +| System.Threading.Tasks;Parallel;ForEach;(System.Collections.Generic.IEnumerable,System.Action);summary;df-generated | +| System.Threading.Tasks;Parallel;ForEach;(System.Collections.Generic.IEnumerable,System.Action);summary;df-generated | +| System.Threading.Tasks;Parallel;ForEach;(System.Collections.Generic.IEnumerable,System.Action);summary;df-generated | +| System.Threading.Tasks;Parallel;ForEach;(System.Collections.Generic.IEnumerable,System.Threading.Tasks.ParallelOptions,System.Action);summary;df-generated | +| System.Threading.Tasks;Parallel;ForEach;(System.Collections.Generic.IEnumerable,System.Threading.Tasks.ParallelOptions,System.Action);summary;df-generated | +| System.Threading.Tasks;Parallel;ForEach;(System.Collections.Generic.IEnumerable,System.Threading.Tasks.ParallelOptions,System.Action);summary;df-generated | +| System.Threading.Tasks;Parallel;ForEachAsync;(System.Collections.Generic.IAsyncEnumerable,System.Func);summary;df-generated | +| System.Threading.Tasks;Parallel;ForEachAsync;(System.Collections.Generic.IAsyncEnumerable,System.Threading.CancellationToken,System.Func);summary;df-generated | +| System.Threading.Tasks;Parallel;ForEachAsync;(System.Collections.Generic.IAsyncEnumerable,System.Threading.Tasks.ParallelOptions,System.Func);summary;df-generated | +| System.Threading.Tasks;Parallel;ForEachAsync;(System.Collections.Generic.IEnumerable,System.Func);summary;df-generated | +| System.Threading.Tasks;Parallel;ForEachAsync;(System.Collections.Generic.IEnumerable,System.Threading.CancellationToken,System.Func);summary;df-generated | +| System.Threading.Tasks;Parallel;ForEachAsync;(System.Collections.Generic.IEnumerable,System.Threading.Tasks.ParallelOptions,System.Func);summary;df-generated | | System.Threading.Tasks;Parallel;Invoke;(System.Action[]);summary;df-generated | | System.Threading.Tasks;Parallel;Invoke;(System.Threading.Tasks.ParallelOptions,System.Action[]);summary;df-generated | | System.Threading.Tasks;ParallelLoopResult;get_IsCompleted;();summary;df-generated | @@ -48317,6 +50381,11 @@ neutral | System.Threading.Tasks;ParallelLoopState;get_IsExceptional;();summary;df-generated | | System.Threading.Tasks;ParallelLoopState;get_IsStopped;();summary;df-generated | | System.Threading.Tasks;ParallelLoopState;get_ShouldExitCurrentIteration;();summary;df-generated | +| System.Threading.Tasks;Task;ContinueWith;(System.Action);summary;df-generated | +| System.Threading.Tasks;Task;ContinueWith;(System.Action,System.Threading.CancellationToken);summary;df-generated | +| System.Threading.Tasks;Task;ContinueWith;(System.Action,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);summary;df-generated | +| System.Threading.Tasks;Task;ContinueWith;(System.Action,System.Threading.Tasks.TaskContinuationOptions);summary;df-generated | +| System.Threading.Tasks;Task;ContinueWith;(System.Action,System.Threading.Tasks.TaskScheduler);summary;df-generated | | System.Threading.Tasks;Task;Delay;(System.Int32);summary;df-generated | | System.Threading.Tasks;Task;Delay;(System.TimeSpan);summary;df-generated | | System.Threading.Tasks;Task;Delay;(System.TimeSpan,System.TimeProvider);summary;df-generated | @@ -48325,10 +50394,18 @@ neutral | System.Threading.Tasks;Task;FromCanceled;(System.Threading.CancellationToken);summary;df-generated | | System.Threading.Tasks;Task;FromException;(System.Exception);summary;df-generated | | System.Threading.Tasks;Task;FromException;(System.Exception);summary;df-generated | +| System.Threading.Tasks;Task;Run;(System.Action);summary;df-generated | +| System.Threading.Tasks;Task;Run;(System.Action,System.Threading.CancellationToken);summary;df-generated | +| System.Threading.Tasks;Task;Run;(System.Func);summary;df-generated | +| System.Threading.Tasks;Task;Run;(System.Func,System.Threading.CancellationToken);summary;df-generated | | System.Threading.Tasks;Task;RunSynchronously;();summary;df-generated | | System.Threading.Tasks;Task;RunSynchronously;(System.Threading.Tasks.TaskScheduler);summary;df-generated | | System.Threading.Tasks;Task;Start;();summary;df-generated | | System.Threading.Tasks;Task;Start;(System.Threading.Tasks.TaskScheduler);summary;df-generated | +| System.Threading.Tasks;Task;Task;(System.Action);summary;df-generated | +| System.Threading.Tasks;Task;Task;(System.Action,System.Threading.CancellationToken);summary;df-generated | +| System.Threading.Tasks;Task;Task;(System.Action,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions);summary;df-generated | +| System.Threading.Tasks;Task;Task;(System.Action,System.Threading.Tasks.TaskCreationOptions);summary;df-generated | | System.Threading.Tasks;Task;Wait;();summary;df-generated | | System.Threading.Tasks;Task;Wait;(System.Int32);summary;df-generated | | System.Threading.Tasks;Task;Wait;(System.Int32,System.Threading.CancellationToken);summary;df-generated | @@ -48389,9 +50466,30 @@ neutral | System.Threading.Tasks;TaskCompletionSource;TrySetCanceled;(System.Threading.CancellationToken);summary;df-generated | | System.Threading.Tasks;TaskCompletionSource;TrySetException;(System.Collections.Generic.IEnumerable);summary;df-generated | | System.Threading.Tasks;TaskCompletionSource;TrySetException;(System.Exception);summary;df-generated | +| System.Threading.Tasks;TaskFactory;ContinueWhenAll;(System.Threading.Tasks.Task[],System.Action);summary;df-generated | +| System.Threading.Tasks;TaskFactory;ContinueWhenAll;(System.Threading.Tasks.Task[],System.Action,System.Threading.CancellationToken);summary;df-generated | +| System.Threading.Tasks;TaskFactory;ContinueWhenAll;(System.Threading.Tasks.Task[],System.Action,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);summary;df-generated | +| System.Threading.Tasks;TaskFactory;ContinueWhenAll;(System.Threading.Tasks.Task[],System.Action,System.Threading.Tasks.TaskContinuationOptions);summary;df-generated | +| System.Threading.Tasks;TaskFactory;ContinueWhenAny;(System.Threading.Tasks.Task[],System.Action);summary;df-generated | +| System.Threading.Tasks;TaskFactory;ContinueWhenAny;(System.Threading.Tasks.Task[],System.Action,System.Threading.CancellationToken);summary;df-generated | +| System.Threading.Tasks;TaskFactory;ContinueWhenAny;(System.Threading.Tasks.Task[],System.Action,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);summary;df-generated | +| System.Threading.Tasks;TaskFactory;ContinueWhenAny;(System.Threading.Tasks.Task[],System.Action,System.Threading.Tasks.TaskContinuationOptions);summary;df-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.IAsyncResult,System.Action);summary;df-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.IAsyncResult,System.Action,System.Threading.Tasks.TaskCreationOptions);summary;df-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.IAsyncResult,System.Action,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler);summary;df-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.IAsyncResult,System.Func);summary;df-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.IAsyncResult,System.Func,System.Threading.Tasks.TaskCreationOptions);summary;df-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.IAsyncResult,System.Func,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler);summary;df-generated | +| System.Threading.Tasks;TaskFactory;StartNew;(System.Action);summary;df-generated | +| System.Threading.Tasks;TaskFactory;StartNew;(System.Action,System.Threading.CancellationToken);summary;df-generated | +| System.Threading.Tasks;TaskFactory;StartNew;(System.Action,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler);summary;df-generated | +| System.Threading.Tasks;TaskFactory;StartNew;(System.Action,System.Threading.Tasks.TaskCreationOptions);summary;df-generated | | System.Threading.Tasks;TaskFactory;TaskFactory;(System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskContinuationOptions);summary;df-generated | | System.Threading.Tasks;TaskFactory;get_ContinuationOptions;();summary;df-generated | | System.Threading.Tasks;TaskFactory;get_CreationOptions;();summary;df-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.IAsyncResult,System.Func);summary;df-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.IAsyncResult,System.Func,System.Threading.Tasks.TaskCreationOptions);summary;df-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.IAsyncResult,System.Func,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler);summary;df-generated | | System.Threading.Tasks;TaskFactory;TaskFactory;(System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskContinuationOptions);summary;df-generated | | System.Threading.Tasks;TaskFactory;get_ContinuationOptions;();summary;df-generated | | System.Threading.Tasks;TaskFactory;get_CreationOptions;();summary;df-generated | @@ -48400,10 +50498,12 @@ neutral | System.Threading.Tasks;TaskScheduler;TryDequeue;(System.Threading.Tasks.Task);summary;df-generated | | System.Threading.Tasks;TaskScheduler;TryExecuteTask;(System.Threading.Tasks.Task);summary;df-generated | | System.Threading.Tasks;TaskScheduler;TryExecuteTaskInline;(System.Threading.Tasks.Task,System.Boolean);summary;df-generated | +| System.Threading.Tasks;TaskScheduler;add_UnobservedTaskException;(System.EventHandler);summary;df-generated | | System.Threading.Tasks;TaskScheduler;get_Current;();summary;df-generated | | System.Threading.Tasks;TaskScheduler;get_Default;();summary;df-generated | | System.Threading.Tasks;TaskScheduler;get_Id;();summary;df-generated | | System.Threading.Tasks;TaskScheduler;get_MaximumConcurrencyLevel;();summary;df-generated | +| System.Threading.Tasks;TaskScheduler;remove_UnobservedTaskException;(System.EventHandler);summary;df-generated | | System.Threading.Tasks;TaskSchedulerException;TaskSchedulerException;(System.Exception);summary;df-generated | | System.Threading.Tasks;TaskSchedulerException;TaskSchedulerException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);summary;df-generated | | System.Threading.Tasks;TaskSchedulerException;TaskSchedulerException;(System.String);summary;df-generated | @@ -48448,10 +50548,12 @@ neutral | System.Threading;AsyncFlowControl;Undo;();summary;df-generated | | System.Threading;AsyncFlowControl;op_Equality;(System.Threading.AsyncFlowControl,System.Threading.AsyncFlowControl);summary;df-generated | | System.Threading;AsyncFlowControl;op_Inequality;(System.Threading.AsyncFlowControl,System.Threading.AsyncFlowControl);summary;df-generated | +| System.Threading;AsyncLocal;AsyncLocal;(System.Action>);summary;df-generated | | System.Threading;AutoResetEvent;AutoResetEvent;(System.Boolean);summary;df-generated | | System.Threading;Barrier;AddParticipant;();summary;df-generated | | System.Threading;Barrier;AddParticipants;(System.Int32);summary;df-generated | | System.Threading;Barrier;Barrier;(System.Int32);summary;df-generated | +| System.Threading;Barrier;Barrier;(System.Int32,System.Action);summary;df-generated | | System.Threading;Barrier;Dispose;();summary;df-generated | | System.Threading;Barrier;Dispose;(System.Boolean);summary;df-generated | | System.Threading;Barrier;RemoveParticipant;();summary;df-generated | @@ -48472,6 +50574,8 @@ neutral | System.Threading;CancellationToken;Equals;(System.Object);summary;df-generated | | System.Threading;CancellationToken;Equals;(System.Threading.CancellationToken);summary;df-generated | | System.Threading;CancellationToken;GetHashCode;();summary;df-generated | +| System.Threading;CancellationToken;Register;(System.Action);summary;df-generated | +| System.Threading;CancellationToken;Register;(System.Action,System.Boolean);summary;df-generated | | System.Threading;CancellationToken;ThrowIfCancellationRequested;();summary;df-generated | | System.Threading;CancellationToken;get_CanBeCanceled;();summary;df-generated | | System.Threading;CancellationToken;get_IsCancellationRequested;();summary;df-generated | @@ -48627,9 +50731,15 @@ neutral | System.Threading;Mutex;ReleaseMutex;();summary;df-generated | | System.Threading;Overlapped;Free;(System.Threading.NativeOverlapped*);summary;df-generated | | System.Threading;Overlapped;Overlapped;(System.Int32,System.Int32,System.Int32,System.IAsyncResult);summary;df-generated | +| System.Threading;Overlapped;Pack;(System.Threading.IOCompletionCallback);summary;df-generated | +| System.Threading;Overlapped;Pack;(System.Threading.IOCompletionCallback,System.Object);summary;df-generated | | System.Threading;Overlapped;Unpack;(System.Threading.NativeOverlapped*);summary;df-generated | +| System.Threading;Overlapped;UnsafePack;(System.Threading.IOCompletionCallback);summary;df-generated | +| System.Threading;Overlapped;UnsafePack;(System.Threading.IOCompletionCallback,System.Object);summary;df-generated | | System.Threading;PeriodicTimer;Dispose;();summary;df-generated | | System.Threading;PreAllocatedOverlapped;Dispose;();summary;df-generated | +| System.Threading;PreAllocatedOverlapped;PreAllocatedOverlapped;(System.Threading.IOCompletionCallback,System.Object,System.Object);summary;df-generated | +| System.Threading;PreAllocatedOverlapped;UnsafeCreate;(System.Threading.IOCompletionCallback,System.Object,System.Object);summary;df-generated | | System.Threading;ReaderWriterLock;AcquireReaderLock;(System.Int32);summary;df-generated | | System.Threading;ReaderWriterLock;AcquireReaderLock;(System.TimeSpan);summary;df-generated | | System.Threading;ReaderWriterLock;AcquireWriterLock;(System.Int32);summary;df-generated | @@ -48704,11 +50814,15 @@ neutral | System.Threading;SpinWait;Reset;();summary;df-generated | | System.Threading;SpinWait;SpinOnce;();summary;df-generated | | System.Threading;SpinWait;SpinOnce;(System.Int32);summary;df-generated | +| System.Threading;SpinWait;SpinUntil;(System.Func);summary;df-generated | +| System.Threading;SpinWait;SpinUntil;(System.Func,System.Int32);summary;df-generated | +| System.Threading;SpinWait;SpinUntil;(System.Func,System.TimeSpan);summary;df-generated | | System.Threading;SpinWait;get_NextSpinWillYield;();summary;df-generated | | System.Threading;SynchronizationContext;CreateCopy;();summary;df-generated | | System.Threading;SynchronizationContext;IsWaitNotificationRequired;();summary;df-generated | | System.Threading;SynchronizationContext;OperationCompleted;();summary;df-generated | | System.Threading;SynchronizationContext;OperationStarted;();summary;df-generated | +| System.Threading;SynchronizationContext;Post;(System.Threading.SendOrPostCallback,System.Object);summary;df-generated | | System.Threading;SynchronizationContext;SetSynchronizationContext;(System.Threading.SynchronizationContext);summary;df-generated | | System.Threading;SynchronizationContext;SetWaitNotificationRequired;();summary;df-generated | | System.Threading;SynchronizationContext;Wait;(System.IntPtr[],System.Boolean,System.Int32);summary;df-generated | @@ -48749,6 +50863,10 @@ neutral | System.Threading;Thread;Start;();summary;df-generated | | System.Threading;Thread;Start;(System.Object);summary;df-generated | | System.Threading;Thread;Suspend;();summary;df-generated | +| System.Threading;Thread;Thread;(System.Threading.ParameterizedThreadStart);summary;df-generated | +| System.Threading;Thread;Thread;(System.Threading.ParameterizedThreadStart,System.Int32);summary;df-generated | +| System.Threading;Thread;Thread;(System.Threading.ThreadStart);summary;df-generated | +| System.Threading;Thread;Thread;(System.Threading.ThreadStart,System.Int32);summary;df-generated | | System.Threading;Thread;TrySetApartmentState;(System.Threading.ApartmentState);summary;df-generated | | System.Threading;Thread;UnsafeStart;();summary;df-generated | | System.Threading;Thread;UnsafeStart;(System.Object);summary;df-generated | @@ -48785,6 +50903,8 @@ neutral | System.Threading;ThreadLocal;Dispose;();summary;df-generated | | System.Threading;ThreadLocal;Dispose;(System.Boolean);summary;df-generated | | System.Threading;ThreadLocal;ThreadLocal;(System.Boolean);summary;df-generated | +| System.Threading;ThreadLocal;ThreadLocal;(System.Func);summary;df-generated | +| System.Threading;ThreadLocal;ThreadLocal;(System.Func,System.Boolean);summary;df-generated | | System.Threading;ThreadLocal;get_IsValueCreated;();summary;df-generated | | System.Threading;ThreadLocal;get_Values;();summary;df-generated | | System.Threading;ThreadPool;BindHandle;(System.IntPtr);summary;df-generated | @@ -48792,17 +50912,32 @@ neutral | System.Threading;ThreadPool;GetAvailableThreads;(System.Int32,System.Int32);summary;df-generated | | System.Threading;ThreadPool;GetMaxThreads;(System.Int32,System.Int32);summary;df-generated | | System.Threading;ThreadPool;GetMinThreads;(System.Int32,System.Int32);summary;df-generated | +| System.Threading;ThreadPool;QueueUserWorkItem;(System.Threading.WaitCallback);summary;df-generated | +| System.Threading;ThreadPool;QueueUserWorkItem;(System.Threading.WaitCallback,System.Object);summary;df-generated | +| System.Threading;ThreadPool;QueueUserWorkItem;(System.Action,TState,System.Boolean);summary;df-generated | +| System.Threading;ThreadPool;RegisterWaitForSingleObject;(System.Threading.WaitHandle,System.Threading.WaitOrTimerCallback,System.Object,System.Int32,System.Boolean);summary;df-generated | +| System.Threading;ThreadPool;RegisterWaitForSingleObject;(System.Threading.WaitHandle,System.Threading.WaitOrTimerCallback,System.Object,System.Int64,System.Boolean);summary;df-generated | +| System.Threading;ThreadPool;RegisterWaitForSingleObject;(System.Threading.WaitHandle,System.Threading.WaitOrTimerCallback,System.Object,System.TimeSpan,System.Boolean);summary;df-generated | +| System.Threading;ThreadPool;RegisterWaitForSingleObject;(System.Threading.WaitHandle,System.Threading.WaitOrTimerCallback,System.Object,System.UInt32,System.Boolean);summary;df-generated | | System.Threading;ThreadPool;SetMaxThreads;(System.Int32,System.Int32);summary;df-generated | | System.Threading;ThreadPool;SetMinThreads;(System.Int32,System.Int32);summary;df-generated | | System.Threading;ThreadPool;UnsafeQueueNativeOverlapped;(System.Threading.NativeOverlapped*);summary;df-generated | | System.Threading;ThreadPool;UnsafeQueueUserWorkItem;(System.Threading.IThreadPoolWorkItem,System.Boolean);summary;df-generated | +| System.Threading;ThreadPool;UnsafeQueueUserWorkItem;(System.Threading.WaitCallback,System.Object);summary;df-generated | +| System.Threading;ThreadPool;UnsafeQueueUserWorkItem;(System.Action,TState,System.Boolean);summary;df-generated | +| System.Threading;ThreadPool;UnsafeRegisterWaitForSingleObject;(System.Threading.WaitHandle,System.Threading.WaitOrTimerCallback,System.Object,System.Int32,System.Boolean);summary;df-generated | +| System.Threading;ThreadPool;UnsafeRegisterWaitForSingleObject;(System.Threading.WaitHandle,System.Threading.WaitOrTimerCallback,System.Object,System.Int64,System.Boolean);summary;df-generated | +| System.Threading;ThreadPool;UnsafeRegisterWaitForSingleObject;(System.Threading.WaitHandle,System.Threading.WaitOrTimerCallback,System.Object,System.TimeSpan,System.Boolean);summary;df-generated | +| System.Threading;ThreadPool;UnsafeRegisterWaitForSingleObject;(System.Threading.WaitHandle,System.Threading.WaitOrTimerCallback,System.Object,System.UInt32,System.Boolean);summary;df-generated | | System.Threading;ThreadPool;get_CompletedWorkItemCount;();summary;df-generated | | System.Threading;ThreadPool;get_PendingWorkItemCount;();summary;df-generated | | System.Threading;ThreadPool;get_ThreadCount;();summary;df-generated | +| System.Threading;ThreadPoolBoundHandle;AllocateNativeOverlapped;(System.Threading.IOCompletionCallback,System.Object,System.Object);summary;df-generated | | System.Threading;ThreadPoolBoundHandle;BindHandle;(System.Runtime.InteropServices.SafeHandle);summary;df-generated | | System.Threading;ThreadPoolBoundHandle;Dispose;();summary;df-generated | | System.Threading;ThreadPoolBoundHandle;FreeNativeOverlapped;(System.Threading.NativeOverlapped*);summary;df-generated | | System.Threading;ThreadPoolBoundHandle;GetNativeOverlappedState;(System.Threading.NativeOverlapped*);summary;df-generated | +| System.Threading;ThreadPoolBoundHandle;UnsafeAllocateNativeOverlapped;(System.Threading.IOCompletionCallback,System.Object,System.Object);summary;df-generated | | System.Threading;ThreadStateException;ThreadStateException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);summary;df-generated | | System.Threading;ThreadStateException;ThreadStateException;(System.String);summary;df-generated | | System.Threading;ThreadStateException;ThreadStateException;(System.String,System.Exception);summary;df-generated | @@ -48812,6 +50947,11 @@ neutral | System.Threading;Timer;Change;(System.UInt32,System.UInt32);summary;df-generated | | System.Threading;Timer;Dispose;();summary;df-generated | | System.Threading;Timer;Dispose;(System.Threading.WaitHandle);summary;df-generated | +| System.Threading;Timer;Timer;(System.Threading.TimerCallback);summary;df-generated | +| System.Threading;Timer;Timer;(System.Threading.TimerCallback,System.Object,System.Int32,System.Int32);summary;df-generated | +| System.Threading;Timer;Timer;(System.Threading.TimerCallback,System.Object,System.Int64,System.Int64);summary;df-generated | +| System.Threading;Timer;Timer;(System.Threading.TimerCallback,System.Object,System.TimeSpan,System.TimeSpan);summary;df-generated | +| System.Threading;Timer;Timer;(System.Threading.TimerCallback,System.Object,System.UInt32,System.UInt32);summary;df-generated | | System.Threading;Timer;get_ActiveCount;();summary;df-generated | | System.Threading;Volatile;Read;(System.Boolean);summary;df-generated | | System.Threading;Volatile;Read;(System.Byte);summary;df-generated | @@ -48871,6 +51011,8 @@ neutral | System.Timers;Timer;Stop;();summary;df-generated | | System.Timers;Timer;Timer;(System.Double);summary;df-generated | | System.Timers;Timer;Timer;(System.TimeSpan);summary;df-generated | +| System.Timers;Timer;add_Elapsed;(System.Timers.ElapsedEventHandler);summary;df-generated | +| System.Timers;Timer;remove_Elapsed;(System.Timers.ElapsedEventHandler);summary;df-generated | | System.Timers;TimersDescriptionAttribute;TimersDescriptionAttribute;(System.String);summary;df-generated | | System.Transactions;CommittableTransaction;Commit;();summary;df-generated | | System.Transactions;CommittableTransaction;CommittableTransaction;(System.TimeSpan);summary;df-generated | @@ -48917,9 +51059,11 @@ neutral | System.Transactions;Transaction;GetHashCode;();summary;df-generated | | System.Transactions;Transaction;GetPromotedToken;();summary;df-generated | | System.Transactions;Transaction;Rollback;();summary;df-generated | +| System.Transactions;Transaction;add_TransactionCompleted;(System.Transactions.TransactionCompletedEventHandler);summary;df-generated | | System.Transactions;Transaction;get_IsolationLevel;();summary;df-generated | | System.Transactions;Transaction;op_Equality;(System.Transactions.Transaction,System.Transactions.Transaction);summary;df-generated | | System.Transactions;Transaction;op_Inequality;(System.Transactions.Transaction,System.Transactions.Transaction);summary;df-generated | +| System.Transactions;Transaction;remove_TransactionCompleted;(System.Transactions.TransactionCompletedEventHandler);summary;df-generated | | System.Transactions;TransactionAbortedException;TransactionAbortedException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);summary;df-generated | | System.Transactions;TransactionAbortedException;TransactionAbortedException;(System.String);summary;df-generated | | System.Transactions;TransactionAbortedException;TransactionAbortedException;(System.String,System.Exception);summary;df-generated | @@ -48941,6 +51085,8 @@ neutral | System.Transactions;TransactionInterop;GetWhereabouts;();summary;df-generated | | System.Transactions;TransactionManager;RecoveryComplete;(System.Guid);summary;df-generated | | System.Transactions;TransactionManager;Reenlist;(System.Guid,System.Byte[],System.Transactions.IEnlistmentNotification);summary;df-generated | +| System.Transactions;TransactionManager;add_DistributedTransactionStarted;(System.Transactions.TransactionStartedEventHandler);summary;df-generated | +| System.Transactions;TransactionManager;remove_DistributedTransactionStarted;(System.Transactions.TransactionStartedEventHandler);summary;df-generated | | System.Transactions;TransactionManagerCommunicationException;TransactionManagerCommunicationException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);summary;df-generated | | System.Transactions;TransactionManagerCommunicationException;TransactionManagerCommunicationException;(System.String);summary;df-generated | | System.Transactions;TransactionManagerCommunicationException;TransactionManagerCommunicationException;(System.String,System.Exception);summary;df-generated | @@ -48989,6 +51135,8 @@ neutral | System.Web;IHtmlString;ToHtmlString;();summary;df-generated | | System.Windows.Input;ICommand;CanExecute;(System.Object);summary;df-generated | | System.Windows.Input;ICommand;Execute;(System.Object);summary;df-generated | +| System.Windows.Input;ICommand;add_CanExecuteChanged;(System.EventHandler);summary;df-generated | +| System.Windows.Input;ICommand;remove_CanExecuteChanged;(System.EventHandler);summary;df-generated | | System.Windows.Markup;ValueSerializerAttribute;ValueSerializerAttribute;(System.Type);summary;df-generated | | System.Windows.Markup;ValueSerializerAttribute;get_ValueSerializerType;();summary;df-generated | | System.Xaml.Permissions;XamlAccessLevel;AssemblyAccessTo;(System.Reflection.Assembly);summary;df-generated | @@ -49090,18 +51238,19 @@ neutral | System.Xml.Linq;XNode;get_DocumentOrderComparer;();summary;df-generated | | System.Xml.Linq;XNode;get_EqualityComparer;();summary;df-generated | | System.Xml.Linq;XNode;get_PreviousNode;();summary;df-generated | -| System.Xml.Linq;XNodeDocumentOrderComparer;Compare;(System.Object,System.Object);summary;df-generated | | System.Xml.Linq;XNodeDocumentOrderComparer;Compare;(System.Xml.Linq.XNode,System.Xml.Linq.XNode);summary;df-generated | -| System.Xml.Linq;XNodeEqualityComparer;Equals;(System.Object,System.Object);summary;df-generated | | System.Xml.Linq;XNodeEqualityComparer;Equals;(System.Xml.Linq.XNode,System.Xml.Linq.XNode);summary;df-generated | -| System.Xml.Linq;XNodeEqualityComparer;GetHashCode;(System.Object);summary;df-generated | | System.Xml.Linq;XNodeEqualityComparer;GetHashCode;(System.Xml.Linq.XNode);summary;df-generated | | System.Xml.Linq;XObject;HasLineInfo;();summary;df-generated | | System.Xml.Linq;XObject;RemoveAnnotations;(System.Type);summary;df-generated | | System.Xml.Linq;XObject;RemoveAnnotations;();summary;df-generated | +| System.Xml.Linq;XObject;add_Changed;(System.EventHandler);summary;df-generated | +| System.Xml.Linq;XObject;add_Changing;(System.EventHandler);summary;df-generated | | System.Xml.Linq;XObject;get_LineNumber;();summary;df-generated | | System.Xml.Linq;XObject;get_LinePosition;();summary;df-generated | | System.Xml.Linq;XObject;get_NodeType;();summary;df-generated | +| System.Xml.Linq;XObject;remove_Changed;(System.EventHandler);summary;df-generated | +| System.Xml.Linq;XObject;remove_Changing;(System.EventHandler);summary;df-generated | | System.Xml.Linq;XObjectChangeEventArgs;XObjectChangeEventArgs;(System.Xml.Linq.XObjectChange);summary;df-generated | | System.Xml.Linq;XObjectChangeEventArgs;get_ObjectChange;();summary;df-generated | | System.Xml.Linq;XProcessingInstruction;get_NodeType;();summary;df-generated | @@ -49127,6 +51276,12 @@ neutral | System.Xml.Resolvers;XmlPreloadedResolver;XmlPreloadedResolver;(System.Xml.Resolvers.XmlKnownDtds);summary;df-generated | | System.Xml.Resolvers;XmlPreloadedResolver;XmlPreloadedResolver;(System.Xml.XmlResolver);summary;df-generated | | System.Xml.Resolvers;XmlPreloadedResolver;XmlPreloadedResolver;(System.Xml.XmlResolver,System.Xml.Resolvers.XmlKnownDtds);summary;df-generated | +| System.Xml.Schema;Extensions;Validate;(System.Xml.Linq.XAttribute,System.Xml.Schema.XmlSchemaObject,System.Xml.Schema.XmlSchemaSet,System.Xml.Schema.ValidationEventHandler);summary;df-generated | +| System.Xml.Schema;Extensions;Validate;(System.Xml.Linq.XAttribute,System.Xml.Schema.XmlSchemaObject,System.Xml.Schema.XmlSchemaSet,System.Xml.Schema.ValidationEventHandler,System.Boolean);summary;df-generated | +| System.Xml.Schema;Extensions;Validate;(System.Xml.Linq.XDocument,System.Xml.Schema.XmlSchemaSet,System.Xml.Schema.ValidationEventHandler);summary;df-generated | +| System.Xml.Schema;Extensions;Validate;(System.Xml.Linq.XDocument,System.Xml.Schema.XmlSchemaSet,System.Xml.Schema.ValidationEventHandler,System.Boolean);summary;df-generated | +| System.Xml.Schema;Extensions;Validate;(System.Xml.Linq.XElement,System.Xml.Schema.XmlSchemaObject,System.Xml.Schema.XmlSchemaSet,System.Xml.Schema.ValidationEventHandler);summary;df-generated | +| System.Xml.Schema;Extensions;Validate;(System.Xml.Linq.XElement,System.Xml.Schema.XmlSchemaObject,System.Xml.Schema.XmlSchemaSet,System.Xml.Schema.ValidationEventHandler,System.Boolean);summary;df-generated | | System.Xml.Schema;IXmlSchemaInfo;get_IsDefault;();summary;df-generated | | System.Xml.Schema;IXmlSchemaInfo;get_IsNil;();summary;df-generated | | System.Xml.Schema;IXmlSchemaInfo;get_Validity;();summary;df-generated | @@ -49138,6 +51293,11 @@ neutral | System.Xml.Schema;XmlAtomicValue;get_ValueAsInt;();summary;df-generated | | System.Xml.Schema;XmlAtomicValue;get_ValueAsLong;();summary;df-generated | | System.Xml.Schema;XmlAtomicValue;get_ValueType;();summary;df-generated | +| System.Xml.Schema;XmlSchema;Compile;(System.Xml.Schema.ValidationEventHandler);summary;df-generated | +| System.Xml.Schema;XmlSchema;Compile;(System.Xml.Schema.ValidationEventHandler,System.Xml.XmlResolver);summary;df-generated | +| System.Xml.Schema;XmlSchema;Read;(System.IO.Stream,System.Xml.Schema.ValidationEventHandler);summary;df-generated | +| System.Xml.Schema;XmlSchema;Read;(System.IO.TextReader,System.Xml.Schema.ValidationEventHandler);summary;df-generated | +| System.Xml.Schema;XmlSchema;Read;(System.Xml.XmlReader,System.Xml.Schema.ValidationEventHandler);summary;df-generated | | System.Xml.Schema;XmlSchema;Write;(System.IO.Stream);summary;df-generated | | System.Xml.Schema;XmlSchema;Write;(System.IO.Stream,System.Xml.XmlNamespaceManager);summary;df-generated | | System.Xml.Schema;XmlSchema;Write;(System.IO.TextWriter);summary;df-generated | @@ -49152,8 +51312,10 @@ neutral | System.Xml.Schema;XmlSchemaCollection;Add;(System.String,System.String);summary;df-generated | | System.Xml.Schema;XmlSchemaCollection;Contains;(System.String);summary;df-generated | | System.Xml.Schema;XmlSchemaCollection;Contains;(System.Xml.Schema.XmlSchema);summary;df-generated | +| System.Xml.Schema;XmlSchemaCollection;add_ValidationEventHandler;(System.Xml.Schema.ValidationEventHandler);summary;df-generated | | System.Xml.Schema;XmlSchemaCollection;get_Count;();summary;df-generated | | System.Xml.Schema;XmlSchemaCollection;get_IsSynchronized;();summary;df-generated | +| System.Xml.Schema;XmlSchemaCollection;remove_ValidationEventHandler;(System.Xml.Schema.ValidationEventHandler);summary;df-generated | | System.Xml.Schema;XmlSchemaCollectionEnumerator;MoveNext;();summary;df-generated | | System.Xml.Schema;XmlSchemaCollectionEnumerator;Reset;();summary;df-generated | | System.Xml.Schema;XmlSchemaCollectionEnumerator;get_Current;();summary;df-generated | @@ -49198,11 +51360,13 @@ neutral | System.Xml.Schema;XmlSchemaSet;Contains;(System.Xml.Schema.XmlSchema);summary;df-generated | | System.Xml.Schema;XmlSchemaSet;RemoveRecursive;(System.Xml.Schema.XmlSchema);summary;df-generated | | System.Xml.Schema;XmlSchemaSet;Schemas;(System.String);summary;df-generated | +| System.Xml.Schema;XmlSchemaSet;add_ValidationEventHandler;(System.Xml.Schema.ValidationEventHandler);summary;df-generated | | System.Xml.Schema;XmlSchemaSet;get_Count;();summary;df-generated | | System.Xml.Schema;XmlSchemaSet;get_GlobalAttributes;();summary;df-generated | | System.Xml.Schema;XmlSchemaSet;get_GlobalElements;();summary;df-generated | | System.Xml.Schema;XmlSchemaSet;get_GlobalTypes;();summary;df-generated | | System.Xml.Schema;XmlSchemaSet;get_IsCompiled;();summary;df-generated | +| System.Xml.Schema;XmlSchemaSet;remove_ValidationEventHandler;(System.Xml.Schema.ValidationEventHandler);summary;df-generated | | System.Xml.Schema;XmlSchemaType;GetBuiltInComplexType;(System.Xml.Schema.XmlTypeCode);summary;df-generated | | System.Xml.Schema;XmlSchemaType;GetBuiltInComplexType;(System.Xml.XmlQualifiedName);summary;df-generated | | System.Xml.Schema;XmlSchemaType;GetBuiltInSimpleType;(System.Xml.Schema.XmlTypeCode);summary;df-generated | @@ -49218,9 +51382,14 @@ neutral | System.Xml.Schema;XmlSchemaValidator;EndValidation;();summary;df-generated | | System.Xml.Schema;XmlSchemaValidator;GetUnspecifiedDefaultAttributes;(System.Collections.ArrayList);summary;df-generated | | System.Xml.Schema;XmlSchemaValidator;Initialize;();summary;df-generated | +| System.Xml.Schema;XmlSchemaValidator;ValidateAttribute;(System.String,System.String,System.Xml.Schema.XmlValueGetter,System.Xml.Schema.XmlSchemaInfo);summary;df-generated | | System.Xml.Schema;XmlSchemaValidator;ValidateEndOfAttributes;(System.Xml.Schema.XmlSchemaInfo);summary;df-generated | | System.Xml.Schema;XmlSchemaValidator;ValidateText;(System.String);summary;df-generated | +| System.Xml.Schema;XmlSchemaValidator;ValidateText;(System.Xml.Schema.XmlValueGetter);summary;df-generated | | System.Xml.Schema;XmlSchemaValidator;ValidateWhitespace;(System.String);summary;df-generated | +| System.Xml.Schema;XmlSchemaValidator;ValidateWhitespace;(System.Xml.Schema.XmlValueGetter);summary;df-generated | +| System.Xml.Schema;XmlSchemaValidator;add_ValidationEventHandler;(System.Xml.Schema.ValidationEventHandler);summary;df-generated | +| System.Xml.Schema;XmlSchemaValidator;remove_ValidationEventHandler;(System.Xml.Schema.ValidationEventHandler);summary;df-generated | | System.Xml.Serialization;CodeIdentifier;MakeCamel;(System.String);summary;df-generated | | System.Xml.Serialization;CodeIdentifier;MakePascal;(System.String);summary;df-generated | | System.Xml.Serialization;CodeIdentifier;MakeValid;(System.String);summary;df-generated | @@ -49304,6 +51473,7 @@ neutral | System.Xml.Serialization;XmlSchemaImporter;XmlSchemaImporter;(System.Xml.Serialization.XmlSchemas);summary;df-generated | | System.Xml.Serialization;XmlSchemaImporter;XmlSchemaImporter;(System.Xml.Serialization.XmlSchemas,System.Xml.Serialization.CodeIdentifiers);summary;df-generated | | System.Xml.Serialization;XmlSchemas;AddReference;(System.Xml.Schema.XmlSchema);summary;df-generated | +| System.Xml.Serialization;XmlSchemas;Compile;(System.Xml.Schema.ValidationEventHandler,System.Boolean);summary;df-generated | | System.Xml.Serialization;XmlSchemas;Contains;(System.String);summary;df-generated | | System.Xml.Serialization;XmlSchemas;Contains;(System.Xml.Schema.XmlSchema);summary;df-generated | | System.Xml.Serialization;XmlSchemas;GetSchemas;(System.String);summary;df-generated | @@ -49313,6 +51483,8 @@ neutral | System.Xml.Serialization;XmlSchemas;OnRemove;(System.Int32,System.Object);summary;df-generated | | System.Xml.Serialization;XmlSchemas;Remove;(System.Xml.Schema.XmlSchema);summary;df-generated | | System.Xml.Serialization;XmlSchemas;get_IsCompiled;();summary;df-generated | +| System.Xml.Serialization;XmlSerializationReader+Fixup;Fixup;(System.Object,System.Xml.Serialization.XmlSerializationFixupCallback,System.Int32);summary;df-generated | +| System.Xml.Serialization;XmlSerializationReader;AddReadCallback;(System.String,System.String,System.Type,System.Xml.Serialization.XmlSerializationReadCallback);summary;df-generated | | System.Xml.Serialization;XmlSerializationReader;CheckReaderCount;(System.Int32,System.Int32);summary;df-generated | | System.Xml.Serialization;XmlSerializationReader;CreateAbstractTypeException;(System.String,System.String);summary;df-generated | | System.Xml.Serialization;XmlSerializationReader;CreateBadDerivationException;(System.String,System.String,System.String,System.String,System.String,System.String);summary;df-generated | @@ -49360,6 +51532,7 @@ neutral | System.Xml.Serialization;XmlSerializationReader;UnknownNode;(System.Object,System.String);summary;df-generated | | System.Xml.Serialization;XmlSerializationReader;UnreferencedObject;(System.String,System.Object);summary;df-generated | | System.Xml.Serialization;XmlSerializationReader;get_ReaderCount;();summary;df-generated | +| System.Xml.Serialization;XmlSerializationWriter;AddWriteCallback;(System.Type,System.String,System.String,System.Xml.Serialization.XmlSerializationWriteCallback);summary;df-generated | | System.Xml.Serialization;XmlSerializationWriter;CreateChoiceIdentifierValueException;(System.String,System.String,System.String,System.String);summary;df-generated | | System.Xml.Serialization;XmlSerializationWriter;CreateInvalidAnyTypeException;(System.Object);summary;df-generated | | System.Xml.Serialization;XmlSerializationWriter;CreateInvalidAnyTypeException;(System.Type);summary;df-generated | @@ -49403,6 +51576,14 @@ neutral | System.Xml.Serialization;XmlSerializer;XmlSerializer;(System.Type,System.Xml.Serialization.XmlAttributeOverrides);summary;df-generated | | System.Xml.Serialization;XmlSerializer;XmlSerializer;(System.Type,System.Xml.Serialization.XmlAttributeOverrides,System.Type[],System.Xml.Serialization.XmlRootAttribute,System.String);summary;df-generated | | System.Xml.Serialization;XmlSerializer;XmlSerializer;(System.Type,System.Xml.Serialization.XmlRootAttribute);summary;df-generated | +| System.Xml.Serialization;XmlSerializer;add_UnknownAttribute;(System.Xml.Serialization.XmlAttributeEventHandler);summary;df-generated | +| System.Xml.Serialization;XmlSerializer;add_UnknownElement;(System.Xml.Serialization.XmlElementEventHandler);summary;df-generated | +| System.Xml.Serialization;XmlSerializer;add_UnknownNode;(System.Xml.Serialization.XmlNodeEventHandler);summary;df-generated | +| System.Xml.Serialization;XmlSerializer;add_UnreferencedObject;(System.Xml.Serialization.UnreferencedObjectEventHandler);summary;df-generated | +| System.Xml.Serialization;XmlSerializer;remove_UnknownAttribute;(System.Xml.Serialization.XmlAttributeEventHandler);summary;df-generated | +| System.Xml.Serialization;XmlSerializer;remove_UnknownElement;(System.Xml.Serialization.XmlElementEventHandler);summary;df-generated | +| System.Xml.Serialization;XmlSerializer;remove_UnknownNode;(System.Xml.Serialization.XmlNodeEventHandler);summary;df-generated | +| System.Xml.Serialization;XmlSerializer;remove_UnreferencedObject;(System.Xml.Serialization.UnreferencedObjectEventHandler);summary;df-generated | | System.Xml.Serialization;XmlSerializerAssemblyAttribute;XmlSerializerAssemblyAttribute;(System.String);summary;df-generated | | System.Xml.Serialization;XmlSerializerFactory;CreateSerializer;(System.Type);summary;df-generated | | System.Xml.Serialization;XmlSerializerFactory;CreateSerializer;(System.Type,System.Type[]);summary;df-generated | @@ -49450,6 +51631,7 @@ neutral | System.Xml.XPath;XPathNavigator;AppendChild;(System.Xml.XPath.XPathNavigator);summary;df-generated | | System.Xml.XPath;XPathNavigator;AppendChild;(System.Xml.XmlReader);summary;df-generated | | System.Xml.XPath;XPathNavigator;AppendChildElement;(System.String,System.String,System.String,System.String);summary;df-generated | +| System.Xml.XPath;XPathNavigator;CheckValidity;(System.Xml.Schema.XmlSchemaSet,System.Xml.Schema.ValidationEventHandler);summary;df-generated | | System.Xml.XPath;XPathNavigator;ComparePosition;(System.Xml.XPath.XPathNavigator);summary;df-generated | | System.Xml.XPath;XPathNavigator;CreateAttribute;(System.String,System.String,System.String,System.String);summary;df-generated | | System.Xml.XPath;XPathNavigator;DeleteRange;(System.Xml.XPath.XPathNavigator);summary;df-generated | @@ -49579,6 +51761,8 @@ neutral | System.Xml.Xsl;XsltArgumentList;AddExtensionObject;(System.String,System.Object);summary;df-generated | | System.Xml.Xsl;XsltArgumentList;AddParam;(System.String,System.String,System.Object);summary;df-generated | | System.Xml.Xsl;XsltArgumentList;Clear;();summary;df-generated | +| System.Xml.Xsl;XsltArgumentList;add_XsltMessageEncountered;(System.Xml.Xsl.XsltMessageEncounteredEventHandler);summary;df-generated | +| System.Xml.Xsl;XsltArgumentList;remove_XsltMessageEncountered;(System.Xml.Xsl.XsltMessageEncounteredEventHandler);summary;df-generated | | System.Xml.Xsl;XsltCompileException;XsltCompileException;(System.Exception,System.String,System.Int32,System.Int32);summary;df-generated | | System.Xml.Xsl;XsltCompileException;XsltCompileException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);summary;df-generated | | System.Xml.Xsl;XsltCompileException;XsltCompileException;(System.String);summary;df-generated | @@ -49601,9 +51785,13 @@ neutral | System.Xml;IFragmentCapableXmlDictionaryWriter;get_CanFragment;();summary;df-generated | | System.Xml;IStreamProvider;GetStream;();summary;df-generated | | System.Xml;IStreamProvider;ReleaseStream;(System.IO.Stream);summary;df-generated | +| System.Xml;IXmlBinaryReaderInitializer;SetInput;(System.Byte[],System.Int32,System.Int32,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession,System.Xml.OnXmlDictionaryReaderClose);summary;df-generated | +| System.Xml;IXmlBinaryReaderInitializer;SetInput;(System.IO.Stream,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession,System.Xml.OnXmlDictionaryReaderClose);summary;df-generated | | System.Xml;IXmlLineInfo;HasLineInfo;();summary;df-generated | | System.Xml;IXmlLineInfo;get_LineNumber;();summary;df-generated | | System.Xml;IXmlLineInfo;get_LinePosition;();summary;df-generated | +| System.Xml;IXmlTextReaderInitializer;SetInput;(System.Byte[],System.Int32,System.Int32,System.Text.Encoding,System.Xml.XmlDictionaryReaderQuotas,System.Xml.OnXmlDictionaryReaderClose);summary;df-generated | +| System.Xml;IXmlTextReaderInitializer;SetInput;(System.IO.Stream,System.Text.Encoding,System.Xml.XmlDictionaryReaderQuotas,System.Xml.OnXmlDictionaryReaderClose);summary;df-generated | | System.Xml;UniqueId;Equals;(System.Object);summary;df-generated | | System.Xml;UniqueId;GetHashCode;();summary;df-generated | | System.Xml;UniqueId;ToCharArray;(System.Char[],System.Int32);summary;df-generated | @@ -49682,14 +51870,20 @@ neutral | System.Xml;XmlDataDocument;GetElementById;(System.String);summary;df-generated | | System.Xml;XmlDictionary;XmlDictionary;(System.Int32);summary;df-generated | | System.Xml;XmlDictionary;get_Empty;();summary;df-generated | +| System.Xml;XmlDictionaryReader;CreateBinaryReader;(System.Byte[],System.Int32,System.Int32,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession,System.Xml.OnXmlDictionaryReaderClose);summary;df-generated | +| System.Xml;XmlDictionaryReader;CreateBinaryReader;(System.IO.Stream,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession,System.Xml.OnXmlDictionaryReaderClose);summary;df-generated | | System.Xml;XmlDictionaryReader;CreateMtomReader;(System.Byte[],System.Int32,System.Int32,System.Text.Encoding,System.Xml.XmlDictionaryReaderQuotas);summary;df-generated | | System.Xml;XmlDictionaryReader;CreateMtomReader;(System.Byte[],System.Int32,System.Int32,System.Text.Encoding[],System.String,System.Xml.XmlDictionaryReaderQuotas);summary;df-generated | +| System.Xml;XmlDictionaryReader;CreateMtomReader;(System.Byte[],System.Int32,System.Int32,System.Text.Encoding[],System.String,System.Xml.XmlDictionaryReaderQuotas,System.Int32,System.Xml.OnXmlDictionaryReaderClose);summary;df-generated | | System.Xml;XmlDictionaryReader;CreateMtomReader;(System.Byte[],System.Int32,System.Int32,System.Text.Encoding[],System.Xml.XmlDictionaryReaderQuotas);summary;df-generated | | System.Xml;XmlDictionaryReader;CreateMtomReader;(System.IO.Stream,System.Text.Encoding,System.Xml.XmlDictionaryReaderQuotas);summary;df-generated | | System.Xml;XmlDictionaryReader;CreateMtomReader;(System.IO.Stream,System.Text.Encoding[],System.String,System.Xml.XmlDictionaryReaderQuotas);summary;df-generated | +| System.Xml;XmlDictionaryReader;CreateMtomReader;(System.IO.Stream,System.Text.Encoding[],System.String,System.Xml.XmlDictionaryReaderQuotas,System.Int32,System.Xml.OnXmlDictionaryReaderClose);summary;df-generated | | System.Xml;XmlDictionaryReader;CreateMtomReader;(System.IO.Stream,System.Text.Encoding[],System.Xml.XmlDictionaryReaderQuotas);summary;df-generated | +| System.Xml;XmlDictionaryReader;CreateTextReader;(System.Byte[],System.Int32,System.Int32,System.Text.Encoding,System.Xml.XmlDictionaryReaderQuotas,System.Xml.OnXmlDictionaryReaderClose);summary;df-generated | | System.Xml;XmlDictionaryReader;CreateTextReader;(System.Byte[],System.Int32,System.Int32,System.Xml.XmlDictionaryReaderQuotas);summary;df-generated | | System.Xml;XmlDictionaryReader;CreateTextReader;(System.Byte[],System.Xml.XmlDictionaryReaderQuotas);summary;df-generated | +| System.Xml;XmlDictionaryReader;CreateTextReader;(System.IO.Stream,System.Text.Encoding,System.Xml.XmlDictionaryReaderQuotas,System.Xml.OnXmlDictionaryReaderClose);summary;df-generated | | System.Xml;XmlDictionaryReader;CreateTextReader;(System.IO.Stream,System.Xml.XmlDictionaryReaderQuotas);summary;df-generated | | System.Xml;XmlDictionaryReader;EndCanonicalization;();summary;df-generated | | System.Xml;XmlDictionaryReader;IndexOfLocalName;(System.String[],System.String);summary;df-generated | @@ -49806,7 +52000,21 @@ neutral | System.Xml;XmlDocument;Save;(System.IO.Stream);summary;df-generated | | System.Xml;XmlDocument;Save;(System.IO.TextWriter);summary;df-generated | | System.Xml;XmlDocument;Save;(System.String);summary;df-generated | +| System.Xml;XmlDocument;Validate;(System.Xml.Schema.ValidationEventHandler);summary;df-generated | +| System.Xml;XmlDocument;Validate;(System.Xml.Schema.ValidationEventHandler,System.Xml.XmlNode);summary;df-generated | | System.Xml;XmlDocument;XmlDocument;(System.Xml.XmlNameTable);summary;df-generated | +| System.Xml;XmlDocument;add_NodeChanged;(System.Xml.XmlNodeChangedEventHandler);summary;df-generated | +| System.Xml;XmlDocument;add_NodeChanging;(System.Xml.XmlNodeChangedEventHandler);summary;df-generated | +| System.Xml;XmlDocument;add_NodeInserted;(System.Xml.XmlNodeChangedEventHandler);summary;df-generated | +| System.Xml;XmlDocument;add_NodeInserting;(System.Xml.XmlNodeChangedEventHandler);summary;df-generated | +| System.Xml;XmlDocument;add_NodeRemoved;(System.Xml.XmlNodeChangedEventHandler);summary;df-generated | +| System.Xml;XmlDocument;add_NodeRemoving;(System.Xml.XmlNodeChangedEventHandler);summary;df-generated | +| System.Xml;XmlDocument;remove_NodeChanged;(System.Xml.XmlNodeChangedEventHandler);summary;df-generated | +| System.Xml;XmlDocument;remove_NodeChanging;(System.Xml.XmlNodeChangedEventHandler);summary;df-generated | +| System.Xml;XmlDocument;remove_NodeInserted;(System.Xml.XmlNodeChangedEventHandler);summary;df-generated | +| System.Xml;XmlDocument;remove_NodeInserting;(System.Xml.XmlNodeChangedEventHandler);summary;df-generated | +| System.Xml;XmlDocument;remove_NodeRemoved;(System.Xml.XmlNodeChangedEventHandler);summary;df-generated | +| System.Xml;XmlDocument;remove_NodeRemoving;(System.Xml.XmlNodeChangedEventHandler);summary;df-generated | | System.Xml;XmlDocumentType;get_Entities;();summary;df-generated | | System.Xml;XmlDocumentType;get_Notations;();summary;df-generated | | System.Xml;XmlElement;HasAttribute;(System.String);summary;df-generated | @@ -49946,6 +52154,8 @@ neutral | System.Xml;XmlReader;get_XmlSpace;();summary;df-generated | | System.Xml;XmlReaderSettings;Clone;();summary;df-generated | | System.Xml;XmlReaderSettings;Reset;();summary;df-generated | +| System.Xml;XmlReaderSettings;add_ValidationEventHandler;(System.Xml.Schema.ValidationEventHandler);summary;df-generated | +| System.Xml;XmlReaderSettings;remove_ValidationEventHandler;(System.Xml.Schema.ValidationEventHandler);summary;df-generated | | System.Xml;XmlResolver;SupportsType;(System.Uri,System.Type);summary;df-generated | | System.Xml;XmlResolver;get_FileSystemResolver;();summary;df-generated | | System.Xml;XmlResolver;get_ThrowingResolver;();summary;df-generated | @@ -50013,6 +52223,7 @@ neutral | System.Xml;XmlValidatingReader;Read;();summary;df-generated | | System.Xml;XmlValidatingReader;ReadAttributeValue;();summary;df-generated | | System.Xml;XmlValidatingReader;ResolveEntity;();summary;df-generated | +| System.Xml;XmlValidatingReader;add_ValidationEventHandler;(System.Xml.Schema.ValidationEventHandler);summary;df-generated | | System.Xml;XmlValidatingReader;get_AttributeCount;();summary;df-generated | | System.Xml;XmlValidatingReader;get_CanReadBinaryContent;();summary;df-generated | | System.Xml;XmlValidatingReader;get_CanResolveEntity;();summary;df-generated | @@ -50027,6 +52238,7 @@ neutral | System.Xml;XmlValidatingReader;get_QuoteChar;();summary;df-generated | | System.Xml;XmlValidatingReader;get_ReadState;();summary;df-generated | | System.Xml;XmlValidatingReader;get_XmlSpace;();summary;df-generated | +| System.Xml;XmlValidatingReader;remove_ValidationEventHandler;(System.Xml.Schema.ValidationEventHandler);summary;df-generated | | System.Xml;XmlValidatingReader;set_XmlResolver;(System.Xml.XmlResolver);summary;df-generated | | System.Xml;XmlWhitespace;XmlWhitespace;(System.String,System.Xml.XmlDocument);summary;df-generated | | System.Xml;XmlWriter;Close;();summary;df-generated | @@ -50141,6 +52353,15 @@ neutral | System;AppDomain;SetShadowCopyPath;(System.String);summary;df-generated | | System;AppDomain;SetThreadPrincipal;(System.Security.Principal.IPrincipal);summary;df-generated | | System;AppDomain;Unload;(System.AppDomain);summary;df-generated | +| System;AppDomain;add_AssemblyLoad;(System.AssemblyLoadEventHandler);summary;df-generated | +| System;AppDomain;add_AssemblyResolve;(System.ResolveEventHandler);summary;df-generated | +| System;AppDomain;add_DomainUnload;(System.EventHandler);summary;df-generated | +| System;AppDomain;add_FirstChanceException;(System.EventHandler);summary;df-generated | +| System;AppDomain;add_ProcessExit;(System.EventHandler);summary;df-generated | +| System;AppDomain;add_ReflectionOnlyAssemblyResolve;(System.ResolveEventHandler);summary;df-generated | +| System;AppDomain;add_ResourceResolve;(System.ResolveEventHandler);summary;df-generated | +| System;AppDomain;add_TypeResolve;(System.ResolveEventHandler);summary;df-generated | +| System;AppDomain;add_UnhandledException;(System.UnhandledExceptionEventHandler);summary;df-generated | | System;AppDomain;get_BaseDirectory;();summary;df-generated | | System;AppDomain;get_CurrentDomain;();summary;df-generated | | System;AppDomain;get_DynamicDirectory;();summary;df-generated | @@ -50156,6 +52377,15 @@ neutral | System;AppDomain;get_RelativeSearchPath;();summary;df-generated | | System;AppDomain;get_SetupInformation;();summary;df-generated | | System;AppDomain;get_ShadowCopyFiles;();summary;df-generated | +| System;AppDomain;remove_AssemblyLoad;(System.AssemblyLoadEventHandler);summary;df-generated | +| System;AppDomain;remove_AssemblyResolve;(System.ResolveEventHandler);summary;df-generated | +| System;AppDomain;remove_DomainUnload;(System.EventHandler);summary;df-generated | +| System;AppDomain;remove_FirstChanceException;(System.EventHandler);summary;df-generated | +| System;AppDomain;remove_ProcessExit;(System.EventHandler);summary;df-generated | +| System;AppDomain;remove_ReflectionOnlyAssemblyResolve;(System.ResolveEventHandler);summary;df-generated | +| System;AppDomain;remove_ResourceResolve;(System.ResolveEventHandler);summary;df-generated | +| System;AppDomain;remove_TypeResolve;(System.ResolveEventHandler);summary;df-generated | +| System;AppDomain;remove_UnhandledException;(System.UnhandledExceptionEventHandler);summary;df-generated | | System;AppDomainUnloadedException;AppDomainUnloadedException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);summary;df-generated | | System;AppDomainUnloadedException;AppDomainUnloadedException;(System.String);summary;df-generated | | System;AppDomainUnloadedException;AppDomainUnloadedException;(System.String,System.Exception);summary;df-generated | @@ -50277,6 +52507,7 @@ neutral | System;Array;Sort;(System.Array,System.Int32,System.Int32,System.Collections.IComparer);summary;df-generated | | System;Array;Sort;(T[]);summary;df-generated | | System;Array;Sort;(T[],System.Collections.Generic.IComparer);summary;df-generated | +| System;Array;Sort;(T[],System.Comparison);summary;df-generated | | System;Array;Sort;(T[],System.Int32,System.Int32);summary;df-generated | | System;Array;Sort;(T[],System.Int32,System.Int32,System.Collections.Generic.IComparer);summary;df-generated | | System;Array;Sort;(TKey[],TValue[]);summary;df-generated | @@ -50806,6 +53037,7 @@ neutral | System;Console;WriteLine;(System.String,System.Object[]);summary;df-generated | | System;Console;WriteLine;(System.UInt32);summary;df-generated | | System;Console;WriteLine;(System.UInt64);summary;df-generated | +| System;Console;add_CancelKeyPress;(System.ConsoleCancelEventHandler);summary;df-generated | | System;Console;get_CapsLock;();summary;df-generated | | System;Console;get_Error;();summary;df-generated | | System;Console;get_In;();summary;df-generated | @@ -50817,6 +53049,7 @@ neutral | System;Console;get_LargestWindowWidth;();summary;df-generated | | System;Console;get_NumberLock;();summary;df-generated | | System;Console;get_Out;();summary;df-generated | +| System;Console;remove_CancelKeyPress;(System.ConsoleCancelEventHandler);summary;df-generated | | System;ConsoleCancelEventArgs;get_SpecialKey;();summary;df-generated | | System;ConsoleKeyInfo;ConsoleKeyInfo;(System.Char,System.ConsoleKey,System.Boolean,System.Boolean,System.Boolean);summary;df-generated | | System;ConsoleKeyInfo;Equals;(System.ConsoleKeyInfo);summary;df-generated | @@ -51579,8 +53812,10 @@ neutral | System;Environment;get_Version;();summary;df-generated | | System;Environment;get_WorkingSet;();summary;df-generated | | System;Exception;GetType;();summary;df-generated | +| System;Exception;add_SerializeObjectState;(System.EventHandler);summary;df-generated | | System;Exception;get_Data;();summary;df-generated | | System;Exception;get_TargetSite;();summary;df-generated | +| System;Exception;remove_SerializeObjectState;(System.EventHandler);summary;df-generated | | System;ExecutionEngineException;ExecutionEngineException;(System.String);summary;df-generated | | System;ExecutionEngineException;ExecutionEngineException;(System.String,System.Exception);summary;df-generated | | System;FieldAccessException;FieldAccessException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);summary;df-generated | @@ -51614,6 +53849,7 @@ neutral | System;GC;ReRegisterForFinalize;(System.Object);summary;df-generated | | System;GC;RefreshMemoryLimit;();summary;df-generated | | System;GC;RegisterForFullGCNotification;(System.Int32,System.Int32);summary;df-generated | +| System;GC;RegisterNoGCRegionCallback;(System.Int64,System.Action);summary;df-generated | | System;GC;RemoveMemoryPressure;(System.Int64);summary;df-generated | | System;GC;SuppressFinalize;(System.Object);summary;df-generated | | System;GC;TryStartNoGCRegion;(System.Int64);summary;df-generated | @@ -51851,7 +54087,6 @@ neutral | System;Half;get_Tau;();summary;df-generated | | System;Half;get_Zero;();summary;df-generated | | System;HashCode;Add;(T);summary;df-generated | -| System;HashCode;Add;(T,System.Collections.Generic.IEqualityComparer);summary;df-generated | | System;HashCode;AddBytes;(System.ReadOnlySpan);summary;df-generated | | System;HashCode;Combine;(T1,T2,T3,T4,T5,T6,T7,T8);summary;df-generated | | System;HashCode;Combine;(T1,T2,T3,T4,T5,T6,T7);summary;df-generated | @@ -52729,9 +54964,7 @@ neutral | System;MemoryExtensions;BinarySearch;(System.ReadOnlySpan,System.IComparable);summary;df-generated | | System;MemoryExtensions;BinarySearch;(System.Span,System.IComparable);summary;df-generated | | System;MemoryExtensions;CommonPrefixLength;(System.ReadOnlySpan,System.ReadOnlySpan);summary;df-generated | -| System;MemoryExtensions;CommonPrefixLength;(System.ReadOnlySpan,System.ReadOnlySpan,System.Collections.Generic.IEqualityComparer);summary;df-generated | | System;MemoryExtensions;CommonPrefixLength;(System.Span,System.ReadOnlySpan);summary;df-generated | -| System;MemoryExtensions;CommonPrefixLength;(System.Span,System.ReadOnlySpan,System.Collections.Generic.IEqualityComparer);summary;df-generated | | System;MemoryExtensions;CompareTo;(System.ReadOnlySpan,System.ReadOnlySpan,System.StringComparison);summary;df-generated | | System;MemoryExtensions;Contains;(System.ReadOnlySpan,System.ReadOnlySpan,System.StringComparison);summary;df-generated | | System;MemoryExtensions;Contains;(System.ReadOnlySpan,T);summary;df-generated | @@ -52831,13 +55064,12 @@ neutral | System;MemoryExtensions;SequenceCompareTo;(System.ReadOnlySpan,System.ReadOnlySpan);summary;df-generated | | System;MemoryExtensions;SequenceCompareTo;(System.Span,System.ReadOnlySpan);summary;df-generated | | System;MemoryExtensions;SequenceEqual;(System.ReadOnlySpan,System.ReadOnlySpan);summary;df-generated | -| System;MemoryExtensions;SequenceEqual;(System.ReadOnlySpan,System.ReadOnlySpan,System.Collections.Generic.IEqualityComparer);summary;df-generated | | System;MemoryExtensions;SequenceEqual;(System.Span,System.ReadOnlySpan);summary;df-generated | -| System;MemoryExtensions;SequenceEqual;(System.Span,System.ReadOnlySpan,System.Collections.Generic.IEqualityComparer);summary;df-generated | | System;MemoryExtensions;Sort;(System.Span,TComparer);summary;df-generated | | System;MemoryExtensions;Sort;(System.Span);summary;df-generated | | System;MemoryExtensions;Sort;(System.Span,System.Span,TComparer);summary;df-generated | | System;MemoryExtensions;Sort;(System.Span,System.Span);summary;df-generated | +| System;MemoryExtensions;Sort;(System.Span,System.Span,System.Comparison);summary;df-generated | | System;MemoryExtensions;Split;(System.ReadOnlySpan,System.Span,System.Char,System.StringSplitOptions);summary;df-generated | | System;MemoryExtensions;Split;(System.ReadOnlySpan,System.Span,System.ReadOnlySpan,System.StringSplitOptions);summary;df-generated | | System;MemoryExtensions;SplitAny;(System.ReadOnlySpan,System.Span,System.ReadOnlySpan,System.StringSplitOptions);summary;df-generated | @@ -52954,7 +55186,10 @@ neutral | System;PlatformNotSupportedException;PlatformNotSupportedException;(System.String);summary;df-generated | | System;PlatformNotSupportedException;PlatformNotSupportedException;(System.String,System.Exception);summary;df-generated | | System;Progress;OnReport;(T);summary;df-generated | +| System;Progress;Progress;(System.Action);summary;df-generated | | System;Progress;Report;(T);summary;df-generated | +| System;Progress;add_ProgressChanged;(System.EventHandler);summary;df-generated | +| System;Progress;remove_ProgressChanged;(System.EventHandler);summary;df-generated | | System;Random;GetItems;(System.ReadOnlySpan,System.Int32);summary;df-generated | | System;Random;GetItems;(System.ReadOnlySpan,System.Span);summary;df-generated | | System;Random;GetItems;(T[],System.Int32);summary;df-generated | @@ -53454,7 +55689,6 @@ neutral | System;String;get_Length;();summary;df-generated | | System;String;op_Equality;(System.String,System.String);summary;df-generated | | System;String;op_Inequality;(System.String,System.String);summary;df-generated | -| System;StringComparer;Compare;(System.Object,System.Object);summary;df-generated | | System;StringComparer;Compare;(System.String,System.String);summary;df-generated | | System;StringComparer;Create;(System.Globalization.CultureInfo,System.Boolean);summary;df-generated | | System;StringComparer;Create;(System.Globalization.CultureInfo,System.Globalization.CompareOptions);summary;df-generated | @@ -53549,6 +55783,7 @@ neutral | System;TimeOnly;op_LessThan;(System.TimeOnly,System.TimeOnly);summary;df-generated | | System;TimeOnly;op_LessThanOrEqual;(System.TimeOnly,System.TimeOnly);summary;df-generated | | System;TimeOnly;op_Subtraction;(System.TimeOnly,System.TimeOnly);summary;df-generated | +| System;TimeProvider;CreateTimer;(System.Threading.TimerCallback,System.Object,System.TimeSpan,System.TimeSpan);summary;df-generated | | System;TimeProvider;GetElapsedTime;(System.Int64);summary;df-generated | | System;TimeProvider;GetElapsedTime;(System.Int64,System.Int64);summary;df-generated | | System;TimeProvider;GetLocalNow;();summary;df-generated | @@ -53821,6 +56056,9 @@ neutral | System;Type;GetType;(System.String);summary;df-generated | | System;Type;GetType;(System.String,System.Boolean);summary;df-generated | | System;Type;GetType;(System.String,System.Boolean,System.Boolean);summary;df-generated | +| System;Type;GetType;(System.String,System.Func,System.Func);summary;df-generated | +| System;Type;GetType;(System.String,System.Func,System.Func,System.Boolean);summary;df-generated | +| System;Type;GetType;(System.String,System.Func,System.Func,System.Boolean,System.Boolean);summary;df-generated | | System;Type;GetTypeArray;(System.Object[]);summary;df-generated | | System;Type;GetTypeCode;(System.Type);summary;df-generated | | System;Type;GetTypeCodeImpl;();summary;df-generated | diff --git a/csharp/ql/test/library-tests/dataflow/library/FlowSummariesFiltered.expected b/csharp/ql/test/library-tests/dataflow/library/FlowSummariesFiltered.expected index e4622b34a1dc..6fb375dae859 100644 --- a/csharp/ql/test/library-tests/dataflow/library/FlowSummariesFiltered.expected +++ b/csharp/ql/test/library-tests/dataflow/library/FlowSummariesFiltered.expected @@ -676,7 +676,13 @@ | Microsoft.Extensions.Caching.Memory;CacheEntryExtensions;AddExpirationToken;(Microsoft.Extensions.Caching.Memory.ICacheEntry,Microsoft.Extensions.Primitives.IChangeToken);Argument[0];ReturnValue;value;dfc-generated | | Microsoft.Extensions.Caching.Memory;CacheEntryExtensions;AddExpirationToken;(Microsoft.Extensions.Caching.Memory.ICacheEntry,Microsoft.Extensions.Primitives.IChangeToken);Argument[1];Argument[0].Property[Microsoft.Extensions.Caching.Memory.ICacheEntry.ExpirationTokens].Element;value;dfc-generated | | Microsoft.Extensions.Caching.Memory;CacheEntryExtensions;AddExpirationToken;(Microsoft.Extensions.Caching.Memory.ICacheEntry,Microsoft.Extensions.Primitives.IChangeToken);Argument[1];ReturnValue.Property[Microsoft.Extensions.Caching.Memory.ICacheEntry.ExpirationTokens].Element;value;dfc-generated | +| Microsoft.Extensions.Caching.Memory;CacheEntryExtensions;RegisterPostEvictionCallback;(Microsoft.Extensions.Caching.Memory.ICacheEntry,Microsoft.Extensions.Caching.Memory.PostEvictionDelegate);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Caching.Memory;CacheEntryExtensions;RegisterPostEvictionCallback;(Microsoft.Extensions.Caching.Memory.ICacheEntry,Microsoft.Extensions.Caching.Memory.PostEvictionDelegate);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Caching.Memory;CacheEntryExtensions;RegisterPostEvictionCallback;(Microsoft.Extensions.Caching.Memory.ICacheEntry,Microsoft.Extensions.Caching.Memory.PostEvictionDelegate);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Caching.Memory;CacheEntryExtensions;RegisterPostEvictionCallback;(Microsoft.Extensions.Caching.Memory.ICacheEntry,Microsoft.Extensions.Caching.Memory.PostEvictionDelegate);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Caching.Memory;CacheEntryExtensions;RegisterPostEvictionCallback;(Microsoft.Extensions.Caching.Memory.ICacheEntry,Microsoft.Extensions.Caching.Memory.PostEvictionDelegate,System.Object);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Caching.Memory;CacheEntryExtensions;RegisterPostEvictionCallback;(Microsoft.Extensions.Caching.Memory.ICacheEntry,Microsoft.Extensions.Caching.Memory.PostEvictionDelegate,System.Object);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Caching.Memory;CacheEntryExtensions;RegisterPostEvictionCallback;(Microsoft.Extensions.Caching.Memory.ICacheEntry,Microsoft.Extensions.Caching.Memory.PostEvictionDelegate,System.Object);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Caching.Memory;CacheEntryExtensions;RegisterPostEvictionCallback;(Microsoft.Extensions.Caching.Memory.ICacheEntry,Microsoft.Extensions.Caching.Memory.PostEvictionDelegate,System.Object);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.Caching.Memory;CacheEntryExtensions;SetAbsoluteExpiration;(Microsoft.Extensions.Caching.Memory.ICacheEntry,System.DateTimeOffset);Argument[0];ReturnValue;value;dfc-generated | | Microsoft.Extensions.Caching.Memory;CacheEntryExtensions;SetAbsoluteExpiration;(Microsoft.Extensions.Caching.Memory.ICacheEntry,System.TimeSpan);Argument[0];ReturnValue;value;dfc-generated | @@ -687,6 +693,9 @@ | Microsoft.Extensions.Caching.Memory;CacheEntryExtensions;SetSize;(Microsoft.Extensions.Caching.Memory.ICacheEntry,System.Int64);Argument[0];ReturnValue;value;dfc-generated | | Microsoft.Extensions.Caching.Memory;CacheEntryExtensions;SetSlidingExpiration;(Microsoft.Extensions.Caching.Memory.ICacheEntry,System.TimeSpan);Argument[0];ReturnValue;value;dfc-generated | | Microsoft.Extensions.Caching.Memory;CacheEntryExtensions;SetValue;(Microsoft.Extensions.Caching.Memory.ICacheEntry,System.Object);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Caching.Memory;CacheExtensions;GetOrCreate;(Microsoft.Extensions.Caching.Memory.IMemoryCache,System.Object,System.Func);Argument[2].ReturnValue;ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Caching.Memory;CacheExtensions;GetOrCreate;(Microsoft.Extensions.Caching.Memory.IMemoryCache,System.Object,System.Func);Argument[2].ReturnValue;ReturnValue;value;hq-generated | +| Microsoft.Extensions.Caching.Memory;CacheExtensions;GetOrCreate;(Microsoft.Extensions.Caching.Memory.IMemoryCache,System.Object,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Caching.Memory;CacheExtensions;GetOrCreate;(Microsoft.Extensions.Caching.Memory.IMemoryCache,System.Object,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.Caching.Memory;CacheExtensions;GetOrCreateAsync;(Microsoft.Extensions.Caching.Memory.IMemoryCache,System.Object,System.Func>);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.Caching.Memory;CacheExtensions;Set;(Microsoft.Extensions.Caching.Memory.IMemoryCache,System.Object,TItem);Argument[2];ReturnValue;value;dfc-generated | @@ -702,7 +711,13 @@ | Microsoft.Extensions.Caching.Memory;MemoryCacheEntryExtensions;AddExpirationToken;(Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions,Microsoft.Extensions.Primitives.IChangeToken);Argument[0];ReturnValue;value;dfc-generated | | Microsoft.Extensions.Caching.Memory;MemoryCacheEntryExtensions;AddExpirationToken;(Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions,Microsoft.Extensions.Primitives.IChangeToken);Argument[1];Argument[0].Property[Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions.ExpirationTokens].Element;value;dfc-generated | | Microsoft.Extensions.Caching.Memory;MemoryCacheEntryExtensions;AddExpirationToken;(Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions,Microsoft.Extensions.Primitives.IChangeToken);Argument[1];ReturnValue.Property[Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions.ExpirationTokens].Element;value;dfc-generated | +| Microsoft.Extensions.Caching.Memory;MemoryCacheEntryExtensions;RegisterPostEvictionCallback;(Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions,Microsoft.Extensions.Caching.Memory.PostEvictionDelegate);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Caching.Memory;MemoryCacheEntryExtensions;RegisterPostEvictionCallback;(Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions,Microsoft.Extensions.Caching.Memory.PostEvictionDelegate);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Caching.Memory;MemoryCacheEntryExtensions;RegisterPostEvictionCallback;(Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions,Microsoft.Extensions.Caching.Memory.PostEvictionDelegate);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Caching.Memory;MemoryCacheEntryExtensions;RegisterPostEvictionCallback;(Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions,Microsoft.Extensions.Caching.Memory.PostEvictionDelegate);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Caching.Memory;MemoryCacheEntryExtensions;RegisterPostEvictionCallback;(Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions,Microsoft.Extensions.Caching.Memory.PostEvictionDelegate,System.Object);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Caching.Memory;MemoryCacheEntryExtensions;RegisterPostEvictionCallback;(Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions,Microsoft.Extensions.Caching.Memory.PostEvictionDelegate,System.Object);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Caching.Memory;MemoryCacheEntryExtensions;RegisterPostEvictionCallback;(Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions,Microsoft.Extensions.Caching.Memory.PostEvictionDelegate,System.Object);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Caching.Memory;MemoryCacheEntryExtensions;RegisterPostEvictionCallback;(Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions,Microsoft.Extensions.Caching.Memory.PostEvictionDelegate,System.Object);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.Caching.Memory;MemoryCacheEntryExtensions;SetAbsoluteExpiration;(Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions,System.DateTimeOffset);Argument[0];ReturnValue;value;dfc-generated | | Microsoft.Extensions.Caching.Memory;MemoryCacheEntryExtensions;SetAbsoluteExpiration;(Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions,System.TimeSpan);Argument[0];ReturnValue;value;dfc-generated | @@ -718,6 +733,8 @@ | Microsoft.Extensions.Configuration.Memory;MemoryConfigurationProvider;MemoryConfigurationProvider;(Microsoft.Extensions.Configuration.Memory.MemoryConfigurationSource);Argument[0];Argument[this];taint;df-generated | | Microsoft.Extensions.Configuration.UserSecrets;PathHelper;GetSecretsPathFromSecretsId;(System.String);Argument[0];ReturnValue;taint;dfc-generated | | Microsoft.Extensions.Configuration.Xml;XmlDocumentDecryptor;CreateDecryptingXmlReader;(System.IO.Stream,System.Xml.XmlReaderSettings);Argument[0];ReturnValue;taint;dfc-generated | +| Microsoft.Extensions.Configuration.Xml;XmlDocumentDecryptor;DecryptDocumentAndCreateXmlReader;(System.Xml.XmlDocument);Argument[0].Element;Argument[this];taint;df-generated | +| Microsoft.Extensions.Configuration.Xml;XmlStreamConfigurationProvider;Read;(System.IO.Stream,Microsoft.Extensions.Configuration.Xml.XmlDocumentDecryptor);Argument[0];Argument[1];taint;df-generated | | Microsoft.Extensions.Configuration;ChainedBuilderExtensions;AddConfiguration;(Microsoft.Extensions.Configuration.IConfigurationBuilder,Microsoft.Extensions.Configuration.IConfiguration);Argument[0];ReturnValue;value;dfc-generated | | Microsoft.Extensions.Configuration;ChainedBuilderExtensions;AddConfiguration;(Microsoft.Extensions.Configuration.IConfigurationBuilder,Microsoft.Extensions.Configuration.IConfiguration,System.Boolean);Argument[0];ReturnValue;value;dfc-generated | | Microsoft.Extensions.Configuration;ChainedConfigurationProvider;ChainedConfigurationProvider;(Microsoft.Extensions.Configuration.ChainedConfigurationSource);Argument[0].Property[Microsoft.Extensions.Configuration.ChainedConfigurationSource.Configuration];Argument[this].SyntheticField[Microsoft.Extensions.Configuration.ChainedConfigurationProvider._config];value;dfc-generated | @@ -742,6 +759,9 @@ | Microsoft.Extensions.Configuration;ConfigurationBuilder;Add;(Microsoft.Extensions.Configuration.IConfigurationSource);Argument[0];Argument[this].SyntheticField[Microsoft.Extensions.Configuration.ConfigurationBuilder._sources].Element;value;dfc-generated | | Microsoft.Extensions.Configuration;ConfigurationBuilder;Add;(Microsoft.Extensions.Configuration.IConfigurationSource);Argument[0];ReturnValue.SyntheticField[Microsoft.Extensions.Configuration.ConfigurationBuilder._sources].Element;value;dfc-generated | | Microsoft.Extensions.Configuration;ConfigurationBuilder;get_Sources;();Argument[this].SyntheticField[Microsoft.Extensions.Configuration.ConfigurationBuilder._sources];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Configuration;ConfigurationExtensions;Add;(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.Action);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Configuration;ConfigurationExtensions;Add;(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.Action);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Configuration;ConfigurationExtensions;Add;(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Configuration;ConfigurationExtensions;Add;(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.Configuration;ConfigurationManager;Add;(Microsoft.Extensions.Configuration.IConfigurationSource);Argument[0];Argument[this].SyntheticField[Microsoft.Extensions.Configuration.ConfigurationManager._sources].Element;value;dfc-generated | | Microsoft.Extensions.Configuration;ConfigurationManager;Add;(Microsoft.Extensions.Configuration.IConfigurationSource);Argument[0];ReturnValue.SyntheticField[Microsoft.Extensions.Configuration.ConfigurationManager._sources].Element;value;dfc-generated | @@ -754,15 +774,26 @@ | Microsoft.Extensions.Configuration;ConfigurationRoot;get_Providers;();Argument[this].SyntheticField[Microsoft.Extensions.Configuration.ConfigurationRoot._providers];ReturnValue;value;df-generated | | Microsoft.Extensions.Configuration;ConfigurationRoot;get_Providers;();Argument[this].SyntheticField[Microsoft.Extensions.Configuration.ConfigurationRoot._providers];ReturnValue;value;dfc-generated | | Microsoft.Extensions.Configuration;ConfigurationRootExtensions;GetDebugView;(Microsoft.Extensions.Configuration.IConfigurationRoot);Argument[0].Property[Microsoft.Extensions.Configuration.IConfigurationRoot.Providers].Element;ReturnValue;taint;dfc-generated | +| Microsoft.Extensions.Configuration;ConfigurationRootExtensions;GetDebugView;(Microsoft.Extensions.Configuration.IConfigurationRoot,System.Func);Argument[0].Property[Microsoft.Extensions.Configuration.IConfigurationRoot.Providers].Element;ReturnValue;taint;dfc-generated | +| Microsoft.Extensions.Configuration;ConfigurationRootExtensions;GetDebugView;(Microsoft.Extensions.Configuration.IConfigurationRoot,System.Func);Argument[0].Property[Microsoft.Extensions.Configuration.IConfigurationRoot.Providers].Element;ReturnValue;taint;hq-generated | +| Microsoft.Extensions.Configuration;ConfigurationRootExtensions;GetDebugView;(Microsoft.Extensions.Configuration.IConfigurationRoot,System.Func);Argument[1].ReturnValue;ReturnValue;taint;dfc-generated | +| Microsoft.Extensions.Configuration;ConfigurationRootExtensions;GetDebugView;(Microsoft.Extensions.Configuration.IConfigurationRoot,System.Func);Argument[1].ReturnValue;ReturnValue;taint;hq-generated | +| Microsoft.Extensions.Configuration;ConfigurationRootExtensions;GetDebugView;(Microsoft.Extensions.Configuration.IConfigurationRoot,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Configuration;ConfigurationRootExtensions;GetDebugView;(Microsoft.Extensions.Configuration.IConfigurationRoot,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.Configuration;ConfigurationSection;ConfigurationSection;(Microsoft.Extensions.Configuration.IConfigurationRoot,System.String);Argument[1];Argument[this].SyntheticField[Microsoft.Extensions.Configuration.ConfigurationSection._path];value;dfc-generated | | Microsoft.Extensions.Configuration;ConfigurationSection;get_Path;();Argument[this].SyntheticField[Microsoft.Extensions.Configuration.ConfigurationSection._path];ReturnValue;value;dfc-generated | | Microsoft.Extensions.Configuration;EnvironmentVariablesExtensions;AddEnvironmentVariables;(Microsoft.Extensions.Configuration.IConfigurationBuilder);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Configuration;EnvironmentVariablesExtensions;AddEnvironmentVariables;(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.Action);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Configuration;EnvironmentVariablesExtensions;AddEnvironmentVariables;(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.Action);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Configuration;EnvironmentVariablesExtensions;AddEnvironmentVariables;(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Configuration;EnvironmentVariablesExtensions;AddEnvironmentVariables;(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.Configuration;EnvironmentVariablesExtensions;AddEnvironmentVariables;(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.String);Argument[0];ReturnValue;value;dfc-generated | | Microsoft.Extensions.Configuration;FileConfigurationExtensions;GetFileLoadExceptionHandler;(Microsoft.Extensions.Configuration.IConfigurationBuilder);Argument[0];ReturnValue;taint;df-generated | | Microsoft.Extensions.Configuration;FileConfigurationExtensions;GetFileProvider;(Microsoft.Extensions.Configuration.IConfigurationBuilder);Argument[0];ReturnValue;taint;df-generated | | Microsoft.Extensions.Configuration;FileConfigurationExtensions;SetBasePath;(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.String);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Configuration;FileConfigurationExtensions;SetFileLoadExceptionHandler;(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.Action);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Configuration;FileConfigurationExtensions;SetFileLoadExceptionHandler;(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.Action);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Configuration;FileConfigurationExtensions;SetFileLoadExceptionHandler;(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Configuration;FileConfigurationExtensions;SetFileLoadExceptionHandler;(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.Configuration;FileConfigurationExtensions;SetFileProvider;(Microsoft.Extensions.Configuration.IConfigurationBuilder,Microsoft.Extensions.FileProviders.IFileProvider);Argument[0];ReturnValue;value;dfc-generated | | Microsoft.Extensions.Configuration;FileConfigurationProvider;ToString;();Argument[this].Property[Microsoft.Extensions.Configuration.FileConfigurationProvider.Source].Property[Microsoft.Extensions.Configuration.FileConfigurationSource.Path];ReturnValue;taint;dfc-generated | @@ -776,12 +807,18 @@ | Microsoft.Extensions.Configuration;IConfigurationProvider;GetReloadToken;();Argument[this];ReturnValue;taint;df-generated | | Microsoft.Extensions.Configuration;IConfigurationRoot;get_Providers;();Argument[this];ReturnValue;taint;df-generated | | Microsoft.Extensions.Configuration;IniConfigurationExtensions;AddIniFile;(Microsoft.Extensions.Configuration.IConfigurationBuilder,Microsoft.Extensions.FileProviders.IFileProvider,System.String,System.Boolean,System.Boolean);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Configuration;IniConfigurationExtensions;AddIniFile;(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.Action);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Configuration;IniConfigurationExtensions;AddIniFile;(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.Action);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Configuration;IniConfigurationExtensions;AddIniFile;(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Configuration;IniConfigurationExtensions;AddIniFile;(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.Configuration;IniConfigurationExtensions;AddIniFile;(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.String);Argument[0];ReturnValue;value;dfc-generated | | Microsoft.Extensions.Configuration;IniConfigurationExtensions;AddIniFile;(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.String,System.Boolean);Argument[0];ReturnValue;value;dfc-generated | | Microsoft.Extensions.Configuration;IniConfigurationExtensions;AddIniFile;(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.String,System.Boolean,System.Boolean);Argument[0];ReturnValue;value;dfc-generated | | Microsoft.Extensions.Configuration;IniConfigurationExtensions;AddIniStream;(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.IO.Stream);Argument[0];ReturnValue;value;dfc-generated | | Microsoft.Extensions.Configuration;JsonConfigurationExtensions;AddJsonFile;(Microsoft.Extensions.Configuration.IConfigurationBuilder,Microsoft.Extensions.FileProviders.IFileProvider,System.String,System.Boolean,System.Boolean);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Configuration;JsonConfigurationExtensions;AddJsonFile;(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.Action);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Configuration;JsonConfigurationExtensions;AddJsonFile;(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.Action);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Configuration;JsonConfigurationExtensions;AddJsonFile;(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Configuration;JsonConfigurationExtensions;AddJsonFile;(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.Configuration;JsonConfigurationExtensions;AddJsonFile;(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.String);Argument[0];ReturnValue;value;dfc-generated | | Microsoft.Extensions.Configuration;JsonConfigurationExtensions;AddJsonFile;(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.String,System.Boolean);Argument[0];ReturnValue;value;dfc-generated | @@ -799,6 +836,9 @@ | Microsoft.Extensions.Configuration;UserSecretsConfigurationExtensions;AddUserSecrets;(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.Boolean);Argument[0];ReturnValue;value;dfc-generated | | Microsoft.Extensions.Configuration;UserSecretsConfigurationExtensions;AddUserSecrets;(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.Boolean,System.Boolean);Argument[0];ReturnValue;value;dfc-generated | | Microsoft.Extensions.Configuration;XmlConfigurationExtensions;AddXmlFile;(Microsoft.Extensions.Configuration.IConfigurationBuilder,Microsoft.Extensions.FileProviders.IFileProvider,System.String,System.Boolean,System.Boolean);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Configuration;XmlConfigurationExtensions;AddXmlFile;(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.Action);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Configuration;XmlConfigurationExtensions;AddXmlFile;(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.Action);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Configuration;XmlConfigurationExtensions;AddXmlFile;(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Configuration;XmlConfigurationExtensions;AddXmlFile;(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.Configuration;XmlConfigurationExtensions;AddXmlFile;(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.String);Argument[0];ReturnValue;value;dfc-generated | | Microsoft.Extensions.Configuration;XmlConfigurationExtensions;AddXmlFile;(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.String,System.Boolean);Argument[0];ReturnValue;value;dfc-generated | @@ -875,28 +915,73 @@ | Microsoft.Extensions.DependencyInjection;HealthChecksBuilderDelegateExtensions;AddCheck;(Microsoft.Extensions.DependencyInjection.IHealthChecksBuilder,System.String,System.Func,System.Collections.Generic.IEnumerable);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.DependencyInjection;HealthChecksBuilderDelegateExtensions;AddCheck;(Microsoft.Extensions.DependencyInjection.IHealthChecksBuilder,System.String,System.Func,System.Collections.Generic.IEnumerable,System.Nullable);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;AddDefaultLogger;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;AddHttpMessageHandler;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Func);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;AddHttpMessageHandler;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Func);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;AddHttpMessageHandler;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;AddHttpMessageHandler;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;AddHttpMessageHandler;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Func);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;AddHttpMessageHandler;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Func);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;AddHttpMessageHandler;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;AddHttpMessageHandler;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;AddHttpMessageHandler;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;AddLogger;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Func,System.Boolean);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;AddLogger;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Func,System.Boolean);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;AddLogger;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Func,System.Boolean);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;AddLogger;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Func,System.Boolean);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;AddLogger;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Boolean);Argument[0];ReturnValue;value;dfc-generated | | Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;AddTypedClient;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder);Argument[0];ReturnValue;value;dfc-generated | | Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;AddTypedClient;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;AddTypedClient;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Func);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;AddTypedClient;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Func);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;AddTypedClient;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;AddTypedClient;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;AddTypedClient;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Func);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;AddTypedClient;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Func);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;AddTypedClient;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;AddTypedClient;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;ConfigureAdditionalHttpMessageHandlers;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Action,System.IServiceProvider>);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;ConfigureAdditionalHttpMessageHandlers;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Action,System.IServiceProvider>);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;ConfigureAdditionalHttpMessageHandlers;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Action,System.IServiceProvider>);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;ConfigureAdditionalHttpMessageHandlers;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Action,System.IServiceProvider>);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;ConfigureHttpClient;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Action);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;ConfigureHttpClient;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Action);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;ConfigureHttpClient;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;ConfigureHttpClient;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;ConfigureHttpClient;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Action);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;ConfigureHttpClient;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Action);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;ConfigureHttpClient;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;ConfigureHttpClient;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;ConfigureHttpMessageHandlerBuilder;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Action);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;ConfigureHttpMessageHandlerBuilder;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Action);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;ConfigureHttpMessageHandlerBuilder;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;ConfigureHttpMessageHandlerBuilder;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;ConfigurePrimaryHttpMessageHandler;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Action);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;ConfigurePrimaryHttpMessageHandler;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Action);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;ConfigurePrimaryHttpMessageHandler;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;ConfigurePrimaryHttpMessageHandler;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;ConfigurePrimaryHttpMessageHandler;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Func);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;ConfigurePrimaryHttpMessageHandler;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Func);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;ConfigurePrimaryHttpMessageHandler;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;ConfigurePrimaryHttpMessageHandler;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;ConfigurePrimaryHttpMessageHandler;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Func);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;ConfigurePrimaryHttpMessageHandler;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Func);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;ConfigurePrimaryHttpMessageHandler;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;ConfigurePrimaryHttpMessageHandler;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;ConfigurePrimaryHttpMessageHandler;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder);Argument[0];ReturnValue;value;dfc-generated | | Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;RedactLoggedHeaders;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Collections.Generic.IEnumerable);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;RedactLoggedHeaders;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Func);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;RedactLoggedHeaders;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Func);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;RedactLoggedHeaders;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;RedactLoggedHeaders;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;RemoveAllLoggers;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder);Argument[0];ReturnValue;value;dfc-generated | | Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;SetHandlerLifetime;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.TimeSpan);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;UseSocketsHttpHandler;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Action);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;UseSocketsHttpHandler;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Action);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;UseSocketsHttpHandler;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;UseSocketsHttpHandler;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;UseSocketsHttpHandler;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Action);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;UseSocketsHttpHandler;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Action);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;UseSocketsHttpHandler;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;UseSocketsHttpHandler;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.DependencyInjection;HttpClientFactoryServiceCollectionExtensions;AddHttpClient;(Microsoft.Extensions.DependencyInjection.IServiceCollection);Argument[0];ReturnValue;value;dfc-generated | | Microsoft.Extensions.DependencyInjection;HttpClientFactoryServiceCollectionExtensions;AddHttpClient;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.String);Argument[0].Element;ReturnValue;taint;df-generated | @@ -921,6 +1006,9 @@ | Microsoft.Extensions.DependencyInjection;HttpClientFactoryServiceCollectionExtensions;AddHttpClient;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.String);Argument[1];ReturnValue;taint;df-generated | | Microsoft.Extensions.DependencyInjection;HttpClientFactoryServiceCollectionExtensions;AddHttpClient;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.String,System.Action);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.DependencyInjection;HttpClientFactoryServiceCollectionExtensions;AddHttpClient;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.String,System.Action);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.DependencyInjection;HttpClientFactoryServiceCollectionExtensions;ConfigureHttpClientDefaults;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;HttpClientFactoryServiceCollectionExtensions;ConfigureHttpClientDefaults;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.DependencyInjection;HttpClientFactoryServiceCollectionExtensions;ConfigureHttpClientDefaults;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;HttpClientFactoryServiceCollectionExtensions;ConfigureHttpClientDefaults;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.DependencyInjection;HttpJsonServiceExtensions;ConfigureHttpJsonOptions;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.DependencyInjection;HttpLoggingServicesExtensions;AddHttpLogging;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | @@ -935,12 +1023,24 @@ | Microsoft.Extensions.DependencyInjection;JsonProtocolDependencyInjectionExtensions;AddJsonProtocol;(TBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.DependencyInjection;LocalizationServiceCollectionExtensions;AddLocalization;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.DependencyInjection;LoggingServiceCollectionExtensions;AddLogging;(Microsoft.Extensions.DependencyInjection.IServiceCollection);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;LoggingServiceCollectionExtensions;AddLogging;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;LoggingServiceCollectionExtensions;AddLogging;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.DependencyInjection;LoggingServiceCollectionExtensions;AddLogging;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;LoggingServiceCollectionExtensions;AddLogging;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.DependencyInjection;MemoryCacheServiceCollectionExtensions;AddDistributedMemoryCache;(Microsoft.Extensions.DependencyInjection.IServiceCollection);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;MemoryCacheServiceCollectionExtensions;AddDistributedMemoryCache;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;MemoryCacheServiceCollectionExtensions;AddDistributedMemoryCache;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.DependencyInjection;MemoryCacheServiceCollectionExtensions;AddDistributedMemoryCache;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;MemoryCacheServiceCollectionExtensions;AddDistributedMemoryCache;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.DependencyInjection;MemoryCacheServiceCollectionExtensions;AddMemoryCache;(Microsoft.Extensions.DependencyInjection.IServiceCollection);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;MemoryCacheServiceCollectionExtensions;AddMemoryCache;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;MemoryCacheServiceCollectionExtensions;AddMemoryCache;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.DependencyInjection;MemoryCacheServiceCollectionExtensions;AddMemoryCache;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;MemoryCacheServiceCollectionExtensions;AddMemoryCache;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.DependencyInjection;MetricsServiceExtensions;AddMetrics;(Microsoft.Extensions.DependencyInjection.IServiceCollection);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;MetricsServiceExtensions;AddMetrics;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;MetricsServiceExtensions;AddMetrics;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.DependencyInjection;MetricsServiceExtensions;AddMetrics;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;MetricsServiceExtensions;AddMetrics;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.DependencyInjection;MvcCoreMvcBuilderExtensions;AddFormatterMappings;(Microsoft.Extensions.DependencyInjection.IMvcBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.DependencyInjection;MvcCoreMvcBuilderExtensions;AddJsonOptions;(Microsoft.Extensions.DependencyInjection.IMvcBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | @@ -1006,23 +1106,53 @@ | Microsoft.Extensions.DependencyInjection;ObjectFactory;BeginInvoke;(System.IServiceProvider,System.Object[],System.AsyncCallback,System.Object);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.DependencyInjection;ObjectFactory;BeginInvoke;(System.IServiceProvider,System.Object[],System.AsyncCallback,System.Object);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.DependencyInjection;OptionsBuilderConfigurationExtensions;Bind;(Microsoft.Extensions.Options.OptionsBuilder,Microsoft.Extensions.Configuration.IConfiguration);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;OptionsBuilderConfigurationExtensions;Bind;(Microsoft.Extensions.Options.OptionsBuilder,Microsoft.Extensions.Configuration.IConfiguration,System.Action);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;OptionsBuilderConfigurationExtensions;Bind;(Microsoft.Extensions.Options.OptionsBuilder,Microsoft.Extensions.Configuration.IConfiguration,System.Action);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.DependencyInjection;OptionsBuilderConfigurationExtensions;Bind;(Microsoft.Extensions.Options.OptionsBuilder,Microsoft.Extensions.Configuration.IConfiguration,System.Action);Argument[2];Argument[2].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;OptionsBuilderConfigurationExtensions;Bind;(Microsoft.Extensions.Options.OptionsBuilder,Microsoft.Extensions.Configuration.IConfiguration,System.Action);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.DependencyInjection;OptionsBuilderConfigurationExtensions;BindConfiguration;(Microsoft.Extensions.Options.OptionsBuilder,System.String,System.Action);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;OptionsBuilderConfigurationExtensions;BindConfiguration;(Microsoft.Extensions.Options.OptionsBuilder,System.String,System.Action);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.DependencyInjection;OptionsBuilderConfigurationExtensions;BindConfiguration;(Microsoft.Extensions.Options.OptionsBuilder,System.String,System.Action);Argument[2];Argument[2].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;OptionsBuilderConfigurationExtensions;BindConfiguration;(Microsoft.Extensions.Options.OptionsBuilder,System.String,System.Action);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.DependencyInjection;OptionsBuilderDataAnnotationsExtensions;ValidateDataAnnotations;(Microsoft.Extensions.Options.OptionsBuilder);Argument[0];ReturnValue;value;dfc-generated | | Microsoft.Extensions.DependencyInjection;OptionsBuilderExtensions;ValidateOnStart;(Microsoft.Extensions.Options.OptionsBuilder);Argument[0];ReturnValue;value;dfc-generated | | Microsoft.Extensions.DependencyInjection;OptionsConfigurationServiceCollectionExtensions;Configure;(Microsoft.Extensions.DependencyInjection.IServiceCollection,Microsoft.Extensions.Configuration.IConfiguration);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;OptionsConfigurationServiceCollectionExtensions;Configure;(Microsoft.Extensions.DependencyInjection.IServiceCollection,Microsoft.Extensions.Configuration.IConfiguration,System.Action);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;OptionsConfigurationServiceCollectionExtensions;Configure;(Microsoft.Extensions.DependencyInjection.IServiceCollection,Microsoft.Extensions.Configuration.IConfiguration,System.Action);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.DependencyInjection;OptionsConfigurationServiceCollectionExtensions;Configure;(Microsoft.Extensions.DependencyInjection.IServiceCollection,Microsoft.Extensions.Configuration.IConfiguration,System.Action);Argument[2];Argument[2].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;OptionsConfigurationServiceCollectionExtensions;Configure;(Microsoft.Extensions.DependencyInjection.IServiceCollection,Microsoft.Extensions.Configuration.IConfiguration,System.Action);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.DependencyInjection;OptionsConfigurationServiceCollectionExtensions;Configure;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.String,Microsoft.Extensions.Configuration.IConfiguration);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;OptionsConfigurationServiceCollectionExtensions;Configure;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.String,Microsoft.Extensions.Configuration.IConfiguration,System.Action);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;OptionsConfigurationServiceCollectionExtensions;Configure;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.String,Microsoft.Extensions.Configuration.IConfiguration,System.Action);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.DependencyInjection;OptionsConfigurationServiceCollectionExtensions;Configure;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.String,Microsoft.Extensions.Configuration.IConfiguration,System.Action);Argument[3];Argument[3].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;OptionsConfigurationServiceCollectionExtensions;Configure;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.String,Microsoft.Extensions.Configuration.IConfiguration,System.Action);Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.DependencyInjection;OptionsServiceCollectionExtensions;AddOptions;(Microsoft.Extensions.DependencyInjection.IServiceCollection);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;OptionsServiceCollectionExtensions;Configure;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;OptionsServiceCollectionExtensions;Configure;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.DependencyInjection;OptionsServiceCollectionExtensions;Configure;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;OptionsServiceCollectionExtensions;Configure;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.DependencyInjection;OptionsServiceCollectionExtensions;Configure;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.String,System.Action);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;OptionsServiceCollectionExtensions;Configure;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.String,System.Action);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.DependencyInjection;OptionsServiceCollectionExtensions;Configure;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.String,System.Action);Argument[2];Argument[2].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;OptionsServiceCollectionExtensions;Configure;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.String,System.Action);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.DependencyInjection;OptionsServiceCollectionExtensions;ConfigureAll;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;OptionsServiceCollectionExtensions;ConfigureAll;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.DependencyInjection;OptionsServiceCollectionExtensions;ConfigureAll;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;OptionsServiceCollectionExtensions;ConfigureAll;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.DependencyInjection;OptionsServiceCollectionExtensions;ConfigureOptions;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Object);Argument[0];ReturnValue;value;dfc-generated | | Microsoft.Extensions.DependencyInjection;OptionsServiceCollectionExtensions;ConfigureOptions;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type);Argument[0];ReturnValue;value;dfc-generated | | Microsoft.Extensions.DependencyInjection;OptionsServiceCollectionExtensions;ConfigureOptions;(Microsoft.Extensions.DependencyInjection.IServiceCollection);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;OptionsServiceCollectionExtensions;PostConfigure;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;OptionsServiceCollectionExtensions;PostConfigure;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.DependencyInjection;OptionsServiceCollectionExtensions;PostConfigure;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;OptionsServiceCollectionExtensions;PostConfigure;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.DependencyInjection;OptionsServiceCollectionExtensions;PostConfigure;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.String,System.Action);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;OptionsServiceCollectionExtensions;PostConfigure;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.String,System.Action);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.DependencyInjection;OptionsServiceCollectionExtensions;PostConfigure;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.String,System.Action);Argument[2];Argument[2].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;OptionsServiceCollectionExtensions;PostConfigure;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.String,System.Action);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.DependencyInjection;OptionsServiceCollectionExtensions;PostConfigureAll;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;OptionsServiceCollectionExtensions;PostConfigureAll;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.DependencyInjection;OptionsServiceCollectionExtensions;PostConfigureAll;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;OptionsServiceCollectionExtensions;PostConfigureAll;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.DependencyInjection;OutputCacheConventionBuilderExtensions;CacheOutput;(TBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.DependencyInjection;OutputCacheConventionBuilderExtensions;CacheOutput;(TBuilder,System.Action,System.Boolean);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | @@ -1041,82 +1171,205 @@ | Microsoft.Extensions.DependencyInjection;ServerSideBlazorBuilderExtensions;AddCircuitOptions;(Microsoft.Extensions.DependencyInjection.IServerSideBlazorBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.DependencyInjection;ServerSideBlazorBuilderExtensions;AddHubOptions;(Microsoft.Extensions.DependencyInjection.IServerSideBlazorBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.DependencyInjection;ServiceCollectionHostedServiceExtensions;AddHostedService;(Microsoft.Extensions.DependencyInjection.IServiceCollection);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceCollectionHostedServiceExtensions;AddHostedService;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Func);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceCollectionHostedServiceExtensions;AddHostedService;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Func);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.DependencyInjection;ServiceCollectionHostedServiceExtensions;AddHostedService;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;ServiceCollectionHostedServiceExtensions;AddHostedService;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddKeyedScoped;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Object);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddKeyedScoped;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Object,System.Func);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddKeyedScoped;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Object,System.Func);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddKeyedScoped;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Object,System.Func);Argument[3];Argument[3].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddKeyedScoped;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Object,System.Func);Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddKeyedScoped;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Object,System.Type);Argument[0];ReturnValue;value;dfc-generated | | Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddKeyedScoped;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Object);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddKeyedScoped;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Object,System.Func);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddKeyedScoped;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Object,System.Func);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddKeyedScoped;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Object,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddKeyedScoped;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Object,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddKeyedScoped;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Object);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddKeyedScoped;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Object,System.Func);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddKeyedScoped;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Object,System.Func);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddKeyedScoped;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Object,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddKeyedScoped;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Object,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddKeyedSingleton;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Object);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddKeyedSingleton;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Object,System.Func);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddKeyedSingleton;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Object,System.Func);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddKeyedSingleton;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Object,System.Func);Argument[3];Argument[3].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddKeyedSingleton;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Object,System.Func);Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddKeyedSingleton;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Object,System.Object);Argument[0];ReturnValue;value;dfc-generated | | Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddKeyedSingleton;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Object,System.Type);Argument[0];ReturnValue;value;dfc-generated | | Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddKeyedSingleton;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Object);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddKeyedSingleton;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Object,System.Func);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddKeyedSingleton;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Object,System.Func);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddKeyedSingleton;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Object,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddKeyedSingleton;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Object,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddKeyedSingleton;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Object);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddKeyedSingleton;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Object,System.Func);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddKeyedSingleton;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Object,System.Func);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddKeyedSingleton;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Object,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddKeyedSingleton;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Object,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddKeyedSingleton;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Object,TService);Argument[0];ReturnValue;value;dfc-generated | | Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddKeyedTransient;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Object);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddKeyedTransient;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Object,System.Func);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddKeyedTransient;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Object,System.Func);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddKeyedTransient;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Object,System.Func);Argument[3];Argument[3].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddKeyedTransient;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Object,System.Func);Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddKeyedTransient;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Object,System.Type);Argument[0];ReturnValue;value;dfc-generated | | Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddKeyedTransient;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Object);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddKeyedTransient;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Object,System.Func);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddKeyedTransient;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Object,System.Func);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddKeyedTransient;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Object,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddKeyedTransient;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Object,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddKeyedTransient;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Object);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddKeyedTransient;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Object,System.Func);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddKeyedTransient;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Object,System.Func);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddKeyedTransient;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Object,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddKeyedTransient;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Object,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddScoped;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddScoped;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Func);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddScoped;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Func);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddScoped;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddScoped;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddScoped;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Type);Argument[0];ReturnValue;value;dfc-generated | | Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddScoped;(Microsoft.Extensions.DependencyInjection.IServiceCollection);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddScoped;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Func);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddScoped;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Func);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddScoped;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddScoped;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddScoped;(Microsoft.Extensions.DependencyInjection.IServiceCollection);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddScoped;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Func);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddScoped;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Func);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddScoped;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddScoped;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddSingleton;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddSingleton;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Func);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddSingleton;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Func);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddSingleton;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddSingleton;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddSingleton;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Object);Argument[0];ReturnValue;value;dfc-generated | | Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddSingleton;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Type);Argument[0];ReturnValue;value;dfc-generated | | Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddSingleton;(Microsoft.Extensions.DependencyInjection.IServiceCollection);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddSingleton;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Func);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddSingleton;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Func);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddSingleton;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddSingleton;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddSingleton;(Microsoft.Extensions.DependencyInjection.IServiceCollection);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddSingleton;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Func);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddSingleton;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Func);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddSingleton;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddSingleton;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddSingleton;(Microsoft.Extensions.DependencyInjection.IServiceCollection,TService);Argument[0];ReturnValue;value;dfc-generated | | Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddTransient;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddTransient;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Func);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddTransient;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Func);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddTransient;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddTransient;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddTransient;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Type);Argument[0];ReturnValue;value;dfc-generated | | Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddTransient;(Microsoft.Extensions.DependencyInjection.IServiceCollection);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddTransient;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Func);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddTransient;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Func);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddTransient;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddTransient;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddTransient;(Microsoft.Extensions.DependencyInjection.IServiceCollection);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddTransient;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Func);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddTransient;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Func);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddTransient;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;AddTransient;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;Describe;(System.Type,System.Func,Microsoft.Extensions.DependencyInjection.ServiceLifetime);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;ServiceDescriptor;Describe;(System.Type,System.Func,Microsoft.Extensions.DependencyInjection.ServiceLifetime);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;Describe;(System.Type,System.Func,Microsoft.Extensions.DependencyInjection.ServiceLifetime);Argument[1];ReturnValue.SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationFactory];value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;Describe;(System.Type,System.Func,Microsoft.Extensions.DependencyInjection.ServiceLifetime);Argument[1];ReturnValue.SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationFactory];value;hq-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;DescribeKeyed;(System.Type,System.Object,System.Func,Microsoft.Extensions.DependencyInjection.ServiceLifetime);Argument[2];Argument[2].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;ServiceDescriptor;DescribeKeyed;(System.Type,System.Object,System.Func,Microsoft.Extensions.DependencyInjection.ServiceLifetime);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;DescribeKeyed;(System.Type,System.Object,System.Func,Microsoft.Extensions.DependencyInjection.ServiceLifetime);Argument[2];ReturnValue.SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationFactory];value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;DescribeKeyed;(System.Type,System.Object,System.Func,Microsoft.Extensions.DependencyInjection.ServiceLifetime);Argument[2];ReturnValue.SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationFactory];value;hq-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;KeyedScoped;(System.Type,System.Object,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;ServiceDescriptor;KeyedScoped;(System.Type,System.Object,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;KeyedScoped;(System.Type,System.Object,System.Func);Argument[2];ReturnValue.SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationFactory];value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;KeyedScoped;(System.Type,System.Object,System.Func);Argument[2];ReturnValue.SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationFactory];value;hq-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;KeyedScoped;(System.Object,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;ServiceDescriptor;KeyedScoped;(System.Object,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;KeyedScoped;(System.Object,System.Func);Argument[1];ReturnValue.SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationFactory];value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;KeyedScoped;(System.Object,System.Func);Argument[1];ReturnValue.SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationFactory];value;hq-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;KeyedScoped;(System.Object,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;ServiceDescriptor;KeyedScoped;(System.Object,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;KeyedScoped;(System.Object,System.Func);Argument[1];ReturnValue.SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationFactory];value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;KeyedScoped;(System.Object,System.Func);Argument[1];ReturnValue.SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationFactory];value;hq-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;KeyedSingleton;(System.Type,System.Object,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;ServiceDescriptor;KeyedSingleton;(System.Type,System.Object,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;KeyedSingleton;(System.Type,System.Object,System.Func);Argument[2];ReturnValue.SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationFactory];value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;KeyedSingleton;(System.Type,System.Object,System.Func);Argument[2];ReturnValue.SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationFactory];value;hq-generated | | Microsoft.Extensions.DependencyInjection;ServiceDescriptor;KeyedSingleton;(System.Type,System.Object,System.Object);Argument[2];ReturnValue.SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationInstance];value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;KeyedSingleton;(System.Object,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;ServiceDescriptor;KeyedSingleton;(System.Object,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;KeyedSingleton;(System.Object,System.Func);Argument[1];ReturnValue.SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationFactory];value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;KeyedSingleton;(System.Object,System.Func);Argument[1];ReturnValue.SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationFactory];value;hq-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;KeyedSingleton;(System.Object,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;ServiceDescriptor;KeyedSingleton;(System.Object,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;KeyedSingleton;(System.Object,System.Func);Argument[1];ReturnValue.SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationFactory];value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;KeyedSingleton;(System.Object,System.Func);Argument[1];ReturnValue.SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationFactory];value;hq-generated | | Microsoft.Extensions.DependencyInjection;ServiceDescriptor;KeyedSingleton;(System.Object,TService);Argument[1];ReturnValue.SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationInstance];value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;KeyedTransient;(System.Type,System.Object,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;ServiceDescriptor;KeyedTransient;(System.Type,System.Object,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;KeyedTransient;(System.Type,System.Object,System.Func);Argument[2];ReturnValue.SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationFactory];value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;KeyedTransient;(System.Type,System.Object,System.Func);Argument[2];ReturnValue.SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationFactory];value;hq-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;KeyedTransient;(System.Object,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;ServiceDescriptor;KeyedTransient;(System.Object,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;KeyedTransient;(System.Object,System.Func);Argument[1];ReturnValue.SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationFactory];value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;KeyedTransient;(System.Object,System.Func);Argument[1];ReturnValue.SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationFactory];value;hq-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;KeyedTransient;(System.Object,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;ServiceDescriptor;KeyedTransient;(System.Object,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;KeyedTransient;(System.Object,System.Func);Argument[1];ReturnValue.SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationFactory];value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;KeyedTransient;(System.Object,System.Func);Argument[1];ReturnValue.SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationFactory];value;hq-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;Scoped;(System.Type,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;ServiceDescriptor;Scoped;(System.Type,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;Scoped;(System.Type,System.Func);Argument[1];ReturnValue.SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationFactory];value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;Scoped;(System.Type,System.Func);Argument[1];ReturnValue.SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationFactory];value;hq-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;Scoped;(System.Func);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;ServiceDescriptor;Scoped;(System.Func);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;Scoped;(System.Func);Argument[0];ReturnValue.SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationFactory];value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;Scoped;(System.Func);Argument[0];ReturnValue.SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationFactory];value;hq-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;Scoped;(System.Func);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;ServiceDescriptor;Scoped;(System.Func);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;Scoped;(System.Func);Argument[0];ReturnValue.SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationFactory];value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;Scoped;(System.Func);Argument[0];ReturnValue.SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationFactory];value;hq-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;ServiceDescriptor;(System.Type,System.Func,Microsoft.Extensions.DependencyInjection.ServiceLifetime);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;ServiceDescriptor;ServiceDescriptor;(System.Type,System.Func,Microsoft.Extensions.DependencyInjection.ServiceLifetime);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;ServiceDescriptor;(System.Type,System.Func,Microsoft.Extensions.DependencyInjection.ServiceLifetime);Argument[1];Argument[this].SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationFactory];value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;ServiceDescriptor;(System.Type,System.Func,Microsoft.Extensions.DependencyInjection.ServiceLifetime);Argument[1];Argument[this].SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationFactory];value;hq-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;ServiceDescriptor;(System.Type,System.Object,System.Func,Microsoft.Extensions.DependencyInjection.ServiceLifetime);Argument[2];Argument[2].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;ServiceDescriptor;ServiceDescriptor;(System.Type,System.Object,System.Func,Microsoft.Extensions.DependencyInjection.ServiceLifetime);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;ServiceDescriptor;(System.Type,System.Object,System.Func,Microsoft.Extensions.DependencyInjection.ServiceLifetime);Argument[2];Argument[this].SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationFactory];value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;ServiceDescriptor;(System.Type,System.Object,System.Func,Microsoft.Extensions.DependencyInjection.ServiceLifetime);Argument[2];Argument[this].SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationFactory];value;hq-generated | | Microsoft.Extensions.DependencyInjection;ServiceDescriptor;ServiceDescriptor;(System.Type,System.Object,System.Object);Argument[2];Argument[this].SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationInstance];value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;Singleton;(System.Type,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;ServiceDescriptor;Singleton;(System.Type,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;Singleton;(System.Type,System.Func);Argument[1];ReturnValue.SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationFactory];value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;Singleton;(System.Type,System.Func);Argument[1];ReturnValue.SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationFactory];value;hq-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;Singleton;(System.Func);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;ServiceDescriptor;Singleton;(System.Func);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;Singleton;(System.Func);Argument[0];ReturnValue.SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationFactory];value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;Singleton;(System.Func);Argument[0];ReturnValue.SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationFactory];value;hq-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;Singleton;(System.Func);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;ServiceDescriptor;Singleton;(System.Func);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;Singleton;(System.Func);Argument[0];ReturnValue.SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationFactory];value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;Singleton;(System.Func);Argument[0];ReturnValue.SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationFactory];value;hq-generated | | Microsoft.Extensions.DependencyInjection;ServiceDescriptor;ToString;();Argument[this];ReturnValue;taint;df-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;Transient;(System.Type,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;ServiceDescriptor;Transient;(System.Type,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;Transient;(System.Type,System.Func);Argument[1];ReturnValue.SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationFactory];value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;Transient;(System.Type,System.Func);Argument[1];ReturnValue.SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationFactory];value;hq-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;Transient;(System.Func);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;ServiceDescriptor;Transient;(System.Func);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;Transient;(System.Func);Argument[0];ReturnValue.SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationFactory];value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;Transient;(System.Func);Argument[0];ReturnValue.SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationFactory];value;hq-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;Transient;(System.Func);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;ServiceDescriptor;Transient;(System.Func);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | -| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;get_ImplementationFactory;();Argument[this];ReturnValue;taint;df-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;Transient;(System.Func);Argument[0];ReturnValue.SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationFactory];value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;Transient;(System.Func);Argument[0];ReturnValue.SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationFactory];value;hq-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;get_ImplementationFactory;();Argument[this].SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationFactory];ReturnValue;value;dfc-generated | | Microsoft.Extensions.DependencyInjection;ServiceDescriptor;get_ImplementationInstance;();Argument[this].SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationInstance];ReturnValue;value;dfc-generated | -| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;get_KeyedImplementationFactory;();Argument[this];ReturnValue;taint;df-generated | +| Microsoft.Extensions.DependencyInjection;ServiceDescriptor;get_KeyedImplementationFactory;();Argument[this].SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationFactory];ReturnValue;value;dfc-generated | | Microsoft.Extensions.DependencyInjection;ServiceDescriptor;get_KeyedImplementationInstance;();Argument[this].SyntheticField[Microsoft.Extensions.DependencyInjection.ServiceDescriptor._implementationInstance];ReturnValue;value;dfc-generated | | Microsoft.Extensions.DependencyInjection;ServiceProviderServiceExtensions;GetRequiredService;(System.IServiceProvider,System.Type);Argument[0];ReturnValue;value;dfc-generated | | Microsoft.Extensions.DependencyInjection;ServiceProviderServiceExtensions;GetRequiredService;(System.IServiceProvider);Argument[0];ReturnValue;value;dfc-generated | @@ -1125,6 +1378,9 @@ | Microsoft.Extensions.DependencyInjection;SignalRDependencyInjectionExtensions;AddHubOptions;(Microsoft.AspNetCore.SignalR.ISignalRServerBuilder,System.Action>);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.DependencyInjection;SignalRDependencyInjectionExtensions;AddSignalR;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.DependencyInjection;SocketsHttpHandlerBuilderExtensions;Configure;(Microsoft.Extensions.DependencyInjection.ISocketsHttpHandlerBuilder,Microsoft.Extensions.Configuration.IConfiguration);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;SocketsHttpHandlerBuilderExtensions;Configure;(Microsoft.Extensions.DependencyInjection.ISocketsHttpHandlerBuilder,System.Action);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.DependencyInjection;SocketsHttpHandlerBuilderExtensions;Configure;(Microsoft.Extensions.DependencyInjection.ISocketsHttpHandlerBuilder,System.Action);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.DependencyInjection;SocketsHttpHandlerBuilderExtensions;Configure;(Microsoft.Extensions.DependencyInjection.ISocketsHttpHandlerBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.DependencyInjection;SocketsHttpHandlerBuilderExtensions;Configure;(Microsoft.Extensions.DependencyInjection.ISocketsHttpHandlerBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.DependencyInjection;TagHelperServicesExtensions;AddCacheTagHelperLimits;(Microsoft.Extensions.DependencyInjection.IMvcBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.DependencyInjection;TagHelperServicesExtensions;AddCacheTagHelperLimits;(Microsoft.Extensions.DependencyInjection.IMvcCoreBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | @@ -1195,7 +1451,6 @@ | Microsoft.Extensions.FileSystemGlobbing;InMemoryDirectoryInfo;GetFile;(System.String);Argument[this];ReturnValue.SyntheticField[Microsoft.Extensions.FileSystemGlobbing.Internal.InMemoryFileInfo._parent];value;dfc-generated | | Microsoft.Extensions.FileSystemGlobbing;Matcher;AddExclude;(System.String);Argument[this];ReturnValue;value;dfc-generated | | Microsoft.Extensions.FileSystemGlobbing;Matcher;AddInclude;(System.String);Argument[this];ReturnValue;value;dfc-generated | -| Microsoft.Extensions.FileSystemGlobbing;MatcherExtensions;GetResultsInFullPath;(Microsoft.Extensions.FileSystemGlobbing.Matcher,System.String);Argument[1];ReturnValue.Element;taint;dfc-generated | | Microsoft.Extensions.Hosting.Internal;ApplicationLifetime;ApplicationLifetime;(Microsoft.Extensions.Logging.ILogger);Argument[0];Argument[this];taint;df-generated | | Microsoft.Extensions.Hosting.Internal;ConsoleLifetime;ConsoleLifetime;(Microsoft.Extensions.Options.IOptions,Microsoft.Extensions.Hosting.IHostEnvironment,Microsoft.Extensions.Hosting.IHostApplicationLifetime,Microsoft.Extensions.Options.IOptions,Microsoft.Extensions.Logging.ILoggerFactory);Argument[0];Argument[this];taint;df-generated | | Microsoft.Extensions.Hosting.Internal;ConsoleLifetime;ConsoleLifetime;(Microsoft.Extensions.Options.IOptions,Microsoft.Extensions.Hosting.IHostEnvironment,Microsoft.Extensions.Hosting.IHostApplicationLifetime,Microsoft.Extensions.Options.IOptions,Microsoft.Extensions.Logging.ILoggerFactory);Argument[1];Argument[this];taint;df-generated | @@ -1213,21 +1468,57 @@ | Microsoft.Extensions.Hosting;Host;CreateEmptyApplicationBuilder;(Microsoft.Extensions.Hosting.HostApplicationBuilderSettings);Argument[0].Property[Microsoft.Extensions.Hosting.HostApplicationBuilderSettings.Args];ReturnValue.Property[Microsoft.Extensions.Hosting.HostApplicationBuilder.Configuration];taint;dfc-generated | | Microsoft.Extensions.Hosting;HostApplicationBuilder;HostApplicationBuilder;(Microsoft.Extensions.Hosting.HostApplicationBuilderSettings);Argument[0].Property[Microsoft.Extensions.Hosting.HostApplicationBuilderSettings.Args];Argument[this].Property[Microsoft.Extensions.Hosting.HostApplicationBuilder.Configuration];taint;dfc-generated | | Microsoft.Extensions.Hosting;HostApplicationBuilder;get_Configuration;();Argument[this].Property[Microsoft.Extensions.Hosting.HostApplicationBuilder.Configuration];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Hosting;HostingHostBuilderExtensions;ConfigureAppConfiguration;(Microsoft.Extensions.Hosting.IHostBuilder,System.Action);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Hosting;HostingHostBuilderExtensions;ConfigureAppConfiguration;(Microsoft.Extensions.Hosting.IHostBuilder,System.Action);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Hosting;HostingHostBuilderExtensions;ConfigureAppConfiguration;(Microsoft.Extensions.Hosting.IHostBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Hosting;HostingHostBuilderExtensions;ConfigureAppConfiguration;(Microsoft.Extensions.Hosting.IHostBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Hosting;HostingHostBuilderExtensions;ConfigureContainer;(Microsoft.Extensions.Hosting.IHostBuilder,System.Action);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Hosting;HostingHostBuilderExtensions;ConfigureContainer;(Microsoft.Extensions.Hosting.IHostBuilder,System.Action);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Hosting;HostingHostBuilderExtensions;ConfigureContainer;(Microsoft.Extensions.Hosting.IHostBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Hosting;HostingHostBuilderExtensions;ConfigureContainer;(Microsoft.Extensions.Hosting.IHostBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.Hosting;HostingHostBuilderExtensions;ConfigureDefaults;(Microsoft.Extensions.Hosting.IHostBuilder,System.String[]);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Hosting;HostingHostBuilderExtensions;ConfigureHostOptions;(Microsoft.Extensions.Hosting.IHostBuilder,System.Action);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Hosting;HostingHostBuilderExtensions;ConfigureHostOptions;(Microsoft.Extensions.Hosting.IHostBuilder,System.Action);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Hosting;HostingHostBuilderExtensions;ConfigureHostOptions;(Microsoft.Extensions.Hosting.IHostBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Hosting;HostingHostBuilderExtensions;ConfigureHostOptions;(Microsoft.Extensions.Hosting.IHostBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Hosting;HostingHostBuilderExtensions;ConfigureHostOptions;(Microsoft.Extensions.Hosting.IHostBuilder,System.Action);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Hosting;HostingHostBuilderExtensions;ConfigureHostOptions;(Microsoft.Extensions.Hosting.IHostBuilder,System.Action);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Hosting;HostingHostBuilderExtensions;ConfigureHostOptions;(Microsoft.Extensions.Hosting.IHostBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Hosting;HostingHostBuilderExtensions;ConfigureHostOptions;(Microsoft.Extensions.Hosting.IHostBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Hosting;HostingHostBuilderExtensions;ConfigureLogging;(Microsoft.Extensions.Hosting.IHostBuilder,System.Action);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Hosting;HostingHostBuilderExtensions;ConfigureLogging;(Microsoft.Extensions.Hosting.IHostBuilder,System.Action);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Hosting;HostingHostBuilderExtensions;ConfigureLogging;(Microsoft.Extensions.Hosting.IHostBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Hosting;HostingHostBuilderExtensions;ConfigureLogging;(Microsoft.Extensions.Hosting.IHostBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Hosting;HostingHostBuilderExtensions;ConfigureLogging;(Microsoft.Extensions.Hosting.IHostBuilder,System.Action);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Hosting;HostingHostBuilderExtensions;ConfigureLogging;(Microsoft.Extensions.Hosting.IHostBuilder,System.Action);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Hosting;HostingHostBuilderExtensions;ConfigureLogging;(Microsoft.Extensions.Hosting.IHostBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Hosting;HostingHostBuilderExtensions;ConfigureLogging;(Microsoft.Extensions.Hosting.IHostBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Hosting;HostingHostBuilderExtensions;ConfigureMetrics;(Microsoft.Extensions.Hosting.IHostBuilder,System.Action);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Hosting;HostingHostBuilderExtensions;ConfigureMetrics;(Microsoft.Extensions.Hosting.IHostBuilder,System.Action);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Hosting;HostingHostBuilderExtensions;ConfigureMetrics;(Microsoft.Extensions.Hosting.IHostBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Hosting;HostingHostBuilderExtensions;ConfigureMetrics;(Microsoft.Extensions.Hosting.IHostBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Hosting;HostingHostBuilderExtensions;ConfigureMetrics;(Microsoft.Extensions.Hosting.IHostBuilder,System.Action);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Hosting;HostingHostBuilderExtensions;ConfigureMetrics;(Microsoft.Extensions.Hosting.IHostBuilder,System.Action);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Hosting;HostingHostBuilderExtensions;ConfigureMetrics;(Microsoft.Extensions.Hosting.IHostBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Hosting;HostingHostBuilderExtensions;ConfigureMetrics;(Microsoft.Extensions.Hosting.IHostBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Hosting;HostingHostBuilderExtensions;ConfigureServices;(Microsoft.Extensions.Hosting.IHostBuilder,System.Action);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Hosting;HostingHostBuilderExtensions;ConfigureServices;(Microsoft.Extensions.Hosting.IHostBuilder,System.Action);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Hosting;HostingHostBuilderExtensions;ConfigureServices;(Microsoft.Extensions.Hosting.IHostBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Hosting;HostingHostBuilderExtensions;ConfigureServices;(Microsoft.Extensions.Hosting.IHostBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.Hosting;HostingHostBuilderExtensions;RunConsoleAsync;(Microsoft.Extensions.Hosting.IHostBuilder,System.Action,System.Threading.CancellationToken);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.Hosting;HostingHostBuilderExtensions;UseConsoleLifetime;(Microsoft.Extensions.Hosting.IHostBuilder);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Hosting;HostingHostBuilderExtensions;UseConsoleLifetime;(Microsoft.Extensions.Hosting.IHostBuilder,System.Action);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Hosting;HostingHostBuilderExtensions;UseConsoleLifetime;(Microsoft.Extensions.Hosting.IHostBuilder,System.Action);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Hosting;HostingHostBuilderExtensions;UseConsoleLifetime;(Microsoft.Extensions.Hosting.IHostBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Hosting;HostingHostBuilderExtensions;UseConsoleLifetime;(Microsoft.Extensions.Hosting.IHostBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.Hosting;HostingHostBuilderExtensions;UseContentRoot;(Microsoft.Extensions.Hosting.IHostBuilder,System.String);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Hosting;HostingHostBuilderExtensions;UseDefaultServiceProvider;(Microsoft.Extensions.Hosting.IHostBuilder,System.Action);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Hosting;HostingHostBuilderExtensions;UseDefaultServiceProvider;(Microsoft.Extensions.Hosting.IHostBuilder,System.Action);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Hosting;HostingHostBuilderExtensions;UseDefaultServiceProvider;(Microsoft.Extensions.Hosting.IHostBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Hosting;HostingHostBuilderExtensions;UseDefaultServiceProvider;(Microsoft.Extensions.Hosting.IHostBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Hosting;HostingHostBuilderExtensions;UseDefaultServiceProvider;(Microsoft.Extensions.Hosting.IHostBuilder,System.Action);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Hosting;HostingHostBuilderExtensions;UseDefaultServiceProvider;(Microsoft.Extensions.Hosting.IHostBuilder,System.Action);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Hosting;HostingHostBuilderExtensions;UseDefaultServiceProvider;(Microsoft.Extensions.Hosting.IHostBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Hosting;HostingHostBuilderExtensions;UseDefaultServiceProvider;(Microsoft.Extensions.Hosting.IHostBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.Hosting;HostingHostBuilderExtensions;UseEnvironment;(Microsoft.Extensions.Hosting.IHostBuilder,System.String);Argument[0];ReturnValue;value;dfc-generated | | Microsoft.Extensions.Hosting;IApplicationLifetime;get_ApplicationStarted;();Argument[this];ReturnValue;taint;df-generated | @@ -1242,12 +1533,27 @@ | Microsoft.Extensions.Hosting;IHostApplicationLifetime;get_ApplicationStarted;();Argument[this];ReturnValue;taint;df-generated | | Microsoft.Extensions.Hosting;IHostApplicationLifetime;get_ApplicationStopped;();Argument[this];ReturnValue;taint;df-generated | | Microsoft.Extensions.Hosting;IHostApplicationLifetime;get_ApplicationStopping;();Argument[this];ReturnValue;taint;df-generated | +| Microsoft.Extensions.Hosting;IHostBuilder;ConfigureAppConfiguration;(System.Action);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Hosting;IHostBuilder;ConfigureAppConfiguration;(System.Action);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Hosting;IHostBuilder;ConfigureAppConfiguration;(System.Action);Argument[this];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Hosting;IHostBuilder;ConfigureAppConfiguration;(System.Action);Argument[this];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Hosting;IHostBuilder;ConfigureContainer;(System.Action);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Hosting;IHostBuilder;ConfigureContainer;(System.Action);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Hosting;IHostBuilder;ConfigureContainer;(System.Action);Argument[this];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Hosting;IHostBuilder;ConfigureContainer;(System.Action);Argument[this];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Hosting;IHostBuilder;ConfigureHostConfiguration;(System.Action);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Hosting;IHostBuilder;ConfigureHostConfiguration;(System.Action);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Hosting;IHostBuilder;ConfigureHostConfiguration;(System.Action);Argument[this];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Hosting;IHostBuilder;ConfigureHostConfiguration;(System.Action);Argument[this];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Hosting;IHostBuilder;ConfigureServices;(System.Action);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Hosting;IHostBuilder;ConfigureServices;(System.Action);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Hosting;IHostBuilder;ConfigureServices;(System.Action);Argument[this];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Hosting;IHostBuilder;ConfigureServices;(System.Action);Argument[this];ReturnValue;value;hq-generated | | Microsoft.Extensions.Hosting;IHostBuilder;UseServiceProviderFactory;(Microsoft.Extensions.DependencyInjection.IServiceProviderFactory);Argument[this];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Hosting;IHostBuilder;UseServiceProviderFactory;(System.Func>);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Hosting;IHostBuilder;UseServiceProviderFactory;(System.Func>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Hosting;IHostBuilder;UseServiceProviderFactory;(System.Func>);Argument[this];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Hosting;IHostBuilder;UseServiceProviderFactory;(System.Func>);Argument[this];ReturnValue;value;hq-generated | | Microsoft.Extensions.Hosting;IHostLifetime;WaitForStartAsync;(System.Threading.CancellationToken);Argument[this];ReturnValue;taint;df-generated | | Microsoft.Extensions.Hosting;IHostedService;StartAsync;(System.Threading.CancellationToken);Argument[this];ReturnValue;taint;df-generated | | Microsoft.Extensions.Http.Logging;LoggingHttpMessageHandler;LoggingHttpMessageHandler;(Microsoft.Extensions.Logging.ILogger);Argument[0];Argument[this];taint;df-generated | @@ -1278,20 +1584,44 @@ | Microsoft.Extensions.Logging;ConsoleLoggerExtensions;AddConsole;(Microsoft.Extensions.Logging.ILoggerFactory,Microsoft.Extensions.Logging.LogLevel);Argument[0];ReturnValue;value;dfc-generated | | Microsoft.Extensions.Logging;ConsoleLoggerExtensions;AddConsole;(Microsoft.Extensions.Logging.ILoggerFactory,Microsoft.Extensions.Logging.LogLevel,System.Boolean);Argument[0];ReturnValue;value;dfc-generated | | Microsoft.Extensions.Logging;ConsoleLoggerExtensions;AddConsole;(Microsoft.Extensions.Logging.ILoggerFactory,System.Boolean);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Logging;ConsoleLoggerExtensions;AddConsole;(Microsoft.Extensions.Logging.ILoggerFactory,System.Func);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Logging;ConsoleLoggerExtensions;AddConsole;(Microsoft.Extensions.Logging.ILoggerFactory,System.Func);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Logging;ConsoleLoggerExtensions;AddConsole;(Microsoft.Extensions.Logging.ILoggerFactory,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Logging;ConsoleLoggerExtensions;AddConsole;(Microsoft.Extensions.Logging.ILoggerFactory,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Logging;ConsoleLoggerExtensions;AddConsole;(Microsoft.Extensions.Logging.ILoggerFactory,System.Func,System.Boolean);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Logging;ConsoleLoggerExtensions;AddConsole;(Microsoft.Extensions.Logging.ILoggerFactory,System.Func,System.Boolean);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Logging;ConsoleLoggerExtensions;AddConsole;(Microsoft.Extensions.Logging.ILoggerFactory,System.Func,System.Boolean);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Logging;ConsoleLoggerExtensions;AddConsole;(Microsoft.Extensions.Logging.ILoggerFactory,System.Func,System.Boolean);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.Logging;ConsoleLoggerExtensions;AddConsole;(Microsoft.Extensions.Logging.ILoggingBuilder);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Logging;ConsoleLoggerExtensions;AddConsole;(Microsoft.Extensions.Logging.ILoggingBuilder,System.Action);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Logging;ConsoleLoggerExtensions;AddConsole;(Microsoft.Extensions.Logging.ILoggingBuilder,System.Action);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Logging;ConsoleLoggerExtensions;AddConsole;(Microsoft.Extensions.Logging.ILoggingBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Logging;ConsoleLoggerExtensions;AddConsole;(Microsoft.Extensions.Logging.ILoggingBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.Logging;ConsoleLoggerExtensions;AddConsoleFormatter;(Microsoft.Extensions.Logging.ILoggingBuilder);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Logging;ConsoleLoggerExtensions;AddConsoleFormatter;(Microsoft.Extensions.Logging.ILoggingBuilder,System.Action);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Logging;ConsoleLoggerExtensions;AddConsoleFormatter;(Microsoft.Extensions.Logging.ILoggingBuilder,System.Action);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Logging;ConsoleLoggerExtensions;AddConsoleFormatter;(Microsoft.Extensions.Logging.ILoggingBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Logging;ConsoleLoggerExtensions;AddConsoleFormatter;(Microsoft.Extensions.Logging.ILoggingBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.Logging;ConsoleLoggerExtensions;AddJsonConsole;(Microsoft.Extensions.Logging.ILoggingBuilder);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Logging;ConsoleLoggerExtensions;AddJsonConsole;(Microsoft.Extensions.Logging.ILoggingBuilder,System.Action);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Logging;ConsoleLoggerExtensions;AddJsonConsole;(Microsoft.Extensions.Logging.ILoggingBuilder,System.Action);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Logging;ConsoleLoggerExtensions;AddJsonConsole;(Microsoft.Extensions.Logging.ILoggingBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Logging;ConsoleLoggerExtensions;AddJsonConsole;(Microsoft.Extensions.Logging.ILoggingBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.Logging;ConsoleLoggerExtensions;AddSimpleConsole;(Microsoft.Extensions.Logging.ILoggingBuilder);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Logging;ConsoleLoggerExtensions;AddSimpleConsole;(Microsoft.Extensions.Logging.ILoggingBuilder,System.Action);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Logging;ConsoleLoggerExtensions;AddSimpleConsole;(Microsoft.Extensions.Logging.ILoggingBuilder,System.Action);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Logging;ConsoleLoggerExtensions;AddSimpleConsole;(Microsoft.Extensions.Logging.ILoggingBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Logging;ConsoleLoggerExtensions;AddSimpleConsole;(Microsoft.Extensions.Logging.ILoggingBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.Logging;ConsoleLoggerExtensions;AddSystemdConsole;(Microsoft.Extensions.Logging.ILoggingBuilder);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Logging;ConsoleLoggerExtensions;AddSystemdConsole;(Microsoft.Extensions.Logging.ILoggingBuilder,System.Action);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Logging;ConsoleLoggerExtensions;AddSystemdConsole;(Microsoft.Extensions.Logging.ILoggingBuilder,System.Action);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Logging;ConsoleLoggerExtensions;AddSystemdConsole;(Microsoft.Extensions.Logging.ILoggingBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Logging;ConsoleLoggerExtensions;AddSystemdConsole;(Microsoft.Extensions.Logging.ILoggingBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.Logging;DebugLoggerFactoryExtensions;AddDebug;(Microsoft.Extensions.Logging.ILoggerFactory);Argument[0];ReturnValue;value;dfc-generated | | Microsoft.Extensions.Logging;DebugLoggerFactoryExtensions;AddDebug;(Microsoft.Extensions.Logging.ILoggerFactory,Microsoft.Extensions.Logging.LogLevel);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Logging;DebugLoggerFactoryExtensions;AddDebug;(Microsoft.Extensions.Logging.ILoggerFactory,System.Func);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Logging;DebugLoggerFactoryExtensions;AddDebug;(Microsoft.Extensions.Logging.ILoggerFactory,System.Func);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Logging;DebugLoggerFactoryExtensions;AddDebug;(Microsoft.Extensions.Logging.ILoggerFactory,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Logging;DebugLoggerFactoryExtensions;AddDebug;(Microsoft.Extensions.Logging.ILoggerFactory,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.Logging;DebugLoggerFactoryExtensions;AddDebug;(Microsoft.Extensions.Logging.ILoggingBuilder);Argument[0];ReturnValue;value;dfc-generated | | Microsoft.Extensions.Logging;EventId;ToString;();Argument[this].Property[Microsoft.Extensions.Logging.EventId.Name];ReturnValue;value;dfc-generated | @@ -1300,32 +1630,85 @@ | Microsoft.Extensions.Logging;EventLoggerFactoryExtensions;AddEventLog;(Microsoft.Extensions.Logging.ILoggerFactory,Microsoft.Extensions.Logging.LogLevel);Argument[0];ReturnValue;value;dfc-generated | | Microsoft.Extensions.Logging;EventLoggerFactoryExtensions;AddEventLog;(Microsoft.Extensions.Logging.ILoggingBuilder);Argument[0];ReturnValue;value;dfc-generated | | Microsoft.Extensions.Logging;EventLoggerFactoryExtensions;AddEventLog;(Microsoft.Extensions.Logging.ILoggingBuilder,Microsoft.Extensions.Logging.EventLog.EventLogSettings);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Logging;EventLoggerFactoryExtensions;AddEventLog;(Microsoft.Extensions.Logging.ILoggingBuilder,System.Action);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Logging;EventLoggerFactoryExtensions;AddEventLog;(Microsoft.Extensions.Logging.ILoggingBuilder,System.Action);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Logging;EventLoggerFactoryExtensions;AddEventLog;(Microsoft.Extensions.Logging.ILoggingBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Logging;EventLoggerFactoryExtensions;AddEventLog;(Microsoft.Extensions.Logging.ILoggingBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.Logging;EventSourceLoggerFactoryExtensions;AddEventSourceLogger;(Microsoft.Extensions.Logging.ILoggerFactory);Argument[0];ReturnValue;value;dfc-generated | | Microsoft.Extensions.Logging;EventSourceLoggerFactoryExtensions;AddEventSourceLogger;(Microsoft.Extensions.Logging.ILoggingBuilder);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;AddFilter;(Microsoft.Extensions.Logging.ILoggingBuilder,System.Func);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;AddFilter;(Microsoft.Extensions.Logging.ILoggingBuilder,System.Func);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;AddFilter;(Microsoft.Extensions.Logging.ILoggingBuilder,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;AddFilter;(Microsoft.Extensions.Logging.ILoggingBuilder,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;AddFilter;(Microsoft.Extensions.Logging.ILoggingBuilder,System.Func);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;AddFilter;(Microsoft.Extensions.Logging.ILoggingBuilder,System.Func);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;AddFilter;(Microsoft.Extensions.Logging.ILoggingBuilder,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;AddFilter;(Microsoft.Extensions.Logging.ILoggingBuilder,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;AddFilter;(Microsoft.Extensions.Logging.ILoggingBuilder,System.Func);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;AddFilter;(Microsoft.Extensions.Logging.ILoggingBuilder,System.Func);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;AddFilter;(Microsoft.Extensions.Logging.ILoggingBuilder,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;AddFilter;(Microsoft.Extensions.Logging.ILoggingBuilder,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;AddFilter;(Microsoft.Extensions.Logging.ILoggingBuilder,System.String,Microsoft.Extensions.Logging.LogLevel);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;AddFilter;(Microsoft.Extensions.Logging.ILoggingBuilder,System.String,System.Func);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;AddFilter;(Microsoft.Extensions.Logging.ILoggingBuilder,System.String,System.Func);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;AddFilter;(Microsoft.Extensions.Logging.ILoggingBuilder,System.String,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;AddFilter;(Microsoft.Extensions.Logging.ILoggingBuilder,System.String,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;AddFilter;(Microsoft.Extensions.Logging.LoggerFilterOptions,System.Func);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;AddFilter;(Microsoft.Extensions.Logging.LoggerFilterOptions,System.Func);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;AddFilter;(Microsoft.Extensions.Logging.LoggerFilterOptions,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;AddFilter;(Microsoft.Extensions.Logging.LoggerFilterOptions,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;AddFilter;(Microsoft.Extensions.Logging.LoggerFilterOptions,System.Func);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;AddFilter;(Microsoft.Extensions.Logging.LoggerFilterOptions,System.Func);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;AddFilter;(Microsoft.Extensions.Logging.LoggerFilterOptions,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;AddFilter;(Microsoft.Extensions.Logging.LoggerFilterOptions,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;AddFilter;(Microsoft.Extensions.Logging.LoggerFilterOptions,System.Func);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;AddFilter;(Microsoft.Extensions.Logging.LoggerFilterOptions,System.Func);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;AddFilter;(Microsoft.Extensions.Logging.LoggerFilterOptions,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;AddFilter;(Microsoft.Extensions.Logging.LoggerFilterOptions,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;AddFilter;(Microsoft.Extensions.Logging.LoggerFilterOptions,System.String,Microsoft.Extensions.Logging.LogLevel);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;AddFilter;(Microsoft.Extensions.Logging.LoggerFilterOptions,System.String,System.Func);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;AddFilter;(Microsoft.Extensions.Logging.LoggerFilterOptions,System.String,System.Func);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;AddFilter;(Microsoft.Extensions.Logging.LoggerFilterOptions,System.String,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;AddFilter;(Microsoft.Extensions.Logging.LoggerFilterOptions,System.String,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;AddFilter;(Microsoft.Extensions.Logging.ILoggingBuilder,System.Func);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;AddFilter;(Microsoft.Extensions.Logging.ILoggingBuilder,System.Func);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;AddFilter;(Microsoft.Extensions.Logging.ILoggingBuilder,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;AddFilter;(Microsoft.Extensions.Logging.ILoggingBuilder,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;AddFilter;(Microsoft.Extensions.Logging.ILoggingBuilder,System.Func);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;AddFilter;(Microsoft.Extensions.Logging.ILoggingBuilder,System.Func);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;AddFilter;(Microsoft.Extensions.Logging.ILoggingBuilder,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;AddFilter;(Microsoft.Extensions.Logging.ILoggingBuilder,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;AddFilter;(Microsoft.Extensions.Logging.ILoggingBuilder,System.String,Microsoft.Extensions.Logging.LogLevel);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;AddFilter;(Microsoft.Extensions.Logging.ILoggingBuilder,System.String,System.Func);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;AddFilter;(Microsoft.Extensions.Logging.ILoggingBuilder,System.String,System.Func);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;AddFilter;(Microsoft.Extensions.Logging.ILoggingBuilder,System.String,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;AddFilter;(Microsoft.Extensions.Logging.ILoggingBuilder,System.String,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;AddFilter;(Microsoft.Extensions.Logging.LoggerFilterOptions,System.Func);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;AddFilter;(Microsoft.Extensions.Logging.LoggerFilterOptions,System.Func);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;AddFilter;(Microsoft.Extensions.Logging.LoggerFilterOptions,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;AddFilter;(Microsoft.Extensions.Logging.LoggerFilterOptions,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;AddFilter;(Microsoft.Extensions.Logging.LoggerFilterOptions,System.Func);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;AddFilter;(Microsoft.Extensions.Logging.LoggerFilterOptions,System.Func);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;AddFilter;(Microsoft.Extensions.Logging.LoggerFilterOptions,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;AddFilter;(Microsoft.Extensions.Logging.LoggerFilterOptions,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;AddFilter;(Microsoft.Extensions.Logging.LoggerFilterOptions,System.String,Microsoft.Extensions.Logging.LogLevel);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;AddFilter;(Microsoft.Extensions.Logging.LoggerFilterOptions,System.String,System.Func);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;AddFilter;(Microsoft.Extensions.Logging.LoggerFilterOptions,System.String,System.Func);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;AddFilter;(Microsoft.Extensions.Logging.LoggerFilterOptions,System.String,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;AddFilter;(Microsoft.Extensions.Logging.LoggerFilterOptions,System.String,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Logging;IExternalScopeProvider;ForEachScope;(System.Action,TState);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Logging;IExternalScopeProvider;ForEachScope;(System.Action,TState);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Logging;IExternalScopeProvider;ForEachScope;(System.Action,TState);Argument[1];Argument[0].Parameter[1];value;dfc-generated | +| Microsoft.Extensions.Logging;IExternalScopeProvider;ForEachScope;(System.Action,TState);Argument[1];Argument[0].Parameter[1];value;hq-generated | | Microsoft.Extensions.Logging;IExternalScopeProvider;Push;(System.Object);Argument[0];ReturnValue;taint;df-generated | | Microsoft.Extensions.Logging;IExternalScopeProvider;Push;(System.Object);Argument[this];ReturnValue;taint;df-generated | | Microsoft.Extensions.Logging;ILogger;BeginScope;(TState);Argument[0];ReturnValue;taint;df-generated | | Microsoft.Extensions.Logging;ILogger;BeginScope;(TState);Argument[this];ReturnValue;taint;df-generated | +| Microsoft.Extensions.Logging;ILogger;Log;(Microsoft.Extensions.Logging.LogLevel,Microsoft.Extensions.Logging.EventId,TState,System.Exception,System.Func);Argument[2];Argument[4].Parameter[0];value;dfc-generated | +| Microsoft.Extensions.Logging;ILogger;Log;(Microsoft.Extensions.Logging.LogLevel,Microsoft.Extensions.Logging.EventId,TState,System.Exception,System.Func);Argument[2];Argument[4].Parameter[0];value;hq-generated | +| Microsoft.Extensions.Logging;ILogger;Log;(Microsoft.Extensions.Logging.LogLevel,Microsoft.Extensions.Logging.EventId,TState,System.Exception,System.Func);Argument[3];Argument[4].Parameter[1];value;dfc-generated | +| Microsoft.Extensions.Logging;ILogger;Log;(Microsoft.Extensions.Logging.LogLevel,Microsoft.Extensions.Logging.EventId,TState,System.Exception,System.Func);Argument[3];Argument[4].Parameter[1];value;hq-generated | +| Microsoft.Extensions.Logging;ILogger;Log;(Microsoft.Extensions.Logging.LogLevel,Microsoft.Extensions.Logging.EventId,TState,System.Exception,System.Func);Argument[4];Argument[4].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Logging;ILogger;Log;(Microsoft.Extensions.Logging.LogLevel,Microsoft.Extensions.Logging.EventId,TState,System.Exception,System.Func);Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.Logging;ILoggerFactory;AddProvider;(Microsoft.Extensions.Logging.ILoggerProvider);Argument[this];Argument[0];taint;df-generated | | Microsoft.Extensions.Logging;ILoggerFactory;CreateLogger;(System.String);Argument[0];ReturnValue;taint;df-generated | @@ -1346,6 +1729,9 @@ | Microsoft.Extensions.Logging;LoggingBuilderExtensions;AddConfiguration;(Microsoft.Extensions.Logging.ILoggingBuilder,Microsoft.Extensions.Configuration.IConfiguration);Argument[0];ReturnValue;value;dfc-generated | | Microsoft.Extensions.Logging;LoggingBuilderExtensions;AddProvider;(Microsoft.Extensions.Logging.ILoggingBuilder,Microsoft.Extensions.Logging.ILoggerProvider);Argument[0];ReturnValue;value;dfc-generated | | Microsoft.Extensions.Logging;LoggingBuilderExtensions;ClearProviders;(Microsoft.Extensions.Logging.ILoggingBuilder);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Logging;LoggingBuilderExtensions;Configure;(Microsoft.Extensions.Logging.ILoggingBuilder,System.Action);Argument[0];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Logging;LoggingBuilderExtensions;Configure;(Microsoft.Extensions.Logging.ILoggingBuilder,System.Action);Argument[0];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Logging;LoggingBuilderExtensions;Configure;(Microsoft.Extensions.Logging.ILoggingBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Logging;LoggingBuilderExtensions;Configure;(Microsoft.Extensions.Logging.ILoggingBuilder,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.Logging;LoggingBuilderExtensions;SetMinimumLevel;(Microsoft.Extensions.Logging.ILoggingBuilder,Microsoft.Extensions.Logging.LogLevel);Argument[0];ReturnValue;value;dfc-generated | | Microsoft.Extensions.Logging;TraceSourceFactoryExtensions;AddTraceSource;(Microsoft.Extensions.Logging.ILoggerFactory,System.Diagnostics.SourceSwitch);Argument[0];ReturnValue;value;dfc-generated | @@ -1358,40 +1744,125 @@ | Microsoft.Extensions.Logging;TraceSourceFactoryExtensions;AddTraceSource;(Microsoft.Extensions.Logging.ILoggingBuilder,System.String,System.Diagnostics.TraceListener);Argument[0];ReturnValue;value;dfc-generated | | Microsoft.Extensions.Options;ConfigurationChangeTokenSource;ConfigurationChangeTokenSource;(System.String,Microsoft.Extensions.Configuration.IConfiguration);Argument[1];Argument[this];taint;df-generated | | Microsoft.Extensions.Options;ConfigurationChangeTokenSource;GetChangeToken;();Argument[this];ReturnValue;taint;df-generated | +| Microsoft.Extensions.Options;ConfigureNamedOptions;Configure;(System.String,TOptions);Argument[1];Argument[this];taint;df-generated | +| Microsoft.Extensions.Options;ConfigureNamedOptions;Configure;(TOptions);Argument[0];Argument[this];taint;df-generated | | Microsoft.Extensions.Options;ConfigureNamedOptions;ConfigureNamedOptions;(System.String,TDep1,TDep2,TDep3,TDep4,TDep5,System.Action);Argument[6];Argument[6].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Options;ConfigureNamedOptions;Configure;(System.String,TOptions);Argument[1];Argument[this];taint;df-generated | +| Microsoft.Extensions.Options;ConfigureNamedOptions;Configure;(TOptions);Argument[0];Argument[this];taint;df-generated | | Microsoft.Extensions.Options;ConfigureNamedOptions;ConfigureNamedOptions;(System.String,TDep1,TDep2,TDep3,TDep4,System.Action);Argument[5];Argument[5].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Options;ConfigureNamedOptions;Configure;(System.String,TOptions);Argument[1];Argument[this];taint;df-generated | +| Microsoft.Extensions.Options;ConfigureNamedOptions;Configure;(TOptions);Argument[0];Argument[this];taint;df-generated | | Microsoft.Extensions.Options;ConfigureNamedOptions;ConfigureNamedOptions;(System.String,TDep1,TDep2,TDep3,System.Action);Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Options;ConfigureNamedOptions;Configure;(System.String,TOptions);Argument[1];Argument[this];taint;df-generated | +| Microsoft.Extensions.Options;ConfigureNamedOptions;Configure;(TOptions);Argument[0];Argument[this];taint;df-generated | | Microsoft.Extensions.Options;ConfigureNamedOptions;ConfigureNamedOptions;(System.String,TDep1,TDep2,System.Action);Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Options;ConfigureNamedOptions;Configure;(System.String,TOptions);Argument[1];Argument[this];taint;df-generated | +| Microsoft.Extensions.Options;ConfigureNamedOptions;Configure;(TOptions);Argument[0];Argument[this];taint;df-generated | | Microsoft.Extensions.Options;ConfigureNamedOptions;ConfigureNamedOptions;(System.String,TDep,System.Action);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Options;ConfigureNamedOptions;Configure;(System.String,TOptions);Argument[1];Argument[this];taint;df-generated | +| Microsoft.Extensions.Options;ConfigureNamedOptions;Configure;(TOptions);Argument[0];Argument[this];taint;df-generated | | Microsoft.Extensions.Options;ConfigureNamedOptions;ConfigureNamedOptions;(System.String,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Options;ConfigureOptions;Configure;(TOptions);Argument[0];Argument[this];taint;df-generated | | Microsoft.Extensions.Options;ConfigureOptions;ConfigureOptions;(System.Action);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.Options;IOptionsMonitor;OnChange;(System.Action);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.Options;IOptionsMonitorCache;GetOrAdd;(System.String,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.Options;NamedConfigureFromConfigurationOptions;NamedConfigureFromConfigurationOptions;(System.String,Microsoft.Extensions.Configuration.IConfiguration,System.Action);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Options;OptionsBuilder;Configure;(System.Action);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Options;OptionsBuilder;Configure;(System.Action);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Options;OptionsBuilder;Configure;(System.Action);Argument[this];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Options;OptionsBuilder;Configure;(System.Action);Argument[this];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Options;OptionsBuilder;Configure;(System.Action);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Options;OptionsBuilder;Configure;(System.Action);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Options;OptionsBuilder;Configure;(System.Action);Argument[this];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Options;OptionsBuilder;Configure;(System.Action);Argument[this];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Options;OptionsBuilder;Configure;(System.Action);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Options;OptionsBuilder;Configure;(System.Action);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Options;OptionsBuilder;Configure;(System.Action);Argument[this];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Options;OptionsBuilder;Configure;(System.Action);Argument[this];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Options;OptionsBuilder;Configure;(System.Action);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Options;OptionsBuilder;Configure;(System.Action);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Options;OptionsBuilder;Configure;(System.Action);Argument[this];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Options;OptionsBuilder;Configure;(System.Action);Argument[this];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Options;OptionsBuilder;Configure;(System.Action);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Options;OptionsBuilder;Configure;(System.Action);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Options;OptionsBuilder;Configure;(System.Action);Argument[this];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Options;OptionsBuilder;Configure;(System.Action);Argument[this];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Options;OptionsBuilder;Configure;(System.Action);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Options;OptionsBuilder;Configure;(System.Action);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Options;OptionsBuilder;Configure;(System.Action);Argument[this];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Options;OptionsBuilder;Configure;(System.Action);Argument[this];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Options;OptionsBuilder;PostConfigure;(System.Action);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Options;OptionsBuilder;PostConfigure;(System.Action);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Options;OptionsBuilder;PostConfigure;(System.Action);Argument[this];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Options;OptionsBuilder;PostConfigure;(System.Action);Argument[this];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Options;OptionsBuilder;PostConfigure;(System.Action);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Options;OptionsBuilder;PostConfigure;(System.Action);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Options;OptionsBuilder;PostConfigure;(System.Action);Argument[this];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Options;OptionsBuilder;PostConfigure;(System.Action);Argument[this];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Options;OptionsBuilder;PostConfigure;(System.Action);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Options;OptionsBuilder;PostConfigure;(System.Action);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Options;OptionsBuilder;PostConfigure;(System.Action);Argument[this];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Options;OptionsBuilder;PostConfigure;(System.Action);Argument[this];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Options;OptionsBuilder;PostConfigure;(System.Action);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Options;OptionsBuilder;PostConfigure;(System.Action);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Options;OptionsBuilder;PostConfigure;(System.Action);Argument[this];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Options;OptionsBuilder;PostConfigure;(System.Action);Argument[this];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Options;OptionsBuilder;PostConfigure;(System.Action);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Options;OptionsBuilder;PostConfigure;(System.Action);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Options;OptionsBuilder;PostConfigure;(System.Action);Argument[this];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Options;OptionsBuilder;PostConfigure;(System.Action);Argument[this];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Options;OptionsBuilder;PostConfigure;(System.Action);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Options;OptionsBuilder;PostConfigure;(System.Action);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Options;OptionsBuilder;PostConfigure;(System.Action);Argument[this];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Options;OptionsBuilder;PostConfigure;(System.Action);Argument[this];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Options;OptionsBuilder;Validate;(System.Func);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Options;OptionsBuilder;Validate;(System.Func);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Options;OptionsBuilder;Validate;(System.Func);Argument[this];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Options;OptionsBuilder;Validate;(System.Func);Argument[this];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Options;OptionsBuilder;Validate;(System.Func,System.String);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Options;OptionsBuilder;Validate;(System.Func,System.String);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Options;OptionsBuilder;Validate;(System.Func,System.String);Argument[this];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Options;OptionsBuilder;Validate;(System.Func,System.String);Argument[this];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Options;OptionsBuilder;Validate;(System.Func);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Options;OptionsBuilder;Validate;(System.Func);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Options;OptionsBuilder;Validate;(System.Func);Argument[this];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Options;OptionsBuilder;Validate;(System.Func);Argument[this];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Options;OptionsBuilder;Validate;(System.Func,System.String);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Options;OptionsBuilder;Validate;(System.Func,System.String);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Options;OptionsBuilder;Validate;(System.Func,System.String);Argument[this];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Options;OptionsBuilder;Validate;(System.Func,System.String);Argument[this];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Options;OptionsBuilder;Validate;(System.Func);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Options;OptionsBuilder;Validate;(System.Func);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Options;OptionsBuilder;Validate;(System.Func);Argument[this];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Options;OptionsBuilder;Validate;(System.Func);Argument[this];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Options;OptionsBuilder;Validate;(System.Func,System.String);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Options;OptionsBuilder;Validate;(System.Func,System.String);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Options;OptionsBuilder;Validate;(System.Func,System.String);Argument[this];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Options;OptionsBuilder;Validate;(System.Func,System.String);Argument[this];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Options;OptionsBuilder;Validate;(System.Func);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Options;OptionsBuilder;Validate;(System.Func);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Options;OptionsBuilder;Validate;(System.Func);Argument[this];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Options;OptionsBuilder;Validate;(System.Func);Argument[this];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Options;OptionsBuilder;Validate;(System.Func,System.String);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Options;OptionsBuilder;Validate;(System.Func,System.String);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Options;OptionsBuilder;Validate;(System.Func,System.String);Argument[this];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Options;OptionsBuilder;Validate;(System.Func,System.String);Argument[this];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Options;OptionsBuilder;Validate;(System.Func);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Options;OptionsBuilder;Validate;(System.Func);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Options;OptionsBuilder;Validate;(System.Func);Argument[this];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Options;OptionsBuilder;Validate;(System.Func);Argument[this];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Options;OptionsBuilder;Validate;(System.Func,System.String);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Options;OptionsBuilder;Validate;(System.Func,System.String);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Options;OptionsBuilder;Validate;(System.Func,System.String);Argument[this];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Options;OptionsBuilder;Validate;(System.Func,System.String);Argument[this];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Options;OptionsBuilder;Validate;(System.Func);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Options;OptionsBuilder;Validate;(System.Func);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Options;OptionsBuilder;Validate;(System.Func);Argument[this];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Options;OptionsBuilder;Validate;(System.Func);Argument[this];ReturnValue;value;hq-generated | +| Microsoft.Extensions.Options;OptionsBuilder;Validate;(System.Func,System.String);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Options;OptionsBuilder;Validate;(System.Func,System.String);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Options;OptionsBuilder;Validate;(System.Func,System.String);Argument[this];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Options;OptionsBuilder;Validate;(System.Func,System.String);Argument[this];ReturnValue;value;hq-generated | | Microsoft.Extensions.Options;OptionsFactory;OptionsFactory;(System.Collections.Generic.IEnumerable>,System.Collections.Generic.IEnumerable>,System.Collections.Generic.IEnumerable>);Argument[0].Element;Argument[this];taint;df-generated | | Microsoft.Extensions.Options;OptionsFactory;OptionsFactory;(System.Collections.Generic.IEnumerable>,System.Collections.Generic.IEnumerable>,System.Collections.Generic.IEnumerable>);Argument[1].Element;Argument[this];taint;df-generated | | Microsoft.Extensions.Options;OptionsFactory;OptionsFactory;(System.Collections.Generic.IEnumerable>,System.Collections.Generic.IEnumerable>,System.Collections.Generic.IEnumerable>);Argument[2].Element;Argument[this];taint;df-generated | @@ -1401,17 +1872,34 @@ | Microsoft.Extensions.Options;OptionsMonitorExtensions;OnChange;(Microsoft.Extensions.Options.IOptionsMonitor,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.Options;OptionsValidationException;get_Message;();Argument[this].Property[Microsoft.Extensions.Options.OptionsValidationException.Failures].Element;ReturnValue;taint;dfc-generated | | Microsoft.Extensions.Options;OptionsValidationException;get_Message;();Argument[this].SyntheticField[System.Exception._message];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Options;PostConfigureOptions;PostConfigure;(System.String,TOptions);Argument[1];Argument[this];taint;df-generated | +| Microsoft.Extensions.Options;PostConfigureOptions;PostConfigure;(TOptions);Argument[0];Argument[this];taint;df-generated | | Microsoft.Extensions.Options;PostConfigureOptions;PostConfigureOptions;(System.String,TDep1,TDep2,TDep3,TDep4,TDep5,System.Action);Argument[6];Argument[6].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Options;PostConfigureOptions;PostConfigure;(System.String,TOptions);Argument[1];Argument[this];taint;df-generated | +| Microsoft.Extensions.Options;PostConfigureOptions;PostConfigure;(TOptions);Argument[0];Argument[this];taint;df-generated | | Microsoft.Extensions.Options;PostConfigureOptions;PostConfigureOptions;(System.String,TDep1,TDep2,TDep3,TDep4,System.Action);Argument[5];Argument[5].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Options;PostConfigureOptions;PostConfigure;(System.String,TOptions);Argument[1];Argument[this];taint;df-generated | +| Microsoft.Extensions.Options;PostConfigureOptions;PostConfigure;(TOptions);Argument[0];Argument[this];taint;df-generated | | Microsoft.Extensions.Options;PostConfigureOptions;PostConfigureOptions;(System.String,TDep1,TDep2,TDep3,System.Action);Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Options;PostConfigureOptions;PostConfigure;(System.String,TOptions);Argument[1];Argument[this];taint;df-generated | +| Microsoft.Extensions.Options;PostConfigureOptions;PostConfigure;(TOptions);Argument[0];Argument[this];taint;df-generated | | Microsoft.Extensions.Options;PostConfigureOptions;PostConfigureOptions;(System.String,TDep1,TDep2,System.Action);Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Options;PostConfigureOptions;PostConfigure;(System.String,TOptions);Argument[1];Argument[this];taint;df-generated | +| Microsoft.Extensions.Options;PostConfigureOptions;PostConfigure;(TOptions);Argument[0];Argument[this];taint;df-generated | | Microsoft.Extensions.Options;PostConfigureOptions;PostConfigureOptions;(System.String,TDep,System.Action);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Options;PostConfigureOptions;PostConfigure;(System.String,TOptions);Argument[1];Argument[this];taint;df-generated | | Microsoft.Extensions.Options;PostConfigureOptions;PostConfigureOptions;(System.String,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Options;ValidateOptions;Validate;(System.String,TOptions);Argument[1];Argument[this];taint;df-generated | | Microsoft.Extensions.Options;ValidateOptions;ValidateOptions;(System.String,TDep1,TDep2,TDep3,TDep4,TDep5,System.Func,System.String);Argument[6];Argument[6].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Options;ValidateOptions;Validate;(System.String,TOptions);Argument[1];Argument[this];taint;df-generated | | Microsoft.Extensions.Options;ValidateOptions;ValidateOptions;(System.String,TDep1,TDep2,TDep3,TDep4,System.Func,System.String);Argument[5];Argument[5].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Options;ValidateOptions;Validate;(System.String,TOptions);Argument[1];Argument[this];taint;df-generated | | Microsoft.Extensions.Options;ValidateOptions;ValidateOptions;(System.String,TDep1,TDep2,TDep3,System.Func,System.String);Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Options;ValidateOptions;Validate;(System.String,TOptions);Argument[1];Argument[this];taint;df-generated | | Microsoft.Extensions.Options;ValidateOptions;ValidateOptions;(System.String,TDep1,TDep2,System.Func,System.String);Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Options;ValidateOptions;Validate;(System.String,TOptions);Argument[1];Argument[this];taint;df-generated | | Microsoft.Extensions.Options;ValidateOptions;ValidateOptions;(System.String,TDep,System.Func,System.String);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Options;ValidateOptions;Validate;(System.String,TOptions);Argument[1];Argument[this];taint;df-generated | | Microsoft.Extensions.Options;ValidateOptions;ValidateOptions;(System.String,System.Func,System.String);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | Microsoft.Extensions.Options;ValidateOptionsResultBuilder;AddError;(System.String,System.String);Argument[0];Argument[this];taint;df-generated | | Microsoft.Extensions.Options;ValidateOptionsResultBuilder;AddError;(System.String,System.String);Argument[1];Argument[this];taint;df-generated | @@ -1426,7 +1914,10 @@ | Microsoft.Extensions.Primitives;Extensions;Append;(System.Text.StringBuilder,Microsoft.Extensions.Primitives.StringSegment);Argument[0];ReturnValue;value;dfc-generated | | Microsoft.Extensions.Primitives;Extensions;Append;(System.Text.StringBuilder,Microsoft.Extensions.Primitives.StringSegment);Argument[1].Property[Microsoft.Extensions.Primitives.StringSegment.Buffer];Argument[0];taint;dfc-generated | | Microsoft.Extensions.Primitives;Extensions;Append;(System.Text.StringBuilder,Microsoft.Extensions.Primitives.StringSegment);Argument[1].Property[Microsoft.Extensions.Primitives.StringSegment.Buffer];ReturnValue;taint;dfc-generated | +| Microsoft.Extensions.Primitives;IChangeToken;RegisterChangeCallback;(System.Action,System.Object);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | Microsoft.Extensions.Primitives;IChangeToken;RegisterChangeCallback;(System.Action,System.Object);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| Microsoft.Extensions.Primitives;IChangeToken;RegisterChangeCallback;(System.Action,System.Object);Argument[this];ReturnValue;value;dfc-generated | +| Microsoft.Extensions.Primitives;IChangeToken;RegisterChangeCallback;(System.Action,System.Object);Argument[this];ReturnValue;value;hq-generated | | Microsoft.Extensions.Primitives;InplaceStringBuilder;ToString;();Argument[this];ReturnValue;taint;df-generated | | Microsoft.Extensions.Primitives;StringSegment;Substring;(System.Int32);Argument[this].Property[Microsoft.Extensions.Primitives.StringSegment.Buffer];ReturnValue;taint;dfc-generated | | Microsoft.Extensions.Primitives;StringSegment;Substring;(System.Int32,System.Int32);Argument[this].Property[Microsoft.Extensions.Primitives.StringSegment.Buffer];ReturnValue;taint;dfc-generated | @@ -4116,20 +4607,63 @@ | System.Collections.Concurrent;ConcurrentBag;TryTake;(T);Argument[this];ReturnValue;taint;df-generated | | System.Collections.Concurrent;ConcurrentDictionary;Add;(System.Collections.Generic.KeyValuePair);Argument[0].Property[System.Collections.Generic.KeyValuePair`2.Key];Argument[this].Element.Property[System.Collections.Generic.KeyValuePair`2.Key];value;manual | | System.Collections.Concurrent;ConcurrentDictionary;Add;(System.Collections.Generic.KeyValuePair);Argument[0].Property[System.Collections.Generic.KeyValuePair`2.Value];Argument[this].Element.Property[System.Collections.Generic.KeyValuePair`2.Value];value;manual | +| System.Collections.Concurrent;ConcurrentDictionary;AddOrUpdate;(TKey,System.Func,System.Func);Argument[0];Argument[1].Parameter[0];value;dfc-generated | +| System.Collections.Concurrent;ConcurrentDictionary;AddOrUpdate;(TKey,System.Func,System.Func);Argument[0];Argument[1].Parameter[0];value;hq-generated | +| System.Collections.Concurrent;ConcurrentDictionary;AddOrUpdate;(TKey,System.Func,System.Func);Argument[0];Argument[2].Parameter[0];value;dfc-generated | +| System.Collections.Concurrent;ConcurrentDictionary;AddOrUpdate;(TKey,System.Func,System.Func);Argument[0];Argument[2].Parameter[0];value;hq-generated | +| System.Collections.Concurrent;ConcurrentDictionary;AddOrUpdate;(TKey,System.Func,System.Func);Argument[1].ReturnValue;ReturnValue;value;dfc-generated | +| System.Collections.Concurrent;ConcurrentDictionary;AddOrUpdate;(TKey,System.Func,System.Func);Argument[1].ReturnValue;ReturnValue;value;hq-generated | +| System.Collections.Concurrent;ConcurrentDictionary;AddOrUpdate;(TKey,System.Func,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Collections.Concurrent;ConcurrentDictionary;AddOrUpdate;(TKey,System.Func,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Collections.Concurrent;ConcurrentDictionary;AddOrUpdate;(TKey,System.Func,System.Func);Argument[2].ReturnValue;ReturnValue;value;dfc-generated | +| System.Collections.Concurrent;ConcurrentDictionary;AddOrUpdate;(TKey,System.Func,System.Func);Argument[2].ReturnValue;ReturnValue;value;hq-generated | +| System.Collections.Concurrent;ConcurrentDictionary;AddOrUpdate;(TKey,System.Func,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;dfc-generated | | System.Collections.Concurrent;ConcurrentDictionary;AddOrUpdate;(TKey,System.Func,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| System.Collections.Concurrent;ConcurrentDictionary;AddOrUpdate;(TKey,TValue,System.Func);Argument[0];Argument[2].Parameter[0];value;dfc-generated | +| System.Collections.Concurrent;ConcurrentDictionary;AddOrUpdate;(TKey,TValue,System.Func);Argument[0];Argument[2].Parameter[0];value;hq-generated | +| System.Collections.Concurrent;ConcurrentDictionary;AddOrUpdate;(TKey,TValue,System.Func);Argument[1];ReturnValue;value;dfc-generated | +| System.Collections.Concurrent;ConcurrentDictionary;AddOrUpdate;(TKey,TValue,System.Func);Argument[1];ReturnValue;value;hq-generated | +| System.Collections.Concurrent;ConcurrentDictionary;AddOrUpdate;(TKey,TValue,System.Func);Argument[2].ReturnValue;ReturnValue;value;dfc-generated | +| System.Collections.Concurrent;ConcurrentDictionary;AddOrUpdate;(TKey,TValue,System.Func);Argument[2].ReturnValue;ReturnValue;value;hq-generated | +| System.Collections.Concurrent;ConcurrentDictionary;AddOrUpdate;(TKey,TValue,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;dfc-generated | | System.Collections.Concurrent;ConcurrentDictionary;AddOrUpdate;(TKey,TValue,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| System.Collections.Concurrent;ConcurrentDictionary;AddOrUpdate;(TKey,System.Func,System.Func,TArg);Argument[0];Argument[1].Parameter[0];value;dfc-generated | +| System.Collections.Concurrent;ConcurrentDictionary;AddOrUpdate;(TKey,System.Func,System.Func,TArg);Argument[0];Argument[1].Parameter[0];value;hq-generated | +| System.Collections.Concurrent;ConcurrentDictionary;AddOrUpdate;(TKey,System.Func,System.Func,TArg);Argument[0];Argument[2].Parameter[0];value;dfc-generated | +| System.Collections.Concurrent;ConcurrentDictionary;AddOrUpdate;(TKey,System.Func,System.Func,TArg);Argument[0];Argument[2].Parameter[0];value;hq-generated | +| System.Collections.Concurrent;ConcurrentDictionary;AddOrUpdate;(TKey,System.Func,System.Func,TArg);Argument[1].ReturnValue;ReturnValue;value;dfc-generated | +| System.Collections.Concurrent;ConcurrentDictionary;AddOrUpdate;(TKey,System.Func,System.Func,TArg);Argument[1].ReturnValue;ReturnValue;value;hq-generated | +| System.Collections.Concurrent;ConcurrentDictionary;AddOrUpdate;(TKey,System.Func,System.Func,TArg);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Collections.Concurrent;ConcurrentDictionary;AddOrUpdate;(TKey,System.Func,System.Func,TArg);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Collections.Concurrent;ConcurrentDictionary;AddOrUpdate;(TKey,System.Func,System.Func,TArg);Argument[2].ReturnValue;ReturnValue;value;dfc-generated | +| System.Collections.Concurrent;ConcurrentDictionary;AddOrUpdate;(TKey,System.Func,System.Func,TArg);Argument[2].ReturnValue;ReturnValue;value;hq-generated | +| System.Collections.Concurrent;ConcurrentDictionary;AddOrUpdate;(TKey,System.Func,System.Func,TArg);Argument[2];Argument[2].Parameter[delegate-self];value;dfc-generated | | System.Collections.Concurrent;ConcurrentDictionary;AddOrUpdate;(TKey,System.Func,System.Func,TArg);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| System.Collections.Concurrent;ConcurrentDictionary;AddOrUpdate;(TKey,System.Func,System.Func,TArg);Argument[3];Argument[1].Parameter[1];value;dfc-generated | +| System.Collections.Concurrent;ConcurrentDictionary;AddOrUpdate;(TKey,System.Func,System.Func,TArg);Argument[3];Argument[1].Parameter[1];value;hq-generated | +| System.Collections.Concurrent;ConcurrentDictionary;AddOrUpdate;(TKey,System.Func,System.Func,TArg);Argument[3];Argument[2].Parameter[2];value;dfc-generated | +| System.Collections.Concurrent;ConcurrentDictionary;AddOrUpdate;(TKey,System.Func,System.Func,TArg);Argument[3];Argument[2].Parameter[2];value;hq-generated | | System.Collections.Concurrent;ConcurrentDictionary;ConcurrentDictionary;(System.Collections.Generic.IEnumerable>);Argument[0].Element.Property[System.Collections.Generic.KeyValuePair`2.Key];Argument[this].Element.Property[System.Collections.Generic.KeyValuePair`2.Key];value;manual | | System.Collections.Concurrent;ConcurrentDictionary;ConcurrentDictionary;(System.Collections.Generic.IEnumerable>);Argument[0].Element.Property[System.Collections.Generic.KeyValuePair`2.Value];Argument[this].Element.Property[System.Collections.Generic.KeyValuePair`2.Value];value;manual | | System.Collections.Concurrent;ConcurrentDictionary;ConcurrentDictionary;(System.Collections.Generic.IEnumerable>,System.Collections.Generic.IEqualityComparer);Argument[0].Element.Property[System.Collections.Generic.KeyValuePair`2.Key];Argument[this].Element.Property[System.Collections.Generic.KeyValuePair`2.Key];value;manual | | System.Collections.Concurrent;ConcurrentDictionary;ConcurrentDictionary;(System.Collections.Generic.IEnumerable>,System.Collections.Generic.IEqualityComparer);Argument[0].Element.Property[System.Collections.Generic.KeyValuePair`2.Value];Argument[this].Element.Property[System.Collections.Generic.KeyValuePair`2.Value];value;manual | | System.Collections.Concurrent;ConcurrentDictionary;ConcurrentDictionary;(System.Int32,System.Collections.Generic.IEnumerable>,System.Collections.Generic.IEqualityComparer);Argument[1].Element.Property[System.Collections.Generic.KeyValuePair`2.Key];Argument[this].Element.Property[System.Collections.Generic.KeyValuePair`2.Key];value;manual | | System.Collections.Concurrent;ConcurrentDictionary;ConcurrentDictionary;(System.Int32,System.Collections.Generic.IEnumerable>,System.Collections.Generic.IEqualityComparer);Argument[1].Element.Property[System.Collections.Generic.KeyValuePair`2.Value];Argument[this].Element.Property[System.Collections.Generic.KeyValuePair`2.Value];value;manual | +| System.Collections.Concurrent;ConcurrentDictionary;GetOrAdd;(TKey,System.Func);Argument[0];Argument[1].Parameter[0];value;dfc-generated | +| System.Collections.Concurrent;ConcurrentDictionary;GetOrAdd;(TKey,System.Func);Argument[0];Argument[1].Parameter[0];value;hq-generated | +| System.Collections.Concurrent;ConcurrentDictionary;GetOrAdd;(TKey,System.Func);Argument[1].ReturnValue;ReturnValue;value;dfc-generated | +| System.Collections.Concurrent;ConcurrentDictionary;GetOrAdd;(TKey,System.Func);Argument[1].ReturnValue;ReturnValue;value;hq-generated | +| System.Collections.Concurrent;ConcurrentDictionary;GetOrAdd;(TKey,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Collections.Concurrent;ConcurrentDictionary;GetOrAdd;(TKey,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | System.Collections.Concurrent;ConcurrentDictionary;GetOrAdd;(TKey,TValue);Argument[1];ReturnValue;value;dfc-generated | +| System.Collections.Concurrent;ConcurrentDictionary;GetOrAdd;(TKey,System.Func,TArg);Argument[0];Argument[1].Parameter[0];value;dfc-generated | +| System.Collections.Concurrent;ConcurrentDictionary;GetOrAdd;(TKey,System.Func,TArg);Argument[0];Argument[1].Parameter[0];value;hq-generated | +| System.Collections.Concurrent;ConcurrentDictionary;GetOrAdd;(TKey,System.Func,TArg);Argument[1].ReturnValue;ReturnValue;value;dfc-generated | +| System.Collections.Concurrent;ConcurrentDictionary;GetOrAdd;(TKey,System.Func,TArg);Argument[1].ReturnValue;ReturnValue;value;hq-generated | +| System.Collections.Concurrent;ConcurrentDictionary;GetOrAdd;(TKey,System.Func,TArg);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Collections.Concurrent;ConcurrentDictionary;GetOrAdd;(TKey,System.Func,TArg);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Collections.Concurrent;ConcurrentDictionary;GetOrAdd;(TKey,System.Func,TArg);Argument[2];Argument[1].Parameter[1];value;dfc-generated | +| System.Collections.Concurrent;ConcurrentDictionary;GetOrAdd;(TKey,System.Func,TArg);Argument[2];Argument[1].Parameter[1];value;hq-generated | | System.Collections.Concurrent;ConcurrentDictionary;get_Comparer;();Argument[this];ReturnValue;taint;df-generated | | System.Collections.Concurrent;ConcurrentDictionary;get_Keys;();Argument[this].Element.Property[System.Collections.Generic.KeyValuePair`2.Key];ReturnValue.Element;value;manual | | System.Collections.Concurrent;ConcurrentDictionary;get_Values;();Argument[this].Element.Property[System.Collections.Generic.KeyValuePair`2.Value];ReturnValue.Element;value;manual | @@ -4438,8 +4972,14 @@ | System.Collections.Immutable;ImmutableArray;Create;(T,T,T,T);Argument[3];ReturnValue;taint;df-generated | | System.Collections.Immutable;ImmutableArray;Create;(T[],System.Int32,System.Int32);Argument[0].Element;ReturnValue;taint;df-generated | | System.Collections.Immutable;ImmutableArray;CreateRange;(System.Collections.Generic.IEnumerable);Argument[0].Element;ReturnValue;taint;df-generated | +| System.Collections.Immutable;ImmutableArray;CreateRange;(System.Collections.Immutable.ImmutableArray,System.Func,TArg);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Collections.Immutable;ImmutableArray;CreateRange;(System.Collections.Immutable.ImmutableArray,System.Func,TArg);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Collections.Immutable;ImmutableArray;CreateRange;(System.Collections.Immutable.ImmutableArray,System.Func,TArg);Argument[2];Argument[1].Parameter[1];value;dfc-generated | +| System.Collections.Immutable;ImmutableArray;CreateRange;(System.Collections.Immutable.ImmutableArray,System.Func,TArg);Argument[2];Argument[1].Parameter[1];value;hq-generated | +| System.Collections.Immutable;ImmutableArray;CreateRange;(System.Collections.Immutable.ImmutableArray,System.Int32,System.Int32,System.Func,TArg);Argument[3];Argument[3].Parameter[delegate-self];value;dfc-generated | | System.Collections.Immutable;ImmutableArray;CreateRange;(System.Collections.Immutable.ImmutableArray,System.Int32,System.Int32,System.Func,TArg);Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| System.Collections.Immutable;ImmutableArray;CreateRange;(System.Collections.Immutable.ImmutableArray,System.Int32,System.Int32,System.Func,TArg);Argument[4];Argument[3].Parameter[1];value;dfc-generated | +| System.Collections.Immutable;ImmutableArray;CreateRange;(System.Collections.Immutable.ImmutableArray,System.Int32,System.Int32,System.Func,TArg);Argument[4];Argument[3].Parameter[1];value;hq-generated | | System.Collections.Immutable;ImmutableArray;CreateRange;(System.Collections.Immutable.ImmutableArray,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | System.Collections.Immutable;ImmutableArray;CreateRange;(System.Collections.Immutable.ImmutableArray,System.Int32,System.Int32,System.Func);Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | | System.Collections.Immutable;ImmutableArray;ToImmutableArray;(System.ReadOnlySpan);Argument[0].Element;ReturnValue.Element;value;manual | @@ -4455,9 +4995,22 @@ | System.Collections.Immutable;ImmutableArray+Builder;CopyTo;(System.Span);Argument[this].SyntheticField[System.Collections.Immutable.ImmutableArray`1+Builder._elements].Element;Argument[0].Element;value;dfc-generated | | System.Collections.Immutable;ImmutableArray+Builder;DrainToImmutable;();Argument[this].SyntheticField[System.Collections.Immutable.ImmutableArray`1+Builder._elements];ReturnValue.SyntheticField[System.Collections.Immutable.ImmutableArray`1.array];value;dfc-generated | | System.Collections.Immutable;ImmutableArray+Builder;GetEnumerator;();Argument[this].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator`1.Current];value;manual | +| System.Collections.Immutable;ImmutableArray+Builder;IndexOf;(T,System.Int32,System.Collections.Generic.IEqualityComparer);Argument[0];Argument[2];taint;df-generated | +| System.Collections.Immutable;ImmutableArray+Builder;IndexOf;(T,System.Int32,System.Collections.Generic.IEqualityComparer);Argument[this];Argument[2];taint;df-generated | +| System.Collections.Immutable;ImmutableArray+Builder;IndexOf;(T,System.Int32,System.Int32,System.Collections.Generic.IEqualityComparer);Argument[0];Argument[3];taint;df-generated | +| System.Collections.Immutable;ImmutableArray+Builder;IndexOf;(T,System.Int32,System.Int32,System.Collections.Generic.IEqualityComparer);Argument[this];Argument[3];taint;df-generated | | System.Collections.Immutable;ImmutableArray+Builder;InsertRange;(System.Int32,System.Collections.Generic.IEnumerable);Argument[1].Element;Argument[this].SyntheticField[System.Collections.Immutable.ImmutableArray`1+Builder._elements].Element;value;dfc-generated | +| System.Collections.Immutable;ImmutableArray+Builder;LastIndexOf;(T,System.Int32,System.Int32,System.Collections.Generic.IEqualityComparer);Argument[0];Argument[3];taint;df-generated | +| System.Collections.Immutable;ImmutableArray+Builder;LastIndexOf;(T,System.Int32,System.Int32,System.Collections.Generic.IEqualityComparer);Argument[this];Argument[3];taint;df-generated | | System.Collections.Immutable;ImmutableArray+Builder;MoveToImmutable;();Argument[this].SyntheticField[System.Collections.Immutable.ImmutableArray`1+Builder._elements];ReturnValue.SyntheticField[System.Collections.Immutable.ImmutableArray`1.array];value;dfc-generated | +| System.Collections.Immutable;ImmutableArray+Builder;Remove;(T,System.Collections.Generic.IEqualityComparer);Argument[0];Argument[1];taint;df-generated | +| System.Collections.Immutable;ImmutableArray+Builder;Remove;(T,System.Collections.Generic.IEqualityComparer);Argument[this];Argument[1];taint;df-generated | +| System.Collections.Immutable;ImmutableArray+Builder;RemoveAll;(System.Predicate);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | System.Collections.Immutable;ImmutableArray+Builder;RemoveAll;(System.Predicate);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Collections.Immutable;ImmutableArray+Builder;RemoveAll;(System.Predicate);Argument[this].SyntheticField[System.Collections.Immutable.ImmutableArray`1+Builder._elements].Element;Argument[0].Parameter[0];value;dfc-generated | +| System.Collections.Immutable;ImmutableArray+Builder;RemoveAll;(System.Predicate);Argument[this].SyntheticField[System.Collections.Immutable.ImmutableArray`1+Builder._elements].Element;Argument[0].Parameter[0];value;hq-generated | +| System.Collections.Immutable;ImmutableArray+Builder;RemoveRange;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);Argument[0].Element;Argument[1];taint;df-generated | +| System.Collections.Immutable;ImmutableArray+Builder;RemoveRange;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);Argument[this];Argument[1];taint;df-generated | | System.Collections.Immutable;ImmutableArray+Builder;Replace;(T,T);Argument[1];Argument[this].SyntheticField[System.Collections.Immutable.ImmutableArray`1+Builder._elements].Element;value;dfc-generated | | System.Collections.Immutable;ImmutableArray+Builder;Replace;(T,T,System.Collections.Generic.IEqualityComparer);Argument[1];Argument[this].SyntheticField[System.Collections.Immutable.ImmutableArray`1+Builder._elements].Element;value;dfc-generated | | System.Collections.Immutable;ImmutableArray+Builder;Sort;(System.Comparison);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | @@ -4484,8 +5037,14 @@ | System.Collections.Immutable;ImmutableArray;AsSpan;(System.Range);Argument[this].SyntheticField[System.Collections.Immutable.ImmutableArray`1.array].Element;ReturnValue.Element;value;dfc-generated | | System.Collections.Immutable;ImmutableArray;CastArray;();Argument[this];ReturnValue;taint;df-generated | | System.Collections.Immutable;ImmutableArray;CastUp;(System.Collections.Immutable.ImmutableArray);Argument[0].Element;ReturnValue;taint;df-generated | +| System.Collections.Immutable;ImmutableArray;Contains;(T,System.Collections.Generic.IEqualityComparer);Argument[0];Argument[1];taint;df-generated | +| System.Collections.Immutable;ImmutableArray;Contains;(T,System.Collections.Generic.IEqualityComparer);Argument[this];Argument[1];taint;df-generated | | System.Collections.Immutable;ImmutableArray;CopyTo;(System.Span);Argument[this].SyntheticField[System.Collections.Immutable.ImmutableArray`1.array].Element;Argument[0].Element;value;dfc-generated | | System.Collections.Immutable;ImmutableArray;GetEnumerator;();Argument[this].SyntheticField[System.Collections.Immutable.ImmutableArray`1.array];ReturnValue.SyntheticField[System.Collections.Immutable.ImmutableArray`1+Enumerator._array];value;dfc-generated | +| System.Collections.Immutable;ImmutableArray;IndexOf;(T,System.Int32,System.Collections.Generic.IEqualityComparer);Argument[0];Argument[2];taint;df-generated | +| System.Collections.Immutable;ImmutableArray;IndexOf;(T,System.Int32,System.Collections.Generic.IEqualityComparer);Argument[this];Argument[2];taint;df-generated | +| System.Collections.Immutable;ImmutableArray;IndexOf;(T,System.Int32,System.Int32,System.Collections.Generic.IEqualityComparer);Argument[0];Argument[3];taint;df-generated | +| System.Collections.Immutable;ImmutableArray;IndexOf;(T,System.Int32,System.Int32,System.Collections.Generic.IEqualityComparer);Argument[this];Argument[3];taint;df-generated | | System.Collections.Immutable;ImmutableArray;Insert;(System.Int32,T);Argument[1];ReturnValue.SyntheticField[System.Collections.Immutable.ImmutableArray`1.array].Element;value;df-generated | | System.Collections.Immutable;ImmutableArray;Insert;(System.Int32,T);Argument[1];ReturnValue.SyntheticField[System.Collections.Immutable.ImmutableArray`1.array].Element;value;dfc-generated | | System.Collections.Immutable;ImmutableArray;Insert;(System.Int32,T);Argument[1];ReturnValue;taint;df-generated | @@ -4499,10 +5058,17 @@ | System.Collections.Immutable;ImmutableArray;InsertRange;(System.Int32,System.ReadOnlySpan);Argument[this];ReturnValue;value;dfc-generated | | System.Collections.Immutable;ImmutableArray;InsertRange;(System.Int32,T[]);Argument[1];ReturnValue.SyntheticField[System.Collections.Immutable.ImmutableArray`1.array];value;dfc-generated | | System.Collections.Immutable;ImmutableArray;InsertRange;(System.Int32,T[]);Argument[this];ReturnValue;value;dfc-generated | +| System.Collections.Immutable;ImmutableArray;LastIndexOf;(T,System.Int32,System.Int32,System.Collections.Generic.IEqualityComparer);Argument[0];Argument[3];taint;df-generated | +| System.Collections.Immutable;ImmutableArray;LastIndexOf;(T,System.Int32,System.Int32,System.Collections.Generic.IEqualityComparer);Argument[this];Argument[3];taint;df-generated | | System.Collections.Immutable;ImmutableArray;OfType;();Argument[this].SyntheticField[System.Collections.Immutable.ImmutableArray`1.array].Element;ReturnValue.Element;value;dfc-generated | | System.Collections.Immutable;ImmutableArray;Remove;(T);Argument[this];ReturnValue;value;dfc-generated | | System.Collections.Immutable;ImmutableArray;Remove;(T,System.Collections.Generic.IEqualityComparer);Argument[this];ReturnValue;value;dfc-generated | +| System.Collections.Immutable;ImmutableArray;RemoveAll;(System.Predicate);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | System.Collections.Immutable;ImmutableArray;RemoveAll;(System.Predicate);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Collections.Immutable;ImmutableArray;RemoveAll;(System.Predicate);Argument[this].SyntheticField[System.Collections.Immutable.ImmutableArray`1.array].Element;Argument[0].Parameter[0];value;dfc-generated | +| System.Collections.Immutable;ImmutableArray;RemoveAll;(System.Predicate);Argument[this].SyntheticField[System.Collections.Immutable.ImmutableArray`1.array].Element;Argument[0].Parameter[0];value;hq-generated | +| System.Collections.Immutable;ImmutableArray;RemoveAll;(System.Predicate);Argument[this];ReturnValue;value;dfc-generated | +| System.Collections.Immutable;ImmutableArray;RemoveAll;(System.Predicate);Argument[this];ReturnValue;value;hq-generated | | System.Collections.Immutable;ImmutableArray;RemoveAt;(System.Int32);Argument[this];ReturnValue;value;dfc-generated | | System.Collections.Immutable;ImmutableArray;RemoveRange;(System.Collections.Generic.IEnumerable);Argument[this];ReturnValue;value;dfc-generated | | System.Collections.Immutable;ImmutableArray;RemoveRange;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);Argument[this];ReturnValue;value;dfc-generated | @@ -4512,19 +5078,28 @@ | System.Collections.Immutable;ImmutableArray;RemoveRange;(System.ReadOnlySpan,System.Collections.Generic.IEqualityComparer);Argument[this];ReturnValue;value;dfc-generated | | System.Collections.Immutable;ImmutableArray;RemoveRange;(T[],System.Collections.Generic.IEqualityComparer);Argument[this];ReturnValue;value;dfc-generated | | System.Collections.Immutable;ImmutableArray;Replace;(T,T);Argument[1];ReturnValue.SyntheticField[System.Collections.Immutable.ImmutableArray`1.array].Element;value;dfc-generated | +| System.Collections.Immutable;ImmutableArray;Replace;(T,T,System.Collections.Generic.IEqualityComparer);Argument[0];Argument[2];taint;df-generated | +| System.Collections.Immutable;ImmutableArray;Replace;(T,T,System.Collections.Generic.IEqualityComparer);Argument[0];Argument[2];taint;dfc-generated | | System.Collections.Immutable;ImmutableArray;Replace;(T,T,System.Collections.Generic.IEqualityComparer);Argument[1];ReturnValue.SyntheticField[System.Collections.Immutable.ImmutableArray`1.array].Element;value;df-generated | | System.Collections.Immutable;ImmutableArray;Replace;(T,T,System.Collections.Generic.IEqualityComparer);Argument[1];ReturnValue.SyntheticField[System.Collections.Immutable.ImmutableArray`1.array].Element;value;dfc-generated | | System.Collections.Immutable;ImmutableArray;Replace;(T,T,System.Collections.Generic.IEqualityComparer);Argument[1];ReturnValue;taint;df-generated | | System.Collections.Immutable;ImmutableArray;Replace;(T,T,System.Collections.Generic.IEqualityComparer);Argument[1];ReturnValue;taint;dfc-generated | +| System.Collections.Immutable;ImmutableArray;Replace;(T,T,System.Collections.Generic.IEqualityComparer);Argument[this];Argument[2];taint;df-generated | +| System.Collections.Immutable;ImmutableArray;Replace;(T,T,System.Collections.Generic.IEqualityComparer);Argument[this];Argument[2];taint;dfc-generated | | System.Collections.Immutable;ImmutableArray;SetItem;(System.Int32,T);Argument[1];ReturnValue.SyntheticField[System.Collections.Immutable.ImmutableArray`1.array].Element;value;df-generated | | System.Collections.Immutable;ImmutableArray;SetItem;(System.Int32,T);Argument[1];ReturnValue.SyntheticField[System.Collections.Immutable.ImmutableArray`1.array].Element;value;dfc-generated | | System.Collections.Immutable;ImmutableArray;SetItem;(System.Int32,T);Argument[1];ReturnValue;taint;df-generated | | System.Collections.Immutable;ImmutableArray;SetItem;(System.Int32,T);Argument[1];ReturnValue;taint;dfc-generated | | System.Collections.Immutable;ImmutableArray;Slice;(System.Int32,System.Int32);Argument[this];ReturnValue;value;dfc-generated | | System.Collections.Immutable;ImmutableArray;Sort;();Argument[this];ReturnValue;value;dfc-generated | -| System.Collections.Immutable;ImmutableArray;Sort;(System.Collections.Generic.IComparer);Argument[this];ReturnValue;value;dfc-generated | +| System.Collections.Immutable;ImmutableArray;Sort;(System.Collections.Generic.IComparer);Argument[this];Argument[0];taint;df-generated | +| System.Collections.Immutable;ImmutableArray;Sort;(System.Collections.Generic.IComparer);Argument[this];ReturnValue;taint;df-generated | +| System.Collections.Immutable;ImmutableArray;Sort;(System.Comparison);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | System.Collections.Immutable;ImmutableArray;Sort;(System.Comparison);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | -| System.Collections.Immutable;ImmutableArray;Sort;(System.Int32,System.Int32,System.Collections.Generic.IComparer);Argument[this];ReturnValue;value;dfc-generated | +| System.Collections.Immutable;ImmutableArray;Sort;(System.Comparison);Argument[this];ReturnValue;value;dfc-generated | +| System.Collections.Immutable;ImmutableArray;Sort;(System.Comparison);Argument[this];ReturnValue;value;hq-generated | +| System.Collections.Immutable;ImmutableArray;Sort;(System.Int32,System.Int32,System.Collections.Generic.IComparer);Argument[this];Argument[2];taint;df-generated | +| System.Collections.Immutable;ImmutableArray;Sort;(System.Int32,System.Int32,System.Collections.Generic.IComparer);Argument[this];ReturnValue;taint;df-generated | | System.Collections.Immutable;ImmutableArray;ToBuilder;();Argument[this].Element;ReturnValue.Element;value;dfc-generated | | System.Collections.Immutable;ImmutableArray;get_Item;(System.Int32);Argument[this].SyntheticField[System.Collections.Immutable.ImmutableArray`1.array].Element;ReturnValue;value;dfc-generated | | System.Collections.Immutable;ImmutableDictionary;Create;(System.Collections.Generic.IEqualityComparer);Argument[0];ReturnValue;taint;df-generated | @@ -4616,11 +5191,48 @@ | System.Collections.Immutable;ImmutableHashSet;Union;(System.Collections.Generic.IEnumerable);Argument[0];ReturnValue;value;dfc-generated | | System.Collections.Immutable;ImmutableHashSet;WithComparer;(System.Collections.Generic.IEqualityComparer);Argument[this];ReturnValue;value;dfc-generated | | System.Collections.Immutable;ImmutableHashSet;get_KeyComparer;();Argument[this];ReturnValue;taint;df-generated | +| System.Collections.Immutable;ImmutableInterlocked;AddOrUpdate;(System.Collections.Immutable.ImmutableDictionary,TKey,System.Func,System.Func);Argument[0];ReturnValue;value;dfc-generated | +| System.Collections.Immutable;ImmutableInterlocked;AddOrUpdate;(System.Collections.Immutable.ImmutableDictionary,TKey,System.Func,System.Func);Argument[0];ReturnValue;value;hq-generated | +| System.Collections.Immutable;ImmutableInterlocked;AddOrUpdate;(System.Collections.Immutable.ImmutableDictionary,TKey,System.Func,System.Func);Argument[1];Argument[2].Parameter[0];value;dfc-generated | +| System.Collections.Immutable;ImmutableInterlocked;AddOrUpdate;(System.Collections.Immutable.ImmutableDictionary,TKey,System.Func,System.Func);Argument[1];Argument[2].Parameter[0];value;hq-generated | +| System.Collections.Immutable;ImmutableInterlocked;AddOrUpdate;(System.Collections.Immutable.ImmutableDictionary,TKey,System.Func,System.Func);Argument[1];Argument[3].Parameter[0];value;dfc-generated | +| System.Collections.Immutable;ImmutableInterlocked;AddOrUpdate;(System.Collections.Immutable.ImmutableDictionary,TKey,System.Func,System.Func);Argument[1];Argument[3].Parameter[0];value;hq-generated | +| System.Collections.Immutable;ImmutableInterlocked;AddOrUpdate;(System.Collections.Immutable.ImmutableDictionary,TKey,System.Func,System.Func);Argument[2].ReturnValue;ReturnValue;value;dfc-generated | +| System.Collections.Immutable;ImmutableInterlocked;AddOrUpdate;(System.Collections.Immutable.ImmutableDictionary,TKey,System.Func,System.Func);Argument[2].ReturnValue;ReturnValue;value;hq-generated | +| System.Collections.Immutable;ImmutableInterlocked;AddOrUpdate;(System.Collections.Immutable.ImmutableDictionary,TKey,System.Func,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;dfc-generated | | System.Collections.Immutable;ImmutableInterlocked;AddOrUpdate;(System.Collections.Immutable.ImmutableDictionary,TKey,System.Func,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| System.Collections.Immutable;ImmutableInterlocked;AddOrUpdate;(System.Collections.Immutable.ImmutableDictionary,TKey,System.Func,System.Func);Argument[3].ReturnValue;ReturnValue;value;dfc-generated | +| System.Collections.Immutable;ImmutableInterlocked;AddOrUpdate;(System.Collections.Immutable.ImmutableDictionary,TKey,System.Func,System.Func);Argument[3].ReturnValue;ReturnValue;value;hq-generated | +| System.Collections.Immutable;ImmutableInterlocked;AddOrUpdate;(System.Collections.Immutable.ImmutableDictionary,TKey,System.Func,System.Func);Argument[3];Argument[3].Parameter[delegate-self];value;dfc-generated | | System.Collections.Immutable;ImmutableInterlocked;AddOrUpdate;(System.Collections.Immutable.ImmutableDictionary,TKey,System.Func,System.Func);Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| System.Collections.Immutable;ImmutableInterlocked;AddOrUpdate;(System.Collections.Immutable.ImmutableDictionary,TKey,TValue,System.Func);Argument[0];ReturnValue;value;dfc-generated | +| System.Collections.Immutable;ImmutableInterlocked;AddOrUpdate;(System.Collections.Immutable.ImmutableDictionary,TKey,TValue,System.Func);Argument[0];ReturnValue;value;hq-generated | +| System.Collections.Immutable;ImmutableInterlocked;AddOrUpdate;(System.Collections.Immutable.ImmutableDictionary,TKey,TValue,System.Func);Argument[1];Argument[3].Parameter[0];value;dfc-generated | +| System.Collections.Immutable;ImmutableInterlocked;AddOrUpdate;(System.Collections.Immutable.ImmutableDictionary,TKey,TValue,System.Func);Argument[1];Argument[3].Parameter[0];value;hq-generated | +| System.Collections.Immutable;ImmutableInterlocked;AddOrUpdate;(System.Collections.Immutable.ImmutableDictionary,TKey,TValue,System.Func);Argument[2];ReturnValue;value;dfc-generated | +| System.Collections.Immutable;ImmutableInterlocked;AddOrUpdate;(System.Collections.Immutable.ImmutableDictionary,TKey,TValue,System.Func);Argument[2];ReturnValue;value;hq-generated | +| System.Collections.Immutable;ImmutableInterlocked;AddOrUpdate;(System.Collections.Immutable.ImmutableDictionary,TKey,TValue,System.Func);Argument[3].ReturnValue;ReturnValue;value;dfc-generated | +| System.Collections.Immutable;ImmutableInterlocked;AddOrUpdate;(System.Collections.Immutable.ImmutableDictionary,TKey,TValue,System.Func);Argument[3].ReturnValue;ReturnValue;value;hq-generated | +| System.Collections.Immutable;ImmutableInterlocked;AddOrUpdate;(System.Collections.Immutable.ImmutableDictionary,TKey,TValue,System.Func);Argument[3];Argument[3].Parameter[delegate-self];value;dfc-generated | | System.Collections.Immutable;ImmutableInterlocked;AddOrUpdate;(System.Collections.Immutable.ImmutableDictionary,TKey,TValue,System.Func);Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | | System.Collections.Immutable;ImmutableInterlocked;Enqueue;(System.Collections.Immutable.ImmutableQueue,T);Argument[0];ReturnValue;value;dfc-generated | +| System.Collections.Immutable;ImmutableInterlocked;GetOrAdd;(System.Collections.Immutable.ImmutableDictionary,TKey,System.Func,TArg);Argument[0];ReturnValue;value;dfc-generated | +| System.Collections.Immutable;ImmutableInterlocked;GetOrAdd;(System.Collections.Immutable.ImmutableDictionary,TKey,System.Func,TArg);Argument[0];ReturnValue;value;hq-generated | +| System.Collections.Immutable;ImmutableInterlocked;GetOrAdd;(System.Collections.Immutable.ImmutableDictionary,TKey,System.Func,TArg);Argument[1];Argument[2].Parameter[0];value;dfc-generated | +| System.Collections.Immutable;ImmutableInterlocked;GetOrAdd;(System.Collections.Immutable.ImmutableDictionary,TKey,System.Func,TArg);Argument[1];Argument[2].Parameter[0];value;hq-generated | +| System.Collections.Immutable;ImmutableInterlocked;GetOrAdd;(System.Collections.Immutable.ImmutableDictionary,TKey,System.Func,TArg);Argument[2].ReturnValue;ReturnValue;value;dfc-generated | +| System.Collections.Immutable;ImmutableInterlocked;GetOrAdd;(System.Collections.Immutable.ImmutableDictionary,TKey,System.Func,TArg);Argument[2].ReturnValue;ReturnValue;value;hq-generated | +| System.Collections.Immutable;ImmutableInterlocked;GetOrAdd;(System.Collections.Immutable.ImmutableDictionary,TKey,System.Func,TArg);Argument[2];Argument[2].Parameter[delegate-self];value;dfc-generated | | System.Collections.Immutable;ImmutableInterlocked;GetOrAdd;(System.Collections.Immutable.ImmutableDictionary,TKey,System.Func,TArg);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| System.Collections.Immutable;ImmutableInterlocked;GetOrAdd;(System.Collections.Immutable.ImmutableDictionary,TKey,System.Func,TArg);Argument[3];Argument[2].Parameter[1];value;dfc-generated | +| System.Collections.Immutable;ImmutableInterlocked;GetOrAdd;(System.Collections.Immutable.ImmutableDictionary,TKey,System.Func,TArg);Argument[3];Argument[2].Parameter[1];value;hq-generated | +| System.Collections.Immutable;ImmutableInterlocked;GetOrAdd;(System.Collections.Immutable.ImmutableDictionary,TKey,System.Func);Argument[0];ReturnValue;value;dfc-generated | +| System.Collections.Immutable;ImmutableInterlocked;GetOrAdd;(System.Collections.Immutable.ImmutableDictionary,TKey,System.Func);Argument[0];ReturnValue;value;hq-generated | +| System.Collections.Immutable;ImmutableInterlocked;GetOrAdd;(System.Collections.Immutable.ImmutableDictionary,TKey,System.Func);Argument[1];Argument[2].Parameter[0];value;dfc-generated | +| System.Collections.Immutable;ImmutableInterlocked;GetOrAdd;(System.Collections.Immutable.ImmutableDictionary,TKey,System.Func);Argument[1];Argument[2].Parameter[0];value;hq-generated | +| System.Collections.Immutable;ImmutableInterlocked;GetOrAdd;(System.Collections.Immutable.ImmutableDictionary,TKey,System.Func);Argument[2].ReturnValue;ReturnValue;value;dfc-generated | +| System.Collections.Immutable;ImmutableInterlocked;GetOrAdd;(System.Collections.Immutable.ImmutableDictionary,TKey,System.Func);Argument[2].ReturnValue;ReturnValue;value;hq-generated | +| System.Collections.Immutable;ImmutableInterlocked;GetOrAdd;(System.Collections.Immutable.ImmutableDictionary,TKey,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;dfc-generated | | System.Collections.Immutable;ImmutableInterlocked;GetOrAdd;(System.Collections.Immutable.ImmutableDictionary,TKey,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | | System.Collections.Immutable;ImmutableInterlocked;GetOrAdd;(System.Collections.Immutable.ImmutableDictionary,TKey,TValue);Argument[0];ReturnValue;value;dfc-generated | | System.Collections.Immutable;ImmutableInterlocked;GetOrAdd;(System.Collections.Immutable.ImmutableDictionary,TKey,TValue);Argument[2];ReturnValue;value;dfc-generated | @@ -4634,14 +5246,34 @@ | System.Collections.Immutable;ImmutableInterlocked;TryRemove;(System.Collections.Immutable.ImmutableDictionary,TKey,TValue);Argument[0];ReturnValue;value;dfc-generated | | System.Collections.Immutable;ImmutableInterlocked;TryRemove;(System.Collections.Immutable.ImmutableDictionary,TKey,TValue);Argument[2];ReturnValue;value;dfc-generated | | System.Collections.Immutable;ImmutableInterlocked;TryUpdate;(System.Collections.Immutable.ImmutableDictionary,TKey,TValue,TValue);Argument[0];ReturnValue;value;dfc-generated | +| System.Collections.Immutable;ImmutableInterlocked;Update;(System.Collections.Immutable.ImmutableArray,System.Func,TArg,System.Collections.Immutable.ImmutableArray>,TArg);Argument[0];ReturnValue;value;dfc-generated | +| System.Collections.Immutable;ImmutableInterlocked;Update;(System.Collections.Immutable.ImmutableArray,System.Func,TArg,System.Collections.Immutable.ImmutableArray>,TArg);Argument[0];ReturnValue;value;hq-generated | +| System.Collections.Immutable;ImmutableInterlocked;Update;(System.Collections.Immutable.ImmutableArray,System.Func,TArg,System.Collections.Immutable.ImmutableArray>,TArg);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Collections.Immutable;ImmutableInterlocked;Update;(System.Collections.Immutable.ImmutableArray,System.Func,TArg,System.Collections.Immutable.ImmutableArray>,TArg);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Collections.Immutable;ImmutableInterlocked;Update;(System.Collections.Immutable.ImmutableArray,System.Func,TArg,System.Collections.Immutable.ImmutableArray>,TArg);Argument[2];Argument[1].Parameter[1];value;dfc-generated | +| System.Collections.Immutable;ImmutableInterlocked;Update;(System.Collections.Immutable.ImmutableArray,System.Func,TArg,System.Collections.Immutable.ImmutableArray>,TArg);Argument[2];Argument[1].Parameter[1];value;hq-generated | +| System.Collections.Immutable;ImmutableInterlocked;Update;(T,System.Func,TArg);Argument[0];ReturnValue;value;dfc-generated | +| System.Collections.Immutable;ImmutableInterlocked;Update;(T,System.Func,TArg);Argument[0];ReturnValue;value;hq-generated | +| System.Collections.Immutable;ImmutableInterlocked;Update;(T,System.Func,TArg);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Collections.Immutable;ImmutableInterlocked;Update;(T,System.Func,TArg);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Collections.Immutable;ImmutableInterlocked;Update;(T,System.Func,TArg);Argument[2];Argument[1].Parameter[1];value;dfc-generated | +| System.Collections.Immutable;ImmutableInterlocked;Update;(T,System.Func,TArg);Argument[2];Argument[1].Parameter[1];value;hq-generated | +| System.Collections.Immutable;ImmutableInterlocked;Update;(System.Collections.Immutable.ImmutableArray,System.Func,System.Collections.Immutable.ImmutableArray>);Argument[0];ReturnValue;value;dfc-generated | +| System.Collections.Immutable;ImmutableInterlocked;Update;(System.Collections.Immutable.ImmutableArray,System.Func,System.Collections.Immutable.ImmutableArray>);Argument[0];ReturnValue;value;hq-generated | +| System.Collections.Immutable;ImmutableInterlocked;Update;(System.Collections.Immutable.ImmutableArray,System.Func,System.Collections.Immutable.ImmutableArray>);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Collections.Immutable;ImmutableInterlocked;Update;(System.Collections.Immutable.ImmutableArray,System.Func,System.Collections.Immutable.ImmutableArray>);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Collections.Immutable;ImmutableInterlocked;Update;(T,System.Func);Argument[0];ReturnValue;value;dfc-generated | +| System.Collections.Immutable;ImmutableInterlocked;Update;(T,System.Func);Argument[0];ReturnValue;value;hq-generated | +| System.Collections.Immutable;ImmutableInterlocked;Update;(T,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Collections.Immutable;ImmutableInterlocked;Update;(T,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | System.Collections.Immutable;ImmutableList;Create;(System.ReadOnlySpan);Argument[0];ReturnValue;taint;df-generated | | System.Collections.Immutable;ImmutableList;Create;(T);Argument[0];ReturnValue;taint;df-generated | | System.Collections.Immutable;ImmutableList;Create;(T[]);Argument[0].Element;ReturnValue;taint;df-generated | | System.Collections.Immutable;ImmutableList;CreateRange;(System.Collections.Generic.IEnumerable);Argument[0].Element;ReturnValue;taint;df-generated | +| System.Collections.Immutable;ImmutableList;IndexOf;(System.Collections.Immutable.IImmutableList,T,System.Collections.Generic.IEqualityComparer);Argument[0].Element;Argument[2];taint;df-generated | +| System.Collections.Immutable;ImmutableList;IndexOf;(System.Collections.Immutable.IImmutableList,T,System.Collections.Generic.IEqualityComparer);Argument[1];Argument[2];taint;df-generated | +| System.Collections.Immutable;ImmutableList;LastIndexOf;(System.Collections.Immutable.IImmutableList,T,System.Collections.Generic.IEqualityComparer);Argument[0].Element;Argument[2];taint;df-generated | +| System.Collections.Immutable;ImmutableList;LastIndexOf;(System.Collections.Immutable.IImmutableList,T,System.Collections.Generic.IEqualityComparer);Argument[1];Argument[2];taint;df-generated | | System.Collections.Immutable;ImmutableList;Remove;(System.Collections.Immutable.IImmutableList,T);Argument[0].Element;ReturnValue;taint;df-generated | | System.Collections.Immutable;ImmutableList;RemoveRange;(System.Collections.Immutable.IImmutableList,System.Collections.Generic.IEnumerable);Argument[0].Element;ReturnValue;taint;df-generated | | System.Collections.Immutable;ImmutableList;Replace;(System.Collections.Immutable.IImmutableList,T,T);Argument[0].Element;ReturnValue;taint;df-generated | @@ -4671,12 +5303,19 @@ | System.Collections.Immutable;ImmutableList+Builder;FindLastIndex;(System.Int32,System.Int32,System.Predicate);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | | System.Collections.Immutable;ImmutableList+Builder;FindLastIndex;(System.Int32,System.Predicate);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | System.Collections.Immutable;ImmutableList+Builder;FindLastIndex;(System.Predicate);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Collections.Immutable;ImmutableList+Builder;ForEach;(System.Action);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | System.Collections.Immutable;ImmutableList+Builder;ForEach;(System.Action);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Collections.Immutable;ImmutableList+Builder;ForEach;(System.Action);Argument[this].Element;Argument[0].Parameter[0];value;dfc-generated | +| System.Collections.Immutable;ImmutableList+Builder;ForEach;(System.Action);Argument[this].Element;Argument[0].Parameter[0];value;hq-generated | | System.Collections.Immutable;ImmutableList+Builder;GetEnumerator;();Argument[this].Element;ReturnValue.Property[System.Collections.Immutable.ImmutableList`1+Enumerator.Current];value;manual | | System.Collections.Immutable;ImmutableList+Builder;GetRange;(System.Int32,System.Int32);Argument[this].Element;ReturnValue.Element;value;manual | +| System.Collections.Immutable;ImmutableList+Builder;IndexOf;(T,System.Int32,System.Int32,System.Collections.Generic.IEqualityComparer);Argument[0];Argument[3];taint;df-generated | | System.Collections.Immutable;ImmutableList+Builder;InsertRange;(System.Int32,System.Collections.Generic.IEnumerable);Argument[1].Element;Argument[this].Element;value;manual | +| System.Collections.Immutable;ImmutableList+Builder;LastIndexOf;(T,System.Int32,System.Int32,System.Collections.Generic.IEqualityComparer);Argument[0];Argument[3];taint;df-generated | +| System.Collections.Immutable;ImmutableList+Builder;Remove;(T,System.Collections.Generic.IEqualityComparer);Argument[0];Argument[1];taint;df-generated | | System.Collections.Immutable;ImmutableList+Builder;RemoveAll;(System.Predicate);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | | System.Collections.Immutable;ImmutableList+Builder;Replace;(T,T);Argument[1];Argument[this];taint;df-generated | +| System.Collections.Immutable;ImmutableList+Builder;Replace;(T,T,System.Collections.Generic.IEqualityComparer);Argument[0];Argument[2];taint;df-generated | | System.Collections.Immutable;ImmutableList+Builder;Replace;(T,T,System.Collections.Generic.IEqualityComparer);Argument[1];Argument[this];taint;df-generated | | System.Collections.Immutable;ImmutableList+Builder;Sort;(System.Comparison);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | | System.Collections.Immutable;ImmutableList+Builder;TrueForAll;(System.Predicate);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | @@ -4708,12 +5347,18 @@ | System.Collections.Immutable;ImmutableList;FindLastIndex;(System.Int32,System.Int32,System.Predicate);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | | System.Collections.Immutable;ImmutableList;FindLastIndex;(System.Int32,System.Predicate);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | System.Collections.Immutable;ImmutableList;FindLastIndex;(System.Predicate);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Collections.Immutable;ImmutableList;ForEach;(System.Action);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | System.Collections.Immutable;ImmutableList;ForEach;(System.Action);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Collections.Immutable;ImmutableList;ForEach;(System.Action);Argument[this].Element;Argument[0].Parameter[0];value;dfc-generated | +| System.Collections.Immutable;ImmutableList;ForEach;(System.Action);Argument[this].Element;Argument[0].Parameter[0];value;hq-generated | | System.Collections.Immutable;ImmutableList;GetEnumerator;();Argument[this].Element;ReturnValue.Property[System.Collections.Immutable.ImmutableList`1+Enumerator.Current];value;manual | | System.Collections.Immutable;ImmutableList;GetRange;(System.Int32,System.Int32);Argument[this].Element;ReturnValue.Element;value;manual | +| System.Collections.Immutable;ImmutableList;IndexOf;(T,System.Int32,System.Int32,System.Collections.Generic.IEqualityComparer);Argument[0];Argument[3];taint;df-generated | | System.Collections.Immutable;ImmutableList;Insert;(System.Int32,T);Argument[1];Argument[this].Element;value;manual | | System.Collections.Immutable;ImmutableList;InsertRange;(System.Int32,System.Collections.Generic.IEnumerable);Argument[1].Element;Argument[this].Element;value;manual | +| System.Collections.Immutable;ImmutableList;LastIndexOf;(T,System.Int32,System.Int32,System.Collections.Generic.IEqualityComparer);Argument[0];Argument[3];taint;df-generated | | System.Collections.Immutable;ImmutableList;Remove;(T);Argument[this];ReturnValue;taint;df-generated | +| System.Collections.Immutable;ImmutableList;Remove;(T,System.Collections.Generic.IEqualityComparer);Argument[0];Argument[1];taint;df-generated | | System.Collections.Immutable;ImmutableList;Remove;(T,System.Collections.Generic.IEqualityComparer);Argument[this];ReturnValue;taint;df-generated | | System.Collections.Immutable;ImmutableList;RemoveAll;(System.Predicate);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | | System.Collections.Immutable;ImmutableList;RemoveAt;(System.Int32);Argument[this];ReturnValue;taint;df-generated | @@ -4724,6 +5369,7 @@ | System.Collections.Immutable;ImmutableList;Replace;(T,T);Argument[1];Argument[this];taint;df-generated | | System.Collections.Immutable;ImmutableList;Replace;(T,T);Argument[1];ReturnValue;taint;df-generated | | System.Collections.Immutable;ImmutableList;Replace;(T,T);Argument[this];ReturnValue;taint;df-generated | +| System.Collections.Immutable;ImmutableList;Replace;(T,T,System.Collections.Generic.IEqualityComparer);Argument[0];Argument[2];taint;df-generated | | System.Collections.Immutable;ImmutableList;Replace;(T,T,System.Collections.Generic.IEqualityComparer);Argument[1];Argument[this];taint;df-generated | | System.Collections.Immutable;ImmutableList;Replace;(T,T,System.Collections.Generic.IEqualityComparer);Argument[1];ReturnValue;taint;df-generated | | System.Collections.Immutable;ImmutableList;Replace;(T,T,System.Collections.Generic.IEqualityComparer);Argument[this];ReturnValue;taint;df-generated | @@ -4734,7 +5380,10 @@ | System.Collections.Immutable;ImmutableList;SetItem;(System.Int32,T);Argument[this];ReturnValue;taint;df-generated | | System.Collections.Immutable;ImmutableList;Sort;();Argument[this];ReturnValue;value;dfc-generated | | System.Collections.Immutable;ImmutableList;Sort;(System.Collections.Generic.IComparer);Argument[this];ReturnValue;value;dfc-generated | +| System.Collections.Immutable;ImmutableList;Sort;(System.Comparison);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | System.Collections.Immutable;ImmutableList;Sort;(System.Comparison);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Collections.Immutable;ImmutableList;Sort;(System.Comparison);Argument[this];ReturnValue;value;dfc-generated | +| System.Collections.Immutable;ImmutableList;Sort;(System.Comparison);Argument[this];ReturnValue;value;hq-generated | | System.Collections.Immutable;ImmutableList;Sort;(System.Int32,System.Int32,System.Collections.Generic.IComparer);Argument[this];ReturnValue;value;dfc-generated | | System.Collections.Immutable;ImmutableList;ToBuilder;();Argument[this];ReturnValue;taint;df-generated | | System.Collections.Immutable;ImmutableList;TrueForAll;(System.Predicate);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | @@ -5034,6 +5683,8 @@ | System.Collections;Hashtable;get_EqualityComparer;();Argument[this].SyntheticField[System.Collections.Hashtable._keycomparer];ReturnValue;value;dfc-generated | | System.Collections;ICollection;CopyTo;(System.Array,System.Int32);Argument[this].Element;Argument[0].Element;value;manual | | System.Collections;ICollection;get_SyncRoot;();Argument[this];ReturnValue;value;dfc-generated | +| System.Collections;IComparer;Compare;(System.Object,System.Object);Argument[0];Argument[this];taint;df-generated | +| System.Collections;IComparer;Compare;(System.Object,System.Object);Argument[1];Argument[this];taint;df-generated | | System.Collections;IDictionary;Add;(System.Object,System.Object);Argument[0];Argument[this].Element.Property[System.Collections.Generic.KeyValuePair`2.Key];value;manual | | System.Collections;IDictionary;Add;(System.Object,System.Object);Argument[1];Argument[this].Element.Property[System.Collections.Generic.KeyValuePair`2.Value];value;manual | | System.Collections;IDictionary;Clear;();Argument[this].WithoutElement;Argument[this];value;manual | @@ -5048,6 +5699,9 @@ | System.Collections;IDictionaryEnumerator;get_Value;();Argument[this];ReturnValue;taint;df-generated | | System.Collections;IEnumerable;GetEnumerator;();Argument[this].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | | System.Collections;IEnumerator;get_Current;();Argument[this];ReturnValue;taint;df-generated | +| System.Collections;IEqualityComparer;Equals;(System.Object,System.Object);Argument[0];Argument[this];taint;df-generated | +| System.Collections;IEqualityComparer;Equals;(System.Object,System.Object);Argument[1];Argument[this];taint;df-generated | +| System.Collections;IEqualityComparer;GetHashCode;(System.Object);Argument[0];Argument[this];taint;df-generated | | System.Collections;IList;Add;(System.Object);Argument[0];Argument[this].Element;value;manual | | System.Collections;IList;Clear;();Argument[this].WithoutElement;Argument[this];value;manual | | System.Collections;IList;Insert;(System.Int32,System.Object);Argument[1];Argument[this].Element;value;manual | @@ -5081,8 +5735,6 @@ | System.Collections;Stack;ToArray;();Argument[this].SyntheticField[System.Collections.Stack._array].Element;ReturnValue.Element;value;dfc-generated | | System.ComponentModel.DataAnnotations;AssociationAttribute;get_OtherKeyMembers;();Argument[this].Property[System.ComponentModel.DataAnnotations.AssociationAttribute.OtherKey];ReturnValue.Element;taint;dfc-generated | | System.ComponentModel.DataAnnotations;AssociationAttribute;get_ThisKeyMembers;();Argument[this].Property[System.ComponentModel.DataAnnotations.AssociationAttribute.ThisKey];ReturnValue.Element;taint;dfc-generated | -| System.ComponentModel.DataAnnotations;CompareAttribute;FormatErrorMessage;(System.String);Argument[this].Property[System.ComponentModel.DataAnnotations.CompareAttribute.OtherPropertyDisplayName];ReturnValue;taint;dfc-generated | -| System.ComponentModel.DataAnnotations;CompareAttribute;FormatErrorMessage;(System.String);Argument[this].Property[System.ComponentModel.DataAnnotations.CompareAttribute.OtherProperty];ReturnValue;taint;dfc-generated | | System.ComponentModel.DataAnnotations;DataTypeAttribute;GetDataTypeName;();Argument[this].Property[System.ComponentModel.DataAnnotations.DataTypeAttribute.CustomDataType];ReturnValue;value;dfc-generated | | System.ComponentModel.DataAnnotations;DisplayAttribute;GetAutoGenerateField;();Argument[this];ReturnValue;taint;df-generated | | System.ComponentModel.DataAnnotations;DisplayAttribute;GetAutoGenerateFilter;();Argument[this];ReturnValue;taint;df-generated | @@ -5098,8 +5750,6 @@ | System.ComponentModel.DataAnnotations;FilterUIHintAttribute;get_ControlParameters;();Argument[this];ReturnValue;taint;df-generated | | System.ComponentModel.DataAnnotations;FilterUIHintAttribute;get_FilterUIHint;();Argument[this].SyntheticField[System.ComponentModel.DataAnnotations.FilterUIHintAttribute._implementation].SyntheticField[System.ComponentModel.DataAnnotations.UIHintAttribute+UIHintImplementation.UIHint];ReturnValue;value;dfc-generated | | System.ComponentModel.DataAnnotations;FilterUIHintAttribute;get_PresentationLayer;();Argument[this].SyntheticField[System.ComponentModel.DataAnnotations.FilterUIHintAttribute._implementation].SyntheticField[System.ComponentModel.DataAnnotations.UIHintAttribute+UIHintImplementation.PresentationLayer];ReturnValue;value;dfc-generated | -| System.ComponentModel.DataAnnotations;RangeAttribute;FormatErrorMessage;(System.String);Argument[this].Property[System.ComponentModel.DataAnnotations.RangeAttribute.Maximum];ReturnValue;taint;dfc-generated | -| System.ComponentModel.DataAnnotations;RangeAttribute;FormatErrorMessage;(System.String);Argument[this].Property[System.ComponentModel.DataAnnotations.RangeAttribute.Minimum];ReturnValue;taint;dfc-generated | | System.ComponentModel.DataAnnotations;RegularExpressionAttribute;FormatErrorMessage;(System.String);Argument[this].Property[System.ComponentModel.DataAnnotations.RegularExpressionAttribute.Pattern];ReturnValue;taint;dfc-generated | | System.ComponentModel.DataAnnotations;UIHintAttribute;UIHintAttribute;(System.String,System.String,System.Object[]);Argument[0];Argument[this].SyntheticField[System.ComponentModel.DataAnnotations.UIHintAttribute._implementation].SyntheticField[System.ComponentModel.DataAnnotations.UIHintAttribute+UIHintImplementation.UIHint];value;dfc-generated | | System.ComponentModel.DataAnnotations;UIHintAttribute;UIHintAttribute;(System.String,System.String,System.Object[]);Argument[1];Argument[this].SyntheticField[System.ComponentModel.DataAnnotations.UIHintAttribute._implementation].SyntheticField[System.ComponentModel.DataAnnotations.UIHintAttribute+UIHintImplementation.PresentationLayer];value;dfc-generated | @@ -5108,8 +5758,15 @@ | System.ComponentModel.DataAnnotations;UIHintAttribute;get_UIHint;();Argument[this].SyntheticField[System.ComponentModel.DataAnnotations.UIHintAttribute._implementation].SyntheticField[System.ComponentModel.DataAnnotations.UIHintAttribute+UIHintImplementation.UIHint];ReturnValue;value;dfc-generated | | System.ComponentModel.DataAnnotations;ValidationAttribute;FormatErrorMessage;(System.String);Argument[0];ReturnValue;taint;dfc-generated | | System.ComponentModel.DataAnnotations;ValidationAttribute;FormatErrorMessage;(System.String);Argument[this].Property[System.ComponentModel.DataAnnotations.ValidationAttribute.ErrorMessageString];ReturnValue;taint;dfc-generated | +| System.ComponentModel.DataAnnotations;ValidationAttribute;ValidationAttribute;(System.Func);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | System.ComponentModel.DataAnnotations;ValidationAttribute;ValidationAttribute;(System.Func);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.ComponentModel.DataAnnotations;ValidationAttribute;ValidationAttribute;(System.Func);Argument[0];Argument[this].SyntheticField[System.ComponentModel.DataAnnotations.ValidationAttribute._errorMessageResourceAccessor];value;dfc-generated | +| System.ComponentModel.DataAnnotations;ValidationAttribute;ValidationAttribute;(System.Func);Argument[0];Argument[this].SyntheticField[System.ComponentModel.DataAnnotations.ValidationAttribute._errorMessageResourceAccessor];value;hq-generated | +| System.ComponentModel.DataAnnotations;ValidationAttribute;get_ErrorMessageString;();Argument[this];ReturnValue;taint;df-generated | +| System.ComponentModel.DataAnnotations;ValidationContext;InitializeServiceProvider;(System.Func);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | System.ComponentModel.DataAnnotations;ValidationContext;InitializeServiceProvider;(System.Func);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.ComponentModel.DataAnnotations;ValidationContext;InitializeServiceProvider;(System.Func);Argument[0];Argument[this].SyntheticField[System.ComponentModel.DataAnnotations.ValidationContext._serviceProvider];value;dfc-generated | +| System.ComponentModel.DataAnnotations;ValidationContext;InitializeServiceProvider;(System.Func);Argument[0];Argument[this].SyntheticField[System.ComponentModel.DataAnnotations.ValidationContext._serviceProvider];value;hq-generated | | System.ComponentModel.DataAnnotations;ValidationContext;get_Items;();Argument[this];ReturnValue;taint;df-generated | | System.ComponentModel.DataAnnotations;ValidationException;ValidationException;(System.ComponentModel.DataAnnotations.ValidationResult,System.ComponentModel.DataAnnotations.ValidationAttribute,System.Object);Argument[0];Argument[this];taint;df-generated | | System.ComponentModel.DataAnnotations;ValidationResult;ToString;();Argument[this].Property[System.ComponentModel.DataAnnotations.ValidationResult.ErrorMessage];ReturnValue;value;dfc-generated | @@ -5238,6 +5895,8 @@ | System.ComponentModel;BaseNumberConverter;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);Argument[2].Element;ReturnValue;taint;dfc-generated | | System.ComponentModel;BaseNumberConverter;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);Argument[2];ReturnValue;taint;dfc-generated | | System.ComponentModel;BindingList;InsertItem;(System.Int32,T);Argument[1];Argument[this].SyntheticField[System.Collections.ObjectModel.Collection`1.items].Element;value;dfc-generated | +| System.ComponentModel;BindingList;OnAddingNew;(System.ComponentModel.AddingNewEventArgs);Argument[0];Argument[this];taint;df-generated | +| System.ComponentModel;BindingList;OnListChanged;(System.ComponentModel.ListChangedEventArgs);Argument[0];Argument[this];taint;df-generated | | System.ComponentModel;BindingList;SetItem;(System.Int32,T);Argument[1];Argument[this];taint;df-generated | | System.ComponentModel;BindingList;add_AddingNew;(System.ComponentModel.AddingNewEventHandler);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | | System.ComponentModel;BindingList;get_SortProperty;();Argument[this].Property[System.ComponentModel.BindingList`1.SortPropertyCore];ReturnValue;value;dfc-generated | @@ -5620,6 +6279,10 @@ | System.Configuration;AppSettingsSection;get_Settings;();Argument[this];ReturnValue;taint;df-generated | | System.Configuration;ApplicationSettingsBase;ApplicationSettingsBase;(System.ComponentModel.IComponent,System.String);Argument[0];Argument[this];taint;df-generated | | System.Configuration;ApplicationSettingsBase;ApplicationSettingsBase;(System.String);Argument[0];Argument[this];taint;df-generated | +| System.Configuration;ApplicationSettingsBase;OnPropertyChanged;(System.Object,System.ComponentModel.PropertyChangedEventArgs);Argument[1];Argument[this];taint;df-generated | +| System.Configuration;ApplicationSettingsBase;OnSettingChanging;(System.Object,System.Configuration.SettingChangingEventArgs);Argument[1];Argument[this];taint;df-generated | +| System.Configuration;ApplicationSettingsBase;OnSettingsLoaded;(System.Object,System.Configuration.SettingsLoadedEventArgs);Argument[1];Argument[this];taint;df-generated | +| System.Configuration;ApplicationSettingsBase;OnSettingsSaving;(System.Object,System.ComponentModel.CancelEventArgs);Argument[1];Argument[this];taint;df-generated | | System.Configuration;ApplicationSettingsBase;add_SettingChanging;(System.Configuration.SettingChangingEventHandler);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | | System.Configuration;ApplicationSettingsBase;add_SettingsLoaded;(System.Configuration.SettingsLoadedEventHandler);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | | System.Configuration;ApplicationSettingsBase;add_SettingsSaving;(System.Configuration.SettingsSavingEventHandler);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | @@ -5782,6 +6445,7 @@ | System.Configuration;ConfigurationSectionGroupCollection;get_Item;(System.Int32);Argument[this];ReturnValue;taint;df-generated | | System.Configuration;ConfigurationSectionGroupCollection;get_Item;(System.String);Argument[this];ReturnValue;taint;df-generated | | System.Configuration;ConfigurationValidatorAttribute;get_ValidatorInstance;();Argument[this];ReturnValue;taint;df-generated | +| System.Configuration;ConfigurationValidatorBase;Validate;(System.Object);Argument[0];Argument[this];taint;df-generated | | System.Configuration;ConnectionStringSettings;ToString;();Argument[this].Property[System.Configuration.ConnectionStringSettings.ConnectionString];ReturnValue;value;dfc-generated | | System.Configuration;ConnectionStringSettingsCollection;Add;(System.Configuration.ConnectionStringSettings);Argument[this];Argument[0];taint;df-generated | | System.Configuration;ConnectionStringSettingsCollection;Clear;();Argument[this].WithoutElement;Argument[this];value;manual | @@ -6597,6 +7261,8 @@ | System.Data;DataRelationCollection;Clear;();Argument[this].WithoutElement;Argument[this];value;manual | | System.Data;DataRelationCollection;CopyTo;(System.Data.DataRelation[],System.Int32);Argument[this].Element;Argument[0].Element;value;manual | | System.Data;DataRelationCollection;GetDataSet;();Argument[this];ReturnValue;taint;df-generated | +| System.Data;DataRelationCollection;OnCollectionChanged;(System.ComponentModel.CollectionChangeEventArgs);Argument[0];Argument[this];taint;df-generated | +| System.Data;DataRelationCollection;OnCollectionChanging;(System.ComponentModel.CollectionChangeEventArgs);Argument[0];Argument[this];taint;df-generated | | System.Data;DataRelationCollection;Remove;(System.Data.DataRelation);Argument[0];Argument[this];taint;df-generated | | System.Data;DataRelationCollection;add_CollectionChanged;(System.ComponentModel.CollectionChangeEventHandler);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | | System.Data;DataRelationCollection;get_Item;(System.Int32);Argument[this];ReturnValue;taint;df-generated | @@ -6673,6 +7339,16 @@ | System.Data;DataTable;LoadDataRow;(System.Object[],System.Boolean);Argument[0];Argument[this].SyntheticField[System.Data.DataTable._rowCollection].Element;value;dfc-generated | | System.Data;DataTable;LoadDataRow;(System.Object[],System.Data.LoadOption);Argument[this];ReturnValue;taint;df-generated | | System.Data;DataTable;NewRowArray;(System.Int32);Argument[this];ReturnValue;taint;df-generated | +| System.Data;DataTable;OnColumnChanged;(System.Data.DataColumnChangeEventArgs);Argument[0];Argument[this];taint;df-generated | +| System.Data;DataTable;OnColumnChanging;(System.Data.DataColumnChangeEventArgs);Argument[0];Argument[this];taint;df-generated | +| System.Data;DataTable;OnPropertyChanging;(System.ComponentModel.PropertyChangedEventArgs);Argument[0];Argument[this];taint;df-generated | +| System.Data;DataTable;OnRowChanged;(System.Data.DataRowChangeEventArgs);Argument[0];Argument[this];taint;df-generated | +| System.Data;DataTable;OnRowChanging;(System.Data.DataRowChangeEventArgs);Argument[0];Argument[this];taint;df-generated | +| System.Data;DataTable;OnRowDeleted;(System.Data.DataRowChangeEventArgs);Argument[0];Argument[this];taint;df-generated | +| System.Data;DataTable;OnRowDeleting;(System.Data.DataRowChangeEventArgs);Argument[0];Argument[this];taint;df-generated | +| System.Data;DataTable;OnTableCleared;(System.Data.DataTableClearEventArgs);Argument[0];Argument[this];taint;df-generated | +| System.Data;DataTable;OnTableClearing;(System.Data.DataTableClearEventArgs);Argument[0];Argument[this];taint;df-generated | +| System.Data;DataTable;OnTableNewRow;(System.Data.DataTableNewRowEventArgs);Argument[0];Argument[this];taint;df-generated | | System.Data;DataTable;Select;();Argument[this];ReturnValue;taint;df-generated | | System.Data;DataTable;Select;(System.String);Argument[this];ReturnValue;taint;df-generated | | System.Data;DataTable;Select;(System.String,System.String);Argument[this];ReturnValue;taint;df-generated | @@ -6725,6 +7401,11 @@ | System.Data;DataTableExtensions;CopyToDataTable;(System.Collections.Generic.IEnumerable);Argument[0].Element.Property[System.Data.DataRow.ItemArray];ReturnValue.SyntheticField[System.Data.DataTable._rowCollection].Element;value;dfc-generated | | System.Data;DataTableExtensions;CopyToDataTable;(System.Collections.Generic.IEnumerable,System.Data.DataTable,System.Data.LoadOption);Argument[0].Element.Property[System.Data.DataRow.ItemArray];Argument[1].Property[System.Data.DataTable.Rows].Element;value;dfc-generated | | System.Data;DataTableExtensions;CopyToDataTable;(System.Collections.Generic.IEnumerable,System.Data.DataTable,System.Data.LoadOption);Argument[0].Element.Property[System.Data.DataRow.ItemArray];Argument[1].SyntheticField[System.Data.DataTable._rowCollection].Element;value;dfc-generated | +| System.Data;DataTableExtensions;CopyToDataTable;(System.Collections.Generic.IEnumerable,System.Data.DataTable,System.Data.LoadOption,System.Data.FillErrorEventHandler);Argument[0].Element.Property[System.Data.DataRow.ItemArray];Argument[1].Property[System.Data.DataTable.Rows].Element;value;dfc-generated | +| System.Data;DataTableExtensions;CopyToDataTable;(System.Collections.Generic.IEnumerable,System.Data.DataTable,System.Data.LoadOption,System.Data.FillErrorEventHandler);Argument[0].Element.Property[System.Data.DataRow.ItemArray];Argument[1].Property[System.Data.DataTable.Rows].Element;value;hq-generated | +| System.Data;DataTableExtensions;CopyToDataTable;(System.Collections.Generic.IEnumerable,System.Data.DataTable,System.Data.LoadOption,System.Data.FillErrorEventHandler);Argument[0].Element.Property[System.Data.DataRow.ItemArray];Argument[1].SyntheticField[System.Data.DataTable._rowCollection].Element;value;dfc-generated | +| System.Data;DataTableExtensions;CopyToDataTable;(System.Collections.Generic.IEnumerable,System.Data.DataTable,System.Data.LoadOption,System.Data.FillErrorEventHandler);Argument[0].Element.Property[System.Data.DataRow.ItemArray];Argument[1].SyntheticField[System.Data.DataTable._rowCollection].Element;value;hq-generated | +| System.Data;DataTableExtensions;CopyToDataTable;(System.Collections.Generic.IEnumerable,System.Data.DataTable,System.Data.LoadOption,System.Data.FillErrorEventHandler);Argument[3];Argument[3].Parameter[delegate-self];value;dfc-generated | | System.Data;DataTableExtensions;CopyToDataTable;(System.Collections.Generic.IEnumerable,System.Data.DataTable,System.Data.LoadOption,System.Data.FillErrorEventHandler);Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | | System.Data;DataTableNewRowEventHandler;BeginInvoke;(System.Object,System.Data.DataTableNewRowEventArgs,System.AsyncCallback,System.Object);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | | System.Data;DataTableReader;DataTableReader;(System.Data.DataTable);Argument[0];Argument[this];taint;df-generated | @@ -6737,6 +7418,8 @@ | System.Data;DataView;FindRows;(System.Object[]);Argument[this].Element;ReturnValue.Element;value;dfc-generated | | System.Data;DataView;GetListName;(System.ComponentModel.PropertyDescriptor[]);Argument[this].SyntheticField[System.Data.DataView._table].Property[System.Data.DataTable.TableName];ReturnValue;value;df-generated | | System.Data;DataView;GetListName;(System.ComponentModel.PropertyDescriptor[]);Argument[this].SyntheticField[System.Data.DataView._table].Property[System.Data.DataTable.TableName];ReturnValue;value;dfc-generated | +| System.Data;DataView;IndexListChanged;(System.Object,System.ComponentModel.ListChangedEventArgs);Argument[1];Argument[this];taint;df-generated | +| System.Data;DataView;OnListChanged;(System.ComponentModel.ListChangedEventArgs);Argument[0];Argument[this];taint;df-generated | | System.Data;DataView;ToTable;();Argument[this];ReturnValue;taint;df-generated | | System.Data;DataView;ToTable;(System.Boolean,System.String[]);Argument[this];ReturnValue;taint;df-generated | | System.Data;DataView;ToTable;(System.String);Argument[0];ReturnValue.Property[System.Data.DataTable.TableName];value;dfc-generated | @@ -6856,8 +7539,14 @@ | System.Data;UniqueConstraint;UniqueConstraint;(System.String,System.String[],System.Boolean);Argument[1].Element;Argument[this];taint;df-generated | | System.Data;UniqueConstraint;get_Columns;();Argument[this];ReturnValue;taint;df-generated | | System.Diagnostics.Contracts;Contract;Exists;(System.Int32,System.Int32,System.Predicate);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| System.Diagnostics.Contracts;Contract;Exists;(System.Collections.Generic.IEnumerable,System.Predicate);Argument[0].Element;Argument[1].Parameter[0];value;dfc-generated | +| System.Diagnostics.Contracts;Contract;Exists;(System.Collections.Generic.IEnumerable,System.Predicate);Argument[0].Element;Argument[1].Parameter[0];value;hq-generated | +| System.Diagnostics.Contracts;Contract;Exists;(System.Collections.Generic.IEnumerable,System.Predicate);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Diagnostics.Contracts;Contract;Exists;(System.Collections.Generic.IEnumerable,System.Predicate);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | System.Diagnostics.Contracts;Contract;ForAll;(System.Int32,System.Int32,System.Predicate);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| System.Diagnostics.Contracts;Contract;ForAll;(System.Collections.Generic.IEnumerable,System.Predicate);Argument[0].Element;Argument[1].Parameter[0];value;dfc-generated | +| System.Diagnostics.Contracts;Contract;ForAll;(System.Collections.Generic.IEnumerable,System.Predicate);Argument[0].Element;Argument[1].Parameter[0];value;hq-generated | +| System.Diagnostics.Contracts;Contract;ForAll;(System.Collections.Generic.IEnumerable,System.Predicate);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Diagnostics.Contracts;Contract;ForAll;(System.Collections.Generic.IEnumerable,System.Predicate);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | System.Diagnostics.Contracts;Contract;add_ContractFailed;(System.EventHandler);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | | System.Diagnostics.Contracts;Contract;remove_ContractFailed;(System.EventHandler);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | @@ -6901,16 +7590,25 @@ | System.Diagnostics.Metrics;Meter;CreateObservableUpDownCounter;(System.String,System.Func>,System.String,System.String,System.Collections.Generic.IEnumerable>);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | System.Diagnostics.Metrics;Meter;CreateObservableUpDownCounter;(System.String,System.Func,System.String,System.String);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | System.Diagnostics.Metrics;Meter;CreateObservableUpDownCounter;(System.String,System.Func,System.String,System.String,System.Collections.Generic.IEnumerable>);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Diagnostics.Metrics;MeterListener;DisableMeasurementEvents;(System.Diagnostics.Metrics.Instrument);Argument[0];Argument[this];taint;df-generated | +| System.Diagnostics.Metrics;MeterListener;EnableMeasurementEvents;(System.Diagnostics.Metrics.Instrument,System.Object);Argument[0];Argument[this];taint;df-generated | +| System.Diagnostics.Metrics;MeterListener;EnableMeasurementEvents;(System.Diagnostics.Metrics.Instrument,System.Object);Argument[1];Argument[this];taint;df-generated | | System.Diagnostics.Metrics;MeterListener;SetMeasurementEventCallback;(System.Diagnostics.Metrics.MeasurementCallback);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | | System.Diagnostics.Metrics;MeterListener;set_InstrumentPublished;(System.Action);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | | System.Diagnostics.Metrics;MeterListener;set_MeasurementsCompleted;(System.Action);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | | System.Diagnostics.Metrics;MeterOptions;MeterOptions;(System.String);Argument[0];Argument[this];taint;df-generated | +| System.Diagnostics.Metrics;ObservableCounter;Observe;();Argument[this];ReturnValue;taint;df-generated | +| System.Diagnostics.Metrics;ObservableGauge;Observe;();Argument[this];ReturnValue;taint;df-generated | +| System.Diagnostics.Metrics;ObservableUpDownCounter;Observe;();Argument[this];ReturnValue;taint;df-generated | | System.Diagnostics.Tracing;EventCounter;ToString;();Argument[this].Property[System.Diagnostics.Tracing.DiagnosticCounter.Name];ReturnValue;taint;dfc-generated | | System.Diagnostics.Tracing;EventListener;DisableEvents;(System.Diagnostics.Tracing.EventSource);Argument[this];Argument[0];taint;df-generated | | System.Diagnostics.Tracing;EventListener;EnableEvents;(System.Diagnostics.Tracing.EventSource,System.Diagnostics.Tracing.EventLevel);Argument[this];Argument[0];taint;df-generated | | System.Diagnostics.Tracing;EventListener;EnableEvents;(System.Diagnostics.Tracing.EventSource,System.Diagnostics.Tracing.EventLevel,System.Diagnostics.Tracing.EventKeywords);Argument[this];Argument[0];taint;df-generated | | System.Diagnostics.Tracing;EventListener;EnableEvents;(System.Diagnostics.Tracing.EventSource,System.Diagnostics.Tracing.EventLevel,System.Diagnostics.Tracing.EventKeywords,System.Collections.Generic.IDictionary);Argument[this];Argument[0];taint;df-generated | +| System.Diagnostics.Tracing;EventListener;add_EventSourceCreated;(System.EventHandler);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | System.Diagnostics.Tracing;EventListener;add_EventSourceCreated;(System.EventHandler);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Diagnostics.Tracing;EventListener;add_EventSourceCreated;(System.EventHandler);Argument[this];Argument[0].Parameter[0];value;dfc-generated | +| System.Diagnostics.Tracing;EventListener;add_EventSourceCreated;(System.EventHandler);Argument[this];Argument[0].Parameter[0];value;hq-generated | | System.Diagnostics.Tracing;EventListener;add_EventWritten;(System.EventHandler);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | | System.Diagnostics.Tracing;EventListener;remove_EventSourceCreated;(System.EventHandler);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | | System.Diagnostics.Tracing;EventListener;remove_EventWritten;(System.EventHandler);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | @@ -6925,7 +7623,10 @@ | System.Diagnostics.Tracing;EventSource;Write;(System.String,System.Diagnostics.Tracing.EventSourceOptions,System.Guid,System.Guid,T);Argument[4];ReturnValue;value;dfc-generated | | System.Diagnostics.Tracing;EventSource;Write;(System.String,System.Diagnostics.Tracing.EventSourceOptions,T);Argument[1];ReturnValue;value;dfc-generated | | System.Diagnostics.Tracing;EventSource;Write;(System.String,System.Diagnostics.Tracing.EventSourceOptions,T);Argument[2];ReturnValue;value;dfc-generated | +| System.Diagnostics.Tracing;EventSource;add_EventCommandExecuted;(System.EventHandler);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | System.Diagnostics.Tracing;EventSource;add_EventCommandExecuted;(System.EventHandler);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Diagnostics.Tracing;EventSource;add_EventCommandExecuted;(System.EventHandler);Argument[this];Argument[0].Parameter[0];value;dfc-generated | +| System.Diagnostics.Tracing;EventSource;add_EventCommandExecuted;(System.EventHandler);Argument[this];Argument[0].Parameter[0];value;hq-generated | | System.Diagnostics.Tracing;EventSource;get_ConstructionException;();Argument[this];ReturnValue;taint;df-generated | | System.Diagnostics.Tracing;EventSource;get_Guid;();Argument[this];ReturnValue;taint;df-generated | | System.Diagnostics.Tracing;EventSource;get_Name;();Argument[this];ReturnValue;taint;df-generated | @@ -7020,8 +7721,17 @@ | System.Diagnostics;DiagnosticSource;StartActivity;(System.Diagnostics.Activity,T);Argument[0];ReturnValue;value;dfc-generated | | System.Diagnostics;DistributedContextPropagator+PropagatorGetterCallback;BeginInvoke;(System.Object,System.String,System.String,System.Collections.Generic.IEnumerable,System.AsyncCallback,System.Object);Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | | System.Diagnostics;DistributedContextPropagator+PropagatorSetterCallback;BeginInvoke;(System.Object,System.String,System.String,System.AsyncCallback,System.Object);Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| System.Diagnostics;DistributedContextPropagator;ExtractBaggage;(System.Object,System.Diagnostics.DistributedContextPropagator+PropagatorGetterCallback);Argument[0];Argument[1].Parameter[0];value;dfc-generated | +| System.Diagnostics;DistributedContextPropagator;ExtractBaggage;(System.Object,System.Diagnostics.DistributedContextPropagator+PropagatorGetterCallback);Argument[0];Argument[1].Parameter[0];value;hq-generated | +| System.Diagnostics;DistributedContextPropagator;ExtractBaggage;(System.Object,System.Diagnostics.DistributedContextPropagator+PropagatorGetterCallback);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Diagnostics;DistributedContextPropagator;ExtractBaggage;(System.Object,System.Diagnostics.DistributedContextPropagator+PropagatorGetterCallback);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Diagnostics;DistributedContextPropagator;ExtractTraceIdAndState;(System.Object,System.Diagnostics.DistributedContextPropagator+PropagatorGetterCallback,System.String,System.String);Argument[0];Argument[1].Parameter[0];value;dfc-generated | +| System.Diagnostics;DistributedContextPropagator;ExtractTraceIdAndState;(System.Object,System.Diagnostics.DistributedContextPropagator+PropagatorGetterCallback,System.String,System.String);Argument[0];Argument[1].Parameter[0];value;hq-generated | +| System.Diagnostics;DistributedContextPropagator;ExtractTraceIdAndState;(System.Object,System.Diagnostics.DistributedContextPropagator+PropagatorGetterCallback,System.String,System.String);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Diagnostics;DistributedContextPropagator;ExtractTraceIdAndState;(System.Object,System.Diagnostics.DistributedContextPropagator+PropagatorGetterCallback,System.String,System.String);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Diagnostics;DistributedContextPropagator;Inject;(System.Diagnostics.Activity,System.Object,System.Diagnostics.DistributedContextPropagator+PropagatorSetterCallback);Argument[1];Argument[2].Parameter[0];value;dfc-generated | +| System.Diagnostics;DistributedContextPropagator;Inject;(System.Diagnostics.Activity,System.Object,System.Diagnostics.DistributedContextPropagator+PropagatorSetterCallback);Argument[1];Argument[2].Parameter[0];value;hq-generated | +| System.Diagnostics;DistributedContextPropagator;Inject;(System.Diagnostics.Activity,System.Object,System.Diagnostics.DistributedContextPropagator+PropagatorSetterCallback);Argument[2];Argument[2].Parameter[delegate-self];value;dfc-generated | | System.Diagnostics;DistributedContextPropagator;Inject;(System.Diagnostics.Activity,System.Object,System.Diagnostics.DistributedContextPropagator+PropagatorSetterCallback);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | | System.Diagnostics;EntryWrittenEventHandler;BeginInvoke;(System.Object,System.Diagnostics.EntryWrittenEventArgs,System.AsyncCallback,System.Object);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | | System.Diagnostics;EventLog;add_EntryWritten;(System.Diagnostics.EntryWrittenEventHandler);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | @@ -7487,7 +8197,10 @@ | System.IO.Pipelines;PipeReader;Create;(System.IO.Stream,System.IO.Pipelines.StreamPipeReaderOptions);Argument[0];ReturnValue;taint;df-generated | | System.IO.Pipelines;PipeReader;Create;(System.IO.Stream,System.IO.Pipelines.StreamPipeReaderOptions);Argument[1];ReturnValue;taint;df-generated | | System.IO.Pipelines;PipeReader;OnWriterCompleted;(System.Action,System.Object);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.IO.Pipelines;PipeScheduler;Schedule;(System.Action,System.Object);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | System.IO.Pipelines;PipeScheduler;Schedule;(System.Action,System.Object);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.IO.Pipelines;PipeScheduler;Schedule;(System.Action,System.Object);Argument[1];Argument[0].Parameter[0];value;dfc-generated | +| System.IO.Pipelines;PipeScheduler;Schedule;(System.Action,System.Object);Argument[1];Argument[0].Parameter[0];value;hq-generated | | System.IO.Pipelines;PipeWriter;AsStream;(System.Boolean);Argument[this];ReturnValue;taint;df-generated | | System.IO.Pipelines;PipeWriter;Create;(System.IO.Stream,System.IO.Pipelines.StreamPipeWriterOptions);Argument[0];ReturnValue;taint;df-generated | | System.IO.Pipelines;PipeWriter;Create;(System.IO.Stream,System.IO.Pipelines.StreamPipeWriterOptions);Argument[1];ReturnValue;taint;df-generated | @@ -7632,6 +8345,9 @@ | System.IO;FileSystemWatcher;FileSystemWatcher;(System.String);Argument[0];Argument[this];taint;df-generated | | System.IO;FileSystemWatcher;FileSystemWatcher;(System.String,System.String);Argument[1];Argument[this].Property[System.IO.FileSystemWatcher.Filters].Element;value;dfc-generated | | System.IO;FileSystemWatcher;FileSystemWatcher;(System.String,System.String);Argument[1];Argument[this].SyntheticField[System.IO.FileSystemWatcher._filters].Element;value;dfc-generated | +| System.IO;FileSystemWatcher;OnChanged;(System.IO.FileSystemEventArgs);Argument[0];Argument[this];taint;df-generated | +| System.IO;FileSystemWatcher;OnCreated;(System.IO.FileSystemEventArgs);Argument[0];Argument[this];taint;df-generated | +| System.IO;FileSystemWatcher;OnDeleted;(System.IO.FileSystemEventArgs);Argument[0];Argument[this];taint;df-generated | | System.IO;FileSystemWatcher;add_Changed;(System.IO.FileSystemEventHandler);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | | System.IO;FileSystemWatcher;add_Created;(System.IO.FileSystemEventHandler);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | | System.IO;FileSystemWatcher;add_Deleted;(System.IO.FileSystemEventHandler);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | @@ -8076,6 +8792,11 @@ | System.Linq.Expressions;ExpressionVisitor;Visit;(System.Collections.ObjectModel.ReadOnlyCollection);Argument[0].Element;Argument[this];taint;df-generated | | System.Linq.Expressions;ExpressionVisitor;Visit;(System.Collections.ObjectModel.ReadOnlyCollection);Argument[0].Element;ReturnValue;taint;df-generated | | System.Linq.Expressions;ExpressionVisitor;Visit;(System.Linq.Expressions.Expression);Argument[0];ReturnValue;value;dfc-generated | +| System.Linq.Expressions;ExpressionVisitor;Visit;(System.Collections.ObjectModel.ReadOnlyCollection,System.Func);Argument[0].Element;Argument[1].Parameter[0];value;dfc-generated | +| System.Linq.Expressions;ExpressionVisitor;Visit;(System.Collections.ObjectModel.ReadOnlyCollection,System.Func);Argument[0].Element;Argument[1].Parameter[0];value;hq-generated | +| System.Linq.Expressions;ExpressionVisitor;Visit;(System.Collections.ObjectModel.ReadOnlyCollection,System.Func);Argument[0];ReturnValue;value;dfc-generated | +| System.Linq.Expressions;ExpressionVisitor;Visit;(System.Collections.ObjectModel.ReadOnlyCollection,System.Func);Argument[0];ReturnValue;value;hq-generated | +| System.Linq.Expressions;ExpressionVisitor;Visit;(System.Collections.ObjectModel.ReadOnlyCollection,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Linq.Expressions;ExpressionVisitor;Visit;(System.Collections.ObjectModel.ReadOnlyCollection,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | System.Linq.Expressions;ExpressionVisitor;VisitAndConvert;(System.Collections.ObjectModel.ReadOnlyCollection,System.String);Argument[0].Element;Argument[this];taint;df-generated | | System.Linq.Expressions;ExpressionVisitor;VisitAndConvert;(System.Collections.ObjectModel.ReadOnlyCollection,System.String);Argument[0].Element;ReturnValue;taint;df-generated | @@ -8206,6 +8927,8 @@ | System.Linq;Enumerable;Chunk;(System.Collections.Generic.IEnumerable,System.Int32);Argument[0].Element;ReturnValue.Element.Element;value;dfc-generated | | System.Linq;Enumerable;Concat;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable);Argument[0].Element;ReturnValue.Element;value;manual | | System.Linq;Enumerable;Concat;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable);Argument[1].Element;ReturnValue.Element;value;manual | +| System.Linq;Enumerable;Contains;(System.Collections.Generic.IEnumerable,TSource,System.Collections.Generic.IEqualityComparer);Argument[0].Element;Argument[2];taint;df-generated | +| System.Linq;Enumerable;Contains;(System.Collections.Generic.IEnumerable,TSource,System.Collections.Generic.IEqualityComparer);Argument[1];Argument[2];taint;df-generated | | System.Linq;Enumerable;Count;(System.Collections.Generic.IEnumerable,System.Func);Argument[0].Element;Argument[1].Parameter[0];value;manual | | System.Linq;Enumerable;Count;(System.Collections.Generic.IEnumerable,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;manual | | System.Linq;Enumerable;DefaultIfEmpty;(System.Collections.Generic.IEnumerable);Argument[0].Element;ReturnValue.Element;value;manual | @@ -8213,7 +8936,17 @@ | System.Linq;Enumerable;DefaultIfEmpty;(System.Collections.Generic.IEnumerable,TSource);Argument[1];ReturnValue.Element;value;manual | | System.Linq;Enumerable;Distinct;(System.Collections.Generic.IEnumerable);Argument[0].Element;ReturnValue.Element;value;manual | | System.Linq;Enumerable;Distinct;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Enumerable;DistinctBy;(System.Collections.Generic.IEnumerable,System.Func);Argument[0].Element;Argument[1].Parameter[0];value;dfc-generated | +| System.Linq;Enumerable;DistinctBy;(System.Collections.Generic.IEnumerable,System.Func);Argument[0].Element;Argument[1].Parameter[0];value;hq-generated | +| System.Linq;Enumerable;DistinctBy;(System.Collections.Generic.IEnumerable,System.Func);Argument[0].Element;ReturnValue.Element;value;dfc-generated | +| System.Linq;Enumerable;DistinctBy;(System.Collections.Generic.IEnumerable,System.Func);Argument[0].Element;ReturnValue.Element;value;hq-generated | +| System.Linq;Enumerable;DistinctBy;(System.Collections.Generic.IEnumerable,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Linq;Enumerable;DistinctBy;(System.Collections.Generic.IEnumerable,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Linq;Enumerable;DistinctBy;(System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IEqualityComparer);Argument[0].Element;Argument[1].Parameter[0];value;dfc-generated | +| System.Linq;Enumerable;DistinctBy;(System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IEqualityComparer);Argument[0].Element;Argument[1].Parameter[0];value;hq-generated | +| System.Linq;Enumerable;DistinctBy;(System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IEqualityComparer);Argument[0].Element;ReturnValue.Element;value;dfc-generated | +| System.Linq;Enumerable;DistinctBy;(System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IEqualityComparer);Argument[0].Element;ReturnValue.Element;value;hq-generated | +| System.Linq;Enumerable;DistinctBy;(System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IEqualityComparer);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Linq;Enumerable;DistinctBy;(System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IEqualityComparer);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | System.Linq;Enumerable;ElementAt;(System.Collections.Generic.IEnumerable,System.Index);Argument[0].Element;ReturnValue;value;dfc-generated | | System.Linq;Enumerable;ElementAt;(System.Collections.Generic.IEnumerable,System.Int32);Argument[0].Element;ReturnValue;value;manual | @@ -8221,7 +8954,17 @@ | System.Linq;Enumerable;ElementAtOrDefault;(System.Collections.Generic.IEnumerable,System.Int32);Argument[0].Element;ReturnValue;value;manual | | System.Linq;Enumerable;Except;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable);Argument[0].Element;ReturnValue.Element;value;manual | | System.Linq;Enumerable;Except;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Enumerable;ExceptBy;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func);Argument[0].Element;Argument[2].Parameter[0];value;dfc-generated | +| System.Linq;Enumerable;ExceptBy;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func);Argument[0].Element;Argument[2].Parameter[0];value;hq-generated | +| System.Linq;Enumerable;ExceptBy;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func);Argument[0].Element;ReturnValue.Element;value;dfc-generated | +| System.Linq;Enumerable;ExceptBy;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func);Argument[0].Element;ReturnValue.Element;value;hq-generated | +| System.Linq;Enumerable;ExceptBy;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;dfc-generated | | System.Linq;Enumerable;ExceptBy;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| System.Linq;Enumerable;ExceptBy;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IEqualityComparer);Argument[0].Element;Argument[2].Parameter[0];value;dfc-generated | +| System.Linq;Enumerable;ExceptBy;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IEqualityComparer);Argument[0].Element;Argument[2].Parameter[0];value;hq-generated | +| System.Linq;Enumerable;ExceptBy;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IEqualityComparer);Argument[0].Element;ReturnValue.Element;value;dfc-generated | +| System.Linq;Enumerable;ExceptBy;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IEqualityComparer);Argument[0].Element;ReturnValue.Element;value;hq-generated | +| System.Linq;Enumerable;ExceptBy;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IEqualityComparer);Argument[2];Argument[2].Parameter[delegate-self];value;dfc-generated | | System.Linq;Enumerable;ExceptBy;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IEqualityComparer);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | | System.Linq;Enumerable;First;(System.Collections.Generic.IEnumerable);Argument[0].Element;ReturnValue;value;manual | | System.Linq;Enumerable;First;(System.Collections.Generic.IEnumerable,System.Func);Argument[0].Element;Argument[1].Parameter[0];value;manual | @@ -8231,7 +8974,14 @@ | System.Linq;Enumerable;FirstOrDefault;(System.Collections.Generic.IEnumerable,System.Func);Argument[0].Element;Argument[1].Parameter[0];value;manual | | System.Linq;Enumerable;FirstOrDefault;(System.Collections.Generic.IEnumerable,System.Func);Argument[0].Element;ReturnValue;value;manual | | System.Linq;Enumerable;FirstOrDefault;(System.Collections.Generic.IEnumerable,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;manual | +| System.Linq;Enumerable;FirstOrDefault;(System.Collections.Generic.IEnumerable,System.Func,TSource);Argument[0].Element;Argument[1].Parameter[0];value;dfc-generated | +| System.Linq;Enumerable;FirstOrDefault;(System.Collections.Generic.IEnumerable,System.Func,TSource);Argument[0].Element;Argument[1].Parameter[0];value;hq-generated | +| System.Linq;Enumerable;FirstOrDefault;(System.Collections.Generic.IEnumerable,System.Func,TSource);Argument[0].Element;ReturnValue;value;dfc-generated | +| System.Linq;Enumerable;FirstOrDefault;(System.Collections.Generic.IEnumerable,System.Func,TSource);Argument[0].Element;ReturnValue;value;hq-generated | +| System.Linq;Enumerable;FirstOrDefault;(System.Collections.Generic.IEnumerable,System.Func,TSource);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Linq;Enumerable;FirstOrDefault;(System.Collections.Generic.IEnumerable,System.Func,TSource);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Linq;Enumerable;FirstOrDefault;(System.Collections.Generic.IEnumerable,System.Func,TSource);Argument[2];ReturnValue;value;dfc-generated | +| System.Linq;Enumerable;FirstOrDefault;(System.Collections.Generic.IEnumerable,System.Func,TSource);Argument[2];ReturnValue;value;hq-generated | | System.Linq;Enumerable;FirstOrDefault;(System.Collections.Generic.IEnumerable,TSource);Argument[0].Element;ReturnValue;value;dfc-generated | | System.Linq;Enumerable;FirstOrDefault;(System.Collections.Generic.IEnumerable,TSource);Argument[1];ReturnValue;value;dfc-generated | | System.Linq;Enumerable;GroupBy;(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>);Argument[0].Element;Argument[1].Parameter[0];value;manual | @@ -8295,7 +9045,17 @@ | System.Linq;Enumerable;Intersect;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable);Argument[1].Element;ReturnValue.Element;value;manual | | System.Linq;Enumerable;Intersect;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);Argument[0].Element;ReturnValue.Element;value;manual | | System.Linq;Enumerable;Intersect;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);Argument[1].Element;ReturnValue.Element;value;manual | +| System.Linq;Enumerable;IntersectBy;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func);Argument[0].Element;Argument[2].Parameter[0];value;dfc-generated | +| System.Linq;Enumerable;IntersectBy;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func);Argument[0].Element;Argument[2].Parameter[0];value;hq-generated | +| System.Linq;Enumerable;IntersectBy;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func);Argument[0].Element;ReturnValue.Element;value;dfc-generated | +| System.Linq;Enumerable;IntersectBy;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func);Argument[0].Element;ReturnValue.Element;value;hq-generated | +| System.Linq;Enumerable;IntersectBy;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;dfc-generated | | System.Linq;Enumerable;IntersectBy;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| System.Linq;Enumerable;IntersectBy;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IEqualityComparer);Argument[0].Element;Argument[2].Parameter[0];value;dfc-generated | +| System.Linq;Enumerable;IntersectBy;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IEqualityComparer);Argument[0].Element;Argument[2].Parameter[0];value;hq-generated | +| System.Linq;Enumerable;IntersectBy;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IEqualityComparer);Argument[0].Element;ReturnValue.Element;value;dfc-generated | +| System.Linq;Enumerable;IntersectBy;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IEqualityComparer);Argument[0].Element;ReturnValue.Element;value;hq-generated | +| System.Linq;Enumerable;IntersectBy;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IEqualityComparer);Argument[2];Argument[2].Parameter[delegate-self];value;dfc-generated | | System.Linq;Enumerable;IntersectBy;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IEqualityComparer);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | | System.Linq;Enumerable;Join;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func);Argument[0].Element;Argument[2].Parameter[0];value;manual | | System.Linq;Enumerable;Join;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func);Argument[0].Element;Argument[4].Parameter[0];value;manual | @@ -8321,7 +9081,10 @@ | System.Linq;Enumerable;LastOrDefault;(System.Collections.Generic.IEnumerable,System.Func);Argument[0].Element;Argument[1].Parameter[0];value;manual | | System.Linq;Enumerable;LastOrDefault;(System.Collections.Generic.IEnumerable,System.Func);Argument[0].Element;ReturnValue;value;manual | | System.Linq;Enumerable;LastOrDefault;(System.Collections.Generic.IEnumerable,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;manual | +| System.Linq;Enumerable;LastOrDefault;(System.Collections.Generic.IEnumerable,System.Func,TSource);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Linq;Enumerable;LastOrDefault;(System.Collections.Generic.IEnumerable,System.Func,TSource);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Linq;Enumerable;LastOrDefault;(System.Collections.Generic.IEnumerable,System.Func,TSource);Argument[2];ReturnValue;value;dfc-generated | +| System.Linq;Enumerable;LastOrDefault;(System.Collections.Generic.IEnumerable,System.Func,TSource);Argument[2];ReturnValue;value;hq-generated | | System.Linq;Enumerable;LastOrDefault;(System.Collections.Generic.IEnumerable,TSource);Argument[0].Element;ReturnValue;value;dfc-generated | | System.Linq;Enumerable;LastOrDefault;(System.Collections.Generic.IEnumerable,TSource);Argument[1];ReturnValue;value;dfc-generated | | System.Linq;Enumerable;LongCount;(System.Collections.Generic.IEnumerable,System.Func);Argument[0].Element;Argument[1].Parameter[0];value;manual | @@ -8432,6 +9195,8 @@ | System.Linq;Enumerable;SelectMany;(System.Collections.Generic.IEnumerable,System.Func>);Argument[0].Element;Argument[1].Parameter[0];value;manual | | System.Linq;Enumerable;SelectMany;(System.Collections.Generic.IEnumerable,System.Func>);Argument[1].ReturnValue;ReturnValue.Element;value;manual | | System.Linq;Enumerable;SelectMany;(System.Collections.Generic.IEnumerable,System.Func>);Argument[1];Argument[1].Parameter[delegate-self];value;manual | +| System.Linq;Enumerable;SequenceEqual;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);Argument[0].Element;Argument[2];taint;df-generated | +| System.Linq;Enumerable;SequenceEqual;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);Argument[1].Element;Argument[2];taint;df-generated | | System.Linq;Enumerable;Single;(System.Collections.Generic.IEnumerable);Argument[0].Element;ReturnValue;value;manual | | System.Linq;Enumerable;Single;(System.Collections.Generic.IEnumerable,System.Func);Argument[0].Element;Argument[1].Parameter[0];value;manual | | System.Linq;Enumerable;Single;(System.Collections.Generic.IEnumerable,System.Func);Argument[0].Element;ReturnValue;value;manual | @@ -8440,7 +9205,14 @@ | System.Linq;Enumerable;SingleOrDefault;(System.Collections.Generic.IEnumerable,System.Func);Argument[0].Element;Argument[1].Parameter[0];value;manual | | System.Linq;Enumerable;SingleOrDefault;(System.Collections.Generic.IEnumerable,System.Func);Argument[0].Element;ReturnValue;value;manual | | System.Linq;Enumerable;SingleOrDefault;(System.Collections.Generic.IEnumerable,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;manual | +| System.Linq;Enumerable;SingleOrDefault;(System.Collections.Generic.IEnumerable,System.Func,TSource);Argument[0].Element;Argument[1].Parameter[0];value;dfc-generated | +| System.Linq;Enumerable;SingleOrDefault;(System.Collections.Generic.IEnumerable,System.Func,TSource);Argument[0].Element;Argument[1].Parameter[0];value;hq-generated | +| System.Linq;Enumerable;SingleOrDefault;(System.Collections.Generic.IEnumerable,System.Func,TSource);Argument[0].Element;ReturnValue;value;dfc-generated | +| System.Linq;Enumerable;SingleOrDefault;(System.Collections.Generic.IEnumerable,System.Func,TSource);Argument[0].Element;ReturnValue;value;hq-generated | +| System.Linq;Enumerable;SingleOrDefault;(System.Collections.Generic.IEnumerable,System.Func,TSource);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Linq;Enumerable;SingleOrDefault;(System.Collections.Generic.IEnumerable,System.Func,TSource);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Linq;Enumerable;SingleOrDefault;(System.Collections.Generic.IEnumerable,System.Func,TSource);Argument[2];ReturnValue;value;dfc-generated | +| System.Linq;Enumerable;SingleOrDefault;(System.Collections.Generic.IEnumerable,System.Func,TSource);Argument[2];ReturnValue;value;hq-generated | | System.Linq;Enumerable;SingleOrDefault;(System.Collections.Generic.IEnumerable,TSource);Argument[0].Element;ReturnValue;value;dfc-generated | | System.Linq;Enumerable;SingleOrDefault;(System.Collections.Generic.IEnumerable,TSource);Argument[1];ReturnValue;value;dfc-generated | | System.Linq;Enumerable;Skip;(System.Collections.Generic.IEnumerable,System.Int32);Argument[0].Element;ReturnValue.Element;value;manual | @@ -8540,7 +9312,25 @@ | System.Linq;Enumerable;Union;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable);Argument[1].Element;ReturnValue.Element;value;manual | | System.Linq;Enumerable;Union;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);Argument[0].Element;ReturnValue.Element;value;manual | | System.Linq;Enumerable;Union;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);Argument[1].Element;ReturnValue.Element;value;manual | +| System.Linq;Enumerable;UnionBy;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func);Argument[0].Element;Argument[2].Parameter[0];value;dfc-generated | +| System.Linq;Enumerable;UnionBy;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func);Argument[0].Element;Argument[2].Parameter[0];value;hq-generated | +| System.Linq;Enumerable;UnionBy;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func);Argument[0].Element;ReturnValue.Element;value;dfc-generated | +| System.Linq;Enumerable;UnionBy;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func);Argument[0].Element;ReturnValue.Element;value;hq-generated | +| System.Linq;Enumerable;UnionBy;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func);Argument[1].Element;Argument[2].Parameter[0];value;dfc-generated | +| System.Linq;Enumerable;UnionBy;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func);Argument[1].Element;Argument[2].Parameter[0];value;hq-generated | +| System.Linq;Enumerable;UnionBy;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func);Argument[1].Element;ReturnValue.Element;value;dfc-generated | +| System.Linq;Enumerable;UnionBy;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func);Argument[1].Element;ReturnValue.Element;value;hq-generated | +| System.Linq;Enumerable;UnionBy;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;dfc-generated | | System.Linq;Enumerable;UnionBy;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| System.Linq;Enumerable;UnionBy;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IEqualityComparer);Argument[0].Element;Argument[2].Parameter[0];value;dfc-generated | +| System.Linq;Enumerable;UnionBy;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IEqualityComparer);Argument[0].Element;Argument[2].Parameter[0];value;hq-generated | +| System.Linq;Enumerable;UnionBy;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IEqualityComparer);Argument[0].Element;ReturnValue.Element;value;dfc-generated | +| System.Linq;Enumerable;UnionBy;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IEqualityComparer);Argument[0].Element;ReturnValue.Element;value;hq-generated | +| System.Linq;Enumerable;UnionBy;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IEqualityComparer);Argument[1].Element;Argument[2].Parameter[0];value;dfc-generated | +| System.Linq;Enumerable;UnionBy;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IEqualityComparer);Argument[1].Element;Argument[2].Parameter[0];value;hq-generated | +| System.Linq;Enumerable;UnionBy;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IEqualityComparer);Argument[1].Element;ReturnValue.Element;value;dfc-generated | +| System.Linq;Enumerable;UnionBy;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IEqualityComparer);Argument[1].Element;ReturnValue.Element;value;hq-generated | +| System.Linq;Enumerable;UnionBy;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IEqualityComparer);Argument[2];Argument[2].Parameter[delegate-self];value;dfc-generated | | System.Linq;Enumerable;UnionBy;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IEqualityComparer);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | | System.Linq;Enumerable;Where;(System.Collections.Generic.IEnumerable,System.Func);Argument[0].Element;Argument[1].Parameter[0];value;manual | | System.Linq;Enumerable;Where;(System.Collections.Generic.IEnumerable,System.Func);Argument[0].Element;ReturnValue.Element;value;manual | @@ -8565,9 +9355,33 @@ | System.Linq;EnumerableQuery;get_Expression;();Argument[this].SyntheticField[System.Linq.EnumerableQuery`1._expression];ReturnValue;value;dfc-generated | | System.Linq;IOrderedEnumerable;CreateOrderedEnumerable;(System.Func,System.Collections.Generic.IComparer,System.Boolean);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | | System.Linq;IQueryable;get_Provider;();Argument[this];ReturnValue;value;dfc-generated | +| System.Linq;ImmutableArrayExtensions;Aggregate;(System.Collections.Immutable.ImmutableArray,System.Func);Argument[1].ReturnValue;Argument[1].Parameter[0];value;dfc-generated | +| System.Linq;ImmutableArrayExtensions;Aggregate;(System.Collections.Immutable.ImmutableArray,System.Func);Argument[1].ReturnValue;Argument[1].Parameter[0];value;hq-generated | +| System.Linq;ImmutableArrayExtensions;Aggregate;(System.Collections.Immutable.ImmutableArray,System.Func);Argument[1].ReturnValue;ReturnValue;value;dfc-generated | +| System.Linq;ImmutableArrayExtensions;Aggregate;(System.Collections.Immutable.ImmutableArray,System.Func);Argument[1].ReturnValue;ReturnValue;value;hq-generated | +| System.Linq;ImmutableArrayExtensions;Aggregate;(System.Collections.Immutable.ImmutableArray,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Linq;ImmutableArrayExtensions;Aggregate;(System.Collections.Immutable.ImmutableArray,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Linq;ImmutableArrayExtensions;Aggregate;(System.Collections.Immutable.ImmutableArray,TAccumulate,System.Func);Argument[1];Argument[2].Parameter[0];value;dfc-generated | +| System.Linq;ImmutableArrayExtensions;Aggregate;(System.Collections.Immutable.ImmutableArray,TAccumulate,System.Func);Argument[1];Argument[2].Parameter[0];value;hq-generated | +| System.Linq;ImmutableArrayExtensions;Aggregate;(System.Collections.Immutable.ImmutableArray,TAccumulate,System.Func);Argument[1];ReturnValue;value;dfc-generated | +| System.Linq;ImmutableArrayExtensions;Aggregate;(System.Collections.Immutable.ImmutableArray,TAccumulate,System.Func);Argument[1];ReturnValue;value;hq-generated | +| System.Linq;ImmutableArrayExtensions;Aggregate;(System.Collections.Immutable.ImmutableArray,TAccumulate,System.Func);Argument[2].ReturnValue;Argument[2].Parameter[0];value;dfc-generated | +| System.Linq;ImmutableArrayExtensions;Aggregate;(System.Collections.Immutable.ImmutableArray,TAccumulate,System.Func);Argument[2].ReturnValue;Argument[2].Parameter[0];value;hq-generated | +| System.Linq;ImmutableArrayExtensions;Aggregate;(System.Collections.Immutable.ImmutableArray,TAccumulate,System.Func);Argument[2].ReturnValue;ReturnValue;value;dfc-generated | +| System.Linq;ImmutableArrayExtensions;Aggregate;(System.Collections.Immutable.ImmutableArray,TAccumulate,System.Func);Argument[2].ReturnValue;ReturnValue;value;hq-generated | +| System.Linq;ImmutableArrayExtensions;Aggregate;(System.Collections.Immutable.ImmutableArray,TAccumulate,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;dfc-generated | | System.Linq;ImmutableArrayExtensions;Aggregate;(System.Collections.Immutable.ImmutableArray,TAccumulate,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| System.Linq;ImmutableArrayExtensions;Aggregate;(System.Collections.Immutable.ImmutableArray,TAccumulate,System.Func,System.Func);Argument[1];Argument[2].Parameter[0];value;dfc-generated | +| System.Linq;ImmutableArrayExtensions;Aggregate;(System.Collections.Immutable.ImmutableArray,TAccumulate,System.Func,System.Func);Argument[1];Argument[2].Parameter[0];value;hq-generated | +| System.Linq;ImmutableArrayExtensions;Aggregate;(System.Collections.Immutable.ImmutableArray,TAccumulate,System.Func,System.Func);Argument[1];Argument[3].Parameter[0];value;dfc-generated | +| System.Linq;ImmutableArrayExtensions;Aggregate;(System.Collections.Immutable.ImmutableArray,TAccumulate,System.Func,System.Func);Argument[1];Argument[3].Parameter[0];value;hq-generated | +| System.Linq;ImmutableArrayExtensions;Aggregate;(System.Collections.Immutable.ImmutableArray,TAccumulate,System.Func,System.Func);Argument[2].ReturnValue;Argument[3].Parameter[0];value;dfc-generated | +| System.Linq;ImmutableArrayExtensions;Aggregate;(System.Collections.Immutable.ImmutableArray,TAccumulate,System.Func,System.Func);Argument[2].ReturnValue;Argument[3].Parameter[0];value;hq-generated | +| System.Linq;ImmutableArrayExtensions;Aggregate;(System.Collections.Immutable.ImmutableArray,TAccumulate,System.Func,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;dfc-generated | | System.Linq;ImmutableArrayExtensions;Aggregate;(System.Collections.Immutable.ImmutableArray,TAccumulate,System.Func,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| System.Linq;ImmutableArrayExtensions;Aggregate;(System.Collections.Immutable.ImmutableArray,TAccumulate,System.Func,System.Func);Argument[3].ReturnValue;ReturnValue;value;dfc-generated | +| System.Linq;ImmutableArrayExtensions;Aggregate;(System.Collections.Immutable.ImmutableArray,TAccumulate,System.Func,System.Func);Argument[3].ReturnValue;ReturnValue;value;hq-generated | +| System.Linq;ImmutableArrayExtensions;Aggregate;(System.Collections.Immutable.ImmutableArray,TAccumulate,System.Func,System.Func);Argument[3];Argument[3].Parameter[delegate-self];value;dfc-generated | | System.Linq;ImmutableArrayExtensions;Aggregate;(System.Collections.Immutable.ImmutableArray,TAccumulate,System.Func,System.Func);Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | | System.Linq;ImmutableArrayExtensions;All;(System.Collections.Immutable.ImmutableArray,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | System.Linq;ImmutableArrayExtensions;Any;(System.Collections.Immutable.ImmutableArray,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | @@ -8585,29 +9399,87 @@ | System.Linq;ImmutableArrayExtensions;LastOrDefault;(System.Collections.Immutable.ImmutableArray+Builder);Argument[0].Element;ReturnValue;value;manual | | System.Linq;ImmutableArrayExtensions;LastOrDefault;(System.Collections.Immutable.ImmutableArray,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | System.Linq;ImmutableArrayExtensions;Select;(System.Collections.Immutable.ImmutableArray,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Linq;ImmutableArrayExtensions;SelectMany;(System.Collections.Immutable.ImmutableArray,System.Func>,System.Func);Argument[1].ReturnValue.Element;Argument[2].Parameter[1];value;dfc-generated | +| System.Linq;ImmutableArrayExtensions;SelectMany;(System.Collections.Immutable.ImmutableArray,System.Func>,System.Func);Argument[1].ReturnValue.Element;Argument[2].Parameter[1];value;hq-generated | +| System.Linq;ImmutableArrayExtensions;SelectMany;(System.Collections.Immutable.ImmutableArray,System.Func>,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Linq;ImmutableArrayExtensions;SelectMany;(System.Collections.Immutable.ImmutableArray,System.Func>,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Linq;ImmutableArrayExtensions;SelectMany;(System.Collections.Immutable.ImmutableArray,System.Func>,System.Func);Argument[2].ReturnValue;ReturnValue.Element;value;dfc-generated | +| System.Linq;ImmutableArrayExtensions;SelectMany;(System.Collections.Immutable.ImmutableArray,System.Func>,System.Func);Argument[2].ReturnValue;ReturnValue.Element;value;hq-generated | +| System.Linq;ImmutableArrayExtensions;SelectMany;(System.Collections.Immutable.ImmutableArray,System.Func>,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;dfc-generated | | System.Linq;ImmutableArrayExtensions;SelectMany;(System.Collections.Immutable.ImmutableArray,System.Func>,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| System.Linq;ImmutableArrayExtensions;SequenceEqual;(System.Collections.Immutable.ImmutableArray,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);Argument[0].Element;Argument[2];taint;df-generated | +| System.Linq;ImmutableArrayExtensions;SequenceEqual;(System.Collections.Immutable.ImmutableArray,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);Argument[1].Element;Argument[2];taint;df-generated | +| System.Linq;ImmutableArrayExtensions;SequenceEqual;(System.Collections.Immutable.ImmutableArray,System.Collections.Immutable.ImmutableArray,System.Collections.Generic.IEqualityComparer);Argument[0].Element;Argument[2];taint;df-generated | +| System.Linq;ImmutableArrayExtensions;SequenceEqual;(System.Collections.Immutable.ImmutableArray,System.Collections.Immutable.ImmutableArray,System.Collections.Generic.IEqualityComparer);Argument[1].Element;Argument[2];taint;df-generated | | System.Linq;ImmutableArrayExtensions;SequenceEqual;(System.Collections.Immutable.ImmutableArray,System.Collections.Immutable.ImmutableArray,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | | System.Linq;ImmutableArrayExtensions;Single;(System.Collections.Immutable.ImmutableArray);Argument[0].Element;ReturnValue;taint;df-generated | | System.Linq;ImmutableArrayExtensions;Single;(System.Collections.Immutable.ImmutableArray,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | System.Linq;ImmutableArrayExtensions;SingleOrDefault;(System.Collections.Immutable.ImmutableArray,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | System.Linq;ImmutableArrayExtensions;ToArray;(System.Collections.Immutable.ImmutableArray);Argument[0].Element;ReturnValue;taint;df-generated | +| System.Linq;ImmutableArrayExtensions;ToDictionary;(System.Collections.Immutable.ImmutableArray,System.Func);Argument[0].Element;Argument[1].Parameter[0];value;dfc-generated | +| System.Linq;ImmutableArrayExtensions;ToDictionary;(System.Collections.Immutable.ImmutableArray,System.Func);Argument[0].Element;Argument[1].Parameter[0];value;hq-generated | +| System.Linq;ImmutableArrayExtensions;ToDictionary;(System.Collections.Immutable.ImmutableArray,System.Func);Argument[0].Element;ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair`2.Value];value;dfc-generated | +| System.Linq;ImmutableArrayExtensions;ToDictionary;(System.Collections.Immutable.ImmutableArray,System.Func);Argument[0].Element;ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair`2.Value];value;hq-generated | +| System.Linq;ImmutableArrayExtensions;ToDictionary;(System.Collections.Immutable.ImmutableArray,System.Func);Argument[1].ReturnValue;ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair`2.Key];value;dfc-generated | +| System.Linq;ImmutableArrayExtensions;ToDictionary;(System.Collections.Immutable.ImmutableArray,System.Func);Argument[1].ReturnValue;ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair`2.Key];value;hq-generated | +| System.Linq;ImmutableArrayExtensions;ToDictionary;(System.Collections.Immutable.ImmutableArray,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Linq;ImmutableArrayExtensions;ToDictionary;(System.Collections.Immutable.ImmutableArray,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Linq;ImmutableArrayExtensions;ToDictionary;(System.Collections.Immutable.ImmutableArray,System.Func,System.Collections.Generic.IEqualityComparer);Argument[0].Element;Argument[1].Parameter[0];value;dfc-generated | +| System.Linq;ImmutableArrayExtensions;ToDictionary;(System.Collections.Immutable.ImmutableArray,System.Func,System.Collections.Generic.IEqualityComparer);Argument[0].Element;Argument[1].Parameter[0];value;hq-generated | +| System.Linq;ImmutableArrayExtensions;ToDictionary;(System.Collections.Immutable.ImmutableArray,System.Func,System.Collections.Generic.IEqualityComparer);Argument[0].Element;ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair`2.Value];value;dfc-generated | +| System.Linq;ImmutableArrayExtensions;ToDictionary;(System.Collections.Immutable.ImmutableArray,System.Func,System.Collections.Generic.IEqualityComparer);Argument[0].Element;ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair`2.Value];value;hq-generated | +| System.Linq;ImmutableArrayExtensions;ToDictionary;(System.Collections.Immutable.ImmutableArray,System.Func,System.Collections.Generic.IEqualityComparer);Argument[1].ReturnValue;ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair`2.Key];value;dfc-generated | +| System.Linq;ImmutableArrayExtensions;ToDictionary;(System.Collections.Immutable.ImmutableArray,System.Func,System.Collections.Generic.IEqualityComparer);Argument[1].ReturnValue;ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair`2.Key];value;hq-generated | +| System.Linq;ImmutableArrayExtensions;ToDictionary;(System.Collections.Immutable.ImmutableArray,System.Func,System.Collections.Generic.IEqualityComparer);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Linq;ImmutableArrayExtensions;ToDictionary;(System.Collections.Immutable.ImmutableArray,System.Func,System.Collections.Generic.IEqualityComparer);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Linq;ImmutableArrayExtensions;ToDictionary;(System.Collections.Immutable.ImmutableArray,System.Func,System.Func);Argument[1].ReturnValue;ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair`2.Key];value;dfc-generated | +| System.Linq;ImmutableArrayExtensions;ToDictionary;(System.Collections.Immutable.ImmutableArray,System.Func,System.Func);Argument[1].ReturnValue;ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair`2.Key];value;hq-generated | +| System.Linq;ImmutableArrayExtensions;ToDictionary;(System.Collections.Immutable.ImmutableArray,System.Func,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Linq;ImmutableArrayExtensions;ToDictionary;(System.Collections.Immutable.ImmutableArray,System.Func,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Linq;ImmutableArrayExtensions;ToDictionary;(System.Collections.Immutable.ImmutableArray,System.Func,System.Func);Argument[2].ReturnValue;ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair`2.Value];value;dfc-generated | +| System.Linq;ImmutableArrayExtensions;ToDictionary;(System.Collections.Immutable.ImmutableArray,System.Func,System.Func);Argument[2].ReturnValue;ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair`2.Value];value;hq-generated | +| System.Linq;ImmutableArrayExtensions;ToDictionary;(System.Collections.Immutable.ImmutableArray,System.Func,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;dfc-generated | | System.Linq;ImmutableArrayExtensions;ToDictionary;(System.Collections.Immutable.ImmutableArray,System.Func,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| System.Linq;ImmutableArrayExtensions;ToDictionary;(System.Collections.Immutable.ImmutableArray,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);Argument[1].ReturnValue;ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair`2.Key];value;dfc-generated | +| System.Linq;ImmutableArrayExtensions;ToDictionary;(System.Collections.Immutable.ImmutableArray,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);Argument[1].ReturnValue;ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair`2.Key];value;hq-generated | +| System.Linq;ImmutableArrayExtensions;ToDictionary;(System.Collections.Immutable.ImmutableArray,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Linq;ImmutableArrayExtensions;ToDictionary;(System.Collections.Immutable.ImmutableArray,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Linq;ImmutableArrayExtensions;ToDictionary;(System.Collections.Immutable.ImmutableArray,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);Argument[2].ReturnValue;ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair`2.Value];value;dfc-generated | +| System.Linq;ImmutableArrayExtensions;ToDictionary;(System.Collections.Immutable.ImmutableArray,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);Argument[2].ReturnValue;ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair`2.Value];value;hq-generated | +| System.Linq;ImmutableArrayExtensions;ToDictionary;(System.Collections.Immutable.ImmutableArray,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);Argument[2];Argument[2].Parameter[delegate-self];value;dfc-generated | | System.Linq;ImmutableArrayExtensions;ToDictionary;(System.Collections.Immutable.ImmutableArray,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | | System.Linq;ImmutableArrayExtensions;Where;(System.Collections.Immutable.ImmutableArray,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Linq;Lookup;ApplyResultSelector;(System.Func,TResult>);Argument[0].ReturnValue;ReturnValue.Element;value;dfc-generated | +| System.Linq;Lookup;ApplyResultSelector;(System.Func,TResult>);Argument[0].ReturnValue;ReturnValue.Element;value;hq-generated | +| System.Linq;Lookup;ApplyResultSelector;(System.Func,TResult>);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | System.Linq;Lookup;ApplyResultSelector;(System.Func,TResult>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | | System.Linq;Lookup;GetEnumerator;();Argument[this].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator`1.Current];value;manual | | System.Linq;Lookup;get_Item;(TKey);Argument[this];ReturnValue;taint;df-generated | +| System.Linq;ParallelEnumerable;Aggregate;(System.Linq.ParallelQuery,System.Func,System.Func,System.Func,System.Func);Argument[1].ReturnValue;ReturnValue;value;dfc-generated | +| System.Linq;ParallelEnumerable;Aggregate;(System.Linq.ParallelQuery,System.Func,System.Func,System.Func,System.Func);Argument[1].ReturnValue;ReturnValue;value;hq-generated | +| System.Linq;ParallelEnumerable;Aggregate;(System.Linq.ParallelQuery,System.Func,System.Func,System.Func,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Linq;ParallelEnumerable;Aggregate;(System.Linq.ParallelQuery,System.Func,System.Func,System.Func,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Linq;ParallelEnumerable;Aggregate;(System.Linq.ParallelQuery,System.Func,System.Func,System.Func,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;dfc-generated | | System.Linq;ParallelEnumerable;Aggregate;(System.Linq.ParallelQuery,System.Func,System.Func,System.Func,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| System.Linq;ParallelEnumerable;Aggregate;(System.Linq.ParallelQuery,System.Func,System.Func,System.Func,System.Func);Argument[3].ReturnValue;ReturnValue;value;dfc-generated | +| System.Linq;ParallelEnumerable;Aggregate;(System.Linq.ParallelQuery,System.Func,System.Func,System.Func,System.Func);Argument[3].ReturnValue;ReturnValue;value;hq-generated | +| System.Linq;ParallelEnumerable;Aggregate;(System.Linq.ParallelQuery,System.Func,System.Func,System.Func,System.Func);Argument[3];Argument[3].Parameter[delegate-self];value;dfc-generated | | System.Linq;ParallelEnumerable;Aggregate;(System.Linq.ParallelQuery,System.Func,System.Func,System.Func,System.Func);Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| System.Linq;ParallelEnumerable;Aggregate;(System.Linq.ParallelQuery,System.Func,System.Func,System.Func,System.Func);Argument[4].ReturnValue;ReturnValue;value;dfc-generated | +| System.Linq;ParallelEnumerable;Aggregate;(System.Linq.ParallelQuery,System.Func,System.Func,System.Func,System.Func);Argument[4].ReturnValue;ReturnValue;value;hq-generated | +| System.Linq;ParallelEnumerable;Aggregate;(System.Linq.ParallelQuery,System.Func,System.Func,System.Func,System.Func);Argument[4];Argument[4].Parameter[delegate-self];value;dfc-generated | | System.Linq;ParallelEnumerable;Aggregate;(System.Linq.ParallelQuery,System.Func,System.Func,System.Func,System.Func);Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| System.Linq;ParallelEnumerable;Aggregate;(System.Linq.ParallelQuery,TAccumulate,System.Func,System.Func,System.Func);Argument[1];ReturnValue;value;dfc-generated | +| System.Linq;ParallelEnumerable;Aggregate;(System.Linq.ParallelQuery,TAccumulate,System.Func,System.Func,System.Func);Argument[1];ReturnValue;value;hq-generated | +| System.Linq;ParallelEnumerable;Aggregate;(System.Linq.ParallelQuery,TAccumulate,System.Func,System.Func,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;dfc-generated | | System.Linq;ParallelEnumerable;Aggregate;(System.Linq.ParallelQuery,TAccumulate,System.Func,System.Func,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| System.Linq;ParallelEnumerable;Aggregate;(System.Linq.ParallelQuery,TAccumulate,System.Func,System.Func,System.Func);Argument[3].ReturnValue;ReturnValue;value;dfc-generated | +| System.Linq;ParallelEnumerable;Aggregate;(System.Linq.ParallelQuery,TAccumulate,System.Func,System.Func,System.Func);Argument[3].ReturnValue;ReturnValue;value;hq-generated | +| System.Linq;ParallelEnumerable;Aggregate;(System.Linq.ParallelQuery,TAccumulate,System.Func,System.Func,System.Func);Argument[3];Argument[3].Parameter[delegate-self];value;dfc-generated | | System.Linq;ParallelEnumerable;Aggregate;(System.Linq.ParallelQuery,TAccumulate,System.Func,System.Func,System.Func);Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| System.Linq;ParallelEnumerable;Aggregate;(System.Linq.ParallelQuery,TAccumulate,System.Func,System.Func,System.Func);Argument[4].ReturnValue;ReturnValue;value;dfc-generated | +| System.Linq;ParallelEnumerable;Aggregate;(System.Linq.ParallelQuery,TAccumulate,System.Func,System.Func,System.Func);Argument[4].ReturnValue;ReturnValue;value;hq-generated | +| System.Linq;ParallelEnumerable;Aggregate;(System.Linq.ParallelQuery,TAccumulate,System.Func,System.Func,System.Func);Argument[4];Argument[4].Parameter[delegate-self];value;dfc-generated | | System.Linq;ParallelEnumerable;Aggregate;(System.Linq.ParallelQuery,TAccumulate,System.Func,System.Func,System.Func);Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | | System.Linq;ParallelEnumerable;Aggregate;(System.Linq.ParallelQuery,TAccumulate,System.Func,System.Func);Argument[0].Element;Argument[2].Parameter[1];value;manual | | System.Linq;ParallelEnumerable;Aggregate;(System.Linq.ParallelQuery,TAccumulate,System.Func,System.Func);Argument[1];Argument[2].Parameter[0];value;manual | @@ -8887,6 +9759,8 @@ | System.Linq;ParallelEnumerable;SelectMany;(System.Linq.ParallelQuery,System.Func>);Argument[0].Element;Argument[1].Parameter[0];value;manual | | System.Linq;ParallelEnumerable;SelectMany;(System.Linq.ParallelQuery,System.Func>);Argument[1].ReturnValue;ReturnValue.Element;value;manual | | System.Linq;ParallelEnumerable;SelectMany;(System.Linq.ParallelQuery,System.Func>);Argument[1];Argument[1].Parameter[delegate-self];value;manual | +| System.Linq;ParallelEnumerable;SequenceEqual;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Collections.Generic.IEqualityComparer);Argument[0].Element;Argument[2];taint;df-generated | +| System.Linq;ParallelEnumerable;SequenceEqual;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Collections.Generic.IEqualityComparer);Argument[1].Element;Argument[2];taint;df-generated | | System.Linq;ParallelEnumerable;Single;(System.Linq.ParallelQuery);Argument[0].Element;ReturnValue;value;manual | | System.Linq;ParallelEnumerable;Single;(System.Linq.ParallelQuery,System.Func);Argument[0].Element;Argument[1].Parameter[0];value;manual | | System.Linq;ParallelEnumerable;Single;(System.Linq.ParallelQuery,System.Func);Argument[0].Element;ReturnValue;value;manual | @@ -9651,15 +10525,18 @@ | System.Net.Security;SslServerAuthenticationOptions;set_ServerCertificateSelectionCallback;(System.Net.Security.ServerCertificateSelectionCallback);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | | System.Net.Security;SslStream;AuthenticateAsClient;(System.Net.Security.SslClientAuthenticationOptions);Argument[0];Argument[this];taint;df-generated | | System.Net.Security;SslStream;AuthenticateAsClientAsync;(System.Net.Security.SslClientAuthenticationOptions,System.Threading.CancellationToken);Argument[0];Argument[this];taint;df-generated | +| System.Net.Security;SslStream;AuthenticateAsClientAsync;(System.Net.Security.SslClientAuthenticationOptions,System.Threading.CancellationToken);Argument[1];Argument[this];taint;df-generated | | System.Net.Security;SslStream;AuthenticateAsServer;(System.Net.Security.SslServerAuthenticationOptions);Argument[0];Argument[this];taint;df-generated | | System.Net.Security;SslStream;AuthenticateAsServerAsync;(System.Net.Security.ServerOptionsSelectionCallback,System.Object,System.Threading.CancellationToken);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | | System.Net.Security;SslStream;AuthenticateAsServerAsync;(System.Net.Security.SslServerAuthenticationOptions,System.Threading.CancellationToken);Argument[0];Argument[this];taint;df-generated | +| System.Net.Security;SslStream;AuthenticateAsServerAsync;(System.Net.Security.SslServerAuthenticationOptions,System.Threading.CancellationToken);Argument[1];Argument[this];taint;df-generated | | System.Net.Security;SslStream;BeginAuthenticateAsClient;(System.String,System.AsyncCallback,System.Object);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | System.Net.Security;SslStream;BeginAuthenticateAsClient;(System.String,System.Security.Cryptography.X509Certificates.X509CertificateCollection,System.Boolean,System.AsyncCallback,System.Object);Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | | System.Net.Security;SslStream;BeginAuthenticateAsClient;(System.String,System.Security.Cryptography.X509Certificates.X509CertificateCollection,System.Security.Authentication.SslProtocols,System.Boolean,System.AsyncCallback,System.Object);Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | | System.Net.Security;SslStream;BeginAuthenticateAsServer;(System.Security.Cryptography.X509Certificates.X509Certificate,System.AsyncCallback,System.Object);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | System.Net.Security;SslStream;BeginAuthenticateAsServer;(System.Security.Cryptography.X509Certificates.X509Certificate,System.Boolean,System.Boolean,System.AsyncCallback,System.Object);Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | | System.Net.Security;SslStream;BeginAuthenticateAsServer;(System.Security.Cryptography.X509Certificates.X509Certificate,System.Boolean,System.Security.Authentication.SslProtocols,System.Boolean,System.AsyncCallback,System.Object);Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| System.Net.Security;SslStream;NegotiateClientCertificateAsync;(System.Threading.CancellationToken);Argument[0];Argument[this];taint;df-generated | | System.Net.Security;SslStream;SslStream;(System.IO.Stream,System.Boolean,System.Net.Security.RemoteCertificateValidationCallback);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | | System.Net.Security;SslStream;SslStream;(System.IO.Stream,System.Boolean,System.Net.Security.RemoteCertificateValidationCallback,System.Net.Security.LocalCertificateSelectionCallback);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | | System.Net.Security;SslStream;SslStream;(System.IO.Stream,System.Boolean,System.Net.Security.RemoteCertificateValidationCallback,System.Net.Security.LocalCertificateSelectionCallback);Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | @@ -9695,7 +10572,13 @@ | System.Net.Sockets;Socket;BeginReceive;(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.Net.Sockets.SocketError,System.AsyncCallback,System.Object);Argument[5];Argument[5].Parameter[delegate-self];value;hq-generated | | System.Net.Sockets;Socket;BeginReceive;(System.Collections.Generic.IList>,System.Net.Sockets.SocketFlags,System.AsyncCallback,System.Object);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | | System.Net.Sockets;Socket;BeginReceive;(System.Collections.Generic.IList>,System.Net.Sockets.SocketFlags,System.Net.Sockets.SocketError,System.AsyncCallback,System.Object);Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| System.Net.Sockets;Socket;BeginReceiveFrom;(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.Net.EndPoint,System.AsyncCallback,System.Object);Argument[4];ReturnValue;value;dfc-generated | +| System.Net.Sockets;Socket;BeginReceiveFrom;(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.Net.EndPoint,System.AsyncCallback,System.Object);Argument[4];ReturnValue;value;hq-generated | +| System.Net.Sockets;Socket;BeginReceiveFrom;(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.Net.EndPoint,System.AsyncCallback,System.Object);Argument[5];Argument[5].Parameter[delegate-self];value;dfc-generated | | System.Net.Sockets;Socket;BeginReceiveFrom;(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.Net.EndPoint,System.AsyncCallback,System.Object);Argument[5];Argument[5].Parameter[delegate-self];value;hq-generated | +| System.Net.Sockets;Socket;BeginReceiveMessageFrom;(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.Net.EndPoint,System.AsyncCallback,System.Object);Argument[4];ReturnValue;value;dfc-generated | +| System.Net.Sockets;Socket;BeginReceiveMessageFrom;(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.Net.EndPoint,System.AsyncCallback,System.Object);Argument[4];ReturnValue;value;hq-generated | +| System.Net.Sockets;Socket;BeginReceiveMessageFrom;(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.Net.EndPoint,System.AsyncCallback,System.Object);Argument[5];Argument[5].Parameter[delegate-self];value;dfc-generated | | System.Net.Sockets;Socket;BeginReceiveMessageFrom;(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.Net.EndPoint,System.AsyncCallback,System.Object);Argument[5];Argument[5].Parameter[delegate-self];value;hq-generated | | System.Net.Sockets;Socket;BeginSend;(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.AsyncCallback,System.Object);Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | | System.Net.Sockets;Socket;BeginSend;(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.Net.Sockets.SocketError,System.AsyncCallback,System.Object);Argument[5];Argument[5].Parameter[delegate-self];value;hq-generated | @@ -9832,7 +10715,10 @@ | System.Net;FtpWebResponse;get_WelcomeMessage;();Argument[this];ReturnValue;taint;df-generated | | System.Net;HttpContinueDelegate;BeginInvoke;(System.Int32,System.Net.WebHeaderCollection,System.AsyncCallback,System.Object);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | | System.Net;HttpListener+ExtendedProtectionSelector;BeginInvoke;(System.Net.HttpListenerRequest,System.AsyncCallback,System.Object);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Net;HttpListener;BeginGetContext;(System.AsyncCallback,System.Object);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | System.Net;HttpListener;BeginGetContext;(System.AsyncCallback,System.Object);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Net;HttpListener;BeginGetContext;(System.AsyncCallback,System.Object);Argument[1];ReturnValue.SyntheticField[System.Net.ListenerAsyncResult._state];value;dfc-generated | +| System.Net;HttpListener;BeginGetContext;(System.AsyncCallback,System.Object);Argument[1];ReturnValue.SyntheticField[System.Net.ListenerAsyncResult._state];value;hq-generated | | System.Net;HttpListener;get_DefaultServiceNames;();Argument[this];ReturnValue;taint;df-generated | | System.Net;HttpListener;get_Prefixes;();Argument[this];ReturnValue;taint;df-generated | | System.Net;HttpListener;get_TimeoutManager;();Argument[this];ReturnValue;taint;df-generated | @@ -10225,6 +11111,7 @@ | System.Reflection.Metadata.Ecma335;PermissionSetEncoder;AddPermission;(System.String,System.Reflection.Metadata.BlobBuilder);Argument[this];ReturnValue;value;dfc-generated | | System.Reflection.Metadata.Ecma335;PortablePdbBuilder;PortablePdbBuilder;(System.Reflection.Metadata.Ecma335.MetadataBuilder,System.Collections.Immutable.ImmutableArray,System.Reflection.Metadata.MethodDefinitionHandle,System.Func,System.Reflection.Metadata.BlobContentId>);Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | | System.Reflection.Metadata.Ecma335;PortablePdbBuilder;Serialize;(System.Reflection.Metadata.BlobBuilder);Argument[0];Argument[this];taint;df-generated | +| System.Reflection.Metadata.Ecma335;PortablePdbBuilder;Serialize;(System.Reflection.Metadata.BlobBuilder);Argument[this];ReturnValue;taint;df-generated | | System.Reflection.Metadata.Ecma335;SignatureDecoder;DecodeFieldSignature;(System.Reflection.Metadata.BlobReader);Argument[0];ReturnValue;value;dfc-generated | | System.Reflection.Metadata.Ecma335;SignatureDecoder;DecodeLocalSignature;(System.Reflection.Metadata.BlobReader);Argument[0];ReturnValue;value;dfc-generated | | System.Reflection.Metadata.Ecma335;SignatureDecoder;DecodeMethodSignature;(System.Reflection.Metadata.BlobReader);Argument[0];ReturnValue;value;dfc-generated | @@ -10233,8 +11120,12 @@ | System.Reflection.Metadata.Ecma335;SignatureDecoder;SignatureDecoder;(System.Reflection.Metadata.ISignatureTypeProvider,System.Reflection.Metadata.MetadataReader,TGenericContext);Argument[0];Argument[this];taint;df-generated | | System.Reflection.Metadata.Ecma335;SignatureDecoder;SignatureDecoder;(System.Reflection.Metadata.ISignatureTypeProvider,System.Reflection.Metadata.MetadataReader,TGenericContext);Argument[1];Argument[this];taint;df-generated | | System.Reflection.Metadata.Ecma335;SignatureDecoder;SignatureDecoder;(System.Reflection.Metadata.ISignatureTypeProvider,System.Reflection.Metadata.MetadataReader,TGenericContext);Argument[2];Argument[this];taint;df-generated | +| System.Reflection.Metadata.Ecma335;SignatureTypeEncoder;Array;(System.Action,System.Action);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | System.Reflection.Metadata.Ecma335;SignatureTypeEncoder;Array;(System.Action,System.Action);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Reflection.Metadata.Ecma335;SignatureTypeEncoder;Array;(System.Action,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Reflection.Metadata.Ecma335;SignatureTypeEncoder;Array;(System.Action,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Reflection.Metadata.Ecma335;SignatureTypeEncoder;Array;(System.Action,System.Action);Argument[this];Argument[0].Parameter[0];value;dfc-generated | +| System.Reflection.Metadata.Ecma335;SignatureTypeEncoder;Array;(System.Action,System.Action);Argument[this];Argument[0].Parameter[0];value;hq-generated | | System.Reflection.Metadata.Ecma335;SignatureTypeEncoder;Array;(System.Reflection.Metadata.Ecma335.SignatureTypeEncoder,System.Reflection.Metadata.Ecma335.ArrayShapeEncoder);Argument[this];ReturnValue;value;dfc-generated | | System.Reflection.Metadata.Ecma335;SignatureTypeEncoder;Pointer;();Argument[this];ReturnValue;value;dfc-generated | | System.Reflection.Metadata.Ecma335;SignatureTypeEncoder;SZArray;();Argument[this];ReturnValue;value;dfc-generated | @@ -10446,6 +11337,9 @@ | System.Reflection.Metadata;TypeReferenceHandleCollection+Enumerator;get_Current;();Argument[this].Property[System.Reflection.Metadata.TypeReferenceHandleCollection+Enumerator.Current];ReturnValue;value;df-generated | | System.Reflection.Metadata;TypeReferenceHandleCollection+Enumerator;get_Current;();Argument[this].Property[System.Reflection.Metadata.TypeReferenceHandleCollection+Enumerator.Current];ReturnValue;value;dfc-generated | | System.Reflection.Metadata;TypeSpecification;GetCustomAttributes;();Argument[this];ReturnValue;taint;df-generated | +| System.Reflection.PortableExecutable;DebugDirectoryBuilder;AddEntry;(System.Reflection.PortableExecutable.DebugDirectoryEntryType,System.UInt32,System.UInt32,TData,System.Action);Argument[3];Argument[4].Parameter[1];value;dfc-generated | +| System.Reflection.PortableExecutable;DebugDirectoryBuilder;AddEntry;(System.Reflection.PortableExecutable.DebugDirectoryEntryType,System.UInt32,System.UInt32,TData,System.Action);Argument[3];Argument[4].Parameter[1];value;hq-generated | +| System.Reflection.PortableExecutable;DebugDirectoryBuilder;AddEntry;(System.Reflection.PortableExecutable.DebugDirectoryEntryType,System.UInt32,System.UInt32,TData,System.Action);Argument[4];Argument[4].Parameter[delegate-self];value;dfc-generated | | System.Reflection.PortableExecutable;DebugDirectoryBuilder;AddEntry;(System.Reflection.PortableExecutable.DebugDirectoryEntryType,System.UInt32,System.UInt32,TData,System.Action);Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | | System.Reflection.PortableExecutable;ManagedPEBuilder;ManagedPEBuilder;(System.Reflection.PortableExecutable.PEHeaderBuilder,System.Reflection.Metadata.Ecma335.MetadataRootBuilder,System.Reflection.Metadata.BlobBuilder,System.Reflection.Metadata.BlobBuilder,System.Reflection.Metadata.BlobBuilder,System.Reflection.PortableExecutable.ResourceSectionBuilder,System.Reflection.PortableExecutable.DebugDirectoryBuilder,System.Int32,System.Reflection.Metadata.MethodDefinitionHandle,System.Reflection.PortableExecutable.CorFlags,System.Func,System.Reflection.Metadata.BlobContentId>);Argument[10];Argument[10].Parameter[delegate-self];value;hq-generated | | System.Reflection.PortableExecutable;ManagedPEBuilder;Sign;(System.Reflection.Metadata.BlobBuilder,System.Func,System.Byte[]>);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | @@ -10454,6 +11348,7 @@ | System.Reflection.PortableExecutable;PEBuilder;GetSections;();Argument[this];ReturnValue;taint;df-generated | | System.Reflection.PortableExecutable;PEBuilder;PEBuilder;(System.Reflection.PortableExecutable.PEHeaderBuilder,System.Func,System.Reflection.Metadata.BlobContentId>);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | System.Reflection.PortableExecutable;PEBuilder;Serialize;(System.Reflection.Metadata.BlobBuilder);Argument[0];Argument[this];taint;df-generated | +| System.Reflection.PortableExecutable;PEBuilder;Serialize;(System.Reflection.Metadata.BlobBuilder);Argument[this];ReturnValue;taint;df-generated | | System.Reflection.PortableExecutable;PEBuilder;SerializeSection;(System.String,System.Reflection.PortableExecutable.SectionLocation);Argument[this];ReturnValue;taint;df-generated | | System.Reflection.PortableExecutable;PEHeaders;get_CoffHeader;();Argument[this];ReturnValue;taint;df-generated | | System.Reflection.PortableExecutable;PEHeaders;get_CorHeader;();Argument[this];ReturnValue;taint;df-generated | @@ -10467,6 +11362,11 @@ | System.Reflection.PortableExecutable;PEReader;PEReader;(System.Byte*,System.Int32,System.Boolean);Argument[0];Argument[this];taint;df-generated | | System.Reflection.PortableExecutable;PEReader;PEReader;(System.Collections.Immutable.ImmutableArray);Argument[0].Element;Argument[this];taint;df-generated | | System.Reflection.PortableExecutable;PEReader;PEReader;(System.IO.Stream,System.Reflection.PortableExecutable.PEStreamOptions,System.Int32);Argument[0];Argument[this];taint;df-generated | +| System.Reflection.PortableExecutable;PEReader;TryOpenAssociatedPortablePdb;(System.String,System.Func,System.Reflection.Metadata.MetadataReaderProvider,System.String);Argument[0];Argument[1].Parameter[0];taint;dfc-generated | +| System.Reflection.PortableExecutable;PEReader;TryOpenAssociatedPortablePdb;(System.String,System.Func,System.Reflection.Metadata.MetadataReaderProvider,System.String);Argument[0];Argument[1].Parameter[0];taint;hq-generated | +| System.Reflection.PortableExecutable;PEReader;TryOpenAssociatedPortablePdb;(System.String,System.Func,System.Reflection.Metadata.MetadataReaderProvider,System.String);Argument[0];ReturnValue;taint;dfc-generated | +| System.Reflection.PortableExecutable;PEReader;TryOpenAssociatedPortablePdb;(System.String,System.Func,System.Reflection.Metadata.MetadataReaderProvider,System.String);Argument[0];ReturnValue;taint;hq-generated | +| System.Reflection.PortableExecutable;PEReader;TryOpenAssociatedPortablePdb;(System.String,System.Func,System.Reflection.Metadata.MetadataReaderProvider,System.String);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Reflection.PortableExecutable;PEReader;TryOpenAssociatedPortablePdb;(System.String,System.Func,System.Reflection.Metadata.MetadataReaderProvider,System.String);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | System.Reflection.PortableExecutable;PEReader;get_PEHeaders;();Argument[this];ReturnValue;taint;df-generated | | System.Reflection;Assembly;CreateQualifiedName;(System.String,System.String);Argument[0];ReturnValue;taint;dfc-generated | @@ -10510,6 +11410,17 @@ | System.Reflection;Binder;ReorderArgumentArray;(System.Object[],System.Object);Argument[0];ReturnValue;value;dfc-generated | | System.Reflection;Binder;SelectMethod;(System.Reflection.BindingFlags,System.Reflection.MethodBase[],System.Type[],System.Reflection.ParameterModifier[]);Argument[1].Element;ReturnValue;value;dfc-generated | | System.Reflection;Binder;SelectProperty;(System.Reflection.BindingFlags,System.Reflection.PropertyInfo[],System.Type,System.Type[],System.Reflection.ParameterModifier[]);Argument[1].Element;ReturnValue;value;dfc-generated | +| System.Reflection;ConstructorInvoker;Invoke;(System.Object);Argument[0];Argument[this];taint;df-generated | +| System.Reflection;ConstructorInvoker;Invoke;(System.Object,System.Object);Argument[0];Argument[this];taint;df-generated | +| System.Reflection;ConstructorInvoker;Invoke;(System.Object,System.Object);Argument[1];Argument[this];taint;df-generated | +| System.Reflection;ConstructorInvoker;Invoke;(System.Object,System.Object,System.Object);Argument[0];Argument[this];taint;df-generated | +| System.Reflection;ConstructorInvoker;Invoke;(System.Object,System.Object,System.Object);Argument[1];Argument[this];taint;df-generated | +| System.Reflection;ConstructorInvoker;Invoke;(System.Object,System.Object,System.Object);Argument[2];Argument[this];taint;df-generated | +| System.Reflection;ConstructorInvoker;Invoke;(System.Object,System.Object,System.Object,System.Object);Argument[0];Argument[this];taint;df-generated | +| System.Reflection;ConstructorInvoker;Invoke;(System.Object,System.Object,System.Object,System.Object);Argument[1];Argument[this];taint;df-generated | +| System.Reflection;ConstructorInvoker;Invoke;(System.Object,System.Object,System.Object,System.Object);Argument[2];Argument[this];taint;df-generated | +| System.Reflection;ConstructorInvoker;Invoke;(System.Object,System.Object,System.Object,System.Object);Argument[3];Argument[this];taint;df-generated | +| System.Reflection;ConstructorInvoker;Invoke;(System.Span);Argument[0];Argument[this];taint;df-generated | | System.Reflection;CustomAttributeData;get_Constructor;();Argument[this];ReturnValue;taint;df-generated | | System.Reflection;CustomAttributeData;get_ConstructorArguments;();Argument[this];ReturnValue;taint;df-generated | | System.Reflection;CustomAttributeData;get_NamedArguments;();Argument[this];ReturnValue;taint;df-generated | @@ -10556,6 +11467,12 @@ | System.Reflection;MethodBase;GetGenericArguments;();Argument[this];ReturnValue;taint;df-generated | | System.Reflection;MethodBase;GetMethodBody;();Argument[this];ReturnValue;taint;df-generated | | System.Reflection;MethodBase;GetParameters;();Argument[this];ReturnValue;taint;df-generated | +| System.Reflection;MethodBase;Invoke;(System.Object,System.Object[]);Argument[0];Argument[this];taint;df-generated | +| System.Reflection;MethodBase;Invoke;(System.Object,System.Object[]);Argument[1].Element;Argument[this];taint;df-generated | +| System.Reflection;MethodBase;Invoke;(System.Object,System.Object[]);Argument[this];ReturnValue;taint;df-generated | +| System.Reflection;MethodBase;Invoke;(System.Object,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo);Argument[0];Argument[this];taint;df-generated | +| System.Reflection;MethodBase;Invoke;(System.Object,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo);Argument[3].Element;Argument[this];taint;df-generated | +| System.Reflection;MethodBase;Invoke;(System.Object,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo);Argument[this];ReturnValue;taint;df-generated | | System.Reflection;MethodBase;get_MethodHandle;();Argument[this];ReturnValue;taint;df-generated | | System.Reflection;MethodBody;GetILAsByteArray;();Argument[this];ReturnValue;taint;df-generated | | System.Reflection;MethodBody;get_ExceptionHandlingClauses;();Argument[this];ReturnValue;taint;df-generated | @@ -10569,7 +11486,33 @@ | System.Reflection;MethodInfo;get_ReturnType;();Argument[this];ReturnValue;taint;df-generated | | System.Reflection;MethodInfo;get_ReturnTypeCustomAttributes;();Argument[this];ReturnValue;taint;df-generated | | System.Reflection;MethodInfoExtensions;GetBaseDefinition;(System.Reflection.MethodInfo);Argument[0];ReturnValue;taint;df-generated | +| System.Reflection;MethodInvoker;Invoke;(System.Object);Argument[0];Argument[this];taint;df-generated | +| System.Reflection;MethodInvoker;Invoke;(System.Object);Argument[this];ReturnValue;taint;df-generated | +| System.Reflection;MethodInvoker;Invoke;(System.Object,System.Object);Argument[0];Argument[this];taint;df-generated | +| System.Reflection;MethodInvoker;Invoke;(System.Object,System.Object);Argument[1];Argument[this];taint;df-generated | +| System.Reflection;MethodInvoker;Invoke;(System.Object,System.Object);Argument[this];ReturnValue;taint;df-generated | +| System.Reflection;MethodInvoker;Invoke;(System.Object,System.Object,System.Object);Argument[0];Argument[this];taint;df-generated | +| System.Reflection;MethodInvoker;Invoke;(System.Object,System.Object,System.Object);Argument[1];Argument[this];taint;df-generated | +| System.Reflection;MethodInvoker;Invoke;(System.Object,System.Object,System.Object);Argument[2];Argument[this];taint;df-generated | +| System.Reflection;MethodInvoker;Invoke;(System.Object,System.Object,System.Object);Argument[this];ReturnValue;taint;df-generated | +| System.Reflection;MethodInvoker;Invoke;(System.Object,System.Object,System.Object,System.Object);Argument[0];Argument[this];taint;df-generated | +| System.Reflection;MethodInvoker;Invoke;(System.Object,System.Object,System.Object,System.Object);Argument[1];Argument[this];taint;df-generated | +| System.Reflection;MethodInvoker;Invoke;(System.Object,System.Object,System.Object,System.Object);Argument[2];Argument[this];taint;df-generated | +| System.Reflection;MethodInvoker;Invoke;(System.Object,System.Object,System.Object,System.Object);Argument[3];Argument[this];taint;df-generated | +| System.Reflection;MethodInvoker;Invoke;(System.Object,System.Object,System.Object,System.Object);Argument[this];ReturnValue;taint;df-generated | +| System.Reflection;MethodInvoker;Invoke;(System.Object,System.Object,System.Object,System.Object,System.Object);Argument[0];Argument[this];taint;df-generated | +| System.Reflection;MethodInvoker;Invoke;(System.Object,System.Object,System.Object,System.Object,System.Object);Argument[1];Argument[this];taint;df-generated | +| System.Reflection;MethodInvoker;Invoke;(System.Object,System.Object,System.Object,System.Object,System.Object);Argument[2];Argument[this];taint;df-generated | +| System.Reflection;MethodInvoker;Invoke;(System.Object,System.Object,System.Object,System.Object,System.Object);Argument[3];Argument[this];taint;df-generated | +| System.Reflection;MethodInvoker;Invoke;(System.Object,System.Object,System.Object,System.Object,System.Object);Argument[4];Argument[this];taint;df-generated | +| System.Reflection;MethodInvoker;Invoke;(System.Object,System.Object,System.Object,System.Object,System.Object);Argument[this];ReturnValue;taint;df-generated | +| System.Reflection;MethodInvoker;Invoke;(System.Object,System.Span);Argument[0];Argument[this];taint;df-generated | +| System.Reflection;MethodInvoker;Invoke;(System.Object,System.Span);Argument[1];Argument[this];taint;df-generated | +| System.Reflection;MethodInvoker;Invoke;(System.Object,System.Span);Argument[this];ReturnValue;taint;df-generated | +| System.Reflection;Module;FindTypes;(System.Reflection.TypeFilter,System.Object);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | System.Reflection;Module;FindTypes;(System.Reflection.TypeFilter,System.Object);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Reflection;Module;FindTypes;(System.Reflection.TypeFilter,System.Object);Argument[1];Argument[0].Parameter[1];value;dfc-generated | +| System.Reflection;Module;FindTypes;(System.Reflection.TypeFilter,System.Object);Argument[1];Argument[0].Parameter[1];value;hq-generated | | System.Reflection;Module;GetField;(System.String);Argument[this];ReturnValue;taint;df-generated | | System.Reflection;Module;GetField;(System.String,System.Reflection.BindingFlags);Argument[this];ReturnValue;taint;df-generated | | System.Reflection;Module;GetMethod;(System.String);Argument[this];ReturnValue;taint;df-generated | @@ -10613,6 +11556,10 @@ | System.Reflection;PropertyInfo;GetModifiedPropertyType;();Argument[this];ReturnValue;taint;df-generated | | System.Reflection;PropertyInfo;GetSetMethod;();Argument[this];ReturnValue;taint;df-generated | | System.Reflection;PropertyInfo;GetSetMethod;(System.Boolean);Argument[this];ReturnValue;taint;df-generated | +| System.Reflection;PropertyInfo;GetValue;(System.Object);Argument[0];Argument[this];taint;df-generated | +| System.Reflection;PropertyInfo;GetValue;(System.Object);Argument[this];ReturnValue;taint;df-generated | +| System.Reflection;PropertyInfo;GetValue;(System.Object,System.Object[]);Argument[0];Argument[this];taint;df-generated | +| System.Reflection;PropertyInfo;GetValue;(System.Object,System.Object[]);Argument[this];ReturnValue;taint;df-generated | | System.Reflection;PropertyInfo;get_GetMethod;();Argument[this];ReturnValue;taint;df-generated | | System.Reflection;PropertyInfo;get_PropertyType;();Argument[this];ReturnValue;taint;df-generated | | System.Reflection;PropertyInfo;get_SetMethod;();Argument[this];ReturnValue;taint;df-generated | @@ -10687,6 +11634,11 @@ | System.Runtime.CompilerServices;CallSite;get_Binder;();Argument[this];ReturnValue;taint;df-generated | | System.Runtime.CompilerServices;ConditionalWeakTable+CreateValueCallback;BeginInvoke;(TKey,System.AsyncCallback,System.Object);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | System.Runtime.CompilerServices;ConditionalWeakTable;Clear;();Argument[this].WithoutElement;Argument[this];value;manual | +| System.Runtime.CompilerServices;ConditionalWeakTable;GetValue;(TKey,System.Runtime.CompilerServices.ConditionalWeakTable+CreateValueCallback);Argument[0];Argument[1].Parameter[0];value;dfc-generated | +| System.Runtime.CompilerServices;ConditionalWeakTable;GetValue;(TKey,System.Runtime.CompilerServices.ConditionalWeakTable+CreateValueCallback);Argument[0];Argument[1].Parameter[0];value;hq-generated | +| System.Runtime.CompilerServices;ConditionalWeakTable;GetValue;(TKey,System.Runtime.CompilerServices.ConditionalWeakTable+CreateValueCallback);Argument[1].ReturnValue;ReturnValue;value;dfc-generated | +| System.Runtime.CompilerServices;ConditionalWeakTable;GetValue;(TKey,System.Runtime.CompilerServices.ConditionalWeakTable+CreateValueCallback);Argument[1].ReturnValue;ReturnValue;value;hq-generated | +| System.Runtime.CompilerServices;ConditionalWeakTable;GetValue;(TKey,System.Runtime.CompilerServices.ConditionalWeakTable+CreateValueCallback);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Runtime.CompilerServices;ConditionalWeakTable;GetValue;(TKey,System.Runtime.CompilerServices.ConditionalWeakTable+CreateValueCallback);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | System.Runtime.CompilerServices;ConfiguredCancelableAsyncEnumerable+Enumerator;get_Current;();Argument[this];ReturnValue;taint;df-generated | | System.Runtime.CompilerServices;ConfiguredCancelableAsyncEnumerable;ConfigureAwait;(System.Boolean);Argument[this];ReturnValue;taint;df-generated | @@ -10726,8 +11678,14 @@ | System.Runtime.CompilerServices;ReadOnlyCollectionBuilder;ReadOnlyCollectionBuilder;(System.Collections.Generic.IEnumerable);Argument[0].Element;Argument[this];taint;df-generated | | System.Runtime.CompilerServices;RuntimeHelpers+CleanupCode;BeginInvoke;(System.Object,System.Boolean,System.AsyncCallback,System.Object);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | | System.Runtime.CompilerServices;RuntimeHelpers+TryCode;BeginInvoke;(System.Object,System.AsyncCallback,System.Object);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Runtime.CompilerServices;RuntimeHelpers;ExecuteCodeWithGuaranteedCleanup;(System.Runtime.CompilerServices.RuntimeHelpers+TryCode,System.Runtime.CompilerServices.RuntimeHelpers+CleanupCode,System.Object);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | System.Runtime.CompilerServices;RuntimeHelpers;ExecuteCodeWithGuaranteedCleanup;(System.Runtime.CompilerServices.RuntimeHelpers+TryCode,System.Runtime.CompilerServices.RuntimeHelpers+CleanupCode,System.Object);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Runtime.CompilerServices;RuntimeHelpers;ExecuteCodeWithGuaranteedCleanup;(System.Runtime.CompilerServices.RuntimeHelpers+TryCode,System.Runtime.CompilerServices.RuntimeHelpers+CleanupCode,System.Object);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Runtime.CompilerServices;RuntimeHelpers;ExecuteCodeWithGuaranteedCleanup;(System.Runtime.CompilerServices.RuntimeHelpers+TryCode,System.Runtime.CompilerServices.RuntimeHelpers+CleanupCode,System.Object);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Runtime.CompilerServices;RuntimeHelpers;ExecuteCodeWithGuaranteedCleanup;(System.Runtime.CompilerServices.RuntimeHelpers+TryCode,System.Runtime.CompilerServices.RuntimeHelpers+CleanupCode,System.Object);Argument[2];Argument[0].Parameter[0];value;dfc-generated | +| System.Runtime.CompilerServices;RuntimeHelpers;ExecuteCodeWithGuaranteedCleanup;(System.Runtime.CompilerServices.RuntimeHelpers+TryCode,System.Runtime.CompilerServices.RuntimeHelpers+CleanupCode,System.Object);Argument[2];Argument[0].Parameter[0];value;hq-generated | +| System.Runtime.CompilerServices;RuntimeHelpers;ExecuteCodeWithGuaranteedCleanup;(System.Runtime.CompilerServices.RuntimeHelpers+TryCode,System.Runtime.CompilerServices.RuntimeHelpers+CleanupCode,System.Object);Argument[2];Argument[1].Parameter[0];value;dfc-generated | +| System.Runtime.CompilerServices;RuntimeHelpers;ExecuteCodeWithGuaranteedCleanup;(System.Runtime.CompilerServices.RuntimeHelpers+TryCode,System.Runtime.CompilerServices.RuntimeHelpers+CleanupCode,System.Object);Argument[2];Argument[1].Parameter[0];value;hq-generated | | System.Runtime.CompilerServices;RuntimeWrappedException;RuntimeWrappedException;(System.Object);Argument[0];Argument[this].SyntheticField[System.Runtime.CompilerServices.RuntimeWrappedException._wrappedException];value;dfc-generated | | System.Runtime.CompilerServices;RuntimeWrappedException;get_WrappedException;();Argument[this].SyntheticField[System.Runtime.CompilerServices.RuntimeWrappedException._wrappedException];ReturnValue;value;dfc-generated | | System.Runtime.CompilerServices;StrongBox;StrongBox;(T);Argument[0];Argument[this].Field[System.Runtime.CompilerServices.StrongBox`1.Value];value;dfc-generated | @@ -10954,6 +11912,7 @@ | System.Runtime.Serialization;DataContractSerializer;DataContractSerializer;(System.Type,System.Runtime.Serialization.DataContractSerializerSettings);Argument[1].Property[System.Runtime.Serialization.DataContractSerializerSettings.DataContractResolver];Argument[this].SyntheticField[System.Runtime.Serialization.DataContractSerializer._dataContractResolver];value;dfc-generated | | System.Runtime.Serialization;DataContractSerializer;DataContractSerializer;(System.Type,System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString,System.Collections.Generic.IEnumerable);Argument[1];Argument[this];taint;df-generated | | System.Runtime.Serialization;DataContractSerializer;DataContractSerializer;(System.Type,System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString,System.Collections.Generic.IEnumerable);Argument[2];Argument[this];taint;df-generated | +| System.Runtime.Serialization;DataContractSerializer;ReadObject;(System.Xml.XmlDictionaryReader,System.Boolean,System.Runtime.Serialization.DataContractResolver);Argument[this];ReturnValue;taint;df-generated | | System.Runtime.Serialization;DataContractSerializer;get_DataContractResolver;();Argument[this].SyntheticField[System.Runtime.Serialization.DataContractSerializer._dataContractResolver];ReturnValue;value;dfc-generated | | System.Runtime.Serialization;DataContractSerializerExtensions;GetSerializationSurrogateProvider;(System.Runtime.Serialization.DataContractSerializer);Argument[0].SyntheticField[System.Runtime.Serialization.DataContractSerializer._serializationSurrogateProvider];ReturnValue;value;dfc-generated | | System.Runtime.Serialization;DataContractSerializerExtensions;SetSerializationSurrogateProvider;(System.Runtime.Serialization.DataContractSerializer,System.Runtime.Serialization.ISerializationSurrogateProvider);Argument[1];Argument[0].SyntheticField[System.Runtime.Serialization.DataContractSerializer._serializationSurrogateProvider];value;dfc-generated | @@ -11013,6 +11972,11 @@ | System.Runtime.Serialization;SurrogateSelector;GetNextSelector;();Argument[this].SyntheticField[System.Runtime.Serialization.SurrogateSelector._nextSelector];ReturnValue;value;dfc-generated | | System.Runtime.Serialization;SurrogateSelector;GetSurrogate;(System.Type,System.Runtime.Serialization.StreamingContext,System.Runtime.Serialization.ISurrogateSelector);Argument[this].SyntheticField[System.Runtime.Serialization.SurrogateSelector._nextSelector];ReturnValue;value;dfc-generated | | System.Runtime.Serialization;XPathQueryGenerator;CreateFromDataContractSerializer;(System.Type,System.Reflection.MemberInfo[],System.Text.StringBuilder,System.Xml.XmlNamespaceManager);Argument[2];ReturnValue;taint;dfc-generated | +| System.Runtime.Serialization;XmlObjectSerializer;ReadObject;(System.IO.Stream);Argument[this];ReturnValue;taint;df-generated | +| System.Runtime.Serialization;XmlObjectSerializer;ReadObject;(System.Xml.XmlDictionaryReader);Argument[this];ReturnValue;taint;df-generated | +| System.Runtime.Serialization;XmlObjectSerializer;ReadObject;(System.Xml.XmlDictionaryReader,System.Boolean);Argument[this];ReturnValue;taint;df-generated | +| System.Runtime.Serialization;XmlObjectSerializer;ReadObject;(System.Xml.XmlReader);Argument[this];ReturnValue;taint;df-generated | +| System.Runtime.Serialization;XmlObjectSerializer;ReadObject;(System.Xml.XmlReader,System.Boolean);Argument[this];ReturnValue;taint;df-generated | | System.Runtime.Serialization;XmlSerializableServices;WriteNodes;(System.Xml.XmlWriter,System.Xml.XmlNode[]);Argument[1].Element;Argument[0];taint;df-generated | | System.Runtime.Serialization;XsdDataContractExporter;XsdDataContractExporter;(System.Xml.Schema.XmlSchemaSet);Argument[0];Argument[this].SyntheticField[System.Runtime.Serialization.XsdDataContractExporter._schemas];value;dfc-generated | | System.Runtime.Serialization;XsdDataContractExporter;get_Schemas;();Argument[this].SyntheticField[System.Runtime.Serialization.XsdDataContractExporter._schemas];ReturnValue;value;dfc-generated | @@ -11069,7 +12033,12 @@ | System.Security.Claims;ClaimsIdentity;FindFirst;(System.Predicate);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | | System.Security.Claims;ClaimsIdentity;FindFirst;(System.String);Argument[this].Property[System.Security.Claims.ClaimsIdentity.Claims].Element;ReturnValue;value;dfc-generated | | System.Security.Claims;ClaimsIdentity;FindFirst;(System.String);Argument[this].SyntheticField[System.Security.Claims.ClaimsIdentity._instanceClaims].Element;ReturnValue;value;dfc-generated | +| System.Security.Claims;ClaimsIdentity;HasClaim;(System.Predicate);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | System.Security.Claims;ClaimsIdentity;HasClaim;(System.Predicate);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Security.Claims;ClaimsIdentity;HasClaim;(System.Predicate);Argument[this].Property[System.Security.Claims.ClaimsIdentity.Claims].Element;Argument[0].Parameter[0];value;dfc-generated | +| System.Security.Claims;ClaimsIdentity;HasClaim;(System.Predicate);Argument[this].Property[System.Security.Claims.ClaimsIdentity.Claims].Element;Argument[0].Parameter[0];value;hq-generated | +| System.Security.Claims;ClaimsIdentity;HasClaim;(System.Predicate);Argument[this].SyntheticField[System.Security.Claims.ClaimsIdentity._instanceClaims].Element;Argument[0].Parameter[0];value;dfc-generated | +| System.Security.Claims;ClaimsIdentity;HasClaim;(System.Predicate);Argument[this].SyntheticField[System.Security.Claims.ClaimsIdentity._instanceClaims].Element;Argument[0].Parameter[0];value;hq-generated | | System.Security.Claims;ClaimsIdentity;get_AuthenticationType;();Argument[this].SyntheticField[System.Security.Claims.ClaimsIdentity._authenticationType];ReturnValue;value;dfc-generated | | System.Security.Claims;ClaimsIdentity;get_Claims;();Argument[this].SyntheticField[System.Security.Claims.ClaimsIdentity._instanceClaims].Element;ReturnValue.Element;value;dfc-generated | | System.Security.Claims;ClaimsIdentity;get_Claims;();Argument[this].SyntheticField[System.Security.Claims.ClaimsIdentity._instanceClaims];ReturnValue;value;dfc-generated | @@ -11618,6 +12587,24 @@ | System.Text.Json;JsonSerializer;Deserialize;(System.Text.Json.Utf8JsonReader,System.Type,System.Text.Json.Serialization.JsonSerializerContext);Argument[0];ReturnValue;value;dfc-generated | | System.Text.Json;JsonSerializer;Deserialize;(System.Text.Json.Utf8JsonReader,System.Text.Json.JsonSerializerOptions);Argument[0];ReturnValue;value;dfc-generated | | System.Text.Json;JsonSerializer;Deserialize;(System.Text.Json.Utf8JsonReader,System.Text.Json.Serialization.Metadata.JsonTypeInfo);Argument[0];ReturnValue;value;dfc-generated | +| System.Text.Json;JsonSerializer;Serialize;(System.IO.Stream,System.Object,System.Text.Json.Serialization.Metadata.JsonTypeInfo);Argument[1];Argument[2];taint;df-generated | +| System.Text.Json;JsonSerializer;Serialize;(System.Object,System.Text.Json.Serialization.Metadata.JsonTypeInfo);Argument[0];Argument[1];taint;df-generated | +| System.Text.Json;JsonSerializer;Serialize;(System.Text.Json.Utf8JsonWriter,System.Object,System.Text.Json.Serialization.Metadata.JsonTypeInfo);Argument[0];Argument[2];taint;df-generated | +| System.Text.Json;JsonSerializer;Serialize;(System.Text.Json.Utf8JsonWriter,System.Object,System.Text.Json.Serialization.Metadata.JsonTypeInfo);Argument[1];Argument[2];taint;df-generated | +| System.Text.Json;JsonSerializer;Serialize;(System.IO.Stream,TValue,System.Text.Json.Serialization.Metadata.JsonTypeInfo);Argument[1];Argument[2];taint;df-generated | +| System.Text.Json;JsonSerializer;Serialize;(System.Text.Json.Utf8JsonWriter,TValue,System.Text.Json.Serialization.Metadata.JsonTypeInfo);Argument[0];Argument[2];taint;df-generated | +| System.Text.Json;JsonSerializer;Serialize;(System.Text.Json.Utf8JsonWriter,TValue,System.Text.Json.Serialization.Metadata.JsonTypeInfo);Argument[1];Argument[2];taint;df-generated | +| System.Text.Json;JsonSerializer;Serialize;(TValue,System.Text.Json.Serialization.Metadata.JsonTypeInfo);Argument[0];Argument[1];taint;df-generated | +| System.Text.Json;JsonSerializer;SerializeAsync;(System.IO.Stream,System.Object,System.Text.Json.Serialization.Metadata.JsonTypeInfo,System.Threading.CancellationToken);Argument[1];Argument[2];taint;df-generated | +| System.Text.Json;JsonSerializer;SerializeAsync;(System.IO.Stream,TValue,System.Text.Json.Serialization.Metadata.JsonTypeInfo,System.Threading.CancellationToken);Argument[1];Argument[2];taint;df-generated | +| System.Text.Json;JsonSerializer;SerializeToDocument;(System.Object,System.Text.Json.Serialization.Metadata.JsonTypeInfo);Argument[0];Argument[1];taint;df-generated | +| System.Text.Json;JsonSerializer;SerializeToDocument;(TValue,System.Text.Json.Serialization.Metadata.JsonTypeInfo);Argument[0];Argument[1];taint;df-generated | +| System.Text.Json;JsonSerializer;SerializeToElement;(System.Object,System.Text.Json.Serialization.Metadata.JsonTypeInfo);Argument[0];Argument[1];taint;df-generated | +| System.Text.Json;JsonSerializer;SerializeToElement;(TValue,System.Text.Json.Serialization.Metadata.JsonTypeInfo);Argument[0];Argument[1];taint;df-generated | +| System.Text.Json;JsonSerializer;SerializeToNode;(System.Object,System.Text.Json.Serialization.Metadata.JsonTypeInfo);Argument[0];Argument[1];taint;df-generated | +| System.Text.Json;JsonSerializer;SerializeToNode;(TValue,System.Text.Json.Serialization.Metadata.JsonTypeInfo);Argument[0];Argument[1];taint;df-generated | +| System.Text.Json;JsonSerializer;SerializeToUtf8Bytes;(System.Object,System.Text.Json.Serialization.Metadata.JsonTypeInfo);Argument[0];Argument[1];taint;df-generated | +| System.Text.Json;JsonSerializer;SerializeToUtf8Bytes;(TValue,System.Text.Json.Serialization.Metadata.JsonTypeInfo);Argument[0];Argument[1];taint;df-generated | | System.Text.Json;JsonSerializerOptions;GetConverter;(System.Type);Argument[this];ReturnValue;taint;df-generated | | System.Text.Json;JsonSerializerOptions;GetTypeInfo;(System.Type);Argument[this];ReturnValue;taint;df-generated | | System.Text.Json;JsonSerializerOptions;JsonSerializerOptions;(System.Text.Json.JsonSerializerOptions);Argument[0];Argument[this];taint;df-generated | @@ -11686,11 +12673,29 @@ | System.Text.RegularExpressions;Regex;Replace;(System.String,System.String,System.String);Argument[0];ReturnValue;value;dfc-generated | | System.Text.RegularExpressions;Regex;Replace;(System.String,System.String,System.String,System.Text.RegularExpressions.RegexOptions);Argument[0];ReturnValue;value;dfc-generated | | System.Text.RegularExpressions;Regex;Replace;(System.String,System.String,System.String,System.Text.RegularExpressions.RegexOptions,System.TimeSpan);Argument[0];ReturnValue;value;dfc-generated | +| System.Text.RegularExpressions;Regex;Replace;(System.String,System.String,System.Text.RegularExpressions.MatchEvaluator);Argument[0];ReturnValue;value;dfc-generated | +| System.Text.RegularExpressions;Regex;Replace;(System.String,System.String,System.Text.RegularExpressions.MatchEvaluator);Argument[0];ReturnValue;value;hq-generated | +| System.Text.RegularExpressions;Regex;Replace;(System.String,System.String,System.Text.RegularExpressions.MatchEvaluator);Argument[2];Argument[2].Parameter[delegate-self];value;dfc-generated | | System.Text.RegularExpressions;Regex;Replace;(System.String,System.String,System.Text.RegularExpressions.MatchEvaluator);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| System.Text.RegularExpressions;Regex;Replace;(System.String,System.String,System.Text.RegularExpressions.MatchEvaluator,System.Text.RegularExpressions.RegexOptions);Argument[0];ReturnValue;value;dfc-generated | +| System.Text.RegularExpressions;Regex;Replace;(System.String,System.String,System.Text.RegularExpressions.MatchEvaluator,System.Text.RegularExpressions.RegexOptions);Argument[0];ReturnValue;value;hq-generated | +| System.Text.RegularExpressions;Regex;Replace;(System.String,System.String,System.Text.RegularExpressions.MatchEvaluator,System.Text.RegularExpressions.RegexOptions);Argument[2];Argument[2].Parameter[delegate-self];value;dfc-generated | | System.Text.RegularExpressions;Regex;Replace;(System.String,System.String,System.Text.RegularExpressions.MatchEvaluator,System.Text.RegularExpressions.RegexOptions);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| System.Text.RegularExpressions;Regex;Replace;(System.String,System.String,System.Text.RegularExpressions.MatchEvaluator,System.Text.RegularExpressions.RegexOptions,System.TimeSpan);Argument[0];ReturnValue;value;dfc-generated | +| System.Text.RegularExpressions;Regex;Replace;(System.String,System.String,System.Text.RegularExpressions.MatchEvaluator,System.Text.RegularExpressions.RegexOptions,System.TimeSpan);Argument[0];ReturnValue;value;hq-generated | +| System.Text.RegularExpressions;Regex;Replace;(System.String,System.String,System.Text.RegularExpressions.MatchEvaluator,System.Text.RegularExpressions.RegexOptions,System.TimeSpan);Argument[2];Argument[2].Parameter[delegate-self];value;dfc-generated | | System.Text.RegularExpressions;Regex;Replace;(System.String,System.String,System.Text.RegularExpressions.MatchEvaluator,System.Text.RegularExpressions.RegexOptions,System.TimeSpan);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| System.Text.RegularExpressions;Regex;Replace;(System.String,System.Text.RegularExpressions.MatchEvaluator);Argument[0];ReturnValue;value;dfc-generated | +| System.Text.RegularExpressions;Regex;Replace;(System.String,System.Text.RegularExpressions.MatchEvaluator);Argument[0];ReturnValue;value;hq-generated | +| System.Text.RegularExpressions;Regex;Replace;(System.String,System.Text.RegularExpressions.MatchEvaluator);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Text.RegularExpressions;Regex;Replace;(System.String,System.Text.RegularExpressions.MatchEvaluator);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Text.RegularExpressions;Regex;Replace;(System.String,System.Text.RegularExpressions.MatchEvaluator,System.Int32);Argument[0];ReturnValue;value;dfc-generated | +| System.Text.RegularExpressions;Regex;Replace;(System.String,System.Text.RegularExpressions.MatchEvaluator,System.Int32);Argument[0];ReturnValue;value;hq-generated | +| System.Text.RegularExpressions;Regex;Replace;(System.String,System.Text.RegularExpressions.MatchEvaluator,System.Int32);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Text.RegularExpressions;Regex;Replace;(System.String,System.Text.RegularExpressions.MatchEvaluator,System.Int32);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Text.RegularExpressions;Regex;Replace;(System.String,System.Text.RegularExpressions.MatchEvaluator,System.Int32,System.Int32);Argument[0];ReturnValue;value;dfc-generated | +| System.Text.RegularExpressions;Regex;Replace;(System.String,System.Text.RegularExpressions.MatchEvaluator,System.Int32,System.Int32);Argument[0];ReturnValue;value;hq-generated | +| System.Text.RegularExpressions;Regex;Replace;(System.String,System.Text.RegularExpressions.MatchEvaluator,System.Int32,System.Int32);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Text.RegularExpressions;Regex;Replace;(System.String,System.Text.RegularExpressions.MatchEvaluator,System.Int32,System.Int32);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | System.Text.RegularExpressions;Regex;Split;(System.String);Argument[0];ReturnValue.Element;value;dfc-generated | | System.Text.RegularExpressions;Regex;Split;(System.String,System.Int32);Argument[0];ReturnValue.Element;value;dfc-generated | @@ -11705,6 +12710,7 @@ | System.Text.RegularExpressions;RegexCompilationInfo;RegexCompilationInfo;(System.String,System.Text.RegularExpressions.RegexOptions,System.String,System.String,System.Boolean,System.TimeSpan);Argument[2];Argument[this];taint;df-generated | | System.Text.RegularExpressions;RegexCompilationInfo;RegexCompilationInfo;(System.String,System.Text.RegularExpressions.RegexOptions,System.String,System.String,System.Boolean,System.TimeSpan);Argument[3];Argument[this];taint;df-generated | | System.Text.RegularExpressions;RegexCompilationInfo;RegexCompilationInfo;(System.String,System.Text.RegularExpressions.RegexOptions,System.String,System.String,System.Boolean,System.TimeSpan);Argument[5];Argument[this];taint;df-generated | +| System.Text.RegularExpressions;RegexRunner;Scan;(System.ReadOnlySpan);Argument[0];Argument[this];taint;df-generated | | System.Text.RegularExpressions;RegexRunner;Scan;(System.Text.RegularExpressions.Regex,System.String,System.Int32,System.Int32,System.Int32,System.Int32,System.Boolean);Argument[1];Argument[this].Field[System.Text.RegularExpressions.RegexRunner.runtext];value;dfc-generated | | System.Text.RegularExpressions;RegexRunner;Scan;(System.Text.RegularExpressions.Regex,System.String,System.Int32,System.Int32,System.Int32,System.Int32,System.Boolean);Argument[this].Field[System.Text.RegularExpressions.RegexRunner.runmatch];ReturnValue;value;dfc-generated | | System.Text.RegularExpressions;RegexRunner;Scan;(System.Text.RegularExpressions.Regex,System.String,System.Int32,System.Int32,System.Int32,System.Int32,System.Boolean,System.TimeSpan);Argument[1];Argument[this].Field[System.Text.RegularExpressions.RegexRunner.runtext];value;dfc-generated | @@ -11992,6 +12998,7 @@ | System.Threading.Tasks.Dataflow;DataflowBlock;SendAsync;(System.Threading.Tasks.Dataflow.ITargetBlock,TInput);Argument[1];Argument[0];taint;df-generated | | System.Threading.Tasks.Dataflow;DataflowBlock;SendAsync;(System.Threading.Tasks.Dataflow.ITargetBlock,TInput,System.Threading.CancellationToken);Argument[1];Argument[0];taint;df-generated | | System.Threading.Tasks.Dataflow;DataflowBlock;TryReceive;(System.Threading.Tasks.Dataflow.IReceivableSourceBlock,TOutput);Argument[0];ReturnValue;taint;df-generated | +| System.Threading.Tasks.Dataflow;IDataflowBlock;Fault;(System.Exception);Argument[0];Argument[this];taint;df-generated | | System.Threading.Tasks.Dataflow;IDataflowBlock;get_Completion;();Argument[this];ReturnValue;taint;df-generated | | System.Threading.Tasks.Dataflow;IReceivableSourceBlock;TryReceive;(System.Predicate,TOutput);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | | System.Threading.Tasks.Dataflow;JoinBlock;JoinBlock;(System.Threading.Tasks.Dataflow.GroupingDataflowBlockOptions);Argument[0];Argument[this];taint;df-generated | @@ -12032,7 +13039,10 @@ | System.Threading.Tasks.Dataflow;WriteOnceBlock;ToString;();Argument[this];ReturnValue;taint;df-generated | | System.Threading.Tasks.Dataflow;WriteOnceBlock;TryReceiveAll;(System.Collections.Generic.IList);Argument[this].SyntheticField[System.Threading.Tasks.Dataflow.WriteOnceBlock`1._value];ReturnValue.Element;value;dfc-generated | | System.Threading.Tasks.Dataflow;WriteOnceBlock;WriteOnceBlock;(System.Func);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Threading.Tasks.Dataflow;WriteOnceBlock;WriteOnceBlock;(System.Func,System.Threading.Tasks.Dataflow.DataflowBlockOptions);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | System.Threading.Tasks.Dataflow;WriteOnceBlock;WriteOnceBlock;(System.Func,System.Threading.Tasks.Dataflow.DataflowBlockOptions);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Threading.Tasks.Dataflow;WriteOnceBlock;WriteOnceBlock;(System.Func,System.Threading.Tasks.Dataflow.DataflowBlockOptions);Argument[0];Argument[this].SyntheticField[System.Threading.Tasks.Dataflow.WriteOnceBlock`1._cloningFunction];value;dfc-generated | +| System.Threading.Tasks.Dataflow;WriteOnceBlock;WriteOnceBlock;(System.Func,System.Threading.Tasks.Dataflow.DataflowBlockOptions);Argument[0];Argument[this].SyntheticField[System.Threading.Tasks.Dataflow.WriteOnceBlock`1._cloningFunction];value;hq-generated | | System.Threading.Tasks.Sources;IValueTaskSource;OnCompleted;(System.Action,System.Object,System.Int16,System.Threading.Tasks.Sources.ValueTaskSourceOnCompletedFlags);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | | System.Threading.Tasks.Sources;IValueTaskSource;OnCompleted;(System.Action,System.Object,System.Int16,System.Threading.Tasks.Sources.ValueTaskSourceOnCompletedFlags);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | | System.Threading.Tasks.Sources;ManualResetValueTaskSourceCore;GetResult;(System.Int16);Argument[this].SyntheticField[System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1._result];ReturnValue;value;dfc-generated | @@ -12367,41 +13377,185 @@ | System.Threading.Tasks;TaskFactory;ContinueWhenAny;(System.Threading.Tasks.Task[],System.Func,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);Argument[1];Argument[1].Parameter[delegate-self];value;manual | | System.Threading.Tasks;TaskFactory;ContinueWhenAny;(System.Threading.Tasks.Task[],System.Func,System.Threading.Tasks.TaskContinuationOptions);Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task`1.Result];value;manual | | System.Threading.Tasks;TaskFactory;ContinueWhenAny;(System.Threading.Tasks.Task[],System.Func,System.Threading.Tasks.TaskContinuationOptions);Argument[1];Argument[1].Parameter[delegate-self];value;manual | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,System.Object);Argument[0].ReturnValue;Argument[1].Parameter[0];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,System.Object);Argument[0].ReturnValue;Argument[1].Parameter[0];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,System.Object);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,System.Object);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,System.Object);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,System.Object);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,System.Object);Argument[2];Argument[0].Parameter[1];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,System.Object);Argument[2];Argument[0].Parameter[1];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[0].ReturnValue;Argument[1].Parameter[0];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[0].ReturnValue;Argument[1].Parameter[0];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[2];Argument[0].Parameter[1];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[2];Argument[0].Parameter[1];value;hq-generated | | System.Threading.Tasks;TaskFactory;FromAsync;(System.IAsyncResult,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | System.Threading.Tasks;TaskFactory;FromAsync;(System.IAsyncResult,System.Action,System.Threading.Tasks.TaskCreationOptions);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | System.Threading.Tasks;TaskFactory;FromAsync;(System.IAsyncResult,System.Action,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object);Argument[0].ReturnValue;Argument[1].Parameter[0];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object);Argument[0].ReturnValue;Argument[1].Parameter[0];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object);Argument[2];Argument[0].Parameter[0];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object);Argument[2];Argument[0].Parameter[0];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object);Argument[3];Argument[0].Parameter[1];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object);Argument[3];Argument[0].Parameter[1];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object);Argument[4];Argument[0].Parameter[2];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object);Argument[4];Argument[0].Parameter[2];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object);Argument[5];Argument[0].Parameter[4];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object);Argument[5];Argument[0].Parameter[4];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[0].ReturnValue;Argument[1].Parameter[0];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[0].ReturnValue;Argument[1].Parameter[0];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[2];Argument[0].Parameter[0];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[2];Argument[0].Parameter[0];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[3];Argument[0].Parameter[1];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[3];Argument[0].Parameter[1];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[4];Argument[0].Parameter[2];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[4];Argument[0].Parameter[2];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[5];Argument[0].Parameter[4];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[5];Argument[0].Parameter[4];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,TArg2,TArg3,System.Object);Argument[0].ReturnValue;Argument[1].Parameter[0];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,TArg2,TArg3,System.Object);Argument[0].ReturnValue;Argument[1].Parameter[0];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,TArg2,TArg3,System.Object);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,TArg2,TArg3,System.Object);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,TArg2,TArg3,System.Object);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,TArg2,TArg3,System.Object);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,TArg2,TArg3,System.Object);Argument[2];Argument[0].Parameter[0];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,TArg2,TArg3,System.Object);Argument[2];Argument[0].Parameter[0];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,TArg2,TArg3,System.Object);Argument[3];Argument[0].Parameter[1];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,TArg2,TArg3,System.Object);Argument[3];Argument[0].Parameter[1];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,TArg2,TArg3,System.Object);Argument[4];Argument[0].Parameter[2];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,TArg2,TArg3,System.Object);Argument[4];Argument[0].Parameter[2];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,TArg2,TArg3,System.Object);Argument[5];Argument[0].Parameter[4];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,TArg2,TArg3,System.Object);Argument[5];Argument[0].Parameter[4];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,TArg2,TArg3,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[0].ReturnValue;Argument[1].Parameter[0];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,TArg2,TArg3,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[0].ReturnValue;Argument[1].Parameter[0];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,TArg2,TArg3,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,TArg2,TArg3,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,TArg2,TArg3,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,TArg2,TArg3,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,TArg2,TArg3,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[2];Argument[0].Parameter[0];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,TArg2,TArg3,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[2];Argument[0].Parameter[0];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,TArg2,TArg3,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[3];Argument[0].Parameter[1];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,TArg2,TArg3,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[3];Argument[0].Parameter[1];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,TArg2,TArg3,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[4];Argument[0].Parameter[2];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,TArg2,TArg3,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[4];Argument[0].Parameter[2];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,TArg2,TArg3,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[5];Argument[0].Parameter[4];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,TArg2,TArg3,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[5];Argument[0].Parameter[4];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,System.Object);Argument[0].ReturnValue;Argument[1].Parameter[0];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,System.Object);Argument[0].ReturnValue;Argument[1].Parameter[0];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,System.Object);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,System.Object);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,System.Object);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,System.Object);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,System.Object);Argument[2];Argument[0].Parameter[0];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,System.Object);Argument[2];Argument[0].Parameter[0];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,System.Object);Argument[3];Argument[0].Parameter[1];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,System.Object);Argument[3];Argument[0].Parameter[1];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,System.Object);Argument[4];Argument[0].Parameter[3];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,System.Object);Argument[4];Argument[0].Parameter[3];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[0].ReturnValue;Argument[1].Parameter[0];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[0].ReturnValue;Argument[1].Parameter[0];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[2];Argument[0].Parameter[0];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[2];Argument[0].Parameter[0];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[3];Argument[0].Parameter[1];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[3];Argument[0].Parameter[1];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[4];Argument[0].Parameter[3];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[4];Argument[0].Parameter[3];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,TArg2,System.Object);Argument[0].ReturnValue;Argument[1].Parameter[0];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,TArg2,System.Object);Argument[0].ReturnValue;Argument[1].Parameter[0];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,TArg2,System.Object);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,TArg2,System.Object);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,TArg2,System.Object);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,TArg2,System.Object);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,TArg2,System.Object);Argument[2];Argument[0].Parameter[0];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,TArg2,System.Object);Argument[2];Argument[0].Parameter[0];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,TArg2,System.Object);Argument[3];Argument[0].Parameter[1];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,TArg2,System.Object);Argument[3];Argument[0].Parameter[1];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,TArg2,System.Object);Argument[4];Argument[0].Parameter[3];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,TArg2,System.Object);Argument[4];Argument[0].Parameter[3];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,TArg2,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[0].ReturnValue;Argument[1].Parameter[0];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,TArg2,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[0].ReturnValue;Argument[1].Parameter[0];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,TArg2,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,TArg2,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,TArg2,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,TArg2,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,TArg2,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[2];Argument[0].Parameter[0];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,TArg2,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[2];Argument[0].Parameter[0];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,TArg2,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[3];Argument[0].Parameter[1];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,TArg2,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[3];Argument[0].Parameter[1];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,TArg2,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[4];Argument[0].Parameter[3];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,TArg2,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[4];Argument[0].Parameter[3];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,System.Object);Argument[0].ReturnValue;Argument[1].Parameter[0];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,System.Object);Argument[0].ReturnValue;Argument[1].Parameter[0];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,System.Object);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,System.Object);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,System.Object);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,System.Object);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,System.Object);Argument[2];Argument[0].Parameter[0];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,System.Object);Argument[2];Argument[0].Parameter[0];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,System.Object);Argument[3];Argument[0].Parameter[2];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,System.Object);Argument[3];Argument[0].Parameter[2];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[0].ReturnValue;Argument[1].Parameter[0];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[0].ReturnValue;Argument[1].Parameter[0];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[2];Argument[0].Parameter[0];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[2];Argument[0].Parameter[0];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[3];Argument[0].Parameter[2];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[3];Argument[0].Parameter[2];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,System.Object);Argument[0].ReturnValue;Argument[1].Parameter[0];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,System.Object);Argument[0].ReturnValue;Argument[1].Parameter[0];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,System.Object);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,System.Object);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,System.Object);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,System.Object);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,System.Object);Argument[2];Argument[0].Parameter[0];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,System.Object);Argument[2];Argument[0].Parameter[0];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,System.Object);Argument[3];Argument[0].Parameter[2];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,System.Object);Argument[3];Argument[0].Parameter[2];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[0].ReturnValue;Argument[1].Parameter[0];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[0].ReturnValue;Argument[1].Parameter[0];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[2];Argument[0].Parameter[0];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[2];Argument[0].Parameter[0];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[3];Argument[0].Parameter[2];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Action,TArg1,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[3];Argument[0].Parameter[2];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,System.Object);Argument[0].ReturnValue;Argument[1].Parameter[0];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,System.Object);Argument[0].ReturnValue;Argument[1].Parameter[0];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,System.Object);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,System.Object);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,System.Object);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,System.Object);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,System.Object);Argument[2];Argument[0].Parameter[1];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,System.Object);Argument[2];Argument[0].Parameter[1];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[0].ReturnValue;Argument[1].Parameter[0];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[0].ReturnValue;Argument[1].Parameter[0];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[2];Argument[0].Parameter[1];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[2];Argument[0].Parameter[1];value;hq-generated | | System.Threading.Tasks;TaskFactory;FromAsync;(System.IAsyncResult,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | System.Threading.Tasks;TaskFactory;FromAsync;(System.IAsyncResult,System.Func,System.Threading.Tasks.TaskCreationOptions);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | System.Threading.Tasks;TaskFactory;FromAsync;(System.IAsyncResult,System.Func,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | @@ -12483,25 +13637,97 @@ | System.Threading.Tasks;TaskFactory;ContinueWhenAny;(System.Threading.Tasks.Task[],System.Func,TResult>,System.Threading.Tasks.TaskContinuationOptions);Argument[0];Argument[1].Parameter[0];value;manual | | System.Threading.Tasks;TaskFactory;ContinueWhenAny;(System.Threading.Tasks.Task[],System.Func,TResult>,System.Threading.Tasks.TaskContinuationOptions);Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task`1.Result];value;manual | | System.Threading.Tasks;TaskFactory;ContinueWhenAny;(System.Threading.Tasks.Task[],System.Func,TResult>,System.Threading.Tasks.TaskContinuationOptions);Argument[1];Argument[1].Parameter[delegate-self];value;manual | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,System.Object);Argument[0].ReturnValue;Argument[1].Parameter[0];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,System.Object);Argument[0].ReturnValue;Argument[1].Parameter[0];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,System.Object);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,System.Object);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,System.Object);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,System.Object);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,System.Object);Argument[2];Argument[0].Parameter[1];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,System.Object);Argument[2];Argument[0].Parameter[1];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[0].ReturnValue;Argument[1].Parameter[0];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[0].ReturnValue;Argument[1].Parameter[0];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[2];Argument[0].Parameter[1];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[2];Argument[0].Parameter[1];value;hq-generated | | System.Threading.Tasks;TaskFactory;FromAsync;(System.IAsyncResult,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | System.Threading.Tasks;TaskFactory;FromAsync;(System.IAsyncResult,System.Func,System.Threading.Tasks.TaskCreationOptions);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | System.Threading.Tasks;TaskFactory;FromAsync;(System.IAsyncResult,System.Func,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object);Argument[0].ReturnValue;Argument[1].Parameter[0];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object);Argument[0].ReturnValue;Argument[1].Parameter[0];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object);Argument[2];Argument[0].Parameter[0];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object);Argument[2];Argument[0].Parameter[0];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object);Argument[3];Argument[0].Parameter[1];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object);Argument[3];Argument[0].Parameter[1];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object);Argument[4];Argument[0].Parameter[2];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object);Argument[4];Argument[0].Parameter[2];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object);Argument[5];Argument[0].Parameter[4];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object);Argument[5];Argument[0].Parameter[4];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[0].ReturnValue;Argument[1].Parameter[0];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[0].ReturnValue;Argument[1].Parameter[0];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[2];Argument[0].Parameter[0];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[2];Argument[0].Parameter[0];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[3];Argument[0].Parameter[1];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[3];Argument[0].Parameter[1];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[4];Argument[0].Parameter[2];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[4];Argument[0].Parameter[2];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[5];Argument[0].Parameter[4];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,TArg3,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[5];Argument[0].Parameter[4];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,System.Object);Argument[0].ReturnValue;Argument[1].Parameter[0];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,System.Object);Argument[0].ReturnValue;Argument[1].Parameter[0];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,System.Object);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,System.Object);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,System.Object);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,System.Object);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,System.Object);Argument[2];Argument[0].Parameter[0];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,System.Object);Argument[2];Argument[0].Parameter[0];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,System.Object);Argument[3];Argument[0].Parameter[1];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,System.Object);Argument[3];Argument[0].Parameter[1];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,System.Object);Argument[4];Argument[0].Parameter[3];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,System.Object);Argument[4];Argument[0].Parameter[3];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[0].ReturnValue;Argument[1].Parameter[0];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[0].ReturnValue;Argument[1].Parameter[0];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[2];Argument[0].Parameter[0];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[2];Argument[0].Parameter[0];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[3];Argument[0].Parameter[1];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[3];Argument[0].Parameter[1];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[4];Argument[0].Parameter[3];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,TArg2,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[4];Argument[0].Parameter[3];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,System.Object);Argument[0].ReturnValue;Argument[1].Parameter[0];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,System.Object);Argument[0].ReturnValue;Argument[1].Parameter[0];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,System.Object);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,System.Object);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,System.Object);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,System.Object);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,System.Object);Argument[2];Argument[0].Parameter[0];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,System.Object);Argument[2];Argument[0].Parameter[0];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,System.Object);Argument[3];Argument[0].Parameter[2];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,System.Object);Argument[3];Argument[0].Parameter[2];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[0].ReturnValue;Argument[1].Parameter[0];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[0].ReturnValue;Argument[1].Parameter[0];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[2];Argument[0].Parameter[0];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[2];Argument[0].Parameter[0];value;hq-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[3];Argument[0].Parameter[2];value;dfc-generated | +| System.Threading.Tasks;TaskFactory;FromAsync;(System.Func,System.Func,TArg1,System.Object,System.Threading.Tasks.TaskCreationOptions);Argument[3];Argument[0].Parameter[2];value;hq-generated | | System.Threading.Tasks;TaskFactory;StartNew;(System.Func,System.Object);Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task`1.Result];value;manual | | System.Threading.Tasks;TaskFactory;StartNew;(System.Func,System.Object);Argument[0];Argument[0].Parameter[delegate-self];value;manual | | System.Threading.Tasks;TaskFactory;StartNew;(System.Func,System.Object);Argument[1];Argument[0].Parameter[0];value;manual | @@ -12531,6 +13757,9 @@ | System.Threading.Tasks;TaskScheduler;GetScheduledTasks;();Argument[this];ReturnValue;taint;df-generated | | System.Threading.Tasks;TaskScheduler;add_UnobservedTaskException;(System.EventHandler);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | | System.Threading.Tasks;TaskScheduler;remove_UnobservedTaskException;(System.EventHandler);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Threading.Tasks;TaskToAsyncResult;Begin;(System.Threading.Tasks.Task,System.AsyncCallback,System.Object);Argument[0];ReturnValue.SyntheticField[System.Threading.Tasks.TaskToAsyncResult+TaskAsyncResult._task];value;dfc-generated | +| System.Threading.Tasks;TaskToAsyncResult;Begin;(System.Threading.Tasks.Task,System.AsyncCallback,System.Object);Argument[0];ReturnValue.SyntheticField[System.Threading.Tasks.TaskToAsyncResult+TaskAsyncResult._task];value;hq-generated | +| System.Threading.Tasks;TaskToAsyncResult;Begin;(System.Threading.Tasks.Task,System.AsyncCallback,System.Object);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Threading.Tasks;TaskToAsyncResult;Begin;(System.Threading.Tasks.Task,System.AsyncCallback,System.Object);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | System.Threading.Tasks;UnobservedTaskExceptionEventArgs;UnobservedTaskExceptionEventArgs;(System.AggregateException);Argument[0];Argument[this].SyntheticField[System.Threading.Tasks.UnobservedTaskExceptionEventArgs.m_exception];value;dfc-generated | | System.Threading.Tasks;UnobservedTaskExceptionEventArgs;get_Exception;();Argument[this].SyntheticField[System.Threading.Tasks.UnobservedTaskExceptionEventArgs.m_exception];ReturnValue;value;dfc-generated | @@ -12560,20 +13789,41 @@ | System.Threading;Barrier;Barrier;(System.Int32,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | System.Threading;CancellationToken;Register;(System.Action);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | | System.Threading;CancellationToken;Register;(System.Action,System.Boolean);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Threading;CancellationToken;Register;(System.Action,System.Object);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | System.Threading;CancellationToken;Register;(System.Action,System.Object);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Threading;CancellationToken;Register;(System.Action,System.Object);Argument[1];Argument[0].Parameter[0];value;dfc-generated | +| System.Threading;CancellationToken;Register;(System.Action,System.Object);Argument[1];Argument[0].Parameter[0];value;hq-generated | +| System.Threading;CancellationToken;Register;(System.Action,System.Object);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | System.Threading;CancellationToken;Register;(System.Action,System.Object);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Threading;CancellationToken;Register;(System.Action,System.Object);Argument[1];Argument[0].Parameter[0];value;dfc-generated | +| System.Threading;CancellationToken;Register;(System.Action,System.Object);Argument[1];Argument[0].Parameter[0];value;hq-generated | +| System.Threading;CancellationToken;Register;(System.Action,System.Object,System.Boolean);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | System.Threading;CancellationToken;Register;(System.Action,System.Object,System.Boolean);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Threading;CancellationToken;Register;(System.Action,System.Object,System.Boolean);Argument[1];Argument[0].Parameter[0];value;dfc-generated | +| System.Threading;CancellationToken;Register;(System.Action,System.Object,System.Boolean);Argument[1];Argument[0].Parameter[0];value;hq-generated | +| System.Threading;CancellationToken;UnsafeRegister;(System.Action,System.Object);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | System.Threading;CancellationToken;UnsafeRegister;(System.Action,System.Object);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Threading;CancellationToken;UnsafeRegister;(System.Action,System.Object);Argument[1];Argument[0].Parameter[0];value;dfc-generated | +| System.Threading;CancellationToken;UnsafeRegister;(System.Action,System.Object);Argument[1];Argument[0].Parameter[0];value;hq-generated | +| System.Threading;CancellationToken;UnsafeRegister;(System.Action,System.Object);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | System.Threading;CancellationToken;UnsafeRegister;(System.Action,System.Object);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Threading;CancellationToken;UnsafeRegister;(System.Action,System.Object);Argument[1];Argument[0].Parameter[0];value;dfc-generated | +| System.Threading;CancellationToken;UnsafeRegister;(System.Action,System.Object);Argument[1];Argument[0].Parameter[0];value;hq-generated | | System.Threading;CancellationToken;get_WaitHandle;();Argument[this];ReturnValue;taint;df-generated | | System.Threading;CancellationTokenSource;CancelAsync;();Argument[this];ReturnValue.SyntheticField[System.Threading.Tasks.Task.m_stateObject];value;dfc-generated | | System.Threading;CancellationTokenSource;get_Token;();Argument[this];ReturnValue;taint;df-generated | | System.Threading;CompressedStack;CreateCopy;();Argument[this];ReturnValue;value;dfc-generated | +| System.Threading;CompressedStack;Run;(System.Threading.CompressedStack,System.Threading.ContextCallback,System.Object);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Threading;CompressedStack;Run;(System.Threading.CompressedStack,System.Threading.ContextCallback,System.Object);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Threading;CompressedStack;Run;(System.Threading.CompressedStack,System.Threading.ContextCallback,System.Object);Argument[2];Argument[1].Parameter[0];value;dfc-generated | +| System.Threading;CompressedStack;Run;(System.Threading.CompressedStack,System.Threading.ContextCallback,System.Object);Argument[2];Argument[1].Parameter[0];value;hq-generated | | System.Threading;ContextCallback;BeginInvoke;(System.Object,System.AsyncCallback,System.Object);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | System.Threading;CountdownEvent;get_WaitHandle;();Argument[this];ReturnValue;taint;df-generated | | System.Threading;ExecutionContext;CreateCopy;();Argument[this];ReturnValue;value;dfc-generated | +| System.Threading;ExecutionContext;Run;(System.Threading.ExecutionContext,System.Threading.ContextCallback,System.Object);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Threading;ExecutionContext;Run;(System.Threading.ExecutionContext,System.Threading.ContextCallback,System.Object);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Threading;ExecutionContext;Run;(System.Threading.ExecutionContext,System.Threading.ContextCallback,System.Object);Argument[2];Argument[1].Parameter[0];value;dfc-generated | +| System.Threading;ExecutionContext;Run;(System.Threading.ExecutionContext,System.Threading.ContextCallback,System.Object);Argument[2];Argument[1].Parameter[0];value;hq-generated | | System.Threading;HostExecutionContextManager;SetHostExecutionContext;(System.Threading.HostExecutionContext);Argument[0];ReturnValue;taint;df-generated | | System.Threading;IOCompletionCallback;BeginInvoke;(System.UInt32,System.UInt32,System.Threading.NativeOverlapped*,System.AsyncCallback,System.Object);Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | | System.Threading;Interlocked;CompareExchange;(System.IntPtr,System.IntPtr,System.IntPtr);Argument[0];ReturnValue;value;dfc-generated | @@ -12585,8 +13835,23 @@ | System.Threading;LazyInitializer;EnsureInitialized;(T);Argument[0];ReturnValue;value;dfc-generated | | System.Threading;LazyInitializer;EnsureInitialized;(T,System.Boolean,System.Object);Argument[0];ReturnValue;value;dfc-generated | | System.Threading;LazyInitializer;EnsureInitialized;(T,System.Boolean,System.Object);Argument[2];ReturnValue;value;dfc-generated | +| System.Threading;LazyInitializer;EnsureInitialized;(T,System.Boolean,System.Object,System.Func);Argument[0];ReturnValue;value;dfc-generated | +| System.Threading;LazyInitializer;EnsureInitialized;(T,System.Boolean,System.Object,System.Func);Argument[0];ReturnValue;value;hq-generated | +| System.Threading;LazyInitializer;EnsureInitialized;(T,System.Boolean,System.Object,System.Func);Argument[2];ReturnValue;value;dfc-generated | +| System.Threading;LazyInitializer;EnsureInitialized;(T,System.Boolean,System.Object,System.Func);Argument[2];ReturnValue;value;hq-generated | +| System.Threading;LazyInitializer;EnsureInitialized;(T,System.Boolean,System.Object,System.Func);Argument[3].ReturnValue;ReturnValue;value;dfc-generated | +| System.Threading;LazyInitializer;EnsureInitialized;(T,System.Boolean,System.Object,System.Func);Argument[3].ReturnValue;ReturnValue;value;hq-generated | +| System.Threading;LazyInitializer;EnsureInitialized;(T,System.Boolean,System.Object,System.Func);Argument[3];Argument[3].Parameter[delegate-self];value;dfc-generated | | System.Threading;LazyInitializer;EnsureInitialized;(T,System.Boolean,System.Object,System.Func);Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| System.Threading;LazyInitializer;EnsureInitialized;(T,System.Func);Argument[0];ReturnValue;value;dfc-generated | +| System.Threading;LazyInitializer;EnsureInitialized;(T,System.Func);Argument[0];ReturnValue;value;hq-generated | +| System.Threading;LazyInitializer;EnsureInitialized;(T,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Threading;LazyInitializer;EnsureInitialized;(T,System.Func);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Threading;LazyInitializer;EnsureInitialized;(T,System.Object,System.Func);Argument[0];ReturnValue;value;dfc-generated | +| System.Threading;LazyInitializer;EnsureInitialized;(T,System.Object,System.Func);Argument[0];ReturnValue;value;hq-generated | +| System.Threading;LazyInitializer;EnsureInitialized;(T,System.Object,System.Func);Argument[1];ReturnValue;value;dfc-generated | +| System.Threading;LazyInitializer;EnsureInitialized;(T,System.Object,System.Func);Argument[1];ReturnValue;value;hq-generated | +| System.Threading;LazyInitializer;EnsureInitialized;(T,System.Object,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;dfc-generated | | System.Threading;LazyInitializer;EnsureInitialized;(T,System.Object,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | | System.Threading;ManualResetEventSlim;get_WaitHandle;();Argument[this];ReturnValue;taint;df-generated | | System.Threading;Mutex;TryOpenExisting;(System.String,System.Threading.Mutex);Argument[1];ReturnValue;value;dfc-generated | @@ -12617,7 +13882,10 @@ | System.Threading;SpinWait;SpinUntil;(System.Func,System.Int32);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | | System.Threading;SpinWait;SpinUntil;(System.Func,System.TimeSpan);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | | System.Threading;SynchronizationContext;Post;(System.Threading.SendOrPostCallback,System.Object);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Threading;SynchronizationContext;Send;(System.Threading.SendOrPostCallback,System.Object);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | System.Threading;SynchronizationContext;Send;(System.Threading.SendOrPostCallback,System.Object);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Threading;SynchronizationContext;Send;(System.Threading.SendOrPostCallback,System.Object);Argument[1];Argument[0].Parameter[0];value;dfc-generated | +| System.Threading;SynchronizationContext;Send;(System.Threading.SendOrPostCallback,System.Object);Argument[1];Argument[0].Parameter[0];value;hq-generated | | System.Threading;Thread;GetData;(System.LocalDataStoreSlot);Argument[0].SyntheticField[System.LocalDataStoreSlot.Data].Property[System.Threading.ThreadLocal`1.Value];ReturnValue;value;dfc-generated | | System.Threading;Thread;SetData;(System.LocalDataStoreSlot,System.Object);Argument[1];Argument[0].SyntheticField[System.LocalDataStoreSlot.Data].Property[System.Threading.ThreadLocal`1.Value];value;dfc-generated | | System.Threading;Thread;Thread;(System.Threading.ParameterizedThreadStart);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | @@ -12673,7 +13941,14 @@ | System.Timers;TimersDescriptionAttribute;get_Description;();Argument[this].Property[System.ComponentModel.DescriptionAttribute.DescriptionValue];ReturnValue;value;dfc-generated | | System.Timers;TimersDescriptionAttribute;get_Description;();Argument[this].Property[System.ComponentModel.DescriptionAttribute.Description];Argument[this].Property[System.ComponentModel.DescriptionAttribute.DescriptionValue];taint;dfc-generated | | System.Timers;TimersDescriptionAttribute;get_Description;();Argument[this].Property[System.ComponentModel.DescriptionAttribute.Description];ReturnValue;value;dfc-generated | +| System.Transactions;CommittableTransaction;BeginCommit;(System.AsyncCallback,System.Object);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | System.Transactions;CommittableTransaction;BeginCommit;(System.AsyncCallback,System.Object);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Transactions;CommittableTransaction;BeginCommit;(System.AsyncCallback,System.Object);Argument[1];ReturnValue.SyntheticField[System.Transactions.Transaction._internalTransaction].SyntheticField[System.Transactions.InternalTransaction._asyncState];value;dfc-generated | +| System.Transactions;CommittableTransaction;BeginCommit;(System.AsyncCallback,System.Object);Argument[1];ReturnValue.SyntheticField[System.Transactions.Transaction._internalTransaction].SyntheticField[System.Transactions.InternalTransaction._asyncState];value;hq-generated | +| System.Transactions;CommittableTransaction;BeginCommit;(System.AsyncCallback,System.Object);Argument[this];ReturnValue;value;dfc-generated | +| System.Transactions;CommittableTransaction;BeginCommit;(System.AsyncCallback,System.Object);Argument[this];ReturnValue;value;hq-generated | +| System.Transactions;CommittableTransaction;get_AsyncState;();Argument[this].SyntheticField[System.Transactions.Transaction._internalTransaction].SyntheticField[System.Transactions.InternalTransaction._asyncState];ReturnValue;value;df-generated | +| System.Transactions;CommittableTransaction;get_AsyncState;();Argument[this].SyntheticField[System.Transactions.Transaction._internalTransaction].SyntheticField[System.Transactions.InternalTransaction._asyncState];ReturnValue;value;dfc-generated | | System.Transactions;HostCurrentTransactionCallback;BeginInvoke;(System.AsyncCallback,System.Object);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | | System.Transactions;Transaction;Clone;();Argument[this];ReturnValue;taint;df-generated | | System.Transactions;Transaction;EnlistDurable;(System.Guid,System.Transactions.ISinglePhaseNotification,System.Transactions.EnlistmentOptions);Argument[0];ReturnValue;taint;df-generated | @@ -12942,9 +14217,11 @@ | System.Xml.Schema;XmlSchemaComplexType;get_ContentTypeParticle;();Argument[this];ReturnValue;taint;df-generated | | System.Xml.Schema;XmlSchemaDatatype;ChangeType;(System.Object,System.Type);Argument[0];ReturnValue;taint;df-generated | | System.Xml.Schema;XmlSchemaDatatype;ChangeType;(System.Object,System.Type);Argument[this];ReturnValue;taint;df-generated | +| System.Xml.Schema;XmlSchemaDatatype;ChangeType;(System.Object,System.Type,System.Xml.IXmlNamespaceResolver);Argument[0];Argument[2];taint;df-generated | | System.Xml.Schema;XmlSchemaDatatype;ChangeType;(System.Object,System.Type,System.Xml.IXmlNamespaceResolver);Argument[0];ReturnValue;taint;df-generated | | System.Xml.Schema;XmlSchemaDatatype;ChangeType;(System.Object,System.Type,System.Xml.IXmlNamespaceResolver);Argument[2];ReturnValue;taint;df-generated | | System.Xml.Schema;XmlSchemaDatatype;ChangeType;(System.Object,System.Type,System.Xml.IXmlNamespaceResolver);Argument[this];ReturnValue;taint;df-generated | +| System.Xml.Schema;XmlSchemaDatatype;ParseValue;(System.String,System.Xml.XmlNameTable,System.Xml.IXmlNamespaceResolver);Argument[0];Argument[2];taint;df-generated | | System.Xml.Schema;XmlSchemaDatatype;ParseValue;(System.String,System.Xml.XmlNameTable,System.Xml.IXmlNamespaceResolver);Argument[0];ReturnValue;taint;df-generated | | System.Xml.Schema;XmlSchemaDatatype;ParseValue;(System.String,System.Xml.XmlNameTable,System.Xml.IXmlNamespaceResolver);Argument[this];ReturnValue;taint;df-generated | | System.Xml.Schema;XmlSchemaElement;get_ElementSchemaType;();Argument[this];ReturnValue;taint;df-generated | @@ -13165,14 +14442,26 @@ | System.Xml.Serialization;XmlSerializationCollectionFixupCallback;BeginInvoke;(System.Object,System.Object,System.AsyncCallback,System.Object);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | | System.Xml.Serialization;XmlSerializationFixupCallback;BeginInvoke;(System.Object,System.AsyncCallback,System.Object);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | System.Xml.Serialization;XmlSerializationReadCallback;BeginInvoke;(System.AsyncCallback,System.Object);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Xml.Serialization;XmlSerializationReader+CollectionFixup;CollectionFixup;(System.Object,System.Xml.Serialization.XmlSerializationCollectionFixupCallback,System.Object);Argument[0];Argument[this].SyntheticField[System.Xml.Serialization.XmlSerializationReader+CollectionFixup._collection];value;dfc-generated | +| System.Xml.Serialization;XmlSerializationReader+CollectionFixup;CollectionFixup;(System.Object,System.Xml.Serialization.XmlSerializationCollectionFixupCallback,System.Object);Argument[0];Argument[this].SyntheticField[System.Xml.Serialization.XmlSerializationReader+CollectionFixup._collection];value;hq-generated | +| System.Xml.Serialization;XmlSerializationReader+CollectionFixup;CollectionFixup;(System.Object,System.Xml.Serialization.XmlSerializationCollectionFixupCallback,System.Object);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Xml.Serialization;XmlSerializationReader+CollectionFixup;CollectionFixup;(System.Object,System.Xml.Serialization.XmlSerializationCollectionFixupCallback,System.Object);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | -| System.Xml.Serialization;XmlSerializationReader+CollectionFixup;get_Callback;();Argument[this];ReturnValue;taint;df-generated | -| System.Xml.Serialization;XmlSerializationReader+CollectionFixup;get_Collection;();Argument[this];ReturnValue;taint;df-generated | -| System.Xml.Serialization;XmlSerializationReader+CollectionFixup;get_CollectionItems;();Argument[this];ReturnValue;taint;df-generated | +| System.Xml.Serialization;XmlSerializationReader+CollectionFixup;CollectionFixup;(System.Object,System.Xml.Serialization.XmlSerializationCollectionFixupCallback,System.Object);Argument[1];Argument[this].SyntheticField[System.Xml.Serialization.XmlSerializationReader+CollectionFixup._callback];value;dfc-generated | +| System.Xml.Serialization;XmlSerializationReader+CollectionFixup;CollectionFixup;(System.Object,System.Xml.Serialization.XmlSerializationCollectionFixupCallback,System.Object);Argument[1];Argument[this].SyntheticField[System.Xml.Serialization.XmlSerializationReader+CollectionFixup._callback];value;hq-generated | +| System.Xml.Serialization;XmlSerializationReader+CollectionFixup;CollectionFixup;(System.Object,System.Xml.Serialization.XmlSerializationCollectionFixupCallback,System.Object);Argument[2];Argument[this].SyntheticField[System.Xml.Serialization.XmlSerializationReader+CollectionFixup._collectionItems];value;dfc-generated | +| System.Xml.Serialization;XmlSerializationReader+CollectionFixup;CollectionFixup;(System.Object,System.Xml.Serialization.XmlSerializationCollectionFixupCallback,System.Object);Argument[2];Argument[this].SyntheticField[System.Xml.Serialization.XmlSerializationReader+CollectionFixup._collectionItems];value;hq-generated | +| System.Xml.Serialization;XmlSerializationReader+CollectionFixup;get_Callback;();Argument[this].SyntheticField[System.Xml.Serialization.XmlSerializationReader+CollectionFixup._callback];ReturnValue;value;dfc-generated | +| System.Xml.Serialization;XmlSerializationReader+CollectionFixup;get_Collection;();Argument[this].SyntheticField[System.Xml.Serialization.XmlSerializationReader+CollectionFixup._collection];ReturnValue;value;dfc-generated | +| System.Xml.Serialization;XmlSerializationReader+CollectionFixup;get_CollectionItems;();Argument[this].SyntheticField[System.Xml.Serialization.XmlSerializationReader+CollectionFixup._collectionItems];ReturnValue;value;dfc-generated | | System.Xml.Serialization;XmlSerializationReader+Fixup;Fixup;(System.Object,System.Xml.Serialization.XmlSerializationFixupCallback,System.Int32);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Xml.Serialization;XmlSerializationReader+Fixup;Fixup;(System.Object,System.Xml.Serialization.XmlSerializationFixupCallback,System.String[]);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System.Xml.Serialization;XmlSerializationReader+Fixup;Fixup;(System.Object,System.Xml.Serialization.XmlSerializationFixupCallback,System.String[]);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | -| System.Xml.Serialization;XmlSerializationReader+Fixup;get_Callback;();Argument[this];ReturnValue;taint;df-generated | -| System.Xml.Serialization;XmlSerializationReader+Fixup;get_Ids;();Argument[this];ReturnValue;taint;df-generated | +| System.Xml.Serialization;XmlSerializationReader+Fixup;Fixup;(System.Object,System.Xml.Serialization.XmlSerializationFixupCallback,System.String[]);Argument[1];Argument[this].SyntheticField[System.Xml.Serialization.XmlSerializationReader+Fixup._callback];value;dfc-generated | +| System.Xml.Serialization;XmlSerializationReader+Fixup;Fixup;(System.Object,System.Xml.Serialization.XmlSerializationFixupCallback,System.String[]);Argument[1];Argument[this].SyntheticField[System.Xml.Serialization.XmlSerializationReader+Fixup._callback];value;hq-generated | +| System.Xml.Serialization;XmlSerializationReader+Fixup;Fixup;(System.Object,System.Xml.Serialization.XmlSerializationFixupCallback,System.String[]);Argument[2];Argument[this].SyntheticField[System.Xml.Serialization.XmlSerializationReader+Fixup._ids];value;dfc-generated | +| System.Xml.Serialization;XmlSerializationReader+Fixup;Fixup;(System.Object,System.Xml.Serialization.XmlSerializationFixupCallback,System.String[]);Argument[2];Argument[this].SyntheticField[System.Xml.Serialization.XmlSerializationReader+Fixup._ids];value;hq-generated | +| System.Xml.Serialization;XmlSerializationReader+Fixup;get_Callback;();Argument[this].SyntheticField[System.Xml.Serialization.XmlSerializationReader+Fixup._callback];ReturnValue;value;dfc-generated | +| System.Xml.Serialization;XmlSerializationReader+Fixup;get_Ids;();Argument[this].SyntheticField[System.Xml.Serialization.XmlSerializationReader+Fixup._ids];ReturnValue;value;dfc-generated | | System.Xml.Serialization;XmlSerializationReader;AddFixup;(System.Xml.Serialization.XmlSerializationReader+CollectionFixup);Argument[0];Argument[this];taint;df-generated | | System.Xml.Serialization;XmlSerializationReader;AddFixup;(System.Xml.Serialization.XmlSerializationReader+Fixup);Argument[0];Argument[this];taint;df-generated | | System.Xml.Serialization;XmlSerializationReader;AddReadCallback;(System.String,System.String,System.Type,System.Xml.Serialization.XmlSerializationReadCallback);Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | @@ -13377,6 +14666,7 @@ | System.Xml.XPath;XPathExpression;get_Expression;();Argument[this];ReturnValue;taint;df-generated | | System.Xml.XPath;XPathItem;ValueAs;(System.Type);Argument[this];ReturnValue;taint;df-generated | | System.Xml.XPath;XPathItem;ValueAs;(System.Type,System.Xml.IXmlNamespaceResolver);Argument[1];ReturnValue;taint;df-generated | +| System.Xml.XPath;XPathItem;ValueAs;(System.Type,System.Xml.IXmlNamespaceResolver);Argument[this];Argument[1];taint;df-generated | | System.Xml.XPath;XPathItem;ValueAs;(System.Type,System.Xml.IXmlNamespaceResolver);Argument[this];ReturnValue;taint;df-generated | | System.Xml.XPath;XPathItem;ValueAs;(System.Type,System.Xml.IXmlNamespaceResolver);Argument[this];ReturnValue;value;df-generated | | System.Xml.XPath;XPathItem;get_TypedValue;();Argument[this];ReturnValue;taint;df-generated | @@ -13864,6 +15154,7 @@ | System.Xml;XmlReader;LookupNamespace;(System.String);Argument[0];ReturnValue;value;dfc-generated | | System.Xml;XmlReader;MoveToAttribute;(System.String);Argument[0];Argument[this];taint;df-generated | | System.Xml;XmlReader;ReadContentAs;(System.Type,System.Xml.IXmlNamespaceResolver);Argument[1];ReturnValue;taint;df-generated | +| System.Xml;XmlReader;ReadContentAs;(System.Type,System.Xml.IXmlNamespaceResolver);Argument[this];Argument[1];taint;df-generated | | System.Xml;XmlReader;ReadContentAs;(System.Type,System.Xml.IXmlNamespaceResolver);Argument[this];ReturnValue;taint;df-generated | | System.Xml;XmlReader;ReadContentAsAsync;(System.Type,System.Xml.IXmlNamespaceResolver);Argument[1];Argument[this];taint;df-generated | | System.Xml;XmlReader;ReadContentAsAsync;(System.Type,System.Xml.IXmlNamespaceResolver);Argument[1];ReturnValue;taint;df-generated | @@ -13876,8 +15167,10 @@ | System.Xml;XmlReader;ReadContentAsString;();Argument[this];ReturnValue;taint;df-generated | | System.Xml;XmlReader;ReadContentAsStringAsync;();Argument[this];ReturnValue;taint;df-generated | | System.Xml;XmlReader;ReadElementContentAs;(System.Type,System.Xml.IXmlNamespaceResolver);Argument[1];ReturnValue;taint;df-generated | +| System.Xml;XmlReader;ReadElementContentAs;(System.Type,System.Xml.IXmlNamespaceResolver);Argument[this];Argument[1];taint;df-generated | | System.Xml;XmlReader;ReadElementContentAs;(System.Type,System.Xml.IXmlNamespaceResolver);Argument[this];ReturnValue;taint;df-generated | | System.Xml;XmlReader;ReadElementContentAs;(System.Type,System.Xml.IXmlNamespaceResolver,System.String,System.String);Argument[1];ReturnValue;taint;df-generated | +| System.Xml;XmlReader;ReadElementContentAs;(System.Type,System.Xml.IXmlNamespaceResolver,System.String,System.String);Argument[this];Argument[1];taint;df-generated | | System.Xml;XmlReader;ReadElementContentAs;(System.Type,System.Xml.IXmlNamespaceResolver,System.String,System.String);Argument[this];ReturnValue;taint;df-generated | | System.Xml;XmlReader;ReadElementContentAsAsync;(System.Type,System.Xml.IXmlNamespaceResolver);Argument[1];Argument[this];taint;df-generated | | System.Xml;XmlReader;ReadElementContentAsAsync;(System.Type,System.Xml.IXmlNamespaceResolver);Argument[1];ReturnValue;taint;df-generated | @@ -14075,10 +15368,13 @@ | System;Action;BeginInvoke;(T1,T2,T3,System.AsyncCallback,System.Object);Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | | System;Action;BeginInvoke;(T1,T2,System.AsyncCallback,System.Object);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | | System;Action;BeginInvoke;(T,System.AsyncCallback,System.Object);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | -| System;AggregateException;AggregateException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);Argument[0];Argument[this];taint;df-generated | -| System;AggregateException;AggregateException;(System.String,System.Exception);Argument[1];Argument[this];taint;df-generated | +| System;AggregateException;AggregateException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);Argument[0].SyntheticField[System.Runtime.Serialization.SerializationInfo._values].Element;Argument[this].SyntheticField[System.AggregateException._innerExceptions];value;dfc-generated | +| System;AggregateException;AggregateException;(System.String,System.Exception);Argument[1];Argument[this].SyntheticField[System.AggregateException._innerExceptions].Element;value;dfc-generated | | System;AggregateException;GetBaseException;();Argument[this];ReturnValue;taint;df-generated | +| System;AggregateException;Handle;(System.Func);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | System;AggregateException;Handle;(System.Func);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System;AggregateException;Handle;(System.Func);Argument[this].SyntheticField[System.AggregateException._innerExceptions].Element;Argument[0].Parameter[0];value;dfc-generated | +| System;AggregateException;Handle;(System.Func);Argument[this].SyntheticField[System.AggregateException._innerExceptions].Element;Argument[0].Parameter[0];value;hq-generated | | System;AggregateException;get_Message;();Argument[this].Property[System.Exception.Message];ReturnValue;value;dfc-generated | | System;AggregateException;get_Message;();Argument[this].SyntheticField[System.Exception._message];ReturnValue;value;dfc-generated | | System;AppDomain;ApplyPolicy;(System.String);Argument[0];ReturnValue;value;dfc-generated | @@ -14121,8 +15417,16 @@ | System;Array;Clear;(System.Array);Argument[0].WithoutElement;Argument[0];value;manual | | System;Array;Clear;(System.Array,System.Int32,System.Int32);Argument[0].WithoutElement;Argument[0];value;manual | | System;Array;Clone;();Argument[this].Element;ReturnValue.Element;value;manual | +| System;Array;ConvertAll;(TInput[],System.Converter);Argument[0].Element;Argument[1].Parameter[0];value;dfc-generated | +| System;Array;ConvertAll;(TInput[],System.Converter);Argument[0].Element;Argument[1].Parameter[0];value;hq-generated | +| System;Array;ConvertAll;(TInput[],System.Converter);Argument[1].ReturnValue;ReturnValue.Element;value;dfc-generated | +| System;Array;ConvertAll;(TInput[],System.Converter);Argument[1].ReturnValue;ReturnValue.Element;value;hq-generated | +| System;Array;ConvertAll;(TInput[],System.Converter);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System;Array;ConvertAll;(TInput[],System.Converter);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | System;Array;CopyTo;(System.Array,System.Int64);Argument[this].Element;Argument[0].Element;value;manual | +| System;Array;Exists;(T[],System.Predicate);Argument[0].Element;Argument[1].Parameter[0];value;dfc-generated | +| System;Array;Exists;(T[],System.Predicate);Argument[0].Element;Argument[1].Parameter[0];value;hq-generated | +| System;Array;Exists;(T[],System.Predicate);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System;Array;Exists;(T[],System.Predicate);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | System;Array;Fill;(T[],T);Argument[1];Argument[0].Element;value;dfc-generated | | System;Array;Fill;(T[],T,System.Int32,System.Int32);Argument[1];Argument[0].Element;value;dfc-generated | @@ -14132,15 +15436,36 @@ | System;Array;FindAll;(T[],System.Predicate);Argument[0].Element;Argument[1].Parameter[0];value;manual | | System;Array;FindAll;(T[],System.Predicate);Argument[0].Element;ReturnValue;value;manual | | System;Array;FindAll;(T[],System.Predicate);Argument[1];Argument[1].Parameter[delegate-self];value;manual | +| System;Array;FindIndex;(T[],System.Int32,System.Int32,System.Predicate);Argument[0].Element;Argument[3].Parameter[0];value;dfc-generated | +| System;Array;FindIndex;(T[],System.Int32,System.Int32,System.Predicate);Argument[0].Element;Argument[3].Parameter[0];value;hq-generated | +| System;Array;FindIndex;(T[],System.Int32,System.Int32,System.Predicate);Argument[3];Argument[3].Parameter[delegate-self];value;dfc-generated | | System;Array;FindIndex;(T[],System.Int32,System.Int32,System.Predicate);Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| System;Array;FindIndex;(T[],System.Int32,System.Predicate);Argument[0].Element;Argument[2].Parameter[0];value;dfc-generated | +| System;Array;FindIndex;(T[],System.Int32,System.Predicate);Argument[0].Element;Argument[2].Parameter[0];value;hq-generated | +| System;Array;FindIndex;(T[],System.Int32,System.Predicate);Argument[2];Argument[2].Parameter[delegate-self];value;dfc-generated | | System;Array;FindIndex;(T[],System.Int32,System.Predicate);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| System;Array;FindIndex;(T[],System.Predicate);Argument[0].Element;Argument[1].Parameter[0];value;dfc-generated | +| System;Array;FindIndex;(T[],System.Predicate);Argument[0].Element;Argument[1].Parameter[0];value;hq-generated | +| System;Array;FindIndex;(T[],System.Predicate);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System;Array;FindIndex;(T[],System.Predicate);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | System;Array;FindLast;(T[],System.Predicate);Argument[0].Element;Argument[1].Parameter[0];value;manual | | System;Array;FindLast;(T[],System.Predicate);Argument[0].Element;ReturnValue;value;manual | | System;Array;FindLast;(T[],System.Predicate);Argument[1];Argument[1].Parameter[delegate-self];value;manual | +| System;Array;FindLastIndex;(T[],System.Int32,System.Int32,System.Predicate);Argument[0].Element;Argument[3].Parameter[0];value;dfc-generated | +| System;Array;FindLastIndex;(T[],System.Int32,System.Int32,System.Predicate);Argument[0].Element;Argument[3].Parameter[0];value;hq-generated | +| System;Array;FindLastIndex;(T[],System.Int32,System.Int32,System.Predicate);Argument[3];Argument[3].Parameter[delegate-self];value;dfc-generated | | System;Array;FindLastIndex;(T[],System.Int32,System.Int32,System.Predicate);Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| System;Array;FindLastIndex;(T[],System.Int32,System.Predicate);Argument[0].Element;Argument[2].Parameter[0];value;dfc-generated | +| System;Array;FindLastIndex;(T[],System.Int32,System.Predicate);Argument[0].Element;Argument[2].Parameter[0];value;hq-generated | +| System;Array;FindLastIndex;(T[],System.Int32,System.Predicate);Argument[2];Argument[2].Parameter[delegate-self];value;dfc-generated | | System;Array;FindLastIndex;(T[],System.Int32,System.Predicate);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| System;Array;FindLastIndex;(T[],System.Predicate);Argument[0].Element;Argument[1].Parameter[0];value;dfc-generated | +| System;Array;FindLastIndex;(T[],System.Predicate);Argument[0].Element;Argument[1].Parameter[0];value;hq-generated | +| System;Array;FindLastIndex;(T[],System.Predicate);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System;Array;FindLastIndex;(T[],System.Predicate);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System;Array;ForEach;(T[],System.Action);Argument[0].Element;Argument[1].Parameter[0];value;dfc-generated | +| System;Array;ForEach;(T[],System.Action);Argument[0].Element;Argument[1].Parameter[0];value;hq-generated | +| System;Array;ForEach;(T[],System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System;Array;ForEach;(T[],System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | System;Array;Resize;(T[],System.Int32);Argument[0];ReturnValue;value;dfc-generated | | System;Array;Reverse;(System.Array);Argument[0].Element;ReturnValue.Element;value;manual | @@ -14148,6 +15473,9 @@ | System;Array;Reverse;(T[]);Argument[0].Element;ReturnValue.Element;value;manual | | System;Array;Reverse;(T[],System.Int32,System.Int32);Argument[0].Element;ReturnValue.Element;value;manual | | System;Array;Sort;(T[],System.Comparison);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System;Array;TrueForAll;(T[],System.Predicate);Argument[0].Element;Argument[1].Parameter[0];value;dfc-generated | +| System;Array;TrueForAll;(T[],System.Predicate);Argument[0].Element;Argument[1].Parameter[0];value;hq-generated | +| System;Array;TrueForAll;(T[],System.Predicate);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System;Array;TrueForAll;(T[],System.Predicate);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | System;ArraySegment+Enumerator;get_Current;();Argument[this].Property[System.ArraySegment`1+Enumerator.Current];ReturnValue;value;df-generated | | System;ArraySegment+Enumerator;get_Current;();Argument[this].Property[System.ArraySegment`1+Enumerator.Current];ReturnValue;value;dfc-generated | @@ -14572,6 +15900,7 @@ | System;Half;MinMagnitudeNumber;(System.Half,System.Half);Argument[0];ReturnValue;value;dfc-generated | | System;Half;MinMagnitudeNumber;(System.Half,System.Half);Argument[1];ReturnValue;value;dfc-generated | | System;Half;ToString;(System.IFormatProvider);Argument[0];ReturnValue;taint;df-generated | +| System;HashCode;Add;(T,System.Collections.Generic.IEqualityComparer);Argument[0];Argument[1];taint;df-generated | | System;IAsyncDisposable;DisposeAsync;();Argument[this];ReturnValue;taint;df-generated | | System;IAsyncResult;get_AsyncState;();Argument[this];ReturnValue;taint;df-generated | | System;IAsyncResult;get_AsyncWaitHandle;();Argument[this];ReturnValue;taint;df-generated | @@ -14618,9 +15947,18 @@ | System;IntPtr;System.Numerics.IAdditionOperators.op_Addition;(System.IntPtr,System.IntPtr);Argument[0];ReturnValue;taint;dfc-generated | | System;IntPtr;System.Numerics.IAdditionOperators.op_Addition;(System.IntPtr,System.IntPtr);Argument[1];ReturnValue;taint;dfc-generated | | System;IntPtr;op_Addition;(System.IntPtr,System.Int32);Argument[0];ReturnValue;taint;dfc-generated | +| System;Lazy;Lazy;(System.Func,TMetadata);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | System;Lazy;Lazy;(System.Func,TMetadata);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System;Lazy;Lazy;(System.Func,TMetadata);Argument[1];Argument[this].SyntheticField[System.Lazy`2._metadata];value;dfc-generated | +| System;Lazy;Lazy;(System.Func,TMetadata);Argument[1];Argument[this].SyntheticField[System.Lazy`2._metadata];value;hq-generated | +| System;Lazy;Lazy;(System.Func,TMetadata,System.Boolean);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | System;Lazy;Lazy;(System.Func,TMetadata,System.Boolean);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System;Lazy;Lazy;(System.Func,TMetadata,System.Boolean);Argument[1];Argument[this].SyntheticField[System.Lazy`2._metadata];value;dfc-generated | +| System;Lazy;Lazy;(System.Func,TMetadata,System.Boolean);Argument[1];Argument[this].SyntheticField[System.Lazy`2._metadata];value;hq-generated | +| System;Lazy;Lazy;(System.Func,TMetadata,System.Threading.LazyThreadSafetyMode);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | System;Lazy;Lazy;(System.Func,TMetadata,System.Threading.LazyThreadSafetyMode);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System;Lazy;Lazy;(System.Func,TMetadata,System.Threading.LazyThreadSafetyMode);Argument[1];Argument[this].SyntheticField[System.Lazy`2._metadata];value;dfc-generated | +| System;Lazy;Lazy;(System.Func,TMetadata,System.Threading.LazyThreadSafetyMode);Argument[1];Argument[this].SyntheticField[System.Lazy`2._metadata];value;hq-generated | | System;Lazy;Lazy;(TMetadata);Argument[0];Argument[this].SyntheticField[System.Lazy`2._metadata];value;dfc-generated | | System;Lazy;Lazy;(TMetadata,System.Boolean);Argument[0];Argument[this].SyntheticField[System.Lazy`2._metadata];value;dfc-generated | | System;Lazy;Lazy;(TMetadata,System.Threading.LazyThreadSafetyMode);Argument[0];Argument[this].SyntheticField[System.Lazy`2._metadata];value;dfc-generated | @@ -14680,6 +16018,9 @@ | System;MemoryExtensions;AsSpan;(System.ArraySegment,System.Range);Argument[0].Property[System.ArraySegment`1.Array].Element;ReturnValue.Element;value;dfc-generated | | System;MemoryExtensions;AsSpan;(T[]);Argument[0].Element;ReturnValue.Element;value;dfc-generated | | System;MemoryExtensions;AsSpan;(T[],System.Int32,System.Int32);Argument[0].Element;ReturnValue.Element;value;dfc-generated | +| System;MemoryExtensions;CommonPrefixLength;(System.ReadOnlySpan,System.ReadOnlySpan,System.Collections.Generic.IEqualityComparer);Argument[0];Argument[2];taint;df-generated | +| System;MemoryExtensions;CommonPrefixLength;(System.ReadOnlySpan,System.ReadOnlySpan,System.Collections.Generic.IEqualityComparer);Argument[1];Argument[2];taint;df-generated | +| System;MemoryExtensions;CommonPrefixLength;(System.Span,System.ReadOnlySpan,System.Collections.Generic.IEqualityComparer);Argument[1];Argument[2];taint;df-generated | | System;MemoryExtensions;CopyTo;(T[],System.Memory);Argument[0].Element;Argument[1].Property[System.Memory`1.Span].Element;value;dfc-generated | | System;MemoryExtensions;CopyTo;(T[],System.Span);Argument[0].Element;Argument[1].Element;value;dfc-generated | | System;MemoryExtensions;EnumerateLines;(System.ReadOnlySpan);Argument[0];ReturnValue.SyntheticField[System.Text.SpanLineEnumerator._remaining];value;dfc-generated | @@ -14687,6 +16028,14 @@ | System;MemoryExtensions;Replace;(System.ReadOnlySpan,System.Span,T,T);Argument[0].Element;Argument[1].Element;value;manual | | System;MemoryExtensions;Replace;(System.ReadOnlySpan,System.Span,T,T);Argument[3];Argument[1].Element;value;manual | | System;MemoryExtensions;Replace;(System.Span,T,T);Argument[2];Argument[0].Element;value;manual | +| System;MemoryExtensions;SequenceEqual;(System.ReadOnlySpan,System.ReadOnlySpan,System.Collections.Generic.IEqualityComparer);Argument[0];Argument[2];taint;df-generated | +| System;MemoryExtensions;SequenceEqual;(System.ReadOnlySpan,System.ReadOnlySpan,System.Collections.Generic.IEqualityComparer);Argument[1];Argument[2];taint;df-generated | +| System;MemoryExtensions;SequenceEqual;(System.Span,System.ReadOnlySpan,System.Collections.Generic.IEqualityComparer);Argument[1];Argument[2];taint;df-generated | +| System;MemoryExtensions;Sort;(System.Span,System.Comparison);Argument[0].Element;Argument[1].Parameter[0];value;dfc-generated | +| System;MemoryExtensions;Sort;(System.Span,System.Comparison);Argument[0].Element;Argument[1].Parameter[0];value;hq-generated | +| System;MemoryExtensions;Sort;(System.Span,System.Comparison);Argument[0].Element;Argument[1].Parameter[1];value;dfc-generated | +| System;MemoryExtensions;Sort;(System.Span,System.Comparison);Argument[0].Element;Argument[1].Parameter[1];value;hq-generated | +| System;MemoryExtensions;Sort;(System.Span,System.Comparison);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated | | System;MemoryExtensions;Sort;(System.Span,System.Comparison);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | System;MemoryExtensions;Sort;(System.Span,System.Span,System.Comparison);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | | System;MemoryExtensions;Trim;(System.Memory);Argument[0];ReturnValue;taint;df-generated | @@ -14857,6 +16206,9 @@ | System;String;Copy;(System.String);Argument[0];ReturnValue;value;manual | | System;String;Create;(System.IFormatProvider,System.Runtime.CompilerServices.DefaultInterpolatedStringHandler);Argument[1];ReturnValue;value;dfc-generated | | System;String;Create;(System.IFormatProvider,System.Span,System.Runtime.CompilerServices.DefaultInterpolatedStringHandler);Argument[2];ReturnValue;value;dfc-generated | +| System;String;Create;(System.Int32,TState,System.Buffers.SpanAction);Argument[1];Argument[2].Parameter[1];value;dfc-generated | +| System;String;Create;(System.Int32,TState,System.Buffers.SpanAction);Argument[1];Argument[2].Parameter[1];value;hq-generated | +| System;String;Create;(System.Int32,TState,System.Buffers.SpanAction);Argument[2];Argument[2].Parameter[delegate-self];value;dfc-generated | | System;String;Create;(System.Int32,TState,System.Buffers.SpanAction);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | | System;String;EnumerateRunes;();Argument[this];ReturnValue;taint;df-generated | | System;String;Format;(System.IFormatProvider,System.String,System.Object);Argument[1];ReturnValue;taint;manual | @@ -15320,8 +16672,14 @@ | System;TupleExtensions;ToValueTuple;(System.Tuple);Argument[0];ReturnValue;taint;df-generated | | System;TupleExtensions;ToValueTuple;(System.Tuple);Argument[0];ReturnValue;taint;df-generated | | System;TupleExtensions;ToValueTuple;(System.Tuple);Argument[0].Property[System.Tuple`1.Item1];ReturnValue.Field[System.ValueTuple`1.Item1];value;dfc-generated | +| System;Type;FindInterfaces;(System.Reflection.TypeFilter,System.Object);Argument[0];Argument[0].Parameter[delegate-self];value;dfc-generated | | System;Type;FindInterfaces;(System.Reflection.TypeFilter,System.Object);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System;Type;FindInterfaces;(System.Reflection.TypeFilter,System.Object);Argument[1];Argument[0].Parameter[1];value;dfc-generated | +| System;Type;FindInterfaces;(System.Reflection.TypeFilter,System.Object);Argument[1];Argument[0].Parameter[1];value;hq-generated | +| System;Type;FindMembers;(System.Reflection.MemberTypes,System.Reflection.BindingFlags,System.Reflection.MemberFilter,System.Object);Argument[2];Argument[2].Parameter[delegate-self];value;dfc-generated | | System;Type;FindMembers;(System.Reflection.MemberTypes,System.Reflection.BindingFlags,System.Reflection.MemberFilter,System.Object);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| System;Type;FindMembers;(System.Reflection.MemberTypes,System.Reflection.BindingFlags,System.Reflection.MemberFilter,System.Object);Argument[3];Argument[2].Parameter[1];value;dfc-generated | +| System;Type;FindMembers;(System.Reflection.MemberTypes,System.Reflection.BindingFlags,System.Reflection.MemberFilter,System.Object);Argument[3];Argument[2].Parameter[1];value;hq-generated | | System;Type;GetConstructorImpl;(System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[]);Argument[this];ReturnValue;taint;df-generated | | System;Type;GetElementType;();Argument[this];ReturnValue;taint;df-generated | | System;Type;GetEnumUnderlyingType;();Argument[this];ReturnValue;taint;df-generated | From 42600c93ffad33fce4975542e11f32d45fd25747 Mon Sep 17 00:00:00 2001 From: Napalys Date: Thu, 7 Nov 2024 11:40:20 +0100 Subject: [PATCH 039/347] Added tests which shows false positive SSRF via matchAll --- .../Security/CWE-918/SSRF.expected | 27 +++++++++++++++++++ .../Security/CWE-918/check-regex.js | 14 ++++++++++ 2 files changed, 41 insertions(+) diff --git a/javascript/ql/test/experimental/Security/CWE-918/SSRF.expected b/javascript/ql/test/experimental/Security/CWE-918/SSRF.expected index 848264b661b1..0dbb00780702 100644 --- a/javascript/ql/test/experimental/Security/CWE-918/SSRF.expected +++ b/javascript/ql/test/experimental/Security/CWE-918/SSRF.expected @@ -51,6 +51,18 @@ nodes | check-regex.js:41:13:41:43 | "test.c ... tainted | | check-regex.js:41:27:41:43 | req.query.tainted | | check-regex.js:41:27:41:43 | req.query.tainted | +| check-regex.js:58:15:58:42 | baseURL ... tainted | +| check-regex.js:58:15:58:42 | baseURL ... tainted | +| check-regex.js:58:25:58:42 | req.params.tainted | +| check-regex.js:58:25:58:42 | req.params.tainted | +| check-regex.js:61:15:61:42 | baseURL ... tainted | +| check-regex.js:61:15:61:42 | baseURL ... tainted | +| check-regex.js:61:25:61:42 | req.params.tainted | +| check-regex.js:61:25:61:42 | req.params.tainted | +| check-regex.js:63:15:63:42 | baseURL ... tainted | +| check-regex.js:63:15:63:42 | baseURL ... tainted | +| check-regex.js:63:25:63:42 | req.params.tainted | +| check-regex.js:63:25:63:42 | req.params.tainted | | check-validator.js:15:15:15:45 | "test.c ... tainted | | check-validator.js:15:15:15:45 | "test.c ... tainted | | check-validator.js:15:29:15:45 | req.query.tainted | @@ -127,6 +139,18 @@ edges | check-regex.js:41:27:41:43 | req.query.tainted | check-regex.js:41:13:41:43 | "test.c ... tainted | | check-regex.js:41:27:41:43 | req.query.tainted | check-regex.js:41:13:41:43 | "test.c ... tainted | | check-regex.js:41:27:41:43 | req.query.tainted | check-regex.js:41:13:41:43 | "test.c ... tainted | +| check-regex.js:58:25:58:42 | req.params.tainted | check-regex.js:58:15:58:42 | baseURL ... tainted | +| check-regex.js:58:25:58:42 | req.params.tainted | check-regex.js:58:15:58:42 | baseURL ... tainted | +| check-regex.js:58:25:58:42 | req.params.tainted | check-regex.js:58:15:58:42 | baseURL ... tainted | +| check-regex.js:58:25:58:42 | req.params.tainted | check-regex.js:58:15:58:42 | baseURL ... tainted | +| check-regex.js:61:25:61:42 | req.params.tainted | check-regex.js:61:15:61:42 | baseURL ... tainted | +| check-regex.js:61:25:61:42 | req.params.tainted | check-regex.js:61:15:61:42 | baseURL ... tainted | +| check-regex.js:61:25:61:42 | req.params.tainted | check-regex.js:61:15:61:42 | baseURL ... tainted | +| check-regex.js:61:25:61:42 | req.params.tainted | check-regex.js:61:15:61:42 | baseURL ... tainted | +| check-regex.js:63:25:63:42 | req.params.tainted | check-regex.js:63:15:63:42 | baseURL ... tainted | +| check-regex.js:63:25:63:42 | req.params.tainted | check-regex.js:63:15:63:42 | baseURL ... tainted | +| check-regex.js:63:25:63:42 | req.params.tainted | check-regex.js:63:15:63:42 | baseURL ... tainted | +| check-regex.js:63:25:63:42 | req.params.tainted | check-regex.js:63:15:63:42 | baseURL ... tainted | | check-validator.js:15:29:15:45 | req.query.tainted | check-validator.js:15:15:15:45 | "test.c ... tainted | | check-validator.js:15:29:15:45 | req.query.tainted | check-validator.js:15:15:15:45 | "test.c ... tainted | | check-validator.js:15:29:15:45 | req.query.tainted | check-validator.js:15:15:15:45 | "test.c ... tainted | @@ -166,6 +190,9 @@ edges | check-regex.js:31:15:31:45 | "test.c ... tainted | check-regex.js:31:29:31:45 | req.query.tainted | check-regex.js:31:15:31:45 | "test.c ... tainted | The URL of this request depends on a user-provided value. | | check-regex.js:34:15:34:42 | baseURL ... tainted | check-regex.js:34:25:34:42 | req.params.tainted | check-regex.js:34:15:34:42 | baseURL ... tainted | The URL of this request depends on a user-provided value. | | check-regex.js:41:13:41:43 | "test.c ... tainted | check-regex.js:41:27:41:43 | req.query.tainted | check-regex.js:41:13:41:43 | "test.c ... tainted | The URL of this request depends on a user-provided value. | +| check-regex.js:58:15:58:42 | baseURL ... tainted | check-regex.js:58:25:58:42 | req.params.tainted | check-regex.js:58:15:58:42 | baseURL ... tainted | The URL of this request depends on a user-provided value. | +| check-regex.js:61:15:61:42 | baseURL ... tainted | check-regex.js:61:25:61:42 | req.params.tainted | check-regex.js:61:15:61:42 | baseURL ... tainted | The URL of this request depends on a user-provided value. | +| check-regex.js:63:15:63:42 | baseURL ... tainted | check-regex.js:63:25:63:42 | req.params.tainted | check-regex.js:63:15:63:42 | baseURL ... tainted | The URL of this request depends on a user-provided value. | | check-validator.js:15:15:15:45 | "test.c ... tainted | check-validator.js:15:29:15:45 | req.query.tainted | check-validator.js:15:15:15:45 | "test.c ... tainted | The URL of this request depends on a user-provided value. | | check-validator.js:27:15:27:45 | "test.c ... tainted | check-validator.js:27:29:27:45 | req.query.tainted | check-validator.js:27:15:27:45 | "test.c ... tainted | The URL of this request depends on a user-provided value. | | check-validator.js:50:15:50:45 | "test.c ... tainted | check-validator.js:50:29:50:45 | req.query.tainted | check-validator.js:50:15:50:45 | "test.c ... tainted | The URL of this request depends on a user-provided value. | diff --git a/javascript/ql/test/experimental/Security/CWE-918/check-regex.js b/javascript/ql/test/experimental/Security/CWE-918/check-regex.js index 323a9a2c8db4..055992fd22ce 100644 --- a/javascript/ql/test/experimental/Security/CWE-918/check-regex.js +++ b/javascript/ql/test/experimental/Security/CWE-918/check-regex.js @@ -51,3 +51,17 @@ app.get('/check-with-axios', req => { const isValidPath = path => path.match(/^[0-9a-z]+$/); const isInBlackList = path => path.match(/^[/\.%]+$/); + +app.get('/check-with-axios', req => { + const baseURL = "test.com/" + if (isValidPathMatchAll(req.params.tainted) ) { + axios.get(baseURL + req.params.tainted); // OK + } + if (!isValidPathMatchAll(req.params.tainted) ) { + axios.get(baseURL + req.params.tainted); // SSRF + } else { + axios.get(baseURL + req.params.tainted); // OK + } +}); + +const isValidPathMatchAll = path => path.matchAll(/^[0-9a-z]+$/g); From b45b40ea4f41580c164479c612792277acb31619 Mon Sep 17 00:00:00 2001 From: Michael Nebel Date: Thu, 7 Nov 2024 11:55:55 +0100 Subject: [PATCH 040/347] C#: Add change note. --- csharp/ql/lib/change-notes/2024-11-07-net8-runtime-models.md | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 csharp/ql/lib/change-notes/2024-11-07-net8-runtime-models.md diff --git a/csharp/ql/lib/change-notes/2024-11-07-net8-runtime-models.md b/csharp/ql/lib/change-notes/2024-11-07-net8-runtime-models.md new file mode 100644 index 000000000000..89574208e401 --- /dev/null +++ b/csharp/ql/lib/change-notes/2024-11-07-net8-runtime-models.md @@ -0,0 +1,4 @@ +--- +category: minorAnalysis +--- +* The Models as Data models for .NET 8 Runtime now include generated models for higher order methods. From 4f6fda0100a1934f70acbaca1691a3cbc9fa1c5a Mon Sep 17 00:00:00 2001 From: Paolo Tranquilli Date: Thu, 7 Nov 2024 12:45:20 +0100 Subject: [PATCH 041/347] Rust: allow to specify the target directory --- rust/extractor/macros/src/lib.rs | 6 ++++++ rust/extractor/src/config.rs | 1 + rust/extractor/src/main.rs | 5 ++++- rust/extractor/src/rust_analyzer.rs | 6 ++---- 4 files changed, 13 insertions(+), 5 deletions(-) diff --git a/rust/extractor/macros/src/lib.rs b/rust/extractor/macros/src/lib.rs index 37ca22cda444..c9771a181de5 100644 --- a/rust/extractor/macros/src/lib.rs +++ b/rust/extractor/macros/src/lib.rs @@ -21,6 +21,12 @@ pub fn extractor_cli_config(_attr: TokenStream, item: TokenStream) -> TokenStrea #id: bool, }; } + if p.path.segments.len() == 1 && p.path.segments[0].ident == "Option" { + return quote! { + #[arg(long)] + #id: #ty, + }; + } } if id == &format_ident!("verbose") { quote! { diff --git a/rust/extractor/src/config.rs b/rust/extractor/src/config.rs index a9c27199e37c..91182870bc69 100644 --- a/rust/extractor/src/config.rs +++ b/rust/extractor/src/config.rs @@ -37,6 +37,7 @@ pub struct Config { pub scratch_dir: PathBuf, pub trap_dir: PathBuf, pub source_archive_dir: PathBuf, + pub target_dir: Option, pub extract_dependencies: bool, pub verbose: u8, pub compression: Compression, diff --git a/rust/extractor/src/main.rs b/rust/extractor/src/main.rs index 43f94cbfd225..48e56db5971b 100644 --- a/rust/extractor/src/main.rs +++ b/rust/extractor/src/main.rs @@ -130,8 +130,11 @@ fn main() -> anyhow::Result<()> { } extractor.extract_without_semantics(file, "no manifest found"); } + let target_dir = &cfg + .target_dir + .unwrap_or_else(|| cfg.scratch_dir.join("target")); for (manifest, files) in map.values().filter(|(_, files)| !files.is_empty()) { - if let Some((ref db, ref vfs)) = RustAnalyzer::load_workspace(manifest, &cfg.scratch_dir) { + if let Some((ref db, ref vfs)) = RustAnalyzer::load_workspace(manifest, target_dir) { let semantics = Semantics::new(db); for file in files { let Some(id) = path_to_file_id(file, vfs) else { diff --git a/rust/extractor/src/rust_analyzer.rs b/rust/extractor/src/rust_analyzer.rs index 9f1a8f70ec67..ddbc16ab6a3a 100644 --- a/rust/extractor/src/rust_analyzer.rs +++ b/rust/extractor/src/rust_analyzer.rs @@ -45,13 +45,11 @@ pub struct ParseResult<'a> { impl<'a> RustAnalyzer<'a> { pub fn load_workspace( project: &ProjectManifest, - scratch_dir: &Path, + target_dir: &Path, ) -> Option<(RootDatabase, Vfs)> { let config = CargoConfig { sysroot: Some(RustLibSource::Discover), - target_dir: ra_ap_paths::Utf8PathBuf::from_path_buf(scratch_dir.to_path_buf()) - .map(|x| x.join("target")) - .ok(), + target_dir: ra_ap_paths::Utf8PathBuf::from_path_buf(target_dir.to_path_buf()).ok(), ..Default::default() }; let progress = |t| (log::trace!("progress: {}", t)); From 514375dbf9f1e09add18c3d3a952d0b65d66e5c4 Mon Sep 17 00:00:00 2001 From: Napalys Date: Thu, 7 Nov 2024 11:47:36 +0100 Subject: [PATCH 042/347] Fixes false positives from commit 42600c93ffad33fce4975542e11f32d45fd25747 --- .../javascript/dataflow/TaintTracking.qll | 2 +- .../Security/CWE-918/SSRF.expected | 18 ------------------ 2 files changed, 1 insertion(+), 19 deletions(-) diff --git a/javascript/ql/lib/semmle/javascript/dataflow/TaintTracking.qll b/javascript/ql/lib/semmle/javascript/dataflow/TaintTracking.qll index 11ce802ac720..d10d53b3c49b 100644 --- a/javascript/ql/lib/semmle/javascript/dataflow/TaintTracking.qll +++ b/javascript/ql/lib/semmle/javascript/dataflow/TaintTracking.qll @@ -998,7 +998,7 @@ module TaintTracking { or // u.match(/re/) or u.match("re") base = expr and - m = "match" and + m = ["match", "matchAll"] and RegExp::isGenericRegExpSanitizer(RegExp::getRegExpFromNode(firstArg.flow()), sanitizedOutcome) ) diff --git a/javascript/ql/test/experimental/Security/CWE-918/SSRF.expected b/javascript/ql/test/experimental/Security/CWE-918/SSRF.expected index 0dbb00780702..b8f58cb4c785 100644 --- a/javascript/ql/test/experimental/Security/CWE-918/SSRF.expected +++ b/javascript/ql/test/experimental/Security/CWE-918/SSRF.expected @@ -51,18 +51,10 @@ nodes | check-regex.js:41:13:41:43 | "test.c ... tainted | | check-regex.js:41:27:41:43 | req.query.tainted | | check-regex.js:41:27:41:43 | req.query.tainted | -| check-regex.js:58:15:58:42 | baseURL ... tainted | -| check-regex.js:58:15:58:42 | baseURL ... tainted | -| check-regex.js:58:25:58:42 | req.params.tainted | -| check-regex.js:58:25:58:42 | req.params.tainted | | check-regex.js:61:15:61:42 | baseURL ... tainted | | check-regex.js:61:15:61:42 | baseURL ... tainted | | check-regex.js:61:25:61:42 | req.params.tainted | | check-regex.js:61:25:61:42 | req.params.tainted | -| check-regex.js:63:15:63:42 | baseURL ... tainted | -| check-regex.js:63:15:63:42 | baseURL ... tainted | -| check-regex.js:63:25:63:42 | req.params.tainted | -| check-regex.js:63:25:63:42 | req.params.tainted | | check-validator.js:15:15:15:45 | "test.c ... tainted | | check-validator.js:15:15:15:45 | "test.c ... tainted | | check-validator.js:15:29:15:45 | req.query.tainted | @@ -139,18 +131,10 @@ edges | check-regex.js:41:27:41:43 | req.query.tainted | check-regex.js:41:13:41:43 | "test.c ... tainted | | check-regex.js:41:27:41:43 | req.query.tainted | check-regex.js:41:13:41:43 | "test.c ... tainted | | check-regex.js:41:27:41:43 | req.query.tainted | check-regex.js:41:13:41:43 | "test.c ... tainted | -| check-regex.js:58:25:58:42 | req.params.tainted | check-regex.js:58:15:58:42 | baseURL ... tainted | -| check-regex.js:58:25:58:42 | req.params.tainted | check-regex.js:58:15:58:42 | baseURL ... tainted | -| check-regex.js:58:25:58:42 | req.params.tainted | check-regex.js:58:15:58:42 | baseURL ... tainted | -| check-regex.js:58:25:58:42 | req.params.tainted | check-regex.js:58:15:58:42 | baseURL ... tainted | | check-regex.js:61:25:61:42 | req.params.tainted | check-regex.js:61:15:61:42 | baseURL ... tainted | | check-regex.js:61:25:61:42 | req.params.tainted | check-regex.js:61:15:61:42 | baseURL ... tainted | | check-regex.js:61:25:61:42 | req.params.tainted | check-regex.js:61:15:61:42 | baseURL ... tainted | | check-regex.js:61:25:61:42 | req.params.tainted | check-regex.js:61:15:61:42 | baseURL ... tainted | -| check-regex.js:63:25:63:42 | req.params.tainted | check-regex.js:63:15:63:42 | baseURL ... tainted | -| check-regex.js:63:25:63:42 | req.params.tainted | check-regex.js:63:15:63:42 | baseURL ... tainted | -| check-regex.js:63:25:63:42 | req.params.tainted | check-regex.js:63:15:63:42 | baseURL ... tainted | -| check-regex.js:63:25:63:42 | req.params.tainted | check-regex.js:63:15:63:42 | baseURL ... tainted | | check-validator.js:15:29:15:45 | req.query.tainted | check-validator.js:15:15:15:45 | "test.c ... tainted | | check-validator.js:15:29:15:45 | req.query.tainted | check-validator.js:15:15:15:45 | "test.c ... tainted | | check-validator.js:15:29:15:45 | req.query.tainted | check-validator.js:15:15:15:45 | "test.c ... tainted | @@ -190,9 +174,7 @@ edges | check-regex.js:31:15:31:45 | "test.c ... tainted | check-regex.js:31:29:31:45 | req.query.tainted | check-regex.js:31:15:31:45 | "test.c ... tainted | The URL of this request depends on a user-provided value. | | check-regex.js:34:15:34:42 | baseURL ... tainted | check-regex.js:34:25:34:42 | req.params.tainted | check-regex.js:34:15:34:42 | baseURL ... tainted | The URL of this request depends on a user-provided value. | | check-regex.js:41:13:41:43 | "test.c ... tainted | check-regex.js:41:27:41:43 | req.query.tainted | check-regex.js:41:13:41:43 | "test.c ... tainted | The URL of this request depends on a user-provided value. | -| check-regex.js:58:15:58:42 | baseURL ... tainted | check-regex.js:58:25:58:42 | req.params.tainted | check-regex.js:58:15:58:42 | baseURL ... tainted | The URL of this request depends on a user-provided value. | | check-regex.js:61:15:61:42 | baseURL ... tainted | check-regex.js:61:25:61:42 | req.params.tainted | check-regex.js:61:15:61:42 | baseURL ... tainted | The URL of this request depends on a user-provided value. | -| check-regex.js:63:15:63:42 | baseURL ... tainted | check-regex.js:63:25:63:42 | req.params.tainted | check-regex.js:63:15:63:42 | baseURL ... tainted | The URL of this request depends on a user-provided value. | | check-validator.js:15:15:15:45 | "test.c ... tainted | check-validator.js:15:29:15:45 | req.query.tainted | check-validator.js:15:15:15:45 | "test.c ... tainted | The URL of this request depends on a user-provided value. | | check-validator.js:27:15:27:45 | "test.c ... tainted | check-validator.js:27:29:27:45 | req.query.tainted | check-validator.js:27:15:27:45 | "test.c ... tainted | The URL of this request depends on a user-provided value. | | check-validator.js:50:15:50:45 | "test.c ... tainted | check-validator.js:50:29:50:45 | req.query.tainted | check-validator.js:50:15:50:45 | "test.c ... tainted | The URL of this request depends on a user-provided value. | From 1a000ecb46890cb48a50f615f9e16e65584d29e9 Mon Sep 17 00:00:00 2001 From: Simon Friis Vindum Date: Thu, 7 Nov 2024 13:04:54 +0100 Subject: [PATCH 043/347] Rust: Make minor data flow changes based on PR feedback --- .../codeql/rust/dataflow/internal/DataFlowImpl.qll | 11 ++++++----- .../CONSISTENCY/DataFlowConsistency.expected | 0 .../Function/CONSISTENCY/DataFlowConsistency.expected | 0 .../MatchArm/CONSISTENCY/DataFlowConsistency.expected | 0 .../CONSISTENCY/DataFlowConsistency.expected | 0 5 files changed, 6 insertions(+), 5 deletions(-) delete mode 100644 rust/ql/test/extractor-tests/generated/ClosureExpr/CONSISTENCY/DataFlowConsistency.expected delete mode 100644 rust/ql/test/extractor-tests/generated/Function/CONSISTENCY/DataFlowConsistency.expected delete mode 100644 rust/ql/test/extractor-tests/generated/MatchArm/CONSISTENCY/DataFlowConsistency.expected delete mode 100644 rust/ql/test/extractor-tests/generated/MatchExpr/CONSISTENCY/DataFlowConsistency.expected diff --git a/rust/ql/lib/codeql/rust/dataflow/internal/DataFlowImpl.qll b/rust/ql/lib/codeql/rust/dataflow/internal/DataFlowImpl.qll index 2213892f0c0d..bc7679a99c73 100644 --- a/rust/ql/lib/codeql/rust/dataflow/internal/DataFlowImpl.qll +++ b/rust/ql/lib/codeql/rust/dataflow/internal/DataFlowImpl.qll @@ -49,6 +49,7 @@ abstract class DataFlowCall extends TDataFlowCall { /** Gets the underlying source code call, if any. */ abstract CallCfgNode asCall(); + /** Gets a textual representation of this call. */ abstract string toString(); /** Gets the location of this call. */ @@ -189,14 +190,14 @@ module Node { /** A data flow node that represents a value returned by a callable. */ final class ReturnNode extends ExprNode { - ReturnNode() { this.getCfgNode().getASuccessor() instanceof ExitCfgNode } + ReturnNode() { this.asExpr() instanceof ReturnExpr } ReturnKind getKind() { any() } } /** A data-flow node that represents the output of a call. */ abstract class OutNode extends Node, ExprNode { - /** Gets the underlying call, where this node is a corresponding output of kind `kind`. */ + /** Gets the underlying call for this node. */ abstract DataFlowCall getCall(); } @@ -284,11 +285,11 @@ module LocalFlow { } } -class DataFlowCallableAlias = DataFlowCallable; +private class DataFlowCallableAlias = DataFlowCallable; -class ReturnKindAlias = ReturnKind; +private class ReturnKindAlias = ReturnKind; -class DataFlowCallAlias = DataFlowCall; +private class DataFlowCallAlias = DataFlowCall; module RustDataFlow implements InputSig { /** diff --git a/rust/ql/test/extractor-tests/generated/ClosureExpr/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/extractor-tests/generated/ClosureExpr/CONSISTENCY/DataFlowConsistency.expected deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/rust/ql/test/extractor-tests/generated/Function/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/extractor-tests/generated/Function/CONSISTENCY/DataFlowConsistency.expected deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/rust/ql/test/extractor-tests/generated/MatchArm/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/extractor-tests/generated/MatchArm/CONSISTENCY/DataFlowConsistency.expected deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/rust/ql/test/extractor-tests/generated/MatchExpr/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/extractor-tests/generated/MatchExpr/CONSISTENCY/DataFlowConsistency.expected deleted file mode 100644 index e69de29bb2d1..000000000000 From a4fe728af2def2d79559dbbba12bc0bfac5fd9a1 Mon Sep 17 00:00:00 2001 From: Napalys Date: Thu, 7 Nov 2024 13:09:15 +0100 Subject: [PATCH 044/347] Added matchAll test which is not marked as vulnurability by CodeQL --- .../test/query-tests/Security/CWE-117/logInjectionBad.js | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/javascript/ql/test/query-tests/Security/CWE-117/logInjectionBad.js b/javascript/ql/test/query-tests/Security/CWE-117/logInjectionBad.js index c6c86363164e..2c6a727224e6 100644 --- a/javascript/ql/test/query-tests/Security/CWE-117/logInjectionBad.js +++ b/javascript/ql/test/query-tests/Security/CWE-117/logInjectionBad.js @@ -116,4 +116,10 @@ const server4 = http.createServer((req, res) => { }); server.start(); } -}); \ No newline at end of file +}); + +const serverMatchAll = http.createServer((req, res) => { + let username = url.parse(req.url, true).query.username; + let otherStr = username.matchAll(/.*/g)[0]; // BAD - this is suppose to be cought by Taint Tracking, works for match but not matchAll + console.log(otherStr); +}); From dbd57e3870c5911324942ad6196270155a002dcf Mon Sep 17 00:00:00 2001 From: Napalys Date: Thu, 7 Nov 2024 13:40:10 +0100 Subject: [PATCH 045/347] Fixed issue where TaintTracking was not catching matchAll vulnerability --- .../javascript/dataflow/TaintTracking.qll | 2 +- .../Security/CWE-117/LogInjection.expected | 24 +++++++++++++++++++ .../Security/CWE-117/logInjectionBad.js | 2 +- 3 files changed, 26 insertions(+), 2 deletions(-) diff --git a/javascript/ql/lib/semmle/javascript/dataflow/TaintTracking.qll b/javascript/ql/lib/semmle/javascript/dataflow/TaintTracking.qll index d10d53b3c49b..8a1f5b6f9875 100644 --- a/javascript/ql/lib/semmle/javascript/dataflow/TaintTracking.qll +++ b/javascript/ql/lib/semmle/javascript/dataflow/TaintTracking.qll @@ -716,7 +716,7 @@ module TaintTracking { pragma[nomagic] private DataFlow::MethodCallNode matchMethodCall() { - result.getMethodName() = "match" and + result.getMethodName() = ["match", "matchAll"] and exists(DataFlow::AnalyzedNode analyzed | pragma[only_bind_into](analyzed) = result.getArgument(0).analyze() and analyzed.getAType() = TTRegExp() diff --git a/javascript/ql/test/query-tests/Security/CWE-117/LogInjection.expected b/javascript/ql/test/query-tests/Security/CWE-117/LogInjection.expected index db473a17d2c3..b87a6e9bbd4f 100644 --- a/javascript/ql/test/query-tests/Security/CWE-117/LogInjection.expected +++ b/javascript/ql/test/query-tests/Security/CWE-117/LogInjection.expected @@ -94,6 +94,18 @@ nodes | logInjectionBad.js:99:26:99:33 | username | | logInjectionBad.js:113:37:113:44 | username | | logInjectionBad.js:113:37:113:44 | username | +| logInjectionBad.js:122:9:122:58 | username | +| logInjectionBad.js:122:20:122:43 | url.par ... , true) | +| logInjectionBad.js:122:20:122:49 | url.par ... ).query | +| logInjectionBad.js:122:20:122:58 | url.par ... sername | +| logInjectionBad.js:122:30:122:36 | req.url | +| logInjectionBad.js:122:30:122:36 | req.url | +| logInjectionBad.js:123:9:123:46 | otherStr | +| logInjectionBad.js:123:20:123:27 | username | +| logInjectionBad.js:123:20:123:43 | usernam ... (/.*/g) | +| logInjectionBad.js:123:20:123:46 | usernam ... */g)[0] | +| logInjectionBad.js:124:17:124:24 | otherStr | +| logInjectionBad.js:124:17:124:24 | otherStr | edges | logInjectionBad.js:19:9:19:36 | q | logInjectionBad.js:20:20:20:20 | q | | logInjectionBad.js:19:13:19:36 | url.par ... , true) | logInjectionBad.js:19:9:19:36 | q | @@ -186,6 +198,17 @@ edges | logInjectionBad.js:73:20:73:20 | q | logInjectionBad.js:73:20:73:26 | q.query | | logInjectionBad.js:73:20:73:26 | q.query | logInjectionBad.js:73:20:73:35 | q.query.username | | logInjectionBad.js:73:20:73:35 | q.query.username | logInjectionBad.js:73:9:73:35 | username | +| logInjectionBad.js:122:9:122:58 | username | logInjectionBad.js:123:20:123:27 | username | +| logInjectionBad.js:122:20:122:43 | url.par ... , true) | logInjectionBad.js:122:20:122:49 | url.par ... ).query | +| logInjectionBad.js:122:20:122:49 | url.par ... ).query | logInjectionBad.js:122:20:122:58 | url.par ... sername | +| logInjectionBad.js:122:20:122:58 | url.par ... sername | logInjectionBad.js:122:9:122:58 | username | +| logInjectionBad.js:122:30:122:36 | req.url | logInjectionBad.js:122:20:122:43 | url.par ... , true) | +| logInjectionBad.js:122:30:122:36 | req.url | logInjectionBad.js:122:20:122:43 | url.par ... , true) | +| logInjectionBad.js:123:9:123:46 | otherStr | logInjectionBad.js:124:17:124:24 | otherStr | +| logInjectionBad.js:123:9:123:46 | otherStr | logInjectionBad.js:124:17:124:24 | otherStr | +| logInjectionBad.js:123:20:123:27 | username | logInjectionBad.js:123:20:123:43 | usernam ... (/.*/g) | +| logInjectionBad.js:123:20:123:43 | usernam ... (/.*/g) | logInjectionBad.js:123:20:123:46 | usernam ... */g)[0] | +| logInjectionBad.js:123:20:123:46 | usernam ... */g)[0] | logInjectionBad.js:123:9:123:46 | otherStr | #select | logInjectionBad.js:22:18:22:43 | `[INFO] ... rname}` | logInjectionBad.js:19:23:19:29 | req.url | logInjectionBad.js:22:18:22:43 | `[INFO] ... rname}` | Log entry depends on a $@. | logInjectionBad.js:19:23:19:29 | req.url | user-provided value | | logInjectionBad.js:23:37:23:44 | username | logInjectionBad.js:19:23:19:29 | req.url | logInjectionBad.js:23:37:23:44 | username | Log entry depends on a $@. | logInjectionBad.js:19:23:19:29 | req.url | user-provided value | @@ -208,3 +231,4 @@ edges | logInjectionBad.js:91:26:91:33 | username | logInjectionBad.js:72:23:72:29 | req.url | logInjectionBad.js:91:26:91:33 | username | Log entry depends on a $@. | logInjectionBad.js:72:23:72:29 | req.url | user-provided value | | logInjectionBad.js:99:26:99:33 | username | logInjectionBad.js:72:23:72:29 | req.url | logInjectionBad.js:99:26:99:33 | username | Log entry depends on a $@. | logInjectionBad.js:72:23:72:29 | req.url | user-provided value | | logInjectionBad.js:113:37:113:44 | username | logInjectionBad.js:72:23:72:29 | req.url | logInjectionBad.js:113:37:113:44 | username | Log entry depends on a $@. | logInjectionBad.js:72:23:72:29 | req.url | user-provided value | +| logInjectionBad.js:124:17:124:24 | otherStr | logInjectionBad.js:122:30:122:36 | req.url | logInjectionBad.js:124:17:124:24 | otherStr | Log entry depends on a $@. | logInjectionBad.js:122:30:122:36 | req.url | user-provided value | diff --git a/javascript/ql/test/query-tests/Security/CWE-117/logInjectionBad.js b/javascript/ql/test/query-tests/Security/CWE-117/logInjectionBad.js index 2c6a727224e6..35acc1e3aa30 100644 --- a/javascript/ql/test/query-tests/Security/CWE-117/logInjectionBad.js +++ b/javascript/ql/test/query-tests/Security/CWE-117/logInjectionBad.js @@ -120,6 +120,6 @@ const server4 = http.createServer((req, res) => { const serverMatchAll = http.createServer((req, res) => { let username = url.parse(req.url, true).query.username; - let otherStr = username.matchAll(/.*/g)[0]; // BAD - this is suppose to be cought by Taint Tracking, works for match but not matchAll + let otherStr = username.matchAll(/.*/g)[0]; // BAD console.log(otherStr); }); From 22835c28ff524adf044f52ece29daa9b820644d7 Mon Sep 17 00:00:00 2001 From: Simon Friis Vindum Date: Thu, 7 Nov 2024 15:21:11 +0100 Subject: [PATCH 046/347] Rust: Make a return node the last node before function exit --- rust/ql/lib/codeql/rust/dataflow/internal/DataFlowImpl.qll | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rust/ql/lib/codeql/rust/dataflow/internal/DataFlowImpl.qll b/rust/ql/lib/codeql/rust/dataflow/internal/DataFlowImpl.qll index bc7679a99c73..b178e97acfe6 100644 --- a/rust/ql/lib/codeql/rust/dataflow/internal/DataFlowImpl.qll +++ b/rust/ql/lib/codeql/rust/dataflow/internal/DataFlowImpl.qll @@ -190,7 +190,7 @@ module Node { /** A data flow node that represents a value returned by a callable. */ final class ReturnNode extends ExprNode { - ReturnNode() { this.asExpr() instanceof ReturnExpr } + ReturnNode() { this.getCfgNode().getASuccessor() instanceof ExitCfgNode } ReturnKind getKind() { any() } } From 5602570e189976683101975428f0f0a11685764d Mon Sep 17 00:00:00 2001 From: Anders Schack-Mulligen Date: Thu, 7 Nov 2024 15:25:23 +0100 Subject: [PATCH 047/347] Kotlin: Support NotNullExpr in TypeFlow. --- java/ql/lib/semmle/code/java/dataflow/TypeFlow.qll | 2 ++ 1 file changed, 2 insertions(+) diff --git a/java/ql/lib/semmle/code/java/dataflow/TypeFlow.qll b/java/ql/lib/semmle/code/java/dataflow/TypeFlow.qll index f71c99321638..c548c5db38be 100644 --- a/java/ql/lib/semmle/code/java/dataflow/TypeFlow.qll +++ b/java/ql/lib/semmle/code/java/dataflow/TypeFlow.qll @@ -127,6 +127,8 @@ private module Input implements TypeFlowInput { n2.asSsa().(BaseSsaUpdate).getDefiningExpr().(VariableAssign).getSource() = n1.asExpr() or n2.asSsa().(BaseSsaImplicitInit).captures(n1.asSsa()) + or + n2.asExpr().(NotNullExpr).getExpr() = n1.asExpr() } /** From ccb92357a262481f9ff6baaa9e95f1c027b44be6 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 8 Nov 2024 04:00:30 +0000 Subject: [PATCH 048/347] Bump golang.org/x/mod Bumps the extractor-dependencies group in /go/extractor with 1 update: [golang.org/x/mod](https://github.com/golang/mod). Updates `golang.org/x/mod` from 0.21.0 to 0.22.0 - [Commits](https://github.com/golang/mod/compare/v0.21.0...v0.22.0) --- updated-dependencies: - dependency-name: golang.org/x/mod dependency-type: direct:production update-type: version-update:semver-minor dependency-group: extractor-dependencies ... Signed-off-by: dependabot[bot] --- go/extractor/go.mod | 2 +- go/extractor/go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go/extractor/go.mod b/go/extractor/go.mod index a0dfec15866f..15316c19b13d 100644 --- a/go/extractor/go.mod +++ b/go/extractor/go.mod @@ -9,7 +9,7 @@ toolchain go1.23.1 // when adding or removing dependencies, run // bazel mod tidy require ( - golang.org/x/mod v0.21.0 + golang.org/x/mod v0.22.0 golang.org/x/tools v0.26.0 ) diff --git a/go/extractor/go.sum b/go/extractor/go.sum index 1bf208ccc72c..de432659282e 100644 --- a/go/extractor/go.sum +++ b/go/extractor/go.sum @@ -1,5 +1,5 @@ -golang.org/x/mod v0.21.0 h1:vvrHzRwRfVKSiLrG+d4FMl/Qi4ukBCE6kZlTUkDYRT0= -golang.org/x/mod v0.21.0/go.mod h1:6SkKJ3Xj0I0BrPOZoBy3bdMptDDU9oJrpohJ3eWZ1fY= +golang.org/x/mod v0.22.0 h1:D4nJWe9zXqHOmWqj4VMOJhvzj7bEZg4wEYa759z1pH4= +golang.org/x/mod v0.22.0/go.mod h1:6SkKJ3Xj0I0BrPOZoBy3bdMptDDU9oJrpohJ3eWZ1fY= golang.org/x/sync v0.8.0 h1:3NFvSEYkUoMifnESzZl15y791HH1qU2xm6eCJU5ZPXQ= golang.org/x/sync v0.8.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/tools v0.26.0 h1:v/60pFQmzmT9ExmjDv2gGIfi3OqfKoEP6I5+umXlbnQ= From c2baf0bd6df3eb8f28b13b63a3ef38fb8dff8282 Mon Sep 17 00:00:00 2001 From: Napalys Date: Fri, 8 Nov 2024 08:56:12 +0100 Subject: [PATCH 049/347] Added test where RegExp. is used after matchAll but it not flagged as potential issue --- .../ql/test/query-tests/Security/CWE-117/logInjectionBad.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/javascript/ql/test/query-tests/Security/CWE-117/logInjectionBad.js b/javascript/ql/test/query-tests/Security/CWE-117/logInjectionBad.js index 35acc1e3aa30..21913f09a4a0 100644 --- a/javascript/ql/test/query-tests/Security/CWE-117/logInjectionBad.js +++ b/javascript/ql/test/query-tests/Security/CWE-117/logInjectionBad.js @@ -123,3 +123,8 @@ const serverMatchAll = http.createServer((req, res) => { let otherStr = username.matchAll(/.*/g)[0]; // BAD console.log(otherStr); }); + +const serverMatchAl2l = http.createServer((req, res) => { + const result = url.parse(req.url, true).query.username.matchAll(/(\d+)/g); // BAD - match is marked as vulnerable, while matchAll is not. + console.log("First captured group:", RegExp.$1); +}); From 70cf1a57bcae0dd50d89ca5bec935de401e93af6 Mon Sep 17 00:00:00 2001 From: Napalys Date: Fri, 8 Nov 2024 08:59:31 +0100 Subject: [PATCH 050/347] Now catches usage of RegExp. after matchAll usage. --- .../semmle/javascript/dataflow/TaintTracking.qll | 2 +- .../Security/CWE-117/LogInjection.expected | 14 ++++++++++++++ .../Security/CWE-117/logInjectionBad.js | 2 +- 3 files changed, 16 insertions(+), 2 deletions(-) diff --git a/javascript/ql/lib/semmle/javascript/dataflow/TaintTracking.qll b/javascript/ql/lib/semmle/javascript/dataflow/TaintTracking.qll index 8a1f5b6f9875..989c551ab2fa 100644 --- a/javascript/ql/lib/semmle/javascript/dataflow/TaintTracking.qll +++ b/javascript/ql/lib/semmle/javascript/dataflow/TaintTracking.qll @@ -917,7 +917,7 @@ module TaintTracking { */ private ControlFlowNode getACaptureSetter(DataFlow::Node input) { exists(DataFlow::MethodCallNode call | result = call.asExpr() | - call.getMethodName() = ["search", "replace", "replaceAll", "match"] and + call.getMethodName() = ["search", "replace", "replaceAll", "match", "matchAll"] and input = call.getReceiver() or call.getMethodName() = ["test", "exec"] and input = call.getArgument(0) diff --git a/javascript/ql/test/query-tests/Security/CWE-117/LogInjection.expected b/javascript/ql/test/query-tests/Security/CWE-117/LogInjection.expected index b87a6e9bbd4f..1f810f1beea8 100644 --- a/javascript/ql/test/query-tests/Security/CWE-117/LogInjection.expected +++ b/javascript/ql/test/query-tests/Security/CWE-117/LogInjection.expected @@ -106,6 +106,13 @@ nodes | logInjectionBad.js:123:20:123:46 | usernam ... */g)[0] | | logInjectionBad.js:124:17:124:24 | otherStr | | logInjectionBad.js:124:17:124:24 | otherStr | +| logInjectionBad.js:128:20:128:43 | url.par ... , true) | +| logInjectionBad.js:128:20:128:49 | url.par ... ).query | +| logInjectionBad.js:128:20:128:58 | url.par ... sername | +| logInjectionBad.js:128:30:128:36 | req.url | +| logInjectionBad.js:128:30:128:36 | req.url | +| logInjectionBad.js:129:42:129:50 | RegExp.$1 | +| logInjectionBad.js:129:42:129:50 | RegExp.$1 | edges | logInjectionBad.js:19:9:19:36 | q | logInjectionBad.js:20:20:20:20 | q | | logInjectionBad.js:19:13:19:36 | url.par ... , true) | logInjectionBad.js:19:9:19:36 | q | @@ -209,6 +216,12 @@ edges | logInjectionBad.js:123:20:123:27 | username | logInjectionBad.js:123:20:123:43 | usernam ... (/.*/g) | | logInjectionBad.js:123:20:123:43 | usernam ... (/.*/g) | logInjectionBad.js:123:20:123:46 | usernam ... */g)[0] | | logInjectionBad.js:123:20:123:46 | usernam ... */g)[0] | logInjectionBad.js:123:9:123:46 | otherStr | +| logInjectionBad.js:128:20:128:43 | url.par ... , true) | logInjectionBad.js:128:20:128:49 | url.par ... ).query | +| logInjectionBad.js:128:20:128:49 | url.par ... ).query | logInjectionBad.js:128:20:128:58 | url.par ... sername | +| logInjectionBad.js:128:20:128:58 | url.par ... sername | logInjectionBad.js:129:42:129:50 | RegExp.$1 | +| logInjectionBad.js:128:20:128:58 | url.par ... sername | logInjectionBad.js:129:42:129:50 | RegExp.$1 | +| logInjectionBad.js:128:30:128:36 | req.url | logInjectionBad.js:128:20:128:43 | url.par ... , true) | +| logInjectionBad.js:128:30:128:36 | req.url | logInjectionBad.js:128:20:128:43 | url.par ... , true) | #select | logInjectionBad.js:22:18:22:43 | `[INFO] ... rname}` | logInjectionBad.js:19:23:19:29 | req.url | logInjectionBad.js:22:18:22:43 | `[INFO] ... rname}` | Log entry depends on a $@. | logInjectionBad.js:19:23:19:29 | req.url | user-provided value | | logInjectionBad.js:23:37:23:44 | username | logInjectionBad.js:19:23:19:29 | req.url | logInjectionBad.js:23:37:23:44 | username | Log entry depends on a $@. | logInjectionBad.js:19:23:19:29 | req.url | user-provided value | @@ -232,3 +245,4 @@ edges | logInjectionBad.js:99:26:99:33 | username | logInjectionBad.js:72:23:72:29 | req.url | logInjectionBad.js:99:26:99:33 | username | Log entry depends on a $@. | logInjectionBad.js:72:23:72:29 | req.url | user-provided value | | logInjectionBad.js:113:37:113:44 | username | logInjectionBad.js:72:23:72:29 | req.url | logInjectionBad.js:113:37:113:44 | username | Log entry depends on a $@. | logInjectionBad.js:72:23:72:29 | req.url | user-provided value | | logInjectionBad.js:124:17:124:24 | otherStr | logInjectionBad.js:122:30:122:36 | req.url | logInjectionBad.js:124:17:124:24 | otherStr | Log entry depends on a $@. | logInjectionBad.js:122:30:122:36 | req.url | user-provided value | +| logInjectionBad.js:129:42:129:50 | RegExp.$1 | logInjectionBad.js:128:30:128:36 | req.url | logInjectionBad.js:129:42:129:50 | RegExp.$1 | Log entry depends on a $@. | logInjectionBad.js:128:30:128:36 | req.url | user-provided value | diff --git a/javascript/ql/test/query-tests/Security/CWE-117/logInjectionBad.js b/javascript/ql/test/query-tests/Security/CWE-117/logInjectionBad.js index 21913f09a4a0..028412c346b0 100644 --- a/javascript/ql/test/query-tests/Security/CWE-117/logInjectionBad.js +++ b/javascript/ql/test/query-tests/Security/CWE-117/logInjectionBad.js @@ -125,6 +125,6 @@ const serverMatchAll = http.createServer((req, res) => { }); const serverMatchAl2l = http.createServer((req, res) => { - const result = url.parse(req.url, true).query.username.matchAll(/(\d+)/g); // BAD - match is marked as vulnerable, while matchAll is not. + const result = url.parse(req.url, true).query.username.matchAll(/(\d+)/g); // BAD console.log("First captured group:", RegExp.$1); }); From 083394073a7d90adfea856af5d684cf7c8990601 Mon Sep 17 00:00:00 2001 From: Paolo Tranquilli Date: Fri, 8 Nov 2024 09:53:50 +0100 Subject: [PATCH 051/347] Rust: rename `target_dir` to `cargo_target_dir`, add to extraction options Also removed the now unused `extract_dependencies` one. --- rust/codeql-extractor.yml | 15 ++++++++------- rust/extractor/src/config.rs | 3 +-- rust/extractor/src/main.rs | 2 +- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/rust/codeql-extractor.yml b/rust/codeql-extractor.yml index e33d2c0c7153..c7558c17efef 100644 --- a/rust/codeql-extractor.yml +++ b/rust/codeql-extractor.yml @@ -23,14 +23,15 @@ options: title: Controls compression for the TRAP files written by the extractor. description: > This option is only intended for use in debugging the extractor. Accepted - values are 'gzip' (the default, to write gzip-compressed TRAP) and 'none' - (to write uncompressed TRAP). + values are 'gzip' (to write gzip-compressed TRAP) and 'none' + (currently the default, to write uncompressed TRAP). type: string pattern: "^(none|gzip)$" - extract_dependencies: - title: Whether to extract dependencies. + cargo_target_dir: + title: Directory to use for cargo output files. description: > - Extract the source code of dependencies and the standard libraries in addition to - normal source code. + This value is an optional path to use as `CARGO_TARGET_DIR` for the internal + cargo commands the extractor uses. Pointing it to a persistent directory may + reduce execution time of consecutive extractor runs. By default, a new scratch + directory is used for each run. type: string - pattern: "^(false|true)$" diff --git a/rust/extractor/src/config.rs b/rust/extractor/src/config.rs index 91182870bc69..f477663f6070 100644 --- a/rust/extractor/src/config.rs +++ b/rust/extractor/src/config.rs @@ -37,8 +37,7 @@ pub struct Config { pub scratch_dir: PathBuf, pub trap_dir: PathBuf, pub source_archive_dir: PathBuf, - pub target_dir: Option, - pub extract_dependencies: bool, + pub cargo_target_dir: Option, pub verbose: u8, pub compression: Compression, pub inputs: Vec, diff --git a/rust/extractor/src/main.rs b/rust/extractor/src/main.rs index 48e56db5971b..1f963a0990e5 100644 --- a/rust/extractor/src/main.rs +++ b/rust/extractor/src/main.rs @@ -131,7 +131,7 @@ fn main() -> anyhow::Result<()> { extractor.extract_without_semantics(file, "no manifest found"); } let target_dir = &cfg - .target_dir + .cargo_target_dir .unwrap_or_else(|| cfg.scratch_dir.join("target")); for (manifest, files) in map.values().filter(|(_, files)| !files.is_empty()) { if let Some((ref db, ref vfs)) = RustAnalyzer::load_workspace(manifest, target_dir) { From bee51091d671ebddcfac20ef2ce15e2df682ffaf Mon Sep 17 00:00:00 2001 From: Florin Coada Date: Fri, 8 Nov 2024 10:43:42 +0000 Subject: [PATCH 052/347] Changedocs for 2.19.3 --- .../codeql-changelog/codeql-cli-2.19.3.rst | 122 ++++++++++++++++++ .../codeql-changelog/index.rst | 1 + 2 files changed, 123 insertions(+) create mode 100644 docs/codeql/codeql-overview/codeql-changelog/codeql-cli-2.19.3.rst diff --git a/docs/codeql/codeql-overview/codeql-changelog/codeql-cli-2.19.3.rst b/docs/codeql/codeql-overview/codeql-changelog/codeql-cli-2.19.3.rst new file mode 100644 index 000000000000..c078993aa3f1 --- /dev/null +++ b/docs/codeql/codeql-overview/codeql-changelog/codeql-cli-2.19.3.rst @@ -0,0 +1,122 @@ +.. _codeql-cli-2.19.3: + +========================== +CodeQL 2.19.3 (2024-11-07) +========================== + +.. contents:: Contents + :depth: 2 + :local: + :backlinks: none + +This is an overview of changes in the CodeQL CLI and relevant CodeQL query and library packs. For additional updates on changes to the CodeQL code scanning experience, check out the `code scanning section on the GitHub blog `__, `relevant GitHub Changelog updates `__, `changes in the CodeQL extension for Visual Studio Code `__, and the `CodeQL Action changelog `__. + +Security Coverage +----------------- + +CodeQL 2.19.3 runs a total of 427 security queries when configured with the Default suite (covering 164 CWE). The Extended suite enables an additional 128 queries (covering 34 more CWE). + +CodeQL CLI +---------- + +Bug Fixes +~~~~~~~~~ + +* Fixed a bug where using :code:`codeql database import` to combine multiple non-empty databases may produce a corrupted database. (The bug does not affect using + :code:`codeql database finalize --additional-dbs` to combine multiple databases.) + +* Fixed a bug where uses of a :code:`QlBuiltins::ExtensionId` variable that was not bound to a value could be incorrectly accepted in some cases. In many cases, + this would result in a crash. + +* CodeQL would sometimes refuse to run with more than around 1,500 GB of RAM available, complaining that having so much memory was "unrealistic". The amount of memory CodeQL is able to make any meaningful use of still tops out at about that value, but it will now gracefully accept that so large computers do in fact exist. + +* Fixed a bug in command-line parsing where a misspelled option could sometimes be misinterpreted as, e.g., the name of a query to run. Now every command-line argument that begins with a dash is assumed to be intended as an option + (unless it comes after the :code:`--` separator), and an appropriate error is emitted if that is not a recognized one. + + The build command in :code:`codeql database trace-command` is exempted from this for historical reasons, but we strongly recommend putting a :code:`--` before the entire build command there, in case a future :code:`codeql` version starts recognizing options that you intended to be part of the build command. + +Miscellaneous +~~~~~~~~~~~~~ + +* The CodeQL Bundle is now available as an artifact that is compressed using + \ `Zstandard `__. This artifact is smaller and faster to decompress than the original, gzip-compressed bundle. The CodeQL bundle is a tar archive containing tools, scripts, and various CodeQL-specific files. + + If you are currently using the CodeQL Bundle, you may want to consider switching to the Zstandard variant of the bundle. You can download the new form of the CodeQL Bundle from the + \ `codeql-action releases page `__ by selecting the appropriate bundle with the :code:`.zst` extension. The gzip-compressed bundles will continue to be available for backwards compatibility. + +Query Packs +----------- + +Minor Analysis Improvements +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +C/C++ +""""" + +* Remove results from the :code:`cpp/wrong-type-format-argument` ("Wrong type of arguments to formatting function") query if the argument is the return value of an implicitly declared function. + +C# +"" + +* C#: The method :code:`string.ReplaceLineEndings(string)` is now considered a sanitizer for the :code:`cs/log-forging` query. + +Python +"""""" + +* Improved modelling for the :code:`pycurl` framework. + +Language Libraries +------------------ + +Major Analysis Improvements +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +C# +"" + +* The generated .NET 8 runtime models have been updated. + +Java/Kotlin +""""""""""" + +* Java: The generated JDK 17 models have been updated. + +Minor Analysis Improvements +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +C/C++ +""""" + +* The function call target resolution algorithm has been improved to resolve more calls through function pointers. As a result, dataflow queries may have more results. + +Golang +"""""" + +* The AST viewer now shows type parameter declarations in the correct place in the AST. + +Java/Kotlin +""""""""""" + +* Java :code:`build-mode=none` extraction now packages the Maven plugin used to examine project dependencies. This means that dependency identification is more likely to succeed, and therefore analysis quality may rise, in scenarios where Maven Central is not reachable. + +Python +"""""" + +* Added partial support for the :code:`copy.replace` method, `added `__ in Python 3.13. +* Added support for type parameter defaults, as specified in `PEP-696 `__. + +New Features +~~~~~~~~~~~~ + +C/C++ +""""" + +* Added a new predicate :code:`DataFlow::getARuntimeTarget` for getting a function that may be invoked by a :code:`Call` expression. Unlike :code:`Call.getTarget` this new predicate may also resolve function pointers. +* Added the predicate :code:`mayBeFromImplicitlyDeclaredFunction()` to the :code:`Call` class to represent calls that may be the return value of an implicitly declared C function. +* Added the predicate :code:`getAnExplicitDeclarationEntry()` to the :code:`Function` class to get a :code:`FunctionDeclarationEntry` that is not implicit. +* Added classes :code:`RequiresExpr`, :code:`SimpleRequirementExpr`, :code:`TypeRequirementExpr`, :code:`CompoundRequirementExpr`, and :code:`NestedRequirementExpr` to represent C++20 requires expressions and the simple, type, compound, and nested requirements that can occur in :code:`requires` expressions. + +JavaScript/TypeScript +""""""""""""""""""""" + +* Added support for custom threat-models, which can be used in most of our taint-tracking queries, see our `documentation `__ for more details. diff --git a/docs/codeql/codeql-overview/codeql-changelog/index.rst b/docs/codeql/codeql-overview/codeql-changelog/index.rst index 349debdf1011..62c13d66ac7a 100644 --- a/docs/codeql/codeql-overview/codeql-changelog/index.rst +++ b/docs/codeql/codeql-overview/codeql-changelog/index.rst @@ -11,6 +11,7 @@ A list of queries for each suite and language `is available here Date: Fri, 8 Nov 2024 11:22:35 +0000 Subject: [PATCH 053/347] Rust: Fix expected consistency results. --- .../CONSISTENCY/DataFlowConsistency.expected | 57 ------------------- 1 file changed, 57 deletions(-) diff --git a/rust/ql/test/query-tests/unusedentities/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/query-tests/unusedentities/CONSISTENCY/DataFlowConsistency.expected index de9edf571912..6345a132ee60 100644 --- a/rust/ql/test/query-tests/unusedentities/CONSISTENCY/DataFlowConsistency.expected +++ b/rust/ql/test/query-tests/unusedentities/CONSISTENCY/DataFlowConsistency.expected @@ -1,34 +1,13 @@ uniqueEnclosingCallable -| main.rs:142:5:142:10 | Param | Node should have one enclosing callable but has 0. | -| main.rs:143:5:143:10 | Param | Node should have one enclosing callable but has 0. | -| main.rs:144:5:144:11 | Param | Node should have one enclosing callable but has 0. | -| main.rs:151:7:151:12 | Param | Node should have one enclosing callable but has 0. | -| main.rs:205:32:205:32 | Param | Node should have one enclosing callable but has 0. | | main.rs:392:19:392:21 | Param | Node should have one enclosing callable but has 0. | -| main.rs:394:14:394:19 | Param | Node should have one enclosing callable but has 0. | -| main.rs:421:21:421:28 | Param | Node should have one enclosing callable but has 0. | -| main.rs:421:31:421:38 | Param | Node should have one enclosing callable but has 0. | -| main.rs:424:21:424:23 | Param | Node should have one enclosing callable but has 0. | -| main.rs:424:26:424:28 | Param | Node should have one enclosing callable but has 0. | -| main.rs:427:21:427:23 | Param | Node should have one enclosing callable but has 0. | -| main.rs:427:26:427:28 | Param | Node should have one enclosing callable but has 0. | -| main.rs:430:21:430:23 | Param | Node should have one enclosing callable but has 0. | -| main.rs:430:26:430:28 | Param | Node should have one enclosing callable but has 0. | -| main.rs:434:21:434:23 | Param | Node should have one enclosing callable but has 0. | -| main.rs:434:26:434:28 | Param | Node should have one enclosing callable but has 0. | | main.rs:440:29:440:38 | Param | Node should have one enclosing callable but has 0. | | main.rs:440:41:440:56 | Param | Node should have one enclosing callable but has 0. | -| main.rs:450:9:450:18 | Param | Node should have one enclosing callable but has 0. | -| main.rs:451:9:451:24 | Param | Node should have one enclosing callable but has 0. | | main.rs:493:16:493:18 | Param | Node should have one enclosing callable but has 0. | | main.rs:494:16:494:21 | Param | Node should have one enclosing callable but has 0. | | main.rs:495:16:496:25 | Param | Node should have one enclosing callable but has 0. | | main.rs:496:12:496:17 | Param | Node should have one enclosing callable but has 0. | | main.rs:499:18:499:23 | Param | Node should have one enclosing callable but has 0. | | main.rs:502:24:502:29 | Param | Node should have one enclosing callable but has 0. | -| main.rs:382:19:382:21 | Param | Node should have one enclosing callable but has 0. | -| main.rs:430:29:430:38 | Param | Node should have one enclosing callable but has 0. | -| main.rs:430:41:430:56 | Param | Node should have one enclosing callable but has 0. | | more.rs:4:23:4:28 | Param | Node should have one enclosing callable but has 0. | | more.rs:8:19:8:24 | Param | Node should have one enclosing callable but has 0. | uniqueCallEnclosingCallable @@ -209,39 +188,3 @@ uniqueCallEnclosingCallable | unreachable.rs:247:9:247:14 | CallExpr | Call should have one enclosing callable but has 0. | | unreachable.rs:248:9:248:22 | CallExpr | Call should have one enclosing callable but has 0. | | unreachable.rs:252:5:252:18 | CallExpr | Call should have one enclosing callable but has 0. | -<<<<<<< HEAD -uniqueType -| main.rs:142:5:142:10 | Param | Node should have one type but has 0. | -| main.rs:143:5:143:10 | Param | Node should have one type but has 0. | -| main.rs:144:5:144:11 | Param | Node should have one type but has 0. | -| main.rs:151:7:151:12 | Param | Node should have one type but has 0. | -| main.rs:205:32:205:32 | Param | Node should have one type but has 0. | -| main.rs:392:19:392:21 | Param | Node should have one type but has 0. | -| main.rs:394:14:394:19 | Param | Node should have one type but has 0. | -| main.rs:421:21:421:28 | Param | Node should have one type but has 0. | -| main.rs:421:31:421:38 | Param | Node should have one type but has 0. | -| main.rs:424:21:424:23 | Param | Node should have one type but has 0. | -| main.rs:424:26:424:28 | Param | Node should have one type but has 0. | -| main.rs:427:21:427:23 | Param | Node should have one type but has 0. | -| main.rs:427:26:427:28 | Param | Node should have one type but has 0. | -| main.rs:430:21:430:23 | Param | Node should have one type but has 0. | -| main.rs:430:26:430:28 | Param | Node should have one type but has 0. | -| main.rs:434:21:434:23 | Param | Node should have one type but has 0. | -| main.rs:434:26:434:28 | Param | Node should have one type but has 0. | -| main.rs:440:29:440:38 | Param | Node should have one type but has 0. | -| main.rs:440:41:440:56 | Param | Node should have one type but has 0. | -| main.rs:450:9:450:18 | Param | Node should have one type but has 0. | -| main.rs:451:9:451:24 | Param | Node should have one type but has 0. | -| main.rs:493:16:493:18 | Param | Node should have one type but has 0. | -| main.rs:494:16:494:21 | Param | Node should have one type but has 0. | -| main.rs:495:16:496:25 | Param | Node should have one type but has 0. | -| main.rs:496:12:496:17 | Param | Node should have one type but has 0. | -| main.rs:499:18:499:23 | Param | Node should have one type but has 0. | -| main.rs:502:24:502:29 | Param | Node should have one type but has 0. | -| more.rs:4:23:4:28 | Param | Node should have one type but has 0. | -| more.rs:8:19:8:24 | Param | Node should have one type but has 0. | -| more.rs:16:23:16:28 | Param | Node should have one type but has 0. | -| more.rs:24:9:24:14 | Param | Node should have one type but has 0. | -| unreachable.rs:10:34:10:34 | Param | Node should have one type but has 0. | -======= ->>>>>>> main From be45e3deeded77e645c872323ba8083d769e9048 Mon Sep 17 00:00:00 2001 From: Paolo Tranquilli Date: Fri, 8 Nov 2024 12:21:25 +0100 Subject: [PATCH 054/347] Rust: allow to specify more cargo configuration options This allows to tweak via extractor options some aspects of the cargo configuration: * the target architecture * features (including `*` for all, which we must understand whether to set by default) * cfg overrides Integration tests will be added in a follow-up commit. --- Cargo.lock | 2 + rust/codeql-extractor.yml | 19 +++++++ rust/extractor/Cargo.toml | 2 + rust/extractor/macros/src/lib.rs | 62 ++++++++++++++------- rust/extractor/src/config.rs | 86 ++++++++++++++++++++++++++++- rust/extractor/src/main.rs | 6 +- rust/extractor/src/rust_analyzer.rs | 11 +--- 7 files changed, 155 insertions(+), 33 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 9304acd6d2e2..97bc7d1c7610 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -389,10 +389,12 @@ dependencies = [ "log", "num-traits", "ra_ap_base_db", + "ra_ap_cfg", "ra_ap_hir", "ra_ap_hir_def", "ra_ap_hir_expand", "ra_ap_ide_db", + "ra_ap_intern", "ra_ap_load-cargo", "ra_ap_parser", "ra_ap_paths", diff --git a/rust/codeql-extractor.yml b/rust/codeql-extractor.yml index c7558c17efef..2f726a10adac 100644 --- a/rust/codeql-extractor.yml +++ b/rust/codeql-extractor.yml @@ -35,3 +35,22 @@ options: reduce execution time of consecutive extractor runs. By default, a new scratch directory is used for each run. type: string + cargo_target: + title: Target architecture + description: > + Target architecture to use for analysis, analogous to `cargo --target`. By + default the host architecture is used. + type: string + cargo_features: + title: Cargo features to turn on + description: > + Comma-separated list of features to turn on. If any value is `*` all features + are turned on. By default only default cargo features are enabled. Can be + repeated. + type: array + cargo_cfg_overrides: + title: Cargo cfg overrides + description: > + Comma-separated list of cfg settings to enable, or disable if prefixed with `-`. + Can be repeated. + type: array diff --git a/rust/extractor/Cargo.toml b/rust/extractor/Cargo.toml index 2cb4e70fc7dd..5b7e09e6f3fd 100644 --- a/rust/extractor/Cargo.toml +++ b/rust/extractor/Cargo.toml @@ -21,6 +21,8 @@ ra_ap_syntax = "0.0.232" ra_ap_vfs = "0.0.232" ra_ap_parser = "0.0.232" ra_ap_span = "0.0.232" +ra_ap_cfg = "0.0.232" +ra_ap_intern = "0.0.232" serde = "1.0.209" serde_with = "3.9.0" stderrlog = "0.6.0" diff --git a/rust/extractor/macros/src/lib.rs b/rust/extractor/macros/src/lib.rs index c9771a181de5..c10747bef014 100644 --- a/rust/extractor/macros/src/lib.rs +++ b/rust/extractor/macros/src/lib.rs @@ -1,11 +1,34 @@ use proc_macro::TokenStream; use quote::{format_ident, quote}; +use syn::{Ident, Type}; + +fn get_type_tip(t: &Type) -> Option<&Ident> { + let syn::Type::Path(path) = t else { + return None; + }; + let segment = path.path.segments.last()?; + Some(&segment.ident) +} /// Allow all fields in the extractor config to be also overrideable by extractor CLI flags #[proc_macro_attribute] pub fn extractor_cli_config(_attr: TokenStream, item: TokenStream) -> TokenStream { let ast = syn::parse_macro_input!(item as syn::ItemStruct); let name = &ast.ident; + let fields = ast + .fields + .iter() + .map(|f| { + if get_type_tip(&f.ty).is_some_and(|i| i == "Vec") { + quote! { + #[serde(deserialize_with="deserialize_newline_or_comma_separated")] + #f + } + } else { + quote! { #f } + } + }) + .collect::>(); let cli_name = format_ident!("Cli{}", name); let cli_fields = ast .fields @@ -13,35 +36,34 @@ pub fn extractor_cli_config(_attr: TokenStream, item: TokenStream) -> TokenStrea .map(|f| { let id = f.ident.as_ref().unwrap(); let ty = &f.ty; - if let syn::Type::Path(p) = ty { - if p.path.is_ident(&format_ident!("bool")) { - return quote! { - #[arg(long)] - #[serde(skip_serializing_if="<&bool>::not")] - #id: bool, - }; - } - if p.path.segments.len() == 1 && p.path.segments[0].ident == "Option" { - return quote! { - #[arg(long)] - #id: #ty, - }; - } + let type_tip = get_type_tip(ty); + if type_tip.is_some_and(|i| i == "bool") { + return quote! { + #[arg(long)] + #[serde(skip_serializing_if="<&bool>::not")] + #id: bool + }; + } + if type_tip.is_some_and(|i| i == "Option") { + return quote! { + #[arg(long)] + #f + }; } if id == &format_ident!("verbose") { quote! { #[arg(long, short, action=clap::ArgAction::Count)] #[serde(skip_serializing_if="u8::is_zero")] - #id: u8, + #id: u8 } } else if id == &format_ident!("inputs") { quote! { - #id: #ty, + #f } } else { quote! { #[arg(long)] - #id: Option<#ty>, + #id: Option<#ty> } } }) @@ -66,7 +88,9 @@ pub fn extractor_cli_config(_attr: TokenStream, item: TokenStream) -> TokenStrea let gen = quote! { #[serde_with::apply(_ => #[serde(default)])] #[derive(Deserialize, Default)] - #ast + pub struct #name { + #(#fields),* + } impl Debug for #name { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { @@ -80,7 +104,7 @@ pub fn extractor_cli_config(_attr: TokenStream, item: TokenStream) -> TokenStrea #[derive(clap::Parser, Serialize)] #[command(about, long_about = None)] struct #cli_name { - #(#cli_fields)* + #(#cli_fields),* } }; gen.into() diff --git a/rust/extractor/src/config.rs b/rust/extractor/src/config.rs index f477663f6070..5e17a458db7d 100644 --- a/rust/extractor/src/config.rs +++ b/rust/extractor/src/config.rs @@ -7,9 +7,14 @@ use figment::{ Figment, }; use itertools::Itertools; +use log::warn; use num_traits::Zero; +use ra_ap_cfg::{CfgAtom, CfgDiff}; +use ra_ap_intern::Symbol; +use ra_ap_paths::Utf8PathBuf; +use ra_ap_project_model::{CargoConfig, CargoFeatures, CfgOverrides, RustLibSource}; use rust_extractor_macros::extractor_cli_config; -use serde::{Deserialize, Serialize}; +use serde::{Deserialize, Deserializer, Serialize}; use std::fmt::Debug; use std::ops::Not; use std::path::PathBuf; @@ -32,12 +37,23 @@ impl From for trap::Compression { } } +// required by the extractor_cli_config macro. +fn deserialize_newline_or_comma_separated<'a, D: Deserializer<'a>, T: for<'b> From<&'b str>>( + deserializer: D, +) -> Result, D::Error> { + let value = String::deserialize(deserializer)?; + Ok(value.split(['\n', ',']).map(T::from).collect()) +} + #[extractor_cli_config] pub struct Config { pub scratch_dir: PathBuf, pub trap_dir: PathBuf, pub source_archive_dir: PathBuf, pub cargo_target_dir: Option, + pub cargo_target: Option, + pub cargo_features: Vec, + pub cargo_cfg_overrides: Vec, pub verbose: u8, pub compression: Compression, pub inputs: Vec, @@ -51,7 +67,7 @@ impl Config { .context("expanding parameter files")?; let cli_args = CliConfig::parse_from(args); let mut figment = Figment::new() - .merge(Env::prefixed("CODEQL_")) + .merge(Env::raw().only(["CODEQL_VERBOSE"].as_slice())) .merge(Env::prefixed("CODEQL_EXTRACTOR_RUST_")) .merge(Env::prefixed("CODEQL_EXTRACTOR_RUST_OPTION_")) .merge(Serialized::defaults(cli_args)); @@ -71,4 +87,70 @@ impl Config { } figment.extract().context("loading configuration") } + + pub fn to_cargo_config(&self) -> CargoConfig { + let sysroot = Some(RustLibSource::Discover); + + let target_dir = self + .cargo_target_dir + .clone() + .unwrap_or_else(|| self.scratch_dir.join("target")); + let target_dir = Utf8PathBuf::from_path_buf(target_dir).ok(); + + let features = if self.cargo_features.is_empty() { + Default::default() + } else if self.cargo_features.contains(&"*".to_string()) { + CargoFeatures::All + } else { + CargoFeatures::Selected { + features: self.cargo_features.clone(), + no_default_features: false, + } + }; + + let target = self.cargo_target.clone(); + + let cfg_overrides = to_cfg_overrides(&self.cargo_cfg_overrides); + + CargoConfig { + sysroot, + target_dir, + features, + target, + cfg_overrides, + ..Default::default() + } + } +} + +fn to_cfg_override(spec: &str) -> CfgAtom { + if let Some((key, value)) = spec.split_once("=") { + CfgAtom::KeyValue { + key: Symbol::intern(key), + value: Symbol::intern(value), + } + } else { + CfgAtom::Flag(Symbol::intern(spec)) + } +} + +fn to_cfg_overrides(specs: &Vec) -> CfgOverrides { + let mut enabled_cfgs = Vec::new(); + let mut disabled_cfgs = Vec::new(); + for spec in specs { + if spec.starts_with("-") { + disabled_cfgs.push(to_cfg_override(&spec[1..])); + } else { + enabled_cfgs.push(to_cfg_override(spec)); + } + } + if let Some(global) = CfgDiff::new(enabled_cfgs, disabled_cfgs) { + CfgOverrides { + global, + ..Default::default() + } + } else { + warn!("non-disjoint cfg overrides, ignoring: {}", specs.join(", ")); + CfgOverrides::default() + } } diff --git a/rust/extractor/src/main.rs b/rust/extractor/src/main.rs index 1f963a0990e5..ecbdc965f8e7 100644 --- a/rust/extractor/src/main.rs +++ b/rust/extractor/src/main.rs @@ -130,11 +130,9 @@ fn main() -> anyhow::Result<()> { } extractor.extract_without_semantics(file, "no manifest found"); } - let target_dir = &cfg - .cargo_target_dir - .unwrap_or_else(|| cfg.scratch_dir.join("target")); + let cargo_config = cfg.to_cargo_config(); for (manifest, files) in map.values().filter(|(_, files)| !files.is_empty()) { - if let Some((ref db, ref vfs)) = RustAnalyzer::load_workspace(manifest, target_dir) { + if let Some((ref db, ref vfs)) = RustAnalyzer::load_workspace(manifest, &cargo_config) { let semantics = Semantics::new(db); for file in files { let Some(id) = path_to_file_id(file, vfs) else { diff --git a/rust/extractor/src/rust_analyzer.rs b/rust/extractor/src/rust_analyzer.rs index ddbc16ab6a3a..735bacb27c12 100644 --- a/rust/extractor/src/rust_analyzer.rs +++ b/rust/extractor/src/rust_analyzer.rs @@ -7,7 +7,6 @@ use ra_ap_load_cargo::{load_workspace_at, LoadCargoConfig, ProcMacroServerChoice use ra_ap_paths::Utf8PathBuf; use ra_ap_project_model::CargoConfig; use ra_ap_project_model::ProjectManifest; -use ra_ap_project_model::RustLibSource; use ra_ap_span::Edition; use ra_ap_span::EditionedFileId; use ra_ap_span::TextRange; @@ -20,6 +19,7 @@ use ra_ap_vfs::{AbsPathBuf, FileId}; use std::borrow::Cow; use std::path::{Path, PathBuf}; use triomphe::Arc; + pub enum RustAnalyzer<'a> { WithSemantics { vfs: &'a Vfs, @@ -45,13 +45,8 @@ pub struct ParseResult<'a> { impl<'a> RustAnalyzer<'a> { pub fn load_workspace( project: &ProjectManifest, - target_dir: &Path, + config: &CargoConfig, ) -> Option<(RootDatabase, Vfs)> { - let config = CargoConfig { - sysroot: Some(RustLibSource::Discover), - target_dir: ra_ap_paths::Utf8PathBuf::from_path_buf(target_dir.to_path_buf()).ok(), - ..Default::default() - }; let progress = |t| (log::trace!("progress: {}", t)); let load_config = LoadCargoConfig { load_out_dirs_from_check: true, @@ -60,7 +55,7 @@ impl<'a> RustAnalyzer<'a> { }; let manifest = project.manifest_path(); - match load_workspace_at(manifest.as_ref(), &config, &load_config, &progress) { + match load_workspace_at(manifest.as_ref(), config, &load_config, &progress) { Ok((db, vfs, _macro_server)) => Some((db, vfs)), Err(err) => { log::error!("failed to load workspace for {}: {}", manifest, err); From b9ea78fb32b7b3705084d9bdaaeff5b98f6bb966 Mon Sep 17 00:00:00 2001 From: Paolo Tranquilli Date: Fri, 8 Nov 2024 13:06:15 +0100 Subject: [PATCH 055/347] Rust: fix vector options --- rust/extractor/macros/src/lib.rs | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/rust/extractor/macros/src/lib.rs b/rust/extractor/macros/src/lib.rs index c10747bef014..c70856aad9f3 100644 --- a/rust/extractor/macros/src/lib.rs +++ b/rust/extractor/macros/src/lib.rs @@ -19,7 +19,9 @@ pub fn extractor_cli_config(_attr: TokenStream, item: TokenStream) -> TokenStrea .fields .iter() .map(|f| { - if get_type_tip(&f.ty).is_some_and(|i| i == "Vec") { + if f.ident.as_ref().is_some_and(|i| i != "inputs") + && get_type_tip(&f.ty).is_some_and(|i| i == "Vec") + { quote! { #[serde(deserialize_with="deserialize_newline_or_comma_separated")] #f @@ -38,19 +40,17 @@ pub fn extractor_cli_config(_attr: TokenStream, item: TokenStream) -> TokenStrea let ty = &f.ty; let type_tip = get_type_tip(ty); if type_tip.is_some_and(|i| i == "bool") { - return quote! { + quote! { #[arg(long)] #[serde(skip_serializing_if="<&bool>::not")] #id: bool - }; - } - if type_tip.is_some_and(|i| i == "Option") { - return quote! { + } + } else if type_tip.is_some_and(|i| i == "Option") { + quote! { #[arg(long)] #f - }; - } - if id == &format_ident!("verbose") { + } + } else if id == &format_ident!("verbose") { quote! { #[arg(long, short, action=clap::ArgAction::Count)] #[serde(skip_serializing_if="u8::is_zero")] @@ -60,6 +60,11 @@ pub fn extractor_cli_config(_attr: TokenStream, item: TokenStream) -> TokenStrea quote! { #f } + } else if type_tip.is_some_and(|i| i == "Vec") { + quote! { + #[arg(long)] + #id: Option + } } else { quote! { #[arg(long)] From e05b12621571957b412d3d186305031ac027b4ea Mon Sep 17 00:00:00 2001 From: Simon Friis Vindum Date: Fri, 8 Nov 2024 10:21:33 +0100 Subject: [PATCH 056/347] Rust: Add CFG tests for async/await and const --- .../CONSISTENCY/DataFlowConsistency.expected | 27 +- .../library-tests/controlflow/Cfg.expected | 275 ++++++++++++------ .../ql/test/library-tests/controlflow/test.rs | 51 ++++ 3 files changed, 263 insertions(+), 90 deletions(-) diff --git a/rust/ql/test/library-tests/controlflow/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/library-tests/controlflow/CONSISTENCY/DataFlowConsistency.expected index cd9ee6e7f966..02fd0c4dd63c 100644 --- a/rust/ql/test/library-tests/controlflow/CONSISTENCY/DataFlowConsistency.expected +++ b/rust/ql/test/library-tests/controlflow/CONSISTENCY/DataFlowConsistency.expected @@ -45,8 +45,9 @@ uniqueEnclosingCallable | test.rs:324:29:324:42 | Param | Node should have one enclosing callable but has 0. | | test.rs:335:28:335:35 | Param | Node should have one enclosing callable but has 0. | | test.rs:342:29:342:40 | Param | Node should have one enclosing callable but has 0. | -| test.rs:401:15:401:25 | Param | Node should have one enclosing callable but has 0. | -| test.rs:408:16:408:19 | Param | Node should have one enclosing callable but has 0. | +| test.rs:390:22:390:27 | Param | Node should have one enclosing callable but has 0. | +| test.rs:452:15:452:25 | Param | Node should have one enclosing callable but has 0. | +| test.rs:459:16:459:19 | Param | Node should have one enclosing callable but has 0. | uniqueCallEnclosingCallable | test.rs:6:9:6:44 | CallExpr | Call should have one enclosing callable but has 0. | | test.rs:7:9:7:27 | CallExpr | Call should have one enclosing callable but has 0. | @@ -57,9 +58,19 @@ uniqueCallEnclosingCallable | test.rs:275:21:275:31 | CallExpr | Call should have one enclosing callable but has 0. | | test.rs:276:22:276:31 | CallExpr | Call should have one enclosing callable but has 0. | | test.rs:292:34:292:40 | CallExpr | Call should have one enclosing callable but has 0. | -| test.rs:376:9:376:18 | CallExpr | Call should have one enclosing callable but has 0. | -| test.rs:377:12:377:30 | CallExpr | Call should have one enclosing callable but has 0. | -| test.rs:380:9:380:23 | CallExpr | Call should have one enclosing callable but has 0. | -| test.rs:381:12:381:30 | CallExpr | Call should have one enclosing callable but has 0. | -| test.rs:384:9:384:23 | CallExpr | Call should have one enclosing callable but has 0. | -| test.rs:404:5:404:18 | CallExpr | Call should have one enclosing callable but has 0. | +| test.rs:369:18:369:32 | CallExpr | Call should have one enclosing callable but has 0. | +| test.rs:374:22:374:40 | CallExpr | Call should have one enclosing callable but has 0. | +| test.rs:377:22:377:35 | CallExpr | Call should have one enclosing callable but has 0. | +| test.rs:380:9:380:19 | CallExpr | Call should have one enclosing callable but has 0. | +| test.rs:394:30:394:39 | CallExpr | Call should have one enclosing callable but has 0. | +| test.rs:400:13:400:49 | CallExpr | Call should have one enclosing callable but has 0. | +| test.rs:400:13:400:49 | CallExpr | Call should have one enclosing callable but has 0. | +| test.rs:400:21:400:44 | CallExpr | Call should have one enclosing callable but has 0. | +| test.rs:411:17:411:24 | CallExpr | Call should have one enclosing callable but has 0. | +| test.rs:411:17:411:24 | CallExpr | Call should have one enclosing callable but has 0. | +| test.rs:427:9:427:18 | CallExpr | Call should have one enclosing callable but has 0. | +| test.rs:428:12:428:30 | CallExpr | Call should have one enclosing callable but has 0. | +| test.rs:431:9:431:23 | CallExpr | Call should have one enclosing callable but has 0. | +| test.rs:432:12:432:30 | CallExpr | Call should have one enclosing callable but has 0. | +| test.rs:435:9:435:23 | CallExpr | Call should have one enclosing callable but has 0. | +| test.rs:455:5:455:18 | CallExpr | Call should have one enclosing callable but has 0. | diff --git a/rust/ql/test/library-tests/controlflow/Cfg.expected b/rust/ql/test/library-tests/controlflow/Cfg.expected index f2637a115c44..9dafa30db1f3 100644 --- a/rust/ql/test/library-tests/controlflow/Cfg.expected +++ b/rust/ql/test/library-tests/controlflow/Cfg.expected @@ -765,85 +765,196 @@ edges | test.rs:360:9:362:9 | ExprStmt | test.rs:361:13:361:13 | 1 | | | test.rs:360:14:362:9 | BlockExpr | test.rs:361:13:361:13 | 1 | | | test.rs:361:13:361:13 | 1 | test.rs:360:14:362:9 | BlockExpr | | -| test.rs:367:1:372:1 | enter dead_code | test.rs:368:5:370:5 | ExprStmt | | -| test.rs:367:1:372:1 | exit dead_code (normal) | test.rs:367:1:372:1 | exit dead_code | | -| test.rs:368:5:370:5 | ExprStmt | test.rs:368:9:368:12 | true | | -| test.rs:368:9:368:12 | true | test.rs:369:9:369:17 | ExprStmt | true | -| test.rs:369:9:369:16 | ReturnExpr | test.rs:367:1:372:1 | exit dead_code (normal) | return | -| test.rs:369:9:369:17 | ExprStmt | test.rs:369:16:369:16 | 0 | | -| test.rs:369:16:369:16 | 0 | test.rs:369:9:369:16 | ReturnExpr | | -| test.rs:374:1:387:1 | enter labelled_block1 | test.rs:375:5:386:6 | LetStmt | | -| test.rs:374:1:387:1 | exit labelled_block1 (normal) | test.rs:374:1:387:1 | exit labelled_block1 | | -| test.rs:374:29:387:1 | BlockExpr | test.rs:374:1:387:1 | exit labelled_block1 (normal) | | -| test.rs:375:5:386:6 | LetStmt | test.rs:376:9:376:19 | ExprStmt | | -| test.rs:375:9:375:14 | result | test.rs:374:29:387:1 | BlockExpr | match | -| test.rs:375:18:386:5 | BlockExpr | test.rs:375:9:375:14 | result | | -| test.rs:376:9:376:16 | PathExpr | test.rs:376:9:376:18 | CallExpr | | -| test.rs:376:9:376:18 | CallExpr | test.rs:377:9:379:9 | ExprStmt | | -| test.rs:376:9:376:19 | ExprStmt | test.rs:376:9:376:16 | PathExpr | | -| test.rs:377:9:379:9 | ExprStmt | test.rs:377:12:377:28 | PathExpr | | -| test.rs:377:9:379:9 | IfExpr | test.rs:380:9:380:24 | ExprStmt | | -| test.rs:377:12:377:28 | PathExpr | test.rs:377:12:377:30 | CallExpr | | -| test.rs:377:12:377:30 | CallExpr | test.rs:377:9:379:9 | IfExpr | false | -| test.rs:377:12:377:30 | CallExpr | test.rs:378:13:378:27 | ExprStmt | true | -| test.rs:378:13:378:26 | BreakExpr | test.rs:375:18:386:5 | BlockExpr | break | -| test.rs:378:13:378:27 | ExprStmt | test.rs:378:26:378:26 | 1 | | -| test.rs:378:26:378:26 | 1 | test.rs:378:13:378:26 | BreakExpr | | -| test.rs:380:9:380:21 | PathExpr | test.rs:380:9:380:23 | CallExpr | | -| test.rs:380:9:380:23 | CallExpr | test.rs:381:9:383:9 | ExprStmt | | -| test.rs:380:9:380:24 | ExprStmt | test.rs:380:9:380:21 | PathExpr | | -| test.rs:381:9:383:9 | ExprStmt | test.rs:381:12:381:28 | PathExpr | | -| test.rs:381:9:383:9 | IfExpr | test.rs:384:9:384:24 | ExprStmt | | -| test.rs:381:12:381:28 | PathExpr | test.rs:381:12:381:30 | CallExpr | | -| test.rs:381:12:381:30 | CallExpr | test.rs:381:9:383:9 | IfExpr | false | -| test.rs:381:12:381:30 | CallExpr | test.rs:382:13:382:27 | ExprStmt | true | -| test.rs:382:13:382:26 | BreakExpr | test.rs:375:18:386:5 | BlockExpr | break | -| test.rs:382:13:382:27 | ExprStmt | test.rs:382:26:382:26 | 2 | | -| test.rs:382:26:382:26 | 2 | test.rs:382:13:382:26 | BreakExpr | | -| test.rs:384:9:384:21 | PathExpr | test.rs:384:9:384:23 | CallExpr | | -| test.rs:384:9:384:23 | CallExpr | test.rs:385:9:385:9 | 3 | | -| test.rs:384:9:384:24 | ExprStmt | test.rs:384:9:384:21 | PathExpr | | -| test.rs:385:9:385:9 | 3 | test.rs:375:18:386:5 | BlockExpr | | -| test.rs:389:1:397:1 | enter labelled_block2 | test.rs:390:5:396:6 | LetStmt | | -| test.rs:389:1:397:1 | exit labelled_block2 (normal) | test.rs:389:1:397:1 | exit labelled_block2 | | -| test.rs:389:29:397:1 | BlockExpr | test.rs:389:1:397:1 | exit labelled_block2 (normal) | | -| test.rs:390:5:396:6 | LetStmt | test.rs:391:9:391:34 | LetStmt | | -| test.rs:390:9:390:14 | result | test.rs:389:29:397:1 | BlockExpr | match | -| test.rs:390:18:396:5 | BlockExpr | test.rs:390:9:390:14 | result | | -| test.rs:391:9:391:34 | LetStmt | test.rs:391:30:391:33 | PathExpr | | -| test.rs:391:13:391:13 | x | test.rs:392:9:394:10 | LetStmt | match | -| test.rs:391:30:391:33 | PathExpr | test.rs:391:13:391:13 | x | | -| test.rs:392:9:394:10 | LetStmt | test.rs:392:23:392:23 | x | | -| test.rs:392:13:392:19 | TupleStructPat | test.rs:392:18:392:18 | y | match | -| test.rs:392:13:392:19 | TupleStructPat | test.rs:393:13:393:27 | ExprStmt | no-match | -| test.rs:392:18:392:18 | y | test.rs:395:9:395:9 | x | match | -| test.rs:392:23:392:23 | x | test.rs:392:13:392:19 | TupleStructPat | | -| test.rs:393:13:393:26 | BreakExpr | test.rs:390:18:396:5 | BlockExpr | break | -| test.rs:393:13:393:27 | ExprStmt | test.rs:393:26:393:26 | 1 | | -| test.rs:393:26:393:26 | 1 | test.rs:393:13:393:26 | BreakExpr | | -| test.rs:395:9:395:9 | x | test.rs:390:18:396:5 | BlockExpr | | -| test.rs:399:1:405:1 | enter test_nested_function | test.rs:400:5:400:18 | LetStmt | | -| test.rs:399:1:405:1 | exit test_nested_function (normal) | test.rs:399:1:405:1 | exit test_nested_function | | -| test.rs:399:27:405:1 | BlockExpr | test.rs:399:1:405:1 | exit test_nested_function (normal) | | -| test.rs:400:5:400:18 | LetStmt | test.rs:400:17:400:17 | 0 | | -| test.rs:400:9:400:13 | x | test.rs:401:5:403:5 | nested | match | -| test.rs:400:17:400:17 | 0 | test.rs:400:9:400:13 | x | | -| test.rs:401:5:403:5 | enter nested | test.rs:401:15:401:15 | x | | -| test.rs:401:5:403:5 | exit nested (normal) | test.rs:401:5:403:5 | exit nested | | -| test.rs:401:5:403:5 | nested | test.rs:404:5:404:19 | ExprStmt | | -| test.rs:401:15:401:15 | x | test.rs:401:15:401:25 | Param | match | -| test.rs:401:15:401:25 | Param | test.rs:402:9:402:16 | ExprStmt | | -| test.rs:401:28:403:5 | BlockExpr | test.rs:401:5:403:5 | exit nested (normal) | | -| test.rs:402:9:402:10 | * ... | test.rs:402:15:402:15 | 1 | | -| test.rs:402:9:402:15 | ... += ... | test.rs:401:28:403:5 | BlockExpr | | -| test.rs:402:9:402:16 | ExprStmt | test.rs:402:10:402:10 | x | | -| test.rs:402:10:402:10 | x | test.rs:402:9:402:10 | * ... | | -| test.rs:402:15:402:15 | 1 | test.rs:402:9:402:15 | ... += ... | | -| test.rs:404:5:404:10 | PathExpr | test.rs:404:17:404:17 | x | | -| test.rs:404:5:404:18 | CallExpr | test.rs:399:27:405:1 | BlockExpr | | -| test.rs:404:5:404:19 | ExprStmt | test.rs:404:5:404:10 | PathExpr | | -| test.rs:404:12:404:17 | RefExpr | test.rs:404:5:404:18 | CallExpr | | -| test.rs:404:17:404:17 | x | test.rs:404:12:404:17 | RefExpr | | +| test.rs:368:5:370:5 | enter say_hello | test.rs:369:9:369:34 | ExprStmt | | +| test.rs:368:5:370:5 | exit say_hello (normal) | test.rs:368:5:370:5 | exit say_hello | | +| test.rs:368:26:370:5 | BlockExpr | test.rs:368:5:370:5 | exit say_hello (normal) | | +| test.rs:369:9:369:33 | MacroExpr | test.rs:368:26:370:5 | BlockExpr | | +| test.rs:369:9:369:33 | PathExpr | test.rs:369:18:369:32 | "hello, world!\\n" | | +| test.rs:369:9:369:34 | ExprStmt | test.rs:369:18:369:32 | MacroStmts | | +| test.rs:369:18:369:32 | "hello, world!\\n" | test.rs:369:18:369:32 | FormatArgsExpr | | +| test.rs:369:18:369:32 | BlockExpr | test.rs:369:9:369:33 | MacroExpr | | +| test.rs:369:18:369:32 | CallExpr | test.rs:369:18:369:32 | BlockExpr | | +| test.rs:369:18:369:32 | ExprStmt | test.rs:369:9:369:33 | PathExpr | | +| test.rs:369:18:369:32 | FormatArgsExpr | test.rs:369:18:369:32 | MacroExpr | | +| test.rs:369:18:369:32 | MacroExpr | test.rs:369:18:369:32 | CallExpr | | +| test.rs:369:18:369:32 | MacroStmts | test.rs:369:18:369:32 | ExprStmt | | +| test.rs:372:5:384:5 | enter async_block | test.rs:373:9:375:10 | LetStmt | | +| test.rs:372:5:384:5 | exit async_block (normal) | test.rs:372:5:384:5 | exit async_block | | +| test.rs:372:28:384:5 | BlockExpr | test.rs:372:5:384:5 | exit async_block (normal) | | +| test.rs:373:9:375:10 | LetStmt | test.rs:374:13:374:42 | ExprStmt | | +| test.rs:373:13:373:22 | say_godbye | test.rs:376:9:378:10 | LetStmt | match | +| test.rs:373:26:375:9 | BlockExpr | test.rs:373:13:373:22 | say_godbye | | +| test.rs:374:13:374:41 | MacroExpr | test.rs:373:26:375:9 | BlockExpr | | +| test.rs:374:13:374:41 | PathExpr | test.rs:374:22:374:40 | "godbye, everyone!\\n" | | +| test.rs:374:13:374:42 | ExprStmt | test.rs:374:22:374:40 | MacroStmts | | +| test.rs:374:22:374:40 | "godbye, everyone!\\n" | test.rs:374:22:374:40 | FormatArgsExpr | | +| test.rs:374:22:374:40 | BlockExpr | test.rs:374:13:374:41 | MacroExpr | | +| test.rs:374:22:374:40 | CallExpr | test.rs:374:22:374:40 | BlockExpr | | +| test.rs:374:22:374:40 | ExprStmt | test.rs:374:13:374:41 | PathExpr | | +| test.rs:374:22:374:40 | FormatArgsExpr | test.rs:374:22:374:40 | MacroExpr | | +| test.rs:374:22:374:40 | MacroExpr | test.rs:374:22:374:40 | CallExpr | | +| test.rs:374:22:374:40 | MacroStmts | test.rs:374:22:374:40 | ExprStmt | | +| test.rs:376:9:378:10 | LetStmt | test.rs:377:13:377:37 | ExprStmt | | +| test.rs:376:13:376:27 | say_how_are_you | test.rs:379:9:379:28 | LetStmt | match | +| test.rs:376:31:378:9 | BlockExpr | test.rs:376:13:376:27 | say_how_are_you | | +| test.rs:377:13:377:36 | MacroExpr | test.rs:376:31:378:9 | BlockExpr | | +| test.rs:377:13:377:36 | PathExpr | test.rs:377:22:377:35 | "how are you?\\n" | | +| test.rs:377:13:377:37 | ExprStmt | test.rs:377:22:377:35 | MacroStmts | | +| test.rs:377:22:377:35 | "how are you?\\n" | test.rs:377:22:377:35 | FormatArgsExpr | | +| test.rs:377:22:377:35 | BlockExpr | test.rs:377:13:377:36 | MacroExpr | | +| test.rs:377:22:377:35 | CallExpr | test.rs:377:22:377:35 | BlockExpr | | +| test.rs:377:22:377:35 | ExprStmt | test.rs:377:13:377:36 | PathExpr | | +| test.rs:377:22:377:35 | FormatArgsExpr | test.rs:377:22:377:35 | MacroExpr | | +| test.rs:377:22:377:35 | MacroExpr | test.rs:377:22:377:35 | CallExpr | | +| test.rs:377:22:377:35 | MacroStmts | test.rs:377:22:377:35 | ExprStmt | | +| test.rs:379:9:379:28 | LetStmt | test.rs:379:20:379:27 | BlockExpr | | +| test.rs:379:13:379:16 | noop | test.rs:380:9:380:26 | ExprStmt | match | +| test.rs:379:20:379:27 | BlockExpr | test.rs:379:13:379:16 | noop | | +| test.rs:380:9:380:17 | PathExpr | test.rs:380:9:380:19 | CallExpr | | +| test.rs:380:9:380:19 | CallExpr | test.rs:380:9:380:25 | AwaitExpr | | +| test.rs:380:9:380:25 | AwaitExpr | test.rs:381:9:381:30 | ExprStmt | | +| test.rs:380:9:380:26 | ExprStmt | test.rs:380:9:380:17 | PathExpr | | +| test.rs:381:9:381:23 | say_how_are_you | test.rs:381:9:381:29 | AwaitExpr | | +| test.rs:381:9:381:29 | AwaitExpr | test.rs:382:9:382:25 | ExprStmt | | +| test.rs:381:9:381:30 | ExprStmt | test.rs:381:9:381:23 | say_how_are_you | | +| test.rs:382:9:382:18 | say_godbye | test.rs:382:9:382:24 | AwaitExpr | | +| test.rs:382:9:382:24 | AwaitExpr | test.rs:383:9:383:19 | ExprStmt | | +| test.rs:382:9:382:25 | ExprStmt | test.rs:382:9:382:18 | say_godbye | | +| test.rs:383:9:383:12 | noop | test.rs:383:9:383:18 | AwaitExpr | | +| test.rs:383:9:383:18 | AwaitExpr | test.rs:372:28:384:5 | BlockExpr | | +| test.rs:383:9:383:19 | ExprStmt | test.rs:383:9:383:12 | noop | | +| test.rs:390:5:392:5 | enter add_two | test.rs:390:22:390:22 | n | | +| test.rs:390:5:392:5 | exit add_two (normal) | test.rs:390:5:392:5 | exit add_two | | +| test.rs:390:22:390:22 | n | test.rs:390:22:390:27 | Param | match | +| test.rs:390:22:390:27 | Param | test.rs:391:9:391:9 | n | | +| test.rs:390:37:392:5 | BlockExpr | test.rs:390:5:392:5 | exit add_two (normal) | | +| test.rs:391:9:391:9 | n | test.rs:391:13:391:13 | 2 | | +| test.rs:391:9:391:13 | ... + ... | test.rs:390:37:392:5 | BlockExpr | | +| test.rs:391:13:391:13 | 2 | test.rs:391:9:391:13 | ... + ... | | +| test.rs:396:5:404:5 | enter const_block_assert | test.rs:399:9:401:9 | ExprStmt | | +| test.rs:396:5:404:5 | exit const_block_assert (normal) | test.rs:396:5:404:5 | exit const_block_assert | | +| test.rs:396:41:404:5 | BlockExpr | test.rs:396:5:404:5 | exit const_block_assert (normal) | | +| test.rs:399:9:401:9 | BlockExpr | test.rs:403:9:403:10 | 42 | | +| test.rs:399:9:401:9 | ExprStmt | test.rs:400:13:400:50 | ExprStmt | | +| test.rs:400:13:400:49 | BlockExpr | test.rs:400:13:400:49 | MacroExpr | | +| test.rs:400:13:400:49 | BlockExpr | test.rs:400:13:400:49 | exit panic_cold_explicit (normal) | | +| test.rs:400:13:400:49 | BlockExpr | test.rs:400:21:400:48 | IfExpr | | +| test.rs:400:13:400:49 | CallExpr | test.rs:400:13:400:49 | BlockExpr | | +| test.rs:400:13:400:49 | CallExpr | test.rs:400:13:400:49 | BlockExpr | | +| test.rs:400:13:400:49 | ExprStmt | test.rs:400:13:400:49 | MacroStmts | | +| test.rs:400:13:400:49 | ExprStmt | test.rs:400:13:400:49 | PathExpr | | +| test.rs:400:13:400:49 | MacroExpr | test.rs:399:9:401:9 | BlockExpr | | +| test.rs:400:13:400:49 | MacroExpr | test.rs:400:13:400:49 | BlockExpr | | +| test.rs:400:13:400:49 | MacroStmts | test.rs:400:13:400:49 | panic_cold_explicit | | +| test.rs:400:13:400:49 | PathExpr | test.rs:400:13:400:49 | CallExpr | | +| test.rs:400:13:400:49 | PathExpr | test.rs:400:13:400:49 | CallExpr | | +| test.rs:400:13:400:49 | enter panic_cold_explicit | test.rs:400:13:400:49 | PathExpr | | +| test.rs:400:13:400:49 | exit panic_cold_explicit (normal) | test.rs:400:13:400:49 | exit panic_cold_explicit | | +| test.rs:400:13:400:49 | panic_cold_explicit | test.rs:400:13:400:49 | ExprStmt | | +| test.rs:400:13:400:50 | ExprStmt | test.rs:400:21:400:48 | MacroStmts | | +| test.rs:400:21:400:42 | PathExpr | test.rs:400:21:400:44 | CallExpr | | +| test.rs:400:21:400:44 | CallExpr | test.rs:400:48:400:48 | 0 | | +| test.rs:400:21:400:48 | ... > ... | test.rs:400:21:400:48 | [boolean(false)] ! ... | true | +| test.rs:400:21:400:48 | ... > ... | test.rs:400:21:400:48 | [boolean(true)] ! ... | false | +| test.rs:400:21:400:48 | BlockExpr | test.rs:400:13:400:49 | MacroExpr | | +| test.rs:400:21:400:48 | IfExpr | test.rs:400:21:400:48 | BlockExpr | | +| test.rs:400:21:400:48 | MacroStmts | test.rs:400:21:400:42 | PathExpr | | +| test.rs:400:21:400:48 | [boolean(false)] ! ... | test.rs:400:21:400:48 | IfExpr | false | +| test.rs:400:21:400:48 | [boolean(true)] ! ... | test.rs:400:13:400:49 | ExprStmt | true | +| test.rs:400:48:400:48 | 0 | test.rs:400:21:400:48 | ... > ... | | +| test.rs:403:9:403:10 | 42 | test.rs:396:41:404:5 | BlockExpr | | +| test.rs:406:5:415:5 | enter const_block_panic | test.rs:407:9:407:30 | Const | | +| test.rs:406:5:415:5 | exit const_block_panic (normal) | test.rs:406:5:415:5 | exit const_block_panic | | +| test.rs:406:35:415:5 | BlockExpr | test.rs:406:5:415:5 | exit const_block_panic (normal) | | +| test.rs:407:9:407:30 | Const | test.rs:408:9:413:9 | ExprStmt | | +| test.rs:408:9:413:9 | ExprStmt | test.rs:408:12:408:16 | false | | +| test.rs:408:9:413:9 | IfExpr | test.rs:414:9:414:9 | PathExpr | | +| test.rs:408:12:408:16 | false | test.rs:408:9:413:9 | IfExpr | false | +| test.rs:411:17:411:24 | BlockExpr | test.rs:411:17:411:24 | exit panic_cold_explicit (normal) | | +| test.rs:411:17:411:24 | CallExpr | test.rs:411:17:411:24 | BlockExpr | | +| test.rs:411:17:411:24 | PathExpr | test.rs:411:17:411:24 | CallExpr | | +| test.rs:411:17:411:24 | enter panic_cold_explicit | test.rs:411:17:411:24 | PathExpr | | +| test.rs:411:17:411:24 | exit panic_cold_explicit (normal) | test.rs:411:17:411:24 | exit panic_cold_explicit | | +| test.rs:414:9:414:9 | PathExpr | test.rs:406:35:415:5 | BlockExpr | | +| test.rs:418:1:423:1 | enter dead_code | test.rs:419:5:421:5 | ExprStmt | | +| test.rs:418:1:423:1 | exit dead_code (normal) | test.rs:418:1:423:1 | exit dead_code | | +| test.rs:419:5:421:5 | ExprStmt | test.rs:419:9:419:12 | true | | +| test.rs:419:9:419:12 | true | test.rs:420:9:420:17 | ExprStmt | true | +| test.rs:420:9:420:16 | ReturnExpr | test.rs:418:1:423:1 | exit dead_code (normal) | return | +| test.rs:420:9:420:17 | ExprStmt | test.rs:420:16:420:16 | 0 | | +| test.rs:420:16:420:16 | 0 | test.rs:420:9:420:16 | ReturnExpr | | +| test.rs:425:1:438:1 | enter labelled_block1 | test.rs:426:5:437:6 | LetStmt | | +| test.rs:425:1:438:1 | exit labelled_block1 (normal) | test.rs:425:1:438:1 | exit labelled_block1 | | +| test.rs:425:29:438:1 | BlockExpr | test.rs:425:1:438:1 | exit labelled_block1 (normal) | | +| test.rs:426:5:437:6 | LetStmt | test.rs:427:9:427:19 | ExprStmt | | +| test.rs:426:9:426:14 | result | test.rs:425:29:438:1 | BlockExpr | match | +| test.rs:426:18:437:5 | BlockExpr | test.rs:426:9:426:14 | result | | +| test.rs:427:9:427:16 | PathExpr | test.rs:427:9:427:18 | CallExpr | | +| test.rs:427:9:427:18 | CallExpr | test.rs:428:9:430:9 | ExprStmt | | +| test.rs:427:9:427:19 | ExprStmt | test.rs:427:9:427:16 | PathExpr | | +| test.rs:428:9:430:9 | ExprStmt | test.rs:428:12:428:28 | PathExpr | | +| test.rs:428:9:430:9 | IfExpr | test.rs:431:9:431:24 | ExprStmt | | +| test.rs:428:12:428:28 | PathExpr | test.rs:428:12:428:30 | CallExpr | | +| test.rs:428:12:428:30 | CallExpr | test.rs:428:9:430:9 | IfExpr | false | +| test.rs:428:12:428:30 | CallExpr | test.rs:429:13:429:27 | ExprStmt | true | +| test.rs:429:13:429:26 | BreakExpr | test.rs:426:18:437:5 | BlockExpr | break | +| test.rs:429:13:429:27 | ExprStmt | test.rs:429:26:429:26 | 1 | | +| test.rs:429:26:429:26 | 1 | test.rs:429:13:429:26 | BreakExpr | | +| test.rs:431:9:431:21 | PathExpr | test.rs:431:9:431:23 | CallExpr | | +| test.rs:431:9:431:23 | CallExpr | test.rs:432:9:434:9 | ExprStmt | | +| test.rs:431:9:431:24 | ExprStmt | test.rs:431:9:431:21 | PathExpr | | +| test.rs:432:9:434:9 | ExprStmt | test.rs:432:12:432:28 | PathExpr | | +| test.rs:432:9:434:9 | IfExpr | test.rs:435:9:435:24 | ExprStmt | | +| test.rs:432:12:432:28 | PathExpr | test.rs:432:12:432:30 | CallExpr | | +| test.rs:432:12:432:30 | CallExpr | test.rs:432:9:434:9 | IfExpr | false | +| test.rs:432:12:432:30 | CallExpr | test.rs:433:13:433:27 | ExprStmt | true | +| test.rs:433:13:433:26 | BreakExpr | test.rs:426:18:437:5 | BlockExpr | break | +| test.rs:433:13:433:27 | ExprStmt | test.rs:433:26:433:26 | 2 | | +| test.rs:433:26:433:26 | 2 | test.rs:433:13:433:26 | BreakExpr | | +| test.rs:435:9:435:21 | PathExpr | test.rs:435:9:435:23 | CallExpr | | +| test.rs:435:9:435:23 | CallExpr | test.rs:436:9:436:9 | 3 | | +| test.rs:435:9:435:24 | ExprStmt | test.rs:435:9:435:21 | PathExpr | | +| test.rs:436:9:436:9 | 3 | test.rs:426:18:437:5 | BlockExpr | | +| test.rs:440:1:448:1 | enter labelled_block2 | test.rs:441:5:447:6 | LetStmt | | +| test.rs:440:1:448:1 | exit labelled_block2 (normal) | test.rs:440:1:448:1 | exit labelled_block2 | | +| test.rs:440:29:448:1 | BlockExpr | test.rs:440:1:448:1 | exit labelled_block2 (normal) | | +| test.rs:441:5:447:6 | LetStmt | test.rs:442:9:442:34 | LetStmt | | +| test.rs:441:9:441:14 | result | test.rs:440:29:448:1 | BlockExpr | match | +| test.rs:441:18:447:5 | BlockExpr | test.rs:441:9:441:14 | result | | +| test.rs:442:9:442:34 | LetStmt | test.rs:442:30:442:33 | PathExpr | | +| test.rs:442:13:442:13 | x | test.rs:443:9:445:10 | LetStmt | match | +| test.rs:442:30:442:33 | PathExpr | test.rs:442:13:442:13 | x | | +| test.rs:443:9:445:10 | LetStmt | test.rs:443:23:443:23 | x | | +| test.rs:443:13:443:19 | TupleStructPat | test.rs:443:18:443:18 | y | match | +| test.rs:443:13:443:19 | TupleStructPat | test.rs:444:13:444:27 | ExprStmt | no-match | +| test.rs:443:18:443:18 | y | test.rs:446:9:446:9 | x | match | +| test.rs:443:23:443:23 | x | test.rs:443:13:443:19 | TupleStructPat | | +| test.rs:444:13:444:26 | BreakExpr | test.rs:441:18:447:5 | BlockExpr | break | +| test.rs:444:13:444:27 | ExprStmt | test.rs:444:26:444:26 | 1 | | +| test.rs:444:26:444:26 | 1 | test.rs:444:13:444:26 | BreakExpr | | +| test.rs:446:9:446:9 | x | test.rs:441:18:447:5 | BlockExpr | | +| test.rs:450:1:456:1 | enter test_nested_function | test.rs:451:5:451:18 | LetStmt | | +| test.rs:450:1:456:1 | exit test_nested_function (normal) | test.rs:450:1:456:1 | exit test_nested_function | | +| test.rs:450:27:456:1 | BlockExpr | test.rs:450:1:456:1 | exit test_nested_function (normal) | | +| test.rs:451:5:451:18 | LetStmt | test.rs:451:17:451:17 | 0 | | +| test.rs:451:9:451:13 | x | test.rs:452:5:454:5 | nested | match | +| test.rs:451:17:451:17 | 0 | test.rs:451:9:451:13 | x | | +| test.rs:452:5:454:5 | enter nested | test.rs:452:15:452:15 | x | | +| test.rs:452:5:454:5 | exit nested (normal) | test.rs:452:5:454:5 | exit nested | | +| test.rs:452:5:454:5 | nested | test.rs:455:5:455:19 | ExprStmt | | +| test.rs:452:15:452:15 | x | test.rs:452:15:452:25 | Param | match | +| test.rs:452:15:452:25 | Param | test.rs:453:9:453:16 | ExprStmt | | +| test.rs:452:28:454:5 | BlockExpr | test.rs:452:5:454:5 | exit nested (normal) | | +| test.rs:453:9:453:10 | * ... | test.rs:453:15:453:15 | 1 | | +| test.rs:453:9:453:15 | ... += ... | test.rs:452:28:454:5 | BlockExpr | | +| test.rs:453:9:453:16 | ExprStmt | test.rs:453:10:453:10 | x | | +| test.rs:453:10:453:10 | x | test.rs:453:9:453:10 | * ... | | +| test.rs:453:15:453:15 | 1 | test.rs:453:9:453:15 | ... += ... | | +| test.rs:455:5:455:10 | PathExpr | test.rs:455:17:455:17 | x | | +| test.rs:455:5:455:18 | CallExpr | test.rs:450:27:456:1 | BlockExpr | | +| test.rs:455:5:455:19 | ExprStmt | test.rs:455:5:455:10 | PathExpr | | +| test.rs:455:12:455:17 | RefExpr | test.rs:455:5:455:18 | CallExpr | | +| test.rs:455:17:455:17 | x | test.rs:455:12:455:17 | RefExpr | | breakTarget | test.rs:26:17:26:21 | BreakExpr | test.rs:20:9:32:9 | LoopExpr | | test.rs:40:21:40:25 | BreakExpr | test.rs:38:13:45:13 | LoopExpr | @@ -856,9 +967,9 @@ breakTarget | test.rs:186:17:186:28 | BreakExpr | test.rs:184:13:189:9 | LoopExpr | | test.rs:199:17:199:35 | BreakExpr | test.rs:197:13:202:9 | LoopExpr | | test.rs:211:13:211:30 | BreakExpr | test.rs:210:13:212:9 | BlockExpr | -| test.rs:378:13:378:26 | BreakExpr | test.rs:375:18:386:5 | BlockExpr | -| test.rs:382:13:382:26 | BreakExpr | test.rs:375:18:386:5 | BlockExpr | -| test.rs:393:13:393:26 | BreakExpr | test.rs:390:18:396:5 | BlockExpr | +| test.rs:429:13:429:26 | BreakExpr | test.rs:426:18:437:5 | BlockExpr | +| test.rs:433:13:433:26 | BreakExpr | test.rs:426:18:437:5 | BlockExpr | +| test.rs:444:13:444:26 | BreakExpr | test.rs:441:18:447:5 | BlockExpr | continueTarget | test.rs:29:17:29:24 | ContinueExpr | test.rs:20:9:32:9 | LoopExpr | | test.rs:55:21:55:28 | ContinueExpr | test.rs:53:13:60:13 | LoopExpr | diff --git a/rust/ql/test/library-tests/controlflow/test.rs b/rust/ql/test/library-tests/controlflow/test.rs index 1de079eaa3bd..69a5244d5e50 100644 --- a/rust/ql/test/library-tests/controlflow/test.rs +++ b/rust/ql/test/library-tests/controlflow/test.rs @@ -364,6 +364,57 @@ mod divergence { } } +mod async_await { + async fn say_hello() { + println!("hello, world!"); + } + + async fn async_block() { + let say_godbye = async { + println!("godbye, everyone!"); + }; + let say_how_are_you = async { + println!("how are you?"); + }; + let noop = async {}; + say_hello().await; + say_how_are_you.await; + say_godbye.await; + noop.await; + } +} + +mod const_evaluation { + const PI: i64 = 3.14159; + + const fn add_two(n: i64) -> i64 { + n + 2 + } + + const A_NUMBER: i64 = if add_two(2) + 2 == 4 { PI } else { 0 }; + + fn const_block_assert() -> usize { + // If this code ever gets executed, then the assertion has definitely + // been evaluated at compile-time. + const { + assert!(std::mem::size_of::() > 0); + } + // Here we can have unsafe code relying on the type being non-zero-sized. + 42 + } + + fn const_block_panic() -> i64 { + const N: i64 = 12 + 7; + if false { + // The panic may or may not occur when the program is built. + const { + panic!(); + } + } + N + } +} + fn dead_code() -> i64 { if (true) { return 0; From 5094cb851b73acfb20c9a27c93a23e8148df48be Mon Sep 17 00:00:00 2001 From: Owen Mansel-Chan Date: Fri, 8 Nov 2024 11:20:36 +0000 Subject: [PATCH 057/347] Add test showing bug (SEmbedP.PMethod not showing) --- .../semmle/go/Types/Field_getPackage.expected | 4 +++ .../go/Types/Field_hasQualifiedName2.expected | 6 +++++ .../go/Types/Field_hasQualifiedName3.expected | 6 +++++ .../semmle/go/Types/MethodCount.expected | 3 +++ .../semmle/go/Types/MethodTypes.expected | 1 + .../Types/Method_hasQualifiedName2.expected | 3 +++ .../Types/Method_hasQualifiedName3.expected | 3 +++ .../semmle/go/Types/Methods.expected | 3 +++ .../semmle/go/Types/QualifiedNames.expected | 4 +++ .../SignatureType_getNumParameter.expected | 6 +++++ .../Types/SignatureType_getNumResult.expected | 6 +++++ .../semmle/go/Types/StructFields.expected | 6 +++++ .../semmle/go/Types/Types.expected | 4 +++ .../semmle/go/Types/pkg1/promotedStructs.go | 25 +++++++++++++++++++ .../library-tests/semmle/go/Types/promoted.go | 25 +++++++++++++++++++ 15 files changed, 105 insertions(+) create mode 100644 go/ql/test/library-tests/semmle/go/Types/pkg1/promotedStructs.go create mode 100644 go/ql/test/library-tests/semmle/go/Types/promoted.go diff --git a/go/ql/test/library-tests/semmle/go/Types/Field_getPackage.expected b/go/ql/test/library-tests/semmle/go/Types/Field_getPackage.expected index 6fd88c35259e..485a42b185ec 100644 --- a/go/ql/test/library-tests/semmle/go/Types/Field_getPackage.expected +++ b/go/ql/test/library-tests/semmle/go/Types/Field_getPackage.expected @@ -32,6 +32,10 @@ | pkg1/embedding.go:28:24:28:31 | embedder | package github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | | pkg1/embedding.go:36:2:36:5 | base | package github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | | pkg1/embedding.go:37:2:37:2 | f | package github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | +| pkg1/promotedStructs.go:5:2:5:7 | SField | package github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | +| pkg1/promotedStructs.go:14:2:14:7 | PField | package github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | +| pkg1/promotedStructs.go:22:22:22:22 | S | package github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | +| pkg1/promotedStructs.go:25:22:25:22 | P | package github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | | pkg1/tst.go:4:2:4:2 | f | package github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | | pkg1/tst.go:5:2:5:4 | Foo | package github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | | pkg1/tst.go:6:2:6:4 | Bar | package github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | diff --git a/go/ql/test/library-tests/semmle/go/Types/Field_hasQualifiedName2.expected b/go/ql/test/library-tests/semmle/go/Types/Field_hasQualifiedName2.expected index 910d9a0dd5ff..c8575332f6f6 100644 --- a/go/ql/test/library-tests/semmle/go/Types/Field_hasQualifiedName2.expected +++ b/go/ql/test/library-tests/semmle/go/Types/Field_hasQualifiedName2.expected @@ -43,6 +43,12 @@ | pkg1/embedding.go:28:24:28:31 | embedder | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.embedder3 | embedder | | pkg1/embedding.go:36:2:36:5 | base | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.embedder4 | base | | pkg1/embedding.go:37:2:37:2 | f | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.embedder4 | f | +| pkg1/promotedStructs.go:5:2:5:7 | SField | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.S | SField | +| pkg1/promotedStructs.go:5:2:5:7 | SField | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.SEmbedS | SField | +| pkg1/promotedStructs.go:14:2:14:7 | PField | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.P | PField | +| pkg1/promotedStructs.go:14:2:14:7 | PField | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.SEmbedP | PField | +| pkg1/promotedStructs.go:22:22:22:22 | S | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.SEmbedS | S | +| pkg1/promotedStructs.go:25:22:25:22 | P | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.SEmbedP | P | | pkg1/tst.go:4:2:4:2 | f | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.T | f | | pkg1/tst.go:5:2:5:4 | Foo | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.T | Foo | | pkg1/tst.go:6:2:6:4 | Bar | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.T | Bar | diff --git a/go/ql/test/library-tests/semmle/go/Types/Field_hasQualifiedName3.expected b/go/ql/test/library-tests/semmle/go/Types/Field_hasQualifiedName3.expected index 1b8e88be66ff..56176082d9a1 100644 --- a/go/ql/test/library-tests/semmle/go/Types/Field_hasQualifiedName3.expected +++ b/go/ql/test/library-tests/semmle/go/Types/Field_hasQualifiedName3.expected @@ -43,6 +43,12 @@ | pkg1/embedding.go:28:24:28:31 | embedder | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | embedder3 | embedder | | pkg1/embedding.go:36:2:36:5 | base | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | embedder4 | base | | pkg1/embedding.go:37:2:37:2 | f | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | embedder4 | f | +| pkg1/promotedStructs.go:5:2:5:7 | SField | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | S | SField | +| pkg1/promotedStructs.go:5:2:5:7 | SField | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | SEmbedS | SField | +| pkg1/promotedStructs.go:14:2:14:7 | PField | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | P | PField | +| pkg1/promotedStructs.go:14:2:14:7 | PField | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | SEmbedP | PField | +| pkg1/promotedStructs.go:22:22:22:22 | S | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | SEmbedS | S | +| pkg1/promotedStructs.go:25:22:25:22 | P | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | SEmbedP | P | | pkg1/tst.go:4:2:4:2 | f | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | T | f | | pkg1/tst.go:5:2:5:4 | Foo | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | T | Foo | | pkg1/tst.go:6:2:6:4 | Bar | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | T | Bar | diff --git a/go/ql/test/library-tests/semmle/go/Types/MethodCount.expected b/go/ql/test/library-tests/semmle/go/Types/MethodCount.expected index a91da6a8e90c..e3f7ee63c641 100644 --- a/go/ql/test/library-tests/semmle/go/Types/MethodCount.expected +++ b/go/ql/test/library-tests/semmle/go/Types/MethodCount.expected @@ -1,4 +1,5 @@ | * Foo | 1 | +| * P | 1 | | * base | 2 | | * embedder | 2 | | * embedder2 | 2 | @@ -16,6 +17,8 @@ | GenericInterface | 1 | | MixedExportedAndNot | 2 | | MyInterface | 17 | +| S | 1 | +| SEmbedS | 1 | | T | 1 | | T3 | 1 | | T4 | 1 | diff --git a/go/ql/test/library-tests/semmle/go/Types/MethodTypes.expected b/go/ql/test/library-tests/semmle/go/Types/MethodTypes.expected index 695f2cb7e906..326debd2f804 100644 --- a/go/ql/test/library-tests/semmle/go/Types/MethodTypes.expected +++ b/go/ql/test/library-tests/semmle/go/Types/MethodTypes.expected @@ -50,6 +50,7 @@ | pkg1/interfaces.go:31:6:31:7 | A2 | m | func() | | pkg1/interfaces.go:35:6:35:24 | MixedExportedAndNot | Exported | func() | | pkg1/interfaces.go:35:6:35:24 | MixedExportedAndNot | notExported | func() | +| pkg1/promotedStructs.go:22:6:22:12 | SEmbedS | SMethod | func() interface { } | | pkg1/tst.go:3:6:3:6 | T | half | func() Foo | | pkg1/tst.go:14:6:14:7 | T3 | half | func() Foo | | pkg1/tst.go:19:6:19:7 | T4 | half | func() Foo | diff --git a/go/ql/test/library-tests/semmle/go/Types/Method_hasQualifiedName2.expected b/go/ql/test/library-tests/semmle/go/Types/Method_hasQualifiedName2.expected index e39dc1c37bf2..2ad41d3b8b4e 100644 --- a/go/ql/test/library-tests/semmle/go/Types/Method_hasQualifiedName2.expected +++ b/go/ql/test/library-tests/semmle/go/Types/Method_hasQualifiedName2.expected @@ -55,6 +55,9 @@ | pkg1/interfaces.go:32:2:32:2 | m | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.A2 | m | | pkg1/interfaces.go:36:2:36:9 | Exported | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.MixedExportedAndNot | Exported | | pkg1/interfaces.go:37:2:37:12 | notExported | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.MixedExportedAndNot | notExported | +| pkg1/promotedStructs.go:8:12:8:18 | SMethod | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.S | SMethod | +| pkg1/promotedStructs.go:8:12:8:18 | SMethod | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.SEmbedS | SMethod | +| pkg1/promotedStructs.go:17:13:17:19 | PMethod | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.P | PMethod | | pkg1/tst.go:33:16:33:19 | half | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.Foo | half | | pkg1/tst.go:33:16:33:19 | half | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.T | half | | pkg1/tst.go:33:16:33:19 | half | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.T3 | half | diff --git a/go/ql/test/library-tests/semmle/go/Types/Method_hasQualifiedName3.expected b/go/ql/test/library-tests/semmle/go/Types/Method_hasQualifiedName3.expected index 6bf4488df233..bbf838ad3bb0 100644 --- a/go/ql/test/library-tests/semmle/go/Types/Method_hasQualifiedName3.expected +++ b/go/ql/test/library-tests/semmle/go/Types/Method_hasQualifiedName3.expected @@ -55,6 +55,9 @@ | pkg1/interfaces.go:32:2:32:2 | m | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | A2 | m | | pkg1/interfaces.go:36:2:36:9 | Exported | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | MixedExportedAndNot | Exported | | pkg1/interfaces.go:37:2:37:12 | notExported | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | MixedExportedAndNot | notExported | +| pkg1/promotedStructs.go:8:12:8:18 | SMethod | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | S | SMethod | +| pkg1/promotedStructs.go:8:12:8:18 | SMethod | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | SEmbedS | SMethod | +| pkg1/promotedStructs.go:17:13:17:19 | PMethod | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | P | PMethod | | pkg1/tst.go:33:16:33:19 | half | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | Foo | half | | pkg1/tst.go:33:16:33:19 | half | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | T | half | | pkg1/tst.go:33:16:33:19 | half | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | T3 | half | diff --git a/go/ql/test/library-tests/semmle/go/Types/Methods.expected b/go/ql/test/library-tests/semmle/go/Types/Methods.expected index d84593653ad9..895f2beb8ee6 100644 --- a/go/ql/test/library-tests/semmle/go/Types/Methods.expected +++ b/go/ql/test/library-tests/semmle/go/Types/Methods.expected @@ -1,4 +1,5 @@ | * Foo | half | pkg1/tst.go:33:16:33:19 | half | +| * P | PMethod | pkg1/promotedStructs.go:17:13:17:19 | PMethod | | * base | f | pkg1/embedding.go:10:13:10:13 | f | | * base | g | pkg1/embedding.go:14:14:14:14 | g | | * embedder | f | pkg1/embedding.go:10:13:10:13 | f | @@ -45,6 +46,8 @@ | MyInterface | dummy18 | generic.go:62:2:62:8 | dummy18 | | MyInterface | dummy19 | generic.go:63:2:63:8 | dummy19 | | MyInterface | dummy20 | generic.go:64:2:64:8 | dummy20 | +| S | SMethod | pkg1/promotedStructs.go:8:12:8:18 | SMethod | +| SEmbedS | SMethod | pkg1/promotedStructs.go:8:12:8:18 | SMethod | | T | half | pkg1/tst.go:33:16:33:19 | half | | T3 | half | pkg1/tst.go:33:16:33:19 | half | | T4 | half | pkg1/tst.go:33:16:33:19 | half | diff --git a/go/ql/test/library-tests/semmle/go/Types/QualifiedNames.expected b/go/ql/test/library-tests/semmle/go/Types/QualifiedNames.expected index b2befe28a2d1..660209effbbd 100644 --- a/go/ql/test/library-tests/semmle/go/Types/QualifiedNames.expected +++ b/go/ql/test/library-tests/semmle/go/Types/QualifiedNames.expected @@ -91,6 +91,10 @@ | pkg1/interfaces.go:26:6:26:14 | AExtended | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.AExtended | | pkg1/interfaces.go:31:6:31:7 | A2 | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.A2 | | pkg1/interfaces.go:35:6:35:24 | MixedExportedAndNot | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.MixedExportedAndNot | +| pkg1/promotedStructs.go:4:6:4:6 | S | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.S | +| pkg1/promotedStructs.go:13:6:13:6 | P | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.P | +| pkg1/promotedStructs.go:22:6:22:12 | SEmbedS | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.SEmbedS | +| pkg1/promotedStructs.go:25:6:25:12 | SEmbedP | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.SEmbedP | | pkg1/tst.go:3:6:3:6 | T | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.T | | pkg1/tst.go:9:6:9:7 | T2 | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.T2 | | pkg1/tst.go:14:6:14:7 | T3 | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.T3 | diff --git a/go/ql/test/library-tests/semmle/go/Types/SignatureType_getNumParameter.expected b/go/ql/test/library-tests/semmle/go/Types/SignatureType_getNumParameter.expected index 6742adf837fd..faedd5aa0de0 100644 --- a/go/ql/test/library-tests/semmle/go/Types/SignatureType_getNumParameter.expected +++ b/go/ql/test/library-tests/semmle/go/Types/SignatureType_getNumParameter.expected @@ -11,9 +11,15 @@ | pkg1/embedding.go:14:1:16:1 | function declaration | 0 | | pkg1/embedding.go:30:1:32:1 | function declaration | 0 | | pkg1/embedding.go:40:1:61:1 | function declaration | 0 | +| pkg1/promotedStructs.go:8:1:10:1 | function declaration | 0 | +| pkg1/promotedStructs.go:17:1:19:1 | function declaration | 0 | | pkg1/tst.go:33:1:35:1 | function declaration | 0 | | pkg1/tst.go:37:1:37:26 | function declaration | 1 | | pkg1/tst.go:39:1:57:1 | function declaration | 2 | +| promoted.go:7:1:10:1 | function declaration | 1 | +| promoted.go:12:1:15:1 | function declaration | 1 | +| promoted.go:17:1:20:1 | function declaration | 1 | +| promoted.go:22:1:25:1 | function declaration | 1 | | unknownFunction.go:8:1:12:1 | function declaration | 0 | | variadicFunctions.go:5:1:8:1 | function declaration | 0 | | variadicFunctions.go:10:1:18:1 | function declaration | 1 | diff --git a/go/ql/test/library-tests/semmle/go/Types/SignatureType_getNumResult.expected b/go/ql/test/library-tests/semmle/go/Types/SignatureType_getNumResult.expected index c6b20f548306..513ad56bd3c2 100644 --- a/go/ql/test/library-tests/semmle/go/Types/SignatureType_getNumResult.expected +++ b/go/ql/test/library-tests/semmle/go/Types/SignatureType_getNumResult.expected @@ -11,9 +11,15 @@ | pkg1/embedding.go:14:1:16:1 | function declaration | 1 | | pkg1/embedding.go:30:1:32:1 | function declaration | 1 | | pkg1/embedding.go:40:1:61:1 | function declaration | 0 | +| pkg1/promotedStructs.go:8:1:10:1 | function declaration | 1 | +| pkg1/promotedStructs.go:17:1:19:1 | function declaration | 1 | | pkg1/tst.go:33:1:35:1 | function declaration | 1 | | pkg1/tst.go:37:1:37:26 | function declaration | 0 | | pkg1/tst.go:39:1:57:1 | function declaration | 0 | +| promoted.go:7:1:10:1 | function declaration | 0 | +| promoted.go:12:1:15:1 | function declaration | 0 | +| promoted.go:17:1:20:1 | function declaration | 0 | +| promoted.go:22:1:25:1 | function declaration | 0 | | unknownFunction.go:8:1:12:1 | function declaration | 0 | | variadicFunctions.go:5:1:8:1 | function declaration | 0 | | variadicFunctions.go:10:1:18:1 | function declaration | 1 | diff --git a/go/ql/test/library-tests/semmle/go/Types/StructFields.expected b/go/ql/test/library-tests/semmle/go/Types/StructFields.expected index a8194965721e..502b4fa07ad8 100644 --- a/go/ql/test/library-tests/semmle/go/Types/StructFields.expected +++ b/go/ql/test/library-tests/semmle/go/Types/StructFields.expected @@ -45,6 +45,12 @@ | pkg1/embedding.go:28:6:28:14 | embedder3 | pkg1/embedding.go:28:16:28:33 | struct type | embedder | embedder | | pkg1/embedding.go:35:6:35:14 | embedder4 | pkg1/embedding.go:35:16:38:1 | struct type | base | base | | pkg1/embedding.go:35:6:35:14 | embedder4 | pkg1/embedding.go:35:16:38:1 | struct type | f | int | +| pkg1/promotedStructs.go:4:6:4:6 | S | pkg1/promotedStructs.go:4:8:6:1 | struct type | SField | string | +| pkg1/promotedStructs.go:13:6:13:6 | P | pkg1/promotedStructs.go:13:8:15:1 | struct type | PField | string | +| pkg1/promotedStructs.go:22:6:22:12 | SEmbedS | pkg1/promotedStructs.go:22:14:22:24 | struct type | S | S | +| pkg1/promotedStructs.go:22:6:22:12 | SEmbedS | pkg1/promotedStructs.go:22:14:22:24 | struct type | SField | string | +| pkg1/promotedStructs.go:25:6:25:12 | SEmbedP | pkg1/promotedStructs.go:25:14:25:24 | struct type | P | P | +| pkg1/promotedStructs.go:25:6:25:12 | SEmbedP | pkg1/promotedStructs.go:25:14:25:24 | struct type | PField | string | | pkg1/tst.go:3:6:3:6 | T | pkg1/tst.go:3:8:7:1 | struct type | Bar | Bar | | pkg1/tst.go:3:6:3:6 | T | pkg1/tst.go:3:8:7:1 | struct type | Foo | Foo | | pkg1/tst.go:3:6:3:6 | T | pkg1/tst.go:3:8:7:1 | struct type | f | int | diff --git a/go/ql/test/library-tests/semmle/go/Types/Types.expected b/go/ql/test/library-tests/semmle/go/Types/Types.expected index 19cfb7bd4f2e..9c04442d7aa9 100644 --- a/go/ql/test/library-tests/semmle/go/Types/Types.expected +++ b/go/ql/test/library-tests/semmle/go/Types/Types.expected @@ -91,6 +91,10 @@ | pkg1/interfaces.go:26:6:26:14 | AExtended | AExtended | | pkg1/interfaces.go:31:6:31:7 | A2 | A2 | | pkg1/interfaces.go:35:6:35:24 | MixedExportedAndNot | MixedExportedAndNot | +| pkg1/promotedStructs.go:4:6:4:6 | S | S | +| pkg1/promotedStructs.go:13:6:13:6 | P | P | +| pkg1/promotedStructs.go:22:6:22:12 | SEmbedS | SEmbedS | +| pkg1/promotedStructs.go:25:6:25:12 | SEmbedP | SEmbedP | | pkg1/tst.go:3:6:3:6 | T | T | | pkg1/tst.go:9:6:9:7 | T2 | T2 | | pkg1/tst.go:14:6:14:7 | T3 | T3 | diff --git a/go/ql/test/library-tests/semmle/go/Types/pkg1/promotedStructs.go b/go/ql/test/library-tests/semmle/go/Types/pkg1/promotedStructs.go new file mode 100644 index 000000000000..faccad824675 --- /dev/null +++ b/go/ql/test/library-tests/semmle/go/Types/pkg1/promotedStructs.go @@ -0,0 +1,25 @@ +package pkg1 + +// A struct type with methods defined on it +type S struct { + SField string +} + +func (t S) SMethod() interface{} { + return nil +} + +// A struct type with methods defined on its pointer type +type P struct { + PField string +} + +func (t *P) PMethod() interface{} { + return nil +} + +// A struct type embedding S +type SEmbedS struct{ S } + +// A struct type embedding P +type SEmbedP struct{ P } diff --git a/go/ql/test/library-tests/semmle/go/Types/promoted.go b/go/ql/test/library-tests/semmle/go/Types/promoted.go new file mode 100644 index 000000000000..326b81084a71 --- /dev/null +++ b/go/ql/test/library-tests/semmle/go/Types/promoted.go @@ -0,0 +1,25 @@ +package main + +import "github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1" + +// IMPORTANT: Make sure that *pkg1.SEmbedP is not referenced. + +func testS(t pkg1.S) { + _ = t.SMethod() + _ = t.SField +} + +func testP(t pkg1.P) { + _ = t.PMethod() + _ = t.PField +} + +func testSEmbedS(t pkg1.SEmbedS) { + _ = t.SMethod() + _ = t.SField +} + +func testSEmbedP(t pkg1.SEmbedP) { + _ = t.PMethod() + _ = t.PField +} From 38ee2d418a31843fbe65b95288bbe86d087a833b Mon Sep 17 00:00:00 2001 From: Owen Mansel-Chan Date: Fri, 8 Nov 2024 11:54:08 +0000 Subject: [PATCH 058/347] Fix bug by extracting more pointer types --- go/extractor/extractor.go | 13 ++++++++++++- .../semmle/go/Types/MethodCount.expected | 6 ++++++ .../go/Types/Method_hasQualifiedName2.expected | 1 + .../go/Types/Method_hasQualifiedName3.expected | 1 + .../library-tests/semmle/go/Types/Methods.expected | 6 ++++++ 5 files changed, 26 insertions(+), 1 deletion(-) diff --git a/go/extractor/extractor.go b/go/extractor/extractor.go index bea57eeec8d7..c0eef233ba58 100644 --- a/go/extractor/extractor.go +++ b/go/extractor/extractor.go @@ -1713,13 +1713,24 @@ func extractType(tw *trap.Writer, tp types.Type) trap.Label { extractMethod(tw, meth) } + underlyingInterface, underlyingIsInterface := underlying.(*types.Interface) + _, underlyingIsPointer := underlying.(*types.Pointer) + // associate all methods of underlying interface with this type - if underlyingInterface, ok := underlying.(*types.Interface); ok { + if underlyingIsInterface { for i := 0; i < underlyingInterface.NumMethods(); i++ { methlbl := extractMethod(tw, underlyingInterface.Method(i).Origin()) dbscheme.MethodHostsTable.Emit(tw, methlbl, lbl) } } + + // If `underlying` is not a pointer or interface then methods can + // be defined on `origintp`. In this case we must ensure that + // `*origintp` is in the database, so that Method.hasQualifiedName + // correctly includes methods with receiver type `*origintp`. + if !underlyingIsInterface && !underlyingIsPointer { + extractType(tw, types.NewPointer(origintp)) + } case *types.TypeParam: kind = dbscheme.TypeParamType.Index() parentlbl := getTypeParamParentLabel(tw, tp) diff --git a/go/ql/test/library-tests/semmle/go/Types/MethodCount.expected b/go/ql/test/library-tests/semmle/go/Types/MethodCount.expected index e3f7ee63c641..9d576b0f4f66 100644 --- a/go/ql/test/library-tests/semmle/go/Types/MethodCount.expected +++ b/go/ql/test/library-tests/semmle/go/Types/MethodCount.expected @@ -1,5 +1,11 @@ | * Foo | 1 | | * P | 1 | +| * S | 1 | +| * SEmbedP | 1 | +| * SEmbedS | 1 | +| * T | 1 | +| * T3 | 1 | +| * T4 | 1 | | * base | 2 | | * embedder | 2 | | * embedder2 | 2 | diff --git a/go/ql/test/library-tests/semmle/go/Types/Method_hasQualifiedName2.expected b/go/ql/test/library-tests/semmle/go/Types/Method_hasQualifiedName2.expected index 2ad41d3b8b4e..1f893728e300 100644 --- a/go/ql/test/library-tests/semmle/go/Types/Method_hasQualifiedName2.expected +++ b/go/ql/test/library-tests/semmle/go/Types/Method_hasQualifiedName2.expected @@ -58,6 +58,7 @@ | pkg1/promotedStructs.go:8:12:8:18 | SMethod | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.S | SMethod | | pkg1/promotedStructs.go:8:12:8:18 | SMethod | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.SEmbedS | SMethod | | pkg1/promotedStructs.go:17:13:17:19 | PMethod | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.P | PMethod | +| pkg1/promotedStructs.go:17:13:17:19 | PMethod | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.SEmbedP | PMethod | | pkg1/tst.go:33:16:33:19 | half | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.Foo | half | | pkg1/tst.go:33:16:33:19 | half | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.T | half | | pkg1/tst.go:33:16:33:19 | half | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.T3 | half | diff --git a/go/ql/test/library-tests/semmle/go/Types/Method_hasQualifiedName3.expected b/go/ql/test/library-tests/semmle/go/Types/Method_hasQualifiedName3.expected index bbf838ad3bb0..59a298e4b5f1 100644 --- a/go/ql/test/library-tests/semmle/go/Types/Method_hasQualifiedName3.expected +++ b/go/ql/test/library-tests/semmle/go/Types/Method_hasQualifiedName3.expected @@ -58,6 +58,7 @@ | pkg1/promotedStructs.go:8:12:8:18 | SMethod | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | S | SMethod | | pkg1/promotedStructs.go:8:12:8:18 | SMethod | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | SEmbedS | SMethod | | pkg1/promotedStructs.go:17:13:17:19 | PMethod | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | P | PMethod | +| pkg1/promotedStructs.go:17:13:17:19 | PMethod | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | SEmbedP | PMethod | | pkg1/tst.go:33:16:33:19 | half | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | Foo | half | | pkg1/tst.go:33:16:33:19 | half | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | T | half | | pkg1/tst.go:33:16:33:19 | half | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | T3 | half | diff --git a/go/ql/test/library-tests/semmle/go/Types/Methods.expected b/go/ql/test/library-tests/semmle/go/Types/Methods.expected index 895f2beb8ee6..2c17013c1862 100644 --- a/go/ql/test/library-tests/semmle/go/Types/Methods.expected +++ b/go/ql/test/library-tests/semmle/go/Types/Methods.expected @@ -1,5 +1,11 @@ | * Foo | half | pkg1/tst.go:33:16:33:19 | half | | * P | PMethod | pkg1/promotedStructs.go:17:13:17:19 | PMethod | +| * S | SMethod | pkg1/promotedStructs.go:8:12:8:18 | SMethod | +| * SEmbedP | PMethod | pkg1/promotedStructs.go:17:13:17:19 | PMethod | +| * SEmbedS | SMethod | pkg1/promotedStructs.go:8:12:8:18 | SMethod | +| * T | half | pkg1/tst.go:33:16:33:19 | half | +| * T3 | half | pkg1/tst.go:33:16:33:19 | half | +| * T4 | half | pkg1/tst.go:33:16:33:19 | half | | * base | f | pkg1/embedding.go:10:13:10:13 | f | | * base | g | pkg1/embedding.go:14:14:14:14 | g | | * embedder | f | pkg1/embedding.go:10:13:10:13 | f | From d52a2d67a2b87050488d9bcb974d5fff2c77eef4 Mon Sep 17 00:00:00 2001 From: Simon Friis Vindum Date: Fri, 8 Nov 2024 15:00:02 +0100 Subject: [PATCH 059/347] Rust: Create CFG scope for async blocks --- .../controlflow/internal/CfgConsistency.qll | 8 +++- .../internal/ControlFlowGraphImpl.qll | 37 ++++++++++--------- .../rust/controlflow/internal/Scope.qll | 36 ++++++++++++++++-- .../codeql/rust/elements/AsyncBlockExpr.qll | 13 +++++++ rust/ql/lib/rust.qll | 1 + .../library-tests/controlflow/Cfg.expected | 12 ++++-- 6 files changed, 79 insertions(+), 28 deletions(-) create mode 100644 rust/ql/lib/codeql/rust/elements/AsyncBlockExpr.qll diff --git a/rust/ql/lib/codeql/rust/controlflow/internal/CfgConsistency.qll b/rust/ql/lib/codeql/rust/controlflow/internal/CfgConsistency.qll index 668533f1c3dd..2722661494d6 100644 --- a/rust/ql/lib/codeql/rust/controlflow/internal/CfgConsistency.qll +++ b/rust/ql/lib/codeql/rust/controlflow/internal/CfgConsistency.qll @@ -32,8 +32,12 @@ query predicate nonPostOrderExpr(Expr e, string cls) { */ query predicate scopeNoFirst(CfgScope scope) { Consistency::scopeNoFirst(scope) and - not scope = any(Function f | not exists(f.getBody())) and - not scope = any(ClosureExpr c | not exists(c.getBody())) + not scope = + [ + any(AstNode f | not f.(Function).hasBody()), + any(ClosureExpr c | not c.hasBody()), + any(AsyncBlockExpr b | not b.hasStmtList()) + ] } /** Holds if `be` is the `else` branch of a `let` statement that results in a panic. */ diff --git a/rust/ql/lib/codeql/rust/controlflow/internal/ControlFlowGraphImpl.qll b/rust/ql/lib/codeql/rust/controlflow/internal/ControlFlowGraphImpl.qll index 173bb8876bc8..0541031594d7 100644 --- a/rust/ql/lib/codeql/rust/controlflow/internal/ControlFlowGraphImpl.qll +++ b/rust/ql/lib/codeql/rust/controlflow/internal/ControlFlowGraphImpl.qll @@ -44,12 +44,10 @@ private module CfgInput implements InputSig { predicate successorTypeIsCondition(SuccessorType t) { t instanceof Cfg::BooleanSuccessor } /** Holds if `first` is first executed when entering `scope`. */ - predicate scopeFirst(CfgScope scope, AstNode first) { - first(scope.(CfgScopeTree).getFirstChildNode(), first) - } + predicate scopeFirst(CfgScope scope, AstNode first) { scope.scopeFirst(first) } /** Holds if `scope` is exited when `last` finishes with completion `c`. */ - predicate scopeLast(CfgScope scope, AstNode last, Completion c) { last(scope.getBody(), last, c) } + predicate scopeLast(CfgScope scope, AstNode last, Completion c) { scope.scopeLast(last, c) } } private module CfgSplittingInput implements SplittingInputSig { @@ -71,14 +69,7 @@ private module CfgImpl = import CfgImpl -class CfgScopeTree extends StandardTree, Scope::CfgScope { - override predicate first(AstNode first) { first = this } - - override predicate last(AstNode last, Completion c) { - last = this and - completionIsValidFor(c, this) - } - +class CallableScopeTree extends StandardTree, PreOrderTree, PostOrderTree, Scope::CallableScope { override predicate propagatesAbnormal(AstNode child) { none() } override AstNode getChildNode(int i) { @@ -280,13 +271,23 @@ module ExprTrees { } } + private AstNode getBlockChildNode(BlockExpr b, int i) { + result = b.getStmtList().getStatement(i) + or + i = b.getStmtList().getNumberOfStatements() and + result = b.getStmtList().getTailExpr() + } + + class AsyncBlockExprTree extends StandardTree, PreOrderTree, PostOrderTree, AsyncBlockExpr { + override AstNode getChildNode(int i) { result = getBlockChildNode(this, i) } + + override predicate propagatesAbnormal(AstNode child) { none() } + } + class BlockExprTree extends StandardPostOrderTree, BlockExpr { - override AstNode getChildNode(int i) { - result = this.getStmtList().getStatement(i) - or - i = this.getStmtList().getNumberOfStatements() and - result = this.getStmtList().getTailExpr() - } + BlockExprTree() { not this.isAsync() } + + override AstNode getChildNode(int i) { result = getBlockChildNode(this, i) } override predicate propagatesAbnormal(AstNode child) { child = this.getChildNode(_) } } diff --git a/rust/ql/lib/codeql/rust/controlflow/internal/Scope.qll b/rust/ql/lib/codeql/rust/controlflow/internal/Scope.qll index 48b730cb7fc0..925675c17350 100644 --- a/rust/ql/lib/codeql/rust/controlflow/internal/Scope.qll +++ b/rust/ql/lib/codeql/rust/controlflow/internal/Scope.qll @@ -5,11 +5,32 @@ private import codeql.rust.elements.internal.generated.ParentChild /** * A control-flow graph (CFG) scope. - * - * A CFG scope is a callable with a body. */ -class CfgScope extends Callable { - CfgScope() { +abstract private class CfgScopeImpl extends AstNode { + abstract predicate scopeFirst(AstNode first); + + abstract predicate scopeLast(AstNode last, Completion c); +} + +final class CfgScope = CfgScopeImpl; + +class AsyncBlockScope extends CfgScopeImpl, BlockExpr { + AsyncBlockScope() { this.isAsync() } + + override predicate scopeFirst(AstNode first) { + first(this.(ExprTrees::AsyncBlockExprTree).getFirstChildNode(), first) + } + + override predicate scopeLast(AstNode last, Completion c) { + last(this.(ExprTrees::AsyncBlockExprTree).getLastChildElement(), last, c) + } +} + +/** + * A CFG scope for a callable (a function or a closure) with a body. + */ +class CallableScope extends CfgScopeImpl, Callable { + CallableScope() { // A function without a body corresponds to a trait method signature and // should not have a CFG scope. this.(Function).hasBody() @@ -23,4 +44,11 @@ class CfgScope extends Callable { or result = this.(ClosureExpr).getBody() } + + override predicate scopeFirst(AstNode first) { + first(this.(CallableScopeTree).getFirstChildNode(), first) + } + + /** Holds if `scope` is exited when `last` finishes with completion `c`. */ + override predicate scopeLast(AstNode last, Completion c) { last(this.getBody(), last, c) } } diff --git a/rust/ql/lib/codeql/rust/elements/AsyncBlockExpr.qll b/rust/ql/lib/codeql/rust/elements/AsyncBlockExpr.qll new file mode 100644 index 000000000000..e590f999c9ac --- /dev/null +++ b/rust/ql/lib/codeql/rust/elements/AsyncBlockExpr.qll @@ -0,0 +1,13 @@ +private import codeql.rust.elements.BlockExpr + +/** + * A async block expression. For example: + * ```rust + * async { + * let x = 42; + * } + * ``` + */ +final class AsyncBlockExpr extends BlockExpr { + AsyncBlockExpr() { this.isAsync() } +} diff --git a/rust/ql/lib/rust.qll b/rust/ql/lib/rust.qll index c61e177883ea..ff97a37b5d1f 100644 --- a/rust/ql/lib/rust.qll +++ b/rust/ql/lib/rust.qll @@ -5,6 +5,7 @@ import codeql.Locations import codeql.files.FileSystem import codeql.rust.elements.AssignmentOperation import codeql.rust.elements.LogicalOperation +import codeql.rust.elements.AsyncBlockExpr import codeql.rust.elements.Variable import codeql.rust.elements.NamedFormatArgument import codeql.rust.elements.PositionalFormatArgument diff --git a/rust/ql/test/library-tests/controlflow/Cfg.expected b/rust/ql/test/library-tests/controlflow/Cfg.expected index 9dafa30db1f3..c3a938d67cad 100644 --- a/rust/ql/test/library-tests/controlflow/Cfg.expected +++ b/rust/ql/test/library-tests/controlflow/Cfg.expected @@ -781,10 +781,12 @@ edges | test.rs:372:5:384:5 | enter async_block | test.rs:373:9:375:10 | LetStmt | | | test.rs:372:5:384:5 | exit async_block (normal) | test.rs:372:5:384:5 | exit async_block | | | test.rs:372:28:384:5 | BlockExpr | test.rs:372:5:384:5 | exit async_block (normal) | | -| test.rs:373:9:375:10 | LetStmt | test.rs:374:13:374:42 | ExprStmt | | +| test.rs:373:9:375:10 | LetStmt | test.rs:373:26:375:9 | BlockExpr | | | test.rs:373:13:373:22 | say_godbye | test.rs:376:9:378:10 | LetStmt | match | | test.rs:373:26:375:9 | BlockExpr | test.rs:373:13:373:22 | say_godbye | | -| test.rs:374:13:374:41 | MacroExpr | test.rs:373:26:375:9 | BlockExpr | | +| test.rs:373:26:375:9 | enter BlockExpr | test.rs:374:13:374:42 | ExprStmt | | +| test.rs:373:26:375:9 | exit BlockExpr (normal) | test.rs:373:26:375:9 | exit BlockExpr | | +| test.rs:374:13:374:41 | MacroExpr | test.rs:373:26:375:9 | exit BlockExpr (normal) | | | test.rs:374:13:374:41 | PathExpr | test.rs:374:22:374:40 | "godbye, everyone!\\n" | | | test.rs:374:13:374:42 | ExprStmt | test.rs:374:22:374:40 | MacroStmts | | | test.rs:374:22:374:40 | "godbye, everyone!\\n" | test.rs:374:22:374:40 | FormatArgsExpr | | @@ -794,10 +796,12 @@ edges | test.rs:374:22:374:40 | FormatArgsExpr | test.rs:374:22:374:40 | MacroExpr | | | test.rs:374:22:374:40 | MacroExpr | test.rs:374:22:374:40 | CallExpr | | | test.rs:374:22:374:40 | MacroStmts | test.rs:374:22:374:40 | ExprStmt | | -| test.rs:376:9:378:10 | LetStmt | test.rs:377:13:377:37 | ExprStmt | | +| test.rs:376:9:378:10 | LetStmt | test.rs:376:31:378:9 | BlockExpr | | | test.rs:376:13:376:27 | say_how_are_you | test.rs:379:9:379:28 | LetStmt | match | | test.rs:376:31:378:9 | BlockExpr | test.rs:376:13:376:27 | say_how_are_you | | -| test.rs:377:13:377:36 | MacroExpr | test.rs:376:31:378:9 | BlockExpr | | +| test.rs:376:31:378:9 | enter BlockExpr | test.rs:377:13:377:37 | ExprStmt | | +| test.rs:376:31:378:9 | exit BlockExpr (normal) | test.rs:376:31:378:9 | exit BlockExpr | | +| test.rs:377:13:377:36 | MacroExpr | test.rs:376:31:378:9 | exit BlockExpr (normal) | | | test.rs:377:13:377:36 | PathExpr | test.rs:377:22:377:35 | "how are you?\\n" | | | test.rs:377:13:377:37 | ExprStmt | test.rs:377:22:377:35 | MacroStmts | | | test.rs:377:22:377:35 | "how are you?\\n" | test.rs:377:22:377:35 | FormatArgsExpr | | From c7112ef278158a2cfc1cc0a94db977267cf6ad86 Mon Sep 17 00:00:00 2001 From: Geoffrey White <40627776+geoffw0@users.noreply.github.com> Date: Fri, 8 Nov 2024 14:22:04 +0000 Subject: [PATCH 060/347] Rust: Accept consistency check changes. --- .../CONSISTENCY/DataFlowConsistency.expected | 174 +++++++++++------- 1 file changed, 109 insertions(+), 65 deletions(-) diff --git a/rust/ql/test/query-tests/unusedentities/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/query-tests/unusedentities/CONSISTENCY/DataFlowConsistency.expected index 6345a132ee60..b59b965efa12 100644 --- a/rust/ql/test/query-tests/unusedentities/CONSISTENCY/DataFlowConsistency.expected +++ b/rust/ql/test/query-tests/unusedentities/CONSISTENCY/DataFlowConsistency.expected @@ -89,12 +89,17 @@ uniqueCallEnclosingCallable | main.rs:522:5:522:14 | CallExpr | Call should have one enclosing callable but has 0. | | main.rs:523:5:523:14 | CallExpr | Call should have one enclosing callable but has 0. | | main.rs:525:5:525:22 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:527:5:527:23 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:529:5:529:23 | CallExpr | Call should have one enclosing callable but has 0. | +| main.rs:526:5:526:22 | CallExpr | Call should have one enclosing callable but has 0. | +| main.rs:527:5:527:22 | CallExpr | Call should have one enclosing callable but has 0. | +| main.rs:528:5:528:23 | CallExpr | Call should have one enclosing callable but has 0. | +| main.rs:529:9:529:26 | CallExpr | Call should have one enclosing callable but has 0. | | main.rs:530:5:530:23 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:531:5:531:23 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:532:5:532:22 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:533:5:533:22 | CallExpr | Call should have one enclosing callable but has 0. | +| main.rs:531:5:531:22 | CallExpr | Call should have one enclosing callable but has 0. | +| main.rs:532:5:532:28 | CallExpr | Call should have one enclosing callable but has 0. | +| main.rs:533:5:533:23 | CallExpr | Call should have one enclosing callable but has 0. | +| main.rs:534:5:534:23 | CallExpr | Call should have one enclosing callable but has 0. | +| main.rs:535:5:535:23 | CallExpr | Call should have one enclosing callable but has 0. | +| main.rs:536:5:536:28 | CallExpr | Call should have one enclosing callable but has 0. | | more.rs:45:14:45:26 | CallExpr | Call should have one enclosing callable but has 0. | | more.rs:46:14:46:25 | CallExpr | Call should have one enclosing callable but has 0. | | more.rs:47:14:47:26 | CallExpr | Call should have one enclosing callable but has 0. | @@ -123,68 +128,107 @@ uniqueCallEnclosingCallable | unreachable.rs:62:8:62:13 | CallExpr | Call should have one enclosing callable but has 0. | | unreachable.rs:71:8:71:13 | CallExpr | Call should have one enclosing callable but has 0. | | unreachable.rs:72:9:72:22 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:73:16:73:25 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:74:9:74:22 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:77:8:77:13 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:78:9:78:22 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:79:9:79:24 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:80:9:80:22 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:83:8:83:13 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:84:9:84:22 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:85:9:85:15 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:86:9:86:22 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:89:8:89:13 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:90:9:90:22 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:91:9:91:22 | CallExpr | Call should have one enclosing callable but has 0. | +| unreachable.rs:75:9:75:22 | CallExpr | Call should have one enclosing callable but has 0. | +| unreachable.rs:78:5:78:18 | CallExpr | Call should have one enclosing callable but has 0. | +| unreachable.rs:82:9:82:14 | CallExpr | Call should have one enclosing callable but has 0. | +| unreachable.rs:83:9:83:22 | CallExpr | Call should have one enclosing callable but has 0. | +| unreachable.rs:87:5:87:18 | CallExpr | Call should have one enclosing callable but has 0. | +| unreachable.rs:91:8:91:13 | CallExpr | Call should have one enclosing callable but has 0. | | unreachable.rs:92:9:92:22 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:95:8:95:13 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:98:17:98:29 | CallExpr | Call should have one enclosing callable but has 0. | +| unreachable.rs:93:16:93:25 | CallExpr | Call should have one enclosing callable but has 0. | +| unreachable.rs:94:9:94:22 | CallExpr | Call should have one enclosing callable but has 0. | +| unreachable.rs:97:8:97:13 | CallExpr | Call should have one enclosing callable but has 0. | +| unreachable.rs:98:9:98:22 | CallExpr | Call should have one enclosing callable but has 0. | +| unreachable.rs:99:9:99:24 | CallExpr | Call should have one enclosing callable but has 0. | | unreachable.rs:100:9:100:22 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:102:20:102:25 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:102:29:102:41 | CallExpr | Call should have one enclosing callable but has 0. | +| unreachable.rs:103:8:103:13 | CallExpr | Call should have one enclosing callable but has 0. | | unreachable.rs:104:9:104:22 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:108:9:108:22 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:111:8:111:13 | CallExpr | Call should have one enclosing callable but has 0. | +| unreachable.rs:105:9:105:15 | CallExpr | Call should have one enclosing callable but has 0. | +| unreachable.rs:106:9:106:22 | CallExpr | Call should have one enclosing callable but has 0. | +| unreachable.rs:109:8:109:13 | CallExpr | Call should have one enclosing callable but has 0. | +| unreachable.rs:110:9:110:22 | CallExpr | Call should have one enclosing callable but has 0. | +| unreachable.rs:111:9:111:22 | CallExpr | Call should have one enclosing callable but has 0. | | unreachable.rs:112:9:112:22 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:114:13:114:20 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:115:9:115:22 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:116:22:116:29 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:116:22:116:29 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:117:9:117:22 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:120:8:120:13 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:121:9:121:22 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:123:13:123:20 | CallExpr | Call should have one enclosing callable but has 0. | +| unreachable.rs:115:8:115:13 | CallExpr | Call should have one enclosing callable but has 0. | +| unreachable.rs:118:17:118:29 | CallExpr | Call should have one enclosing callable but has 0. | +| unreachable.rs:120:9:120:22 | CallExpr | Call should have one enclosing callable but has 0. | +| unreachable.rs:122:20:122:25 | CallExpr | Call should have one enclosing callable but has 0. | +| unreachable.rs:122:29:122:41 | CallExpr | Call should have one enclosing callable but has 0. | | unreachable.rs:124:9:124:22 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:125:21:125:28 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:125:21:125:28 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:126:9:126:22 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:131:11:131:24 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:136:13:136:26 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:139:5:139:18 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:141:11:141:24 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:154:9:154:22 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:159:8:159:13 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:160:15:160:20 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:161:13:161:26 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:169:13:169:26 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:175:12:175:17 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:179:9:179:22 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:183:12:183:17 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:198:22:198:41 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:199:9:199:22 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:202:9:202:22 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:205:5:205:18 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:207:16:207:29 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:209:9:209:22 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:219:19:219:38 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:220:9:220:22 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:224:5:224:18 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:226:13:226:32 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:232:5:232:18 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:236:8:236:13 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:237:9:237:22 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:240:9:240:22 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:243:5:243:18 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:247:9:247:14 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:248:9:248:22 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:252:5:252:18 | CallExpr | Call should have one enclosing callable but has 0. | +| unreachable.rs:128:9:128:22 | CallExpr | Call should have one enclosing callable but has 0. | +| unreachable.rs:131:8:131:13 | CallExpr | Call should have one enclosing callable but has 0. | +| unreachable.rs:132:9:132:22 | CallExpr | Call should have one enclosing callable but has 0. | +| unreachable.rs:134:13:134:20 | CallExpr | Call should have one enclosing callable but has 0. | +| unreachable.rs:135:9:135:22 | CallExpr | Call should have one enclosing callable but has 0. | +| unreachable.rs:136:22:136:29 | CallExpr | Call should have one enclosing callable but has 0. | +| unreachable.rs:136:22:136:29 | CallExpr | Call should have one enclosing callable but has 0. | +| unreachable.rs:137:9:137:22 | CallExpr | Call should have one enclosing callable but has 0. | +| unreachable.rs:140:8:140:13 | CallExpr | Call should have one enclosing callable but has 0. | +| unreachable.rs:141:9:141:22 | CallExpr | Call should have one enclosing callable but has 0. | +| unreachable.rs:143:13:143:20 | CallExpr | Call should have one enclosing callable but has 0. | +| unreachable.rs:144:9:144:22 | CallExpr | Call should have one enclosing callable but has 0. | +| unreachable.rs:145:21:145:28 | CallExpr | Call should have one enclosing callable but has 0. | +| unreachable.rs:145:21:145:28 | CallExpr | Call should have one enclosing callable but has 0. | +| unreachable.rs:146:9:146:22 | CallExpr | Call should have one enclosing callable but has 0. | +| unreachable.rs:163:8:163:13 | CallExpr | Call should have one enclosing callable but has 0. | +| unreachable.rs:164:9:164:22 | CallExpr | Call should have one enclosing callable but has 0. | +| unreachable.rs:165:16:165:43 | CallExpr | Call should have one enclosing callable but has 0. | +| unreachable.rs:165:20:165:42 | CallExpr | Call should have one enclosing callable but has 0. | +| unreachable.rs:169:8:169:13 | CallExpr | Call should have one enclosing callable but has 0. | +| unreachable.rs:170:9:170:22 | CallExpr | Call should have one enclosing callable but has 0. | +| unreachable.rs:171:9:171:17 | CallExpr | Call should have one enclosing callable but has 0. | +| unreachable.rs:171:9:171:17 | CallExpr | Call should have one enclosing callable but has 0. | +| unreachable.rs:175:8:175:13 | CallExpr | Call should have one enclosing callable but has 0. | +| unreachable.rs:176:9:176:22 | CallExpr | Call should have one enclosing callable but has 0. | +| unreachable.rs:177:17:177:25 | CallExpr | Call should have one enclosing callable but has 0. | +| unreachable.rs:177:17:177:25 | CallExpr | Call should have one enclosing callable but has 0. | +| unreachable.rs:179:5:179:18 | CallExpr | Call should have one enclosing callable but has 0. | +| unreachable.rs:181:5:181:9 | CallExpr | Call should have one enclosing callable but has 0. | +| unreachable.rs:185:8:185:13 | CallExpr | Call should have one enclosing callable but has 0. | +| unreachable.rs:186:15:186:28 | CallExpr | Call should have one enclosing callable but has 0. | +| unreachable.rs:191:17:191:30 | CallExpr | Call should have one enclosing callable but has 0. | +| unreachable.rs:194:9:194:22 | CallExpr | Call should have one enclosing callable but has 0. | +| unreachable.rs:197:8:197:13 | CallExpr | Call should have one enclosing callable but has 0. | +| unreachable.rs:198:15:198:28 | CallExpr | Call should have one enclosing callable but has 0. | +| unreachable.rs:209:8:209:13 | CallExpr | Call should have one enclosing callable but has 0. | +| unreachable.rs:210:19:210:32 | CallExpr | Call should have one enclosing callable but has 0. | +| unreachable.rs:214:9:214:22 | CallExpr | Call should have one enclosing callable but has 0. | +| unreachable.rs:217:8:217:13 | CallExpr | Call should have one enclosing callable but has 0. | +| unreachable.rs:218:13:221:10 | CallExpr | Call should have one enclosing callable but has 0. | +| unreachable.rs:218:24:218:37 | CallExpr | Call should have one enclosing callable but has 0. | +| unreachable.rs:222:9:222:22 | CallExpr | Call should have one enclosing callable but has 0. | +| unreachable.rs:227:8:227:13 | CallExpr | Call should have one enclosing callable but has 0. | +| unreachable.rs:229:13:229:26 | CallExpr | Call should have one enclosing callable but has 0. | +| unreachable.rs:235:8:235:13 | CallExpr | Call should have one enclosing callable but has 0. | +| unreachable.rs:236:15:236:20 | CallExpr | Call should have one enclosing callable but has 0. | +| unreachable.rs:237:13:237:26 | CallExpr | Call should have one enclosing callable but has 0. | +| unreachable.rs:245:13:245:26 | CallExpr | Call should have one enclosing callable but has 0. | +| unreachable.rs:250:8:250:13 | CallExpr | Call should have one enclosing callable but has 0. | +| unreachable.rs:252:16:252:21 | CallExpr | Call should have one enclosing callable but has 0. | +| unreachable.rs:256:13:256:26 | CallExpr | Call should have one enclosing callable but has 0. | +| unreachable.rs:260:8:260:13 | CallExpr | Call should have one enclosing callable but has 0. | +| unreachable.rs:262:16:262:21 | CallExpr | Call should have one enclosing callable but has 0. | +| unreachable.rs:272:8:272:13 | CallExpr | Call should have one enclosing callable but has 0. | +| unreachable.rs:278:13:278:15 | CallExpr | Call should have one enclosing callable but has 0. | +| unreachable.rs:281:9:281:31 | CallExpr | Call should have one enclosing callable but has 0. | +| unreachable.rs:282:9:282:31 | CallExpr | Call should have one enclosing callable but has 0. | +| unreachable.rs:283:9:283:33 | CallExpr | Call should have one enclosing callable but has 0. | +| unreachable.rs:284:9:284:33 | CallExpr | Call should have one enclosing callable but has 0. | +| unreachable.rs:285:9:285:22 | CallExpr | Call should have one enclosing callable but has 0. | +| unreachable.rs:294:13:294:32 | CallExpr | Call should have one enclosing callable but has 0. | +| unreachable.rs:296:9:296:22 | CallExpr | Call should have one enclosing callable but has 0. | +| unreachable.rs:301:13:301:32 | CallExpr | Call should have one enclosing callable but has 0. | +| unreachable.rs:318:22:318:41 | CallExpr | Call should have one enclosing callable but has 0. | +| unreachable.rs:319:9:319:22 | CallExpr | Call should have one enclosing callable but has 0. | +| unreachable.rs:322:9:322:22 | CallExpr | Call should have one enclosing callable but has 0. | +| unreachable.rs:325:5:325:18 | CallExpr | Call should have one enclosing callable but has 0. | +| unreachable.rs:327:16:327:29 | CallExpr | Call should have one enclosing callable but has 0. | +| unreachable.rs:329:9:329:22 | CallExpr | Call should have one enclosing callable but has 0. | +| unreachable.rs:339:19:339:38 | CallExpr | Call should have one enclosing callable but has 0. | +| unreachable.rs:340:9:340:22 | CallExpr | Call should have one enclosing callable but has 0. | +| unreachable.rs:344:5:344:18 | CallExpr | Call should have one enclosing callable but has 0. | +| unreachable.rs:346:13:346:32 | CallExpr | Call should have one enclosing callable but has 0. | +| unreachable.rs:352:5:352:18 | CallExpr | Call should have one enclosing callable but has 0. | +| unreachable.rs:360:9:360:22 | CallExpr | Call should have one enclosing callable but has 0. | +| unreachable.rs:362:9:362:22 | CallExpr | Call should have one enclosing callable but has 0. | +| unreachable.rs:368:9:368:22 | CallExpr | Call should have one enclosing callable but has 0. | From c8f41206be533fe64fca9402ada600ab72f6f45a Mon Sep 17 00:00:00 2001 From: Owen Mansel-Chan Date: Fri, 8 Nov 2024 14:23:55 +0000 Subject: [PATCH 061/347] Add a change note --- .../2024-11-07-fix-missing-qualified-names-for-methods.md | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 go/ql/lib/change-notes/2024-11-07-fix-missing-qualified-names-for-methods.md diff --git a/go/ql/lib/change-notes/2024-11-07-fix-missing-qualified-names-for-methods.md b/go/ql/lib/change-notes/2024-11-07-fix-missing-qualified-names-for-methods.md new file mode 100644 index 000000000000..cd2dbb6c9742 --- /dev/null +++ b/go/ql/lib/change-notes/2024-11-07-fix-missing-qualified-names-for-methods.md @@ -0,0 +1,4 @@ +--- +category: fix +--- +* Fixed a bug which meant that some qualified names for promoted methods were not being recognised in some very specific circumstances. From a13c70bd11e9e8b7bf8315251a6856fa11faee38 Mon Sep 17 00:00:00 2001 From: Paolo Tranquilli Date: Fri, 8 Nov 2024 16:50:21 +0100 Subject: [PATCH 062/347] Rust: add integration test for cargo options --- rust/ql/integration-tests/options/Cargo.toml | 9 +++++ .../options/arch_functions.Darwin.expected | 1 + .../options/arch_functions.Linux.expected | 1 + .../options/arch_functions.Windows.expected | 1 + .../options/arch_functions.ql | 5 +++ .../options/cfg_functions.expected | 2 + .../options/cfg_functions.override.expected | 3 ++ .../options/cfg_functions.ql | 5 +++ .../options/feature_functions.all.expected | 3 ++ .../options/feature_functions.bar.expected | 2 + .../options/feature_functions.expected | 1 + .../options/feature_functions.foo.expected | 2 + .../options/feature_functions.ql | 5 +++ rust/ql/integration-tests/options/src/arch.rs | 8 ++++ rust/ql/integration-tests/options/src/cfg.rs | 14 +++++++ .../integration-tests/options/src/features.rs | 7 ++++ rust/ql/integration-tests/options/src/lib.rs | 3 ++ .../integration-tests/options/test_options.py | 37 +++++++++++++++++++ 18 files changed, 109 insertions(+) create mode 100644 rust/ql/integration-tests/options/Cargo.toml create mode 100644 rust/ql/integration-tests/options/arch_functions.Darwin.expected create mode 100644 rust/ql/integration-tests/options/arch_functions.Linux.expected create mode 100644 rust/ql/integration-tests/options/arch_functions.Windows.expected create mode 100644 rust/ql/integration-tests/options/arch_functions.ql create mode 100644 rust/ql/integration-tests/options/cfg_functions.expected create mode 100644 rust/ql/integration-tests/options/cfg_functions.override.expected create mode 100644 rust/ql/integration-tests/options/cfg_functions.ql create mode 100644 rust/ql/integration-tests/options/feature_functions.all.expected create mode 100644 rust/ql/integration-tests/options/feature_functions.bar.expected create mode 100644 rust/ql/integration-tests/options/feature_functions.expected create mode 100644 rust/ql/integration-tests/options/feature_functions.foo.expected create mode 100644 rust/ql/integration-tests/options/feature_functions.ql create mode 100644 rust/ql/integration-tests/options/src/arch.rs create mode 100644 rust/ql/integration-tests/options/src/cfg.rs create mode 100644 rust/ql/integration-tests/options/src/features.rs create mode 100644 rust/ql/integration-tests/options/src/lib.rs create mode 100644 rust/ql/integration-tests/options/test_options.py diff --git a/rust/ql/integration-tests/options/Cargo.toml b/rust/ql/integration-tests/options/Cargo.toml new file mode 100644 index 000000000000..c75338009fe6 --- /dev/null +++ b/rust/ql/integration-tests/options/Cargo.toml @@ -0,0 +1,9 @@ +[workspace] +[package] +name = "options" +version = "0.1.0" +edition = "2021" + +[features] +foo = [] +bar = [] diff --git a/rust/ql/integration-tests/options/arch_functions.Darwin.expected b/rust/ql/integration-tests/options/arch_functions.Darwin.expected new file mode 100644 index 000000000000..64505ef2aafd --- /dev/null +++ b/rust/ql/integration-tests/options/arch_functions.Darwin.expected @@ -0,0 +1 @@ +| src/arch.rs:7:1:8:13 | macos | diff --git a/rust/ql/integration-tests/options/arch_functions.Linux.expected b/rust/ql/integration-tests/options/arch_functions.Linux.expected new file mode 100644 index 000000000000..ed290cbad692 --- /dev/null +++ b/rust/ql/integration-tests/options/arch_functions.Linux.expected @@ -0,0 +1 @@ +| src/arch.rs:1:1:2:13 | linux | diff --git a/rust/ql/integration-tests/options/arch_functions.Windows.expected b/rust/ql/integration-tests/options/arch_functions.Windows.expected new file mode 100644 index 000000000000..bb0067e8a2a7 --- /dev/null +++ b/rust/ql/integration-tests/options/arch_functions.Windows.expected @@ -0,0 +1 @@ +| src/arch.rs:4:1:5:15 | windows | diff --git a/rust/ql/integration-tests/options/arch_functions.ql b/rust/ql/integration-tests/options/arch_functions.ql new file mode 100644 index 000000000000..2bb3182e6e79 --- /dev/null +++ b/rust/ql/integration-tests/options/arch_functions.ql @@ -0,0 +1,5 @@ +import rust + +from Function f +where f.getLocation().getFile().getBaseName() = "arch.rs" and f.hasExtendedCanonicalPath() +select f diff --git a/rust/ql/integration-tests/options/cfg_functions.expected b/rust/ql/integration-tests/options/cfg_functions.expected new file mode 100644 index 000000000000..521e16ac1dd0 --- /dev/null +++ b/rust/ql/integration-tests/options/cfg_functions.expected @@ -0,0 +1,2 @@ +| src/cfg.rs:7:1:8:19 | cfg_no_flag | +| src/cfg.rs:10:1:11:18 | cfg_no_key | diff --git a/rust/ql/integration-tests/options/cfg_functions.override.expected b/rust/ql/integration-tests/options/cfg_functions.override.expected new file mode 100644 index 000000000000..53fa4d127191 --- /dev/null +++ b/rust/ql/integration-tests/options/cfg_functions.override.expected @@ -0,0 +1,3 @@ +| src/cfg.rs:1:1:2:16 | cfg_flag | +| src/cfg.rs:4:1:5:15 | cfg_key | +| src/cfg.rs:13:1:14:15 | no_test | diff --git a/rust/ql/integration-tests/options/cfg_functions.ql b/rust/ql/integration-tests/options/cfg_functions.ql new file mode 100644 index 000000000000..6ba57e61a9d5 --- /dev/null +++ b/rust/ql/integration-tests/options/cfg_functions.ql @@ -0,0 +1,5 @@ +import rust + +from Function f +where f.getLocation().getFile().getBaseName() = "cfg.rs" and f.hasExtendedCanonicalPath() +select f diff --git a/rust/ql/integration-tests/options/feature_functions.all.expected b/rust/ql/integration-tests/options/feature_functions.all.expected new file mode 100644 index 000000000000..dcf10884778e --- /dev/null +++ b/rust/ql/integration-tests/options/feature_functions.all.expected @@ -0,0 +1,3 @@ +| src/features.rs:1:1:2:11 | foo | +| src/features.rs:4:1:5:11 | bar | +| src/features.rs:7:1:7:14 | always | diff --git a/rust/ql/integration-tests/options/feature_functions.bar.expected b/rust/ql/integration-tests/options/feature_functions.bar.expected new file mode 100644 index 000000000000..1e7a67b1c164 --- /dev/null +++ b/rust/ql/integration-tests/options/feature_functions.bar.expected @@ -0,0 +1,2 @@ +| src/features.rs:4:1:5:11 | bar | +| src/features.rs:7:1:7:14 | always | diff --git a/rust/ql/integration-tests/options/feature_functions.expected b/rust/ql/integration-tests/options/feature_functions.expected new file mode 100644 index 000000000000..12ef01e541ac --- /dev/null +++ b/rust/ql/integration-tests/options/feature_functions.expected @@ -0,0 +1 @@ +| src/features.rs:7:1:7:14 | always | diff --git a/rust/ql/integration-tests/options/feature_functions.foo.expected b/rust/ql/integration-tests/options/feature_functions.foo.expected new file mode 100644 index 000000000000..6a4b294edd12 --- /dev/null +++ b/rust/ql/integration-tests/options/feature_functions.foo.expected @@ -0,0 +1,2 @@ +| src/features.rs:1:1:2:11 | foo | +| src/features.rs:7:1:7:14 | always | diff --git a/rust/ql/integration-tests/options/feature_functions.ql b/rust/ql/integration-tests/options/feature_functions.ql new file mode 100644 index 000000000000..547e3ab9713a --- /dev/null +++ b/rust/ql/integration-tests/options/feature_functions.ql @@ -0,0 +1,5 @@ +import rust + +from Function f +where f.getLocation().getFile().getBaseName() = "features.rs" and f.hasExtendedCanonicalPath() +select f diff --git a/rust/ql/integration-tests/options/src/arch.rs b/rust/ql/integration-tests/options/src/arch.rs new file mode 100644 index 000000000000..fc9ebcbb616d --- /dev/null +++ b/rust/ql/integration-tests/options/src/arch.rs @@ -0,0 +1,8 @@ +#[cfg(target_os = "linux")] +fn linux() {} + +#[cfg(target_os = "windows")] +fn windows() {} + +#[cfg(target_os = "macos")] +fn macos() {} diff --git a/rust/ql/integration-tests/options/src/cfg.rs b/rust/ql/integration-tests/options/src/cfg.rs new file mode 100644 index 000000000000..e88250b6cd89 --- /dev/null +++ b/rust/ql/integration-tests/options/src/cfg.rs @@ -0,0 +1,14 @@ +#[cfg(cfg_flag)] +fn cfg_flag() {} + +#[cfg(cfg_key = "value")] +fn cfg_key() {} + +#[cfg(not(cfg_flag))] +fn cfg_no_flag() {} + +#[cfg(not(cfg_key = "value"))] +fn cfg_no_key() {} + +#[cfg(not(test))] +fn no_test() {} diff --git a/rust/ql/integration-tests/options/src/features.rs b/rust/ql/integration-tests/options/src/features.rs new file mode 100644 index 000000000000..c1e97e05fd7f --- /dev/null +++ b/rust/ql/integration-tests/options/src/features.rs @@ -0,0 +1,7 @@ +#[cfg(feature = "foo")] +fn foo() {} + +#[cfg(feature = "bar")] +fn bar() {} + +fn always() {} diff --git a/rust/ql/integration-tests/options/src/lib.rs b/rust/ql/integration-tests/options/src/lib.rs new file mode 100644 index 000000000000..85d2fb52472e --- /dev/null +++ b/rust/ql/integration-tests/options/src/lib.rs @@ -0,0 +1,3 @@ +mod arch; +mod features; +mod cfg; diff --git a/rust/ql/integration-tests/options/test_options.py b/rust/ql/integration-tests/options/test_options.py new file mode 100644 index 000000000000..dc530832f6f9 --- /dev/null +++ b/rust/ql/integration-tests/options/test_options.py @@ -0,0 +1,37 @@ +import pytest +import platform +import os + + +@pytest.mark.ql_test("arch_functions.ql", expected=f".{platform.system()}.expected") +def test_default(codeql, rust): + codeql.database.create() + +@pytest.mark.ql_test("arch_functions.ql", expected=".Windows.expected") +def test_target_windows(codeql, rust): + codeql.database.create(extractor_option="cargo_target=x86_64-pc-windows-msvc") + +@pytest.mark.ql_test("arch_functions.ql", expected=".Darwin.expected") +def test_target_macos(codeql, rust): + codeql.database.create(extractor_option="cargo_target=aarch64-apple-darwin") + +@pytest.mark.ql_test("arch_functions.ql", expected=".Linux.expected") +def test_target_linux(codeql, rust): + codeql.database.create(extractor_option="cargo_target=x86_64-unknown-linux-gnu") + +@pytest.mark.ql_test("cfg_functions.ql", expected=".override.expected") +@pytest.mark.ql_test("arch_functions.ql", expected=f".{platform.system()}.expected") +def test_cfg_override(codeql, rust): + # currently codeql CLI has a limitation not allow to pass `=` in values via `--extractor-option` + os.environ["CODEQL_EXTRACTOR_RUST_OPTION_CARGO_CFG_OVERRIDES"] = "cfg_flag,cfg_key=value,-test" + codeql.database.create() + +@pytest.mark.ql_test("arch_functions.ql", expected=f".{platform.system()}.expected") +@pytest.mark.parametrize("features", + [ + pytest.param(p, + marks=pytest.mark.ql_test("feature_functions.ql", expected=f".{e}.expected")) + for p, e in (("foo", "foo"), ("bar", "bar"), ("*", "all"), ("foo,bar", "all")) + ]) +def test_features(codeql, rust, features): + codeql.database.create(extractor_option=f"cargo_features={features}") From f77f2b7ff0ce80cd4564b2430a733845fa67c317 Mon Sep 17 00:00:00 2001 From: Paolo Tranquilli Date: Fri, 8 Nov 2024 17:07:03 +0100 Subject: [PATCH 063/347] Rust: turn off the `test` cfg by default --- rust/extractor/src/config.rs | 13 ++++++++++++- .../options/cfg_functions.override.expected | 3 ++- rust/ql/integration-tests/options/src/cfg.rs | 7 +++++-- rust/ql/integration-tests/options/test_options.py | 2 +- 4 files changed, 20 insertions(+), 5 deletions(-) diff --git a/rust/extractor/src/config.rs b/rust/extractor/src/config.rs index 5e17a458db7d..9dba420f1e9b 100644 --- a/rust/extractor/src/config.rs +++ b/rust/extractor/src/config.rs @@ -137,13 +137,20 @@ fn to_cfg_override(spec: &str) -> CfgAtom { fn to_cfg_overrides(specs: &Vec) -> CfgOverrides { let mut enabled_cfgs = Vec::new(); let mut disabled_cfgs = Vec::new(); + let mut has_test_explicitly_enabled = false; for spec in specs { if spec.starts_with("-") { disabled_cfgs.push(to_cfg_override(&spec[1..])); } else { enabled_cfgs.push(to_cfg_override(spec)); + if spec == "test" { + has_test_explicitly_enabled = true; + } } } + if !has_test_explicitly_enabled { + disabled_cfgs.push(to_cfg_override("test")); + } if let Some(global) = CfgDiff::new(enabled_cfgs, disabled_cfgs) { CfgOverrides { global, @@ -151,6 +158,10 @@ fn to_cfg_overrides(specs: &Vec) -> CfgOverrides { } } else { warn!("non-disjoint cfg overrides, ignoring: {}", specs.join(", ")); - CfgOverrides::default() + CfgOverrides { + global: CfgDiff::new(Vec::new(), vec![to_cfg_override("test")]) + .expect("disabling one cfg should always succeed"), + ..Default::default() + } } } diff --git a/rust/ql/integration-tests/options/cfg_functions.override.expected b/rust/ql/integration-tests/options/cfg_functions.override.expected index 53fa4d127191..3c9253613d0b 100644 --- a/rust/ql/integration-tests/options/cfg_functions.override.expected +++ b/rust/ql/integration-tests/options/cfg_functions.override.expected @@ -1,3 +1,4 @@ | src/cfg.rs:1:1:2:16 | cfg_flag | | src/cfg.rs:4:1:5:15 | cfg_key | -| src/cfg.rs:13:1:14:15 | no_test | +| src/cfg.rs:13:1:14:12 | test | +| src/cfg.rs:16:1:17:24 | pointer_width_32 | diff --git a/rust/ql/integration-tests/options/src/cfg.rs b/rust/ql/integration-tests/options/src/cfg.rs index e88250b6cd89..d748854811b7 100644 --- a/rust/ql/integration-tests/options/src/cfg.rs +++ b/rust/ql/integration-tests/options/src/cfg.rs @@ -10,5 +10,8 @@ fn cfg_no_flag() {} #[cfg(not(cfg_key = "value"))] fn cfg_no_key() {} -#[cfg(not(test))] -fn no_test() {} +#[cfg(test)] +fn test() {} + +#[cfg(target_pointer_width = "32")] +fn pointer_width_32() {} diff --git a/rust/ql/integration-tests/options/test_options.py b/rust/ql/integration-tests/options/test_options.py index dc530832f6f9..17e96de4dcdb 100644 --- a/rust/ql/integration-tests/options/test_options.py +++ b/rust/ql/integration-tests/options/test_options.py @@ -23,7 +23,7 @@ def test_target_linux(codeql, rust): @pytest.mark.ql_test("arch_functions.ql", expected=f".{platform.system()}.expected") def test_cfg_override(codeql, rust): # currently codeql CLI has a limitation not allow to pass `=` in values via `--extractor-option` - os.environ["CODEQL_EXTRACTOR_RUST_OPTION_CARGO_CFG_OVERRIDES"] = "cfg_flag,cfg_key=value,-test" + os.environ["CODEQL_EXTRACTOR_RUST_OPTION_CARGO_CFG_OVERRIDES"] = "cfg_flag,cfg_key=value,-target_pointer_width=64,target_pointer_width=32,test" codeql.database.create() @pytest.mark.ql_test("arch_functions.ql", expected=f".{platform.system()}.expected") From 9684df8535e269f1a01b44894edf6f94343ff3bd Mon Sep 17 00:00:00 2001 From: Paolo Tranquilli Date: Fri, 8 Nov 2024 18:05:19 +0100 Subject: [PATCH 064/347] Rust: accept some inconsitencies for now The modified result is just a change due to a semantic conflict after introducing some `toString` implementations. The new inconsistency should be looked at more in detail. --- .../canonical_path/CONSISTENCY/DataFlowConsistency.expected | 3 +++ .../MacroItems/CONSISTENCY/DataFlowConsistency.expected | 4 ++-- 2 files changed, 5 insertions(+), 2 deletions(-) create mode 100644 rust/ql/test/extractor-tests/canonical_path/CONSISTENCY/DataFlowConsistency.expected diff --git a/rust/ql/test/extractor-tests/canonical_path/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/extractor-tests/canonical_path/CONSISTENCY/DataFlowConsistency.expected new file mode 100644 index 000000000000..cb98837884fb --- /dev/null +++ b/rust/ql/test/extractor-tests/canonical_path/CONSISTENCY/DataFlowConsistency.expected @@ -0,0 +1,3 @@ +uniqueCallEnclosingCallable +| canonical_paths.rs:32:9:32:14 | CallExpr | Call should have one enclosing callable but has 0. | +| canonical_paths.rs:66:13:66:20 | CallExpr | Call should have one enclosing callable but has 0. | diff --git a/rust/ql/test/extractor-tests/generated/MacroItems/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/extractor-tests/generated/MacroItems/CONSISTENCY/DataFlowConsistency.expected index 348881bf8b9d..b4a463be52ce 100644 --- a/rust/ql/test/extractor-tests/generated/MacroItems/CONSISTENCY/DataFlowConsistency.expected +++ b/rust/ql/test/extractor-tests/generated/MacroItems/CONSISTENCY/DataFlowConsistency.expected @@ -1,7 +1,7 @@ uniqueNodeLocation +| file://:0:0:0:0 | ... .parent(...) | Node should have one location but has 0. | +| file://:0:0:0:0 | ... .unwrap(...) | Node should have one location but has 0. | | file://:0:0:0:0 | BlockExpr | Node should have one location but has 0. | -| file://:0:0:0:0 | MethodCallExpr | Node should have one location but has 0. | -| file://:0:0:0:0 | MethodCallExpr | Node should have one location but has 0. | | file://:0:0:0:0 | Param | Node should have one location but has 0. | | file://:0:0:0:0 | PathExpr | Node should have one location but has 0. | missingLocation From 98b7d50e8af093aeaab9d2c0b49497f8a50257ea Mon Sep 17 00:00:00 2001 From: Paolo Tranquilli Date: Fri, 8 Nov 2024 18:20:09 +0100 Subject: [PATCH 065/347] Rust: avoid test name with `*` --- rust/ql/integration-tests/options/test_options.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/rust/ql/integration-tests/options/test_options.py b/rust/ql/integration-tests/options/test_options.py index 17e96de4dcdb..8208b75f7039 100644 --- a/rust/ql/integration-tests/options/test_options.py +++ b/rust/ql/integration-tests/options/test_options.py @@ -30,7 +30,8 @@ def test_cfg_override(codeql, rust): @pytest.mark.parametrize("features", [ pytest.param(p, - marks=pytest.mark.ql_test("feature_functions.ql", expected=f".{e}.expected")) + marks=pytest.mark.ql_test("feature_functions.ql", expected=f".{e}.expected"), + id="all" if p == "*" else p) # CI does not like tests with *... for p, e in (("foo", "foo"), ("bar", "bar"), ("*", "all"), ("foo,bar", "all")) ]) def test_features(codeql, rust, features): From 9afdee46972d7651ff16bb2c58cc45995a606605 Mon Sep 17 00:00:00 2001 From: Owen Mansel-Chan Date: Sat, 9 Nov 2024 07:55:02 +0000 Subject: [PATCH 066/347] Accept changed test results and improve test --- .../go/aliases/InterfaceImpls/test.expected | 20 ++++++++++++------- .../semmle/go/aliases/InterfaceImpls/test.ql | 2 +- 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/go/ql/test/library-tests/semmle/go/aliases/InterfaceImpls/test.expected b/go/ql/test/library-tests/semmle/go/aliases/InterfaceImpls/test.expected index c39b58ab620a..01635aaf19d4 100644 --- a/go/ql/test/library-tests/semmle/go/aliases/InterfaceImpls/test.expected +++ b/go/ql/test/library-tests/semmle/go/aliases/InterfaceImpls/test.expected @@ -13,10 +13,16 @@ callTargets | test.go:57:2:57:29 | call to ImplementMe | test.go:46:1:46:87 | function declaration | ImplementMe | | test.go:57:2:57:29 | call to ImplementMe | test.go:53:1:53:85 | function declaration | ImplementMe | #select -| file://:0:0:0:0 | basic interface type | file://:0:0:0:0 | basic interface type | -| file://:0:0:0:0 | basic interface type | test.go:18:6:18:10 | Impl1 | -| file://:0:0:0:0 | basic interface type | test.go:23:6:23:10 | Impl2 | -| file://:0:0:0:0 | basic interface type | test.go:28:6:28:10 | Impl3 | -| file://:0:0:0:0 | basic interface type | test.go:35:6:35:10 | Impl4 | -| file://:0:0:0:0 | basic interface type | test.go:42:6:42:10 | Impl5 | -| file://:0:0:0:0 | basic interface type | test.go:49:6:49:10 | Impl6 | +| file://:0:0:0:0 | basic interface type | * Impl1 | +| file://:0:0:0:0 | basic interface type | * Impl2 | +| file://:0:0:0:0 | basic interface type | * Impl3 | +| file://:0:0:0:0 | basic interface type | * Impl4 | +| file://:0:0:0:0 | basic interface type | * Impl5 | +| file://:0:0:0:0 | basic interface type | * Impl6 | +| file://:0:0:0:0 | basic interface type | Impl1 | +| file://:0:0:0:0 | basic interface type | Impl2 | +| file://:0:0:0:0 | basic interface type | Impl3 | +| file://:0:0:0:0 | basic interface type | Impl4 | +| file://:0:0:0:0 | basic interface type | Impl5 | +| file://:0:0:0:0 | basic interface type | Impl6 | +| file://:0:0:0:0 | basic interface type | interface { ImplementMe func(func(struct { x int }) ) } | diff --git a/go/ql/test/library-tests/semmle/go/aliases/InterfaceImpls/test.ql b/go/ql/test/library-tests/semmle/go/aliases/InterfaceImpls/test.ql index ae0df68d38db..88b6f63a5d55 100644 --- a/go/ql/test/library-tests/semmle/go/aliases/InterfaceImpls/test.ql +++ b/go/ql/test/library-tests/semmle/go/aliases/InterfaceImpls/test.ql @@ -8,4 +8,4 @@ from InterfaceType i, Type impl where i.hasMethod("ImplementMe", _) and impl.implements(i) -select i, impl +select i, impl.pp() From 0b24235de431ce28ed9bf2236ce32bbcbf0356c3 Mon Sep 17 00:00:00 2001 From: Owen Mansel-Chan Date: Sat, 9 Nov 2024 07:56:44 +0000 Subject: [PATCH 067/347] Update test results --- .../semmle/go/dataflow/ExternalFlowInheritance/test.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/test.go b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/test.go index 1c41bc05c76a..faeba00e7024 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/test.go +++ b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/test.go @@ -19,13 +19,13 @@ func TestI2(t test.I2) { func TestS1(t test.S1) { x := t.Source() y := t.Step(x) - t.Sink(y) // $ I1[t] S1[f] S1[t] ql_S1 SPURIOUS: IEmbedI1[t] SEmbedI1[t] + t.Sink(y) // $ I1[t] S1[f] S1[t] ql_S1 SPURIOUS: IEmbedI1[t] SEmbedI1[t] SEmbedS1[t] } func TestS2(t test.S2) { x := t.Source() y := t.Step(x) - t.Sink(y) // $ I1[t] I2[t] SPURIOUS: IEmbedI1[t] IEmbedI2[t] SEmbedI1[t] SEmbedI2[t] + t.Sink(y) // $ I1[t] I2[t] SPURIOUS: IEmbedI1[t] IEmbedI2[t] SEmbedI1[t] SEmbedI2[t] SEmbedS2[t] } func TestSEmbedI1(t test.SEmbedI1) { @@ -67,13 +67,13 @@ func TestSImplEmbedI2(t test.SImplEmbedI2) { func TestSEmbedS1(t test.SEmbedS1) { x := t.Source() y := t.Step(x) - t.Sink(y) // $ I1[t] S1[t] ql_S1 SPURIOUS: IEmbedI1[t] S1[f] SEmbedI1[t] + t.Sink(y) // $ I1[t] S1[t] SEmbedS1[t] ql_S1 SPURIOUS: IEmbedI1[t] S1[f] SEmbedI1[t] } func TestSEmbedS2(t test.SEmbedS2) { x := t.Source() y := t.Step(x) - t.Sink(y) // $ I1[t] I2[t] SPURIOUS: IEmbedI1[t] IEmbedI2[t] SEmbedI1[t] SEmbedI2[t] + t.Sink(y) // $ I1[t] I2[t] SEmbedS2[t] SPURIOUS: IEmbedI1[t] IEmbedI2[t] SEmbedI1[t] SEmbedI2[t] } func TestSImplEmbedS1(t test.SImplEmbedS1) { From 74a6d9812d303722cd7a7dd5211ea2755235b875 Mon Sep 17 00:00:00 2001 From: Simon Friis Vindum Date: Sun, 10 Nov 2024 11:33:03 +0100 Subject: [PATCH 068/347] Rust: Add SSA test for async blocks --- .../CONSISTENCY/DataFlowConsistency.expected | 104 ++-- .../test/library-tests/variables/Cfg.expected | 589 +++++++++--------- .../test/library-tests/variables/Ssa.expected | 136 ++-- .../variables/variables.expected | 142 +++-- .../test/library-tests/variables/variables.rs | 11 + 5 files changed, 520 insertions(+), 462 deletions(-) diff --git a/rust/ql/test/library-tests/variables/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/library-tests/variables/CONSISTENCY/DataFlowConsistency.expected index bb4e17c24372..ca9c3207ffce 100644 --- a/rust/ql/test/library-tests/variables/CONSISTENCY/DataFlowConsistency.expected +++ b/rust/ql/test/library-tests/variables/CONSISTENCY/DataFlowConsistency.expected @@ -92,54 +92,56 @@ uniqueCallEnclosingCallable | variables.rs:424:5:424:16 | CallExpr | Call should have one enclosing callable but has 0. | | variables.rs:431:5:431:14 | CallExpr | Call should have one enclosing callable but has 0. | | variables.rs:432:5:432:16 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:437:5:437:16 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:438:5:438:20 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:441:9:441:20 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:442:9:442:24 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:445:9:445:20 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:446:9:446:24 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:448:5:448:16 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:454:9:454:20 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:456:9:456:20 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:460:9:460:20 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:462:9:462:20 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:479:5:479:25 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:481:5:481:25 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:483:5:483:25 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:488:5:488:21 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:489:5:489:16 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:492:5:492:21 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:509:3:509:18 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:513:5:513:24 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:514:5:514:22 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:515:5:515:39 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:516:5:516:22 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:517:5:517:22 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:518:5:518:18 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:519:5:519:18 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:520:5:520:18 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:521:5:521:18 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:522:5:522:20 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:523:5:523:20 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:524:5:524:20 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:525:5:525:20 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:526:5:526:20 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:527:5:527:20 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:528:5:528:20 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:529:5:529:20 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:530:5:530:20 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:531:5:531:35 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:532:5:532:36 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:532:20:532:35 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:533:5:533:25 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:534:5:534:22 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:535:5:535:18 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:536:5:536:16 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:537:5:537:12 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:538:5:538:16 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:539:5:539:11 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:540:5:540:17 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:541:5:541:19 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:542:5:542:13 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:543:5:543:13 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:544:5:544:29 | CallExpr | Call should have one enclosing callable but has 0. | +| variables.rs:442:5:442:16 | CallExpr | Call should have one enclosing callable but has 0. | +| variables.rs:447:5:447:16 | CallExpr | Call should have one enclosing callable but has 0. | +| variables.rs:448:5:448:20 | CallExpr | Call should have one enclosing callable but has 0. | +| variables.rs:451:9:451:20 | CallExpr | Call should have one enclosing callable but has 0. | +| variables.rs:452:9:452:24 | CallExpr | Call should have one enclosing callable but has 0. | +| variables.rs:455:9:455:20 | CallExpr | Call should have one enclosing callable but has 0. | +| variables.rs:456:9:456:24 | CallExpr | Call should have one enclosing callable but has 0. | +| variables.rs:458:5:458:16 | CallExpr | Call should have one enclosing callable but has 0. | +| variables.rs:464:9:464:20 | CallExpr | Call should have one enclosing callable but has 0. | +| variables.rs:466:9:466:20 | CallExpr | Call should have one enclosing callable but has 0. | +| variables.rs:470:9:470:20 | CallExpr | Call should have one enclosing callable but has 0. | +| variables.rs:472:9:472:20 | CallExpr | Call should have one enclosing callable but has 0. | +| variables.rs:489:5:489:25 | CallExpr | Call should have one enclosing callable but has 0. | +| variables.rs:491:5:491:25 | CallExpr | Call should have one enclosing callable but has 0. | +| variables.rs:493:5:493:25 | CallExpr | Call should have one enclosing callable but has 0. | +| variables.rs:498:5:498:21 | CallExpr | Call should have one enclosing callable but has 0. | +| variables.rs:499:5:499:16 | CallExpr | Call should have one enclosing callable but has 0. | +| variables.rs:502:5:502:21 | CallExpr | Call should have one enclosing callable but has 0. | +| variables.rs:519:3:519:18 | CallExpr | Call should have one enclosing callable but has 0. | +| variables.rs:523:5:523:24 | CallExpr | Call should have one enclosing callable but has 0. | +| variables.rs:524:5:524:22 | CallExpr | Call should have one enclosing callable but has 0. | +| variables.rs:525:5:525:39 | CallExpr | Call should have one enclosing callable but has 0. | +| variables.rs:526:5:526:22 | CallExpr | Call should have one enclosing callable but has 0. | +| variables.rs:527:5:527:22 | CallExpr | Call should have one enclosing callable but has 0. | +| variables.rs:528:5:528:18 | CallExpr | Call should have one enclosing callable but has 0. | +| variables.rs:529:5:529:18 | CallExpr | Call should have one enclosing callable but has 0. | +| variables.rs:530:5:530:18 | CallExpr | Call should have one enclosing callable but has 0. | +| variables.rs:531:5:531:18 | CallExpr | Call should have one enclosing callable but has 0. | +| variables.rs:532:5:532:20 | CallExpr | Call should have one enclosing callable but has 0. | +| variables.rs:533:5:533:20 | CallExpr | Call should have one enclosing callable but has 0. | +| variables.rs:534:5:534:20 | CallExpr | Call should have one enclosing callable but has 0. | +| variables.rs:535:5:535:20 | CallExpr | Call should have one enclosing callable but has 0. | +| variables.rs:536:5:536:20 | CallExpr | Call should have one enclosing callable but has 0. | +| variables.rs:537:5:537:20 | CallExpr | Call should have one enclosing callable but has 0. | +| variables.rs:538:5:538:20 | CallExpr | Call should have one enclosing callable but has 0. | +| variables.rs:539:5:539:20 | CallExpr | Call should have one enclosing callable but has 0. | +| variables.rs:540:5:540:20 | CallExpr | Call should have one enclosing callable but has 0. | +| variables.rs:541:5:541:35 | CallExpr | Call should have one enclosing callable but has 0. | +| variables.rs:542:5:542:36 | CallExpr | Call should have one enclosing callable but has 0. | +| variables.rs:542:20:542:35 | CallExpr | Call should have one enclosing callable but has 0. | +| variables.rs:543:5:543:25 | CallExpr | Call should have one enclosing callable but has 0. | +| variables.rs:544:5:544:22 | CallExpr | Call should have one enclosing callable but has 0. | +| variables.rs:545:5:545:18 | CallExpr | Call should have one enclosing callable but has 0. | +| variables.rs:546:5:546:16 | CallExpr | Call should have one enclosing callable but has 0. | +| variables.rs:547:5:547:12 | CallExpr | Call should have one enclosing callable but has 0. | +| variables.rs:548:5:548:16 | CallExpr | Call should have one enclosing callable but has 0. | +| variables.rs:549:5:549:11 | CallExpr | Call should have one enclosing callable but has 0. | +| variables.rs:550:5:550:17 | CallExpr | Call should have one enclosing callable but has 0. | +| variables.rs:551:5:551:19 | CallExpr | Call should have one enclosing callable but has 0. | +| variables.rs:552:5:552:25 | CallExpr | Call should have one enclosing callable but has 0. | +| variables.rs:553:5:553:13 | CallExpr | Call should have one enclosing callable but has 0. | +| variables.rs:554:5:554:13 | CallExpr | Call should have one enclosing callable but has 0. | +| variables.rs:555:5:555:29 | CallExpr | Call should have one enclosing callable but has 0. | diff --git a/rust/ql/test/library-tests/variables/Cfg.expected b/rust/ql/test/library-tests/variables/Cfg.expected index 646ef9351116..c7b122e2ab0e 100644 --- a/rust/ql/test/library-tests/variables/Cfg.expected +++ b/rust/ql/test/library-tests/variables/Cfg.expected @@ -955,289 +955,314 @@ edges | variables.rs:432:5:432:16 | CallExpr | variables.rs:409:18:433:1 | BlockExpr | | | variables.rs:432:5:432:17 | ExprStmt | variables.rs:432:5:432:13 | PathExpr | | | variables.rs:432:15:432:15 | z | variables.rs:432:5:432:16 | CallExpr | | -| variables.rs:435:1:449:1 | enter phi | variables.rs:435:8:435:8 | b | | -| variables.rs:435:1:449:1 | exit phi (normal) | variables.rs:435:1:449:1 | exit phi | | -| variables.rs:435:8:435:8 | b | variables.rs:435:8:435:15 | Param | match | -| variables.rs:435:8:435:15 | Param | variables.rs:436:5:436:18 | LetStmt | | -| variables.rs:435:18:449:1 | BlockExpr | variables.rs:435:1:449:1 | exit phi (normal) | | -| variables.rs:436:5:436:18 | LetStmt | variables.rs:436:17:436:17 | 1 | | -| variables.rs:436:9:436:13 | x | variables.rs:437:5:437:17 | ExprStmt | match | -| variables.rs:436:17:436:17 | 1 | variables.rs:436:9:436:13 | x | | -| variables.rs:437:5:437:13 | PathExpr | variables.rs:437:15:437:15 | x | | -| variables.rs:437:5:437:16 | CallExpr | variables.rs:438:5:438:21 | ExprStmt | | -| variables.rs:437:5:437:17 | ExprStmt | variables.rs:437:5:437:13 | PathExpr | | -| variables.rs:437:15:437:15 | x | variables.rs:437:5:437:16 | CallExpr | | -| variables.rs:438:5:438:13 | PathExpr | variables.rs:438:15:438:15 | x | | -| variables.rs:438:5:438:20 | CallExpr | variables.rs:439:5:447:5 | ExprStmt | | -| variables.rs:438:5:438:21 | ExprStmt | variables.rs:438:5:438:13 | PathExpr | | -| variables.rs:438:15:438:15 | x | variables.rs:438:19:438:19 | 1 | | -| variables.rs:438:15:438:19 | ... + ... | variables.rs:438:5:438:20 | CallExpr | | -| variables.rs:438:19:438:19 | 1 | variables.rs:438:15:438:19 | ... + ... | | -| variables.rs:439:5:447:5 | ExprStmt | variables.rs:439:8:439:8 | b | | -| variables.rs:439:5:447:5 | IfExpr | variables.rs:448:5:448:17 | ExprStmt | | -| variables.rs:439:8:439:8 | b | variables.rs:440:9:440:14 | ExprStmt | true | -| variables.rs:439:8:439:8 | b | variables.rs:444:9:444:14 | ExprStmt | false | -| variables.rs:439:10:443:5 | BlockExpr | variables.rs:439:5:447:5 | IfExpr | | -| variables.rs:440:9:440:9 | x | variables.rs:440:13:440:13 | 2 | | -| variables.rs:440:9:440:13 | ... = ... | variables.rs:441:9:441:21 | ExprStmt | | -| variables.rs:440:9:440:14 | ExprStmt | variables.rs:440:9:440:9 | x | | -| variables.rs:440:13:440:13 | 2 | variables.rs:440:9:440:13 | ... = ... | | -| variables.rs:441:9:441:17 | PathExpr | variables.rs:441:19:441:19 | x | | -| variables.rs:441:9:441:20 | CallExpr | variables.rs:442:9:442:25 | ExprStmt | | -| variables.rs:441:9:441:21 | ExprStmt | variables.rs:441:9:441:17 | PathExpr | | -| variables.rs:441:19:441:19 | x | variables.rs:441:9:441:20 | CallExpr | | -| variables.rs:442:9:442:17 | PathExpr | variables.rs:442:19:442:19 | x | | -| variables.rs:442:9:442:24 | CallExpr | variables.rs:439:10:443:5 | BlockExpr | | -| variables.rs:442:9:442:25 | ExprStmt | variables.rs:442:9:442:17 | PathExpr | | -| variables.rs:442:19:442:19 | x | variables.rs:442:23:442:23 | 1 | | -| variables.rs:442:19:442:23 | ... + ... | variables.rs:442:9:442:24 | CallExpr | | -| variables.rs:442:23:442:23 | 1 | variables.rs:442:19:442:23 | ... + ... | | -| variables.rs:443:12:447:5 | BlockExpr | variables.rs:439:5:447:5 | IfExpr | | -| variables.rs:444:9:444:9 | x | variables.rs:444:13:444:13 | 3 | | -| variables.rs:444:9:444:13 | ... = ... | variables.rs:445:9:445:21 | ExprStmt | | -| variables.rs:444:9:444:14 | ExprStmt | variables.rs:444:9:444:9 | x | | -| variables.rs:444:13:444:13 | 3 | variables.rs:444:9:444:13 | ... = ... | | -| variables.rs:445:9:445:17 | PathExpr | variables.rs:445:19:445:19 | x | | -| variables.rs:445:9:445:20 | CallExpr | variables.rs:446:9:446:25 | ExprStmt | | -| variables.rs:445:9:445:21 | ExprStmt | variables.rs:445:9:445:17 | PathExpr | | -| variables.rs:445:19:445:19 | x | variables.rs:445:9:445:20 | CallExpr | | -| variables.rs:446:9:446:17 | PathExpr | variables.rs:446:19:446:19 | x | | -| variables.rs:446:9:446:24 | CallExpr | variables.rs:443:12:447:5 | BlockExpr | | -| variables.rs:446:9:446:25 | ExprStmt | variables.rs:446:9:446:17 | PathExpr | | -| variables.rs:446:19:446:19 | x | variables.rs:446:23:446:23 | 1 | | -| variables.rs:446:19:446:23 | ... + ... | variables.rs:446:9:446:24 | CallExpr | | -| variables.rs:446:23:446:23 | 1 | variables.rs:446:19:446:23 | ... + ... | | +| variables.rs:435:1:443:1 | enter async_block_capture | variables.rs:436:5:436:23 | LetStmt | | +| variables.rs:435:1:443:1 | exit async_block_capture (normal) | variables.rs:435:1:443:1 | exit async_block_capture | | +| variables.rs:435:32:443:1 | BlockExpr | variables.rs:435:1:443:1 | exit async_block_capture (normal) | | +| variables.rs:436:5:436:23 | LetStmt | variables.rs:436:22:436:22 | 0 | | +| variables.rs:436:9:436:13 | i | variables.rs:437:5:439:6 | LetStmt | match | +| variables.rs:436:22:436:22 | 0 | variables.rs:436:9:436:13 | i | | +| variables.rs:437:5:439:6 | LetStmt | variables.rs:437:17:439:5 | BlockExpr | | +| variables.rs:437:9:437:13 | block | variables.rs:441:5:441:16 | ExprStmt | match | +| variables.rs:437:17:439:5 | BlockExpr | variables.rs:437:9:437:13 | block | | +| variables.rs:437:17:439:5 | enter BlockExpr | variables.rs:438:9:438:14 | ExprStmt | | +| variables.rs:437:17:439:5 | exit BlockExpr (normal) | variables.rs:437:17:439:5 | exit BlockExpr | | +| variables.rs:438:9:438:9 | i | variables.rs:438:13:438:13 | 1 | | +| variables.rs:438:9:438:13 | ... = ... | variables.rs:437:17:439:5 | exit BlockExpr (normal) | | +| variables.rs:438:9:438:14 | ExprStmt | variables.rs:438:9:438:9 | i | | +| variables.rs:438:13:438:13 | 1 | variables.rs:438:9:438:13 | ... = ... | | +| variables.rs:441:5:441:9 | block | variables.rs:441:5:441:15 | AwaitExpr | | +| variables.rs:441:5:441:15 | AwaitExpr | variables.rs:442:5:442:17 | ExprStmt | | +| variables.rs:441:5:441:16 | ExprStmt | variables.rs:441:5:441:9 | block | | +| variables.rs:442:5:442:13 | PathExpr | variables.rs:442:15:442:15 | i | | +| variables.rs:442:5:442:16 | CallExpr | variables.rs:435:32:443:1 | BlockExpr | | +| variables.rs:442:5:442:17 | ExprStmt | variables.rs:442:5:442:13 | PathExpr | | +| variables.rs:442:15:442:15 | i | variables.rs:442:5:442:16 | CallExpr | | +| variables.rs:445:1:459:1 | enter phi | variables.rs:445:8:445:8 | b | | +| variables.rs:445:1:459:1 | exit phi (normal) | variables.rs:445:1:459:1 | exit phi | | +| variables.rs:445:8:445:8 | b | variables.rs:445:8:445:15 | Param | match | +| variables.rs:445:8:445:15 | Param | variables.rs:446:5:446:18 | LetStmt | | +| variables.rs:445:18:459:1 | BlockExpr | variables.rs:445:1:459:1 | exit phi (normal) | | +| variables.rs:446:5:446:18 | LetStmt | variables.rs:446:17:446:17 | 1 | | +| variables.rs:446:9:446:13 | x | variables.rs:447:5:447:17 | ExprStmt | match | +| variables.rs:446:17:446:17 | 1 | variables.rs:446:9:446:13 | x | | +| variables.rs:447:5:447:13 | PathExpr | variables.rs:447:15:447:15 | x | | +| variables.rs:447:5:447:16 | CallExpr | variables.rs:448:5:448:21 | ExprStmt | | +| variables.rs:447:5:447:17 | ExprStmt | variables.rs:447:5:447:13 | PathExpr | | +| variables.rs:447:15:447:15 | x | variables.rs:447:5:447:16 | CallExpr | | | variables.rs:448:5:448:13 | PathExpr | variables.rs:448:15:448:15 | x | | -| variables.rs:448:5:448:16 | CallExpr | variables.rs:435:18:449:1 | BlockExpr | | -| variables.rs:448:5:448:17 | ExprStmt | variables.rs:448:5:448:13 | PathExpr | | -| variables.rs:448:15:448:15 | x | variables.rs:448:5:448:16 | CallExpr | | -| variables.rs:451:1:464:1 | enter phi_read | variables.rs:451:13:451:14 | b1 | | -| variables.rs:451:1:464:1 | exit phi_read (normal) | variables.rs:451:1:464:1 | exit phi_read | | -| variables.rs:451:13:451:14 | b1 | variables.rs:451:13:451:21 | Param | match | -| variables.rs:451:13:451:21 | Param | variables.rs:451:24:451:25 | b2 | | -| variables.rs:451:24:451:25 | b2 | variables.rs:451:24:451:32 | Param | match | -| variables.rs:451:24:451:32 | Param | variables.rs:452:5:452:14 | LetStmt | | -| variables.rs:451:35:464:1 | BlockExpr | variables.rs:451:1:464:1 | exit phi_read (normal) | | -| variables.rs:452:5:452:14 | LetStmt | variables.rs:452:13:452:13 | 1 | | -| variables.rs:452:9:452:9 | x | variables.rs:453:5:457:5 | ExprStmt | match | -| variables.rs:452:13:452:13 | 1 | variables.rs:452:9:452:9 | x | | -| variables.rs:453:5:457:5 | ExprStmt | variables.rs:453:8:453:9 | b1 | | -| variables.rs:453:5:457:5 | IfExpr | variables.rs:459:8:459:9 | b2 | | -| variables.rs:453:8:453:9 | b1 | variables.rs:454:9:454:21 | ExprStmt | true | -| variables.rs:453:8:453:9 | b1 | variables.rs:456:9:456:21 | ExprStmt | false | -| variables.rs:453:11:455:5 | BlockExpr | variables.rs:453:5:457:5 | IfExpr | | -| variables.rs:454:9:454:17 | PathExpr | variables.rs:454:19:454:19 | x | | -| variables.rs:454:9:454:20 | CallExpr | variables.rs:453:11:455:5 | BlockExpr | | -| variables.rs:454:9:454:21 | ExprStmt | variables.rs:454:9:454:17 | PathExpr | | -| variables.rs:454:19:454:19 | x | variables.rs:454:9:454:20 | CallExpr | | -| variables.rs:455:12:457:5 | BlockExpr | variables.rs:453:5:457:5 | IfExpr | | +| variables.rs:448:5:448:20 | CallExpr | variables.rs:449:5:457:5 | ExprStmt | | +| variables.rs:448:5:448:21 | ExprStmt | variables.rs:448:5:448:13 | PathExpr | | +| variables.rs:448:15:448:15 | x | variables.rs:448:19:448:19 | 1 | | +| variables.rs:448:15:448:19 | ... + ... | variables.rs:448:5:448:20 | CallExpr | | +| variables.rs:448:19:448:19 | 1 | variables.rs:448:15:448:19 | ... + ... | | +| variables.rs:449:5:457:5 | ExprStmt | variables.rs:449:8:449:8 | b | | +| variables.rs:449:5:457:5 | IfExpr | variables.rs:458:5:458:17 | ExprStmt | | +| variables.rs:449:8:449:8 | b | variables.rs:450:9:450:14 | ExprStmt | true | +| variables.rs:449:8:449:8 | b | variables.rs:454:9:454:14 | ExprStmt | false | +| variables.rs:449:10:453:5 | BlockExpr | variables.rs:449:5:457:5 | IfExpr | | +| variables.rs:450:9:450:9 | x | variables.rs:450:13:450:13 | 2 | | +| variables.rs:450:9:450:13 | ... = ... | variables.rs:451:9:451:21 | ExprStmt | | +| variables.rs:450:9:450:14 | ExprStmt | variables.rs:450:9:450:9 | x | | +| variables.rs:450:13:450:13 | 2 | variables.rs:450:9:450:13 | ... = ... | | +| variables.rs:451:9:451:17 | PathExpr | variables.rs:451:19:451:19 | x | | +| variables.rs:451:9:451:20 | CallExpr | variables.rs:452:9:452:25 | ExprStmt | | +| variables.rs:451:9:451:21 | ExprStmt | variables.rs:451:9:451:17 | PathExpr | | +| variables.rs:451:19:451:19 | x | variables.rs:451:9:451:20 | CallExpr | | +| variables.rs:452:9:452:17 | PathExpr | variables.rs:452:19:452:19 | x | | +| variables.rs:452:9:452:24 | CallExpr | variables.rs:449:10:453:5 | BlockExpr | | +| variables.rs:452:9:452:25 | ExprStmt | variables.rs:452:9:452:17 | PathExpr | | +| variables.rs:452:19:452:19 | x | variables.rs:452:23:452:23 | 1 | | +| variables.rs:452:19:452:23 | ... + ... | variables.rs:452:9:452:24 | CallExpr | | +| variables.rs:452:23:452:23 | 1 | variables.rs:452:19:452:23 | ... + ... | | +| variables.rs:453:12:457:5 | BlockExpr | variables.rs:449:5:457:5 | IfExpr | | +| variables.rs:454:9:454:9 | x | variables.rs:454:13:454:13 | 3 | | +| variables.rs:454:9:454:13 | ... = ... | variables.rs:455:9:455:21 | ExprStmt | | +| variables.rs:454:9:454:14 | ExprStmt | variables.rs:454:9:454:9 | x | | +| variables.rs:454:13:454:13 | 3 | variables.rs:454:9:454:13 | ... = ... | | +| variables.rs:455:9:455:17 | PathExpr | variables.rs:455:19:455:19 | x | | +| variables.rs:455:9:455:20 | CallExpr | variables.rs:456:9:456:25 | ExprStmt | | +| variables.rs:455:9:455:21 | ExprStmt | variables.rs:455:9:455:17 | PathExpr | | +| variables.rs:455:19:455:19 | x | variables.rs:455:9:455:20 | CallExpr | | | variables.rs:456:9:456:17 | PathExpr | variables.rs:456:19:456:19 | x | | -| variables.rs:456:9:456:20 | CallExpr | variables.rs:455:12:457:5 | BlockExpr | | -| variables.rs:456:9:456:21 | ExprStmt | variables.rs:456:9:456:17 | PathExpr | | -| variables.rs:456:19:456:19 | x | variables.rs:456:9:456:20 | CallExpr | | -| variables.rs:459:5:463:5 | IfExpr | variables.rs:451:35:464:1 | BlockExpr | | -| variables.rs:459:8:459:9 | b2 | variables.rs:460:9:460:21 | ExprStmt | true | -| variables.rs:459:8:459:9 | b2 | variables.rs:462:9:462:21 | ExprStmt | false | -| variables.rs:459:11:461:5 | BlockExpr | variables.rs:459:5:463:5 | IfExpr | | -| variables.rs:460:9:460:17 | PathExpr | variables.rs:460:19:460:19 | x | | -| variables.rs:460:9:460:20 | CallExpr | variables.rs:459:11:461:5 | BlockExpr | | -| variables.rs:460:9:460:21 | ExprStmt | variables.rs:460:9:460:17 | PathExpr | | -| variables.rs:460:19:460:19 | x | variables.rs:460:9:460:20 | CallExpr | | -| variables.rs:461:12:463:5 | BlockExpr | variables.rs:459:5:463:5 | IfExpr | | -| variables.rs:462:9:462:17 | PathExpr | variables.rs:462:19:462:19 | x | | -| variables.rs:462:9:462:20 | CallExpr | variables.rs:461:12:463:5 | BlockExpr | | -| variables.rs:462:9:462:21 | ExprStmt | variables.rs:462:9:462:17 | PathExpr | | -| variables.rs:462:19:462:19 | x | variables.rs:462:9:462:20 | CallExpr | | -| variables.rs:472:5:474:5 | enter my_get | variables.rs:473:9:473:24 | ExprStmt | | -| variables.rs:472:5:474:5 | exit my_get (normal) | variables.rs:472:5:474:5 | exit my_get | | -| variables.rs:473:9:473:23 | ReturnExpr | variables.rs:472:5:474:5 | exit my_get (normal) | return | -| variables.rs:473:9:473:24 | ExprStmt | variables.rs:473:16:473:19 | PathExpr | | -| variables.rs:473:16:473:19 | PathExpr | variables.rs:473:16:473:23 | FieldExpr | | -| variables.rs:473:16:473:23 | FieldExpr | variables.rs:473:9:473:23 | ReturnExpr | | -| variables.rs:477:1:484:1 | enter structs | variables.rs:478:5:478:36 | LetStmt | | -| variables.rs:477:1:484:1 | exit structs (normal) | variables.rs:477:1:484:1 | exit structs | | -| variables.rs:477:14:484:1 | BlockExpr | variables.rs:477:1:484:1 | exit structs (normal) | | -| variables.rs:478:5:478:36 | LetStmt | variables.rs:478:33:478:33 | 1 | | -| variables.rs:478:9:478:13 | a | variables.rs:479:5:479:26 | ExprStmt | match | -| variables.rs:478:17:478:35 | RecordExpr | variables.rs:478:9:478:13 | a | | -| variables.rs:478:33:478:33 | 1 | variables.rs:478:17:478:35 | RecordExpr | | -| variables.rs:479:5:479:13 | PathExpr | variables.rs:479:15:479:15 | a | | -| variables.rs:479:5:479:25 | CallExpr | variables.rs:480:5:480:14 | ExprStmt | | -| variables.rs:479:5:479:26 | ExprStmt | variables.rs:479:5:479:13 | PathExpr | | -| variables.rs:479:15:479:15 | a | variables.rs:479:15:479:24 | ... .my_get(...) | | -| variables.rs:479:15:479:24 | ... .my_get(...) | variables.rs:479:5:479:25 | CallExpr | | -| variables.rs:480:5:480:5 | a | variables.rs:480:5:480:9 | FieldExpr | | -| variables.rs:480:5:480:9 | FieldExpr | variables.rs:480:13:480:13 | 5 | | -| variables.rs:480:5:480:13 | ... = ... | variables.rs:481:5:481:26 | ExprStmt | | -| variables.rs:480:5:480:14 | ExprStmt | variables.rs:480:5:480:5 | a | | -| variables.rs:480:13:480:13 | 5 | variables.rs:480:5:480:13 | ... = ... | | -| variables.rs:481:5:481:13 | PathExpr | variables.rs:481:15:481:15 | a | | -| variables.rs:481:5:481:25 | CallExpr | variables.rs:482:5:482:28 | ExprStmt | | -| variables.rs:481:5:481:26 | ExprStmt | variables.rs:481:5:481:13 | PathExpr | | -| variables.rs:481:15:481:15 | a | variables.rs:481:15:481:24 | ... .my_get(...) | | -| variables.rs:481:15:481:24 | ... .my_get(...) | variables.rs:481:5:481:25 | CallExpr | | -| variables.rs:482:5:482:5 | a | variables.rs:482:25:482:25 | 2 | | -| variables.rs:482:5:482:27 | ... = ... | variables.rs:483:5:483:26 | ExprStmt | | -| variables.rs:482:5:482:28 | ExprStmt | variables.rs:482:5:482:5 | a | | -| variables.rs:482:9:482:27 | RecordExpr | variables.rs:482:5:482:27 | ... = ... | | -| variables.rs:482:25:482:25 | 2 | variables.rs:482:9:482:27 | RecordExpr | | -| variables.rs:483:5:483:13 | PathExpr | variables.rs:483:15:483:15 | a | | -| variables.rs:483:5:483:25 | CallExpr | variables.rs:477:14:484:1 | BlockExpr | | -| variables.rs:483:5:483:26 | ExprStmt | variables.rs:483:5:483:13 | PathExpr | | -| variables.rs:483:15:483:15 | a | variables.rs:483:15:483:24 | ... .my_get(...) | | -| variables.rs:483:15:483:24 | ... .my_get(...) | variables.rs:483:5:483:25 | CallExpr | | -| variables.rs:486:1:493:1 | enter ref_arg | variables.rs:487:5:487:15 | LetStmt | | -| variables.rs:486:1:493:1 | exit ref_arg (normal) | variables.rs:486:1:493:1 | exit ref_arg | | -| variables.rs:486:14:493:1 | BlockExpr | variables.rs:486:1:493:1 | exit ref_arg (normal) | | -| variables.rs:487:5:487:15 | LetStmt | variables.rs:487:13:487:14 | 16 | | -| variables.rs:487:9:487:9 | x | variables.rs:488:5:488:22 | ExprStmt | match | -| variables.rs:487:13:487:14 | 16 | variables.rs:487:9:487:9 | x | | -| variables.rs:488:5:488:17 | PathExpr | variables.rs:488:20:488:20 | x | | -| variables.rs:488:5:488:21 | CallExpr | variables.rs:489:5:489:17 | ExprStmt | | -| variables.rs:488:5:488:22 | ExprStmt | variables.rs:488:5:488:17 | PathExpr | | -| variables.rs:488:19:488:20 | RefExpr | variables.rs:488:5:488:21 | CallExpr | | -| variables.rs:488:20:488:20 | x | variables.rs:488:19:488:20 | RefExpr | | -| variables.rs:489:5:489:13 | PathExpr | variables.rs:489:15:489:15 | x | | -| variables.rs:489:5:489:16 | CallExpr | variables.rs:491:5:491:15 | LetStmt | | -| variables.rs:489:5:489:17 | ExprStmt | variables.rs:489:5:489:13 | PathExpr | | -| variables.rs:489:15:489:15 | x | variables.rs:489:5:489:16 | CallExpr | | -| variables.rs:491:5:491:15 | LetStmt | variables.rs:491:13:491:14 | 17 | | -| variables.rs:491:9:491:9 | z | variables.rs:492:5:492:22 | ExprStmt | match | -| variables.rs:491:13:491:14 | 17 | variables.rs:491:9:491:9 | z | | -| variables.rs:492:5:492:17 | PathExpr | variables.rs:492:20:492:20 | z | | -| variables.rs:492:5:492:21 | CallExpr | variables.rs:486:14:493:1 | BlockExpr | | -| variables.rs:492:5:492:22 | ExprStmt | variables.rs:492:5:492:17 | PathExpr | | -| variables.rs:492:19:492:20 | RefExpr | variables.rs:492:5:492:21 | CallExpr | | -| variables.rs:492:20:492:20 | z | variables.rs:492:19:492:20 | RefExpr | | -| variables.rs:500:3:502:3 | enter bar | variables.rs:501:5:501:32 | ExprStmt | | -| variables.rs:500:3:502:3 | exit bar (normal) | variables.rs:500:3:502:3 | exit bar | | -| variables.rs:500:21:502:3 | BlockExpr | variables.rs:500:3:502:3 | exit bar (normal) | | -| variables.rs:501:5:501:9 | * ... | variables.rs:501:29:501:29 | 3 | | -| variables.rs:501:5:501:31 | ... = ... | variables.rs:500:21:502:3 | BlockExpr | | -| variables.rs:501:5:501:32 | ExprStmt | variables.rs:501:6:501:9 | PathExpr | | -| variables.rs:501:6:501:9 | PathExpr | variables.rs:501:5:501:9 | * ... | | -| variables.rs:501:13:501:31 | RecordExpr | variables.rs:501:5:501:31 | ... = ... | | -| variables.rs:501:29:501:29 | 3 | variables.rs:501:13:501:31 | RecordExpr | | -| variables.rs:505:1:510:1 | enter ref_methodcall_receiver | variables.rs:506:3:506:34 | LetStmt | | -| variables.rs:505:1:510:1 | exit ref_methodcall_receiver (normal) | variables.rs:505:1:510:1 | exit ref_methodcall_receiver | | -| variables.rs:505:30:510:1 | BlockExpr | variables.rs:505:1:510:1 | exit ref_methodcall_receiver (normal) | | -| variables.rs:506:3:506:34 | LetStmt | variables.rs:506:31:506:31 | 1 | | -| variables.rs:506:7:506:11 | a | variables.rs:507:3:507:10 | ExprStmt | match | -| variables.rs:506:15:506:33 | RecordExpr | variables.rs:506:7:506:11 | a | | -| variables.rs:506:31:506:31 | 1 | variables.rs:506:15:506:33 | RecordExpr | | -| variables.rs:507:3:507:3 | a | variables.rs:507:3:507:9 | ... .bar(...) | | -| variables.rs:507:3:507:9 | ... .bar(...) | variables.rs:509:3:509:19 | ExprStmt | | -| variables.rs:507:3:507:10 | ExprStmt | variables.rs:507:3:507:3 | a | | -| variables.rs:509:3:509:11 | PathExpr | variables.rs:509:13:509:13 | a | | -| variables.rs:509:3:509:18 | CallExpr | variables.rs:505:30:510:1 | BlockExpr | | -| variables.rs:509:3:509:19 | ExprStmt | variables.rs:509:3:509:11 | PathExpr | | -| variables.rs:509:13:509:13 | a | variables.rs:509:13:509:17 | FieldExpr | | -| variables.rs:509:13:509:17 | FieldExpr | variables.rs:509:3:509:18 | CallExpr | | -| variables.rs:512:1:545:1 | enter main | variables.rs:513:5:513:25 | ExprStmt | | -| variables.rs:512:1:545:1 | exit main (normal) | variables.rs:512:1:545:1 | exit main | | -| variables.rs:512:11:545:1 | BlockExpr | variables.rs:512:1:545:1 | exit main (normal) | | -| variables.rs:513:5:513:22 | PathExpr | variables.rs:513:5:513:24 | CallExpr | | -| variables.rs:513:5:513:24 | CallExpr | variables.rs:514:5:514:23 | ExprStmt | | -| variables.rs:513:5:513:25 | ExprStmt | variables.rs:513:5:513:22 | PathExpr | | -| variables.rs:514:5:514:20 | PathExpr | variables.rs:514:5:514:22 | CallExpr | | -| variables.rs:514:5:514:22 | CallExpr | variables.rs:515:5:515:40 | ExprStmt | | -| variables.rs:514:5:514:23 | ExprStmt | variables.rs:514:5:514:20 | PathExpr | | -| variables.rs:515:5:515:37 | PathExpr | variables.rs:515:5:515:39 | CallExpr | | -| variables.rs:515:5:515:39 | CallExpr | variables.rs:516:5:516:23 | ExprStmt | | -| variables.rs:515:5:515:40 | ExprStmt | variables.rs:515:5:515:37 | PathExpr | | -| variables.rs:516:5:516:20 | PathExpr | variables.rs:516:5:516:22 | CallExpr | | -| variables.rs:516:5:516:22 | CallExpr | variables.rs:517:5:517:23 | ExprStmt | | -| variables.rs:516:5:516:23 | ExprStmt | variables.rs:516:5:516:20 | PathExpr | | -| variables.rs:517:5:517:20 | PathExpr | variables.rs:517:5:517:22 | CallExpr | | -| variables.rs:517:5:517:22 | CallExpr | variables.rs:518:5:518:19 | ExprStmt | | -| variables.rs:517:5:517:23 | ExprStmt | variables.rs:517:5:517:20 | PathExpr | | -| variables.rs:518:5:518:16 | PathExpr | variables.rs:518:5:518:18 | CallExpr | | -| variables.rs:518:5:518:18 | CallExpr | variables.rs:519:5:519:19 | ExprStmt | | -| variables.rs:518:5:518:19 | ExprStmt | variables.rs:518:5:518:16 | PathExpr | | -| variables.rs:519:5:519:16 | PathExpr | variables.rs:519:5:519:18 | CallExpr | | -| variables.rs:519:5:519:18 | CallExpr | variables.rs:520:5:520:19 | ExprStmt | | -| variables.rs:519:5:519:19 | ExprStmt | variables.rs:519:5:519:16 | PathExpr | | -| variables.rs:520:5:520:16 | PathExpr | variables.rs:520:5:520:18 | CallExpr | | -| variables.rs:520:5:520:18 | CallExpr | variables.rs:521:5:521:19 | ExprStmt | | -| variables.rs:520:5:520:19 | ExprStmt | variables.rs:520:5:520:16 | PathExpr | | -| variables.rs:521:5:521:16 | PathExpr | variables.rs:521:5:521:18 | CallExpr | | -| variables.rs:521:5:521:18 | CallExpr | variables.rs:522:5:522:21 | ExprStmt | | -| variables.rs:521:5:521:19 | ExprStmt | variables.rs:521:5:521:16 | PathExpr | | -| variables.rs:522:5:522:18 | PathExpr | variables.rs:522:5:522:20 | CallExpr | | -| variables.rs:522:5:522:20 | CallExpr | variables.rs:523:5:523:21 | ExprStmt | | -| variables.rs:522:5:522:21 | ExprStmt | variables.rs:522:5:522:18 | PathExpr | | -| variables.rs:523:5:523:18 | PathExpr | variables.rs:523:5:523:20 | CallExpr | | -| variables.rs:523:5:523:20 | CallExpr | variables.rs:524:5:524:21 | ExprStmt | | -| variables.rs:523:5:523:21 | ExprStmt | variables.rs:523:5:523:18 | PathExpr | | -| variables.rs:524:5:524:18 | PathExpr | variables.rs:524:5:524:20 | CallExpr | | -| variables.rs:524:5:524:20 | CallExpr | variables.rs:525:5:525:21 | ExprStmt | | -| variables.rs:524:5:524:21 | ExprStmt | variables.rs:524:5:524:18 | PathExpr | | -| variables.rs:525:5:525:18 | PathExpr | variables.rs:525:5:525:20 | CallExpr | | -| variables.rs:525:5:525:20 | CallExpr | variables.rs:526:5:526:21 | ExprStmt | | -| variables.rs:525:5:525:21 | ExprStmt | variables.rs:525:5:525:18 | PathExpr | | -| variables.rs:526:5:526:18 | PathExpr | variables.rs:526:5:526:20 | CallExpr | | -| variables.rs:526:5:526:20 | CallExpr | variables.rs:527:5:527:21 | ExprStmt | | -| variables.rs:526:5:526:21 | ExprStmt | variables.rs:526:5:526:18 | PathExpr | | -| variables.rs:527:5:527:18 | PathExpr | variables.rs:527:5:527:20 | CallExpr | | -| variables.rs:527:5:527:20 | CallExpr | variables.rs:528:5:528:21 | ExprStmt | | -| variables.rs:527:5:527:21 | ExprStmt | variables.rs:527:5:527:18 | PathExpr | | -| variables.rs:528:5:528:18 | PathExpr | variables.rs:528:5:528:20 | CallExpr | | -| variables.rs:528:5:528:20 | CallExpr | variables.rs:529:5:529:21 | ExprStmt | | -| variables.rs:528:5:528:21 | ExprStmt | variables.rs:528:5:528:18 | PathExpr | | -| variables.rs:529:5:529:18 | PathExpr | variables.rs:529:5:529:20 | CallExpr | | -| variables.rs:529:5:529:20 | CallExpr | variables.rs:530:5:530:21 | ExprStmt | | -| variables.rs:529:5:529:21 | ExprStmt | variables.rs:529:5:529:18 | PathExpr | | -| variables.rs:530:5:530:18 | PathExpr | variables.rs:530:5:530:20 | CallExpr | | -| variables.rs:530:5:530:20 | CallExpr | variables.rs:531:5:531:36 | ExprStmt | | -| variables.rs:530:5:530:21 | ExprStmt | variables.rs:530:5:530:18 | PathExpr | | -| variables.rs:531:5:531:18 | PathExpr | variables.rs:531:20:531:22 | "a" | | -| variables.rs:531:5:531:35 | CallExpr | variables.rs:532:5:532:37 | ExprStmt | | -| variables.rs:531:5:531:36 | ExprStmt | variables.rs:531:5:531:18 | PathExpr | | -| variables.rs:531:20:531:22 | "a" | variables.rs:531:26:531:28 | "b" | | -| variables.rs:531:25:531:34 | TupleExpr | variables.rs:531:5:531:35 | CallExpr | | -| variables.rs:531:26:531:28 | "b" | variables.rs:531:31:531:33 | "c" | | -| variables.rs:531:31:531:33 | "c" | variables.rs:531:25:531:34 | TupleExpr | | -| variables.rs:532:5:532:18 | PathExpr | variables.rs:532:20:532:31 | PathExpr | | -| variables.rs:532:5:532:36 | CallExpr | variables.rs:533:5:533:26 | ExprStmt | | -| variables.rs:532:5:532:37 | ExprStmt | variables.rs:532:5:532:18 | PathExpr | | -| variables.rs:532:20:532:31 | PathExpr | variables.rs:532:33:532:34 | 45 | | -| variables.rs:532:20:532:35 | CallExpr | variables.rs:532:5:532:36 | CallExpr | | -| variables.rs:532:33:532:34 | 45 | variables.rs:532:20:532:35 | CallExpr | | -| variables.rs:533:5:533:23 | PathExpr | variables.rs:533:5:533:25 | CallExpr | | -| variables.rs:533:5:533:25 | CallExpr | variables.rs:534:5:534:23 | ExprStmt | | -| variables.rs:533:5:533:26 | ExprStmt | variables.rs:533:5:533:23 | PathExpr | | -| variables.rs:534:5:534:20 | PathExpr | variables.rs:534:5:534:22 | CallExpr | | -| variables.rs:534:5:534:22 | CallExpr | variables.rs:535:5:535:19 | ExprStmt | | -| variables.rs:534:5:534:23 | ExprStmt | variables.rs:534:5:534:20 | PathExpr | | -| variables.rs:535:5:535:16 | PathExpr | variables.rs:535:5:535:18 | CallExpr | | -| variables.rs:535:5:535:18 | CallExpr | variables.rs:536:5:536:17 | ExprStmt | | -| variables.rs:535:5:535:19 | ExprStmt | variables.rs:535:5:535:16 | PathExpr | | -| variables.rs:536:5:536:14 | PathExpr | variables.rs:536:5:536:16 | CallExpr | | -| variables.rs:536:5:536:16 | CallExpr | variables.rs:537:5:537:13 | ExprStmt | | -| variables.rs:536:5:536:17 | ExprStmt | variables.rs:536:5:536:14 | PathExpr | | -| variables.rs:537:5:537:10 | PathExpr | variables.rs:537:5:537:12 | CallExpr | | -| variables.rs:537:5:537:12 | CallExpr | variables.rs:538:5:538:17 | ExprStmt | | -| variables.rs:537:5:537:13 | ExprStmt | variables.rs:537:5:537:10 | PathExpr | | -| variables.rs:538:5:538:14 | PathExpr | variables.rs:538:5:538:16 | CallExpr | | -| variables.rs:538:5:538:16 | CallExpr | variables.rs:539:5:539:12 | ExprStmt | | -| variables.rs:538:5:538:17 | ExprStmt | variables.rs:538:5:538:14 | PathExpr | | -| variables.rs:539:5:539:9 | PathExpr | variables.rs:539:5:539:11 | CallExpr | | -| variables.rs:539:5:539:11 | CallExpr | variables.rs:540:5:540:18 | ExprStmt | | -| variables.rs:539:5:539:12 | ExprStmt | variables.rs:539:5:539:9 | PathExpr | | -| variables.rs:540:5:540:15 | PathExpr | variables.rs:540:5:540:17 | CallExpr | | -| variables.rs:540:5:540:17 | CallExpr | variables.rs:541:5:541:20 | ExprStmt | | -| variables.rs:540:5:540:18 | ExprStmt | variables.rs:540:5:540:15 | PathExpr | | -| variables.rs:541:5:541:17 | PathExpr | variables.rs:541:5:541:19 | CallExpr | | -| variables.rs:541:5:541:19 | CallExpr | variables.rs:542:5:542:14 | ExprStmt | | -| variables.rs:541:5:541:20 | ExprStmt | variables.rs:541:5:541:17 | PathExpr | | -| variables.rs:542:5:542:11 | PathExpr | variables.rs:542:5:542:13 | CallExpr | | -| variables.rs:542:5:542:13 | CallExpr | variables.rs:543:5:543:14 | ExprStmt | | -| variables.rs:542:5:542:14 | ExprStmt | variables.rs:542:5:542:11 | PathExpr | | -| variables.rs:543:5:543:11 | PathExpr | variables.rs:543:5:543:13 | CallExpr | | -| variables.rs:543:5:543:13 | CallExpr | variables.rs:544:5:544:30 | ExprStmt | | -| variables.rs:543:5:543:14 | ExprStmt | variables.rs:543:5:543:11 | PathExpr | | -| variables.rs:544:5:544:27 | PathExpr | variables.rs:544:5:544:29 | CallExpr | | -| variables.rs:544:5:544:29 | CallExpr | variables.rs:512:11:545:1 | BlockExpr | | -| variables.rs:544:5:544:30 | ExprStmt | variables.rs:544:5:544:27 | PathExpr | | +| variables.rs:456:9:456:24 | CallExpr | variables.rs:453:12:457:5 | BlockExpr | | +| variables.rs:456:9:456:25 | ExprStmt | variables.rs:456:9:456:17 | PathExpr | | +| variables.rs:456:19:456:19 | x | variables.rs:456:23:456:23 | 1 | | +| variables.rs:456:19:456:23 | ... + ... | variables.rs:456:9:456:24 | CallExpr | | +| variables.rs:456:23:456:23 | 1 | variables.rs:456:19:456:23 | ... + ... | | +| variables.rs:458:5:458:13 | PathExpr | variables.rs:458:15:458:15 | x | | +| variables.rs:458:5:458:16 | CallExpr | variables.rs:445:18:459:1 | BlockExpr | | +| variables.rs:458:5:458:17 | ExprStmt | variables.rs:458:5:458:13 | PathExpr | | +| variables.rs:458:15:458:15 | x | variables.rs:458:5:458:16 | CallExpr | | +| variables.rs:461:1:474:1 | enter phi_read | variables.rs:461:13:461:14 | b1 | | +| variables.rs:461:1:474:1 | exit phi_read (normal) | variables.rs:461:1:474:1 | exit phi_read | | +| variables.rs:461:13:461:14 | b1 | variables.rs:461:13:461:21 | Param | match | +| variables.rs:461:13:461:21 | Param | variables.rs:461:24:461:25 | b2 | | +| variables.rs:461:24:461:25 | b2 | variables.rs:461:24:461:32 | Param | match | +| variables.rs:461:24:461:32 | Param | variables.rs:462:5:462:14 | LetStmt | | +| variables.rs:461:35:474:1 | BlockExpr | variables.rs:461:1:474:1 | exit phi_read (normal) | | +| variables.rs:462:5:462:14 | LetStmt | variables.rs:462:13:462:13 | 1 | | +| variables.rs:462:9:462:9 | x | variables.rs:463:5:467:5 | ExprStmt | match | +| variables.rs:462:13:462:13 | 1 | variables.rs:462:9:462:9 | x | | +| variables.rs:463:5:467:5 | ExprStmt | variables.rs:463:8:463:9 | b1 | | +| variables.rs:463:5:467:5 | IfExpr | variables.rs:469:8:469:9 | b2 | | +| variables.rs:463:8:463:9 | b1 | variables.rs:464:9:464:21 | ExprStmt | true | +| variables.rs:463:8:463:9 | b1 | variables.rs:466:9:466:21 | ExprStmt | false | +| variables.rs:463:11:465:5 | BlockExpr | variables.rs:463:5:467:5 | IfExpr | | +| variables.rs:464:9:464:17 | PathExpr | variables.rs:464:19:464:19 | x | | +| variables.rs:464:9:464:20 | CallExpr | variables.rs:463:11:465:5 | BlockExpr | | +| variables.rs:464:9:464:21 | ExprStmt | variables.rs:464:9:464:17 | PathExpr | | +| variables.rs:464:19:464:19 | x | variables.rs:464:9:464:20 | CallExpr | | +| variables.rs:465:12:467:5 | BlockExpr | variables.rs:463:5:467:5 | IfExpr | | +| variables.rs:466:9:466:17 | PathExpr | variables.rs:466:19:466:19 | x | | +| variables.rs:466:9:466:20 | CallExpr | variables.rs:465:12:467:5 | BlockExpr | | +| variables.rs:466:9:466:21 | ExprStmt | variables.rs:466:9:466:17 | PathExpr | | +| variables.rs:466:19:466:19 | x | variables.rs:466:9:466:20 | CallExpr | | +| variables.rs:469:5:473:5 | IfExpr | variables.rs:461:35:474:1 | BlockExpr | | +| variables.rs:469:8:469:9 | b2 | variables.rs:470:9:470:21 | ExprStmt | true | +| variables.rs:469:8:469:9 | b2 | variables.rs:472:9:472:21 | ExprStmt | false | +| variables.rs:469:11:471:5 | BlockExpr | variables.rs:469:5:473:5 | IfExpr | | +| variables.rs:470:9:470:17 | PathExpr | variables.rs:470:19:470:19 | x | | +| variables.rs:470:9:470:20 | CallExpr | variables.rs:469:11:471:5 | BlockExpr | | +| variables.rs:470:9:470:21 | ExprStmt | variables.rs:470:9:470:17 | PathExpr | | +| variables.rs:470:19:470:19 | x | variables.rs:470:9:470:20 | CallExpr | | +| variables.rs:471:12:473:5 | BlockExpr | variables.rs:469:5:473:5 | IfExpr | | +| variables.rs:472:9:472:17 | PathExpr | variables.rs:472:19:472:19 | x | | +| variables.rs:472:9:472:20 | CallExpr | variables.rs:471:12:473:5 | BlockExpr | | +| variables.rs:472:9:472:21 | ExprStmt | variables.rs:472:9:472:17 | PathExpr | | +| variables.rs:472:19:472:19 | x | variables.rs:472:9:472:20 | CallExpr | | +| variables.rs:482:5:484:5 | enter my_get | variables.rs:483:9:483:24 | ExprStmt | | +| variables.rs:482:5:484:5 | exit my_get (normal) | variables.rs:482:5:484:5 | exit my_get | | +| variables.rs:483:9:483:23 | ReturnExpr | variables.rs:482:5:484:5 | exit my_get (normal) | return | +| variables.rs:483:9:483:24 | ExprStmt | variables.rs:483:16:483:19 | PathExpr | | +| variables.rs:483:16:483:19 | PathExpr | variables.rs:483:16:483:23 | FieldExpr | | +| variables.rs:483:16:483:23 | FieldExpr | variables.rs:483:9:483:23 | ReturnExpr | | +| variables.rs:487:1:494:1 | enter structs | variables.rs:488:5:488:36 | LetStmt | | +| variables.rs:487:1:494:1 | exit structs (normal) | variables.rs:487:1:494:1 | exit structs | | +| variables.rs:487:14:494:1 | BlockExpr | variables.rs:487:1:494:1 | exit structs (normal) | | +| variables.rs:488:5:488:36 | LetStmt | variables.rs:488:33:488:33 | 1 | | +| variables.rs:488:9:488:13 | a | variables.rs:489:5:489:26 | ExprStmt | match | +| variables.rs:488:17:488:35 | RecordExpr | variables.rs:488:9:488:13 | a | | +| variables.rs:488:33:488:33 | 1 | variables.rs:488:17:488:35 | RecordExpr | | +| variables.rs:489:5:489:13 | PathExpr | variables.rs:489:15:489:15 | a | | +| variables.rs:489:5:489:25 | CallExpr | variables.rs:490:5:490:14 | ExprStmt | | +| variables.rs:489:5:489:26 | ExprStmt | variables.rs:489:5:489:13 | PathExpr | | +| variables.rs:489:15:489:15 | a | variables.rs:489:15:489:24 | ... .my_get(...) | | +| variables.rs:489:15:489:24 | ... .my_get(...) | variables.rs:489:5:489:25 | CallExpr | | +| variables.rs:490:5:490:5 | a | variables.rs:490:5:490:9 | FieldExpr | | +| variables.rs:490:5:490:9 | FieldExpr | variables.rs:490:13:490:13 | 5 | | +| variables.rs:490:5:490:13 | ... = ... | variables.rs:491:5:491:26 | ExprStmt | | +| variables.rs:490:5:490:14 | ExprStmt | variables.rs:490:5:490:5 | a | | +| variables.rs:490:13:490:13 | 5 | variables.rs:490:5:490:13 | ... = ... | | +| variables.rs:491:5:491:13 | PathExpr | variables.rs:491:15:491:15 | a | | +| variables.rs:491:5:491:25 | CallExpr | variables.rs:492:5:492:28 | ExprStmt | | +| variables.rs:491:5:491:26 | ExprStmt | variables.rs:491:5:491:13 | PathExpr | | +| variables.rs:491:15:491:15 | a | variables.rs:491:15:491:24 | ... .my_get(...) | | +| variables.rs:491:15:491:24 | ... .my_get(...) | variables.rs:491:5:491:25 | CallExpr | | +| variables.rs:492:5:492:5 | a | variables.rs:492:25:492:25 | 2 | | +| variables.rs:492:5:492:27 | ... = ... | variables.rs:493:5:493:26 | ExprStmt | | +| variables.rs:492:5:492:28 | ExprStmt | variables.rs:492:5:492:5 | a | | +| variables.rs:492:9:492:27 | RecordExpr | variables.rs:492:5:492:27 | ... = ... | | +| variables.rs:492:25:492:25 | 2 | variables.rs:492:9:492:27 | RecordExpr | | +| variables.rs:493:5:493:13 | PathExpr | variables.rs:493:15:493:15 | a | | +| variables.rs:493:5:493:25 | CallExpr | variables.rs:487:14:494:1 | BlockExpr | | +| variables.rs:493:5:493:26 | ExprStmt | variables.rs:493:5:493:13 | PathExpr | | +| variables.rs:493:15:493:15 | a | variables.rs:493:15:493:24 | ... .my_get(...) | | +| variables.rs:493:15:493:24 | ... .my_get(...) | variables.rs:493:5:493:25 | CallExpr | | +| variables.rs:496:1:503:1 | enter ref_arg | variables.rs:497:5:497:15 | LetStmt | | +| variables.rs:496:1:503:1 | exit ref_arg (normal) | variables.rs:496:1:503:1 | exit ref_arg | | +| variables.rs:496:14:503:1 | BlockExpr | variables.rs:496:1:503:1 | exit ref_arg (normal) | | +| variables.rs:497:5:497:15 | LetStmt | variables.rs:497:13:497:14 | 16 | | +| variables.rs:497:9:497:9 | x | variables.rs:498:5:498:22 | ExprStmt | match | +| variables.rs:497:13:497:14 | 16 | variables.rs:497:9:497:9 | x | | +| variables.rs:498:5:498:17 | PathExpr | variables.rs:498:20:498:20 | x | | +| variables.rs:498:5:498:21 | CallExpr | variables.rs:499:5:499:17 | ExprStmt | | +| variables.rs:498:5:498:22 | ExprStmt | variables.rs:498:5:498:17 | PathExpr | | +| variables.rs:498:19:498:20 | RefExpr | variables.rs:498:5:498:21 | CallExpr | | +| variables.rs:498:20:498:20 | x | variables.rs:498:19:498:20 | RefExpr | | +| variables.rs:499:5:499:13 | PathExpr | variables.rs:499:15:499:15 | x | | +| variables.rs:499:5:499:16 | CallExpr | variables.rs:501:5:501:15 | LetStmt | | +| variables.rs:499:5:499:17 | ExprStmt | variables.rs:499:5:499:13 | PathExpr | | +| variables.rs:499:15:499:15 | x | variables.rs:499:5:499:16 | CallExpr | | +| variables.rs:501:5:501:15 | LetStmt | variables.rs:501:13:501:14 | 17 | | +| variables.rs:501:9:501:9 | z | variables.rs:502:5:502:22 | ExprStmt | match | +| variables.rs:501:13:501:14 | 17 | variables.rs:501:9:501:9 | z | | +| variables.rs:502:5:502:17 | PathExpr | variables.rs:502:20:502:20 | z | | +| variables.rs:502:5:502:21 | CallExpr | variables.rs:496:14:503:1 | BlockExpr | | +| variables.rs:502:5:502:22 | ExprStmt | variables.rs:502:5:502:17 | PathExpr | | +| variables.rs:502:19:502:20 | RefExpr | variables.rs:502:5:502:21 | CallExpr | | +| variables.rs:502:20:502:20 | z | variables.rs:502:19:502:20 | RefExpr | | +| variables.rs:510:3:512:3 | enter bar | variables.rs:511:5:511:32 | ExprStmt | | +| variables.rs:510:3:512:3 | exit bar (normal) | variables.rs:510:3:512:3 | exit bar | | +| variables.rs:510:21:512:3 | BlockExpr | variables.rs:510:3:512:3 | exit bar (normal) | | +| variables.rs:511:5:511:9 | * ... | variables.rs:511:29:511:29 | 3 | | +| variables.rs:511:5:511:31 | ... = ... | variables.rs:510:21:512:3 | BlockExpr | | +| variables.rs:511:5:511:32 | ExprStmt | variables.rs:511:6:511:9 | PathExpr | | +| variables.rs:511:6:511:9 | PathExpr | variables.rs:511:5:511:9 | * ... | | +| variables.rs:511:13:511:31 | RecordExpr | variables.rs:511:5:511:31 | ... = ... | | +| variables.rs:511:29:511:29 | 3 | variables.rs:511:13:511:31 | RecordExpr | | +| variables.rs:515:1:520:1 | enter ref_methodcall_receiver | variables.rs:516:3:516:34 | LetStmt | | +| variables.rs:515:1:520:1 | exit ref_methodcall_receiver (normal) | variables.rs:515:1:520:1 | exit ref_methodcall_receiver | | +| variables.rs:515:30:520:1 | BlockExpr | variables.rs:515:1:520:1 | exit ref_methodcall_receiver (normal) | | +| variables.rs:516:3:516:34 | LetStmt | variables.rs:516:31:516:31 | 1 | | +| variables.rs:516:7:516:11 | a | variables.rs:517:3:517:10 | ExprStmt | match | +| variables.rs:516:15:516:33 | RecordExpr | variables.rs:516:7:516:11 | a | | +| variables.rs:516:31:516:31 | 1 | variables.rs:516:15:516:33 | RecordExpr | | +| variables.rs:517:3:517:3 | a | variables.rs:517:3:517:9 | ... .bar(...) | | +| variables.rs:517:3:517:9 | ... .bar(...) | variables.rs:519:3:519:19 | ExprStmt | | +| variables.rs:517:3:517:10 | ExprStmt | variables.rs:517:3:517:3 | a | | +| variables.rs:519:3:519:11 | PathExpr | variables.rs:519:13:519:13 | a | | +| variables.rs:519:3:519:18 | CallExpr | variables.rs:515:30:520:1 | BlockExpr | | +| variables.rs:519:3:519:19 | ExprStmt | variables.rs:519:3:519:11 | PathExpr | | +| variables.rs:519:13:519:13 | a | variables.rs:519:13:519:17 | FieldExpr | | +| variables.rs:519:13:519:17 | FieldExpr | variables.rs:519:3:519:18 | CallExpr | | +| variables.rs:522:1:556:1 | enter main | variables.rs:523:5:523:25 | ExprStmt | | +| variables.rs:522:1:556:1 | exit main (normal) | variables.rs:522:1:556:1 | exit main | | +| variables.rs:522:11:556:1 | BlockExpr | variables.rs:522:1:556:1 | exit main (normal) | | +| variables.rs:523:5:523:22 | PathExpr | variables.rs:523:5:523:24 | CallExpr | | +| variables.rs:523:5:523:24 | CallExpr | variables.rs:524:5:524:23 | ExprStmt | | +| variables.rs:523:5:523:25 | ExprStmt | variables.rs:523:5:523:22 | PathExpr | | +| variables.rs:524:5:524:20 | PathExpr | variables.rs:524:5:524:22 | CallExpr | | +| variables.rs:524:5:524:22 | CallExpr | variables.rs:525:5:525:40 | ExprStmt | | +| variables.rs:524:5:524:23 | ExprStmt | variables.rs:524:5:524:20 | PathExpr | | +| variables.rs:525:5:525:37 | PathExpr | variables.rs:525:5:525:39 | CallExpr | | +| variables.rs:525:5:525:39 | CallExpr | variables.rs:526:5:526:23 | ExprStmt | | +| variables.rs:525:5:525:40 | ExprStmt | variables.rs:525:5:525:37 | PathExpr | | +| variables.rs:526:5:526:20 | PathExpr | variables.rs:526:5:526:22 | CallExpr | | +| variables.rs:526:5:526:22 | CallExpr | variables.rs:527:5:527:23 | ExprStmt | | +| variables.rs:526:5:526:23 | ExprStmt | variables.rs:526:5:526:20 | PathExpr | | +| variables.rs:527:5:527:20 | PathExpr | variables.rs:527:5:527:22 | CallExpr | | +| variables.rs:527:5:527:22 | CallExpr | variables.rs:528:5:528:19 | ExprStmt | | +| variables.rs:527:5:527:23 | ExprStmt | variables.rs:527:5:527:20 | PathExpr | | +| variables.rs:528:5:528:16 | PathExpr | variables.rs:528:5:528:18 | CallExpr | | +| variables.rs:528:5:528:18 | CallExpr | variables.rs:529:5:529:19 | ExprStmt | | +| variables.rs:528:5:528:19 | ExprStmt | variables.rs:528:5:528:16 | PathExpr | | +| variables.rs:529:5:529:16 | PathExpr | variables.rs:529:5:529:18 | CallExpr | | +| variables.rs:529:5:529:18 | CallExpr | variables.rs:530:5:530:19 | ExprStmt | | +| variables.rs:529:5:529:19 | ExprStmt | variables.rs:529:5:529:16 | PathExpr | | +| variables.rs:530:5:530:16 | PathExpr | variables.rs:530:5:530:18 | CallExpr | | +| variables.rs:530:5:530:18 | CallExpr | variables.rs:531:5:531:19 | ExprStmt | | +| variables.rs:530:5:530:19 | ExprStmt | variables.rs:530:5:530:16 | PathExpr | | +| variables.rs:531:5:531:16 | PathExpr | variables.rs:531:5:531:18 | CallExpr | | +| variables.rs:531:5:531:18 | CallExpr | variables.rs:532:5:532:21 | ExprStmt | | +| variables.rs:531:5:531:19 | ExprStmt | variables.rs:531:5:531:16 | PathExpr | | +| variables.rs:532:5:532:18 | PathExpr | variables.rs:532:5:532:20 | CallExpr | | +| variables.rs:532:5:532:20 | CallExpr | variables.rs:533:5:533:21 | ExprStmt | | +| variables.rs:532:5:532:21 | ExprStmt | variables.rs:532:5:532:18 | PathExpr | | +| variables.rs:533:5:533:18 | PathExpr | variables.rs:533:5:533:20 | CallExpr | | +| variables.rs:533:5:533:20 | CallExpr | variables.rs:534:5:534:21 | ExprStmt | | +| variables.rs:533:5:533:21 | ExprStmt | variables.rs:533:5:533:18 | PathExpr | | +| variables.rs:534:5:534:18 | PathExpr | variables.rs:534:5:534:20 | CallExpr | | +| variables.rs:534:5:534:20 | CallExpr | variables.rs:535:5:535:21 | ExprStmt | | +| variables.rs:534:5:534:21 | ExprStmt | variables.rs:534:5:534:18 | PathExpr | | +| variables.rs:535:5:535:18 | PathExpr | variables.rs:535:5:535:20 | CallExpr | | +| variables.rs:535:5:535:20 | CallExpr | variables.rs:536:5:536:21 | ExprStmt | | +| variables.rs:535:5:535:21 | ExprStmt | variables.rs:535:5:535:18 | PathExpr | | +| variables.rs:536:5:536:18 | PathExpr | variables.rs:536:5:536:20 | CallExpr | | +| variables.rs:536:5:536:20 | CallExpr | variables.rs:537:5:537:21 | ExprStmt | | +| variables.rs:536:5:536:21 | ExprStmt | variables.rs:536:5:536:18 | PathExpr | | +| variables.rs:537:5:537:18 | PathExpr | variables.rs:537:5:537:20 | CallExpr | | +| variables.rs:537:5:537:20 | CallExpr | variables.rs:538:5:538:21 | ExprStmt | | +| variables.rs:537:5:537:21 | ExprStmt | variables.rs:537:5:537:18 | PathExpr | | +| variables.rs:538:5:538:18 | PathExpr | variables.rs:538:5:538:20 | CallExpr | | +| variables.rs:538:5:538:20 | CallExpr | variables.rs:539:5:539:21 | ExprStmt | | +| variables.rs:538:5:538:21 | ExprStmt | variables.rs:538:5:538:18 | PathExpr | | +| variables.rs:539:5:539:18 | PathExpr | variables.rs:539:5:539:20 | CallExpr | | +| variables.rs:539:5:539:20 | CallExpr | variables.rs:540:5:540:21 | ExprStmt | | +| variables.rs:539:5:539:21 | ExprStmt | variables.rs:539:5:539:18 | PathExpr | | +| variables.rs:540:5:540:18 | PathExpr | variables.rs:540:5:540:20 | CallExpr | | +| variables.rs:540:5:540:20 | CallExpr | variables.rs:541:5:541:36 | ExprStmt | | +| variables.rs:540:5:540:21 | ExprStmt | variables.rs:540:5:540:18 | PathExpr | | +| variables.rs:541:5:541:18 | PathExpr | variables.rs:541:20:541:22 | "a" | | +| variables.rs:541:5:541:35 | CallExpr | variables.rs:542:5:542:37 | ExprStmt | | +| variables.rs:541:5:541:36 | ExprStmt | variables.rs:541:5:541:18 | PathExpr | | +| variables.rs:541:20:541:22 | "a" | variables.rs:541:26:541:28 | "b" | | +| variables.rs:541:25:541:34 | TupleExpr | variables.rs:541:5:541:35 | CallExpr | | +| variables.rs:541:26:541:28 | "b" | variables.rs:541:31:541:33 | "c" | | +| variables.rs:541:31:541:33 | "c" | variables.rs:541:25:541:34 | TupleExpr | | +| variables.rs:542:5:542:18 | PathExpr | variables.rs:542:20:542:31 | PathExpr | | +| variables.rs:542:5:542:36 | CallExpr | variables.rs:543:5:543:26 | ExprStmt | | +| variables.rs:542:5:542:37 | ExprStmt | variables.rs:542:5:542:18 | PathExpr | | +| variables.rs:542:20:542:31 | PathExpr | variables.rs:542:33:542:34 | 45 | | +| variables.rs:542:20:542:35 | CallExpr | variables.rs:542:5:542:36 | CallExpr | | +| variables.rs:542:33:542:34 | 45 | variables.rs:542:20:542:35 | CallExpr | | +| variables.rs:543:5:543:23 | PathExpr | variables.rs:543:5:543:25 | CallExpr | | +| variables.rs:543:5:543:25 | CallExpr | variables.rs:544:5:544:23 | ExprStmt | | +| variables.rs:543:5:543:26 | ExprStmt | variables.rs:543:5:543:23 | PathExpr | | +| variables.rs:544:5:544:20 | PathExpr | variables.rs:544:5:544:22 | CallExpr | | +| variables.rs:544:5:544:22 | CallExpr | variables.rs:545:5:545:19 | ExprStmt | | +| variables.rs:544:5:544:23 | ExprStmt | variables.rs:544:5:544:20 | PathExpr | | +| variables.rs:545:5:545:16 | PathExpr | variables.rs:545:5:545:18 | CallExpr | | +| variables.rs:545:5:545:18 | CallExpr | variables.rs:546:5:546:17 | ExprStmt | | +| variables.rs:545:5:545:19 | ExprStmt | variables.rs:545:5:545:16 | PathExpr | | +| variables.rs:546:5:546:14 | PathExpr | variables.rs:546:5:546:16 | CallExpr | | +| variables.rs:546:5:546:16 | CallExpr | variables.rs:547:5:547:13 | ExprStmt | | +| variables.rs:546:5:546:17 | ExprStmt | variables.rs:546:5:546:14 | PathExpr | | +| variables.rs:547:5:547:10 | PathExpr | variables.rs:547:5:547:12 | CallExpr | | +| variables.rs:547:5:547:12 | CallExpr | variables.rs:548:5:548:17 | ExprStmt | | +| variables.rs:547:5:547:13 | ExprStmt | variables.rs:547:5:547:10 | PathExpr | | +| variables.rs:548:5:548:14 | PathExpr | variables.rs:548:5:548:16 | CallExpr | | +| variables.rs:548:5:548:16 | CallExpr | variables.rs:549:5:549:12 | ExprStmt | | +| variables.rs:548:5:548:17 | ExprStmt | variables.rs:548:5:548:14 | PathExpr | | +| variables.rs:549:5:549:9 | PathExpr | variables.rs:549:5:549:11 | CallExpr | | +| variables.rs:549:5:549:11 | CallExpr | variables.rs:550:5:550:18 | ExprStmt | | +| variables.rs:549:5:549:12 | ExprStmt | variables.rs:549:5:549:9 | PathExpr | | +| variables.rs:550:5:550:15 | PathExpr | variables.rs:550:5:550:17 | CallExpr | | +| variables.rs:550:5:550:17 | CallExpr | variables.rs:551:5:551:20 | ExprStmt | | +| variables.rs:550:5:550:18 | ExprStmt | variables.rs:550:5:550:15 | PathExpr | | +| variables.rs:551:5:551:17 | PathExpr | variables.rs:551:5:551:19 | CallExpr | | +| variables.rs:551:5:551:19 | CallExpr | variables.rs:552:5:552:26 | ExprStmt | | +| variables.rs:551:5:551:20 | ExprStmt | variables.rs:551:5:551:17 | PathExpr | | +| variables.rs:552:5:552:23 | PathExpr | variables.rs:552:5:552:25 | CallExpr | | +| variables.rs:552:5:552:25 | CallExpr | variables.rs:553:5:553:14 | ExprStmt | | +| variables.rs:552:5:552:26 | ExprStmt | variables.rs:552:5:552:23 | PathExpr | | +| variables.rs:553:5:553:11 | PathExpr | variables.rs:553:5:553:13 | CallExpr | | +| variables.rs:553:5:553:13 | CallExpr | variables.rs:554:5:554:14 | ExprStmt | | +| variables.rs:553:5:553:14 | ExprStmt | variables.rs:553:5:553:11 | PathExpr | | +| variables.rs:554:5:554:11 | PathExpr | variables.rs:554:5:554:13 | CallExpr | | +| variables.rs:554:5:554:13 | CallExpr | variables.rs:555:5:555:30 | ExprStmt | | +| variables.rs:554:5:554:14 | ExprStmt | variables.rs:554:5:554:11 | PathExpr | | +| variables.rs:555:5:555:27 | PathExpr | variables.rs:555:5:555:29 | CallExpr | | +| variables.rs:555:5:555:29 | CallExpr | variables.rs:522:11:556:1 | BlockExpr | | +| variables.rs:555:5:555:30 | ExprStmt | variables.rs:555:5:555:27 | PathExpr | | breakTarget continueTarget diff --git a/rust/ql/test/library-tests/variables/Ssa.expected b/rust/ql/test/library-tests/variables/Ssa.expected index 3e3ba9af7c99..0b5c99ec7f3f 100644 --- a/rust/ql/test/library-tests/variables/Ssa.expected +++ b/rust/ql/test/library-tests/variables/Ssa.expected @@ -5,8 +5,8 @@ nonSsaVariable | variables.rs:379:13:379:13 | z | | variables.rs:392:13:392:13 | x | | variables.rs:426:13:426:13 | z | -| variables.rs:478:13:478:13 | a | -| variables.rs:506:11:506:11 | a | +| variables.rs:488:13:488:13 | a | +| variables.rs:516:11:516:11 | a | definition | variables.rs:3:14:3:14 | s | variables.rs:3:14:3:14 | s | | variables.rs:7:14:7:14 | i | variables.rs:7:14:7:14 | i | @@ -122,16 +122,18 @@ definition | variables.rs:421:9:421:9 | y | variables.rs:418:13:418:13 | y | | variables.rs:423:5:423:14 | CallExpr | variables.rs:418:13:418:13 | y | | variables.rs:428:9:428:20 | closure3 | variables.rs:428:13:428:20 | closure3 | -| variables.rs:435:8:435:8 | b | variables.rs:435:8:435:8 | b | -| variables.rs:436:9:436:13 | x | variables.rs:436:13:436:13 | x | -| variables.rs:439:5:447:5 | phi | variables.rs:436:13:436:13 | x | -| variables.rs:440:9:440:9 | x | variables.rs:436:13:436:13 | x | -| variables.rs:444:9:444:9 | x | variables.rs:436:13:436:13 | x | -| variables.rs:451:13:451:14 | b1 | variables.rs:451:13:451:14 | b1 | -| variables.rs:451:24:451:25 | b2 | variables.rs:451:24:451:25 | b2 | -| variables.rs:452:9:452:9 | x | variables.rs:452:9:452:9 | x | -| variables.rs:487:9:487:9 | x | variables.rs:487:9:487:9 | x | -| variables.rs:491:9:491:9 | z | variables.rs:491:9:491:9 | z | +| variables.rs:436:9:436:13 | i | variables.rs:436:13:436:13 | i | +| variables.rs:437:9:437:13 | block | variables.rs:437:9:437:13 | block | +| variables.rs:445:8:445:8 | b | variables.rs:445:8:445:8 | b | +| variables.rs:446:9:446:13 | x | variables.rs:446:13:446:13 | x | +| variables.rs:449:5:457:5 | phi | variables.rs:446:13:446:13 | x | +| variables.rs:450:9:450:9 | x | variables.rs:446:13:446:13 | x | +| variables.rs:454:9:454:9 | x | variables.rs:446:13:446:13 | x | +| variables.rs:461:13:461:14 | b1 | variables.rs:461:13:461:14 | b1 | +| variables.rs:461:24:461:25 | b2 | variables.rs:461:24:461:25 | b2 | +| variables.rs:462:9:462:9 | x | variables.rs:462:9:462:9 | x | +| variables.rs:497:9:497:9 | x | variables.rs:497:9:497:9 | x | +| variables.rs:501:9:501:9 | z | variables.rs:501:9:501:9 | z | read | variables.rs:3:14:3:14 | s | variables.rs:3:14:3:14 | s | variables.rs:4:20:4:20 | s | | variables.rs:7:14:7:14 | i | variables.rs:7:14:7:14 | i | variables.rs:8:20:8:20 | i | @@ -237,21 +239,23 @@ read | variables.rs:420:9:420:20 | closure2 | variables.rs:420:13:420:20 | closure2 | variables.rs:423:5:423:12 | closure2 | | variables.rs:423:5:423:14 | CallExpr | variables.rs:418:13:418:13 | y | variables.rs:424:15:424:15 | y | | variables.rs:428:9:428:20 | closure3 | variables.rs:428:13:428:20 | closure3 | variables.rs:431:5:431:12 | closure3 | -| variables.rs:435:8:435:8 | b | variables.rs:435:8:435:8 | b | variables.rs:439:8:439:8 | b | -| variables.rs:436:9:436:13 | x | variables.rs:436:13:436:13 | x | variables.rs:437:15:437:15 | x | -| variables.rs:436:9:436:13 | x | variables.rs:436:13:436:13 | x | variables.rs:438:15:438:15 | x | -| variables.rs:439:5:447:5 | phi | variables.rs:436:13:436:13 | x | variables.rs:448:15:448:15 | x | -| variables.rs:440:9:440:9 | x | variables.rs:436:13:436:13 | x | variables.rs:441:19:441:19 | x | -| variables.rs:440:9:440:9 | x | variables.rs:436:13:436:13 | x | variables.rs:442:19:442:19 | x | -| variables.rs:444:9:444:9 | x | variables.rs:436:13:436:13 | x | variables.rs:445:19:445:19 | x | -| variables.rs:444:9:444:9 | x | variables.rs:436:13:436:13 | x | variables.rs:446:19:446:19 | x | -| variables.rs:451:13:451:14 | b1 | variables.rs:451:13:451:14 | b1 | variables.rs:453:8:453:9 | b1 | -| variables.rs:451:24:451:25 | b2 | variables.rs:451:24:451:25 | b2 | variables.rs:459:8:459:9 | b2 | -| variables.rs:452:9:452:9 | x | variables.rs:452:9:452:9 | x | variables.rs:454:19:454:19 | x | -| variables.rs:452:9:452:9 | x | variables.rs:452:9:452:9 | x | variables.rs:456:19:456:19 | x | -| variables.rs:452:9:452:9 | x | variables.rs:452:9:452:9 | x | variables.rs:460:19:460:19 | x | -| variables.rs:452:9:452:9 | x | variables.rs:452:9:452:9 | x | variables.rs:462:19:462:19 | x | -| variables.rs:487:9:487:9 | x | variables.rs:487:9:487:9 | x | variables.rs:489:15:489:15 | x | +| variables.rs:436:9:436:13 | i | variables.rs:436:13:436:13 | i | variables.rs:442:15:442:15 | i | +| variables.rs:437:9:437:13 | block | variables.rs:437:9:437:13 | block | variables.rs:441:5:441:9 | block | +| variables.rs:445:8:445:8 | b | variables.rs:445:8:445:8 | b | variables.rs:449:8:449:8 | b | +| variables.rs:446:9:446:13 | x | variables.rs:446:13:446:13 | x | variables.rs:447:15:447:15 | x | +| variables.rs:446:9:446:13 | x | variables.rs:446:13:446:13 | x | variables.rs:448:15:448:15 | x | +| variables.rs:449:5:457:5 | phi | variables.rs:446:13:446:13 | x | variables.rs:458:15:458:15 | x | +| variables.rs:450:9:450:9 | x | variables.rs:446:13:446:13 | x | variables.rs:451:19:451:19 | x | +| variables.rs:450:9:450:9 | x | variables.rs:446:13:446:13 | x | variables.rs:452:19:452:19 | x | +| variables.rs:454:9:454:9 | x | variables.rs:446:13:446:13 | x | variables.rs:455:19:455:19 | x | +| variables.rs:454:9:454:9 | x | variables.rs:446:13:446:13 | x | variables.rs:456:19:456:19 | x | +| variables.rs:461:13:461:14 | b1 | variables.rs:461:13:461:14 | b1 | variables.rs:463:8:463:9 | b1 | +| variables.rs:461:24:461:25 | b2 | variables.rs:461:24:461:25 | b2 | variables.rs:469:8:469:9 | b2 | +| variables.rs:462:9:462:9 | x | variables.rs:462:9:462:9 | x | variables.rs:464:19:464:19 | x | +| variables.rs:462:9:462:9 | x | variables.rs:462:9:462:9 | x | variables.rs:466:19:466:19 | x | +| variables.rs:462:9:462:9 | x | variables.rs:462:9:462:9 | x | variables.rs:470:19:470:19 | x | +| variables.rs:462:9:462:9 | x | variables.rs:462:9:462:9 | x | variables.rs:472:19:472:19 | x | +| variables.rs:497:9:497:9 | x | variables.rs:497:9:497:9 | x | variables.rs:499:15:499:15 | x | firstRead | variables.rs:3:14:3:14 | s | variables.rs:3:14:3:14 | s | variables.rs:4:20:4:20 | s | | variables.rs:7:14:7:14 | i | variables.rs:7:14:7:14 | i | variables.rs:8:20:8:20 | i | @@ -339,16 +343,18 @@ firstRead | variables.rs:420:9:420:20 | closure2 | variables.rs:420:13:420:20 | closure2 | variables.rs:423:5:423:12 | closure2 | | variables.rs:423:5:423:14 | CallExpr | variables.rs:418:13:418:13 | y | variables.rs:424:15:424:15 | y | | variables.rs:428:9:428:20 | closure3 | variables.rs:428:13:428:20 | closure3 | variables.rs:431:5:431:12 | closure3 | -| variables.rs:435:8:435:8 | b | variables.rs:435:8:435:8 | b | variables.rs:439:8:439:8 | b | -| variables.rs:436:9:436:13 | x | variables.rs:436:13:436:13 | x | variables.rs:437:15:437:15 | x | -| variables.rs:439:5:447:5 | phi | variables.rs:436:13:436:13 | x | variables.rs:448:15:448:15 | x | -| variables.rs:440:9:440:9 | x | variables.rs:436:13:436:13 | x | variables.rs:441:19:441:19 | x | -| variables.rs:444:9:444:9 | x | variables.rs:436:13:436:13 | x | variables.rs:445:19:445:19 | x | -| variables.rs:451:13:451:14 | b1 | variables.rs:451:13:451:14 | b1 | variables.rs:453:8:453:9 | b1 | -| variables.rs:451:24:451:25 | b2 | variables.rs:451:24:451:25 | b2 | variables.rs:459:8:459:9 | b2 | -| variables.rs:452:9:452:9 | x | variables.rs:452:9:452:9 | x | variables.rs:454:19:454:19 | x | -| variables.rs:452:9:452:9 | x | variables.rs:452:9:452:9 | x | variables.rs:456:19:456:19 | x | -| variables.rs:487:9:487:9 | x | variables.rs:487:9:487:9 | x | variables.rs:489:15:489:15 | x | +| variables.rs:436:9:436:13 | i | variables.rs:436:13:436:13 | i | variables.rs:442:15:442:15 | i | +| variables.rs:437:9:437:13 | block | variables.rs:437:9:437:13 | block | variables.rs:441:5:441:9 | block | +| variables.rs:445:8:445:8 | b | variables.rs:445:8:445:8 | b | variables.rs:449:8:449:8 | b | +| variables.rs:446:9:446:13 | x | variables.rs:446:13:446:13 | x | variables.rs:447:15:447:15 | x | +| variables.rs:449:5:457:5 | phi | variables.rs:446:13:446:13 | x | variables.rs:458:15:458:15 | x | +| variables.rs:450:9:450:9 | x | variables.rs:446:13:446:13 | x | variables.rs:451:19:451:19 | x | +| variables.rs:454:9:454:9 | x | variables.rs:446:13:446:13 | x | variables.rs:455:19:455:19 | x | +| variables.rs:461:13:461:14 | b1 | variables.rs:461:13:461:14 | b1 | variables.rs:463:8:463:9 | b1 | +| variables.rs:461:24:461:25 | b2 | variables.rs:461:24:461:25 | b2 | variables.rs:469:8:469:9 | b2 | +| variables.rs:462:9:462:9 | x | variables.rs:462:9:462:9 | x | variables.rs:464:19:464:19 | x | +| variables.rs:462:9:462:9 | x | variables.rs:462:9:462:9 | x | variables.rs:466:19:466:19 | x | +| variables.rs:497:9:497:9 | x | variables.rs:497:9:497:9 | x | variables.rs:499:15:499:15 | x | lastRead | variables.rs:3:14:3:14 | s | variables.rs:3:14:3:14 | s | variables.rs:4:20:4:20 | s | | variables.rs:7:14:7:14 | i | variables.rs:7:14:7:14 | i | variables.rs:8:20:8:20 | i | @@ -437,16 +443,18 @@ lastRead | variables.rs:420:9:420:20 | closure2 | variables.rs:420:13:420:20 | closure2 | variables.rs:423:5:423:12 | closure2 | | variables.rs:423:5:423:14 | CallExpr | variables.rs:418:13:418:13 | y | variables.rs:424:15:424:15 | y | | variables.rs:428:9:428:20 | closure3 | variables.rs:428:13:428:20 | closure3 | variables.rs:431:5:431:12 | closure3 | -| variables.rs:435:8:435:8 | b | variables.rs:435:8:435:8 | b | variables.rs:439:8:439:8 | b | -| variables.rs:436:9:436:13 | x | variables.rs:436:13:436:13 | x | variables.rs:438:15:438:15 | x | -| variables.rs:439:5:447:5 | phi | variables.rs:436:13:436:13 | x | variables.rs:448:15:448:15 | x | -| variables.rs:440:9:440:9 | x | variables.rs:436:13:436:13 | x | variables.rs:442:19:442:19 | x | -| variables.rs:444:9:444:9 | x | variables.rs:436:13:436:13 | x | variables.rs:446:19:446:19 | x | -| variables.rs:451:13:451:14 | b1 | variables.rs:451:13:451:14 | b1 | variables.rs:453:8:453:9 | b1 | -| variables.rs:451:24:451:25 | b2 | variables.rs:451:24:451:25 | b2 | variables.rs:459:8:459:9 | b2 | -| variables.rs:452:9:452:9 | x | variables.rs:452:9:452:9 | x | variables.rs:460:19:460:19 | x | -| variables.rs:452:9:452:9 | x | variables.rs:452:9:452:9 | x | variables.rs:462:19:462:19 | x | -| variables.rs:487:9:487:9 | x | variables.rs:487:9:487:9 | x | variables.rs:489:15:489:15 | x | +| variables.rs:436:9:436:13 | i | variables.rs:436:13:436:13 | i | variables.rs:442:15:442:15 | i | +| variables.rs:437:9:437:13 | block | variables.rs:437:9:437:13 | block | variables.rs:441:5:441:9 | block | +| variables.rs:445:8:445:8 | b | variables.rs:445:8:445:8 | b | variables.rs:449:8:449:8 | b | +| variables.rs:446:9:446:13 | x | variables.rs:446:13:446:13 | x | variables.rs:448:15:448:15 | x | +| variables.rs:449:5:457:5 | phi | variables.rs:446:13:446:13 | x | variables.rs:458:15:458:15 | x | +| variables.rs:450:9:450:9 | x | variables.rs:446:13:446:13 | x | variables.rs:452:19:452:19 | x | +| variables.rs:454:9:454:9 | x | variables.rs:446:13:446:13 | x | variables.rs:456:19:456:19 | x | +| variables.rs:461:13:461:14 | b1 | variables.rs:461:13:461:14 | b1 | variables.rs:463:8:463:9 | b1 | +| variables.rs:461:24:461:25 | b2 | variables.rs:461:24:461:25 | b2 | variables.rs:469:8:469:9 | b2 | +| variables.rs:462:9:462:9 | x | variables.rs:462:9:462:9 | x | variables.rs:470:19:470:19 | x | +| variables.rs:462:9:462:9 | x | variables.rs:462:9:462:9 | x | variables.rs:472:19:472:19 | x | +| variables.rs:497:9:497:9 | x | variables.rs:497:9:497:9 | x | variables.rs:499:15:499:15 | x | adjacentReads | variables.rs:35:9:35:10 | x3 | variables.rs:35:9:35:10 | x3 | variables.rs:36:15:36:16 | x3 | variables.rs:38:9:38:10 | x3 | | variables.rs:43:9:43:10 | x4 | variables.rs:43:9:43:10 | x4 | variables.rs:44:15:44:16 | x4 | variables.rs:49:15:49:16 | x4 | @@ -467,13 +475,13 @@ adjacentReads | variables.rs:363:22:363:22 | x | variables.rs:363:22:363:22 | x | variables.rs:365:10:365:10 | x | variables.rs:366:10:366:10 | x | | variables.rs:363:22:363:22 | x | variables.rs:363:22:363:22 | x | variables.rs:366:10:366:10 | x | variables.rs:368:9:368:9 | x | | variables.rs:380:9:380:9 | w | variables.rs:380:9:380:9 | w | variables.rs:384:9:384:9 | w | variables.rs:386:7:386:7 | w | -| variables.rs:436:9:436:13 | x | variables.rs:436:13:436:13 | x | variables.rs:437:15:437:15 | x | variables.rs:438:15:438:15 | x | -| variables.rs:440:9:440:9 | x | variables.rs:436:13:436:13 | x | variables.rs:441:19:441:19 | x | variables.rs:442:19:442:19 | x | -| variables.rs:444:9:444:9 | x | variables.rs:436:13:436:13 | x | variables.rs:445:19:445:19 | x | variables.rs:446:19:446:19 | x | -| variables.rs:452:9:452:9 | x | variables.rs:452:9:452:9 | x | variables.rs:454:19:454:19 | x | variables.rs:460:19:460:19 | x | -| variables.rs:452:9:452:9 | x | variables.rs:452:9:452:9 | x | variables.rs:454:19:454:19 | x | variables.rs:462:19:462:19 | x | -| variables.rs:452:9:452:9 | x | variables.rs:452:9:452:9 | x | variables.rs:456:19:456:19 | x | variables.rs:460:19:460:19 | x | -| variables.rs:452:9:452:9 | x | variables.rs:452:9:452:9 | x | variables.rs:456:19:456:19 | x | variables.rs:462:19:462:19 | x | +| variables.rs:446:9:446:13 | x | variables.rs:446:13:446:13 | x | variables.rs:447:15:447:15 | x | variables.rs:448:15:448:15 | x | +| variables.rs:450:9:450:9 | x | variables.rs:446:13:446:13 | x | variables.rs:451:19:451:19 | x | variables.rs:452:19:452:19 | x | +| variables.rs:454:9:454:9 | x | variables.rs:446:13:446:13 | x | variables.rs:455:19:455:19 | x | variables.rs:456:19:456:19 | x | +| variables.rs:462:9:462:9 | x | variables.rs:462:9:462:9 | x | variables.rs:464:19:464:19 | x | variables.rs:470:19:470:19 | x | +| variables.rs:462:9:462:9 | x | variables.rs:462:9:462:9 | x | variables.rs:464:19:464:19 | x | variables.rs:472:19:472:19 | x | +| variables.rs:462:9:462:9 | x | variables.rs:462:9:462:9 | x | variables.rs:466:19:466:19 | x | variables.rs:470:19:470:19 | x | +| variables.rs:462:9:462:9 | x | variables.rs:462:9:462:9 | x | variables.rs:466:19:466:19 | x | variables.rs:472:19:472:19 | x | phi | variables.rs:191:9:191:44 | [match(true)] phi | variables.rs:191:9:191:44 | a3 | variables.rs:191:22:191:23 | a3 | | variables.rs:191:9:191:44 | [match(true)] phi | variables.rs:191:9:191:44 | a3 | variables.rs:191:42:191:43 | a3 | @@ -499,19 +507,19 @@ phi | variables.rs:255:35:255:82 | [match(true)] phi | variables.rs:255:9:255:109 | a13 | variables.rs:255:79:255:81 | a13 | | variables.rs:272:6:272:41 | [match(true)] phi | variables.rs:272:6:272:41 | a9 | variables.rs:272:19:272:20 | a9 | | variables.rs:272:6:272:41 | [match(true)] phi | variables.rs:272:6:272:41 | a9 | variables.rs:272:39:272:40 | a9 | -| variables.rs:439:5:447:5 | phi | variables.rs:436:13:436:13 | x | variables.rs:440:9:440:9 | x | -| variables.rs:439:5:447:5 | phi | variables.rs:436:13:436:13 | x | variables.rs:444:9:444:9 | x | +| variables.rs:449:5:457:5 | phi | variables.rs:446:13:446:13 | x | variables.rs:450:9:450:9 | x | +| variables.rs:449:5:457:5 | phi | variables.rs:446:13:446:13 | x | variables.rs:454:9:454:9 | x | phiReadNode | variables.rs:104:11:105:12 | SSA phi read(s1) | variables.rs:102:9:102:10 | s1 | -| variables.rs:453:5:457:5 | SSA phi read(x) | variables.rs:452:9:452:9 | x | +| variables.rs:463:5:467:5 | SSA phi read(x) | variables.rs:462:9:462:9 | x | phiReadNodeRead | variables.rs:104:11:105:12 | SSA phi read(s1) | variables.rs:102:9:102:10 | s1 | variables.rs:105:11:105:12 | s1 | -| variables.rs:453:5:457:5 | SSA phi read(x) | variables.rs:452:9:452:9 | x | variables.rs:460:19:460:19 | x | -| variables.rs:453:5:457:5 | SSA phi read(x) | variables.rs:452:9:452:9 | x | variables.rs:462:19:462:19 | x | +| variables.rs:463:5:467:5 | SSA phi read(x) | variables.rs:462:9:462:9 | x | variables.rs:470:19:470:19 | x | +| variables.rs:463:5:467:5 | SSA phi read(x) | variables.rs:462:9:462:9 | x | variables.rs:472:19:472:19 | x | phiReadInput | variables.rs:104:11:105:12 | SSA phi read(s1) | variables.rs:102:9:102:10 | s1 | | variables.rs:104:11:105:12 | SSA phi read(s1) | variables.rs:104:11:105:12 | SSA phi read(s1) | -| variables.rs:453:5:457:5 | SSA phi read(x) | variables.rs:452:9:452:9 | x | +| variables.rs:463:5:467:5 | SSA phi read(x) | variables.rs:462:9:462:9 | x | ultimateDef | variables.rs:191:9:191:44 | [match(true)] phi | variables.rs:191:22:191:23 | a3 | | variables.rs:191:9:191:44 | [match(true)] phi | variables.rs:191:42:191:43 | a3 | @@ -540,11 +548,11 @@ ultimateDef | variables.rs:255:35:255:82 | [match(true)] phi | variables.rs:255:79:255:81 | a13 | | variables.rs:272:6:272:41 | [match(true)] phi | variables.rs:272:19:272:20 | a9 | | variables.rs:272:6:272:41 | [match(true)] phi | variables.rs:272:39:272:40 | a9 | -| variables.rs:439:5:447:5 | phi | variables.rs:440:9:440:9 | x | -| variables.rs:439:5:447:5 | phi | variables.rs:444:9:444:9 | x | +| variables.rs:449:5:457:5 | phi | variables.rs:450:9:450:9 | x | +| variables.rs:449:5:457:5 | phi | variables.rs:454:9:454:9 | x | assigns | variables.rs:23:5:23:6 | x2 | variables.rs:23:10:23:10 | 5 | | variables.rs:30:5:30:5 | x | variables.rs:30:9:30:9 | 2 | | variables.rs:421:9:421:9 | y | variables.rs:421:13:421:13 | 3 | -| variables.rs:440:9:440:9 | x | variables.rs:440:13:440:13 | 2 | -| variables.rs:444:9:444:9 | x | variables.rs:444:13:444:13 | 3 | +| variables.rs:450:9:450:9 | x | variables.rs:450:13:450:13 | 2 | +| variables.rs:454:9:454:9 | x | variables.rs:454:13:454:13 | 3 | diff --git a/rust/ql/test/library-tests/variables/variables.expected b/rust/ql/test/library-tests/variables/variables.expected index 53245eacea03..908ab40fc22e 100644 --- a/rust/ql/test/library-tests/variables/variables.expected +++ b/rust/ql/test/library-tests/variables/variables.expected @@ -1,4 +1,6 @@ testFailures +| variables.rs:438:9:438:9 | i | Unexpected result: write_access=i | +| variables.rs:438:16:438:33 | Comment | Missing result: read_access=i | failures variable | variables.rs:3:14:3:14 | s | @@ -88,15 +90,17 @@ variable | variables.rs:420:13:420:20 | closure2 | | variables.rs:426:13:426:13 | z | | variables.rs:428:13:428:20 | closure3 | -| variables.rs:435:8:435:8 | b | -| variables.rs:436:13:436:13 | x | -| variables.rs:451:13:451:14 | b1 | -| variables.rs:451:24:451:25 | b2 | -| variables.rs:452:9:452:9 | x | -| variables.rs:478:13:478:13 | a | -| variables.rs:487:9:487:9 | x | -| variables.rs:491:9:491:9 | z | -| variables.rs:506:11:506:11 | a | +| variables.rs:436:13:436:13 | i | +| variables.rs:437:9:437:13 | block | +| variables.rs:445:8:445:8 | b | +| variables.rs:446:13:446:13 | x | +| variables.rs:461:13:461:14 | b1 | +| variables.rs:461:24:461:25 | b2 | +| variables.rs:462:9:462:9 | x | +| variables.rs:488:13:488:13 | a | +| variables.rs:497:9:497:9 | x | +| variables.rs:501:9:501:9 | z | +| variables.rs:516:11:516:11 | a | variableAccess | variables.rs:4:20:4:20 | s | variables.rs:3:14:3:14 | s | | variables.rs:8:20:8:20 | i | variables.rs:7:14:7:14 | i | @@ -225,32 +229,35 @@ variableAccess | variables.rs:429:9:429:9 | z | variables.rs:426:13:426:13 | z | | variables.rs:431:5:431:12 | closure3 | variables.rs:428:13:428:20 | closure3 | | variables.rs:432:15:432:15 | z | variables.rs:426:13:426:13 | z | -| variables.rs:437:15:437:15 | x | variables.rs:436:13:436:13 | x | -| variables.rs:438:15:438:15 | x | variables.rs:436:13:436:13 | x | -| variables.rs:439:8:439:8 | b | variables.rs:435:8:435:8 | b | -| variables.rs:440:9:440:9 | x | variables.rs:436:13:436:13 | x | -| variables.rs:441:19:441:19 | x | variables.rs:436:13:436:13 | x | -| variables.rs:442:19:442:19 | x | variables.rs:436:13:436:13 | x | -| variables.rs:444:9:444:9 | x | variables.rs:436:13:436:13 | x | -| variables.rs:445:19:445:19 | x | variables.rs:436:13:436:13 | x | -| variables.rs:446:19:446:19 | x | variables.rs:436:13:436:13 | x | -| variables.rs:448:15:448:15 | x | variables.rs:436:13:436:13 | x | -| variables.rs:453:8:453:9 | b1 | variables.rs:451:13:451:14 | b1 | -| variables.rs:454:19:454:19 | x | variables.rs:452:9:452:9 | x | -| variables.rs:456:19:456:19 | x | variables.rs:452:9:452:9 | x | -| variables.rs:459:8:459:9 | b2 | variables.rs:451:24:451:25 | b2 | -| variables.rs:460:19:460:19 | x | variables.rs:452:9:452:9 | x | -| variables.rs:462:19:462:19 | x | variables.rs:452:9:452:9 | x | -| variables.rs:479:15:479:15 | a | variables.rs:478:13:478:13 | a | -| variables.rs:480:5:480:5 | a | variables.rs:478:13:478:13 | a | -| variables.rs:481:15:481:15 | a | variables.rs:478:13:478:13 | a | -| variables.rs:482:5:482:5 | a | variables.rs:478:13:478:13 | a | -| variables.rs:483:15:483:15 | a | variables.rs:478:13:478:13 | a | -| variables.rs:488:20:488:20 | x | variables.rs:487:9:487:9 | x | -| variables.rs:489:15:489:15 | x | variables.rs:487:9:487:9 | x | -| variables.rs:492:20:492:20 | z | variables.rs:491:9:491:9 | z | -| variables.rs:507:3:507:3 | a | variables.rs:506:11:506:11 | a | -| variables.rs:509:13:509:13 | a | variables.rs:506:11:506:11 | a | +| variables.rs:438:9:438:9 | i | variables.rs:436:13:436:13 | i | +| variables.rs:441:5:441:9 | block | variables.rs:437:9:437:13 | block | +| variables.rs:442:15:442:15 | i | variables.rs:436:13:436:13 | i | +| variables.rs:447:15:447:15 | x | variables.rs:446:13:446:13 | x | +| variables.rs:448:15:448:15 | x | variables.rs:446:13:446:13 | x | +| variables.rs:449:8:449:8 | b | variables.rs:445:8:445:8 | b | +| variables.rs:450:9:450:9 | x | variables.rs:446:13:446:13 | x | +| variables.rs:451:19:451:19 | x | variables.rs:446:13:446:13 | x | +| variables.rs:452:19:452:19 | x | variables.rs:446:13:446:13 | x | +| variables.rs:454:9:454:9 | x | variables.rs:446:13:446:13 | x | +| variables.rs:455:19:455:19 | x | variables.rs:446:13:446:13 | x | +| variables.rs:456:19:456:19 | x | variables.rs:446:13:446:13 | x | +| variables.rs:458:15:458:15 | x | variables.rs:446:13:446:13 | x | +| variables.rs:463:8:463:9 | b1 | variables.rs:461:13:461:14 | b1 | +| variables.rs:464:19:464:19 | x | variables.rs:462:9:462:9 | x | +| variables.rs:466:19:466:19 | x | variables.rs:462:9:462:9 | x | +| variables.rs:469:8:469:9 | b2 | variables.rs:461:24:461:25 | b2 | +| variables.rs:470:19:470:19 | x | variables.rs:462:9:462:9 | x | +| variables.rs:472:19:472:19 | x | variables.rs:462:9:462:9 | x | +| variables.rs:489:15:489:15 | a | variables.rs:488:13:488:13 | a | +| variables.rs:490:5:490:5 | a | variables.rs:488:13:488:13 | a | +| variables.rs:491:15:491:15 | a | variables.rs:488:13:488:13 | a | +| variables.rs:492:5:492:5 | a | variables.rs:488:13:488:13 | a | +| variables.rs:493:15:493:15 | a | variables.rs:488:13:488:13 | a | +| variables.rs:498:20:498:20 | x | variables.rs:497:9:497:9 | x | +| variables.rs:499:15:499:15 | x | variables.rs:497:9:497:9 | x | +| variables.rs:502:20:502:20 | z | variables.rs:501:9:501:9 | z | +| variables.rs:517:3:517:3 | a | variables.rs:516:11:516:11 | a | +| variables.rs:519:13:519:13 | a | variables.rs:516:11:516:11 | a | variableWriteAccess | variables.rs:23:5:23:6 | x2 | variables.rs:21:13:21:14 | x2 | | variables.rs:30:5:30:5 | x | variables.rs:28:13:28:13 | x | @@ -258,9 +265,10 @@ variableWriteAccess | variables.rs:289:9:289:10 | b4 | variables.rs:280:13:280:14 | b4 | | variables.rs:290:9:290:11 | a10 | variables.rs:279:13:279:15 | a10 | | variables.rs:421:9:421:9 | y | variables.rs:418:13:418:13 | y | -| variables.rs:440:9:440:9 | x | variables.rs:436:13:436:13 | x | -| variables.rs:444:9:444:9 | x | variables.rs:436:13:436:13 | x | -| variables.rs:482:5:482:5 | a | variables.rs:478:13:478:13 | a | +| variables.rs:438:9:438:9 | i | variables.rs:436:13:436:13 | i | +| variables.rs:450:9:450:9 | x | variables.rs:446:13:446:13 | x | +| variables.rs:454:9:454:9 | x | variables.rs:446:13:446:13 | x | +| variables.rs:492:5:492:5 | a | variables.rs:488:13:488:13 | a | variableReadAccess | variables.rs:4:20:4:20 | s | variables.rs:3:14:3:14 | s | | variables.rs:8:20:8:20 | i | variables.rs:7:14:7:14 | i | @@ -374,27 +382,29 @@ variableReadAccess | variables.rs:429:9:429:9 | z | variables.rs:426:13:426:13 | z | | variables.rs:431:5:431:12 | closure3 | variables.rs:428:13:428:20 | closure3 | | variables.rs:432:15:432:15 | z | variables.rs:426:13:426:13 | z | -| variables.rs:437:15:437:15 | x | variables.rs:436:13:436:13 | x | -| variables.rs:438:15:438:15 | x | variables.rs:436:13:436:13 | x | -| variables.rs:439:8:439:8 | b | variables.rs:435:8:435:8 | b | -| variables.rs:441:19:441:19 | x | variables.rs:436:13:436:13 | x | -| variables.rs:442:19:442:19 | x | variables.rs:436:13:436:13 | x | -| variables.rs:445:19:445:19 | x | variables.rs:436:13:436:13 | x | -| variables.rs:446:19:446:19 | x | variables.rs:436:13:436:13 | x | -| variables.rs:448:15:448:15 | x | variables.rs:436:13:436:13 | x | -| variables.rs:453:8:453:9 | b1 | variables.rs:451:13:451:14 | b1 | -| variables.rs:454:19:454:19 | x | variables.rs:452:9:452:9 | x | -| variables.rs:456:19:456:19 | x | variables.rs:452:9:452:9 | x | -| variables.rs:459:8:459:9 | b2 | variables.rs:451:24:451:25 | b2 | -| variables.rs:460:19:460:19 | x | variables.rs:452:9:452:9 | x | -| variables.rs:462:19:462:19 | x | variables.rs:452:9:452:9 | x | -| variables.rs:479:15:479:15 | a | variables.rs:478:13:478:13 | a | -| variables.rs:480:5:480:5 | a | variables.rs:478:13:478:13 | a | -| variables.rs:481:15:481:15 | a | variables.rs:478:13:478:13 | a | -| variables.rs:483:15:483:15 | a | variables.rs:478:13:478:13 | a | -| variables.rs:489:15:489:15 | x | variables.rs:487:9:487:9 | x | -| variables.rs:507:3:507:3 | a | variables.rs:506:11:506:11 | a | -| variables.rs:509:13:509:13 | a | variables.rs:506:11:506:11 | a | +| variables.rs:441:5:441:9 | block | variables.rs:437:9:437:13 | block | +| variables.rs:442:15:442:15 | i | variables.rs:436:13:436:13 | i | +| variables.rs:447:15:447:15 | x | variables.rs:446:13:446:13 | x | +| variables.rs:448:15:448:15 | x | variables.rs:446:13:446:13 | x | +| variables.rs:449:8:449:8 | b | variables.rs:445:8:445:8 | b | +| variables.rs:451:19:451:19 | x | variables.rs:446:13:446:13 | x | +| variables.rs:452:19:452:19 | x | variables.rs:446:13:446:13 | x | +| variables.rs:455:19:455:19 | x | variables.rs:446:13:446:13 | x | +| variables.rs:456:19:456:19 | x | variables.rs:446:13:446:13 | x | +| variables.rs:458:15:458:15 | x | variables.rs:446:13:446:13 | x | +| variables.rs:463:8:463:9 | b1 | variables.rs:461:13:461:14 | b1 | +| variables.rs:464:19:464:19 | x | variables.rs:462:9:462:9 | x | +| variables.rs:466:19:466:19 | x | variables.rs:462:9:462:9 | x | +| variables.rs:469:8:469:9 | b2 | variables.rs:461:24:461:25 | b2 | +| variables.rs:470:19:470:19 | x | variables.rs:462:9:462:9 | x | +| variables.rs:472:19:472:19 | x | variables.rs:462:9:462:9 | x | +| variables.rs:489:15:489:15 | a | variables.rs:488:13:488:13 | a | +| variables.rs:490:5:490:5 | a | variables.rs:488:13:488:13 | a | +| variables.rs:491:15:491:15 | a | variables.rs:488:13:488:13 | a | +| variables.rs:493:15:493:15 | a | variables.rs:488:13:488:13 | a | +| variables.rs:499:15:499:15 | x | variables.rs:497:9:497:9 | x | +| variables.rs:517:3:517:3 | a | variables.rs:516:11:516:11 | a | +| variables.rs:519:13:519:13 | a | variables.rs:516:11:516:11 | a | variableInitializer | variables.rs:16:9:16:10 | x1 | variables.rs:16:14:16:16 | "a" | | variables.rs:21:13:21:14 | x2 | variables.rs:21:18:21:18 | 4 | @@ -438,12 +448,14 @@ variableInitializer | variables.rs:420:13:420:20 | closure2 | variables.rs:420:24:422:5 | ClosureExpr | | variables.rs:426:13:426:13 | z | variables.rs:426:17:426:17 | 2 | | variables.rs:428:13:428:20 | closure3 | variables.rs:428:24:430:5 | ClosureExpr | -| variables.rs:436:13:436:13 | x | variables.rs:436:17:436:17 | 1 | -| variables.rs:452:9:452:9 | x | variables.rs:452:13:452:13 | 1 | -| variables.rs:478:13:478:13 | a | variables.rs:478:17:478:35 | RecordExpr | -| variables.rs:487:9:487:9 | x | variables.rs:487:13:487:14 | 16 | -| variables.rs:491:9:491:9 | z | variables.rs:491:13:491:14 | 17 | -| variables.rs:506:11:506:11 | a | variables.rs:506:15:506:33 | RecordExpr | +| variables.rs:436:13:436:13 | i | variables.rs:436:22:436:22 | 0 | +| variables.rs:437:9:437:13 | block | variables.rs:437:17:439:5 | BlockExpr | +| variables.rs:446:13:446:13 | x | variables.rs:446:17:446:17 | 1 | +| variables.rs:462:9:462:9 | x | variables.rs:462:13:462:13 | 1 | +| variables.rs:488:13:488:13 | a | variables.rs:488:17:488:35 | RecordExpr | +| variables.rs:497:9:497:9 | x | variables.rs:497:13:497:14 | 16 | +| variables.rs:501:9:501:9 | z | variables.rs:501:13:501:14 | 17 | +| variables.rs:516:11:516:11 | a | variables.rs:516:15:516:33 | RecordExpr | capturedVariable | variables.rs:400:9:400:9 | x | | variables.rs:410:13:410:13 | x | diff --git a/rust/ql/test/library-tests/variables/variables.rs b/rust/ql/test/library-tests/variables/variables.rs index c561daf2062f..c5b9bd80a8bd 100644 --- a/rust/ql/test/library-tests/variables/variables.rs +++ b/rust/ql/test/library-tests/variables/variables.rs @@ -432,6 +432,16 @@ fn capture_mut() { print_i64(z); // $ read_access=z } +async fn async_block_capture() { + let mut i: i64 = 0; // i + let block = async { + i = 1; // $ read_access=i + }; + // The await below causes write to `i` + block.await; // $ read_access=block + print_i64(i); // $ read_access=i +} + fn phi(b : bool) { let mut x = 1; // x print_i64(x); // $ read_access=x @@ -539,6 +549,7 @@ fn main() { alias(); capture_mut(); capture_immut(); + async_block_capture(); structs(); ref_arg(); ref_methodcall_receiver(); From a5e13ee71b8e891d4172262b9719b5138b478e4b Mon Sep 17 00:00:00 2001 From: Simon Friis Vindum Date: Sun, 10 Nov 2024 11:59:37 +0100 Subject: [PATCH 069/347] Rust: Handle async blocks in SSA analysis --- .../lib/codeql/rust/controlflow/BasicBlocks.qll | 2 +- .../codeql/rust/controlflow/ControlFlowGraph.qll | 5 +++++ .../internal/ControlFlowGraphImpl.qll | 2 +- .../codeql/rust/controlflow/internal/Scope.qll | 16 ++++++++++++---- .../rust/dataflow/internal/DataFlowImpl.qll | 4 ++-- .../codeql/rust/dataflow/internal/SsaImpl.qll | 16 +++++++++------- .../rust/elements/internal/VariableImpl.qll | 3 ++- .../ql/test/library-tests/variables/Ssa.expected | 9 ++++++--- .../library-tests/variables/variables.expected | 2 ++ 9 files changed, 40 insertions(+), 19 deletions(-) diff --git a/rust/ql/lib/codeql/rust/controlflow/BasicBlocks.qll b/rust/ql/lib/codeql/rust/controlflow/BasicBlocks.qll index 60f5b4db5af8..f87a48a28a5b 100644 --- a/rust/ql/lib/codeql/rust/controlflow/BasicBlocks.qll +++ b/rust/ql/lib/codeql/rust/controlflow/BasicBlocks.qll @@ -12,7 +12,7 @@ final class BasicBlock = BasicBlockImpl; * without branches or joins. */ private class BasicBlockImpl extends TBasicBlockStart { - /** Gets the scope of this basic block. */ + /** Gets the CFG scope of this basic block. */ CfgScope getScope() { result = this.getAPredecessor().getScope() } /** Gets an immediate successor of this basic block, if any. */ diff --git a/rust/ql/lib/codeql/rust/controlflow/ControlFlowGraph.qll b/rust/ql/lib/codeql/rust/controlflow/ControlFlowGraph.qll index 20f1af4a4afb..28965b1b18fc 100644 --- a/rust/ql/lib/codeql/rust/controlflow/ControlFlowGraph.qll +++ b/rust/ql/lib/codeql/rust/controlflow/ControlFlowGraph.qll @@ -9,6 +9,8 @@ private import BasicBlocks final class CfgScope = Scope::CfgScope; +predicate getEnclosingCfgScope = Scope::getEnclosingCfgScope/1; + final class SuccessorType = SuccessorTypeImpl; final class NormalSuccessor = NormalSuccessorImpl; @@ -52,3 +54,6 @@ final class CfgNode extends Node { /** Gets the basic block that this control flow node belongs to. */ BasicBlock getBasicBlock() { result.getANode() = this } } + +/** Holds if evaluating `e` jumps to the evaluation of a different CFG scope. */ +predicate isControlFlowJump(Expr e) { e instanceof CallExprBase or e instanceof AwaitExpr } diff --git a/rust/ql/lib/codeql/rust/controlflow/internal/ControlFlowGraphImpl.qll b/rust/ql/lib/codeql/rust/controlflow/internal/ControlFlowGraphImpl.qll index 0541031594d7..649b4729dc3e 100644 --- a/rust/ql/lib/codeql/rust/controlflow/internal/ControlFlowGraphImpl.qll +++ b/rust/ql/lib/codeql/rust/controlflow/internal/ControlFlowGraphImpl.qll @@ -23,7 +23,7 @@ private module CfgInput implements InputSig { class CfgScope = Scope::CfgScope; CfgScope getCfgScope(AstNode n) { - result = n.getEnclosingCallable() and + result = Scope::getEnclosingCfgScope(n) and Stages::CfgStage::ref() } diff --git a/rust/ql/lib/codeql/rust/controlflow/internal/Scope.qll b/rust/ql/lib/codeql/rust/controlflow/internal/Scope.qll index 925675c17350..0adcef156c00 100644 --- a/rust/ql/lib/codeql/rust/controlflow/internal/Scope.qll +++ b/rust/ql/lib/codeql/rust/controlflow/internal/Scope.qll @@ -14,9 +14,7 @@ abstract private class CfgScopeImpl extends AstNode { final class CfgScope = CfgScopeImpl; -class AsyncBlockScope extends CfgScopeImpl, BlockExpr { - AsyncBlockScope() { this.isAsync() } - +final class AsyncBlockScope extends CfgScopeImpl, AsyncBlockExpr { override predicate scopeFirst(AstNode first) { first(this.(ExprTrees::AsyncBlockExprTree).getFirstChildNode(), first) } @@ -29,7 +27,7 @@ class AsyncBlockScope extends CfgScopeImpl, BlockExpr { /** * A CFG scope for a callable (a function or a closure) with a body. */ -class CallableScope extends CfgScopeImpl, Callable { +final class CallableScope extends CfgScopeImpl, Callable { CallableScope() { // A function without a body corresponds to a trait method signature and // should not have a CFG scope. @@ -52,3 +50,13 @@ class CallableScope extends CfgScopeImpl, Callable { /** Holds if `scope` is exited when `last` finishes with completion `c`. */ override predicate scopeLast(AstNode last, Completion c) { last(this.getBody(), last, c) } } + +/** Gets the CFG scope that encloses `node`, if any. */ +CfgScope getEnclosingCfgScope(AstNode node) { + exists(AstNode p | p = node.getParentNode() | + result = p + or + not p instanceof CfgScope and + result = getEnclosingCfgScope(p) + ) +} diff --git a/rust/ql/lib/codeql/rust/dataflow/internal/DataFlowImpl.qll b/rust/ql/lib/codeql/rust/dataflow/internal/DataFlowImpl.qll index b178e97acfe6..c93e374902a8 100644 --- a/rust/ql/lib/codeql/rust/dataflow/internal/DataFlowImpl.qll +++ b/rust/ql/lib/codeql/rust/dataflow/internal/DataFlowImpl.qll @@ -134,7 +134,7 @@ module Node { ExprNode() { this = TExprNode(n) } - override CfgScope getCfgScope() { result = this.asExpr().getEnclosingCallable() } + override CfgScope getCfgScope() { result = getEnclosingCfgScope(this.asExpr()) } override Location getLocation() { result = n.getExpr().getLocation() } @@ -154,7 +154,7 @@ module Node { ParameterNode() { this = TParameterNode(parameter) } - override CfgScope getCfgScope() { result = parameter.getEnclosingCallable() } + override CfgScope getCfgScope() { result = getEnclosingCfgScope(parameter) } override Location getLocation() { result = parameter.getLocation() } diff --git a/rust/ql/lib/codeql/rust/dataflow/internal/SsaImpl.qll b/rust/ql/lib/codeql/rust/dataflow/internal/SsaImpl.qll index b248c4d7c5cd..955dd9995a24 100644 --- a/rust/ql/lib/codeql/rust/dataflow/internal/SsaImpl.qll +++ b/rust/ql/lib/codeql/rust/dataflow/internal/SsaImpl.qll @@ -156,19 +156,19 @@ private predicate variableReadActual(BasicBlock bb, int i, Variable v) { */ pragma[noinline] private predicate hasCapturedWrite(Variable v, Cfg::CfgScope scope) { - any(VariableWriteAccess write | write.getVariable() = v and scope = write.getEnclosingCallable+()) + any(VariableWriteAccess write | write.getVariable() = v and scope = getEnclosingCfgScope+(write)) .isCapture() } /** * Holds if `v` is read inside basic block `bb` at index `i`, which is in the - * immediate outer scope of `scope`. + * immediate outer CFG scope of `scope`. */ pragma[noinline] private predicate variableReadActualInOuterScope( BasicBlock bb, int i, Variable v, Cfg::CfgScope scope ) { - variableReadActual(bb, i, v) and bb.getScope() = scope.getEnclosingCallable() + variableReadActual(bb, i, v) and bb.getScope() = getEnclosingCfgScope(scope) } pragma[noinline] @@ -263,7 +263,7 @@ private predicate readsCapturedVariable(BasicBlock bb, Variable v) { */ pragma[noinline] private predicate hasCapturedRead(Variable v, Cfg::CfgScope scope) { - any(VariableReadAccess read | read.getVariable() = v and scope = read.getEnclosingCallable+()) + any(VariableReadAccess read | read.getVariable() = v and scope = getEnclosingCfgScope+(read)) .isCapture() } @@ -273,14 +273,15 @@ private predicate hasCapturedRead(Variable v, Cfg::CfgScope scope) { */ pragma[noinline] private predicate variableWriteInOuterScope(BasicBlock bb, int i, Variable v, Cfg::CfgScope scope) { - SsaInput::variableWrite(bb, i, v, _) and scope.getEnclosingCallable() = bb.getScope() + SsaInput::variableWrite(bb, i, v, _) and getEnclosingCfgScope(scope) = bb.getScope() } /** * Holds if the call `call` at index `i` in basic block `bb` may reach * a callable that reads captured variable `v`. */ -private predicate capturedCallRead(CallExprBase call, BasicBlock bb, int i, Variable v) { +private predicate capturedCallRead(Expr call, BasicBlock bb, int i, Variable v) { + Cfg::isControlFlowJump(call) and exists(Cfg::CfgScope scope | hasCapturedRead(v, scope) and ( @@ -295,7 +296,8 @@ private predicate capturedCallRead(CallExprBase call, BasicBlock bb, int i, Vari * Holds if the call `call` at index `i` in basic block `bb` may reach a callable * that writes captured variable `v`. */ -predicate capturedCallWrite(CallExprBase call, BasicBlock bb, int i, Variable v) { +predicate capturedCallWrite(Expr call, BasicBlock bb, int i, Variable v) { + Cfg::isControlFlowJump(call) and call = bb.getNode(i).getAstNode() and exists(Cfg::CfgScope scope | hasVariableReadWithCapturedWrite(bb, any(int j | j > i), v, scope) diff --git a/rust/ql/lib/codeql/rust/elements/internal/VariableImpl.qll b/rust/ql/lib/codeql/rust/elements/internal/VariableImpl.qll index 10f079a4c5d6..bed98189e4d8 100644 --- a/rust/ql/lib/codeql/rust/elements/internal/VariableImpl.qll +++ b/rust/ql/lib/codeql/rust/elements/internal/VariableImpl.qll @@ -1,4 +1,5 @@ private import rust +private import codeql.rust.controlflow.ControlFlowGraph private import codeql.rust.elements.internal.generated.ParentChild private import codeql.rust.elements.internal.PathExprBaseImpl::Impl as PathExprBaseImpl private import codeql.rust.elements.internal.FormatTemplateVariableAccessImpl::Impl as FormatTemplateVariableAccessImpl @@ -445,7 +446,7 @@ module Impl { Variable getVariable() { result = v } /** Holds if this access is a capture. */ - predicate isCapture() { this.getEnclosingCallable() != v.getPat().getEnclosingCallable() } + predicate isCapture() { getEnclosingCfgScope(this) != getEnclosingCfgScope(v.getPat()) } override string toString() { result = name } diff --git a/rust/ql/test/library-tests/variables/Ssa.expected b/rust/ql/test/library-tests/variables/Ssa.expected index 0b5c99ec7f3f..f17152793a3e 100644 --- a/rust/ql/test/library-tests/variables/Ssa.expected +++ b/rust/ql/test/library-tests/variables/Ssa.expected @@ -124,6 +124,8 @@ definition | variables.rs:428:9:428:20 | closure3 | variables.rs:428:13:428:20 | closure3 | | variables.rs:436:9:436:13 | i | variables.rs:436:13:436:13 | i | | variables.rs:437:9:437:13 | block | variables.rs:437:9:437:13 | block | +| variables.rs:438:9:438:9 | i | variables.rs:436:13:436:13 | i | +| variables.rs:441:5:441:15 | AwaitExpr | variables.rs:436:13:436:13 | i | | variables.rs:445:8:445:8 | b | variables.rs:445:8:445:8 | b | | variables.rs:446:9:446:13 | x | variables.rs:446:13:446:13 | x | | variables.rs:449:5:457:5 | phi | variables.rs:446:13:446:13 | x | @@ -239,8 +241,8 @@ read | variables.rs:420:9:420:20 | closure2 | variables.rs:420:13:420:20 | closure2 | variables.rs:423:5:423:12 | closure2 | | variables.rs:423:5:423:14 | CallExpr | variables.rs:418:13:418:13 | y | variables.rs:424:15:424:15 | y | | variables.rs:428:9:428:20 | closure3 | variables.rs:428:13:428:20 | closure3 | variables.rs:431:5:431:12 | closure3 | -| variables.rs:436:9:436:13 | i | variables.rs:436:13:436:13 | i | variables.rs:442:15:442:15 | i | | variables.rs:437:9:437:13 | block | variables.rs:437:9:437:13 | block | variables.rs:441:5:441:9 | block | +| variables.rs:441:5:441:15 | AwaitExpr | variables.rs:436:13:436:13 | i | variables.rs:442:15:442:15 | i | | variables.rs:445:8:445:8 | b | variables.rs:445:8:445:8 | b | variables.rs:449:8:449:8 | b | | variables.rs:446:9:446:13 | x | variables.rs:446:13:446:13 | x | variables.rs:447:15:447:15 | x | | variables.rs:446:9:446:13 | x | variables.rs:446:13:446:13 | x | variables.rs:448:15:448:15 | x | @@ -343,8 +345,8 @@ firstRead | variables.rs:420:9:420:20 | closure2 | variables.rs:420:13:420:20 | closure2 | variables.rs:423:5:423:12 | closure2 | | variables.rs:423:5:423:14 | CallExpr | variables.rs:418:13:418:13 | y | variables.rs:424:15:424:15 | y | | variables.rs:428:9:428:20 | closure3 | variables.rs:428:13:428:20 | closure3 | variables.rs:431:5:431:12 | closure3 | -| variables.rs:436:9:436:13 | i | variables.rs:436:13:436:13 | i | variables.rs:442:15:442:15 | i | | variables.rs:437:9:437:13 | block | variables.rs:437:9:437:13 | block | variables.rs:441:5:441:9 | block | +| variables.rs:441:5:441:15 | AwaitExpr | variables.rs:436:13:436:13 | i | variables.rs:442:15:442:15 | i | | variables.rs:445:8:445:8 | b | variables.rs:445:8:445:8 | b | variables.rs:449:8:449:8 | b | | variables.rs:446:9:446:13 | x | variables.rs:446:13:446:13 | x | variables.rs:447:15:447:15 | x | | variables.rs:449:5:457:5 | phi | variables.rs:446:13:446:13 | x | variables.rs:458:15:458:15 | x | @@ -443,8 +445,8 @@ lastRead | variables.rs:420:9:420:20 | closure2 | variables.rs:420:13:420:20 | closure2 | variables.rs:423:5:423:12 | closure2 | | variables.rs:423:5:423:14 | CallExpr | variables.rs:418:13:418:13 | y | variables.rs:424:15:424:15 | y | | variables.rs:428:9:428:20 | closure3 | variables.rs:428:13:428:20 | closure3 | variables.rs:431:5:431:12 | closure3 | -| variables.rs:436:9:436:13 | i | variables.rs:436:13:436:13 | i | variables.rs:442:15:442:15 | i | | variables.rs:437:9:437:13 | block | variables.rs:437:9:437:13 | block | variables.rs:441:5:441:9 | block | +| variables.rs:441:5:441:15 | AwaitExpr | variables.rs:436:13:436:13 | i | variables.rs:442:15:442:15 | i | | variables.rs:445:8:445:8 | b | variables.rs:445:8:445:8 | b | variables.rs:449:8:449:8 | b | | variables.rs:446:9:446:13 | x | variables.rs:446:13:446:13 | x | variables.rs:448:15:448:15 | x | | variables.rs:449:5:457:5 | phi | variables.rs:446:13:446:13 | x | variables.rs:458:15:458:15 | x | @@ -554,5 +556,6 @@ assigns | variables.rs:23:5:23:6 | x2 | variables.rs:23:10:23:10 | 5 | | variables.rs:30:5:30:5 | x | variables.rs:30:9:30:9 | 2 | | variables.rs:421:9:421:9 | y | variables.rs:421:13:421:13 | 3 | +| variables.rs:438:9:438:9 | i | variables.rs:438:13:438:13 | 1 | | variables.rs:450:9:450:9 | x | variables.rs:450:13:450:13 | 2 | | variables.rs:454:9:454:9 | x | variables.rs:454:13:454:13 | 3 | diff --git a/rust/ql/test/library-tests/variables/variables.expected b/rust/ql/test/library-tests/variables/variables.expected index 908ab40fc22e..6425411a3601 100644 --- a/rust/ql/test/library-tests/variables/variables.expected +++ b/rust/ql/test/library-tests/variables/variables.expected @@ -461,8 +461,10 @@ capturedVariable | variables.rs:410:13:410:13 | x | | variables.rs:418:13:418:13 | y | | variables.rs:426:13:426:13 | z | +| variables.rs:436:13:436:13 | i | capturedAccess | variables.rs:403:19:403:19 | x | | variables.rs:413:19:413:19 | x | | variables.rs:421:9:421:9 | y | | variables.rs:429:9:429:9 | z | +| variables.rs:438:9:438:9 | i | From 916184964b146bd183d4538a4fb90cceb9ba195d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 11 Nov 2024 03:24:36 +0000 Subject: [PATCH 070/347] Bump golang.org/x/tools Bumps the extractor-dependencies group in /go/extractor with 1 update: [golang.org/x/tools](https://github.com/golang/tools). Updates `golang.org/x/tools` from 0.26.0 to 0.27.0 - [Release notes](https://github.com/golang/tools/releases) - [Commits](https://github.com/golang/tools/compare/v0.26.0...v0.27.0) --- updated-dependencies: - dependency-name: golang.org/x/tools dependency-type: direct:production update-type: version-update:semver-minor dependency-group: extractor-dependencies ... Signed-off-by: dependabot[bot] --- go/extractor/go.mod | 4 ++-- go/extractor/go.sum | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/go/extractor/go.mod b/go/extractor/go.mod index 15316c19b13d..c5e1ecf09ff7 100644 --- a/go/extractor/go.mod +++ b/go/extractor/go.mod @@ -10,7 +10,7 @@ toolchain go1.23.1 // bazel mod tidy require ( golang.org/x/mod v0.22.0 - golang.org/x/tools v0.26.0 + golang.org/x/tools v0.27.0 ) -require golang.org/x/sync v0.8.0 // indirect +require golang.org/x/sync v0.9.0 // indirect diff --git a/go/extractor/go.sum b/go/extractor/go.sum index de432659282e..a10e428fcbc6 100644 --- a/go/extractor/go.sum +++ b/go/extractor/go.sum @@ -1,6 +1,6 @@ golang.org/x/mod v0.22.0 h1:D4nJWe9zXqHOmWqj4VMOJhvzj7bEZg4wEYa759z1pH4= golang.org/x/mod v0.22.0/go.mod h1:6SkKJ3Xj0I0BrPOZoBy3bdMptDDU9oJrpohJ3eWZ1fY= -golang.org/x/sync v0.8.0 h1:3NFvSEYkUoMifnESzZl15y791HH1qU2xm6eCJU5ZPXQ= -golang.org/x/sync v0.8.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= -golang.org/x/tools v0.26.0 h1:v/60pFQmzmT9ExmjDv2gGIfi3OqfKoEP6I5+umXlbnQ= -golang.org/x/tools v0.26.0/go.mod h1:TPVVj70c7JJ3WCazhD8OdXcZg/og+b9+tH/KxylGwH0= +golang.org/x/sync v0.9.0 h1:fEo0HyrW1GIgZdpbhCRO0PkJajUS5H9IFUztCgEo2jQ= +golang.org/x/sync v0.9.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/tools v0.27.0 h1:qEKojBykQkQ4EynWy4S8Weg69NumxKdn40Fce3uc/8o= +golang.org/x/tools v0.27.0/go.mod h1:sUi0ZgbwW9ZPAq26Ekut+weQPR5eIM6GQLQ1Yjm1H0Q= From f1c6dc1d9bff7b5d4a98e6342d0cea10e183cb58 Mon Sep 17 00:00:00 2001 From: Napalys Date: Fri, 8 Nov 2024 12:05:31 +0100 Subject: [PATCH 071/347] Moved SortTaintStep to more appropriate home TaintTracking->Arrays --- javascript/ql/lib/semmle/javascript/Arrays.qll | 13 +++++++++++++ .../semmle/javascript/dataflow/TaintTracking.qll | 13 ------------- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/javascript/ql/lib/semmle/javascript/Arrays.qll b/javascript/ql/lib/semmle/javascript/Arrays.qll index a7cf62078a1c..5a470be6bd81 100644 --- a/javascript/ql/lib/semmle/javascript/Arrays.qll +++ b/javascript/ql/lib/semmle/javascript/Arrays.qll @@ -444,4 +444,17 @@ private module ArrayLibraries { ) } } + + /** + * A taint propagating data flow edge arising from sorting. + */ + private class SortTaintStep extends TaintTracking::SharedTaintStep { + override predicate heapStep(DataFlow::Node pred, DataFlow::Node succ) { + exists(DataFlow::MethodCallNode call | + call.getMethodName() = "sort" and + pred = call.getReceiver() and + succ = call + ) + } + } } diff --git a/javascript/ql/lib/semmle/javascript/dataflow/TaintTracking.qll b/javascript/ql/lib/semmle/javascript/dataflow/TaintTracking.qll index 11ce802ac720..1839d9d40613 100644 --- a/javascript/ql/lib/semmle/javascript/dataflow/TaintTracking.qll +++ b/javascript/ql/lib/semmle/javascript/dataflow/TaintTracking.qll @@ -869,19 +869,6 @@ module TaintTracking { } } - /** - * A taint propagating data flow edge arising from sorting. - */ - private class SortTaintStep extends SharedTaintStep { - override predicate heapStep(DataFlow::Node pred, DataFlow::Node succ) { - exists(DataFlow::MethodCallNode call | - call.getMethodName() = "sort" and - pred = call.getReceiver() and - succ = call - ) - } - } - /** * A taint step through an exception constructor, such as `x` to `new Error(x)`. */ From 1c298f0231e0ffb68b94796dd7116c4762ce65ee Mon Sep 17 00:00:00 2001 From: Napalys Date: Fri, 8 Nov 2024 12:23:21 +0100 Subject: [PATCH 072/347] Added test case for Array.prototype.reverse, which is currently not flagged as a potential sink. --- javascript/ql/test/library-tests/TaintTracking/tst.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/javascript/ql/test/library-tests/TaintTracking/tst.js b/javascript/ql/test/library-tests/TaintTracking/tst.js index dd9829c9e0b7..4aed8c1d6f32 100644 --- a/javascript/ql/test/library-tests/TaintTracking/tst.js +++ b/javascript/ql/test/library-tests/TaintTracking/tst.js @@ -57,4 +57,6 @@ function test() { } tagged`foo ${"safe"} bar ${x} baz`; + + sink(x.reverse()); // NOT OK -- Should be caught but isn't } From 81bc7cd19f4c114c1143429a2d4a3cedbe3ffbc4 Mon Sep 17 00:00:00 2001 From: Napalys Date: Fri, 8 Nov 2024 12:30:39 +0100 Subject: [PATCH 073/347] Refactored SortTaintStep to ArrayInPlaceManipulationTaintStep to support both sort and reverse functions. Fixed newly added test case. from 8026a99db756fe7a91d21a4912426d979794c7ca --- javascript/ql/lib/semmle/javascript/Arrays.qll | 6 +++--- .../library-tests/TaintTracking/BasicTaintTracking.expected | 1 + javascript/ql/test/library-tests/TaintTracking/tst.js | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/javascript/ql/lib/semmle/javascript/Arrays.qll b/javascript/ql/lib/semmle/javascript/Arrays.qll index 5a470be6bd81..46d0c2686a86 100644 --- a/javascript/ql/lib/semmle/javascript/Arrays.qll +++ b/javascript/ql/lib/semmle/javascript/Arrays.qll @@ -446,12 +446,12 @@ private module ArrayLibraries { } /** - * A taint propagating data flow edge arising from sorting. + * A taint propagating data flow edge arising from in-place array manipulation operations. */ - private class SortTaintStep extends TaintTracking::SharedTaintStep { + private class ArrayInPlaceManipulationTaintStep extends TaintTracking::SharedTaintStep { override predicate heapStep(DataFlow::Node pred, DataFlow::Node succ) { exists(DataFlow::MethodCallNode call | - call.getMethodName() = "sort" and + call.getMethodName() in ["sort", "reverse"] and pred = call.getReceiver() and succ = call ) diff --git a/javascript/ql/test/library-tests/TaintTracking/BasicTaintTracking.expected b/javascript/ql/test/library-tests/TaintTracking/BasicTaintTracking.expected index 3856d2ae6899..b1f3e7b26bda 100644 --- a/javascript/ql/test/library-tests/TaintTracking/BasicTaintTracking.expected +++ b/javascript/ql/test/library-tests/TaintTracking/BasicTaintTracking.expected @@ -233,6 +233,7 @@ typeInferenceMismatch | tst.js:2:13:2:20 | source() | tst.js:48:10:48:22 | new Buffer(x) | | tst.js:2:13:2:20 | source() | tst.js:51:10:51:31 | seriali ... ript(x) | | tst.js:2:13:2:20 | source() | tst.js:54:14:54:19 | unsafe | +| tst.js:2:13:2:20 | source() | tst.js:61:10:61:20 | x.reverse() | | xml.js:5:18:5:25 | source() | xml.js:8:14:8:17 | text | | xml.js:12:17:12:24 | source() | xml.js:13:14:13:19 | result | | xml.js:23:18:23:25 | source() | xml.js:20:14:20:17 | attr | diff --git a/javascript/ql/test/library-tests/TaintTracking/tst.js b/javascript/ql/test/library-tests/TaintTracking/tst.js index 4aed8c1d6f32..475e6fdbff0e 100644 --- a/javascript/ql/test/library-tests/TaintTracking/tst.js +++ b/javascript/ql/test/library-tests/TaintTracking/tst.js @@ -58,5 +58,5 @@ function test() { tagged`foo ${"safe"} bar ${x} baz`; - sink(x.reverse()); // NOT OK -- Should be caught but isn't + sink(x.reverse()); // NOT OK } From 55796badafd1cb833c08f786c7259f42c5a2de86 Mon Sep 17 00:00:00 2001 From: Simon Friis Vindum Date: Mon, 11 Nov 2024 08:40:40 +0100 Subject: [PATCH 074/347] Rust: Mark SSA data flow nodes in output and hide them in paths --- .../rust/dataflow/internal/DataFlowImpl.qll | 7 ++---- .../dataflow/local/DataFlowStep.expected | 24 +++++++++---------- 2 files changed, 14 insertions(+), 17 deletions(-) diff --git a/rust/ql/lib/codeql/rust/dataflow/internal/DataFlowImpl.qll b/rust/ql/lib/codeql/rust/dataflow/internal/DataFlowImpl.qll index b178e97acfe6..0af7d46cc1ed 100644 --- a/rust/ql/lib/codeql/rust/dataflow/internal/DataFlowImpl.qll +++ b/rust/ql/lib/codeql/rust/dataflow/internal/DataFlowImpl.qll @@ -180,12 +180,9 @@ module Node { SsaImpl::DefinitionExt getDefinitionExt() { result = def } - /** Holds if this node should be hidden from path explanations. */ - abstract predicate isHidden(); - override Location getLocation() { result = node.getLocation() } - override string toString() { result = node.toString() } + override string toString() { result = "[SSA] " + node.toString() } } /** A data flow node that represents a value returned by a callable. */ @@ -318,7 +315,7 @@ module RustDataFlow implements InputSig { DataFlowType getNodeType(Node node) { any() } - predicate nodeIsHidden(Node node) { none() } + predicate nodeIsHidden(Node node) { node instanceof Node::SsaNode } class DataFlowExpr = ExprCfgNode; diff --git a/rust/ql/test/library-tests/dataflow/local/DataFlowStep.expected b/rust/ql/test/library-tests/dataflow/local/DataFlowStep.expected index 1d1886618bbc..1faa79ed4583 100644 --- a/rust/ql/test/library-tests/dataflow/local/DataFlowStep.expected +++ b/rust/ql/test/library-tests/dataflow/local/DataFlowStep.expected @@ -1,24 +1,24 @@ -| main.rs:2:9:2:9 | s | main.rs:3:33:3:33 | s | -| main.rs:6:18:6:21 | cond | main.rs:9:16:9:19 | cond | -| main.rs:7:9:7:9 | a | main.rs:10:9:10:9 | a | -| main.rs:8:9:8:9 | b | main.rs:12:9:12:9 | b | -| main.rs:9:9:9:9 | c | main.rs:14:5:14:5 | c | +| main.rs:2:9:2:9 | [SSA] s | main.rs:3:33:3:33 | s | +| main.rs:6:18:6:21 | [SSA] cond | main.rs:9:16:9:19 | cond | +| main.rs:7:9:7:9 | [SSA] a | main.rs:10:9:10:9 | a | +| main.rs:8:9:8:9 | [SSA] b | main.rs:12:9:12:9 | b | +| main.rs:9:9:9:9 | [SSA] c | main.rs:14:5:14:5 | c | | main.rs:9:21:11:5 | BlockExpr | main.rs:9:13:13:5 | IfExpr | | main.rs:10:9:10:9 | a | main.rs:9:21:11:5 | BlockExpr | | main.rs:11:12:13:5 | BlockExpr | main.rs:9:13:13:5 | IfExpr | | main.rs:12:9:12:9 | b | main.rs:11:12:13:5 | BlockExpr | | main.rs:14:5:14:5 | c | main.rs:6:37:15:1 | BlockExpr | -| main.rs:18:9:18:9 | a | main.rs:20:15:20:15 | a | -| main.rs:19:9:19:9 | b | main.rs:22:5:22:5 | b | +| main.rs:18:9:18:9 | [SSA] a | main.rs:20:15:20:15 | a | +| main.rs:19:9:19:9 | [SSA] b | main.rs:22:5:22:5 | b | | main.rs:20:9:20:15 | BreakExpr | main.rs:19:13:21:5 | LoopExpr | | main.rs:20:15:20:15 | a | main.rs:20:9:20:15 | BreakExpr | | main.rs:22:5:22:5 | b | main.rs:17:29:23:1 | BlockExpr | -| main.rs:27:5:27:5 | i | main.rs:27:5:27:5 | i | -| main.rs:27:5:27:5 | i | main.rs:28:5:28:5 | i | +| main.rs:27:5:27:5 | [SSA] i | main.rs:28:5:28:5 | i | +| main.rs:27:5:27:5 | i | main.rs:27:5:27:5 | [SSA] i | | main.rs:28:5:28:5 | i | main.rs:25:24:29:1 | BlockExpr | -| main.rs:31:21:31:21 | a | main.rs:33:20:33:20 | a | -| main.rs:31:29:31:29 | b | main.rs:34:17:34:17 | b | -| main.rs:31:37:31:37 | c | main.rs:32:11:32:11 | c | +| main.rs:31:21:31:21 | [SSA] a | main.rs:33:20:33:20 | a | +| main.rs:31:29:31:29 | [SSA] b | main.rs:34:17:34:17 | b | +| main.rs:31:37:31:37 | [SSA] c | main.rs:32:11:32:11 | c | | main.rs:32:5:35:5 | MatchExpr | main.rs:31:60:36:1 | BlockExpr | | main.rs:33:20:33:20 | a | main.rs:32:5:35:5 | MatchExpr | | main.rs:34:17:34:17 | b | main.rs:32:5:35:5 | MatchExpr | From db1b69868948058cfec0ef14e7beed166f4f736c Mon Sep 17 00:00:00 2001 From: Simon Friis Vindum Date: Mon, 11 Nov 2024 08:59:34 +0100 Subject: [PATCH 075/347] Rust: Accept fixed spurious results --- .../unusedentities/CONSISTENCY/DataFlowConsistency.expected | 3 +++ rust/ql/test/query-tests/unusedentities/UnusedValue.expected | 2 -- rust/ql/test/query-tests/unusedentities/unreachable.rs | 4 ++-- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/rust/ql/test/query-tests/unusedentities/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/query-tests/unusedentities/CONSISTENCY/DataFlowConsistency.expected index b59b965efa12..d0187119e01c 100644 --- a/rust/ql/test/query-tests/unusedentities/CONSISTENCY/DataFlowConsistency.expected +++ b/rust/ql/test/query-tests/unusedentities/CONSISTENCY/DataFlowConsistency.expected @@ -218,6 +218,9 @@ uniqueCallEnclosingCallable | unreachable.rs:294:13:294:32 | CallExpr | Call should have one enclosing callable but has 0. | | unreachable.rs:296:9:296:22 | CallExpr | Call should have one enclosing callable but has 0. | | unreachable.rs:301:13:301:32 | CallExpr | Call should have one enclosing callable but has 0. | +| unreachable.rs:306:5:306:18 | CallExpr | Call should have one enclosing callable but has 0. | +| unreachable.rs:308:5:308:18 | CallExpr | Call should have one enclosing callable but has 0. | +| unreachable.rs:310:5:310:18 | CallExpr | Call should have one enclosing callable but has 0. | | unreachable.rs:318:22:318:41 | CallExpr | Call should have one enclosing callable but has 0. | | unreachable.rs:319:9:319:22 | CallExpr | Call should have one enclosing callable but has 0. | | unreachable.rs:322:9:322:22 | CallExpr | Call should have one enclosing callable but has 0. | diff --git a/rust/ql/test/query-tests/unusedentities/UnusedValue.expected b/rust/ql/test/query-tests/unusedentities/UnusedValue.expected index 6eebfc870bf3..f8538e5b8bc8 100644 --- a/rust/ql/test/query-tests/unusedentities/UnusedValue.expected +++ b/rust/ql/test/query-tests/unusedentities/UnusedValue.expected @@ -18,5 +18,3 @@ | more.rs:44:9:44:14 | a_ptr4 | Variable $@ is assigned a value that is never used. | more.rs:44:9:44:14 | a_ptr4 | a_ptr4 | | more.rs:59:9:59:13 | d_ptr | Variable $@ is assigned a value that is never used. | more.rs:59:9:59:13 | d_ptr | d_ptr | | more.rs:65:9:65:17 | f_ptr | Variable $@ is assigned a value that is never used. | more.rs:65:13:65:17 | f_ptr | f_ptr | -| unreachable.rs:292:9:292:15 | for_ten | Variable $@ is assigned a value that is never used. | unreachable.rs:292:9:292:15 | for_ten | for_ten | -| unreachable.rs:299:9:299:16 | for_ever | Variable $@ is assigned a value that is never used. | unreachable.rs:299:9:299:16 | for_ever | for_ever | diff --git a/rust/ql/test/query-tests/unusedentities/unreachable.rs b/rust/ql/test/query-tests/unusedentities/unreachable.rs index 5f26863b6257..f55459a0e6e7 100644 --- a/rust/ql/test/query-tests/unusedentities/unreachable.rs +++ b/rust/ql/test/query-tests/unusedentities/unreachable.rs @@ -289,14 +289,14 @@ pub fn unreachable_loop() { async fn do_something_async() {} pub async fn unreachable_loop_async() { - let for_ten = async { // $ SPURIOUS: Alert[rust/unused-value] + let for_ten = async { for _ in 1..10 { do_something_async().await; } do_something(); }; - let for_ever = async { // $ SPURIOUS: Alert[rust/unused-value] + let for_ever = async { loop { do_something_async().await; } From 9f0fba16cd615f00db3570b1f2e9a7b94252fd59 Mon Sep 17 00:00:00 2001 From: Simon Friis Vindum Date: Mon, 11 Nov 2024 09:15:53 +0100 Subject: [PATCH 076/347] Rust: Fix grammar and add documentation comments --- rust/ql/lib/codeql/rust/controlflow/internal/Scope.qll | 2 ++ rust/ql/lib/codeql/rust/elements/AsyncBlockExpr.qll | 6 +++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/rust/ql/lib/codeql/rust/controlflow/internal/Scope.qll b/rust/ql/lib/codeql/rust/controlflow/internal/Scope.qll index 0adcef156c00..dcbf3548c390 100644 --- a/rust/ql/lib/codeql/rust/controlflow/internal/Scope.qll +++ b/rust/ql/lib/codeql/rust/controlflow/internal/Scope.qll @@ -7,8 +7,10 @@ private import codeql.rust.elements.internal.generated.ParentChild * A control-flow graph (CFG) scope. */ abstract private class CfgScopeImpl extends AstNode { + /** Holds if `first` is executed first when entering `scope`. */ abstract predicate scopeFirst(AstNode first); + /** Holds if `scope` is exited when `last` finishes with completion `c`. */ abstract predicate scopeLast(AstNode last, Completion c); } diff --git a/rust/ql/lib/codeql/rust/elements/AsyncBlockExpr.qll b/rust/ql/lib/codeql/rust/elements/AsyncBlockExpr.qll index e590f999c9ac..951452cdf248 100644 --- a/rust/ql/lib/codeql/rust/elements/AsyncBlockExpr.qll +++ b/rust/ql/lib/codeql/rust/elements/AsyncBlockExpr.qll @@ -1,7 +1,11 @@ +/** + * This module provides the public class `AsyncBlockExpr`. + */ + private import codeql.rust.elements.BlockExpr /** - * A async block expression. For example: + * An async block expression. For example: * ```rust * async { * let x = 42; From 07c59f75622cc328c51d9c836961b0c8d3aa05b6 Mon Sep 17 00:00:00 2001 From: Paolo Tranquilli Date: Mon, 11 Nov 2024 09:55:46 +0100 Subject: [PATCH 077/347] Rust: fix integration tests --- .../integration-tests/options/test_options.py | 21 ++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/rust/ql/integration-tests/options/test_options.py b/rust/ql/integration-tests/options/test_options.py index 8208b75f7039..73258b41b473 100644 --- a/rust/ql/integration-tests/options/test_options.py +++ b/rust/ql/integration-tests/options/test_options.py @@ -22,17 +22,28 @@ def test_target_linux(codeql, rust): @pytest.mark.ql_test("cfg_functions.ql", expected=".override.expected") @pytest.mark.ql_test("arch_functions.ql", expected=f".{platform.system()}.expected") def test_cfg_override(codeql, rust): - # currently codeql CLI has a limitation not allow to pass `=` in values via `--extractor-option` - os.environ["CODEQL_EXTRACTOR_RUST_OPTION_CARGO_CFG_OVERRIDES"] = "cfg_flag,cfg_key=value,-target_pointer_width=64,target_pointer_width=32,test" - codeql.database.create() + overrides = ",".join(( + "cfg_flag", + "cfg_key=value", + "-target_pointer_width=64", + "target_pointer_width=32", + "test", + )) + codeql.database.create(extractor_option=f"cargo_cfg_overrides={overrides}") @pytest.mark.ql_test("arch_functions.ql", expected=f".{platform.system()}.expected") @pytest.mark.parametrize("features", [ pytest.param(p, marks=pytest.mark.ql_test("feature_functions.ql", expected=f".{e}.expected"), - id="all" if p == "*" else p) # CI does not like tests with *... - for p, e in (("foo", "foo"), ("bar", "bar"), ("*", "all"), ("foo,bar", "all")) + id=id) + for p, e, id in ( + ("foo", "foo", "foo"), + ("bar", "bar", "bar"), + # as long as the integration test runner does not sanitize filenames we must + # replace `*` and `,` in the parameter id + ("*", "all", "all"), + ("foo,bar", "all", "foo+bar")) ]) def test_features(codeql, rust, features): codeql.database.create(extractor_option=f"cargo_features={features}") From 404ca27aecef46df2ce38887782c5728ef8043cd Mon Sep 17 00:00:00 2001 From: Michael Nebel Date: Mon, 11 Nov 2024 10:08:45 +0100 Subject: [PATCH 078/347] Java: Move non-experimental models out of the experimental folder. --- .../lib/ext/experimental/java.nio.model.yml | 8 ------ .../ext/experimental/java.util.zip.model.yml | 6 ----- .../org.apache.shiro.authc.model.yml | 6 ----- .../s3-transfer-manager.model.yml | 13 ---------- .../ext/experimental/spring-core.model.yml | 26 ------------------- java/ql/lib/ext/java.nio.model.yml | 8 ++++++ java/ql/lib/ext/java.util.zip.model.yml | 1 + ....model.yml => net.lingala.zip4j.model.yml} | 0 .../lib/ext/org.apache.shiro.authc.model.yml | 6 +++++ .../ext/org.springframework.core.io.model.yml | 22 ++++++++++++++++ ....amazon.awssdk.transfer.s3.model.model.yml | 13 ++++++++++ 11 files changed, 50 insertions(+), 59 deletions(-) delete mode 100644 java/ql/lib/ext/experimental/java.nio.model.yml delete mode 100644 java/ql/lib/ext/experimental/java.util.zip.model.yml delete mode 100644 java/ql/lib/ext/experimental/org.apache.shiro.authc.model.yml delete mode 100644 java/ql/lib/ext/experimental/s3-transfer-manager.model.yml delete mode 100644 java/ql/lib/ext/experimental/spring-core.model.yml rename java/ql/lib/ext/{experimental/zip4j.model.yml => net.lingala.zip4j.model.yml} (100%) create mode 100644 java/ql/lib/ext/org.apache.shiro.authc.model.yml create mode 100644 java/ql/lib/ext/software.amazon.awssdk.transfer.s3.model.model.yml diff --git a/java/ql/lib/ext/experimental/java.nio.model.yml b/java/ql/lib/ext/experimental/java.nio.model.yml deleted file mode 100644 index 6d6af865a395..000000000000 --- a/java/ql/lib/ext/experimental/java.nio.model.yml +++ /dev/null @@ -1,8 +0,0 @@ -extensions: - - addsTo: - pack: codeql/java-all - extensible: sinkModel - data: - - ["java.nio.file","FileSystems",true,"getFileSystem","(URI)","","Argument[0]","path-injection","manual"] - - ["java.nio.channels","AsynchronousFileChannel",true,"open","(Path,OpenOption[])","","Argument[0]","path-injection","manual"] - - ["java.nio.channels","AsynchronousFileChannel",true,"open","(Path,Set,ExecutorService,FileAttribute[])","","Argument[0]","path-injection","manual"] \ No newline at end of file diff --git a/java/ql/lib/ext/experimental/java.util.zip.model.yml b/java/ql/lib/ext/experimental/java.util.zip.model.yml deleted file mode 100644 index fb7b8f6671b7..000000000000 --- a/java/ql/lib/ext/experimental/java.util.zip.model.yml +++ /dev/null @@ -1,6 +0,0 @@ -extensions: - - addsTo: - pack: codeql/java-all - extensible: sinkModel - data: - - ["java.util.zip","ZipFile",true,"ZipFile","(String)","","Argument[0]","path-injection","manual"] \ No newline at end of file diff --git a/java/ql/lib/ext/experimental/org.apache.shiro.authc.model.yml b/java/ql/lib/ext/experimental/org.apache.shiro.authc.model.yml deleted file mode 100644 index 6602a9caf7c3..000000000000 --- a/java/ql/lib/ext/experimental/org.apache.shiro.authc.model.yml +++ /dev/null @@ -1,6 +0,0 @@ -extensions: - - addsTo: - pack: codeql/java-all - extensible: sourceModel - data: - - ["org.apache.shiro.authc","AuthenticationToken",true,"getCredentials","()","","ReturnValue","remote","manual"] \ No newline at end of file diff --git a/java/ql/lib/ext/experimental/s3-transfer-manager.model.yml b/java/ql/lib/ext/experimental/s3-transfer-manager.model.yml deleted file mode 100644 index bd3a385ac04d..000000000000 --- a/java/ql/lib/ext/experimental/s3-transfer-manager.model.yml +++ /dev/null @@ -1,13 +0,0 @@ -extensions: - - addsTo: - pack: codeql/java-all - extensible: sinkModel - data: - - ["software.amazon.awssdk.transfer.s3.model","ResumableFileUpload",true,"serializeToFile","(Path)","","Argument[0]","path-injection","manual"] - - ["software.amazon.awssdk.transfer.s3.model","DownloadFileRequest$Builder",true,"destination","(Path)","","Argument[0]","path-injection","manual"] - - ["software.amazon.awssdk.transfer.s3.model","UploadFileRequest$Builder",true,"source","(Path)","","Argument[0]","path-injection","manual"] - - ["software.amazon.awssdk.transfer.s3.model","DownloadDirectoryRequest$Builder",true,"destination","(Path)","","Argument[0]","path-injection","manual"] - - ["software.amazon.awssdk.transfer.s3.model","ResumableFileDownload",true,"fromFile","(Path)","","Argument[0]","path-injection","manual"] - - ["software.amazon.awssdk.transfer.s3.model","ResumableFileDownload",true,"serializeToFile","(Path)","","Argument[0]","path-injection","manual"] - - ["software.amazon.awssdk.transfer.s3.model","ResumableFileUpload",true,"fromFile","(Path)","","Argument[0]","path-injection","manual"] - - ["software.amazon.awssdk.transfer.s3.model","UploadDirectoryRequest$Builder",true,"source","(Path)","","Argument[0]","path-injection","manual"] diff --git a/java/ql/lib/ext/experimental/spring-core.model.yml b/java/ql/lib/ext/experimental/spring-core.model.yml deleted file mode 100644 index a43486504723..000000000000 --- a/java/ql/lib/ext/experimental/spring-core.model.yml +++ /dev/null @@ -1,26 +0,0 @@ -extensions: - - addsTo: - pack: codeql/java-all - extensible: sinkModel - data: - - ["org.springframework.core.io","FileSystemResource",true,"FileSystemResource","(FileSystem,String)","","Argument[1]","path-injection","manual"] - - ["org.springframework.core.io","FileSystemResource",true,"FileSystemResource","(File)","","Argument[0]","path-injection","manual"] - - ["org.springframework.core.io","FileSystemResource",true,"FileSystemResource","(Path)","","Argument[0]","path-injection","manual"] - - ["org.springframework.core.io","FileSystemResource",true,"FileSystemResource","(String)","","Argument[0]","path-injection","manual"] - - ["org.springframework.core.io","FileUrlResource",true,"FileUrlResource","(String)","","Argument[0]","path-injection","manual"] - - ["org.springframework.core.io","FileUrlResource",true,"FileUrlResource","(URL)","","Argument[0]","path-injection","manual"] - - ["org.springframework.core.io","PathResource",true,"PathResource","(Path)","","Argument[0]","path-injection","manual"] - - ["org.springframework.core.io","PathResource",true,"PathResource","(String)","","Argument[0]","path-injection","manual"] - - ["org.springframework.core.io","PathResource",true,"PathResource","(URI)","","Argument[0]","path-injection","manual"] - - ["org.springframework.core.io","UrlResource",true,"UrlResource","(String,String,String)","","Argument[1]","path-injection","manual"] - - ["org.springframework.core.io","UrlResource",true,"UrlResource","(String,String)","","Argument[1]","path-injection","manual"] - - ["org.springframework.core.io","UrlResource",true,"UrlResource","(String)","","Argument[0]","path-injection","manual"] - - ["org.springframework.core.io","UrlResource",true,"UrlResource","(URI)","","Argument[0]","path-injection","manual"] - - ["org.springframework.core.io","UrlResource",true,"UrlResource","(URL)","","Argument[0]","path-injection","manual"] - - ["org.springframework.util","FileSystemUtils",true,"copyRecursively","(Path,Path)","","Argument[0]","path-injection","manual"] - - ["org.springframework.util","FileSystemUtils",true,"copyRecursively","(Path,Path)","","Argument[1]","path-injection","manual"] - - ["org.springframework.util","FileSystemUtils",true,"deleteRecursively","(File)","","Argument[0]","path-injection","manual"] - - ["org.springframework.util","FileSystemUtils",true,"deleteRecursively","(Path)","","Argument[0]","path-injection","manual"] - - ["org.springframework.util","ResourceUtils",true,"getFile","(String)","","Argument[0]","path-injection","manual"] - - ["org.springframework.util","FileCopyUtils",true,"copyToByteArray","(File)","","Argument[0]","path-injection","manual"] - - ["org.springframework.util","FileSystemUtils",true,"copyRecursively","(File,File)","","Argument[0]","path-injection","manual"] diff --git a/java/ql/lib/ext/java.nio.model.yml b/java/ql/lib/ext/java.nio.model.yml index 40c12b6c6332..773878827455 100644 --- a/java/ql/lib/ext/java.nio.model.yml +++ b/java/ql/lib/ext/java.nio.model.yml @@ -1,4 +1,12 @@ extensions: + - addsTo: + pack: codeql/java-all + extensible: sinkModel + data: + - ["java.nio.file", "FileSystems", True, "getFileSystem", "(URI)", "", "Argument[0]", "path-injection", "manual"] + - ["java.nio.channels", "AsynchronousFileChannel", True, "open", "(Path,OpenOption[])", "", "Argument[0]", "path-injection", "manual"] + - ["java.nio.channels", "AsynchronousFileChannel", True, "open", "(Path,Set,ExecutorService,FileAttribute[])", "", "Argument[0]", "path-injection", "manual"] + - addsTo: pack: codeql/java-all extensible: summaryModel diff --git a/java/ql/lib/ext/java.util.zip.model.yml b/java/ql/lib/ext/java.util.zip.model.yml index 51957db1e90b..dc24570995f8 100644 --- a/java/ql/lib/ext/java.util.zip.model.yml +++ b/java/ql/lib/ext/java.util.zip.model.yml @@ -25,3 +25,4 @@ extensions: extensible: sinkModel data: - ["java.util.zip", "ZipOutputStream", True, "putNextEntry", "(ZipEntry)", "", "Argument[0]", "file-content-store", "ai-manual"] + - ["java.util.zip", "ZipFile", True, "ZipFile", "(String)", "", "Argument[0]", "path-injection", "manual"] diff --git a/java/ql/lib/ext/experimental/zip4j.model.yml b/java/ql/lib/ext/net.lingala.zip4j.model.yml similarity index 100% rename from java/ql/lib/ext/experimental/zip4j.model.yml rename to java/ql/lib/ext/net.lingala.zip4j.model.yml diff --git a/java/ql/lib/ext/org.apache.shiro.authc.model.yml b/java/ql/lib/ext/org.apache.shiro.authc.model.yml new file mode 100644 index 000000000000..dbb3c06f40fd --- /dev/null +++ b/java/ql/lib/ext/org.apache.shiro.authc.model.yml @@ -0,0 +1,6 @@ +extensions: + - addsTo: + pack: codeql/java-all + extensible: sourceModel + data: + - ["org.apache.shiro.authc", "AuthenticationToken", True, "getCredentials", "()", "", "ReturnValue", "remote", "manual"] \ No newline at end of file diff --git a/java/ql/lib/ext/org.springframework.core.io.model.yml b/java/ql/lib/ext/org.springframework.core.io.model.yml index 86be969c03ac..7ef9e7ced4d1 100644 --- a/java/ql/lib/ext/org.springframework.core.io.model.yml +++ b/java/ql/lib/ext/org.springframework.core.io.model.yml @@ -6,6 +6,28 @@ extensions: - ["org.springframework.core.io", "Resource", True, "createRelative", "(String)", "", "Argument[0]", "path-injection", "manual"] - ["org.springframework.core.io", "ResourceLoader", True, "getResource", "(String)", "", "Argument[0]", "path-injection", "ai-manual"] - ["org.springframework.core.io", "ResourceLoader", True, "getResource", "(String)", "", "Argument[0]", "request-forgery", "manual"] + - ["org.springframework.core.io", "FileSystemResource", True, "FileSystemResource", "(FileSystem,String)", "", "Argument[1]", "path-injection", "manual"] + - ["org.springframework.core.io", "FileSystemResource", True, "FileSystemResource", "(File)", "", "Argument[0]", "path-injection", "manual"] + - ["org.springframework.core.io", "FileSystemResource", True, "FileSystemResource", "(Path)", "", "Argument[0]", "path-injection", "manual"] + - ["org.springframework.core.io", "FileSystemResource", True, "FileSystemResource", "(String)", "", "Argument[0]", "path-injection", "manual"] + - ["org.springframework.core.io", "FileUrlResource", True, "FileUrlResource", "(String)", "", "Argument[0]", "path-injection", "manual"] + - ["org.springframework.core.io", "FileUrlResource", True, "FileUrlResource", "(URL)", "", "Argument[0]", "path-injection", "manual"] + - ["org.springframework.core.io", "PathResource", True, "PathResource", "(Path)", "", "Argument[0]", "path-injection", "manual"] + - ["org.springframework.core.io", "PathResource", True, "PathResource", "(String)", "", "Argument[0]", "path-injection", "manual"] + - ["org.springframework.core.io", "PathResource", True, "PathResource", "(URI)", "", "Argument[0]", "path-injection", "manual"] + - ["org.springframework.core.io", "UrlResource", True, "UrlResource", "(String,String,String)", "", "Argument[1]", "path-injection", "manual"] + - ["org.springframework.core.io", "UrlResource", True, "UrlResource", "(String,String)", "", "Argument[1]", "path-injection", "manual"] + - ["org.springframework.core.io", "UrlResource", True, "UrlResource", "(String)", "", "Argument[0]", "path-injection", "manual"] + - ["org.springframework.core.io", "UrlResource", True, "UrlResource", "(URI)", "", "Argument[0]", "path-injection", "manual"] + - ["org.springframework.core.io", "UrlResource", True, "UrlResource", "(URL)", "", "Argument[0]", "path-injection", "manual"] + - ["org.springframework.util", "FileSystemUtils", True, "copyRecursively", "(Path,Path)", "", "Argument[0]", "path-injection", "manual"] + - ["org.springframework.util", "FileSystemUtils", True, "copyRecursively", "(Path,Path)", "", "Argument[1]", "path-injection", "manual"] + - ["org.springframework.util", "FileSystemUtils", True, "deleteRecursively", "(File)", "", "Argument[0]", "path-injection", "manual"] + - ["org.springframework.util", "FileSystemUtils", True, "deleteRecursively", "(Path)", "", "Argument[0]", "path-injection", "manual"] + - ["org.springframework.util", "ResourceUtils", True, "getFile", "(String)", "", "Argument[0]", "path-injection", "manual"] + - ["org.springframework.util", "FileCopyUtils", True, "copyToByteArray", "(File)", "", "Argument[0]", "path-injection", "manual"] + - ["org.springframework.util", "FileSystemUtils", True, "copyRecursively", "(File,File)", "", "Argument[0]", "path-injection", "manual"] + - addsTo: pack: codeql/java-all extensible: summaryModel diff --git a/java/ql/lib/ext/software.amazon.awssdk.transfer.s3.model.model.yml b/java/ql/lib/ext/software.amazon.awssdk.transfer.s3.model.model.yml new file mode 100644 index 000000000000..e35ae485e392 --- /dev/null +++ b/java/ql/lib/ext/software.amazon.awssdk.transfer.s3.model.model.yml @@ -0,0 +1,13 @@ +extensions: + - addsTo: + pack: codeql/java-all + extensible: sinkModel + data: + - ["software.amazon.awssdk.transfer.s3.model", "ResumableFileUpload", True, "serializeToFile", "(Path)", "", "Argument[0]", "path-injection", "manual"] + - ["software.amazon.awssdk.transfer.s3.model", "DownloadFileRequest$Builder", True, "destination", "(Path)", "", "Argument[0]", "path-injection", "manual"] + - ["software.amazon.awssdk.transfer.s3.model", "UploadFileRequest$Builder", True, "source", "(Path)", "", "Argument[0]", "path-injection", "manual"] + - ["software.amazon.awssdk.transfer.s3.model", "DownloadDirectoryRequest$Builder", True, "destination", "(Path)", "", "Argument[0]", "path-injection", "manual"] + - ["software.amazon.awssdk.transfer.s3.model", "ResumableFileDownload", True, "fromFile", "(Path)", "", "Argument[0]", "path-injection", "manual"] + - ["software.amazon.awssdk.transfer.s3.model", "ResumableFileDownload", True, "serializeToFile", "(Path)", "", "Argument[0]", "path-injection", "manual"] + - ["software.amazon.awssdk.transfer.s3.model", "ResumableFileUpload", True, "fromFile", "(Path)", "", "Argument[0]", "path-injection", "manual"] + - ["software.amazon.awssdk.transfer.s3.model", "UploadDirectoryRequest$Builder", True, "source", "(Path)", "", "Argument[0]", "path-injection", "manual"] From ae57c12b15035fb4c97477815c844ed9f3b584ef Mon Sep 17 00:00:00 2001 From: Napalys Date: Mon, 11 Nov 2024 10:38:14 +0100 Subject: [PATCH 079/347] Added change notes --- javascript/ql/lib/change-notes/2024-11-11-reserve-support.md | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 javascript/ql/lib/change-notes/2024-11-11-reserve-support.md diff --git a/javascript/ql/lib/change-notes/2024-11-11-reserve-support.md b/javascript/ql/lib/change-notes/2024-11-11-reserve-support.md new file mode 100644 index 000000000000..bd2e6808e0c9 --- /dev/null +++ b/javascript/ql/lib/change-notes/2024-11-11-reserve-support.md @@ -0,0 +1,4 @@ +--- +category: minorAnalysis +--- +* Added taint-steps for `Array.prototype.reverse` From 6a3d417836b3c580009be5581fe6854fd739d98c Mon Sep 17 00:00:00 2001 From: Simon Friis Vindum Date: Mon, 11 Nov 2024 11:11:29 +0100 Subject: [PATCH 080/347] Rust: Implement enclosing callable for additional classes --- .../rust/dataflow/internal/DataFlowImpl.qll | 6 +- .../CONSISTENCY/DataFlowConsistency.expected | 3 - .../CONSISTENCY/DataFlowConsistency.expected | 2 - .../CONSISTENCY/DataFlowConsistency.expected | 2 - .../CONSISTENCY/DataFlowConsistency.expected | 2 - .../CONSISTENCY/DataFlowConsistency.expected | 2 - .../CONSISTENCY/DataFlowConsistency.expected | 2 - .../CONSISTENCY/DataFlowConsistency.expected | 2 - .../CONSISTENCY/DataFlowConsistency.expected | 2 - .../CONSISTENCY/DataFlowConsistency.expected | 4 - .../CONSISTENCY/DataFlowConsistency.expected | 5 - .../CONSISTENCY/DataFlowConsistency.expected | 2 - .../CONSISTENCY/DataFlowConsistency.expected | 2 - .../CONSISTENCY/DataFlowConsistency.expected | 2 - .../CONSISTENCY/DataFlowConsistency.expected | 2 - .../CONSISTENCY/DataFlowConsistency.expected | 2 - .../CONSISTENCY/DataFlowConsistency.expected | 2 - .../CONSISTENCY/DataFlowConsistency.expected | 2 - .../CONSISTENCY/DataFlowConsistency.expected | 2 - .../CONSISTENCY/DataFlowConsistency.expected | 3 - .../CONSISTENCY/DataFlowConsistency.expected | 2 - .../CONSISTENCY/DataFlowConsistency.expected | 2 - .../CONSISTENCY/DataFlowConsistency.expected | 2 - .../CONSISTENCY/DataFlowConsistency.expected | 2 - .../CONSISTENCY/DataFlowConsistency.expected | 2 - .../CONSISTENCY/DataFlowConsistency.expected | 2 - .../CONSISTENCY/DataFlowConsistency.expected | 2 - .../CONSISTENCY/DataFlowConsistency.expected | 2 - .../CONSISTENCY/DataFlowConsistency.expected | 2 - .../CONSISTENCY/DataFlowConsistency.expected | 2 - .../CONSISTENCY/DataFlowConsistency.expected | 2 - .../CONSISTENCY/DataFlowConsistency.expected | 2 - .../CONSISTENCY/DataFlowConsistency.expected | 2 - .../CONSISTENCY/DataFlowConsistency.expected | 2 - .../CONSISTENCY/DataFlowConsistency.expected | 2 - .../CONSISTENCY/DataFlowConsistency.expected | 2 - .../CONSISTENCY/DataFlowConsistency.expected | 2 - .../CONSISTENCY/DataFlowConsistency.expected | 2 - .../CONSISTENCY/DataFlowConsistency.expected | 2 - .../CONSISTENCY/DataFlowConsistency.expected | 2 - .../CONSISTENCY/DataFlowConsistency.expected | 2 - .../CONSISTENCY/DataFlowConsistency.expected | 2 - .../CONSISTENCY/DataFlowConsistency.expected | 2 - .../CONSISTENCY/DataFlowConsistency.expected | 2 - .../CONSISTENCY/DataFlowConsistency.expected | 2 - .../CONSISTENCY/DataFlowConsistency.expected | 2 - .../CONSISTENCY/DataFlowConsistency.expected | 2 - .../CONSISTENCY/DataFlowConsistency.expected | 2 - .../CONSISTENCY/DataFlowConsistency.expected | 2 - .../CONSISTENCY/DataFlowConsistency.expected | 2 - .../CONSISTENCY/DataFlowConsistency.expected | 2 - .../CONSISTENCY/DataFlowConsistency.expected | 2 - .../CONSISTENCY/DataFlowConsistency.expected | 2 - .../CONSISTENCY/DataFlowConsistency.expected | 2 - .../CONSISTENCY/DataFlowConsistency.expected | 2 - .../CONSISTENCY/DataFlowConsistency.expected | 2 - .../CONSISTENCY/DataFlowConsistency.expected | 2 - .../CONSISTENCY/DataFlowConsistency.expected | 2 - .../CONSISTENCY/DataFlowConsistency.expected | 2 - .../CONSISTENCY/DataFlowConsistency.expected | 2 - .../CONSISTENCY/DataFlowConsistency.expected | 2 - .../CONSISTENCY/DataFlowConsistency.expected | 2 - .../CONSISTENCY/DataFlowConsistency.expected | 2 - .../CONSISTENCY/DataFlowConsistency.expected | 2 - .../CONSISTENCY/DataFlowConsistency.expected | 2 - .../CONSISTENCY/DataFlowConsistency.expected | 2 - .../CONSISTENCY/DataFlowConsistency.expected | 2 - .../CONSISTENCY/DataFlowConsistency.expected | 2 - .../CONSISTENCY/DataFlowConsistency.expected | 2 - .../CONSISTENCY/DataFlowConsistency.expected | 2 - .../CONSISTENCY/DataFlowConsistency.expected | 2 - .../CONSISTENCY/DataFlowConsistency.expected | 2 - .../CONSISTENCY/DataFlowConsistency.expected | 2 - .../CONSISTENCY/DataFlowConsistency.expected | 2 - .../CONSISTENCY/DataFlowConsistency.expected | 2 - .../CONSISTENCY/DataFlowConsistency.expected | 2 - .../CONSISTENCY/DataFlowConsistency.expected | 2 - .../CONSISTENCY/DataFlowConsistency.expected | 2 - .../CONSISTENCY/DataFlowConsistency.expected | 2 - .../CONSISTENCY/DataFlowConsistency.expected | 2 - .../CONSISTENCY/DataFlowConsistency.expected | 2 - .../CONSISTENCY/DataFlowConsistency.expected | 2 - .../CONSISTENCY/DataFlowConsistency.expected | 2 - .../CONSISTENCY/DataFlowConsistency.expected | 2 - .../CONSISTENCY/DataFlowConsistency.expected | 2 - .../CONSISTENCY/DataFlowConsistency.expected | 2 - .../CONSISTENCY/DataFlowConsistency.expected | 2 - .../CONSISTENCY/DataFlowConsistency.expected | 2 - .../CONSISTENCY/DataFlowConsistency.expected | 2 - .../CONSISTENCY/DataFlowConsistency.expected | 2 - .../CONSISTENCY/DataFlowConsistency.expected | 2 - .../CONSISTENCY/DataFlowConsistency.expected | 2 - .../CONSISTENCY/DataFlowConsistency.expected | 2 - .../CONSISTENCY/DataFlowConsistency.expected | 2 - .../CONSISTENCY/DataFlowConsistency.expected | 2 - .../CONSISTENCY/DataFlowConsistency.expected | 2 - .../CONSISTENCY/DataFlowConsistency.expected | 2 - .../CONSISTENCY/DataFlowConsistency.expected | 2 - .../CONSISTENCY/DataFlowConsistency.expected | 2 - .../CONSISTENCY/DataFlowConsistency.expected | 16 -- .../CONSISTENCY/DataFlowConsistency.expected | 9 - .../CONSISTENCY/DataFlowConsistency.expected | 4 - .../CONSISTENCY/DataFlowConsistency.expected | 9 - .../CONSISTENCY/DataFlowConsistency.expected | 69 ------ .../CONSISTENCY/DataFlowConsistency.expected | 145 ------------ .../CONSISTENCY/DataFlowConsistency.expected | 8 - .../DataFlowConsistencyCounts.expected | 2 +- .../diagnostics/SummaryStats.expected | 2 +- .../CONSISTENCY/DataFlowConsistency.expected | 222 ------------------ 109 files changed, 6 insertions(+), 689 deletions(-) delete mode 100644 rust/ql/test/extractor-tests/canonical_path/CONSISTENCY/DataFlowConsistency.expected delete mode 100644 rust/ql/test/extractor-tests/generated/Abi/CONSISTENCY/DataFlowConsistency.expected delete mode 100644 rust/ql/test/extractor-tests/generated/ArgList/CONSISTENCY/DataFlowConsistency.expected delete mode 100644 rust/ql/test/extractor-tests/generated/ArrayType/CONSISTENCY/DataFlowConsistency.expected delete mode 100644 rust/ql/test/extractor-tests/generated/AssocTypeArg/CONSISTENCY/DataFlowConsistency.expected delete mode 100644 rust/ql/test/extractor-tests/generated/Attr/CONSISTENCY/DataFlowConsistency.expected delete mode 100644 rust/ql/test/extractor-tests/generated/AwaitExpr/CONSISTENCY/DataFlowConsistency.expected delete mode 100644 rust/ql/test/extractor-tests/generated/BecomeExpr/CONSISTENCY/DataFlowConsistency.expected delete mode 100644 rust/ql/test/extractor-tests/generated/BreakExpr/CONSISTENCY/DataFlowConsistency.expected delete mode 100644 rust/ql/test/extractor-tests/generated/CallExpr/CONSISTENCY/DataFlowConsistency.expected delete mode 100644 rust/ql/test/extractor-tests/generated/ClosureBinder/CONSISTENCY/DataFlowConsistency.expected delete mode 100644 rust/ql/test/extractor-tests/generated/Comment/CONSISTENCY/DataFlowConsistency.expected delete mode 100644 rust/ql/test/extractor-tests/generated/Const/CONSISTENCY/DataFlowConsistency.expected delete mode 100644 rust/ql/test/extractor-tests/generated/ConstArg/CONSISTENCY/DataFlowConsistency.expected delete mode 100644 rust/ql/test/extractor-tests/generated/ConstParam/CONSISTENCY/DataFlowConsistency.expected delete mode 100644 rust/ql/test/extractor-tests/generated/ContinueExpr/CONSISTENCY/DataFlowConsistency.expected delete mode 100644 rust/ql/test/extractor-tests/generated/DynTraitType/CONSISTENCY/DataFlowConsistency.expected delete mode 100644 rust/ql/test/extractor-tests/generated/Enum/CONSISTENCY/DataFlowConsistency.expected delete mode 100644 rust/ql/test/extractor-tests/generated/ExprStmt/CONSISTENCY/DataFlowConsistency.expected delete mode 100644 rust/ql/test/extractor-tests/generated/ExternBlock/CONSISTENCY/DataFlowConsistency.expected delete mode 100644 rust/ql/test/extractor-tests/generated/ExternCrate/CONSISTENCY/DataFlowConsistency.expected delete mode 100644 rust/ql/test/extractor-tests/generated/ExternItemList/CONSISTENCY/DataFlowConsistency.expected delete mode 100644 rust/ql/test/extractor-tests/generated/FnPtrType/CONSISTENCY/DataFlowConsistency.expected delete mode 100644 rust/ql/test/extractor-tests/generated/ForExpr/CONSISTENCY/DataFlowConsistency.expected delete mode 100644 rust/ql/test/extractor-tests/generated/ForType/CONSISTENCY/DataFlowConsistency.expected delete mode 100644 rust/ql/test/extractor-tests/generated/FormatArgsArg/CONSISTENCY/DataFlowConsistency.expected delete mode 100644 rust/ql/test/extractor-tests/generated/FormatArgsExpr/CONSISTENCY/DataFlowConsistency.expected delete mode 100644 rust/ql/test/extractor-tests/generated/GenericParamList/CONSISTENCY/DataFlowConsistency.expected delete mode 100644 rust/ql/test/extractor-tests/generated/IfExpr/CONSISTENCY/DataFlowConsistency.expected delete mode 100644 rust/ql/test/extractor-tests/generated/Impl/CONSISTENCY/DataFlowConsistency.expected delete mode 100644 rust/ql/test/extractor-tests/generated/ImplTraitType/CONSISTENCY/DataFlowConsistency.expected delete mode 100644 rust/ql/test/extractor-tests/generated/InferType/CONSISTENCY/DataFlowConsistency.expected delete mode 100644 rust/ql/test/extractor-tests/generated/ItemList/CONSISTENCY/DataFlowConsistency.expected delete mode 100644 rust/ql/test/extractor-tests/generated/Label/CONSISTENCY/DataFlowConsistency.expected delete mode 100644 rust/ql/test/extractor-tests/generated/LetElse/CONSISTENCY/DataFlowConsistency.expected delete mode 100644 rust/ql/test/extractor-tests/generated/LetExpr/CONSISTENCY/DataFlowConsistency.expected delete mode 100644 rust/ql/test/extractor-tests/generated/LetStmt/CONSISTENCY/DataFlowConsistency.expected delete mode 100644 rust/ql/test/extractor-tests/generated/Lifetime/CONSISTENCY/DataFlowConsistency.expected delete mode 100644 rust/ql/test/extractor-tests/generated/LifetimeArg/CONSISTENCY/DataFlowConsistency.expected delete mode 100644 rust/ql/test/extractor-tests/generated/LifetimeParam/CONSISTENCY/DataFlowConsistency.expected delete mode 100644 rust/ql/test/extractor-tests/generated/LoopExpr/CONSISTENCY/DataFlowConsistency.expected delete mode 100644 rust/ql/test/extractor-tests/generated/MacroCall/CONSISTENCY/DataFlowConsistency.expected delete mode 100644 rust/ql/test/extractor-tests/generated/MacroDef/CONSISTENCY/DataFlowConsistency.expected delete mode 100644 rust/ql/test/extractor-tests/generated/MacroExpr/CONSISTENCY/DataFlowConsistency.expected delete mode 100644 rust/ql/test/extractor-tests/generated/MacroPat/CONSISTENCY/DataFlowConsistency.expected delete mode 100644 rust/ql/test/extractor-tests/generated/MacroRules/CONSISTENCY/DataFlowConsistency.expected delete mode 100644 rust/ql/test/extractor-tests/generated/MacroStmts/CONSISTENCY/DataFlowConsistency.expected delete mode 100644 rust/ql/test/extractor-tests/generated/MacroType/CONSISTENCY/DataFlowConsistency.expected delete mode 100644 rust/ql/test/extractor-tests/generated/MatchArmList/CONSISTENCY/DataFlowConsistency.expected delete mode 100644 rust/ql/test/extractor-tests/generated/MatchGuard/CONSISTENCY/DataFlowConsistency.expected delete mode 100644 rust/ql/test/extractor-tests/generated/Meta/CONSISTENCY/DataFlowConsistency.expected delete mode 100644 rust/ql/test/extractor-tests/generated/Name/CONSISTENCY/DataFlowConsistency.expected delete mode 100644 rust/ql/test/extractor-tests/generated/NameRef/CONSISTENCY/DataFlowConsistency.expected delete mode 100644 rust/ql/test/extractor-tests/generated/NeverType/CONSISTENCY/DataFlowConsistency.expected delete mode 100644 rust/ql/test/extractor-tests/generated/Param/CONSISTENCY/DataFlowConsistency.expected delete mode 100644 rust/ql/test/extractor-tests/generated/ParamList/CONSISTENCY/DataFlowConsistency.expected delete mode 100644 rust/ql/test/extractor-tests/generated/ParenExpr/CONSISTENCY/DataFlowConsistency.expected delete mode 100644 rust/ql/test/extractor-tests/generated/ParenPat/CONSISTENCY/DataFlowConsistency.expected delete mode 100644 rust/ql/test/extractor-tests/generated/ParenType/CONSISTENCY/DataFlowConsistency.expected delete mode 100644 rust/ql/test/extractor-tests/generated/PathSegment/CONSISTENCY/DataFlowConsistency.expected delete mode 100644 rust/ql/test/extractor-tests/generated/PathType/CONSISTENCY/DataFlowConsistency.expected delete mode 100644 rust/ql/test/extractor-tests/generated/PtrType/CONSISTENCY/DataFlowConsistency.expected delete mode 100644 rust/ql/test/extractor-tests/generated/RecordExprFieldList/CONSISTENCY/DataFlowConsistency.expected delete mode 100644 rust/ql/test/extractor-tests/generated/RecordField/CONSISTENCY/DataFlowConsistency.expected delete mode 100644 rust/ql/test/extractor-tests/generated/RecordFieldList/CONSISTENCY/DataFlowConsistency.expected delete mode 100644 rust/ql/test/extractor-tests/generated/RecordPatFieldList/CONSISTENCY/DataFlowConsistency.expected delete mode 100644 rust/ql/test/extractor-tests/generated/RefType/CONSISTENCY/DataFlowConsistency.expected delete mode 100644 rust/ql/test/extractor-tests/generated/Rename/CONSISTENCY/DataFlowConsistency.expected delete mode 100644 rust/ql/test/extractor-tests/generated/RestPat/CONSISTENCY/DataFlowConsistency.expected delete mode 100644 rust/ql/test/extractor-tests/generated/RetType/CONSISTENCY/DataFlowConsistency.expected delete mode 100644 rust/ql/test/extractor-tests/generated/ReturnTypeSyntax/CONSISTENCY/DataFlowConsistency.expected delete mode 100644 rust/ql/test/extractor-tests/generated/SelfParam/CONSISTENCY/DataFlowConsistency.expected delete mode 100644 rust/ql/test/extractor-tests/generated/SliceType/CONSISTENCY/DataFlowConsistency.expected delete mode 100644 rust/ql/test/extractor-tests/generated/SourceFile/CONSISTENCY/DataFlowConsistency.expected delete mode 100644 rust/ql/test/extractor-tests/generated/Static/CONSISTENCY/DataFlowConsistency.expected delete mode 100644 rust/ql/test/extractor-tests/generated/StmtList/CONSISTENCY/DataFlowConsistency.expected delete mode 100644 rust/ql/test/extractor-tests/generated/Struct/CONSISTENCY/DataFlowConsistency.expected delete mode 100644 rust/ql/test/extractor-tests/generated/TokenTree/CONSISTENCY/DataFlowConsistency.expected delete mode 100644 rust/ql/test/extractor-tests/generated/TraitAlias/CONSISTENCY/DataFlowConsistency.expected delete mode 100644 rust/ql/test/extractor-tests/generated/TryExpr/CONSISTENCY/DataFlowConsistency.expected delete mode 100644 rust/ql/test/extractor-tests/generated/TupleField/CONSISTENCY/DataFlowConsistency.expected delete mode 100644 rust/ql/test/extractor-tests/generated/TupleFieldList/CONSISTENCY/DataFlowConsistency.expected delete mode 100644 rust/ql/test/extractor-tests/generated/TupleType/CONSISTENCY/DataFlowConsistency.expected delete mode 100644 rust/ql/test/extractor-tests/generated/TypeAlias/CONSISTENCY/DataFlowConsistency.expected delete mode 100644 rust/ql/test/extractor-tests/generated/TypeArg/CONSISTENCY/DataFlowConsistency.expected delete mode 100644 rust/ql/test/extractor-tests/generated/TypeBound/CONSISTENCY/DataFlowConsistency.expected delete mode 100644 rust/ql/test/extractor-tests/generated/TypeBoundList/CONSISTENCY/DataFlowConsistency.expected delete mode 100644 rust/ql/test/extractor-tests/generated/TypeParam/CONSISTENCY/DataFlowConsistency.expected delete mode 100644 rust/ql/test/extractor-tests/generated/Union/CONSISTENCY/DataFlowConsistency.expected delete mode 100644 rust/ql/test/extractor-tests/generated/Use/CONSISTENCY/DataFlowConsistency.expected delete mode 100644 rust/ql/test/extractor-tests/generated/UseTree/CONSISTENCY/DataFlowConsistency.expected delete mode 100644 rust/ql/test/extractor-tests/generated/UseTreeList/CONSISTENCY/DataFlowConsistency.expected delete mode 100644 rust/ql/test/extractor-tests/generated/Variant/CONSISTENCY/DataFlowConsistency.expected delete mode 100644 rust/ql/test/extractor-tests/generated/VariantList/CONSISTENCY/DataFlowConsistency.expected delete mode 100644 rust/ql/test/extractor-tests/generated/Visibility/CONSISTENCY/DataFlowConsistency.expected delete mode 100644 rust/ql/test/extractor-tests/generated/WhereClause/CONSISTENCY/DataFlowConsistency.expected delete mode 100644 rust/ql/test/extractor-tests/generated/WherePred/CONSISTENCY/DataFlowConsistency.expected delete mode 100644 rust/ql/test/extractor-tests/generated/WhileExpr/CONSISTENCY/DataFlowConsistency.expected delete mode 100644 rust/ql/test/library-tests/dataflow/barrier/CONSISTENCY/DataFlowConsistency.expected delete mode 100644 rust/ql/test/library-tests/dataflow/local/CONSISTENCY/DataFlowConsistency.expected delete mode 100644 rust/ql/test/library-tests/definitions/CONSISTENCY/DataFlowConsistency.expected delete mode 100644 rust/ql/test/library-tests/formatstrings/CONSISTENCY/DataFlowConsistency.expected delete mode 100644 rust/ql/test/library-tests/variables/CONSISTENCY/DataFlowConsistency.expected delete mode 100644 rust/ql/test/query-tests/diagnostics/CONSISTENCY/DataFlowConsistency.expected diff --git a/rust/ql/lib/codeql/rust/dataflow/internal/DataFlowImpl.qll b/rust/ql/lib/codeql/rust/dataflow/internal/DataFlowImpl.qll index 0af7d46cc1ed..f2f88ecd211b 100644 --- a/rust/ql/lib/codeql/rust/dataflow/internal/DataFlowImpl.qll +++ b/rust/ql/lib/codeql/rust/dataflow/internal/DataFlowImpl.qll @@ -64,7 +64,9 @@ final class NormalCall extends DataFlowCall, TNormalCall { /** Gets the underlying call in the CFG, if any. */ override CallCfgNode asCall() { result = c } - override DataFlowCallable getEnclosingCallable() { none() } + override DataFlowCallable getEnclosingCallable() { + result = TCfgScope(c.getExpr().getEnclosingCallable()) + } override string toString() { result = c.toString() } @@ -198,7 +200,7 @@ module Node { abstract DataFlowCall getCall(); } - final private class ExprOutNode extends OutNode { + final private class ExprOutNode extends ExprNode, OutNode { ExprOutNode() { this.asExpr() instanceof CallExpr } /** Gets the underlying call CFG node that includes this out node. */ diff --git a/rust/ql/test/extractor-tests/canonical_path/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/extractor-tests/canonical_path/CONSISTENCY/DataFlowConsistency.expected deleted file mode 100644 index cb98837884fb..000000000000 --- a/rust/ql/test/extractor-tests/canonical_path/CONSISTENCY/DataFlowConsistency.expected +++ /dev/null @@ -1,3 +0,0 @@ -uniqueCallEnclosingCallable -| canonical_paths.rs:32:9:32:14 | CallExpr | Call should have one enclosing callable but has 0. | -| canonical_paths.rs:66:13:66:20 | CallExpr | Call should have one enclosing callable but has 0. | diff --git a/rust/ql/test/extractor-tests/generated/Abi/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/extractor-tests/generated/Abi/CONSISTENCY/DataFlowConsistency.expected deleted file mode 100644 index 33a015c809cb..000000000000 --- a/rust/ql/test/extractor-tests/generated/Abi/CONSISTENCY/DataFlowConsistency.expected +++ /dev/null @@ -1,2 +0,0 @@ -uniqueCallEnclosingCallable -| gen_abi.rs:5:5:5:11 | CallExpr | Call should have one enclosing callable but has 0. | diff --git a/rust/ql/test/extractor-tests/generated/ArgList/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/extractor-tests/generated/ArgList/CONSISTENCY/DataFlowConsistency.expected deleted file mode 100644 index 5c931a7dfd57..000000000000 --- a/rust/ql/test/extractor-tests/generated/ArgList/CONSISTENCY/DataFlowConsistency.expected +++ /dev/null @@ -1,2 +0,0 @@ -uniqueCallEnclosingCallable -| gen_arg_list.rs:5:5:5:11 | CallExpr | Call should have one enclosing callable but has 0. | diff --git a/rust/ql/test/extractor-tests/generated/ArrayType/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/extractor-tests/generated/ArrayType/CONSISTENCY/DataFlowConsistency.expected deleted file mode 100644 index 0b272615a03b..000000000000 --- a/rust/ql/test/extractor-tests/generated/ArrayType/CONSISTENCY/DataFlowConsistency.expected +++ /dev/null @@ -1,2 +0,0 @@ -uniqueCallEnclosingCallable -| gen_array_type.rs:5:5:5:11 | CallExpr | Call should have one enclosing callable but has 0. | diff --git a/rust/ql/test/extractor-tests/generated/AssocTypeArg/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/extractor-tests/generated/AssocTypeArg/CONSISTENCY/DataFlowConsistency.expected deleted file mode 100644 index 7e257e4f04e5..000000000000 --- a/rust/ql/test/extractor-tests/generated/AssocTypeArg/CONSISTENCY/DataFlowConsistency.expected +++ /dev/null @@ -1,2 +0,0 @@ -uniqueCallEnclosingCallable -| gen_assoc_type_arg.rs:5:5:5:11 | CallExpr | Call should have one enclosing callable but has 0. | diff --git a/rust/ql/test/extractor-tests/generated/Attr/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/extractor-tests/generated/Attr/CONSISTENCY/DataFlowConsistency.expected deleted file mode 100644 index f3bae512ec4b..000000000000 --- a/rust/ql/test/extractor-tests/generated/Attr/CONSISTENCY/DataFlowConsistency.expected +++ /dev/null @@ -1,2 +0,0 @@ -uniqueCallEnclosingCallable -| gen_attr.rs:5:5:5:11 | CallExpr | Call should have one enclosing callable but has 0. | diff --git a/rust/ql/test/extractor-tests/generated/AwaitExpr/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/extractor-tests/generated/AwaitExpr/CONSISTENCY/DataFlowConsistency.expected deleted file mode 100644 index 2efd6dd82ead..000000000000 --- a/rust/ql/test/extractor-tests/generated/AwaitExpr/CONSISTENCY/DataFlowConsistency.expected +++ /dev/null @@ -1,2 +0,0 @@ -uniqueCallEnclosingCallable -| gen_await_expr.rs:6:17:6:21 | CallExpr | Call should have one enclosing callable but has 0. | diff --git a/rust/ql/test/extractor-tests/generated/BecomeExpr/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/extractor-tests/generated/BecomeExpr/CONSISTENCY/DataFlowConsistency.expected deleted file mode 100644 index 24116bd3f7b1..000000000000 --- a/rust/ql/test/extractor-tests/generated/BecomeExpr/CONSISTENCY/DataFlowConsistency.expected +++ /dev/null @@ -1,2 +0,0 @@ -uniqueCallEnclosingCallable -| gen_become_expr.rs:8:17:8:36 | CallExpr | Call should have one enclosing callable but has 0. | diff --git a/rust/ql/test/extractor-tests/generated/BreakExpr/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/extractor-tests/generated/BreakExpr/CONSISTENCY/DataFlowConsistency.expected deleted file mode 100644 index ca9901e23be3..000000000000 --- a/rust/ql/test/extractor-tests/generated/BreakExpr/CONSISTENCY/DataFlowConsistency.expected +++ /dev/null @@ -1,4 +0,0 @@ -uniqueCallEnclosingCallable -| gen_break_expr.rs:6:12:6:22 | CallExpr | Call should have one enclosing callable but has 0. | -| gen_break_expr.rs:11:12:11:17 | CallExpr | Call should have one enclosing callable but has 0. | -| gen_break_expr.rs:16:12:16:17 | CallExpr | Call should have one enclosing callable but has 0. | diff --git a/rust/ql/test/extractor-tests/generated/CallExpr/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/extractor-tests/generated/CallExpr/CONSISTENCY/DataFlowConsistency.expected deleted file mode 100644 index cc44ad8bfe2c..000000000000 --- a/rust/ql/test/extractor-tests/generated/CallExpr/CONSISTENCY/DataFlowConsistency.expected +++ /dev/null @@ -1,5 +0,0 @@ -uniqueCallEnclosingCallable -| gen_call_expr.rs:5:5:5:11 | CallExpr | Call should have one enclosing callable but has 0. | -| gen_call_expr.rs:6:5:6:23 | CallExpr | Call should have one enclosing callable but has 0. | -| gen_call_expr.rs:7:5:7:14 | CallExpr | Call should have one enclosing callable but has 0. | -| gen_call_expr.rs:8:5:8:10 | CallExpr | Call should have one enclosing callable but has 0. | diff --git a/rust/ql/test/extractor-tests/generated/ClosureBinder/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/extractor-tests/generated/ClosureBinder/CONSISTENCY/DataFlowConsistency.expected deleted file mode 100644 index cdf204265b0b..000000000000 --- a/rust/ql/test/extractor-tests/generated/ClosureBinder/CONSISTENCY/DataFlowConsistency.expected +++ /dev/null @@ -1,2 +0,0 @@ -uniqueCallEnclosingCallable -| gen_closure_binder.rs:5:5:5:11 | CallExpr | Call should have one enclosing callable but has 0. | diff --git a/rust/ql/test/extractor-tests/generated/Comment/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/extractor-tests/generated/Comment/CONSISTENCY/DataFlowConsistency.expected deleted file mode 100644 index ad3d84671e27..000000000000 --- a/rust/ql/test/extractor-tests/generated/Comment/CONSISTENCY/DataFlowConsistency.expected +++ /dev/null @@ -1,2 +0,0 @@ -uniqueCallEnclosingCallable -| comments.rs:6:3:6:14 | CallExpr | Call should have one enclosing callable but has 0. | diff --git a/rust/ql/test/extractor-tests/generated/Const/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/extractor-tests/generated/Const/CONSISTENCY/DataFlowConsistency.expected deleted file mode 100644 index e7c6d013cc89..000000000000 --- a/rust/ql/test/extractor-tests/generated/Const/CONSISTENCY/DataFlowConsistency.expected +++ /dev/null @@ -1,2 +0,0 @@ -uniqueCallEnclosingCallable -| gen_const.rs:5:5:5:11 | CallExpr | Call should have one enclosing callable but has 0. | diff --git a/rust/ql/test/extractor-tests/generated/ConstArg/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/extractor-tests/generated/ConstArg/CONSISTENCY/DataFlowConsistency.expected deleted file mode 100644 index 5414d21feb81..000000000000 --- a/rust/ql/test/extractor-tests/generated/ConstArg/CONSISTENCY/DataFlowConsistency.expected +++ /dev/null @@ -1,2 +0,0 @@ -uniqueCallEnclosingCallable -| gen_const_arg.rs:5:5:5:11 | CallExpr | Call should have one enclosing callable but has 0. | diff --git a/rust/ql/test/extractor-tests/generated/ConstParam/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/extractor-tests/generated/ConstParam/CONSISTENCY/DataFlowConsistency.expected deleted file mode 100644 index d83fd9a9dacb..000000000000 --- a/rust/ql/test/extractor-tests/generated/ConstParam/CONSISTENCY/DataFlowConsistency.expected +++ /dev/null @@ -1,2 +0,0 @@ -uniqueCallEnclosingCallable -| gen_const_param.rs:5:5:5:11 | CallExpr | Call should have one enclosing callable but has 0. | diff --git a/rust/ql/test/extractor-tests/generated/ContinueExpr/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/extractor-tests/generated/ContinueExpr/CONSISTENCY/DataFlowConsistency.expected deleted file mode 100644 index 2564610ffd00..000000000000 --- a/rust/ql/test/extractor-tests/generated/ContinueExpr/CONSISTENCY/DataFlowConsistency.expected +++ /dev/null @@ -1,2 +0,0 @@ -uniqueCallEnclosingCallable -| gen_continue_expr.rs:6:12:6:22 | CallExpr | Call should have one enclosing callable but has 0. | diff --git a/rust/ql/test/extractor-tests/generated/DynTraitType/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/extractor-tests/generated/DynTraitType/CONSISTENCY/DataFlowConsistency.expected deleted file mode 100644 index b0e1d1875967..000000000000 --- a/rust/ql/test/extractor-tests/generated/DynTraitType/CONSISTENCY/DataFlowConsistency.expected +++ /dev/null @@ -1,2 +0,0 @@ -uniqueCallEnclosingCallable -| gen_dyn_trait_type.rs:5:5:5:11 | CallExpr | Call should have one enclosing callable but has 0. | diff --git a/rust/ql/test/extractor-tests/generated/Enum/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/extractor-tests/generated/Enum/CONSISTENCY/DataFlowConsistency.expected deleted file mode 100644 index de0bfff0ae0a..000000000000 --- a/rust/ql/test/extractor-tests/generated/Enum/CONSISTENCY/DataFlowConsistency.expected +++ /dev/null @@ -1,2 +0,0 @@ -uniqueCallEnclosingCallable -| gen_enum.rs:5:5:5:11 | CallExpr | Call should have one enclosing callable but has 0. | diff --git a/rust/ql/test/extractor-tests/generated/ExprStmt/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/extractor-tests/generated/ExprStmt/CONSISTENCY/DataFlowConsistency.expected deleted file mode 100644 index a61eb890bd25..000000000000 --- a/rust/ql/test/extractor-tests/generated/ExprStmt/CONSISTENCY/DataFlowConsistency.expected +++ /dev/null @@ -1,3 +0,0 @@ -uniqueCallEnclosingCallable -| gen_expr_stmt.rs:5:5:5:11 | CallExpr | Call should have one enclosing callable but has 0. | -| gen_expr_stmt.rs:6:5:6:12 | CallExpr | Call should have one enclosing callable but has 0. | diff --git a/rust/ql/test/extractor-tests/generated/ExternBlock/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/extractor-tests/generated/ExternBlock/CONSISTENCY/DataFlowConsistency.expected deleted file mode 100644 index ad05e1ef4e59..000000000000 --- a/rust/ql/test/extractor-tests/generated/ExternBlock/CONSISTENCY/DataFlowConsistency.expected +++ /dev/null @@ -1,2 +0,0 @@ -uniqueCallEnclosingCallable -| gen_extern_block.rs:5:5:5:11 | CallExpr | Call should have one enclosing callable but has 0. | diff --git a/rust/ql/test/extractor-tests/generated/ExternCrate/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/extractor-tests/generated/ExternCrate/CONSISTENCY/DataFlowConsistency.expected deleted file mode 100644 index 19bd5ac0769f..000000000000 --- a/rust/ql/test/extractor-tests/generated/ExternCrate/CONSISTENCY/DataFlowConsistency.expected +++ /dev/null @@ -1,2 +0,0 @@ -uniqueCallEnclosingCallable -| gen_extern_crate.rs:5:5:5:11 | CallExpr | Call should have one enclosing callable but has 0. | diff --git a/rust/ql/test/extractor-tests/generated/ExternItemList/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/extractor-tests/generated/ExternItemList/CONSISTENCY/DataFlowConsistency.expected deleted file mode 100644 index 091bd770cf2f..000000000000 --- a/rust/ql/test/extractor-tests/generated/ExternItemList/CONSISTENCY/DataFlowConsistency.expected +++ /dev/null @@ -1,2 +0,0 @@ -uniqueCallEnclosingCallable -| gen_extern_item_list.rs:5:5:5:11 | CallExpr | Call should have one enclosing callable but has 0. | diff --git a/rust/ql/test/extractor-tests/generated/FnPtrType/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/extractor-tests/generated/FnPtrType/CONSISTENCY/DataFlowConsistency.expected deleted file mode 100644 index 390e252ac7b0..000000000000 --- a/rust/ql/test/extractor-tests/generated/FnPtrType/CONSISTENCY/DataFlowConsistency.expected +++ /dev/null @@ -1,2 +0,0 @@ -uniqueCallEnclosingCallable -| gen_fn_ptr_type.rs:5:5:5:11 | CallExpr | Call should have one enclosing callable but has 0. | diff --git a/rust/ql/test/extractor-tests/generated/ForExpr/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/extractor-tests/generated/ForExpr/CONSISTENCY/DataFlowConsistency.expected deleted file mode 100644 index 1d3d1611ab81..000000000000 --- a/rust/ql/test/extractor-tests/generated/ForExpr/CONSISTENCY/DataFlowConsistency.expected +++ /dev/null @@ -1,2 +0,0 @@ -uniqueCallEnclosingCallable -| gen_for_expr.rs:5:5:5:11 | CallExpr | Call should have one enclosing callable but has 0. | diff --git a/rust/ql/test/extractor-tests/generated/ForType/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/extractor-tests/generated/ForType/CONSISTENCY/DataFlowConsistency.expected deleted file mode 100644 index f16b7b31d413..000000000000 --- a/rust/ql/test/extractor-tests/generated/ForType/CONSISTENCY/DataFlowConsistency.expected +++ /dev/null @@ -1,2 +0,0 @@ -uniqueCallEnclosingCallable -| gen_for_type.rs:5:5:5:11 | CallExpr | Call should have one enclosing callable but has 0. | diff --git a/rust/ql/test/extractor-tests/generated/FormatArgsArg/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/extractor-tests/generated/FormatArgsArg/CONSISTENCY/DataFlowConsistency.expected deleted file mode 100644 index aa6acbf45e6e..000000000000 --- a/rust/ql/test/extractor-tests/generated/FormatArgsArg/CONSISTENCY/DataFlowConsistency.expected +++ /dev/null @@ -1,2 +0,0 @@ -uniqueCallEnclosingCallable -| gen_format_args_arg.rs:5:5:5:11 | CallExpr | Call should have one enclosing callable but has 0. | diff --git a/rust/ql/test/extractor-tests/generated/FormatArgsExpr/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/extractor-tests/generated/FormatArgsExpr/CONSISTENCY/DataFlowConsistency.expected deleted file mode 100644 index f9d07d24dd54..000000000000 --- a/rust/ql/test/extractor-tests/generated/FormatArgsExpr/CONSISTENCY/DataFlowConsistency.expected +++ /dev/null @@ -1,2 +0,0 @@ -uniqueCallEnclosingCallable -| gen_format_args_expr.rs:5:5:5:11 | CallExpr | Call should have one enclosing callable but has 0. | diff --git a/rust/ql/test/extractor-tests/generated/GenericParamList/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/extractor-tests/generated/GenericParamList/CONSISTENCY/DataFlowConsistency.expected deleted file mode 100644 index 81b8dfb753ce..000000000000 --- a/rust/ql/test/extractor-tests/generated/GenericParamList/CONSISTENCY/DataFlowConsistency.expected +++ /dev/null @@ -1,2 +0,0 @@ -uniqueCallEnclosingCallable -| gen_generic_param_list.rs:5:5:5:11 | CallExpr | Call should have one enclosing callable but has 0. | diff --git a/rust/ql/test/extractor-tests/generated/IfExpr/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/extractor-tests/generated/IfExpr/CONSISTENCY/DataFlowConsistency.expected deleted file mode 100644 index 22972bbf2a30..000000000000 --- a/rust/ql/test/extractor-tests/generated/IfExpr/CONSISTENCY/DataFlowConsistency.expected +++ /dev/null @@ -1,2 +0,0 @@ -uniqueCallEnclosingCallable -| gen_if_expr.rs:6:18:6:36 | CallExpr | Call should have one enclosing callable but has 0. | diff --git a/rust/ql/test/extractor-tests/generated/Impl/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/extractor-tests/generated/Impl/CONSISTENCY/DataFlowConsistency.expected deleted file mode 100644 index 227d27e07aa0..000000000000 --- a/rust/ql/test/extractor-tests/generated/Impl/CONSISTENCY/DataFlowConsistency.expected +++ /dev/null @@ -1,2 +0,0 @@ -uniqueCallEnclosingCallable -| gen_impl.rs:5:5:5:11 | CallExpr | Call should have one enclosing callable but has 0. | diff --git a/rust/ql/test/extractor-tests/generated/ImplTraitType/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/extractor-tests/generated/ImplTraitType/CONSISTENCY/DataFlowConsistency.expected deleted file mode 100644 index 58e934db3e51..000000000000 --- a/rust/ql/test/extractor-tests/generated/ImplTraitType/CONSISTENCY/DataFlowConsistency.expected +++ /dev/null @@ -1,2 +0,0 @@ -uniqueCallEnclosingCallable -| gen_impl_trait_type.rs:5:5:5:11 | CallExpr | Call should have one enclosing callable but has 0. | diff --git a/rust/ql/test/extractor-tests/generated/InferType/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/extractor-tests/generated/InferType/CONSISTENCY/DataFlowConsistency.expected deleted file mode 100644 index bb28a783fa6a..000000000000 --- a/rust/ql/test/extractor-tests/generated/InferType/CONSISTENCY/DataFlowConsistency.expected +++ /dev/null @@ -1,2 +0,0 @@ -uniqueCallEnclosingCallable -| gen_infer_type.rs:5:5:5:11 | CallExpr | Call should have one enclosing callable but has 0. | diff --git a/rust/ql/test/extractor-tests/generated/ItemList/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/extractor-tests/generated/ItemList/CONSISTENCY/DataFlowConsistency.expected deleted file mode 100644 index ba4bc7580949..000000000000 --- a/rust/ql/test/extractor-tests/generated/ItemList/CONSISTENCY/DataFlowConsistency.expected +++ /dev/null @@ -1,2 +0,0 @@ -uniqueCallEnclosingCallable -| gen_item_list.rs:5:5:5:11 | CallExpr | Call should have one enclosing callable but has 0. | diff --git a/rust/ql/test/extractor-tests/generated/Label/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/extractor-tests/generated/Label/CONSISTENCY/DataFlowConsistency.expected deleted file mode 100644 index 98a7ff008375..000000000000 --- a/rust/ql/test/extractor-tests/generated/Label/CONSISTENCY/DataFlowConsistency.expected +++ /dev/null @@ -1,2 +0,0 @@ -uniqueCallEnclosingCallable -| gen_label.rs:6:18:6:39 | CallExpr | Call should have one enclosing callable but has 0. | diff --git a/rust/ql/test/extractor-tests/generated/LetElse/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/extractor-tests/generated/LetElse/CONSISTENCY/DataFlowConsistency.expected deleted file mode 100644 index d85ad083cd22..000000000000 --- a/rust/ql/test/extractor-tests/generated/LetElse/CONSISTENCY/DataFlowConsistency.expected +++ /dev/null @@ -1,2 +0,0 @@ -uniqueCallEnclosingCallable -| gen_let_else.rs:5:5:5:11 | CallExpr | Call should have one enclosing callable but has 0. | diff --git a/rust/ql/test/extractor-tests/generated/LetExpr/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/extractor-tests/generated/LetExpr/CONSISTENCY/DataFlowConsistency.expected deleted file mode 100644 index d8a1b37b6162..000000000000 --- a/rust/ql/test/extractor-tests/generated/LetExpr/CONSISTENCY/DataFlowConsistency.expected +++ /dev/null @@ -1,2 +0,0 @@ -uniqueCallEnclosingCallable -| gen_let_expr.rs:6:18:6:24 | CallExpr | Call should have one enclosing callable but has 0. | diff --git a/rust/ql/test/extractor-tests/generated/LetStmt/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/extractor-tests/generated/LetStmt/CONSISTENCY/DataFlowConsistency.expected deleted file mode 100644 index 1dee4888d253..000000000000 --- a/rust/ql/test/extractor-tests/generated/LetStmt/CONSISTENCY/DataFlowConsistency.expected +++ /dev/null @@ -1,2 +0,0 @@ -uniqueCallEnclosingCallable -| gen_let_stmt.rs:10:19:10:38 | CallExpr | Call should have one enclosing callable but has 0. | diff --git a/rust/ql/test/extractor-tests/generated/Lifetime/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/extractor-tests/generated/Lifetime/CONSISTENCY/DataFlowConsistency.expected deleted file mode 100644 index 9ba1d1a73aac..000000000000 --- a/rust/ql/test/extractor-tests/generated/Lifetime/CONSISTENCY/DataFlowConsistency.expected +++ /dev/null @@ -1,2 +0,0 @@ -uniqueCallEnclosingCallable -| gen_lifetime.rs:5:5:5:11 | CallExpr | Call should have one enclosing callable but has 0. | diff --git a/rust/ql/test/extractor-tests/generated/LifetimeArg/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/extractor-tests/generated/LifetimeArg/CONSISTENCY/DataFlowConsistency.expected deleted file mode 100644 index 09406b8a0cac..000000000000 --- a/rust/ql/test/extractor-tests/generated/LifetimeArg/CONSISTENCY/DataFlowConsistency.expected +++ /dev/null @@ -1,2 +0,0 @@ -uniqueCallEnclosingCallable -| gen_lifetime_arg.rs:5:5:5:11 | CallExpr | Call should have one enclosing callable but has 0. | diff --git a/rust/ql/test/extractor-tests/generated/LifetimeParam/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/extractor-tests/generated/LifetimeParam/CONSISTENCY/DataFlowConsistency.expected deleted file mode 100644 index 957a2421efd3..000000000000 --- a/rust/ql/test/extractor-tests/generated/LifetimeParam/CONSISTENCY/DataFlowConsistency.expected +++ /dev/null @@ -1,2 +0,0 @@ -uniqueCallEnclosingCallable -| gen_lifetime_param.rs:5:5:5:11 | CallExpr | Call should have one enclosing callable but has 0. | diff --git a/rust/ql/test/extractor-tests/generated/LoopExpr/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/extractor-tests/generated/LoopExpr/CONSISTENCY/DataFlowConsistency.expected deleted file mode 100644 index 4e396b881520..000000000000 --- a/rust/ql/test/extractor-tests/generated/LoopExpr/CONSISTENCY/DataFlowConsistency.expected +++ /dev/null @@ -1,2 +0,0 @@ -uniqueCallEnclosingCallable -| gen_loop_expr.rs:6:18:6:40 | CallExpr | Call should have one enclosing callable but has 0. | diff --git a/rust/ql/test/extractor-tests/generated/MacroCall/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/extractor-tests/generated/MacroCall/CONSISTENCY/DataFlowConsistency.expected deleted file mode 100644 index bdd983974ad0..000000000000 --- a/rust/ql/test/extractor-tests/generated/MacroCall/CONSISTENCY/DataFlowConsistency.expected +++ /dev/null @@ -1,2 +0,0 @@ -uniqueCallEnclosingCallable -| gen_macro_call.rs:5:5:5:11 | CallExpr | Call should have one enclosing callable but has 0. | diff --git a/rust/ql/test/extractor-tests/generated/MacroDef/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/extractor-tests/generated/MacroDef/CONSISTENCY/DataFlowConsistency.expected deleted file mode 100644 index ee243f52959d..000000000000 --- a/rust/ql/test/extractor-tests/generated/MacroDef/CONSISTENCY/DataFlowConsistency.expected +++ /dev/null @@ -1,2 +0,0 @@ -uniqueCallEnclosingCallable -| gen_macro_def.rs:5:5:5:11 | CallExpr | Call should have one enclosing callable but has 0. | diff --git a/rust/ql/test/extractor-tests/generated/MacroExpr/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/extractor-tests/generated/MacroExpr/CONSISTENCY/DataFlowConsistency.expected deleted file mode 100644 index c7ad670935a3..000000000000 --- a/rust/ql/test/extractor-tests/generated/MacroExpr/CONSISTENCY/DataFlowConsistency.expected +++ /dev/null @@ -1,2 +0,0 @@ -uniqueCallEnclosingCallable -| gen_macro_expr.rs:5:5:5:11 | CallExpr | Call should have one enclosing callable but has 0. | diff --git a/rust/ql/test/extractor-tests/generated/MacroPat/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/extractor-tests/generated/MacroPat/CONSISTENCY/DataFlowConsistency.expected deleted file mode 100644 index 17ad89567211..000000000000 --- a/rust/ql/test/extractor-tests/generated/MacroPat/CONSISTENCY/DataFlowConsistency.expected +++ /dev/null @@ -1,2 +0,0 @@ -uniqueCallEnclosingCallable -| gen_macro_pat.rs:5:5:5:11 | CallExpr | Call should have one enclosing callable but has 0. | diff --git a/rust/ql/test/extractor-tests/generated/MacroRules/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/extractor-tests/generated/MacroRules/CONSISTENCY/DataFlowConsistency.expected deleted file mode 100644 index 02d3818cdce8..000000000000 --- a/rust/ql/test/extractor-tests/generated/MacroRules/CONSISTENCY/DataFlowConsistency.expected +++ /dev/null @@ -1,2 +0,0 @@ -uniqueCallEnclosingCallable -| gen_macro_rules.rs:5:5:5:11 | CallExpr | Call should have one enclosing callable but has 0. | diff --git a/rust/ql/test/extractor-tests/generated/MacroStmts/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/extractor-tests/generated/MacroStmts/CONSISTENCY/DataFlowConsistency.expected deleted file mode 100644 index 06cdb2501511..000000000000 --- a/rust/ql/test/extractor-tests/generated/MacroStmts/CONSISTENCY/DataFlowConsistency.expected +++ /dev/null @@ -1,2 +0,0 @@ -uniqueCallEnclosingCallable -| gen_macro_stmts.rs:5:14:5:28 | CallExpr | Call should have one enclosing callable but has 0. | diff --git a/rust/ql/test/extractor-tests/generated/MacroType/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/extractor-tests/generated/MacroType/CONSISTENCY/DataFlowConsistency.expected deleted file mode 100644 index 648d9c7b5e9b..000000000000 --- a/rust/ql/test/extractor-tests/generated/MacroType/CONSISTENCY/DataFlowConsistency.expected +++ /dev/null @@ -1,2 +0,0 @@ -uniqueCallEnclosingCallable -| gen_macro_type.rs:5:5:5:11 | CallExpr | Call should have one enclosing callable but has 0. | diff --git a/rust/ql/test/extractor-tests/generated/MatchArmList/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/extractor-tests/generated/MatchArmList/CONSISTENCY/DataFlowConsistency.expected deleted file mode 100644 index 26b43ec4f7df..000000000000 --- a/rust/ql/test/extractor-tests/generated/MatchArmList/CONSISTENCY/DataFlowConsistency.expected +++ /dev/null @@ -1,2 +0,0 @@ -uniqueCallEnclosingCallable -| gen_match_arm_list.rs:5:5:5:11 | CallExpr | Call should have one enclosing callable but has 0. | diff --git a/rust/ql/test/extractor-tests/generated/MatchGuard/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/extractor-tests/generated/MatchGuard/CONSISTENCY/DataFlowConsistency.expected deleted file mode 100644 index 439b5fb9bc4b..000000000000 --- a/rust/ql/test/extractor-tests/generated/MatchGuard/CONSISTENCY/DataFlowConsistency.expected +++ /dev/null @@ -1,2 +0,0 @@ -uniqueCallEnclosingCallable -| gen_match_guard.rs:5:5:5:11 | CallExpr | Call should have one enclosing callable but has 0. | diff --git a/rust/ql/test/extractor-tests/generated/Meta/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/extractor-tests/generated/Meta/CONSISTENCY/DataFlowConsistency.expected deleted file mode 100644 index 42fa4d47b6ba..000000000000 --- a/rust/ql/test/extractor-tests/generated/Meta/CONSISTENCY/DataFlowConsistency.expected +++ /dev/null @@ -1,2 +0,0 @@ -uniqueCallEnclosingCallable -| gen_meta.rs:5:5:5:11 | CallExpr | Call should have one enclosing callable but has 0. | diff --git a/rust/ql/test/extractor-tests/generated/Name/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/extractor-tests/generated/Name/CONSISTENCY/DataFlowConsistency.expected deleted file mode 100644 index 2b99cf5f0cef..000000000000 --- a/rust/ql/test/extractor-tests/generated/Name/CONSISTENCY/DataFlowConsistency.expected +++ /dev/null @@ -1,2 +0,0 @@ -uniqueCallEnclosingCallable -| gen_name.rs:5:5:5:11 | CallExpr | Call should have one enclosing callable but has 0. | diff --git a/rust/ql/test/extractor-tests/generated/NameRef/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/extractor-tests/generated/NameRef/CONSISTENCY/DataFlowConsistency.expected deleted file mode 100644 index 096f35c3be6c..000000000000 --- a/rust/ql/test/extractor-tests/generated/NameRef/CONSISTENCY/DataFlowConsistency.expected +++ /dev/null @@ -1,2 +0,0 @@ -uniqueCallEnclosingCallable -| gen_name_ref.rs:5:5:5:11 | CallExpr | Call should have one enclosing callable but has 0. | diff --git a/rust/ql/test/extractor-tests/generated/NeverType/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/extractor-tests/generated/NeverType/CONSISTENCY/DataFlowConsistency.expected deleted file mode 100644 index bbc5916ad4bb..000000000000 --- a/rust/ql/test/extractor-tests/generated/NeverType/CONSISTENCY/DataFlowConsistency.expected +++ /dev/null @@ -1,2 +0,0 @@ -uniqueCallEnclosingCallable -| gen_never_type.rs:5:5:5:11 | CallExpr | Call should have one enclosing callable but has 0. | diff --git a/rust/ql/test/extractor-tests/generated/Param/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/extractor-tests/generated/Param/CONSISTENCY/DataFlowConsistency.expected deleted file mode 100644 index 407eed9d21d3..000000000000 --- a/rust/ql/test/extractor-tests/generated/Param/CONSISTENCY/DataFlowConsistency.expected +++ /dev/null @@ -1,2 +0,0 @@ -uniqueCallEnclosingCallable -| gen_param.rs:5:5:5:11 | CallExpr | Call should have one enclosing callable but has 0. | diff --git a/rust/ql/test/extractor-tests/generated/ParamList/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/extractor-tests/generated/ParamList/CONSISTENCY/DataFlowConsistency.expected deleted file mode 100644 index 0cc0694a7c32..000000000000 --- a/rust/ql/test/extractor-tests/generated/ParamList/CONSISTENCY/DataFlowConsistency.expected +++ /dev/null @@ -1,2 +0,0 @@ -uniqueCallEnclosingCallable -| gen_param_list.rs:5:5:5:11 | CallExpr | Call should have one enclosing callable but has 0. | diff --git a/rust/ql/test/extractor-tests/generated/ParenExpr/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/extractor-tests/generated/ParenExpr/CONSISTENCY/DataFlowConsistency.expected deleted file mode 100644 index ea7c55275ff3..000000000000 --- a/rust/ql/test/extractor-tests/generated/ParenExpr/CONSISTENCY/DataFlowConsistency.expected +++ /dev/null @@ -1,2 +0,0 @@ -uniqueCallEnclosingCallable -| gen_paren_expr.rs:5:5:5:11 | CallExpr | Call should have one enclosing callable but has 0. | diff --git a/rust/ql/test/extractor-tests/generated/ParenPat/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/extractor-tests/generated/ParenPat/CONSISTENCY/DataFlowConsistency.expected deleted file mode 100644 index 289b92becb32..000000000000 --- a/rust/ql/test/extractor-tests/generated/ParenPat/CONSISTENCY/DataFlowConsistency.expected +++ /dev/null @@ -1,2 +0,0 @@ -uniqueCallEnclosingCallable -| gen_paren_pat.rs:5:5:5:11 | CallExpr | Call should have one enclosing callable but has 0. | diff --git a/rust/ql/test/extractor-tests/generated/ParenType/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/extractor-tests/generated/ParenType/CONSISTENCY/DataFlowConsistency.expected deleted file mode 100644 index 8906108a4b86..000000000000 --- a/rust/ql/test/extractor-tests/generated/ParenType/CONSISTENCY/DataFlowConsistency.expected +++ /dev/null @@ -1,2 +0,0 @@ -uniqueCallEnclosingCallable -| gen_paren_type.rs:5:5:5:11 | CallExpr | Call should have one enclosing callable but has 0. | diff --git a/rust/ql/test/extractor-tests/generated/PathSegment/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/extractor-tests/generated/PathSegment/CONSISTENCY/DataFlowConsistency.expected deleted file mode 100644 index ffc2113f2c32..000000000000 --- a/rust/ql/test/extractor-tests/generated/PathSegment/CONSISTENCY/DataFlowConsistency.expected +++ /dev/null @@ -1,2 +0,0 @@ -uniqueCallEnclosingCallable -| gen_path_segment.rs:5:5:5:11 | CallExpr | Call should have one enclosing callable but has 0. | diff --git a/rust/ql/test/extractor-tests/generated/PathType/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/extractor-tests/generated/PathType/CONSISTENCY/DataFlowConsistency.expected deleted file mode 100644 index 4177421433d2..000000000000 --- a/rust/ql/test/extractor-tests/generated/PathType/CONSISTENCY/DataFlowConsistency.expected +++ /dev/null @@ -1,2 +0,0 @@ -uniqueCallEnclosingCallable -| gen_path_type.rs:5:5:5:11 | CallExpr | Call should have one enclosing callable but has 0. | diff --git a/rust/ql/test/extractor-tests/generated/PtrType/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/extractor-tests/generated/PtrType/CONSISTENCY/DataFlowConsistency.expected deleted file mode 100644 index 479844cd49dc..000000000000 --- a/rust/ql/test/extractor-tests/generated/PtrType/CONSISTENCY/DataFlowConsistency.expected +++ /dev/null @@ -1,2 +0,0 @@ -uniqueCallEnclosingCallable -| gen_ptr_type.rs:5:5:5:11 | CallExpr | Call should have one enclosing callable but has 0. | diff --git a/rust/ql/test/extractor-tests/generated/RecordExprFieldList/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/extractor-tests/generated/RecordExprFieldList/CONSISTENCY/DataFlowConsistency.expected deleted file mode 100644 index 4257c505c3d5..000000000000 --- a/rust/ql/test/extractor-tests/generated/RecordExprFieldList/CONSISTENCY/DataFlowConsistency.expected +++ /dev/null @@ -1,2 +0,0 @@ -uniqueCallEnclosingCallable -| gen_record_expr_field_list.rs:5:5:5:11 | CallExpr | Call should have one enclosing callable but has 0. | diff --git a/rust/ql/test/extractor-tests/generated/RecordField/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/extractor-tests/generated/RecordField/CONSISTENCY/DataFlowConsistency.expected deleted file mode 100644 index f270d7b40e56..000000000000 --- a/rust/ql/test/extractor-tests/generated/RecordField/CONSISTENCY/DataFlowConsistency.expected +++ /dev/null @@ -1,2 +0,0 @@ -uniqueCallEnclosingCallable -| gen_record_field.rs:5:5:5:11 | CallExpr | Call should have one enclosing callable but has 0. | diff --git a/rust/ql/test/extractor-tests/generated/RecordFieldList/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/extractor-tests/generated/RecordFieldList/CONSISTENCY/DataFlowConsistency.expected deleted file mode 100644 index 4af964c2d1cb..000000000000 --- a/rust/ql/test/extractor-tests/generated/RecordFieldList/CONSISTENCY/DataFlowConsistency.expected +++ /dev/null @@ -1,2 +0,0 @@ -uniqueCallEnclosingCallable -| gen_record_field_list.rs:5:5:5:11 | CallExpr | Call should have one enclosing callable but has 0. | diff --git a/rust/ql/test/extractor-tests/generated/RecordPatFieldList/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/extractor-tests/generated/RecordPatFieldList/CONSISTENCY/DataFlowConsistency.expected deleted file mode 100644 index bd7f24d8db97..000000000000 --- a/rust/ql/test/extractor-tests/generated/RecordPatFieldList/CONSISTENCY/DataFlowConsistency.expected +++ /dev/null @@ -1,2 +0,0 @@ -uniqueCallEnclosingCallable -| gen_record_pat_field_list.rs:5:5:5:11 | CallExpr | Call should have one enclosing callable but has 0. | diff --git a/rust/ql/test/extractor-tests/generated/RefType/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/extractor-tests/generated/RefType/CONSISTENCY/DataFlowConsistency.expected deleted file mode 100644 index 88e03f6a0ddd..000000000000 --- a/rust/ql/test/extractor-tests/generated/RefType/CONSISTENCY/DataFlowConsistency.expected +++ /dev/null @@ -1,2 +0,0 @@ -uniqueCallEnclosingCallable -| gen_ref_type.rs:5:5:5:11 | CallExpr | Call should have one enclosing callable but has 0. | diff --git a/rust/ql/test/extractor-tests/generated/Rename/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/extractor-tests/generated/Rename/CONSISTENCY/DataFlowConsistency.expected deleted file mode 100644 index 0f90df1fb520..000000000000 --- a/rust/ql/test/extractor-tests/generated/Rename/CONSISTENCY/DataFlowConsistency.expected +++ /dev/null @@ -1,2 +0,0 @@ -uniqueCallEnclosingCallable -| gen_rename.rs:5:5:5:11 | CallExpr | Call should have one enclosing callable but has 0. | diff --git a/rust/ql/test/extractor-tests/generated/RestPat/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/extractor-tests/generated/RestPat/CONSISTENCY/DataFlowConsistency.expected deleted file mode 100644 index e022948872f3..000000000000 --- a/rust/ql/test/extractor-tests/generated/RestPat/CONSISTENCY/DataFlowConsistency.expected +++ /dev/null @@ -1,2 +0,0 @@ -uniqueCallEnclosingCallable -| gen_rest_pat.rs:5:5:5:11 | CallExpr | Call should have one enclosing callable but has 0. | diff --git a/rust/ql/test/extractor-tests/generated/RetType/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/extractor-tests/generated/RetType/CONSISTENCY/DataFlowConsistency.expected deleted file mode 100644 index 4257c03e77ef..000000000000 --- a/rust/ql/test/extractor-tests/generated/RetType/CONSISTENCY/DataFlowConsistency.expected +++ /dev/null @@ -1,2 +0,0 @@ -uniqueCallEnclosingCallable -| gen_ret_type.rs:5:5:5:11 | CallExpr | Call should have one enclosing callable but has 0. | diff --git a/rust/ql/test/extractor-tests/generated/ReturnTypeSyntax/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/extractor-tests/generated/ReturnTypeSyntax/CONSISTENCY/DataFlowConsistency.expected deleted file mode 100644 index 36698d05127d..000000000000 --- a/rust/ql/test/extractor-tests/generated/ReturnTypeSyntax/CONSISTENCY/DataFlowConsistency.expected +++ /dev/null @@ -1,2 +0,0 @@ -uniqueCallEnclosingCallable -| gen_return_type_syntax.rs:5:5:5:11 | CallExpr | Call should have one enclosing callable but has 0. | diff --git a/rust/ql/test/extractor-tests/generated/SelfParam/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/extractor-tests/generated/SelfParam/CONSISTENCY/DataFlowConsistency.expected deleted file mode 100644 index 04c83cac5cac..000000000000 --- a/rust/ql/test/extractor-tests/generated/SelfParam/CONSISTENCY/DataFlowConsistency.expected +++ /dev/null @@ -1,2 +0,0 @@ -uniqueCallEnclosingCallable -| gen_self_param.rs:5:5:5:11 | CallExpr | Call should have one enclosing callable but has 0. | diff --git a/rust/ql/test/extractor-tests/generated/SliceType/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/extractor-tests/generated/SliceType/CONSISTENCY/DataFlowConsistency.expected deleted file mode 100644 index 11057278dc18..000000000000 --- a/rust/ql/test/extractor-tests/generated/SliceType/CONSISTENCY/DataFlowConsistency.expected +++ /dev/null @@ -1,2 +0,0 @@ -uniqueCallEnclosingCallable -| gen_slice_type.rs:5:5:5:11 | CallExpr | Call should have one enclosing callable but has 0. | diff --git a/rust/ql/test/extractor-tests/generated/SourceFile/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/extractor-tests/generated/SourceFile/CONSISTENCY/DataFlowConsistency.expected deleted file mode 100644 index 7e38d04aa142..000000000000 --- a/rust/ql/test/extractor-tests/generated/SourceFile/CONSISTENCY/DataFlowConsistency.expected +++ /dev/null @@ -1,2 +0,0 @@ -uniqueCallEnclosingCallable -| gen_source_file.rs:5:5:5:11 | CallExpr | Call should have one enclosing callable but has 0. | diff --git a/rust/ql/test/extractor-tests/generated/Static/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/extractor-tests/generated/Static/CONSISTENCY/DataFlowConsistency.expected deleted file mode 100644 index 8d77fc54d183..000000000000 --- a/rust/ql/test/extractor-tests/generated/Static/CONSISTENCY/DataFlowConsistency.expected +++ /dev/null @@ -1,2 +0,0 @@ -uniqueCallEnclosingCallable -| gen_static.rs:5:5:5:11 | CallExpr | Call should have one enclosing callable but has 0. | diff --git a/rust/ql/test/extractor-tests/generated/StmtList/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/extractor-tests/generated/StmtList/CONSISTENCY/DataFlowConsistency.expected deleted file mode 100644 index ffde32eaca7c..000000000000 --- a/rust/ql/test/extractor-tests/generated/StmtList/CONSISTENCY/DataFlowConsistency.expected +++ /dev/null @@ -1,2 +0,0 @@ -uniqueCallEnclosingCallable -| gen_stmt_list.rs:5:5:5:11 | CallExpr | Call should have one enclosing callable but has 0. | diff --git a/rust/ql/test/extractor-tests/generated/Struct/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/extractor-tests/generated/Struct/CONSISTENCY/DataFlowConsistency.expected deleted file mode 100644 index bb1b7bb74556..000000000000 --- a/rust/ql/test/extractor-tests/generated/Struct/CONSISTENCY/DataFlowConsistency.expected +++ /dev/null @@ -1,2 +0,0 @@ -uniqueCallEnclosingCallable -| gen_struct.rs:5:5:5:11 | CallExpr | Call should have one enclosing callable but has 0. | diff --git a/rust/ql/test/extractor-tests/generated/TokenTree/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/extractor-tests/generated/TokenTree/CONSISTENCY/DataFlowConsistency.expected deleted file mode 100644 index 0e08b9468443..000000000000 --- a/rust/ql/test/extractor-tests/generated/TokenTree/CONSISTENCY/DataFlowConsistency.expected +++ /dev/null @@ -1,2 +0,0 @@ -uniqueCallEnclosingCallable -| gen_token_tree.rs:5:5:5:11 | CallExpr | Call should have one enclosing callable but has 0. | diff --git a/rust/ql/test/extractor-tests/generated/TraitAlias/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/extractor-tests/generated/TraitAlias/CONSISTENCY/DataFlowConsistency.expected deleted file mode 100644 index 7c9cad6e558f..000000000000 --- a/rust/ql/test/extractor-tests/generated/TraitAlias/CONSISTENCY/DataFlowConsistency.expected +++ /dev/null @@ -1,2 +0,0 @@ -uniqueCallEnclosingCallable -| gen_trait_alias.rs:5:5:5:11 | CallExpr | Call should have one enclosing callable but has 0. | diff --git a/rust/ql/test/extractor-tests/generated/TryExpr/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/extractor-tests/generated/TryExpr/CONSISTENCY/DataFlowConsistency.expected deleted file mode 100644 index 5caa9b9cd62c..000000000000 --- a/rust/ql/test/extractor-tests/generated/TryExpr/CONSISTENCY/DataFlowConsistency.expected +++ /dev/null @@ -1,2 +0,0 @@ -uniqueCallEnclosingCallable -| gen_try_expr.rs:5:5:5:11 | CallExpr | Call should have one enclosing callable but has 0. | diff --git a/rust/ql/test/extractor-tests/generated/TupleField/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/extractor-tests/generated/TupleField/CONSISTENCY/DataFlowConsistency.expected deleted file mode 100644 index 973ff3f49127..000000000000 --- a/rust/ql/test/extractor-tests/generated/TupleField/CONSISTENCY/DataFlowConsistency.expected +++ /dev/null @@ -1,2 +0,0 @@ -uniqueCallEnclosingCallable -| gen_tuple_field.rs:5:5:5:11 | CallExpr | Call should have one enclosing callable but has 0. | diff --git a/rust/ql/test/extractor-tests/generated/TupleFieldList/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/extractor-tests/generated/TupleFieldList/CONSISTENCY/DataFlowConsistency.expected deleted file mode 100644 index da1c2914f3c9..000000000000 --- a/rust/ql/test/extractor-tests/generated/TupleFieldList/CONSISTENCY/DataFlowConsistency.expected +++ /dev/null @@ -1,2 +0,0 @@ -uniqueCallEnclosingCallable -| gen_tuple_field_list.rs:5:5:5:11 | CallExpr | Call should have one enclosing callable but has 0. | diff --git a/rust/ql/test/extractor-tests/generated/TupleType/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/extractor-tests/generated/TupleType/CONSISTENCY/DataFlowConsistency.expected deleted file mode 100644 index 8a46b04b94a4..000000000000 --- a/rust/ql/test/extractor-tests/generated/TupleType/CONSISTENCY/DataFlowConsistency.expected +++ /dev/null @@ -1,2 +0,0 @@ -uniqueCallEnclosingCallable -| gen_tuple_type.rs:5:5:5:11 | CallExpr | Call should have one enclosing callable but has 0. | diff --git a/rust/ql/test/extractor-tests/generated/TypeAlias/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/extractor-tests/generated/TypeAlias/CONSISTENCY/DataFlowConsistency.expected deleted file mode 100644 index ca5cba3ef706..000000000000 --- a/rust/ql/test/extractor-tests/generated/TypeAlias/CONSISTENCY/DataFlowConsistency.expected +++ /dev/null @@ -1,2 +0,0 @@ -uniqueCallEnclosingCallable -| gen_type_alias.rs:5:5:5:11 | CallExpr | Call should have one enclosing callable but has 0. | diff --git a/rust/ql/test/extractor-tests/generated/TypeArg/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/extractor-tests/generated/TypeArg/CONSISTENCY/DataFlowConsistency.expected deleted file mode 100644 index ae0c6897dc8a..000000000000 --- a/rust/ql/test/extractor-tests/generated/TypeArg/CONSISTENCY/DataFlowConsistency.expected +++ /dev/null @@ -1,2 +0,0 @@ -uniqueCallEnclosingCallable -| gen_type_arg.rs:5:5:5:11 | CallExpr | Call should have one enclosing callable but has 0. | diff --git a/rust/ql/test/extractor-tests/generated/TypeBound/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/extractor-tests/generated/TypeBound/CONSISTENCY/DataFlowConsistency.expected deleted file mode 100644 index bef99bf5eeb1..000000000000 --- a/rust/ql/test/extractor-tests/generated/TypeBound/CONSISTENCY/DataFlowConsistency.expected +++ /dev/null @@ -1,2 +0,0 @@ -uniqueCallEnclosingCallable -| gen_type_bound.rs:5:5:5:11 | CallExpr | Call should have one enclosing callable but has 0. | diff --git a/rust/ql/test/extractor-tests/generated/TypeBoundList/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/extractor-tests/generated/TypeBoundList/CONSISTENCY/DataFlowConsistency.expected deleted file mode 100644 index e755f94b1336..000000000000 --- a/rust/ql/test/extractor-tests/generated/TypeBoundList/CONSISTENCY/DataFlowConsistency.expected +++ /dev/null @@ -1,2 +0,0 @@ -uniqueCallEnclosingCallable -| gen_type_bound_list.rs:5:5:5:11 | CallExpr | Call should have one enclosing callable but has 0. | diff --git a/rust/ql/test/extractor-tests/generated/TypeParam/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/extractor-tests/generated/TypeParam/CONSISTENCY/DataFlowConsistency.expected deleted file mode 100644 index 01475a67a1bc..000000000000 --- a/rust/ql/test/extractor-tests/generated/TypeParam/CONSISTENCY/DataFlowConsistency.expected +++ /dev/null @@ -1,2 +0,0 @@ -uniqueCallEnclosingCallable -| gen_type_param.rs:5:5:5:11 | CallExpr | Call should have one enclosing callable but has 0. | diff --git a/rust/ql/test/extractor-tests/generated/Union/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/extractor-tests/generated/Union/CONSISTENCY/DataFlowConsistency.expected deleted file mode 100644 index da831a05a081..000000000000 --- a/rust/ql/test/extractor-tests/generated/Union/CONSISTENCY/DataFlowConsistency.expected +++ /dev/null @@ -1,2 +0,0 @@ -uniqueCallEnclosingCallable -| gen_union.rs:5:5:5:11 | CallExpr | Call should have one enclosing callable but has 0. | diff --git a/rust/ql/test/extractor-tests/generated/Use/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/extractor-tests/generated/Use/CONSISTENCY/DataFlowConsistency.expected deleted file mode 100644 index 87bf4d398562..000000000000 --- a/rust/ql/test/extractor-tests/generated/Use/CONSISTENCY/DataFlowConsistency.expected +++ /dev/null @@ -1,2 +0,0 @@ -uniqueCallEnclosingCallable -| gen_use.rs:5:5:5:11 | CallExpr | Call should have one enclosing callable but has 0. | diff --git a/rust/ql/test/extractor-tests/generated/UseTree/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/extractor-tests/generated/UseTree/CONSISTENCY/DataFlowConsistency.expected deleted file mode 100644 index 11abacff6a1d..000000000000 --- a/rust/ql/test/extractor-tests/generated/UseTree/CONSISTENCY/DataFlowConsistency.expected +++ /dev/null @@ -1,2 +0,0 @@ -uniqueCallEnclosingCallable -| gen_use_tree.rs:5:5:5:11 | CallExpr | Call should have one enclosing callable but has 0. | diff --git a/rust/ql/test/extractor-tests/generated/UseTreeList/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/extractor-tests/generated/UseTreeList/CONSISTENCY/DataFlowConsistency.expected deleted file mode 100644 index d71404dcd007..000000000000 --- a/rust/ql/test/extractor-tests/generated/UseTreeList/CONSISTENCY/DataFlowConsistency.expected +++ /dev/null @@ -1,2 +0,0 @@ -uniqueCallEnclosingCallable -| gen_use_tree_list.rs:5:5:5:11 | CallExpr | Call should have one enclosing callable but has 0. | diff --git a/rust/ql/test/extractor-tests/generated/Variant/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/extractor-tests/generated/Variant/CONSISTENCY/DataFlowConsistency.expected deleted file mode 100644 index 1a8eb7a79982..000000000000 --- a/rust/ql/test/extractor-tests/generated/Variant/CONSISTENCY/DataFlowConsistency.expected +++ /dev/null @@ -1,2 +0,0 @@ -uniqueCallEnclosingCallable -| gen_variant.rs:5:5:5:11 | CallExpr | Call should have one enclosing callable but has 0. | diff --git a/rust/ql/test/extractor-tests/generated/VariantList/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/extractor-tests/generated/VariantList/CONSISTENCY/DataFlowConsistency.expected deleted file mode 100644 index 91db48d1f7f0..000000000000 --- a/rust/ql/test/extractor-tests/generated/VariantList/CONSISTENCY/DataFlowConsistency.expected +++ /dev/null @@ -1,2 +0,0 @@ -uniqueCallEnclosingCallable -| gen_variant_list.rs:5:5:5:11 | CallExpr | Call should have one enclosing callable but has 0. | diff --git a/rust/ql/test/extractor-tests/generated/Visibility/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/extractor-tests/generated/Visibility/CONSISTENCY/DataFlowConsistency.expected deleted file mode 100644 index a5177a30c8a9..000000000000 --- a/rust/ql/test/extractor-tests/generated/Visibility/CONSISTENCY/DataFlowConsistency.expected +++ /dev/null @@ -1,2 +0,0 @@ -uniqueCallEnclosingCallable -| gen_visibility.rs:5:5:5:11 | CallExpr | Call should have one enclosing callable but has 0. | diff --git a/rust/ql/test/extractor-tests/generated/WhereClause/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/extractor-tests/generated/WhereClause/CONSISTENCY/DataFlowConsistency.expected deleted file mode 100644 index 9e96d82eac44..000000000000 --- a/rust/ql/test/extractor-tests/generated/WhereClause/CONSISTENCY/DataFlowConsistency.expected +++ /dev/null @@ -1,2 +0,0 @@ -uniqueCallEnclosingCallable -| gen_where_clause.rs:5:5:5:11 | CallExpr | Call should have one enclosing callable but has 0. | diff --git a/rust/ql/test/extractor-tests/generated/WherePred/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/extractor-tests/generated/WherePred/CONSISTENCY/DataFlowConsistency.expected deleted file mode 100644 index 8bc406e404ec..000000000000 --- a/rust/ql/test/extractor-tests/generated/WherePred/CONSISTENCY/DataFlowConsistency.expected +++ /dev/null @@ -1,2 +0,0 @@ -uniqueCallEnclosingCallable -| gen_where_pred.rs:5:5:5:11 | CallExpr | Call should have one enclosing callable but has 0. | diff --git a/rust/ql/test/extractor-tests/generated/WhileExpr/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/extractor-tests/generated/WhileExpr/CONSISTENCY/DataFlowConsistency.expected deleted file mode 100644 index ead953dbf8ed..000000000000 --- a/rust/ql/test/extractor-tests/generated/WhileExpr/CONSISTENCY/DataFlowConsistency.expected +++ /dev/null @@ -1,2 +0,0 @@ -uniqueCallEnclosingCallable -| gen_while_expr.rs:5:5:5:11 | CallExpr | Call should have one enclosing callable but has 0. | diff --git a/rust/ql/test/library-tests/controlflow/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/library-tests/controlflow/CONSISTENCY/DataFlowConsistency.expected index b294af889d0c..d6806d79f9e9 100644 --- a/rust/ql/test/library-tests/controlflow/CONSISTENCY/DataFlowConsistency.expected +++ b/rust/ql/test/library-tests/controlflow/CONSISTENCY/DataFlowConsistency.expected @@ -1,18 +1,2 @@ uniqueEnclosingCallable | test.rs:408:16:408:19 | Param | Node should have one enclosing callable but has 0. | -uniqueCallEnclosingCallable -| test.rs:6:9:6:44 | CallExpr | Call should have one enclosing callable but has 0. | -| test.rs:7:9:7:27 | CallExpr | Call should have one enclosing callable but has 0. | -| test.rs:11:23:11:36 | CallExpr | Call should have one enclosing callable but has 0. | -| test.rs:21:17:21:23 | CallExpr | Call should have one enclosing callable but has 0. | -| test.rs:116:5:116:23 | CallExpr | Call should have one enclosing callable but has 0. | -| test.rs:116:13:116:22 | CallExpr | Call should have one enclosing callable but has 0. | -| test.rs:275:21:275:31 | CallExpr | Call should have one enclosing callable but has 0. | -| test.rs:276:22:276:31 | CallExpr | Call should have one enclosing callable but has 0. | -| test.rs:292:34:292:40 | CallExpr | Call should have one enclosing callable but has 0. | -| test.rs:376:9:376:18 | CallExpr | Call should have one enclosing callable but has 0. | -| test.rs:377:12:377:30 | CallExpr | Call should have one enclosing callable but has 0. | -| test.rs:380:9:380:23 | CallExpr | Call should have one enclosing callable but has 0. | -| test.rs:381:12:381:30 | CallExpr | Call should have one enclosing callable but has 0. | -| test.rs:384:9:384:23 | CallExpr | Call should have one enclosing callable but has 0. | -| test.rs:404:5:404:18 | CallExpr | Call should have one enclosing callable but has 0. | diff --git a/rust/ql/test/library-tests/dataflow/barrier/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/library-tests/dataflow/barrier/CONSISTENCY/DataFlowConsistency.expected deleted file mode 100644 index 5ab92ceb0a20..000000000000 --- a/rust/ql/test/library-tests/dataflow/barrier/CONSISTENCY/DataFlowConsistency.expected +++ /dev/null @@ -1,9 +0,0 @@ -uniqueCallEnclosingCallable -| main.rs:6:14:6:20 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:17:13:17:20 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:18:5:18:11 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:22:13:22:20 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:23:13:23:23 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:24:5:24:11 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:28:13:28:20 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:29:5:29:11 | CallExpr | Call should have one enclosing callable but has 0. | diff --git a/rust/ql/test/library-tests/dataflow/local/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/library-tests/dataflow/local/CONSISTENCY/DataFlowConsistency.expected deleted file mode 100644 index 13dc24ed037a..000000000000 --- a/rust/ql/test/library-tests/dataflow/local/CONSISTENCY/DataFlowConsistency.expected +++ /dev/null @@ -1,4 +0,0 @@ -uniqueCallEnclosingCallable -| main.rs:3:14:3:33 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:39:5:39:14 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:40:5:40:23 | CallExpr | Call should have one enclosing callable but has 0. | diff --git a/rust/ql/test/library-tests/definitions/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/library-tests/definitions/CONSISTENCY/DataFlowConsistency.expected deleted file mode 100644 index 54311ff822f6..000000000000 --- a/rust/ql/test/library-tests/definitions/CONSISTENCY/DataFlowConsistency.expected +++ /dev/null @@ -1,9 +0,0 @@ -uniqueCallEnclosingCallable -| main.rs:5:14:5:61 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:6:14:6:56 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:7:14:7:40 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:9:14:9:30 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:10:14:10:34 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:11:5:11:60 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:11:24:11:42 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:11:24:11:42 | CallExpr | Call should have one enclosing callable but has 0. | diff --git a/rust/ql/test/library-tests/formatstrings/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/library-tests/formatstrings/CONSISTENCY/DataFlowConsistency.expected deleted file mode 100644 index 5115c7118faa..000000000000 --- a/rust/ql/test/library-tests/formatstrings/CONSISTENCY/DataFlowConsistency.expected +++ /dev/null @@ -1,69 +0,0 @@ -uniqueCallEnclosingCallable -| main.rs:5:14:5:61 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:6:14:6:56 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:7:14:7:40 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:10:14:10:20 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:11:14:11:34 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:12:14:12:34 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:13:14:13:27 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:14:14:14:33 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:16:14:16:30 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:17:14:17:26 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:18:14:18:24 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:19:14:19:32 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:21:14:21:34 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:22:14:22:31 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:23:14:23:35 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:24:14:24:36 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:25:14:25:47 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:27:14:27:36 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:28:5:28:60 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:28:24:28:42 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:28:24:28:42 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:29:5:29:61 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:29:24:29:43 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:29:24:29:43 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:30:5:30:60 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:30:24:30:42 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:30:24:30:42 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:31:5:31:60 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:31:24:31:42 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:31:24:31:42 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:32:14:32:57 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:32:39:32:56 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:32:39:32:56 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:32:47:32:56 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:33:5:33:54 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:33:24:33:39 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:33:24:33:39 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:34:5:34:46 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:34:24:34:35 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:34:24:34:35 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:35:5:35:58 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:35:24:35:40 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:35:24:35:40 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:36:5:36:59 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:36:24:36:41 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:36:24:36:41 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:37:5:37:55 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:37:24:37:38 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:37:24:37:38 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:39:14:39:45 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:41:14:41:49 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:43:14:43:49 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:45:14:45:46 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:47:14:47:48 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:48:14:48:47 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:49:14:49:72 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:52:9:55:22 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:58:9:61:24 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:64:9:67:24 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:70:12:70:31 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:71:12:71:31 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:73:14:73:35 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:75:5:75:49 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:75:24:75:35 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:75:24:75:35 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:76:5:76:46 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:76:24:76:33 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:76:24:76:33 | CallExpr | Call should have one enclosing callable but has 0. | diff --git a/rust/ql/test/library-tests/variables/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/library-tests/variables/CONSISTENCY/DataFlowConsistency.expected deleted file mode 100644 index bb4e17c24372..000000000000 --- a/rust/ql/test/library-tests/variables/CONSISTENCY/DataFlowConsistency.expected +++ /dev/null @@ -1,145 +0,0 @@ -uniqueCallEnclosingCallable -| variables.rs:4:14:4:20 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:8:14:8:20 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:12:5:12:17 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:17:5:17:17 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:22:5:22:17 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:24:5:24:17 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:29:5:29:21 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:31:5:31:21 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:36:5:36:17 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:39:5:39:17 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:44:5:44:17 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:47:9:47:21 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:49:5:49:17 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:68:5:68:17 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:69:5:69:17 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:70:5:70:16 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:71:5:71:16 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:80:5:80:17 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:81:5:81:17 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:85:14:85:41 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:85:19:85:40 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:89:9:89:21 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:94:34:94:43 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:96:13:96:19 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:98:5:98:17 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:102:14:102:41 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:102:19:102:40 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:106:9:106:21 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:111:14:111:20 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:115:21:115:39 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:119:13:119:25 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:121:17:121:33 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:124:5:124:17 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:136:13:136:28 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:137:13:137:28 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:138:13:138:28 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:148:13:148:28 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:149:13:149:27 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:160:14:160:26 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:174:14:174:35 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:176:22:176:51 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:179:13:179:25 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:189:18:189:33 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:192:16:192:28 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:203:14:203:36 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:206:16:206:28 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:210:16:210:28 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:214:16:214:28 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:219:18:219:33 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:223:16:223:28 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:229:18:229:33 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:235:13:235:26 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:238:17:238:31 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:253:14:253:35 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:256:16:256:29 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:266:5:266:17 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:267:5:267:17 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:268:5:268:17 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:274:5:274:17 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:283:5:283:18 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:284:5:284:17 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:285:5:285:17 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:296:5:296:18 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:297:5:297:17 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:298:5:298:17 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:305:13:305:26 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:306:13:306:25 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:310:5:310:18 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:311:5:311:17 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:319:9:319:26 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:320:5:320:17 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:322:5:322:24 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:327:9:327:29 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:328:5:328:17 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:336:9:336:23 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:343:5:343:16 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:345:5:345:16 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:353:5:353:16 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:374:9:374:28 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:377:5:377:16 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:382:5:385:5 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:388:5:388:16 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:396:5:396:16 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:403:9:403:20 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:405:5:405:9 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:406:5:406:16 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:413:9:413:20 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:415:5:415:14 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:416:5:416:16 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:423:5:423:14 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:424:5:424:16 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:431:5:431:14 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:432:5:432:16 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:437:5:437:16 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:438:5:438:20 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:441:9:441:20 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:442:9:442:24 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:445:9:445:20 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:446:9:446:24 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:448:5:448:16 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:454:9:454:20 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:456:9:456:20 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:460:9:460:20 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:462:9:462:20 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:479:5:479:25 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:481:5:481:25 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:483:5:483:25 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:488:5:488:21 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:489:5:489:16 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:492:5:492:21 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:509:3:509:18 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:513:5:513:24 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:514:5:514:22 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:515:5:515:39 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:516:5:516:22 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:517:5:517:22 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:518:5:518:18 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:519:5:519:18 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:520:5:520:18 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:521:5:521:18 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:522:5:522:20 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:523:5:523:20 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:524:5:524:20 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:525:5:525:20 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:526:5:526:20 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:527:5:527:20 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:528:5:528:20 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:529:5:529:20 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:530:5:530:20 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:531:5:531:35 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:532:5:532:36 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:532:20:532:35 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:533:5:533:25 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:534:5:534:22 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:535:5:535:18 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:536:5:536:16 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:537:5:537:12 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:538:5:538:16 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:539:5:539:11 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:540:5:540:17 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:541:5:541:19 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:542:5:542:13 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:543:5:543:13 | CallExpr | Call should have one enclosing callable but has 0. | -| variables.rs:544:5:544:29 | CallExpr | Call should have one enclosing callable but has 0. | diff --git a/rust/ql/test/query-tests/diagnostics/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/query-tests/diagnostics/CONSISTENCY/DataFlowConsistency.expected deleted file mode 100644 index b367ef95ef54..000000000000 --- a/rust/ql/test/query-tests/diagnostics/CONSISTENCY/DataFlowConsistency.expected +++ /dev/null @@ -1,8 +0,0 @@ -uniqueCallEnclosingCallable -| comments.rs:55:5:55:20 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:13:14:13:28 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:15:5:15:24 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:16:5:16:23 | CallExpr | Call should have one enclosing callable but has 0. | -| my_macro.rs:16:9:16:18 | CallExpr | Call should have one enclosing callable but has 0. | -| my_struct.rs:17:18:17:32 | CallExpr | Call should have one enclosing callable but has 0. | -| my_struct.rs:25:19:25:37 | CallExpr | Call should have one enclosing callable but has 0. | diff --git a/rust/ql/test/query-tests/diagnostics/DataFlowConsistencyCounts.expected b/rust/ql/test/query-tests/diagnostics/DataFlowConsistencyCounts.expected index abc5a99fbd13..4d1cdfed89af 100644 --- a/rust/ql/test/query-tests/diagnostics/DataFlowConsistencyCounts.expected +++ b/rust/ql/test/query-tests/diagnostics/DataFlowConsistencyCounts.expected @@ -1,7 +1,7 @@ | ArgumentNode is missing PostUpdateNode | 0 | | Call context for isUnreachableInCall is inconsistent with call graph | 0 | | Call context too large | 0 | -| Call should have one enclosing callable | 7 | +| Call should have one enclosing callable | 0 | | Callable mismatch for parameter | 0 | | Lambda call enclosing callable mismatch | 0 | | Local flow step does not preserve enclosing callable | 0 | diff --git a/rust/ql/test/query-tests/diagnostics/SummaryStats.expected b/rust/ql/test/query-tests/diagnostics/SummaryStats.expected index 37ec4eb1425f..c8e473840b0f 100644 --- a/rust/ql/test/query-tests/diagnostics/SummaryStats.expected +++ b/rust/ql/test/query-tests/diagnostics/SummaryStats.expected @@ -7,6 +7,6 @@ | Files extracted - without errors | 5 | | Inconsistencies - AST | 0 | | Inconsistencies - CFG | 0 | -| Inconsistencies - data flow | 7 | +| Inconsistencies - data flow | 0 | | Lines of code extracted | 59 | | Lines of user code extracted | 59 | diff --git a/rust/ql/test/query-tests/unusedentities/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/query-tests/unusedentities/CONSISTENCY/DataFlowConsistency.expected index b59b965efa12..f5e6d87bd4e1 100644 --- a/rust/ql/test/query-tests/unusedentities/CONSISTENCY/DataFlowConsistency.expected +++ b/rust/ql/test/query-tests/unusedentities/CONSISTENCY/DataFlowConsistency.expected @@ -10,225 +10,3 @@ uniqueEnclosingCallable | main.rs:502:24:502:29 | Param | Node should have one enclosing callable but has 0. | | more.rs:4:23:4:28 | Param | Node should have one enclosing callable but has 0. | | more.rs:8:19:8:24 | Param | Node should have one enclosing callable but has 0. | -uniqueCallEnclosingCallable -| main.rs:13:13:13:29 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:14:13:14:29 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:18:14:18:24 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:20:8:20:13 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:21:18:21:28 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:24:14:24:24 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:25:5:25:19 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:25:5:25:19 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:43:14:43:24 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:47:8:47:13 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:52:14:52:24 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:55:8:55:13 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:60:14:60:24 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:64:14:64:24 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:69:12:69:17 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:70:12:70:17 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:71:12:71:17 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:72:14:72:24 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:98:14:98:45 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:101:14:101:38 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:103:14:103:38 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:116:14:116:32 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:119:18:119:33 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:176:18:176:29 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:180:18:180:31 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:184:18:184:37 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:189:22:189:33 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:194:18:194:27 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:198:21:198:30 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:198:21:198:30 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:202:21:202:32 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:202:21:202:32 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:206:21:206:30 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:206:21:206:30 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:210:18:210:38 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:214:9:214:24 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:214:9:214:24 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:218:9:218:24 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:223:9:223:32 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:223:20:223:24 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:223:27:223:31 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:250:22:250:29 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:253:22:253:29 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:257:20:257:27 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:264:21:264:28 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:270:13:270:20 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:277:13:277:20 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:285:13:285:28 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:292:13:292:30 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:299:31:299:37 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:347:21:347:51 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:348:5:348:39 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:350:58:350:92 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:350:61:350:91 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:353:22:353:59 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:356:22:356:29 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:406:13:406:24 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:410:13:410:22 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:470:9:474:10 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:487:5:487:21 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:487:5:487:21 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:508:5:508:14 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:509:5:509:14 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:510:5:510:13 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:511:5:511:12 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:512:5:512:13 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:513:14:513:54 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:513:36:513:54 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:514:5:514:11 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:515:5:515:21 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:516:5:516:15 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:517:5:517:15 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:518:5:518:24 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:519:5:519:12 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:520:5:520:16 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:522:5:522:14 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:523:5:523:14 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:525:5:525:22 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:526:5:526:22 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:527:5:527:22 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:528:5:528:23 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:529:9:529:26 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:530:5:530:23 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:531:5:531:22 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:532:5:532:28 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:533:5:533:23 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:534:5:534:23 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:535:5:535:23 | CallExpr | Call should have one enclosing callable but has 0. | -| main.rs:536:5:536:28 | CallExpr | Call should have one enclosing callable but has 0. | -| more.rs:45:14:45:26 | CallExpr | Call should have one enclosing callable but has 0. | -| more.rs:46:14:46:25 | CallExpr | Call should have one enclosing callable but has 0. | -| more.rs:47:14:47:26 | CallExpr | Call should have one enclosing callable but has 0. | -| more.rs:51:14:51:24 | CallExpr | Call should have one enclosing callable but has 0. | -| more.rs:56:14:56:30 | CallExpr | Call should have one enclosing callable but has 0. | -| more.rs:61:14:61:30 | CallExpr | Call should have one enclosing callable but has 0. | -| more.rs:67:14:67:25 | CallExpr | Call should have one enclosing callable but has 0. | -| more.rs:76:14:76:20 | CallExpr | Call should have one enclosing callable but has 0. | -| more.rs:82:14:82:26 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:2:5:2:18 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:6:5:6:24 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:10:5:10:20 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:21:9:21:22 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:25:9:25:22 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:30:13:30:26 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:33:13:33:26 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:37:8:37:13 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:42:8:42:13 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:43:9:43:22 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:48:5:48:18 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:50:8:50:13 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:51:17:51:22 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:54:13:54:26 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:56:17:56:30 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:58:13:58:26 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:62:8:62:13 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:71:8:71:13 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:72:9:72:22 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:75:9:75:22 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:78:5:78:18 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:82:9:82:14 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:83:9:83:22 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:87:5:87:18 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:91:8:91:13 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:92:9:92:22 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:93:16:93:25 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:94:9:94:22 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:97:8:97:13 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:98:9:98:22 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:99:9:99:24 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:100:9:100:22 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:103:8:103:13 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:104:9:104:22 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:105:9:105:15 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:106:9:106:22 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:109:8:109:13 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:110:9:110:22 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:111:9:111:22 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:112:9:112:22 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:115:8:115:13 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:118:17:118:29 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:120:9:120:22 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:122:20:122:25 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:122:29:122:41 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:124:9:124:22 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:128:9:128:22 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:131:8:131:13 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:132:9:132:22 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:134:13:134:20 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:135:9:135:22 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:136:22:136:29 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:136:22:136:29 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:137:9:137:22 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:140:8:140:13 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:141:9:141:22 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:143:13:143:20 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:144:9:144:22 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:145:21:145:28 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:145:21:145:28 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:146:9:146:22 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:163:8:163:13 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:164:9:164:22 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:165:16:165:43 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:165:20:165:42 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:169:8:169:13 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:170:9:170:22 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:171:9:171:17 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:171:9:171:17 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:175:8:175:13 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:176:9:176:22 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:177:17:177:25 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:177:17:177:25 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:179:5:179:18 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:181:5:181:9 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:185:8:185:13 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:186:15:186:28 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:191:17:191:30 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:194:9:194:22 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:197:8:197:13 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:198:15:198:28 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:209:8:209:13 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:210:19:210:32 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:214:9:214:22 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:217:8:217:13 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:218:13:221:10 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:218:24:218:37 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:222:9:222:22 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:227:8:227:13 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:229:13:229:26 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:235:8:235:13 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:236:15:236:20 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:237:13:237:26 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:245:13:245:26 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:250:8:250:13 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:252:16:252:21 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:256:13:256:26 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:260:8:260:13 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:262:16:262:21 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:272:8:272:13 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:278:13:278:15 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:281:9:281:31 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:282:9:282:31 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:283:9:283:33 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:284:9:284:33 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:285:9:285:22 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:294:13:294:32 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:296:9:296:22 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:301:13:301:32 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:318:22:318:41 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:319:9:319:22 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:322:9:322:22 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:325:5:325:18 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:327:16:327:29 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:329:9:329:22 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:339:19:339:38 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:340:9:340:22 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:344:5:344:18 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:346:13:346:32 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:352:5:352:18 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:360:9:360:22 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:362:9:362:22 | CallExpr | Call should have one enclosing callable but has 0. | -| unreachable.rs:368:9:368:22 | CallExpr | Call should have one enclosing callable but has 0. | From aebce746df60926b8c51894ba5782e674a8970ba Mon Sep 17 00:00:00 2001 From: Simon Friis Vindum Date: Mon, 11 Nov 2024 11:44:32 +0100 Subject: [PATCH 081/347] Rust: Create data flow nodes for parameters in the CFG Before data flow nodes where created for all parameters in the AST. But some AST parameters does not lead to any data flow (for instance parameters in function pointer types). --- rust/ql/lib/codeql/rust/controlflow/CfgNodes.qll | 8 ++++++++ .../codeql/rust/dataflow/internal/DataFlowImpl.qll | 10 +++++----- .../Trait/CONSISTENCY/DataFlowConsistency.expected | 2 -- .../CONSISTENCY/DataFlowConsistency.expected | 2 -- .../CONSISTENCY/DataFlowConsistency.expected | 12 ------------ 5 files changed, 13 insertions(+), 21 deletions(-) delete mode 100644 rust/ql/test/extractor-tests/generated/Trait/CONSISTENCY/DataFlowConsistency.expected delete mode 100644 rust/ql/test/library-tests/controlflow/CONSISTENCY/DataFlowConsistency.expected delete mode 100644 rust/ql/test/query-tests/unusedentities/CONSISTENCY/DataFlowConsistency.expected diff --git a/rust/ql/lib/codeql/rust/controlflow/CfgNodes.qll b/rust/ql/lib/codeql/rust/controlflow/CfgNodes.qll index 54973c582436..3614035a183e 100644 --- a/rust/ql/lib/codeql/rust/controlflow/CfgNodes.qll +++ b/rust/ql/lib/codeql/rust/controlflow/CfgNodes.qll @@ -14,6 +14,14 @@ class AstCfgNode extends CfgNode { AstCfgNode() { node = this.getAstNode() } } +/** A CFG node that corresponds to a parameter in the AST. */ +class ParamCfgNode extends AstCfgNode { + override Param node; + + /** Gets the underlying parameter. */ + Param getParam() { result = node } +} + /** A CFG node that corresponds to an expression in the AST. */ class ExprCfgNode extends AstCfgNode { override Expr node; diff --git a/rust/ql/lib/codeql/rust/dataflow/internal/DataFlowImpl.qll b/rust/ql/lib/codeql/rust/dataflow/internal/DataFlowImpl.qll index f2f88ecd211b..1bc68b69a817 100644 --- a/rust/ql/lib/codeql/rust/dataflow/internal/DataFlowImpl.qll +++ b/rust/ql/lib/codeql/rust/dataflow/internal/DataFlowImpl.qll @@ -152,18 +152,18 @@ module Node { * flow graph. */ final class ParameterNode extends Node, TParameterNode { - Param parameter; + ParamCfgNode parameter; ParameterNode() { this = TParameterNode(parameter) } - override CfgScope getCfgScope() { result = parameter.getEnclosingCallable() } + override CfgScope getCfgScope() { result = parameter.getParam().getEnclosingCallable() } override Location getLocation() { result = parameter.getLocation() } override string toString() { result = parameter.toString() } /** Gets the parameter in the AST that this node corresponds to. */ - Param getParameter() { result = parameter } + Param getParameter() { result = parameter.getParam() } } final class ArgumentNode = NaNode; @@ -232,7 +232,7 @@ final class Node = Node::Node; module SsaFlow { private module Impl = SsaImpl::DataFlowIntegration; - private Node::ParameterNode toParameterNode(Param p) { result = TParameterNode(p) } + private Node::ParameterNode toParameterNode(Param p) { result.getParameter() = p } /** Converts a control flow node into an SSA control flow node. */ Impl::Node asNode(Node n) { @@ -484,7 +484,7 @@ private module Cached { cached newtype TNode = TExprNode(ExprCfgNode n) or - TParameterNode(Param p) or + TParameterNode(ParamCfgNode p) or TSsaNode(SsaImpl::DataFlowIntegration::SsaNode node) cached diff --git a/rust/ql/test/extractor-tests/generated/Trait/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/extractor-tests/generated/Trait/CONSISTENCY/DataFlowConsistency.expected deleted file mode 100644 index 86433bae5031..000000000000 --- a/rust/ql/test/extractor-tests/generated/Trait/CONSISTENCY/DataFlowConsistency.expected +++ /dev/null @@ -1,2 +0,0 @@ -uniqueEnclosingCallable -| gen_trait.rs:7:32:7:60 | Param | Node should have one enclosing callable but has 0. | diff --git a/rust/ql/test/library-tests/controlflow/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/library-tests/controlflow/CONSISTENCY/DataFlowConsistency.expected deleted file mode 100644 index d6806d79f9e9..000000000000 --- a/rust/ql/test/library-tests/controlflow/CONSISTENCY/DataFlowConsistency.expected +++ /dev/null @@ -1,2 +0,0 @@ -uniqueEnclosingCallable -| test.rs:408:16:408:19 | Param | Node should have one enclosing callable but has 0. | diff --git a/rust/ql/test/query-tests/unusedentities/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/query-tests/unusedentities/CONSISTENCY/DataFlowConsistency.expected deleted file mode 100644 index f5e6d87bd4e1..000000000000 --- a/rust/ql/test/query-tests/unusedentities/CONSISTENCY/DataFlowConsistency.expected +++ /dev/null @@ -1,12 +0,0 @@ -uniqueEnclosingCallable -| main.rs:392:19:392:21 | Param | Node should have one enclosing callable but has 0. | -| main.rs:440:29:440:38 | Param | Node should have one enclosing callable but has 0. | -| main.rs:440:41:440:56 | Param | Node should have one enclosing callable but has 0. | -| main.rs:493:16:493:18 | Param | Node should have one enclosing callable but has 0. | -| main.rs:494:16:494:21 | Param | Node should have one enclosing callable but has 0. | -| main.rs:495:16:496:25 | Param | Node should have one enclosing callable but has 0. | -| main.rs:496:12:496:17 | Param | Node should have one enclosing callable but has 0. | -| main.rs:499:18:499:23 | Param | Node should have one enclosing callable but has 0. | -| main.rs:502:24:502:29 | Param | Node should have one enclosing callable but has 0. | -| more.rs:4:23:4:28 | Param | Node should have one enclosing callable but has 0. | -| more.rs:8:19:8:24 | Param | Node should have one enclosing callable but has 0. | From e8aa5db07a9b5368de12d724d80f473526318bde Mon Sep 17 00:00:00 2001 From: Cornelius Riemenschneider Date: Mon, 11 Nov 2024 12:10:34 +0100 Subject: [PATCH 082/347] Rust: Update cargo dependencies. There was a recent round of tree-sitter-* package releases, so the latest code is now a) released and b) available on crates.io. Therefore, move away from the (super slow on CI) git dependencies to released crates instead. This also includes a run of `cargo update`, so there's a bunch of more changes to the lockfile. --- Cargo.lock | 249 ++++---- ql/Cargo.lock | 736 +++++++----------------- ruby/extractor/Cargo.toml | 4 +- shared/tree-sitter-extractor/Cargo.toml | 5 +- 4 files changed, 341 insertions(+), 653 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 9304acd6d2e2..ea1bca33cd36 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -43,9 +43,9 @@ dependencies = [ [[package]] name = "anstream" -version = "0.6.15" +version = "0.6.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64e15c1ab1f89faffbf04a634d5e1962e9074f2741eef6d97f3c4e322426d526" +checksum = "8acc5369981196006228e28809f761875c0327210a891e941f4c683b3a99529b" dependencies = [ "anstyle", "anstyle-parse", @@ -58,43 +58,43 @@ dependencies = [ [[package]] name = "anstyle" -version = "1.0.8" +version = "1.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bec1de6f59aedf83baf9ff929c98f2ad654b97c9510f4e70cf6f661d49fd5b1" +checksum = "55cc3b69f167a1ef2e161439aa98aed94e6028e5f9a59be9a6ffb47aef1651f9" [[package]] name = "anstyle-parse" -version = "0.2.5" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb47de1e80c2b463c735db5b217a0ddc39d612e7ac9e2e96a5aed1f57616c1cb" +checksum = "3b2d16507662817a6a20a9ea92df6652ee4f94f914589377d69f3b21bc5798a9" dependencies = [ "utf8parse", ] [[package]] name = "anstyle-query" -version = "1.1.1" +version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d36fc52c7f6c869915e99412912f22093507da8d9e942ceaf66fe4b7c14422a" +checksum = "79947af37f4177cfead1110013d678905c37501914fba0efea834c3fe9a8d60c" dependencies = [ - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] name = "anstyle-wincon" -version = "3.0.4" +version = "3.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5bf74e1b6e971609db8ca7a9ce79fd5768ab6ae46441c572e46cf596f59e57f8" +checksum = "2109dbce0e72be3ec00bed26e6a7479ca384ad226efdd66db8fa2e3a38c83125" dependencies = [ "anstyle", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] name = "anyhow" -version = "1.0.87" +version = "1.0.93" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10f00e1f6e58a40e807377c75c6a7f97bf9044fab57816f2414e6f5f4499d7b8" +checksum = "4c95c10ba0b00a02636238b814946408b1322d5ac4760326e6fb8ec956d85775" [[package]] name = "argfile" @@ -133,9 +133,9 @@ dependencies = [ [[package]] name = "autocfg" -version = "1.3.0" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" +checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" [[package]] name = "base64" @@ -173,9 +173,9 @@ checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" [[package]] name = "bytemuck" -version = "1.18.0" +version = "1.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94bbb0ad554ad961ddc5da507a12a29b14e4ae5bda06b19f575a3e6079d2e2ae" +checksum = "8334215b81e418a0a7bdb8ef0849474f40bb10c8b71f1c4ed315cff49f32494d" [[package]] name = "byteorder" @@ -217,9 +217,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.1.18" +version = "1.1.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b62ac837cdb5cb22e10a256099b4fc502b1dfe560cb282963a974d7abd80e476" +checksum = "40545c26d092346d8a8dab71ee48e7685a7a9cba76e634790c215b41a4a7b4cf" dependencies = [ "shlex", ] @@ -274,7 +274,7 @@ dependencies = [ "chalk-derive", "chalk-ir", "ena", - "indexmap 2.5.0", + "indexmap 2.6.0", "itertools 0.12.1", "petgraph", "rustc-hash", @@ -298,9 +298,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.17" +version = "4.5.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e5a21b8495e732f1b3c364c9949b201ca7bae518c502c80256c96ad79eaf6ac" +checksum = "b97f376d85a664d5837dbae44bf546e6477a679ff6610010f17276f686d867e8" dependencies = [ "clap_builder", "clap_derive", @@ -308,9 +308,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.5.17" +version = "4.5.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8cf2dd12af7a047ad9d6da2b6b249759a22a7abc0f474c1dae1777afa4b21a73" +checksum = "19bc80abd44e4bed93ca373a0704ccbd1b710dc5749406201bb018272808dc54" dependencies = [ "anstream", "anstyle", @@ -320,9 +320,9 @@ dependencies = [ [[package]] name = "clap_derive" -version = "4.5.13" +version = "4.5.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "501d359d5f3dcaf6ecdeee48833ae73ec6e42723a1e52419c79abf9507eec0a0" +checksum = "4ac6a0c7b1a9e9a5186361f67dfa1b88213572f427fb9ab038efb2bd8c582dab" dependencies = [ "heck 0.5.0", "proc-macro2", @@ -409,9 +409,9 @@ dependencies = [ [[package]] name = "colorchoice" -version = "1.0.2" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3fd119d74b830634cea2a0f58bbd0d54540518a14397557951e79340abc28c0" +checksum = "5b63caa9aa9397e2d9480a9b13673856c78d8ac123288526c37d7839f2a86990" [[package]] name = "core-foundation-sys" @@ -657,9 +657,9 @@ checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" [[package]] name = "flate2" -version = "1.0.33" +version = "1.0.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "324a1be68054ef05ad64b861cc9eaf1d623d2d8cb25b4bf2cb9cdd902b4bf253" +checksum = "a1b589b4dc103969ad3cf85c950899926ec64300a1a46d76c03a6072957036f0" dependencies = [ "crc32fast", "miniz_oxide", @@ -721,8 +721,8 @@ dependencies = [ "aho-corasick", "bstr", "log", - "regex-automata 0.4.7", - "regex-syntax 0.8.4", + "regex-automata 0.4.8", + "regex-syntax 0.8.5", ] [[package]] @@ -737,6 +737,12 @@ version = "0.14.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" +[[package]] +name = "hashbrown" +version = "0.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a9bfc1af68b1726ea47d3d5109de126281def866b33970e10fbab11b5dafab3" + [[package]] name = "heck" version = "0.4.1" @@ -778,9 +784,9 @@ dependencies = [ [[package]] name = "iana-time-zone" -version = "0.1.60" +version = "0.1.61" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7ffbb5a1b541ea2561f8c41c087286cc091e21e556a4f09a8f6cbf17b69b141" +checksum = "235e081f3925a06703c2d0117ea8b91f042756fd6e7a6e5d901e8ca1a996b220" dependencies = [ "android_system_properties", "core-foundation-sys", @@ -818,12 +824,12 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.5.0" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68b900aa2f7301e21c36462b170ee99994de34dff39a4a6a528e80e7376d07e5" +checksum = "707907fe3c25f5424cce2cb7e1cbcafee6bdbe735ca90ef77c29e84591e5b9da" dependencies = [ "equivalent", - "hashbrown 0.14.5", + "hashbrown 0.15.1", "serde", ] @@ -911,9 +917,9 @@ checksum = "8b23360e99b8717f20aaa4598f5a6541efbe30630039fbc7706cf954a87947ae" [[package]] name = "js-sys" -version = "0.3.70" +version = "0.3.72" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1868808506b929d7b0cfa8f75951347aa71bb21144b7791bae35d9bccfcfe37a" +checksum = "6a88f1bda2bd75b0452a14784937d796722fdebfe50df998aeb3f0b7603019a9" dependencies = [ "wasm-bindgen", ] @@ -952,9 +958,9 @@ checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" [[package]] name = "libc" -version = "0.2.158" +version = "0.2.162" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8adc4bb1803a324070e64a98ae98f38934d91957a99cfb3a43dcbc01bc56439" +checksum = "18d287de67fe55fd7e1581fe933d965a5a9477b38e949cfa9f8574ef01506398" [[package]] name = "libredox" @@ -969,9 +975,9 @@ dependencies = [ [[package]] name = "line-index" -version = "0.1.1" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67d61795376ae2683928c218fda7d7d7db136fd38c06b7552904667f0d55580a" +checksum = "3e27e0ed5a392a7f5ba0b3808a2afccff16c64933312c84b57618b49d1209bd2" dependencies = [ "nohash-hasher", "text-size", @@ -1115,9 +1121,9 @@ dependencies = [ [[package]] name = "once_cell" -version = "1.19.0" +version = "1.20.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" +checksum = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775" [[package]] name = "oorandom" @@ -1212,14 +1218,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db" dependencies = [ "fixedbitset", - "indexmap 2.5.0", + "indexmap 2.6.0", ] [[package]] name = "pin-project-lite" -version = "0.2.14" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02" +checksum = "915a1e146535de9163f3987b8944ed8cf49a18bb0056bcebcdcece385cece4ff" [[package]] name = "powerfmt" @@ -1238,9 +1244,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.86" +version = "1.0.89" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77" +checksum = "f139b0662de085916d1fb67d2b4169d1addddda1919e696f3252b740b629986e" dependencies = [ "unicode-ident", ] @@ -1404,7 +1410,7 @@ dependencies = [ "either", "fst", "hashbrown 0.14.5", - "indexmap 2.5.0", + "indexmap 2.6.0", "itertools 0.12.1", "la-arena", "ra-ap-rustc_abi", @@ -1469,7 +1475,7 @@ dependencies = [ "cov-mark", "either", "ena", - "indexmap 2.5.0", + "indexmap 2.6.0", "itertools 0.12.1", "la-arena", "nohash-hasher", @@ -1506,7 +1512,7 @@ dependencies = [ "crossbeam-channel", "either", "fst", - "indexmap 2.5.0", + "indexmap 2.6.0", "itertools 0.12.1", "line-index", "memchr", @@ -1615,7 +1621,7 @@ version = "0.0.232" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "809670622e93f105abc60ea0cb371cfaff990beae7ce534b127fb39b423b4b92" dependencies = [ - "indexmap 2.5.0", + "indexmap 2.6.0", "ra_ap_base_db", "ra_ap_intern", "ra_ap_paths", @@ -1671,7 +1677,7 @@ version = "0.0.232" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "370b302873eeafd07ccc6a714fc9395cae11e385955ccb78081093ee3b86f94e" dependencies = [ - "indexmap 2.5.0", + "indexmap 2.6.0", "itertools 0.12.1", "lock_api", "oorandom", @@ -1734,7 +1740,7 @@ checksum = "f1ac12decfd5cadd880177316fc16afc1f2c67f241f6290b51fd6f222e2bd4d5" dependencies = [ "cov-mark", "either", - "indexmap 2.5.0", + "indexmap 2.6.0", "itertools 0.12.1", "ra-ap-rustc_lexer", "ra_ap_parser", @@ -1804,7 +1810,7 @@ checksum = "d833eaa5422de9bb51ab1841fe505ed00fb51e64cce397e21de6c324bbcbffa0" dependencies = [ "crossbeam-channel", "fst", - "indexmap 2.5.0", + "indexmap 2.6.0", "nohash-hasher", "ra_ap_paths", "ra_ap_stdx", @@ -1881,23 +1887,23 @@ dependencies = [ [[package]] name = "redox_syscall" -version = "0.5.3" +version = "0.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a908a6e00f1fdd0dfd9c0eb08ce85126f6d8bbda50017e74bc4a4b7d4a926a4" +checksum = "9b6dfecf2c74bce2466cabf93f6664d6998a69eb21e39f4207930065b27b771f" dependencies = [ "bitflags 2.6.0", ] [[package]] name = "regex" -version = "1.10.6" +version = "1.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4219d74c6b67a3654a9fbebc4b419e22126d13d2f3c4a07ee0cb61ff79a79619" +checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191" dependencies = [ "aho-corasick", "memchr", - "regex-automata 0.4.7", - "regex-syntax 0.8.4", + "regex-automata 0.4.8", + "regex-syntax 0.8.5", ] [[package]] @@ -1911,13 +1917,13 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.4.7" +version = "0.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38caf58cc5ef2fed281f89292ef23f6365465ed9a41b7a7754eb4e26496c92df" +checksum = "368758f23274712b504848e9d5a6f010445cc8b87a7cdb4d7cbee666c1288da3" dependencies = [ "aho-corasick", "memchr", - "regex-syntax 0.8.4", + "regex-syntax 0.8.5", ] [[package]] @@ -1928,9 +1934,9 @@ checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" [[package]] name = "regex-syntax" -version = "0.8.4" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a66a03ae7c801facd77a29370b4faec201768915ac14a721ba36f20bc9c209b" +checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" [[package]] name = "rowan" @@ -2006,18 +2012,18 @@ dependencies = [ [[package]] name = "serde" -version = "1.0.210" +version = "1.0.214" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8e3592472072e6e22e0a54d5904d9febf8508f65fb8552499a1abc7d1078c3a" +checksum = "f55c3193aca71c12ad7890f1785d2b73e1b9f63a0bbc353c08ef26fe03fc56b5" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.210" +version = "1.0.214" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "243902eda00fad750862fc144cea25caca5e20d615af0a81bee94ca738f1df1f" +checksum = "de523f781f095e28fa605cdce0f8307e451cc0fd14e2eb4cd2e98a355b147766" dependencies = [ "proc-macro2", "quote", @@ -2026,9 +2032,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.128" +version = "1.0.132" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ff5456707a1de34e7e37f2a6fd3d3f808c318259cbd01ab6377795054b483d8" +checksum = "d726bfaff4b320266d395898905d0eba0345aae23b54aee3a737e260fd46db03" dependencies = [ "itoa", "memchr", @@ -2038,15 +2044,15 @@ dependencies = [ [[package]] name = "serde_with" -version = "3.9.0" +version = "3.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69cecfa94848272156ea67b2b1a53f20fc7bc638c4a46d2f8abde08f05f4b857" +checksum = "8e28bdad6db2b8340e449f7108f020b3b092e8583a9e3fb82713e1d4e71fe817" dependencies = [ "base64", "chrono", "hex", "indexmap 1.9.3", - "indexmap 2.5.0", + "indexmap 2.6.0", "serde", "serde_derive", "serde_json", @@ -2056,9 +2062,9 @@ dependencies = [ [[package]] name = "serde_with_macros" -version = "3.9.0" +version = "3.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8fee4991ef4f274617a51ad4af30519438dacb2f56ac773b08a1922ff743350" +checksum = "9d846214a9854ef724f3da161b426242d8de7c1fc7de2f89bb1efcb154dca79d" dependencies = [ "darling", "proc-macro2", @@ -2072,7 +2078,7 @@ version = "0.9.34+deprecated" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6a8b1a1a2ebf674015cc02edccce75287f1a0130d394307b36743c2f5d504b47" dependencies = [ - "indexmap 2.5.0", + "indexmap 2.6.0", "itoa", "ryu", "serde", @@ -2134,6 +2140,12 @@ dependencies = [ "thread_local", ] +[[package]] +name = "streaming-iterator" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b2231b7c3057d5e4ad0156fb3dc807d900806020c5ffa3ee6ff2c8c76fb8520" + [[package]] name = "strsim" version = "0.11.1" @@ -2142,9 +2154,9 @@ checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" [[package]] name = "syn" -version = "2.0.77" +version = "2.0.87" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f35bcdf61fd8e7be6caf75f429fdca8beb3ed76584befb503b1569faee373ed" +checksum = "25aa4ce346d03a6dcd68dd8b4010bcb74e54e62c90c573f394c46eae99aba32d" dependencies = [ "proc-macro2", "quote", @@ -2179,18 +2191,18 @@ checksum = "f18aa187839b2bdb1ad2fa35ead8c4c2976b64e4363c386d45ac0f7ee85c9233" [[package]] name = "thiserror" -version = "1.0.63" +version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0342370b38b6a11b6cc11d6a805569958d54cfa061a29969c3b5ce2ea405724" +checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.63" +version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4558b58466b9ad7ca0f102865eccc95938dca1a74a856f2b57b6629050da261" +checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", @@ -2301,20 +2313,22 @@ dependencies = [ [[package]] name = "tree-sitter" -version = "0.23.0" +version = "0.24.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20f4cd3642c47a85052a887d86704f4eac272969f61b686bdd3f772122aabaff" +checksum = "b67baf55e7e1b6806063b1e51041069c90afff16afcbbccd278d899f9d84bca4" dependencies = [ "cc", "regex", - "regex-syntax 0.8.4", + "regex-syntax 0.8.5", + "streaming-iterator", "tree-sitter-language", ] [[package]] name = "tree-sitter-embedded-template" -version = "0.23.0" -source = "git+https://github.com/tree-sitter/tree-sitter-embedded-template.git?rev=62b0a6e45900a7dff7c37da95fec20a09968ba52#62b0a6e45900a7dff7c37da95fec20a09968ba52" +version = "0.23.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "790063ef14e5b67556abc0b3be0ed863fb41d65ee791cf8c0b20eb42a1fa46af" dependencies = [ "cc", "tree-sitter-language", @@ -2322,8 +2336,9 @@ dependencies = [ [[package]] name = "tree-sitter-json" -version = "0.23.0" -source = "git+https://github.com/tree-sitter/tree-sitter-json#8bfdb43f47ad805bb1ce093203cfcbaa8ed2c571" +version = "0.24.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4d727acca406c0020cffc6cf35516764f36c8e3dc4408e5ebe2cb35a947ec471" dependencies = [ "cc", "tree-sitter-language", @@ -2331,14 +2346,15 @@ dependencies = [ [[package]] name = "tree-sitter-language" -version = "0.1.0" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2545046bd1473dac6c626659cc2567c6c0ff302fc8b84a56c4243378276f7f57" +checksum = "e8ddffe35a0e5eeeadf13ff7350af564c6e73993a24db62caee1822b185c2600" [[package]] name = "tree-sitter-ql" -version = "0.23.0" -source = "git+https://github.com/tree-sitter/tree-sitter-ql#c73c31c89cb0019ef56fe8bc1723e7c36e0be607" +version = "0.23.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "80b7bcaf39acefbb199417a6ec2fd0c038083ba115da3e4f4426c820dc76d386" dependencies = [ "cc", "tree-sitter-language", @@ -2346,8 +2362,9 @@ dependencies = [ [[package]] name = "tree-sitter-ruby" -version = "0.23.0" -source = "git+https://github.com/tree-sitter/tree-sitter-ruby.git?rev=a66579f70d6f50ffd81a16fc3d3358e2ac173c88#a66579f70d6f50ffd81a16fc3d3358e2ac173c88" +version = "0.23.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be0484ea4ef6bb9c575b4fdabde7e31340a8d2dbc7d52b321ac83da703249f95" dependencies = [ "cc", "tree-sitter-language", @@ -2355,9 +2372,9 @@ dependencies = [ [[package]] name = "triomphe" -version = "0.1.13" +version = "0.1.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6631e42e10b40c0690bf92f404ebcfe6e1fdb480391d15f17cc8e96eeed5369" +checksum = "ef8f7726da4807b58ea5c96fdc122f80702030edc33b35aff9190a51148ccc85" dependencies = [ "serde", "stable_deref_trait", @@ -2392,15 +2409,15 @@ checksum = "e91b56cd4cadaeb79bbf1a5645f6b4f8dc5bde8834ad5894a8db35fda9efa1fe" [[package]] name = "unicode-properties" -version = "0.1.2" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52ea75f83c0137a9b98608359a5f1af8144876eb67bcb1ce837368e906a9f524" +checksum = "e70f2a8b45122e719eb623c01822704c4e0907e7e426a05927e1a1cfff5b75d0" [[package]] name = "unicode-xid" -version = "0.2.5" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "229730647fbc343e3a80e463c1db7f78f3855d3f3739bee0dda773c9a037c90a" +checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" [[package]] name = "unsafe-libyaml" @@ -2444,9 +2461,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.93" +version = "0.2.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a82edfc16a6c469f5f44dc7b571814045d60404b55a0ee849f9bcfa2e63dd9b5" +checksum = "128d1e363af62632b8eb57219c8fd7877144af57558fb2ef0368d0087bddeb2e" dependencies = [ "cfg-if", "once_cell", @@ -2455,9 +2472,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.93" +version = "0.2.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9de396da306523044d3302746f1208fa71d7532227f15e347e2d93e4145dd77b" +checksum = "cb6dd4d3ca0ddffd1dd1c9c04f94b868c37ff5fac97c30b97cff2d74fce3a358" dependencies = [ "bumpalo", "log", @@ -2470,9 +2487,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.93" +version = "0.2.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "585c4c91a46b072c92e908d99cb1dcdf95c5218eeb6f3bf1efa991ee7a68cccf" +checksum = "e79384be7f8f5a9dd5d7167216f022090cf1f9ec128e6e6a482a2cb5c5422c56" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -2480,9 +2497,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.93" +version = "0.2.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "afc340c74d9005395cf9dd098506f7f44e38f2b4a21c6aaacf9a105ea5e1e836" +checksum = "26c6ab57572f7a24a4985830b120de1594465e5d500f24afe89e16b4e833ef68" dependencies = [ "proc-macro2", "quote", @@ -2493,9 +2510,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-shared" -version = "0.2.93" +version = "0.2.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c62a0a307cb4a311d3a07867860911ca130c3494e8c2719593806c08bc5d0484" +checksum = "65fc09f10666a9f147042251e0dda9c18f166ff7de300607007e96bdebc1068d" [[package]] name = "winapi" diff --git a/ql/Cargo.lock b/ql/Cargo.lock index 67a3f78fb41b..853271e24e64 100644 --- a/ql/Cargo.lock +++ b/ql/Cargo.lock @@ -3,25 +3,16 @@ version = 3 [[package]] -name = "adler" -version = "1.0.2" +name = "adler2" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" +checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627" [[package]] name = "aho-corasick" -version = "0.7.20" +version = "1.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc936419f96fa211c1b9166887b38e5e40b19958e5b895be7c1f93adec7071ac" -dependencies = [ - "memchr", -] - -[[package]] -name = "aho-corasick" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67fc08ce920c31afb70f013dcce1bfc3a3195de6a228474e45e1f145b36f8d04" +checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" dependencies = [ "memchr", ] @@ -43,61 +34,64 @@ dependencies = [ [[package]] name = "anstream" -version = "0.2.6" +version = "0.6.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "342258dd14006105c2b75ab1bd7543a03bdf0cfc94383303ac212a04939dff6f" +checksum = "8acc5369981196006228e28809f761875c0327210a891e941f4c683b3a99529b" dependencies = [ "anstyle", "anstyle-parse", + "anstyle-query", "anstyle-wincon", - "concolor-override", - "concolor-query", - "is-terminal", + "colorchoice", + "is_terminal_polyfill", "utf8parse", ] [[package]] name = "anstyle" -version = "0.3.5" +version = "1.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23ea9e81bd02e310c216d080f6223c179012256e5151c41db88d12c88a1684d2" +checksum = "55cc3b69f167a1ef2e161439aa98aed94e6028e5f9a59be9a6ffb47aef1651f9" [[package]] name = "anstyle-parse" -version = "0.1.1" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7d1bb534e9efed14f3e5f44e7dd1a4f709384023a4165199a4241e18dff0116" +checksum = "3b2d16507662817a6a20a9ea92df6652ee4f94f914589377d69f3b21bc5798a9" dependencies = [ "utf8parse", ] [[package]] -name = "anstyle-wincon" -version = "0.2.0" +name = "anstyle-query" +version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3127af6145b149f3287bb9a0d10ad9c5692dba8c53ad48285e5bec4063834fa" +checksum = "79947af37f4177cfead1110013d678905c37501914fba0efea834c3fe9a8d60c" dependencies = [ - "anstyle", - "windows-sys 0.45.0", + "windows-sys", ] [[package]] -name = "autocfg" -version = "1.1.0" +name = "anstyle-wincon" +version = "3.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" +checksum = "2109dbce0e72be3ec00bed26e6a7479ca384ad226efdd66db8fa2e3a38c83125" +dependencies = [ + "anstyle", + "windows-sys", +] [[package]] -name = "bitflags" -version = "1.3.2" +name = "autocfg" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" +checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" [[package]] name = "bstr" -version = "1.6.0" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6798148dccfbff0fae41c7574d2fa8f1ef3492fba0face179de5d8d447d67b05" +checksum = "40723b8fb387abc38f4f4a37c09073622e41dd12327033091ef8950659e6dc0c" dependencies = [ "memchr", "serde", @@ -105,9 +99,9 @@ dependencies = [ [[package]] name = "bumpalo" -version = "3.12.0" +version = "3.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d261e256854913907f67ed06efbc3338dfe6179796deefc1ff763fc1aee5535" +checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" [[package]] name = "buramu" @@ -121,9 +115,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.1.15" +version = "1.1.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57b6a275aa2903740dc87da01c62040406b8812552e97129a63ea8850a17c6e6" +checksum = "40545c26d092346d8a8dab71ee48e7685a7a9cba76e634790c215b41a4a7b4cf" dependencies = [ "shlex", ] @@ -136,9 +130,9 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "chrono" -version = "0.4.37" +version = "0.4.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a0d04d43504c61aa6c7531f1871dd0d418d91130162063b789da00fd7057a5e" +checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401" dependencies = [ "android-tzdata", "iana-time-zone", @@ -146,50 +140,48 @@ dependencies = [ "num-traits", "serde", "wasm-bindgen", - "windows-targets 0.52.0", + "windows-targets", ] [[package]] name = "clap" -version = "4.2.1" +version = "4.5.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "046ae530c528f252094e4a77886ee1374437744b2bff1497aa898bbddbbb29b3" +checksum = "b97f376d85a664d5837dbae44bf546e6477a679ff6610010f17276f686d867e8" dependencies = [ "clap_builder", "clap_derive", - "once_cell", ] [[package]] name = "clap_builder" -version = "4.2.1" +version = "4.5.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "223163f58c9a40c3b0a43e1c4b50a9ce09f007ea2cb1ec258a687945b4b7929f" +checksum = "19bc80abd44e4bed93ca373a0704ccbd1b710dc5749406201bb018272808dc54" dependencies = [ "anstream", "anstyle", - "bitflags", "clap_lex", "strsim", ] [[package]] name = "clap_derive" -version = "4.2.0" +version = "4.5.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f9644cd56d6b87dbe899ef8b053e331c0637664e9e21a33dfcdc36093f5c5c4" +checksum = "4ac6a0c7b1a9e9a5186361f67dfa1b88213572f427fb9ab038efb2bd8c582dab" dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.13", + "syn", ] [[package]] name = "clap_lex" -version = "0.4.1" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a2dd5a6fe8c6e3502f568a6353e5273bbb15193ad9a89e457b9970798efbea1" +checksum = "1462739cb27611015575c0c11df5df7601141071f07518d56fcc1be504cbec97" [[package]] name = "codeql-extractor" @@ -228,127 +220,56 @@ dependencies = [ ] [[package]] -name = "codespan-reporting" -version = "0.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3538270d33cc669650c4b093848450d380def10c331d38c768e34cac80576e6e" -dependencies = [ - "termcolor", - "unicode-width", -] - -[[package]] -name = "concolor-override" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a855d4a1978dc52fb0536a04d384c2c0c1aa273597f08b77c8c4d3b2eec6037f" - -[[package]] -name = "concolor-query" -version = "0.3.3" +name = "colorchoice" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88d11d52c3d7ca2e6d0040212be9e4dbbcd78b6447f535b6b561f449427944cf" -dependencies = [ - "windows-sys 0.45.0", -] +checksum = "5b63caa9aa9397e2d9480a9b13673856c78d8ac123288526c37d7839f2a86990" [[package]] name = "core-foundation-sys" -version = "0.8.4" +version = "0.8.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa" +checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" [[package]] name = "crc32fast" -version = "1.3.2" +version = "1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d" +checksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3" dependencies = [ "cfg-if", ] [[package]] name = "crossbeam-deque" -version = "0.8.3" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce6fd6f855243022dcecf8702fef0c297d4338e226845fe067f6341ad9fa0cef" +checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d" dependencies = [ - "cfg-if", "crossbeam-epoch", "crossbeam-utils", ] [[package]] name = "crossbeam-epoch" -version = "0.9.14" +version = "0.9.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46bd5f3f85273295a9d14aedfb86f6aadbff6d8f5295c4a9edb08e819dcf5695" +checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" dependencies = [ - "autocfg", - "cfg-if", "crossbeam-utils", - "memoffset", - "scopeguard", ] [[package]] name = "crossbeam-utils" -version = "0.8.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c063cd8cc95f5c377ed0d4b49a4b21f632396ff690e8470c29b3359b346984b" -dependencies = [ - "cfg-if", -] - -[[package]] -name = "cxx" -version = "1.0.94" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f61f1b6389c3fe1c316bf8a4dccc90a38208354b330925bce1f74a6c4756eb93" -dependencies = [ - "cc", - "cxxbridge-flags", - "cxxbridge-macro", - "link-cplusplus", -] - -[[package]] -name = "cxx-build" -version = "1.0.94" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12cee708e8962df2aeb38f594aae5d827c022b6460ac71a7a3e2c3c2aae5a07b" -dependencies = [ - "cc", - "codespan-reporting", - "once_cell", - "proc-macro2", - "quote", - "scratch", - "syn 2.0.13", -] - -[[package]] -name = "cxxbridge-flags" -version = "1.0.94" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7944172ae7e4068c533afbb984114a56c46e9ccddda550499caa222902c7f7bb" - -[[package]] -name = "cxxbridge-macro" -version = "1.0.94" +version = "0.8.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2345488264226bf682893e25de0769f3360aac9957980ec49361b083ddaa5bc5" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.13", -] +checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80" [[package]] name = "either" -version = "1.8.1" +version = "1.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91" +checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0" [[package]] name = "encoding" @@ -414,174 +335,102 @@ version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a246d82be1c9d791c5dfde9a2bd045fc3cbba3fa2b11ad558f27d01712f00569" -[[package]] -name = "errno" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50d6a0976c999d473fe89ad888d5a284e55366d9dc9038b1ba2aa15128c4afa0" -dependencies = [ - "errno-dragonfly", - "libc", - "windows-sys 0.45.0", -] - -[[package]] -name = "errno-dragonfly" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf" -dependencies = [ - "cc", - "libc", -] - [[package]] name = "flate2" -version = "1.0.25" +version = "1.0.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8a2db397cb1c8772f31494cb8917e48cd1e64f0fa7efac59fbd741a0a8ce841" +checksum = "a1b589b4dc103969ad3cf85c950899926ec64300a1a46d76c03a6072957036f0" dependencies = [ "crc32fast", "miniz_oxide", ] -[[package]] -name = "fnv" -version = "1.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" - [[package]] name = "globset" -version = "0.4.10" +version = "0.4.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "029d74589adefde59de1a0c4f4732695c32805624aec7b68d91503d4dba79afc" +checksum = "15f1ce686646e7f1e19bf7d5533fe443a45dbfb990e00629110797578b42fb19" dependencies = [ - "aho-corasick 0.7.20", + "aho-corasick", "bstr", - "fnv", "log", - "regex", + "regex-automata 0.4.8", + "regex-syntax 0.8.5", ] [[package]] name = "heck" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" - -[[package]] -name = "hermit-abi" -version = "0.2.6" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7" -dependencies = [ - "libc", -] +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" [[package]] name = "hermit-abi" -version = "0.3.1" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fed44880c466736ef9a5c5b5facefb5ed0785676d0c02d612db14e54f0d84286" +checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" [[package]] name = "iana-time-zone" -version = "0.1.56" +version = "0.1.61" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0722cd7114b7de04316e7ea5456a0bbb20e4adb46fd27a3697adb812cff0f37c" +checksum = "235e081f3925a06703c2d0117ea8b91f042756fd6e7a6e5d901e8ca1a996b220" dependencies = [ "android_system_properties", "core-foundation-sys", "iana-time-zone-haiku", "js-sys", "wasm-bindgen", - "windows", + "windows-core", ] [[package]] name = "iana-time-zone-haiku" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0703ae284fc167426161c2e3f1da3ea71d94b21bedbcc9494e92b28e334e3dca" -dependencies = [ - "cxx", - "cxx-build", -] - -[[package]] -name = "io-lifetimes" -version = "1.0.10" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c66c74d2ae7e79a5a8f7ac924adbe38ee42a859c6539ad869eb51f0b52dc220" +checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" dependencies = [ - "hermit-abi 0.3.1", - "libc", - "windows-sys 0.48.0", + "cc", ] [[package]] -name = "is-terminal" -version = "0.4.7" +name = "is_terminal_polyfill" +version = "1.70.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adcf93614601c8129ddf72e2d5633df827ba6551541c6d8c59520a371475be1f" -dependencies = [ - "hermit-abi 0.3.1", - "io-lifetimes", - "rustix", - "windows-sys 0.48.0", -] +checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf" [[package]] name = "itoa" -version = "1.0.6" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "453ad9f582a441959e5f0d088b02ce04cfe8d51a8eaf077f12ac6d3e94164ca6" +checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" [[package]] name = "js-sys" -version = "0.3.61" +version = "0.3.72" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "445dde2150c55e483f3d8416706b97ec8e8237c307e5b7b4b8dd15e6af2a0730" +checksum = "6a88f1bda2bd75b0452a14784937d796722fdebfe50df998aeb3f0b7603019a9" dependencies = [ "wasm-bindgen", ] [[package]] name = "lazy_static" -version = "1.4.0" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" +checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" [[package]] name = "libc" -version = "0.2.141" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3304a64d199bb964be99741b7a14d26972741915b3649639149b2479bb46f4b5" - -[[package]] -name = "link-cplusplus" -version = "1.0.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ecd207c9c713c34f95a097a5b029ac2ce6010530c7b49d7fea24d977dede04f5" -dependencies = [ - "cc", -] - -[[package]] -name = "linux-raw-sys" -version = "0.3.1" +version = "0.2.162" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d59d8c75012853d2e872fb56bc8a2e53718e2cafe1a4c823143141c6d90c322f" +checksum = "18d287de67fe55fd7e1581fe933d965a5a9477b38e949cfa9f8574ef01506398" [[package]] name = "log" -version = "0.4.17" +version = "0.4.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e" -dependencies = [ - "cfg-if", -] +checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" [[package]] name = "matchers" @@ -594,26 +443,17 @@ dependencies = [ [[package]] name = "memchr" -version = "2.6.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f232d6ef707e1956a43342693d2a31e72989554d58299d7a88738cc95b0d35c" - -[[package]] -name = "memoffset" -version = "0.8.0" +version = "2.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d61c719bcfbcf5d62b3a09efa6088de8c54bc0bfcd3ea7ae39fcc186108b8de1" -dependencies = [ - "autocfg", -] +checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" [[package]] name = "miniz_oxide" -version = "0.6.2" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b275950c28b37e794e8c55d88aeb5e139d0ce23fdbbeda68f8d7174abdf9e8fa" +checksum = "e2d80299ef12ff69b16a84bb182e3b9df68b5a91574d3d4fa6e41b65deec4df1" dependencies = [ - "adler", + "adler2", ] [[package]] @@ -628,28 +468,28 @@ dependencies = [ [[package]] name = "num-traits" -version = "0.2.15" +version = "0.2.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" dependencies = [ "autocfg", ] [[package]] name = "num_cpus" -version = "1.15.0" +version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fac9e2da13b5eb447a6ce3d392f23a29d8694bff781bf03a16cd9ac8697593b" +checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" dependencies = [ - "hermit-abi 0.2.6", + "hermit-abi", "libc", ] [[package]] name = "once_cell" -version = "1.17.1" +version = "1.20.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7e5500299e16ebb147ae15a00a942af264cf3688f47923b8fc2cd5858f23ad3" +checksum = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775" [[package]] name = "overload" @@ -659,33 +499,33 @@ checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" [[package]] name = "pin-project-lite" -version = "0.2.9" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116" +checksum = "915a1e146535de9163f3987b8944ed8cf49a18bb0056bcebcdcece385cece4ff" [[package]] name = "proc-macro2" -version = "1.0.69" +version = "1.0.89" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "134c189feb4956b20f6f547d2cf727d4c0fe06722b20a0eec87ed445a97f92da" +checksum = "f139b0662de085916d1fb67d2b4169d1addddda1919e696f3252b740b629986e" dependencies = [ "unicode-ident", ] [[package]] name = "quote" -version = "1.0.26" +version = "1.0.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4424af4bf778aae2051a77b60283332f386554255d722233d09fbfc7e30da2fc" +checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af" dependencies = [ "proc-macro2", ] [[package]] name = "rayon" -version = "1.9.0" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4963ed1bc86e4f3ee217022bd855b297cef07fb9eac5dfa1f788b220b49b3bd" +checksum = "b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa" dependencies = [ "either", "rayon-core", @@ -703,14 +543,14 @@ dependencies = [ [[package]] name = "regex" -version = "1.10.6" +version = "1.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4219d74c6b67a3654a9fbebc4b419e22126d13d2f3c4a07ee0cb61ff79a79619" +checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191" dependencies = [ - "aho-corasick 1.0.1", + "aho-corasick", "memchr", - "regex-automata 0.4.4", - "regex-syntax 0.8.4", + "regex-automata 0.4.8", + "regex-syntax 0.8.5", ] [[package]] @@ -724,13 +564,13 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.4.4" +version = "0.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b7fa1134405e2ec9353fd416b17f8dacd46c473d7d3fd1cf202706a14eb792a" +checksum = "368758f23274712b504848e9d5a6f010445cc8b87a7cdb4d7cbee666c1288da3" dependencies = [ - "aho-corasick 1.0.1", + "aho-corasick", "memchr", - "regex-syntax 0.8.4", + "regex-syntax 0.8.5", ] [[package]] @@ -741,78 +581,53 @@ checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" [[package]] name = "regex-syntax" -version = "0.8.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a66a03ae7c801facd77a29370b4faec201768915ac14a721ba36f20bc9c209b" - -[[package]] -name = "rustix" -version = "0.37.8" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1aef160324be24d31a62147fae491c14d2204a3865c7ca8c3b0d7f7bcb3ea635" -dependencies = [ - "bitflags", - "errno", - "io-lifetimes", - "libc", - "linux-raw-sys", - "windows-sys 0.48.0", -] +checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" [[package]] name = "ryu" -version = "1.0.13" +version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f91339c0467de62360649f8d3e185ca8de4224ff281f66000de5eb2a77a79041" - -[[package]] -name = "scopeguard" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" - -[[package]] -name = "scratch" -version = "1.0.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1792db035ce95be60c3f8853017b3999209281c24e2ba5bc8e59bf97a0c590c1" +checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" [[package]] name = "serde" -version = "1.0.159" +version = "1.0.214" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c04e8343c3daeec41f58990b9d77068df31209f2af111e059e9fe9646693065" +checksum = "f55c3193aca71c12ad7890f1785d2b73e1b9f63a0bbc353c08ef26fe03fc56b5" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.159" +version = "1.0.214" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c614d17805b093df4b147b51339e7e44bf05ef59fba1e45d83500bcfb4d8585" +checksum = "de523f781f095e28fa605cdce0f8307e451cc0fd14e2eb4cd2e98a355b147766" dependencies = [ "proc-macro2", "quote", - "syn 2.0.13", + "syn", ] [[package]] name = "serde_json" -version = "1.0.95" +version = "1.0.132" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d721eca97ac802aa7777b701877c8004d950fc142651367300d21c1cc0194744" +checksum = "d726bfaff4b320266d395898905d0eba0345aae23b54aee3a737e260fd46db03" dependencies = [ "itoa", + "memchr", "ryu", "serde", ] [[package]] name = "sharded-slab" -version = "0.1.4" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "900fba806f70c630b0a382d0d825e17a0f19fcd059a2ade1ff237bcddf446b31" +checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6" dependencies = [ "lazy_static", ] @@ -825,52 +640,38 @@ checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" [[package]] name = "smallvec" -version = "1.10.0" +version = "1.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0" +checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" [[package]] -name = "strsim" -version = "0.10.0" +name = "streaming-iterator" +version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" +checksum = "2b2231b7c3057d5e4ad0156fb3dc807d900806020c5ffa3ee6ff2c8c76fb8520" [[package]] -name = "syn" -version = "1.0.109" +name = "strsim" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] +checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" [[package]] name = "syn" -version = "2.0.13" +version = "2.0.87" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c9da457c5285ac1f936ebd076af6dac17a61cfe7826f2076b4d015cf47bc8ec" +checksum = "25aa4ce346d03a6dcd68dd8b4010bcb74e54e62c90c573f394c46eae99aba32d" dependencies = [ "proc-macro2", "quote", "unicode-ident", ] -[[package]] -name = "termcolor" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6" -dependencies = [ - "winapi-util", -] - [[package]] name = "thread_local" -version = "1.1.7" +version = "1.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fdd6f064ccff2d6567adcb3873ca630700f00b5ad3f060c25b5dcfd9a4ce152" +checksum = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c" dependencies = [ "cfg-if", "once_cell", @@ -895,7 +696,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.13", + "syn", ] [[package]] @@ -939,13 +740,14 @@ dependencies = [ [[package]] name = "tree-sitter" -version = "0.23.0" +version = "0.24.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20f4cd3642c47a85052a887d86704f4eac272969f61b686bdd3f772122aabaff" +checksum = "b67baf55e7e1b6806063b1e51041069c90afff16afcbbccd278d899f9d84bca4" dependencies = [ "cc", "regex", - "regex-syntax 0.8.4", + "regex-syntax 0.8.5", + "streaming-iterator", "tree-sitter-language", ] @@ -969,9 +771,9 @@ dependencies = [ [[package]] name = "tree-sitter-language" -version = "0.1.0" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2545046bd1473dac6c626659cc2567c6c0ff302fc8b84a56c4243378276f7f57" +checksum = "e8ddffe35a0e5eeeadf13ff7350af564c6e73993a24db62caee1822b185c2600" [[package]] name = "tree-sitter-ql" @@ -993,21 +795,15 @@ dependencies = [ [[package]] name = "unicode-ident" -version = "1.0.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5464a87b239f13a63a501f2701565754bae92d243d4bb7eb12f6d57d2269bf4" - -[[package]] -name = "unicode-width" -version = "0.1.10" +version = "1.0.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b" +checksum = "e91b56cd4cadaeb79bbf1a5645f6b4f8dc5bde8834ad5894a8db35fda9efa1fe" [[package]] name = "utf8parse" -version = "0.2.1" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a" +checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" [[package]] name = "valuable" @@ -1017,34 +813,35 @@ checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" [[package]] name = "wasm-bindgen" -version = "0.2.84" +version = "0.2.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31f8dcbc21f30d9b8f2ea926ecb58f6b91192c17e9d33594b3df58b2007ca53b" +checksum = "128d1e363af62632b8eb57219c8fd7877144af57558fb2ef0368d0087bddeb2e" dependencies = [ "cfg-if", + "once_cell", "wasm-bindgen-macro", ] [[package]] name = "wasm-bindgen-backend" -version = "0.2.84" +version = "0.2.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95ce90fd5bcc06af55a641a86428ee4229e44e07033963a2290a8e241607ccb9" +checksum = "cb6dd4d3ca0ddffd1dd1c9c04f94b868c37ff5fac97c30b97cff2d74fce3a358" dependencies = [ "bumpalo", "log", "once_cell", "proc-macro2", "quote", - "syn 1.0.109", + "syn", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-macro" -version = "0.2.84" +version = "0.2.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c21f77c0bedc37fd5dc21f897894a5ca01e7bb159884559461862ae90c0b4c5" +checksum = "e79384be7f8f5a9dd5d7167216f022090cf1f9ec128e6e6a482a2cb5c5422c56" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -1052,22 +849,22 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.84" +version = "0.2.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2aff81306fcac3c7515ad4e177f521b5c9a15f2b08f4e32d823066102f35a5f6" +checksum = "26c6ab57572f7a24a4985830b120de1594465e5d500f24afe89e16b4e833ef68" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.84" +version = "0.2.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0046fef7e28c3804e5e38bfa31ea2a0f73905319b677e57ebe37e49358989b5d" +checksum = "65fc09f10666a9f147042251e0dda9c18f166ff7de300607007e96bdebc1068d" [[package]] name = "winapi" @@ -1085,15 +882,6 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" -[[package]] -name = "winapi-util" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" -dependencies = [ - "winapi", -] - [[package]] name = "winapi-x86_64-pc-windows-gnu" version = "0.4.0" @@ -1101,199 +889,83 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" [[package]] -name = "windows" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f" -dependencies = [ - "windows-targets 0.48.0", -] - -[[package]] -name = "windows-sys" -version = "0.45.0" +name = "windows-core" +version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" +checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" dependencies = [ - "windows-targets 0.42.2", + "windows-targets", ] [[package]] name = "windows-sys" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" -dependencies = [ - "windows-targets 0.48.0", -] - -[[package]] -name = "windows-targets" -version = "0.42.2" +version = "0.59.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071" +checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" dependencies = [ - "windows_aarch64_gnullvm 0.42.2", - "windows_aarch64_msvc 0.42.2", - "windows_i686_gnu 0.42.2", - "windows_i686_msvc 0.42.2", - "windows_x86_64_gnu 0.42.2", - "windows_x86_64_gnullvm 0.42.2", - "windows_x86_64_msvc 0.42.2", + "windows-targets", ] [[package]] name = "windows-targets" -version = "0.48.0" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b1eb6f0cd7c80c79759c929114ef071b87354ce476d9d94271031c0497adfd5" +checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" dependencies = [ - "windows_aarch64_gnullvm 0.48.0", - "windows_aarch64_msvc 0.48.0", - "windows_i686_gnu 0.48.0", - "windows_i686_msvc 0.48.0", - "windows_x86_64_gnu 0.48.0", - "windows_x86_64_gnullvm 0.48.0", - "windows_x86_64_msvc 0.48.0", + "windows_aarch64_gnullvm", + "windows_aarch64_msvc", + "windows_i686_gnu", + "windows_i686_gnullvm", + "windows_i686_msvc", + "windows_x86_64_gnu", + "windows_x86_64_gnullvm", + "windows_x86_64_msvc", ] -[[package]] -name = "windows-targets" -version = "0.52.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd" -dependencies = [ - "windows_aarch64_gnullvm 0.52.0", - "windows_aarch64_msvc 0.52.0", - "windows_i686_gnu 0.52.0", - "windows_i686_msvc 0.52.0", - "windows_x86_64_gnu 0.52.0", - "windows_x86_64_gnullvm 0.52.0", - "windows_x86_64_msvc 0.52.0", -] - -[[package]] -name = "windows_aarch64_gnullvm" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" - -[[package]] -name = "windows_aarch64_gnullvm" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc" - [[package]] name = "windows_aarch64_gnullvm" -version = "0.52.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea" - -[[package]] -name = "windows_aarch64_msvc" -version = "0.42.2" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" +checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" [[package]] name = "windows_aarch64_msvc" -version = "0.48.0" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3" - -[[package]] -name = "windows_aarch64_msvc" -version = "0.52.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef" - -[[package]] -name = "windows_i686_gnu" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" - -[[package]] -name = "windows_i686_gnu" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241" +checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" [[package]] name = "windows_i686_gnu" -version = "0.52.0" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313" +checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" [[package]] -name = "windows_i686_msvc" -version = "0.42.2" +name = "windows_i686_gnullvm" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" +checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" [[package]] name = "windows_i686_msvc" -version = "0.48.0" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00" - -[[package]] -name = "windows_i686_msvc" -version = "0.52.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a" - -[[package]] -name = "windows_x86_64_gnu" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" +checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" [[package]] name = "windows_x86_64_gnu" -version = "0.48.0" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1" - -[[package]] -name = "windows_x86_64_gnu" -version = "0.52.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd" +checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" [[package]] name = "windows_x86_64_gnullvm" -version = "0.42.2" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" - -[[package]] -name = "windows_x86_64_gnullvm" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953" - -[[package]] -name = "windows_x86_64_gnullvm" -version = "0.52.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e" +checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" [[package]] name = "windows_x86_64_msvc" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" - -[[package]] -name = "windows_x86_64_msvc" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a" - -[[package]] -name = "windows_x86_64_msvc" -version = "0.52.0" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04" +checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" diff --git a/ruby/extractor/Cargo.toml b/ruby/extractor/Cargo.toml index bd0cde9bb027..1328eb6b12c8 100644 --- a/ruby/extractor/Cargo.toml +++ b/ruby/extractor/Cargo.toml @@ -7,8 +7,8 @@ edition = "2021" [dependencies] tree-sitter = ">= 0.23.0" -tree-sitter-embedded-template = { git = "https://github.com/tree-sitter/tree-sitter-embedded-template.git", rev = "62b0a6e45900a7dff7c37da95fec20a09968ba52" } -tree-sitter-ruby = { git = "https://github.com/tree-sitter/tree-sitter-ruby.git", rev = "a66579f70d6f50ffd81a16fc3d3358e2ac173c88" } +tree-sitter-embedded-template = "0.23.2" +tree-sitter-ruby = "0.23.1" clap = { version = "4.2", features = ["derive"] } tracing = "0.1" tracing-subscriber = { version = "0.3.3", features = ["env-filter"] } diff --git a/shared/tree-sitter-extractor/Cargo.toml b/shared/tree-sitter-extractor/Cargo.toml index d7d1e0f37abe..d15a165bfef0 100644 --- a/shared/tree-sitter-extractor/Cargo.toml +++ b/shared/tree-sitter-extractor/Cargo.toml @@ -20,7 +20,6 @@ chrono = { version = "0.4.19", features = ["serde"] } num_cpus = "1.14.0" [dev-dependencies] -tree-sitter-ql = { git = "https://github.com/tree-sitter/tree-sitter-ql" } -tree-sitter-json = {git = "https://github.com/tree-sitter/tree-sitter-json" } +tree-sitter-ql = "0.23.1" +tree-sitter-json = "0.24.8" rand = "0.8.5" - From fe62900a1579b02502a3b1dcd78946f8ebd5b9f3 Mon Sep 17 00:00:00 2001 From: Tamas Vajk Date: Mon, 11 Nov 2024 12:08:37 +0100 Subject: [PATCH 083/347] C#: Change extractor to accept multiple `binlog` files --- csharp/codeql-extractor.yml | 2 +- .../Extractor/Extractor.cs | 23 +++++++++- .../Extractor/Options.cs | 6 +-- .../binlog_multiple/Files.expected | 10 +++++ .../all-platforms/binlog_multiple/Files.ql | 5 +++ .../all-platforms/binlog_multiple/a/A.cs | 9 ++++ .../binlog_multiple/a/test.csproj | 10 +++++ .../all-platforms/binlog_multiple/b/B.cs | 9 ++++ .../binlog_multiple/b/test.csproj | 10 +++++ .../binlog_multiple/diagnostics.expected | 42 +++++++++++++++++++ .../all-platforms/binlog_multiple/global.json | 5 +++ .../all-platforms/binlog_multiple/test.py | 7 ++++ 12 files changed, 132 insertions(+), 6 deletions(-) create mode 100644 csharp/ql/integration-tests/all-platforms/binlog_multiple/Files.expected create mode 100644 csharp/ql/integration-tests/all-platforms/binlog_multiple/Files.ql create mode 100644 csharp/ql/integration-tests/all-platforms/binlog_multiple/a/A.cs create mode 100644 csharp/ql/integration-tests/all-platforms/binlog_multiple/a/test.csproj create mode 100644 csharp/ql/integration-tests/all-platforms/binlog_multiple/b/B.cs create mode 100644 csharp/ql/integration-tests/all-platforms/binlog_multiple/b/test.csproj create mode 100644 csharp/ql/integration-tests/all-platforms/binlog_multiple/diagnostics.expected create mode 100644 csharp/ql/integration-tests/all-platforms/binlog_multiple/global.json create mode 100644 csharp/ql/integration-tests/all-platforms/binlog_multiple/test.py diff --git a/csharp/codeql-extractor.yml b/csharp/codeql-extractor.yml index 43c4adaafbf9..c4d7352cc439 100644 --- a/csharp/codeql-extractor.yml +++ b/csharp/codeql-extractor.yml @@ -70,4 +70,4 @@ options: description: > [EXPERIMENTAL] The value is a path to the MsBuild binary log file that should be extracted. This option only works when `--build-mode none` is also specified. - type: string + type: array diff --git a/csharp/extractor/Semmle.Extraction.CSharp/Extractor/Extractor.cs b/csharp/extractor/Semmle.Extraction.CSharp/Extractor/Extractor.cs index d87f6fd24c0c..b3ffcd442f44 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/Extractor/Extractor.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Extractor/Extractor.cs @@ -106,10 +106,10 @@ public static ExitCode Run(string[] args) var canonicalPathCache = CanonicalPathCache.Create(logger, 1000); var pathTransformer = new PathTransformer(canonicalPathCache); - if (options.BinaryLogPath is string binlogPath) + if (options.BinaryLogPaths is string[] binlogPaths) { logger.LogInfo(" Running binary log analysis."); - return RunBinaryLogAnalysis(analyzerStopwatch, options, binlogPath, logger, canonicalPathCache, pathTransformer); + return RunBinaryLogAnalysis(analyzerStopwatch, options, binlogPaths, logger, canonicalPathCache, pathTransformer); } else { @@ -124,6 +124,25 @@ public static ExitCode Run(string[] args) } } + private static ExitCode RunBinaryLogAnalysis(Stopwatch stopwatch, Options options, string[] binlogPaths, ILogger logger, CanonicalPathCache canonicalPathCache, PathTransformer pathTransformer) + { + var allFailed = true; + foreach (var binlogPath in binlogPaths) + { + var exit = RunBinaryLogAnalysis(stopwatch, options, binlogPath, logger, canonicalPathCache, pathTransformer); + switch (exit) + { + case ExitCode.Ok: + case ExitCode.Errors: + allFailed &= false; + break; + case ExitCode.Failed: + break; + } + } + return allFailed ? ExitCode.Failed : ExitCode.Ok; + } + private static ExitCode RunBinaryLogAnalysis(Stopwatch stopwatch, Options options, string binlogPath, ILogger logger, CanonicalPathCache canonicalPathCache, PathTransformer pathTransformer) { logger.LogInfo($"Reading compiler calls from binary log {binlogPath}"); diff --git a/csharp/extractor/Semmle.Extraction.CSharp/Extractor/Options.cs b/csharp/extractor/Semmle.Extraction.CSharp/Extractor/Options.cs index 7f3815520d62..3ff881d0a85a 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/Extractor/Options.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Extractor/Options.cs @@ -33,9 +33,9 @@ public sealed class Options : CommonOptions public bool AssemblySensitiveTrap { get; private set; } = false; /// - /// The path to the binary log file, or null if unspecified. + /// The paths to the binary log files, or null if unspecified. /// - public string? BinaryLogPath { get; set; } + public string[]? BinaryLogPaths { get; set; } public static Options CreateWithEnvironment(string[] arguments) { @@ -71,7 +71,7 @@ public override bool HandleOption(string key, string value) ProjectsToLoad.Add(value); return true; case "binlog": - BinaryLogPath = value; + BinaryLogPaths = value.Split(FileUtils.NewLineCharacters, StringSplitOptions.RemoveEmptyEntries); return true; default: return base.HandleOption(key, value); diff --git a/csharp/ql/integration-tests/all-platforms/binlog_multiple/Files.expected b/csharp/ql/integration-tests/all-platforms/binlog_multiple/Files.expected new file mode 100644 index 000000000000..bf3694ff9caa --- /dev/null +++ b/csharp/ql/integration-tests/all-platforms/binlog_multiple/Files.expected @@ -0,0 +1,10 @@ +| a/A.cs:0:0:0:0 | a/A.cs | +| a/obj/Debug/net8.0/.NETCoreApp,Version=v8.0.AssemblyAttributes.cs:0:0:0:0 | a/obj/Debug/net8.0/.NETCoreApp,Version=v8.0.AssemblyAttributes.cs | +| a/obj/Debug/net8.0/test.AssemblyInfo.cs:0:0:0:0 | a/obj/Debug/net8.0/test.AssemblyInfo.cs | +| a/obj/Debug/net8.0/test.GlobalUsings.g.cs:0:0:0:0 | a/obj/Debug/net8.0/test.GlobalUsings.g.cs | +| b/B.cs:0:0:0:0 | b/B.cs | +| b/obj/Debug/net8.0/.NETCoreApp,Version=v8.0.AssemblyAttributes.cs:0:0:0:0 | b/obj/Debug/net8.0/.NETCoreApp,Version=v8.0.AssemblyAttributes.cs | +| b/obj/Debug/net8.0/test.AssemblyInfo.cs:0:0:0:0 | b/obj/Debug/net8.0/test.AssemblyInfo.cs | +| b/obj/Debug/net8.0/test.GlobalUsings.g.cs:0:0:0:0 | b/obj/Debug/net8.0/test.GlobalUsings.g.cs | +| generated/a/test.csproj (net8.0)/System.Text.RegularExpressions.Generator/System.Text.RegularExpressions.Generator.RegexGenerator/RegexGenerator.g.cs:0:0:0:0 | generated/a/test.csproj (net8.0)/System.Text.RegularExpressions.Generator/System.Text.RegularExpressions.Generator.RegexGenerator/RegexGenerator.g.cs | +| generated/b/test.csproj (net8.0)/System.Text.RegularExpressions.Generator/System.Text.RegularExpressions.Generator.RegexGenerator/RegexGenerator.g.cs:0:0:0:0 | generated/b/test.csproj (net8.0)/System.Text.RegularExpressions.Generator/System.Text.RegularExpressions.Generator.RegexGenerator/RegexGenerator.g.cs | diff --git a/csharp/ql/integration-tests/all-platforms/binlog_multiple/Files.ql b/csharp/ql/integration-tests/all-platforms/binlog_multiple/Files.ql new file mode 100644 index 000000000000..bea5557a25f1 --- /dev/null +++ b/csharp/ql/integration-tests/all-platforms/binlog_multiple/Files.ql @@ -0,0 +1,5 @@ +import csharp + +from File f +where f.fromSource() +select f diff --git a/csharp/ql/integration-tests/all-platforms/binlog_multiple/a/A.cs b/csharp/ql/integration-tests/all-platforms/binlog_multiple/a/A.cs new file mode 100644 index 000000000000..2c75e62d019d --- /dev/null +++ b/csharp/ql/integration-tests/all-platforms/binlog_multiple/a/A.cs @@ -0,0 +1,9 @@ +using System.Text.RegularExpressions; + +var dummy = "dummy"; + +partial class Test +{ + [GeneratedRegex("abc|def", RegexOptions.IgnoreCase, "en-US")] + private static partial Regex AbcOrDefGeneratedRegex(); +} diff --git a/csharp/ql/integration-tests/all-platforms/binlog_multiple/a/test.csproj b/csharp/ql/integration-tests/all-platforms/binlog_multiple/a/test.csproj new file mode 100644 index 000000000000..91b464afeacc --- /dev/null +++ b/csharp/ql/integration-tests/all-platforms/binlog_multiple/a/test.csproj @@ -0,0 +1,10 @@ + + + + Exe + net8.0 + enable + enable + + + diff --git a/csharp/ql/integration-tests/all-platforms/binlog_multiple/b/B.cs b/csharp/ql/integration-tests/all-platforms/binlog_multiple/b/B.cs new file mode 100644 index 000000000000..2c75e62d019d --- /dev/null +++ b/csharp/ql/integration-tests/all-platforms/binlog_multiple/b/B.cs @@ -0,0 +1,9 @@ +using System.Text.RegularExpressions; + +var dummy = "dummy"; + +partial class Test +{ + [GeneratedRegex("abc|def", RegexOptions.IgnoreCase, "en-US")] + private static partial Regex AbcOrDefGeneratedRegex(); +} diff --git a/csharp/ql/integration-tests/all-platforms/binlog_multiple/b/test.csproj b/csharp/ql/integration-tests/all-platforms/binlog_multiple/b/test.csproj new file mode 100644 index 000000000000..91b464afeacc --- /dev/null +++ b/csharp/ql/integration-tests/all-platforms/binlog_multiple/b/test.csproj @@ -0,0 +1,10 @@ + + + + Exe + net8.0 + enable + enable + + + diff --git a/csharp/ql/integration-tests/all-platforms/binlog_multiple/diagnostics.expected b/csharp/ql/integration-tests/all-platforms/binlog_multiple/diagnostics.expected new file mode 100644 index 000000000000..1a10ae9ded54 --- /dev/null +++ b/csharp/ql/integration-tests/all-platforms/binlog_multiple/diagnostics.expected @@ -0,0 +1,42 @@ +{ + "markdownMessage": "C# analysis with build-mode 'none' completed.", + "severity": "unknown", + "source": { + "extractorName": "csharp", + "id": "csharp/autobuilder/buildless/complete", + "name": "C# analysis with build-mode 'none' completed" + }, + "visibility": { + "cliSummaryTable": true, + "statusPage": false, + "telemetry": true + } +} +{ + "markdownMessage": "C# was extracted with build-mode set to 'none'. This means that all C# source in the working directory will be scanned, with build tools, such as Nuget and Dotnet CLIs, only contributing information about external dependencies.", + "severity": "note", + "source": { + "extractorName": "csharp", + "id": "csharp/autobuilder/buildless/mode-active", + "name": "C# was extracted with build-mode set to 'none'" + }, + "visibility": { + "cliSummaryTable": true, + "statusPage": true, + "telemetry": true + } +} +{ + "markdownMessage": "C# was extracted with the experimental 'binlog' option.", + "severity": "note", + "source": { + "extractorName": "csharp", + "id": "csharp/autobuilder/buildless/binlog", + "name": "C# was extracted with the experimental 'binlog' option" + }, + "visibility": { + "cliSummaryTable": true, + "statusPage": true, + "telemetry": true + } +} diff --git a/csharp/ql/integration-tests/all-platforms/binlog_multiple/global.json b/csharp/ql/integration-tests/all-platforms/binlog_multiple/global.json new file mode 100644 index 000000000000..5c3fd64fbd12 --- /dev/null +++ b/csharp/ql/integration-tests/all-platforms/binlog_multiple/global.json @@ -0,0 +1,5 @@ +{ + "sdk": { + "version": "8.0.101" + } +} diff --git a/csharp/ql/integration-tests/all-platforms/binlog_multiple/test.py b/csharp/ql/integration-tests/all-platforms/binlog_multiple/test.py new file mode 100644 index 000000000000..585d86ef57b5 --- /dev/null +++ b/csharp/ql/integration-tests/all-platforms/binlog_multiple/test.py @@ -0,0 +1,7 @@ +import commands + + +def test(codeql, csharp): + commands.run(["dotnet", "build", "a/test.csproj", "/bl:a.binlog"]) + commands.run(["dotnet", "build", "b/test.csproj", "/bl:b.binlog"]) + codeql.database.create(build_mode="none", extractor_option=["binlog=a.binlog", "binlog=b.binlog"]) From 34361b81eb3a1072da92f907a193d709e07dc6ba Mon Sep 17 00:00:00 2001 From: Paolo Tranquilli Date: Mon, 11 Nov 2024 13:11:10 +0100 Subject: [PATCH 084/347] Rust: reorganize options integration tests --- .../options/arch_functions.Darwin.expected | 1 - .../options/arch_functions.Linux.expected | 1 - .../options/arch_functions.Windows.expected | 1 - .../options/arch_functions.ql | 5 -- .../integration-tests/options/cfg/Cargo.toml | 5 ++ .../options/cfg/functions.expected | 3 ++ .../options/cfg/functions.override.expected | 4 ++ .../options/cfg/functions.ql | 5 ++ .../options/{src/cfg.rs => cfg/src/lib.rs} | 3 ++ .../options/cfg/test_cfg_overrides_option.py | 19 +++++++ .../options/cfg_functions.expected | 2 - .../options/cfg_functions.override.expected | 4 -- .../options/cfg_functions.ql | 5 -- .../options/feature_functions.all.expected | 3 -- .../options/feature_functions.bar.expected | 2 - .../options/feature_functions.expected | 1 - .../options/feature_functions.foo.expected | 2 - .../options/feature_functions.ql | 5 -- .../options/{ => features}/Cargo.toml | 2 +- .../options/features/functions.all.expected | 3 ++ .../options/features/functions.bar.expected | 2 + .../features/functions.default.expected | 1 + .../options/features/functions.foo.expected | 2 + .../options/features/functions.ql | 5 ++ .../{src/features.rs => features/src/lib.rs} | 0 .../options/features/test_features_option.py | 16 ++++++ rust/ql/integration-tests/options/src/lib.rs | 3 -- .../options/target/Cargo.toml | 5 ++ .../options/target/functions.Darwin.expected | 1 + .../options/target/functions.Linux.expected | 1 + .../options/target/functions.Windows.expected | 1 + .../options/target/functions.ql | 5 ++ .../{src/arch.rs => target/src/lib.rs} | 0 .../options/target/test_target_option.py | 19 +++++++ .../integration-tests/options/test_options.py | 49 ------------------- 35 files changed, 101 insertions(+), 85 deletions(-) delete mode 100644 rust/ql/integration-tests/options/arch_functions.Darwin.expected delete mode 100644 rust/ql/integration-tests/options/arch_functions.Linux.expected delete mode 100644 rust/ql/integration-tests/options/arch_functions.Windows.expected delete mode 100644 rust/ql/integration-tests/options/arch_functions.ql create mode 100644 rust/ql/integration-tests/options/cfg/Cargo.toml create mode 100644 rust/ql/integration-tests/options/cfg/functions.expected create mode 100644 rust/ql/integration-tests/options/cfg/functions.override.expected create mode 100644 rust/ql/integration-tests/options/cfg/functions.ql rename rust/ql/integration-tests/options/{src/cfg.rs => cfg/src/lib.rs} (80%) create mode 100644 rust/ql/integration-tests/options/cfg/test_cfg_overrides_option.py delete mode 100644 rust/ql/integration-tests/options/cfg_functions.expected delete mode 100644 rust/ql/integration-tests/options/cfg_functions.override.expected delete mode 100644 rust/ql/integration-tests/options/cfg_functions.ql delete mode 100644 rust/ql/integration-tests/options/feature_functions.all.expected delete mode 100644 rust/ql/integration-tests/options/feature_functions.bar.expected delete mode 100644 rust/ql/integration-tests/options/feature_functions.expected delete mode 100644 rust/ql/integration-tests/options/feature_functions.foo.expected delete mode 100644 rust/ql/integration-tests/options/feature_functions.ql rename rust/ql/integration-tests/options/{ => features}/Cargo.toml (82%) create mode 100644 rust/ql/integration-tests/options/features/functions.all.expected create mode 100644 rust/ql/integration-tests/options/features/functions.bar.expected create mode 100644 rust/ql/integration-tests/options/features/functions.default.expected create mode 100644 rust/ql/integration-tests/options/features/functions.foo.expected create mode 100644 rust/ql/integration-tests/options/features/functions.ql rename rust/ql/integration-tests/options/{src/features.rs => features/src/lib.rs} (100%) create mode 100644 rust/ql/integration-tests/options/features/test_features_option.py delete mode 100644 rust/ql/integration-tests/options/src/lib.rs create mode 100644 rust/ql/integration-tests/options/target/Cargo.toml create mode 100644 rust/ql/integration-tests/options/target/functions.Darwin.expected create mode 100644 rust/ql/integration-tests/options/target/functions.Linux.expected create mode 100644 rust/ql/integration-tests/options/target/functions.Windows.expected create mode 100644 rust/ql/integration-tests/options/target/functions.ql rename rust/ql/integration-tests/options/{src/arch.rs => target/src/lib.rs} (100%) create mode 100644 rust/ql/integration-tests/options/target/test_target_option.py delete mode 100644 rust/ql/integration-tests/options/test_options.py diff --git a/rust/ql/integration-tests/options/arch_functions.Darwin.expected b/rust/ql/integration-tests/options/arch_functions.Darwin.expected deleted file mode 100644 index 64505ef2aafd..000000000000 --- a/rust/ql/integration-tests/options/arch_functions.Darwin.expected +++ /dev/null @@ -1 +0,0 @@ -| src/arch.rs:7:1:8:13 | macos | diff --git a/rust/ql/integration-tests/options/arch_functions.Linux.expected b/rust/ql/integration-tests/options/arch_functions.Linux.expected deleted file mode 100644 index ed290cbad692..000000000000 --- a/rust/ql/integration-tests/options/arch_functions.Linux.expected +++ /dev/null @@ -1 +0,0 @@ -| src/arch.rs:1:1:2:13 | linux | diff --git a/rust/ql/integration-tests/options/arch_functions.Windows.expected b/rust/ql/integration-tests/options/arch_functions.Windows.expected deleted file mode 100644 index bb0067e8a2a7..000000000000 --- a/rust/ql/integration-tests/options/arch_functions.Windows.expected +++ /dev/null @@ -1 +0,0 @@ -| src/arch.rs:4:1:5:15 | windows | diff --git a/rust/ql/integration-tests/options/arch_functions.ql b/rust/ql/integration-tests/options/arch_functions.ql deleted file mode 100644 index 2bb3182e6e79..000000000000 --- a/rust/ql/integration-tests/options/arch_functions.ql +++ /dev/null @@ -1,5 +0,0 @@ -import rust - -from Function f -where f.getLocation().getFile().getBaseName() = "arch.rs" and f.hasExtendedCanonicalPath() -select f diff --git a/rust/ql/integration-tests/options/cfg/Cargo.toml b/rust/ql/integration-tests/options/cfg/Cargo.toml new file mode 100644 index 000000000000..c5cbf8722f1f --- /dev/null +++ b/rust/ql/integration-tests/options/cfg/Cargo.toml @@ -0,0 +1,5 @@ +[workspace] +[package] +name = "cfg" +version = "0.1.0" +edition = "2021" diff --git a/rust/ql/integration-tests/options/cfg/functions.expected b/rust/ql/integration-tests/options/cfg/functions.expected new file mode 100644 index 000000000000..a2042c5e4c49 --- /dev/null +++ b/rust/ql/integration-tests/options/cfg/functions.expected @@ -0,0 +1,3 @@ +| src/lib.rs:7:1:8:19 | cfg_no_flag | +| src/lib.rs:10:1:11:18 | cfg_no_key | +| src/lib.rs:16:1:17:24 | pointer_width_64 | diff --git a/rust/ql/integration-tests/options/cfg/functions.override.expected b/rust/ql/integration-tests/options/cfg/functions.override.expected new file mode 100644 index 000000000000..4a19db56a741 --- /dev/null +++ b/rust/ql/integration-tests/options/cfg/functions.override.expected @@ -0,0 +1,4 @@ +| src/lib.rs:1:1:2:16 | cfg_flag | +| src/lib.rs:4:1:5:15 | cfg_key | +| src/lib.rs:13:1:14:12 | test | +| src/lib.rs:19:1:20:24 | pointer_width_32 | diff --git a/rust/ql/integration-tests/options/cfg/functions.ql b/rust/ql/integration-tests/options/cfg/functions.ql new file mode 100644 index 000000000000..da7b22cf5843 --- /dev/null +++ b/rust/ql/integration-tests/options/cfg/functions.ql @@ -0,0 +1,5 @@ +import rust + +from Function f +where f.hasExtendedCanonicalPath() +select f diff --git a/rust/ql/integration-tests/options/src/cfg.rs b/rust/ql/integration-tests/options/cfg/src/lib.rs similarity index 80% rename from rust/ql/integration-tests/options/src/cfg.rs rename to rust/ql/integration-tests/options/cfg/src/lib.rs index d748854811b7..1643ffbf2adf 100644 --- a/rust/ql/integration-tests/options/src/cfg.rs +++ b/rust/ql/integration-tests/options/cfg/src/lib.rs @@ -13,5 +13,8 @@ fn cfg_no_key() {} #[cfg(test)] fn test() {} +#[cfg(target_pointer_width = "64")] +fn pointer_width_64() {} + #[cfg(target_pointer_width = "32")] fn pointer_width_32() {} diff --git a/rust/ql/integration-tests/options/cfg/test_cfg_overrides_option.py b/rust/ql/integration-tests/options/cfg/test_cfg_overrides_option.py new file mode 100644 index 000000000000..aa5f3cd3b2ed --- /dev/null +++ b/rust/ql/integration-tests/options/cfg/test_cfg_overrides_option.py @@ -0,0 +1,19 @@ +import pytest +import platform +import os + + +def test_default(codeql, rust): + codeql.database.create() + + +@pytest.mark.ql_test(expected=".override.expected") +def test_cfg_overrides(codeql, rust): + overrides = ",".join(( + "cfg_flag", + "cfg_key=value", + "-target_pointer_width=64", + "target_pointer_width=32", + "test", + )) + codeql.database.create(extractor_option=f"cargo_cfg_overrides={overrides}") diff --git a/rust/ql/integration-tests/options/cfg_functions.expected b/rust/ql/integration-tests/options/cfg_functions.expected deleted file mode 100644 index 521e16ac1dd0..000000000000 --- a/rust/ql/integration-tests/options/cfg_functions.expected +++ /dev/null @@ -1,2 +0,0 @@ -| src/cfg.rs:7:1:8:19 | cfg_no_flag | -| src/cfg.rs:10:1:11:18 | cfg_no_key | diff --git a/rust/ql/integration-tests/options/cfg_functions.override.expected b/rust/ql/integration-tests/options/cfg_functions.override.expected deleted file mode 100644 index 3c9253613d0b..000000000000 --- a/rust/ql/integration-tests/options/cfg_functions.override.expected +++ /dev/null @@ -1,4 +0,0 @@ -| src/cfg.rs:1:1:2:16 | cfg_flag | -| src/cfg.rs:4:1:5:15 | cfg_key | -| src/cfg.rs:13:1:14:12 | test | -| src/cfg.rs:16:1:17:24 | pointer_width_32 | diff --git a/rust/ql/integration-tests/options/cfg_functions.ql b/rust/ql/integration-tests/options/cfg_functions.ql deleted file mode 100644 index 6ba57e61a9d5..000000000000 --- a/rust/ql/integration-tests/options/cfg_functions.ql +++ /dev/null @@ -1,5 +0,0 @@ -import rust - -from Function f -where f.getLocation().getFile().getBaseName() = "cfg.rs" and f.hasExtendedCanonicalPath() -select f diff --git a/rust/ql/integration-tests/options/feature_functions.all.expected b/rust/ql/integration-tests/options/feature_functions.all.expected deleted file mode 100644 index dcf10884778e..000000000000 --- a/rust/ql/integration-tests/options/feature_functions.all.expected +++ /dev/null @@ -1,3 +0,0 @@ -| src/features.rs:1:1:2:11 | foo | -| src/features.rs:4:1:5:11 | bar | -| src/features.rs:7:1:7:14 | always | diff --git a/rust/ql/integration-tests/options/feature_functions.bar.expected b/rust/ql/integration-tests/options/feature_functions.bar.expected deleted file mode 100644 index 1e7a67b1c164..000000000000 --- a/rust/ql/integration-tests/options/feature_functions.bar.expected +++ /dev/null @@ -1,2 +0,0 @@ -| src/features.rs:4:1:5:11 | bar | -| src/features.rs:7:1:7:14 | always | diff --git a/rust/ql/integration-tests/options/feature_functions.expected b/rust/ql/integration-tests/options/feature_functions.expected deleted file mode 100644 index 12ef01e541ac..000000000000 --- a/rust/ql/integration-tests/options/feature_functions.expected +++ /dev/null @@ -1 +0,0 @@ -| src/features.rs:7:1:7:14 | always | diff --git a/rust/ql/integration-tests/options/feature_functions.foo.expected b/rust/ql/integration-tests/options/feature_functions.foo.expected deleted file mode 100644 index 6a4b294edd12..000000000000 --- a/rust/ql/integration-tests/options/feature_functions.foo.expected +++ /dev/null @@ -1,2 +0,0 @@ -| src/features.rs:1:1:2:11 | foo | -| src/features.rs:7:1:7:14 | always | diff --git a/rust/ql/integration-tests/options/feature_functions.ql b/rust/ql/integration-tests/options/feature_functions.ql deleted file mode 100644 index 547e3ab9713a..000000000000 --- a/rust/ql/integration-tests/options/feature_functions.ql +++ /dev/null @@ -1,5 +0,0 @@ -import rust - -from Function f -where f.getLocation().getFile().getBaseName() = "features.rs" and f.hasExtendedCanonicalPath() -select f diff --git a/rust/ql/integration-tests/options/Cargo.toml b/rust/ql/integration-tests/options/features/Cargo.toml similarity index 82% rename from rust/ql/integration-tests/options/Cargo.toml rename to rust/ql/integration-tests/options/features/Cargo.toml index c75338009fe6..7faf9f167bec 100644 --- a/rust/ql/integration-tests/options/Cargo.toml +++ b/rust/ql/integration-tests/options/features/Cargo.toml @@ -1,6 +1,6 @@ [workspace] [package] -name = "options" +name = "features" version = "0.1.0" edition = "2021" diff --git a/rust/ql/integration-tests/options/features/functions.all.expected b/rust/ql/integration-tests/options/features/functions.all.expected new file mode 100644 index 000000000000..5ce4cae2ab0d --- /dev/null +++ b/rust/ql/integration-tests/options/features/functions.all.expected @@ -0,0 +1,3 @@ +| src/lib.rs:1:1:2:11 | foo | +| src/lib.rs:4:1:5:11 | bar | +| src/lib.rs:7:1:7:14 | always | diff --git a/rust/ql/integration-tests/options/features/functions.bar.expected b/rust/ql/integration-tests/options/features/functions.bar.expected new file mode 100644 index 000000000000..cad441d6749b --- /dev/null +++ b/rust/ql/integration-tests/options/features/functions.bar.expected @@ -0,0 +1,2 @@ +| src/lib.rs:4:1:5:11 | bar | +| src/lib.rs:7:1:7:14 | always | diff --git a/rust/ql/integration-tests/options/features/functions.default.expected b/rust/ql/integration-tests/options/features/functions.default.expected new file mode 100644 index 000000000000..523c21876884 --- /dev/null +++ b/rust/ql/integration-tests/options/features/functions.default.expected @@ -0,0 +1 @@ +| src/lib.rs:7:1:7:14 | always | diff --git a/rust/ql/integration-tests/options/features/functions.foo.expected b/rust/ql/integration-tests/options/features/functions.foo.expected new file mode 100644 index 000000000000..b78754230833 --- /dev/null +++ b/rust/ql/integration-tests/options/features/functions.foo.expected @@ -0,0 +1,2 @@ +| src/lib.rs:1:1:2:11 | foo | +| src/lib.rs:7:1:7:14 | always | diff --git a/rust/ql/integration-tests/options/features/functions.ql b/rust/ql/integration-tests/options/features/functions.ql new file mode 100644 index 000000000000..da7b22cf5843 --- /dev/null +++ b/rust/ql/integration-tests/options/features/functions.ql @@ -0,0 +1,5 @@ +import rust + +from Function f +where f.hasExtendedCanonicalPath() +select f diff --git a/rust/ql/integration-tests/options/src/features.rs b/rust/ql/integration-tests/options/features/src/lib.rs similarity index 100% rename from rust/ql/integration-tests/options/src/features.rs rename to rust/ql/integration-tests/options/features/src/lib.rs diff --git a/rust/ql/integration-tests/options/features/test_features_option.py b/rust/ql/integration-tests/options/features/test_features_option.py new file mode 100644 index 000000000000..5617f707c8f7 --- /dev/null +++ b/rust/ql/integration-tests/options/features/test_features_option.py @@ -0,0 +1,16 @@ +import pytest + + +@pytest.mark.parametrize("option", + [ + pytest.param(p, + marks=pytest.mark.ql_test(expected=f".{e}.expected")) + for p, e in ( + (None, "default"), + ("cargo_features=foo", "foo"), + ("cargo_features=bar", "bar"), + ("cargo_features=*", "all"), + ("cargo_features=foo,bar", "all")) + ]) +def test_features(codeql, rust, option): + codeql.database.create(extractor_option=option) diff --git a/rust/ql/integration-tests/options/src/lib.rs b/rust/ql/integration-tests/options/src/lib.rs deleted file mode 100644 index 85d2fb52472e..000000000000 --- a/rust/ql/integration-tests/options/src/lib.rs +++ /dev/null @@ -1,3 +0,0 @@ -mod arch; -mod features; -mod cfg; diff --git a/rust/ql/integration-tests/options/target/Cargo.toml b/rust/ql/integration-tests/options/target/Cargo.toml new file mode 100644 index 000000000000..90a82fb6a07b --- /dev/null +++ b/rust/ql/integration-tests/options/target/Cargo.toml @@ -0,0 +1,5 @@ +[workspace] +[package] +name = "target" +version = "0.1.0" +edition = "2021" diff --git a/rust/ql/integration-tests/options/target/functions.Darwin.expected b/rust/ql/integration-tests/options/target/functions.Darwin.expected new file mode 100644 index 000000000000..217974bb7c63 --- /dev/null +++ b/rust/ql/integration-tests/options/target/functions.Darwin.expected @@ -0,0 +1 @@ +| src/lib.rs:7:1:8:13 | macos | diff --git a/rust/ql/integration-tests/options/target/functions.Linux.expected b/rust/ql/integration-tests/options/target/functions.Linux.expected new file mode 100644 index 000000000000..57662579f1f5 --- /dev/null +++ b/rust/ql/integration-tests/options/target/functions.Linux.expected @@ -0,0 +1 @@ +| src/lib.rs:1:1:2:13 | linux | diff --git a/rust/ql/integration-tests/options/target/functions.Windows.expected b/rust/ql/integration-tests/options/target/functions.Windows.expected new file mode 100644 index 000000000000..8ae2d8c86ccf --- /dev/null +++ b/rust/ql/integration-tests/options/target/functions.Windows.expected @@ -0,0 +1 @@ +| src/lib.rs:4:1:5:15 | windows | diff --git a/rust/ql/integration-tests/options/target/functions.ql b/rust/ql/integration-tests/options/target/functions.ql new file mode 100644 index 000000000000..da7b22cf5843 --- /dev/null +++ b/rust/ql/integration-tests/options/target/functions.ql @@ -0,0 +1,5 @@ +import rust + +from Function f +where f.hasExtendedCanonicalPath() +select f diff --git a/rust/ql/integration-tests/options/src/arch.rs b/rust/ql/integration-tests/options/target/src/lib.rs similarity index 100% rename from rust/ql/integration-tests/options/src/arch.rs rename to rust/ql/integration-tests/options/target/src/lib.rs diff --git a/rust/ql/integration-tests/options/target/test_target_option.py b/rust/ql/integration-tests/options/target/test_target_option.py new file mode 100644 index 000000000000..3cb1db7513d1 --- /dev/null +++ b/rust/ql/integration-tests/options/target/test_target_option.py @@ -0,0 +1,19 @@ +import pytest +import platform + + +@pytest.mark.ql_test(expected=f".{platform.system()}.expected") +def test_default(codeql, rust): + codeql.database.create() + +@pytest.mark.ql_test(expected=".Windows.expected") +def test_target_windows(codeql, rust): + codeql.database.create(extractor_option="cargo_target=x86_64-pc-windows-msvc") + +@pytest.mark.ql_test(expected=".Darwin.expected") +def test_target_macos(codeql, rust): + codeql.database.create(extractor_option="cargo_target=aarch64-apple-darwin") + +@pytest.mark.ql_test(expected=".Linux.expected") +def test_target_linux(codeql, rust): + codeql.database.create(extractor_option="cargo_target=x86_64-unknown-linux-gnu") diff --git a/rust/ql/integration-tests/options/test_options.py b/rust/ql/integration-tests/options/test_options.py deleted file mode 100644 index 73258b41b473..000000000000 --- a/rust/ql/integration-tests/options/test_options.py +++ /dev/null @@ -1,49 +0,0 @@ -import pytest -import platform -import os - - -@pytest.mark.ql_test("arch_functions.ql", expected=f".{platform.system()}.expected") -def test_default(codeql, rust): - codeql.database.create() - -@pytest.mark.ql_test("arch_functions.ql", expected=".Windows.expected") -def test_target_windows(codeql, rust): - codeql.database.create(extractor_option="cargo_target=x86_64-pc-windows-msvc") - -@pytest.mark.ql_test("arch_functions.ql", expected=".Darwin.expected") -def test_target_macos(codeql, rust): - codeql.database.create(extractor_option="cargo_target=aarch64-apple-darwin") - -@pytest.mark.ql_test("arch_functions.ql", expected=".Linux.expected") -def test_target_linux(codeql, rust): - codeql.database.create(extractor_option="cargo_target=x86_64-unknown-linux-gnu") - -@pytest.mark.ql_test("cfg_functions.ql", expected=".override.expected") -@pytest.mark.ql_test("arch_functions.ql", expected=f".{platform.system()}.expected") -def test_cfg_override(codeql, rust): - overrides = ",".join(( - "cfg_flag", - "cfg_key=value", - "-target_pointer_width=64", - "target_pointer_width=32", - "test", - )) - codeql.database.create(extractor_option=f"cargo_cfg_overrides={overrides}") - -@pytest.mark.ql_test("arch_functions.ql", expected=f".{platform.system()}.expected") -@pytest.mark.parametrize("features", - [ - pytest.param(p, - marks=pytest.mark.ql_test("feature_functions.ql", expected=f".{e}.expected"), - id=id) - for p, e, id in ( - ("foo", "foo", "foo"), - ("bar", "bar", "bar"), - # as long as the integration test runner does not sanitize filenames we must - # replace `*` and `,` in the parameter id - ("*", "all", "all"), - ("foo,bar", "all", "foo+bar")) - ]) -def test_features(codeql, rust, features): - codeql.database.create(extractor_option=f"cargo_features={features}") From 5ef92a281b9d883db3f2da53a3fb4b39af3946d1 Mon Sep 17 00:00:00 2001 From: Paolo Tranquilli Date: Mon, 11 Nov 2024 13:37:25 +0100 Subject: [PATCH 085/347] Rust: fix integration test on windows --- ...ions.default.expected => functions.expected} | 0 .../options/features/test_features_option.py | 17 +++++++++-------- 2 files changed, 9 insertions(+), 8 deletions(-) rename rust/ql/integration-tests/options/features/{functions.default.expected => functions.expected} (100%) diff --git a/rust/ql/integration-tests/options/features/functions.default.expected b/rust/ql/integration-tests/options/features/functions.expected similarity index 100% rename from rust/ql/integration-tests/options/features/functions.default.expected rename to rust/ql/integration-tests/options/features/functions.expected diff --git a/rust/ql/integration-tests/options/features/test_features_option.py b/rust/ql/integration-tests/options/features/test_features_option.py index 5617f707c8f7..75c5058be078 100644 --- a/rust/ql/integration-tests/options/features/test_features_option.py +++ b/rust/ql/integration-tests/options/features/test_features_option.py @@ -1,16 +1,17 @@ import pytest +def test_default(codeql, rust): + codeql.database.create() -@pytest.mark.parametrize("option", +@pytest.mark.parametrize("features", [ pytest.param(p, marks=pytest.mark.ql_test(expected=f".{e}.expected")) for p, e in ( - (None, "default"), - ("cargo_features=foo", "foo"), - ("cargo_features=bar", "bar"), - ("cargo_features=*", "all"), - ("cargo_features=foo,bar", "all")) + ("foo", "foo"), + ("bar", "bar"), + ("*", "all"), + ("foo,bar", "all")) ]) -def test_features(codeql, rust, option): - codeql.database.create(extractor_option=option) +def test_features(codeql, rust, features): + codeql.database.create(extractor_option=f"cargo_features={features}") From 2f032ec7b8bb6e3481d7ad50c0fa571a3f60e4b2 Mon Sep 17 00:00:00 2001 From: Calum Grant Date: Mon, 11 Nov 2024 13:06:50 +0000 Subject: [PATCH 086/347] C++: Revert 17694 and keep tests --- .../raw/internal/TranslatedElement.qll | 2 - .../ir/multiple-entry-points/raw_ir.expected | 67 +++++++++++++++++++ 2 files changed, 67 insertions(+), 2 deletions(-) diff --git a/cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/internal/TranslatedElement.qll b/cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/internal/TranslatedElement.qll index 8e7e46c94c62..0f9bc370f7a5 100644 --- a/cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/internal/TranslatedElement.qll +++ b/cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/internal/TranslatedElement.qll @@ -196,8 +196,6 @@ private predicate isInvalidFunction(Function func) { expr.getEnclosingFunction() = func and not exists(expr.getType()) ) - or - count(func.getEntryPoint().getLocation()) > 1 } /** diff --git a/cpp/ql/test/library-tests/ir/multiple-entry-points/raw_ir.expected b/cpp/ql/test/library-tests/ir/multiple-entry-points/raw_ir.expected index e69de29bb2d1..2ded282e8d35 100644 --- a/cpp/ql/test/library-tests/ir/multiple-entry-points/raw_ir.expected +++ b/cpp/ql/test/library-tests/ir/multiple-entry-points/raw_ir.expected @@ -0,0 +1,67 @@ +test1.cpp: +# 3| int foo(int) +# 3| Block 0 +# 3| v3_1(void) = EnterFunction : +test2.cpp: +# 1| v3_1(void) = EnterFunction : +test1.cpp: +# 3| mu3_2(unknown) = AliasedDefinition : +test2.cpp: +# 1| mu3_2(unknown) = AliasedDefinition : +test1.cpp: +# 3| mu3_3(unknown) = InitializeNonLocal : +test2.cpp: +# 1| mu3_3(unknown) = InitializeNonLocal : +test1.cpp: +# 3| r3_4(glval) = VariableAddress[i] : +test2.cpp: +# 1| r3_4(glval) = VariableAddress[i] : +test1.cpp: +# 3| mu3_5(int) = InitializeParameter[i] : &:r1_4, &:r3_4 +test2.cpp: +# 1| mu3_5(int) = InitializeParameter[i] : &:r1_4, &:r3_4 +#-----| Goto -> Block 2 +#-----| Goto -> Block 2 + +# 1| Block 0 +#-----| Goto -> Block 2 +#-----| Goto -> Block 2 + +test1.cpp: +# 3| Block 1 +# 3| r3_6(glval) = VariableAddress[#return] : +test2.cpp: +# 1| r3_6(glval) = VariableAddress[#return] : +test1.cpp: +# 3| v3_7(void) = ReturnValue : &:r1_6, &:r3_6, ~m? +test2.cpp: +# 1| v3_7(void) = ReturnValue : &:r1_6, &:r3_6, ~m? +test1.cpp: +# 3| v3_8(void) = AliasedUse : ~m? +test2.cpp: +# 1| v3_8(void) = AliasedUse : ~m? +test1.cpp: +# 3| v3_9(void) = ExitFunction : +test2.cpp: +# 1| v3_9(void) = ExitFunction : + +# 1| Block 1 + +test1.cpp: +# 4| Block 2 +# 4| r4_1(glval) = VariableAddress[#return] : +# 4| r4_2(int) = Constant[42] : +# 4| mu4_3(int) = Store[#return] : &:r4_1, r4_2 +#-----| Goto -> Block 1 +#-----| Goto -> Block 1 + +test2.cpp: +# 2| Block 2 +# 2| r2_1(glval) = VariableAddress[#return] : +# 2| r2_2(glval) = VariableAddress[i] : +# 2| r2_3(int) = Load[i] : &:r2_2, ~m? +# 2| mu2_4(int) = Store[#return] : &:r2_1, r2_3 +#-----| Goto -> Block 1 +#-----| Goto -> Block 1 + +# 1| int foo(int) From 46f168823c832694a11c7abef2c33d78109e4449 Mon Sep 17 00:00:00 2001 From: Tamas Vajk Date: Mon, 11 Nov 2024 14:10:13 +0100 Subject: [PATCH 087/347] Improve code quality --- .../Semmle.Extraction.CSharp/Extractor/Extractor.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/csharp/extractor/Semmle.Extraction.CSharp/Extractor/Extractor.cs b/csharp/extractor/Semmle.Extraction.CSharp/Extractor/Extractor.cs index b3ffcd442f44..a2cfa5669df0 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/Extractor/Extractor.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Extractor/Extractor.cs @@ -134,7 +134,7 @@ private static ExitCode RunBinaryLogAnalysis(Stopwatch stopwatch, Options option { case ExitCode.Ok: case ExitCode.Errors: - allFailed &= false; + allFailed = false; break; case ExitCode.Failed: break; @@ -209,11 +209,11 @@ static bool filter(CompilerCall compilerCall) switch (exit) { case ExitCode.Ok: - allFailed &= false; + allFailed = false; logger.LogInfo($" Compilation {diagnosticName} succeeded"); break; case ExitCode.Errors: - allFailed &= false; + allFailed = false; logger.LogWarning($" Compilation {diagnosticName} had errors"); break; case ExitCode.Failed: From 42f7f73ae19754662d39514a53bf214edee1e234 Mon Sep 17 00:00:00 2001 From: Napalys Klicius Date: Mon, 11 Nov 2024 15:33:27 +0100 Subject: [PATCH 088/347] Update ArrayInPlaceManipulationTaintStep documentation --- javascript/ql/lib/semmle/javascript/Arrays.qll | 1 + 1 file changed, 1 insertion(+) diff --git a/javascript/ql/lib/semmle/javascript/Arrays.qll b/javascript/ql/lib/semmle/javascript/Arrays.qll index 46d0c2686a86..ebff3d97a981 100644 --- a/javascript/ql/lib/semmle/javascript/Arrays.qll +++ b/javascript/ql/lib/semmle/javascript/Arrays.qll @@ -447,6 +447,7 @@ private module ArrayLibraries { /** * A taint propagating data flow edge arising from in-place array manipulation operations. + * The methods return the pointer to `this` array as well. */ private class ArrayInPlaceManipulationTaintStep extends TaintTracking::SharedTaintStep { override predicate heapStep(DataFlow::Node pred, DataFlow::Node succ) { From 1eabb6cbdd20e6e78d15d21cfd3b7d4c6c1b1e42 Mon Sep 17 00:00:00 2001 From: Napalys Klicius Date: Mon, 11 Nov 2024 15:40:22 +0100 Subject: [PATCH 089/347] Update javascript/ql/test/experimental/Security/CWE-918/check-regex.js Co-authored-by: Erik Krogh Kristensen --- javascript/ql/test/experimental/Security/CWE-918/check-regex.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/javascript/ql/test/experimental/Security/CWE-918/check-regex.js b/javascript/ql/test/experimental/Security/CWE-918/check-regex.js index 055992fd22ce..238aa9068432 100644 --- a/javascript/ql/test/experimental/Security/CWE-918/check-regex.js +++ b/javascript/ql/test/experimental/Security/CWE-918/check-regex.js @@ -58,7 +58,7 @@ app.get('/check-with-axios', req => { axios.get(baseURL + req.params.tainted); // OK } if (!isValidPathMatchAll(req.params.tainted) ) { - axios.get(baseURL + req.params.tainted); // SSRF + axios.get(baseURL + req.params.tainted); // NOT OK - SSRF } else { axios.get(baseURL + req.params.tainted); // OK } From 00790bf3f42828b100a6c0cc8561851141f583ee Mon Sep 17 00:00:00 2001 From: Napalys Date: Mon, 11 Nov 2024 15:43:54 +0100 Subject: [PATCH 090/347] Added change notes --- javascript/ql/lib/change-notes/2024-11-11-matchAll-support.md | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 javascript/ql/lib/change-notes/2024-11-11-matchAll-support.md diff --git a/javascript/ql/lib/change-notes/2024-11-11-matchAll-support.md b/javascript/ql/lib/change-notes/2024-11-11-matchAll-support.md new file mode 100644 index 000000000000..74d7c3f34c2d --- /dev/null +++ b/javascript/ql/lib/change-notes/2024-11-11-matchAll-support.md @@ -0,0 +1,4 @@ +--- +category: minorAnalysis +--- +Added support for `String.prototype.matchAll`. From cd2038a8f86a02605e6d3d636b56fd931b8e32c6 Mon Sep 17 00:00:00 2001 From: Simon Friis Vindum Date: Mon, 11 Nov 2024 16:41:59 +0100 Subject: [PATCH 091/347] Rust: Setup inline flow test library --- .../dataflow/barrier/inline-flow.expected | 9 +++++ .../dataflow/barrier/inline-flow.ql | 12 ++++++ .../library-tests/dataflow/barrier/main.rs | 18 +++++---- rust/ql/test/utils/InlineFlowTest.qll | 37 +++++++++++++++++++ 4 files changed, 69 insertions(+), 7 deletions(-) create mode 100644 rust/ql/test/library-tests/dataflow/barrier/inline-flow.expected create mode 100644 rust/ql/test/library-tests/dataflow/barrier/inline-flow.ql create mode 100644 rust/ql/test/utils/InlineFlowTest.qll diff --git a/rust/ql/test/library-tests/dataflow/barrier/inline-flow.expected b/rust/ql/test/library-tests/dataflow/barrier/inline-flow.expected new file mode 100644 index 000000000000..9680f5cf3c76 --- /dev/null +++ b/rust/ql/test/library-tests/dataflow/barrier/inline-flow.expected @@ -0,0 +1,9 @@ +models +edges +nodes +subpaths +testFailures +| main.rs:17:22:17:40 | Comment | Missing result: hasValueFlow=1 | +| main.rs:22:14:22:32 | Comment | Missing result: hasValueFlow=1 | +| main.rs:33:14:33:32 | Comment | Missing result: hasValueFlow=1 | +#select diff --git a/rust/ql/test/library-tests/dataflow/barrier/inline-flow.ql b/rust/ql/test/library-tests/dataflow/barrier/inline-flow.ql new file mode 100644 index 000000000000..ad553fe548dc --- /dev/null +++ b/rust/ql/test/library-tests/dataflow/barrier/inline-flow.ql @@ -0,0 +1,12 @@ +/** + * @kind path-problem + */ + +import rust +import utils.InlineFlowTest +import DefaultFlowTest +import ValueFlow::PathGraph + +from ValueFlow::PathNode source, ValueFlow::PathNode sink +where ValueFlow::flowPath(source, sink) +select sink, source, sink, "$@", source, source.toString() diff --git a/rust/ql/test/library-tests/dataflow/barrier/main.rs b/rust/ql/test/library-tests/dataflow/barrier/main.rs index c80233d766f8..8a0a7bc2be62 100644 --- a/rust/ql/test/library-tests/dataflow/barrier/main.rs +++ b/rust/ql/test/library-tests/dataflow/barrier/main.rs @@ -1,4 +1,4 @@ -fn source() -> &'static str { +fn source(i: i64) -> &'static str { "source" } @@ -13,18 +13,22 @@ fn sanitize(s: &str) -> &str { } } -fn no_barrier() { - let s = source(); - sink(s); +fn directly() { + sink(source(1)); // $ hasValueFlow=1 +} + +fn through_variable() { + let s = source(1); + sink(s); // $ hasValueFlow=1 } fn with_barrier() { - let s = source(); + let s = source(1); let s = sanitize(s); sink(s); } fn main() { - let s = source(); - sink(s); + let s = source(1); + sink(s); // $ hasValueFlow=1 } diff --git a/rust/ql/test/utils/InlineFlowTest.qll b/rust/ql/test/utils/InlineFlowTest.qll new file mode 100644 index 000000000000..ac72d79ecd96 --- /dev/null +++ b/rust/ql/test/utils/InlineFlowTest.qll @@ -0,0 +1,37 @@ +/** + * Inline flow tests for Rust. + * See `shared/util/codeql/dataflow/test/InlineFlowTest.qll` + */ + +import rust +private import codeql.dataflow.test.InlineFlowTest +private import codeql.rust.dataflow.DataFlow +private import codeql.rust.dataflow.internal.DataFlowImpl +private import codeql.rust.dataflow.internal.TaintTrackingImpl +private import internal.InlineExpectationsTestImpl as InlineExpectationsTestImpl + +private module FlowTestImpl implements InputSig { + predicate defaultSource(DataFlow::Node source) { + source.asExpr().(CallExpr).getExpr().toString() = "source" + } + + predicate defaultSink(DataFlow::Node sink) { + any(CallExpr call | call = sink.asExpr() and call.getExpr().toString() = "sink") + .getArgList() + .getAnArg() = sink.asExpr() + } + + private string getSourceArgString(DataFlow::Node src) { + defaultSource(src) and + result = src.asExpr().(CallExpr).getArgList().getArg(0).toString() + } + + string getArgString(DataFlow::Node src, DataFlow::Node sink) { + (if exists(getSourceArgString(src)) then result = getSourceArgString(src) else result = "") and + exists(sink) + } + + predicate interpretModelForTest(QlBuiltins::ExtensionId madId, string model) { none() } +} + +import InlineFlowTestMake From a5a6445b2e641fcac5b6b2f12b2915cf3f954ccc Mon Sep 17 00:00:00 2001 From: Jeroen Ketema Date: Mon, 11 Nov 2024 17:29:28 +0100 Subject: [PATCH 092/347] C++: Add tests for experimental `cpp/guarded-free` query --- .../GuardedFree/GuardedFree.expected | 10 ++ .../GuardedFree/GuardedFree.qlref | 1 + .../Best Practices/GuardedFree/test.cpp | 115 ++++++++++++++++++ 3 files changed, 126 insertions(+) create mode 100644 cpp/ql/test/experimental/query-tests/Best Practices/GuardedFree/GuardedFree.expected create mode 100644 cpp/ql/test/experimental/query-tests/Best Practices/GuardedFree/GuardedFree.qlref create mode 100644 cpp/ql/test/experimental/query-tests/Best Practices/GuardedFree/test.cpp diff --git a/cpp/ql/test/experimental/query-tests/Best Practices/GuardedFree/GuardedFree.expected b/cpp/ql/test/experimental/query-tests/Best Practices/GuardedFree/GuardedFree.expected new file mode 100644 index 000000000000..02851dac6441 --- /dev/null +++ b/cpp/ql/test/experimental/query-tests/Best Practices/GuardedFree/GuardedFree.expected @@ -0,0 +1,10 @@ +| test.cpp:5:7:5:7 | x | unnecessary NULL check before call to $@ | test.cpp:6:5:6:8 | call to free | free | +| test.cpp:23:7:23:7 | x | unnecessary NULL check before call to $@ | test.cpp:26:5:26:8 | call to free | free | +| test.cpp:31:7:31:8 | ! ... | unnecessary NULL check before call to $@ | test.cpp:35:3:35:6 | call to free | free | +| test.cpp:31:7:31:24 | ... \|\| ... | unnecessary NULL check before call to $@ | test.cpp:35:3:35:6 | call to free | free | +| test.cpp:31:8:31:8 | x | unnecessary NULL check before call to $@ | test.cpp:35:3:35:6 | call to free | free | +| test.cpp:94:12:94:12 | x | unnecessary NULL check before call to $@ | test.cpp:94:3:94:13 | call to free | free | +| test.cpp:98:6:98:7 | ! ... | unnecessary NULL check before call to $@ | test.cpp:101:3:101:6 | call to free | free | +| test.cpp:98:7:98:7 | x | unnecessary NULL check before call to $@ | test.cpp:101:3:101:6 | call to free | free | +| test.cpp:106:6:106:17 | ... != ... | unnecessary NULL check before call to $@ | test.cpp:107:5:107:8 | call to free | free | +| test.cpp:113:6:113:17 | ... != ... | unnecessary NULL check before call to $@ | test.cpp:114:17:114:20 | call to free | free | diff --git a/cpp/ql/test/experimental/query-tests/Best Practices/GuardedFree/GuardedFree.qlref b/cpp/ql/test/experimental/query-tests/Best Practices/GuardedFree/GuardedFree.qlref new file mode 100644 index 000000000000..e28bdae39916 --- /dev/null +++ b/cpp/ql/test/experimental/query-tests/Best Practices/GuardedFree/GuardedFree.qlref @@ -0,0 +1 @@ +experimental/Best Practices/GuardedFree.ql diff --git a/cpp/ql/test/experimental/query-tests/Best Practices/GuardedFree/test.cpp b/cpp/ql/test/experimental/query-tests/Best Practices/GuardedFree/test.cpp new file mode 100644 index 000000000000..63703ccf6e9d --- /dev/null +++ b/cpp/ql/test/experimental/query-tests/Best Practices/GuardedFree/test.cpp @@ -0,0 +1,115 @@ +extern "C" void free(void *ptr); +extern "C" int strcmp(const char *s1, const char *s2); + +void test0(int *x) { + if (x) // BAD + free(x); +} + +void test1(int *x) { + if (x) { // BAD + free(x); + } +} + +void test2(int *x) { + if (x) { // GOOD: x is being accessed in the body of the if + *x = 42; + free(x); + } +} + +void test3(int *x, bool b) { + if (x) { // GOOD [FALSE POSITIVE]: x is being accessed in the body of the if + if (b) + *x = 42; + free(x); + } +} + +bool test4(char *x, char *y) { + if (!x || strcmp(x, y)) { // GOOD [FALSE POSITIVE]: x is being accessed in the guard and return value depends on x + free(x); + return true; + } + free(x); + return false; +} + +void test5(char *x) { + if (x) + *x = 42; + if (x) { // BAD + free(x); + } +} + +void test6(char *x) { + *x = 42; + if (x) { // BAD + free(x); + } +} + +void test7(char *x) { + if (x || x) { // BAD [NOT DETECTED] + free(x); + } +} + +bool test8(char *x) { + if (x) { // GOOD: return value depends on x + free(x); + return true; + } + return false; +} + +#ifdef FOO +#define my_free(x) free(x - 1) +#else +#define my_free(x) free(x) +#endif + +void test9(char *x) { + if (x) { // GOOD: macro may make free behave unexpectedly when compiled differently + my_free(x); + } +} + +void test10(char *x) { + if (x) { // GOOD: #ifdef may make free behave unexpectedly when compiled differently +#ifdef FOO + free(x - 1); +#else + free(x); +#endif + } +} + +#define TRY_FREE(x) \ + if (x) free(x); + +void test11(char *x) { + TRY_FREE(x) // BAD +} + +bool test12(char *x) { + if(!x) // GOOD [FALSE POSITIVE]: return value depends on x + return false; + + free(x); + return true; +} + +void test13(char *x) { + if(x != nullptr) // BAD + free(x); +} + +void inspect(char *x); + +void test14(char *x) { + if(x != nullptr) // GOOD [FALSE POSITIVE]: x might be accessed + inspect(x), free(x); +} From f6776a4249d4867c258cc180589264c8ea10fa51 Mon Sep 17 00:00:00 2001 From: Calum Grant Date: Fri, 25 Oct 2024 18:06:38 +0100 Subject: [PATCH 093/347] C++: Initial telemetry queries and tests --- cpp/ql/src/Telemetry/CompilerErrors.ql | 12 + cpp/ql/src/Telemetry/DatabaseQuality.ql | 12 + cpp/ql/src/Telemetry/Diagnostics.qll | 32 +++ cpp/ql/src/Telemetry/ExtractionMetrics.ql | 12 + cpp/ql/src/Telemetry/Metrics.qll | 260 ++++++++++++++++++ cpp/ql/src/Telemetry/MissingIncludes.ql | 12 + cpp/ql/src/Telemetry/SucceededIncludes.ql | 12 + .../extraction_errors/CompilerErrors.expected | 10 + .../extraction_errors/CompilerErrors.qlref | 1 + .../DatabaseQuality.expected | 9 + .../extraction_errors/DatabaseQuality.qlref | 1 + .../ExtractionMetrics.expected | 20 ++ .../extraction_errors/ExtractionMetrics.qlref | 1 + .../MissingIncludes.expected | 0 .../extraction_errors/MissingIncludes.qlref | 1 + .../extraction_errors/PrintAst.expected | 79 ++++++ .../extraction_errors/PrintAst.qlref | 1 + .../SucceededIncludes.expected | 1 + .../extraction_errors/SucceededIncludes.qlref | 1 + .../extraction_errors/diags.expected | 10 + .../library-tests/extraction_errors/diags.ql | 4 + .../error_fn_returns.expected | 1 + .../extraction_errors/error_fn_returns.ql | 5 + .../extraction_errors/error_types.expected | 1 + .../extraction_errors/error_types.ql | 6 + .../error_variables.expected | 1 + .../extraction_errors/error_variables.ql | 5 + .../extraction_errors/functions.expected | 6 + .../extraction_errors/functions.ql | 5 + .../library-tests/extraction_errors/test.c | 5 + .../library-tests/extraction_errors/test.cpp | 17 ++ .../library-tests/extraction_errors/test.h | 4 + 32 files changed, 547 insertions(+) create mode 100644 cpp/ql/src/Telemetry/CompilerErrors.ql create mode 100644 cpp/ql/src/Telemetry/DatabaseQuality.ql create mode 100644 cpp/ql/src/Telemetry/Diagnostics.qll create mode 100644 cpp/ql/src/Telemetry/ExtractionMetrics.ql create mode 100644 cpp/ql/src/Telemetry/Metrics.qll create mode 100644 cpp/ql/src/Telemetry/MissingIncludes.ql create mode 100644 cpp/ql/src/Telemetry/SucceededIncludes.ql create mode 100644 cpp/ql/test/library-tests/extraction_errors/CompilerErrors.expected create mode 100644 cpp/ql/test/library-tests/extraction_errors/CompilerErrors.qlref create mode 100644 cpp/ql/test/library-tests/extraction_errors/DatabaseQuality.expected create mode 100644 cpp/ql/test/library-tests/extraction_errors/DatabaseQuality.qlref create mode 100644 cpp/ql/test/library-tests/extraction_errors/ExtractionMetrics.expected create mode 100644 cpp/ql/test/library-tests/extraction_errors/ExtractionMetrics.qlref create mode 100644 cpp/ql/test/library-tests/extraction_errors/MissingIncludes.expected create mode 100644 cpp/ql/test/library-tests/extraction_errors/MissingIncludes.qlref create mode 100644 cpp/ql/test/library-tests/extraction_errors/PrintAst.expected create mode 100644 cpp/ql/test/library-tests/extraction_errors/PrintAst.qlref create mode 100644 cpp/ql/test/library-tests/extraction_errors/SucceededIncludes.expected create mode 100644 cpp/ql/test/library-tests/extraction_errors/SucceededIncludes.qlref create mode 100644 cpp/ql/test/library-tests/extraction_errors/diags.expected create mode 100644 cpp/ql/test/library-tests/extraction_errors/diags.ql create mode 100644 cpp/ql/test/library-tests/extraction_errors/error_fn_returns.expected create mode 100644 cpp/ql/test/library-tests/extraction_errors/error_fn_returns.ql create mode 100644 cpp/ql/test/library-tests/extraction_errors/error_types.expected create mode 100644 cpp/ql/test/library-tests/extraction_errors/error_types.ql create mode 100644 cpp/ql/test/library-tests/extraction_errors/error_variables.expected create mode 100644 cpp/ql/test/library-tests/extraction_errors/error_variables.ql create mode 100644 cpp/ql/test/library-tests/extraction_errors/functions.expected create mode 100644 cpp/ql/test/library-tests/extraction_errors/functions.ql create mode 100644 cpp/ql/test/library-tests/extraction_errors/test.c create mode 100644 cpp/ql/test/library-tests/extraction_errors/test.cpp create mode 100644 cpp/ql/test/library-tests/extraction_errors/test.h diff --git a/cpp/ql/src/Telemetry/CompilerErrors.ql b/cpp/ql/src/Telemetry/CompilerErrors.ql new file mode 100644 index 000000000000..eef845db4159 --- /dev/null +++ b/cpp/ql/src/Telemetry/CompilerErrors.ql @@ -0,0 +1,12 @@ +/** + * @name Compiler errors + * @description A count of all compiler errors, grouped by error text. + * @kind metric + * @tags summary telemetry + * @id cpp/telemetry/compiler-errors + */ + +import Metrics + +from CppMetrics::ErrorCount m +select m, m.getValue() as c order by c desc diff --git a/cpp/ql/src/Telemetry/DatabaseQuality.ql b/cpp/ql/src/Telemetry/DatabaseQuality.ql new file mode 100644 index 000000000000..787eb0a8812c --- /dev/null +++ b/cpp/ql/src/Telemetry/DatabaseQuality.ql @@ -0,0 +1,12 @@ +/** + * @name Database quality + * @description Metrics that indicate the quality of the database. + * @kind metric + * @tags summary telemetry + * @id cpp/telemetry/database-quality + */ + +import Metrics + +from QualityMetric m +select m, m.getValue() order by m diff --git a/cpp/ql/src/Telemetry/Diagnostics.qll b/cpp/ql/src/Telemetry/Diagnostics.qll new file mode 100644 index 000000000000..13dc5c756580 --- /dev/null +++ b/cpp/ql/src/Telemetry/Diagnostics.qll @@ -0,0 +1,32 @@ +import cpp + +/** + * A syntax error. + */ +class SyntaxError extends CompilerError { + SyntaxError() { this.getTag().matches("exp_%") } +} + +/** + * A cannot open file error. + * Typically this is due to a missing include. + */ +class CannotOpenFile extends CompilerError { + CannotOpenFile() { this.hasTag("cannot_open_file") } + + string getIncludedFile() { + result = this.getMessage().regexpCapture("cannot open source file '([^']+)'", 1) + } +} + +/** + * An undefined identifier error. + * Currently unused. + */ +class UndefinedIdentifier extends CompilerError { + UndefinedIdentifier() { this.hasTag("undefined_identifier") } + + string getIdentifier() { + result = this.getMessage().regexpCapture("identifier '([^']+)' is undefined", 1) + } +} diff --git a/cpp/ql/src/Telemetry/ExtractionMetrics.ql b/cpp/ql/src/Telemetry/ExtractionMetrics.ql new file mode 100644 index 000000000000..c19000ad89bd --- /dev/null +++ b/cpp/ql/src/Telemetry/ExtractionMetrics.ql @@ -0,0 +1,12 @@ +/** + * @name Extraction metrics + * @description Raw metrics relating to extraction. + * @kind metric + * @tags summary telemetry + * @id cpp/telemetry/extraction-metrics + */ + +import Metrics + +from ExtractionMetric m +select m, m.getValue() order by m diff --git a/cpp/ql/src/Telemetry/Metrics.qll b/cpp/ql/src/Telemetry/Metrics.qll new file mode 100644 index 000000000000..5f30dc86c894 --- /dev/null +++ b/cpp/ql/src/Telemetry/Metrics.qll @@ -0,0 +1,260 @@ +import cpp +import Diagnostics + +/** + * A metric is a string with a value. + */ +abstract class Metric extends string { + bindingset[this] + Metric() { any() } + + /** Gets the value of this metric. */ + abstract float getValue(); +} + +/** + * A metric that we want to report in cpp/telemetry/extraction-metrics + */ +abstract class ExtractionMetric extends Metric { + bindingset[this] + ExtractionMetric() { any() } +} + +/** + * A metric that provides a baseline for a SuccessMetric. + */ +abstract class BaseMetric extends ExtractionMetric { + bindingset[this] + BaseMetric() { any() } +} + +/** + * A metric that is relative to another metric, + * so can be used to calculate percentages. + * + * For clarity, metrics should express success, + * so higher values means better. + */ +abstract class SuccessMetric extends ExtractionMetric { + bindingset[this] + SuccessMetric() { any() } + + /** Gets the metric this is relative to. */ + abstract BaseMetric getBaseline(); +} + +/** + * A metric used to report database quality. + */ +class QualityMetric extends Metric { + BaseMetric base_metric; + SuccessMetric relative_metric; + + QualityMetric() { + base_metric = relative_metric.getBaseline() and this = "Percentage of " + relative_metric + } + + override float getValue() { result = 100 * relative_metric.getValue() / base_metric.getValue() } +} + +/** Various metrics we want to report. */ +module CppMetrics { + class CompilationUnits extends BaseMetric { + CompilationUnits() { this = "compilation units" } + + override float getValue() { result = count(Compilation c) } + } + + class SourceFiles extends BaseMetric { + SourceFiles() { this = "source files" } + + override float getValue() { result = count(File f | f.fromSource()) } + } + + class SourceFilesWithoutErrors extends SuccessMetric { + SourceFilesWithoutErrors() { this = "source files without errors" } + + override float getValue() { + result = count(File f | f.fromSource() and not exists(CompilerError e | f = e.getFile())) + } + + override SourceFiles getBaseline() { any() } + } + + class CompilationUnitsWithoutErrors extends SuccessMetric { + CompilationUnitsWithoutErrors() { this = "compilation units without errors" } + + override float getValue() { + result = count(Compilation c | not exists(Diagnostic d | d.getFile() = c.getAFileCompiled())) + } + + override CompilationUnits getBaseline() { any() } + } + + class Expressions extends BaseMetric { + Expressions() { this = "expressions" } + + override float getValue() { result = count(Expr e) } + } + + class SucceededExpressions extends SuccessMetric { + SucceededExpressions() { this = "non-error expressions" } + + override float getValue() { result = count(Expr e) - count(ErrorExpr e) } + + override Expressions getBaseline() { any() } + } + + class TypedExpressions extends SuccessMetric { + TypedExpressions() { this = "expressions with a known type" } + + override float getValue() { result = count(Expr e | not e.getType() instanceof ErroneousType) } + + override Expressions getBaseline() { any() } + } + + class Calls extends BaseMetric { + Calls() { this = "calls" } + + override float getValue() { result = count(Call c) } + } + + class SucceededCalls extends SuccessMetric { + SucceededCalls() { this = "calls with a target" } + + override float getValue() { + result = count(Call c | not c.getTarget().getADeclarationEntry().isImplicit()) + } + + override Calls getBaseline() { any() } + } + + class Variables extends BaseMetric { + Variables() { this = "variables" } + + override float getValue() { result = count(Variable v) } + } + + class VariablesKnownType extends SuccessMetric { + VariablesKnownType() { this = "variables with a known type" } + + override float getValue() { + result = count(Variable v | not v.getType() instanceof ErroneousType) + } + + override Variables getBaseline() { any() } + } + + class LinesOfText extends BaseMetric { + LinesOfText() { this = "lines of text" } + + override float getValue() { result = sum(File f | | f.getMetrics().getNumberOfLines()) } + } + + class LinesOfCode extends BaseMetric { + LinesOfCode() { this = "lines of code" } + + override float getValue() { result = sum(File f | | f.getMetrics().getNumberOfLinesOfCode()) } + } + + private predicate errorLine(File file, int line) { + exists(Locatable l, Location loc | + loc = l.getLocation() and + loc.getFile() = file and + line in [loc.getStartLine() .. loc.getEndLine()] + | + l instanceof Diagnostic + or + l instanceof ErrorExpr + ) + } + + class SucceededLines extends SuccessMetric { + SucceededLines() { this = "lines of code without errors" } + + override float getValue() { + result = + sum(File f | | f.getMetrics().getNumberOfLinesOfCode()) - + count(File file, int line | errorLine(file, line)) + } + + override LinesOfCode getBaseline() { any() } + } + + class Functions extends BaseMetric { + Functions() { this = "functions" } + + override float getValue() { result = count(Function f) } + } + + class SucceededFunctions extends SuccessMetric { + SucceededFunctions() { this = "functions without errors" } + + override float getValue() { result = count(Function f | not f.hasErrors()) } + + override Functions getBaseline() { any() } + } + + class Includes extends BaseMetric { + Includes() { this = "#include directives" } + + override float getValue() { result = count(Include i) + count(CannotOpenFile e) } + } + + class SucceededIncludes extends SuccessMetric { + SucceededIncludes() { this = "successfully resolved #include directives" } + + override float getValue() { result = count(Include i) } + + override Includes getBaseline() { any() } + } + + class SucceededIncludeCount extends Metric { + string include_text; + + SucceededIncludeCount() { + exists(Include i | + i.getIncludeText() = include_text and + exists(i.getFile().getRelativePath()) // Only report includes from the repo + ) and + this = "Successfully included " + include_text + } + + override float getValue() { result = count(Include i | i.getIncludeText() = include_text) } + + string getIncludeText() { result = include_text } + } + + class MissingIncludeCount extends Metric { + string include_text; + + MissingIncludeCount() { + exists(CannotOpenFile e | e.getIncludedFile() = include_text) and + this = "Failed to include '" + include_text + "'" + } + + override float getValue() { + result = count(CannotOpenFile e | e.getIncludedFile() = include_text) + } + + string getIncludeText() { result = include_text } + } + + class CompilerErrors extends ExtractionMetric { + CompilerErrors() { this = "compiler errors" } + + override float getValue() { result = count(CompilerError e) } + } + + class ErrorCount extends Metric { + ErrorCount() { exists(CompilerError e | e.getMessage() = this) } + + override float getValue() { result = count(CompilerError e | e.getMessage() = this) } + } + + class SyntaxErrorCount extends ExtractionMetric { + SyntaxErrorCount() { this = "syntax errors" } + + override float getValue() { result = count(SyntaxError e) } + } +} diff --git a/cpp/ql/src/Telemetry/MissingIncludes.ql b/cpp/ql/src/Telemetry/MissingIncludes.ql new file mode 100644 index 000000000000..e58fbf3fcf5e --- /dev/null +++ b/cpp/ql/src/Telemetry/MissingIncludes.ql @@ -0,0 +1,12 @@ +/** + * @name Failed to include header file + * @description A count of all failed includes, grouped by filename. + * @kind metric + * @tags summary telemetry + * @id cpp/telemetry/failed-includes + */ + +import Metrics + +from CppMetrics::MissingIncludeCount e +select e.getIncludeText(), e.getValue() as c order by c desc diff --git a/cpp/ql/src/Telemetry/SucceededIncludes.ql b/cpp/ql/src/Telemetry/SucceededIncludes.ql new file mode 100644 index 000000000000..e303add9a493 --- /dev/null +++ b/cpp/ql/src/Telemetry/SucceededIncludes.ql @@ -0,0 +1,12 @@ +/** + * @name Successfully included header files + * @description A count of all succeeded includes, grouped by filename. + * @kind metric + * @tags summary telemetry + * @id cpp/telemetry/succeeded-includes + */ + +import Metrics + +from CppMetrics::SucceededIncludeCount m +select m.getIncludeText(), m.getValue() diff --git a/cpp/ql/test/library-tests/extraction_errors/CompilerErrors.expected b/cpp/ql/test/library-tests/extraction_errors/CompilerErrors.expected new file mode 100644 index 000000000000..27c1b8c641ea --- /dev/null +++ b/cpp/ql/test/library-tests/extraction_errors/CompilerErrors.expected @@ -0,0 +1,10 @@ +| 'this' may only be used inside a nonstatic member function | 1.0 | +| There was an error during this compilation | 1.0 | +| expected a ')' | 1.0 | +| expected a ';' | 1.0 | +| expected an expression | 1.0 | +| identifier 'no_such_function' is undefined | 1.0 | +| identifier 'nsf2' is undefined | 1.0 | +| identifier 'so_is_this' is undefined | 1.0 | +| identifier 'uint32_t' is undefined | 1.0 | +| too few arguments in function call | 1.0 | diff --git a/cpp/ql/test/library-tests/extraction_errors/CompilerErrors.qlref b/cpp/ql/test/library-tests/extraction_errors/CompilerErrors.qlref new file mode 100644 index 000000000000..fd0c287c00dc --- /dev/null +++ b/cpp/ql/test/library-tests/extraction_errors/CompilerErrors.qlref @@ -0,0 +1 @@ +Telemetry/CompilerErrors.ql diff --git a/cpp/ql/test/library-tests/extraction_errors/DatabaseQuality.expected b/cpp/ql/test/library-tests/extraction_errors/DatabaseQuality.expected new file mode 100644 index 000000000000..73e5a585a439 --- /dev/null +++ b/cpp/ql/test/library-tests/extraction_errors/DatabaseQuality.expected @@ -0,0 +1,9 @@ +| Percentage of calls with a target | 50.0 | +| Percentage of compilation units without errors | 50.0 | +| Percentage of expressions with a known type | 30.0 | +| Percentage of functions without errors | 75.0 | +| Percentage of lines of code without errors | 63.1578947368421 | +| Percentage of non-error expressions | 30.0 | +| Percentage of source files without errors | 66.66666666666667 | +| Percentage of successfully resolved #include directives | 100.0 | +| Percentage of variables with a known type | 90.0 | diff --git a/cpp/ql/test/library-tests/extraction_errors/DatabaseQuality.qlref b/cpp/ql/test/library-tests/extraction_errors/DatabaseQuality.qlref new file mode 100644 index 000000000000..b2c536f00d70 --- /dev/null +++ b/cpp/ql/test/library-tests/extraction_errors/DatabaseQuality.qlref @@ -0,0 +1 @@ +Telemetry/DatabaseQuality.ql diff --git a/cpp/ql/test/library-tests/extraction_errors/ExtractionMetrics.expected b/cpp/ql/test/library-tests/extraction_errors/ExtractionMetrics.expected new file mode 100644 index 000000000000..dcba2f000876 --- /dev/null +++ b/cpp/ql/test/library-tests/extraction_errors/ExtractionMetrics.expected @@ -0,0 +1,20 @@ +| #include directives | 2.0 | +| calls | 2.0 | +| calls with a target | 1.0 | +| compilation units | 2.0 | +| compilation units without errors | 1.0 | +| compiler errors | 10.0 | +| expressions | 10.0 | +| expressions with a known type | 3.0 | +| functions | 8.0 | +| functions without errors | 6.0 | +| lines of code | 19.0 | +| lines of code without errors | 12.0 | +| lines of text | 26.0 | +| non-error expressions | 3.0 | +| source files | 3.0 | +| source files without errors | 2.0 | +| successfully resolved #include directives | 2.0 | +| syntax errors | 3.0 | +| variables | 10.0 | +| variables with a known type | 9.0 | diff --git a/cpp/ql/test/library-tests/extraction_errors/ExtractionMetrics.qlref b/cpp/ql/test/library-tests/extraction_errors/ExtractionMetrics.qlref new file mode 100644 index 000000000000..80547fdfd981 --- /dev/null +++ b/cpp/ql/test/library-tests/extraction_errors/ExtractionMetrics.qlref @@ -0,0 +1 @@ +Telemetry/ExtractionMetrics.ql \ No newline at end of file diff --git a/cpp/ql/test/library-tests/extraction_errors/MissingIncludes.expected b/cpp/ql/test/library-tests/extraction_errors/MissingIncludes.expected new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/cpp/ql/test/library-tests/extraction_errors/MissingIncludes.qlref b/cpp/ql/test/library-tests/extraction_errors/MissingIncludes.qlref new file mode 100644 index 000000000000..8481a932a577 --- /dev/null +++ b/cpp/ql/test/library-tests/extraction_errors/MissingIncludes.qlref @@ -0,0 +1 @@ +Telemetry/MissingIncludes.ql \ No newline at end of file diff --git a/cpp/ql/test/library-tests/extraction_errors/PrintAst.expected b/cpp/ql/test/library-tests/extraction_errors/PrintAst.expected new file mode 100644 index 000000000000..7ff9a5405651 --- /dev/null +++ b/cpp/ql/test/library-tests/extraction_errors/PrintAst.expected @@ -0,0 +1,79 @@ +#-----| [CopyAssignmentOperator] __va_list_tag& __va_list_tag::operator=(__va_list_tag const&) +#-----| : +#-----| getParameter(0): [Parameter] (unnamed parameter 0) +#-----| Type = [LValueReferenceType] const __va_list_tag & +#-----| [MoveAssignmentOperator] __va_list_tag& __va_list_tag::operator=(__va_list_tag&&) +#-----| : +#-----| getParameter(0): [Parameter] (unnamed parameter 0) +#-----| Type = [RValueReferenceType] __va_list_tag && +test.c: +# 3| [TopLevelFunction] void g() +# 3| : +# 3| getEntryPoint(): [BlockStmt] { ... } +# 4| getStmt(0): [DeclStmt] declaration +# 4| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x +# 4| Type = [IntType] int +# 4| getVariable().getInitializer(): [Initializer] initializer for x +# 4| getExpr(): [FunctionCall] call to no_such_function +# 4| Type = [IntType] int +# 4| ValueCategory = prvalue +# 5| getStmt(1): [ReturnStmt] return ... +# 4| [TopLevelFunction] int no_such_function() +# 4| : +test.cpp: +# 5| [TopLevelFunction] void function_with_errors() +# 5| : +# 5| getEntryPoint(): [BlockStmt] { ... } +# 6| getStmt(0): [DeclStmt] declaration +# 6| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x +# 6| Type = [ErroneousType] error +# 6| getVariable().getInitializer(): [Initializer] initializer for x +# 6| getExpr(): [ErrorExpr] +# 6| Type = [ErroneousType] error +# 6| ValueCategory = prvalue +# 7| getStmt(1): [ExprStmt] ExprStmt +#-----| getExpr(): [ErrorExpr] +#-----| Type = [ErroneousType] error +#-----| ValueCategory = prvalue +# 8| getStmt(2): [ExprStmt] ExprStmt +#-----| getExpr(): [ErrorExpr] +#-----| Type = [ErroneousType] error +#-----| ValueCategory = prvalue +# 9| getStmt(3): [ExprStmt] ExprStmt +#-----| getExpr(): [ErrorExpr] +#-----| Type = [ErroneousType] error +#-----| ValueCategory = prvalue +# 10| getStmt(4): [ExprStmt] ExprStmt +# 10| getExpr(): [FunctionCall] call to f +# 10| Type = [IntType] int +# 10| ValueCategory = prvalue +# 10| getArgument(0): [Literal] 1 +# 10| Type = [IntType] int +# 10| Value = [Literal] 1 +# 10| ValueCategory = prvalue +# 11| getStmt(5): [ExprStmt] ExprStmt +#-----| getExpr(): [ErrorExpr] +#-----| Type = [ErroneousType] error +#-----| ValueCategory = prvalue +# 12| getStmt(6): [ReturnStmt] return ... +# 14| [TopLevelFunction] error fn2() +# 14| : +# 14| getEntryPoint(): [BlockStmt] { ... } +# 15| getStmt(0): [ExprStmt] ExprStmt +#-----| getExpr(): [ErrorExpr] +#-----| Type = [ErroneousType] error +#-----| ValueCategory = prvalue +# 16| getStmt(1): [ExprStmt] ExprStmt +#-----| getExpr(): [ErrorExpr] +#-----| Type = [ErroneousType] error +#-----| ValueCategory = prvalue +# 17| getStmt(2): [ReturnStmt] return ... +test.h: +# 4| [TopLevelFunction] int f(int) +# 4| : +# 4| getParameter(0): [Parameter] (unnamed parameter 0) +# 4| Type = [IntType] int +# 4| [TopLevelFunction] int f(int) +# 4| : +# 4| getParameter(0): [Parameter] (unnamed parameter 0) +# 4| Type = [IntType] int diff --git a/cpp/ql/test/library-tests/extraction_errors/PrintAst.qlref b/cpp/ql/test/library-tests/extraction_errors/PrintAst.qlref new file mode 100644 index 000000000000..6fcb30ac7a6e --- /dev/null +++ b/cpp/ql/test/library-tests/extraction_errors/PrintAst.qlref @@ -0,0 +1 @@ +semmle/code/cpp/PrintAST.ql \ No newline at end of file diff --git a/cpp/ql/test/library-tests/extraction_errors/SucceededIncludes.expected b/cpp/ql/test/library-tests/extraction_errors/SucceededIncludes.expected new file mode 100644 index 000000000000..deebd4f51eaa --- /dev/null +++ b/cpp/ql/test/library-tests/extraction_errors/SucceededIncludes.expected @@ -0,0 +1 @@ +| "test.h" | 2.0 | diff --git a/cpp/ql/test/library-tests/extraction_errors/SucceededIncludes.qlref b/cpp/ql/test/library-tests/extraction_errors/SucceededIncludes.qlref new file mode 100644 index 000000000000..055b6af49a75 --- /dev/null +++ b/cpp/ql/test/library-tests/extraction_errors/SucceededIncludes.qlref @@ -0,0 +1 @@ +Telemetry/SucceededIncludes.ql diff --git a/cpp/ql/test/library-tests/extraction_errors/diags.expected b/cpp/ql/test/library-tests/extraction_errors/diags.expected new file mode 100644 index 000000000000..68e5c9c154c4 --- /dev/null +++ b/cpp/ql/test/library-tests/extraction_errors/diags.expected @@ -0,0 +1,10 @@ +| file://:0:0:0:0 | There was an error during this compilation | +| test.cpp:6:14:6:14 | identifier 'no_such_function' is undefined | +| test.cpp:9:14:9:14 | identifier 'nsf2' is undefined | +| test.cpp:11:7:11:7 | too few arguments in function call | +| test.cpp:14:1:14:1 | identifier 'uint32_t' is undefined | +| test.cpp:15:5:15:5 | 'this' may only be used inside a nonstatic member function | +| test.cpp:15:10:15:10 | expected a ';' | +| test.cpp:16:5:16:5 | identifier 'so_is_this' is undefined | +| test.cpp:16:16:16:16 | expected a ')' | +| test.cpp:16:16:16:16 | expected an expression | diff --git a/cpp/ql/test/library-tests/extraction_errors/diags.ql b/cpp/ql/test/library-tests/extraction_errors/diags.ql new file mode 100644 index 000000000000..9e7db729265e --- /dev/null +++ b/cpp/ql/test/library-tests/extraction_errors/diags.ql @@ -0,0 +1,4 @@ +import cpp + +from Diagnostic d +select d \ No newline at end of file diff --git a/cpp/ql/test/library-tests/extraction_errors/error_fn_returns.expected b/cpp/ql/test/library-tests/extraction_errors/error_fn_returns.expected new file mode 100644 index 000000000000..a06ba8bf672a --- /dev/null +++ b/cpp/ql/test/library-tests/extraction_errors/error_fn_returns.expected @@ -0,0 +1 @@ +| test.cpp:14:10:14:12 | fn2 | diff --git a/cpp/ql/test/library-tests/extraction_errors/error_fn_returns.ql b/cpp/ql/test/library-tests/extraction_errors/error_fn_returns.ql new file mode 100644 index 000000000000..28fe33cb2a6c --- /dev/null +++ b/cpp/ql/test/library-tests/extraction_errors/error_fn_returns.ql @@ -0,0 +1,5 @@ +import cpp + +from Function fn +where fn.getType() instanceof ErroneousType or not exists(fn.getType()) +select fn diff --git a/cpp/ql/test/library-tests/extraction_errors/error_types.expected b/cpp/ql/test/library-tests/extraction_errors/error_types.expected new file mode 100644 index 000000000000..d15915d4f7ac --- /dev/null +++ b/cpp/ql/test/library-tests/extraction_errors/error_types.expected @@ -0,0 +1 @@ +| test.cpp:6:13:6:31 | | diff --git a/cpp/ql/test/library-tests/extraction_errors/error_types.ql b/cpp/ql/test/library-tests/extraction_errors/error_types.ql new file mode 100644 index 000000000000..3b754dffa656 --- /dev/null +++ b/cpp/ql/test/library-tests/extraction_errors/error_types.ql @@ -0,0 +1,6 @@ +import cpp + +from Expr e +where e.getType() instanceof ErroneousType +and e.fromSource() +select e diff --git a/cpp/ql/test/library-tests/extraction_errors/error_variables.expected b/cpp/ql/test/library-tests/extraction_errors/error_variables.expected new file mode 100644 index 000000000000..d5b216dba71a --- /dev/null +++ b/cpp/ql/test/library-tests/extraction_errors/error_variables.expected @@ -0,0 +1 @@ +| test.cpp:6:10:6:10 | x | This variable does not have a type. | diff --git a/cpp/ql/test/library-tests/extraction_errors/error_variables.ql b/cpp/ql/test/library-tests/extraction_errors/error_variables.ql new file mode 100644 index 000000000000..e3867462b568 --- /dev/null +++ b/cpp/ql/test/library-tests/extraction_errors/error_variables.ql @@ -0,0 +1,5 @@ +import cpp + +from Variable v +where v.getType() instanceof ErroneousType or not exists(v.getType()) +select v, "This variable does not have a type." diff --git a/cpp/ql/test/library-tests/extraction_errors/functions.expected b/cpp/ql/test/library-tests/extraction_errors/functions.expected new file mode 100644 index 000000000000..e1c62fd7e49b --- /dev/null +++ b/cpp/ql/test/library-tests/extraction_errors/functions.expected @@ -0,0 +1,6 @@ +| test.c:3:6:3:6 | g | +| test.c:4:13:4:13 | no_such_function | +| test.cpp:5:6:5:25 | function_with_errors | +| test.cpp:14:10:14:12 | fn2 | +| test.h:4:5:4:5 | f | +| test.h:4:5:4:5 | f | diff --git a/cpp/ql/test/library-tests/extraction_errors/functions.ql b/cpp/ql/test/library-tests/extraction_errors/functions.ql new file mode 100644 index 000000000000..1c0ddd3fd455 --- /dev/null +++ b/cpp/ql/test/library-tests/extraction_errors/functions.ql @@ -0,0 +1,5 @@ +import cpp + +from Function fn +where fn.fromSource() +select fn \ No newline at end of file diff --git a/cpp/ql/test/library-tests/extraction_errors/test.c b/cpp/ql/test/library-tests/extraction_errors/test.c new file mode 100644 index 000000000000..e247964f71ca --- /dev/null +++ b/cpp/ql/test/library-tests/extraction_errors/test.c @@ -0,0 +1,5 @@ +#include "test.h" + +void g() { + int x = no_such_function(); +} diff --git a/cpp/ql/test/library-tests/extraction_errors/test.cpp b/cpp/ql/test/library-tests/extraction_errors/test.cpp new file mode 100644 index 000000000000..b2ca86bcbaa6 --- /dev/null +++ b/cpp/ql/test/library-tests/extraction_errors/test.cpp @@ -0,0 +1,17 @@ +// semmle-extractor-options: --expect_errors + +#include "test.h" + +void function_with_errors() { + auto x = no_such_function(); + x+2; + no_such_function(); + ADD(x+1, nsf2()); + f(1); + f(); +} + +uint32_t fn2() { + this is a syntax error; + so_is_this(; +} diff --git a/cpp/ql/test/library-tests/extraction_errors/test.h b/cpp/ql/test/library-tests/extraction_errors/test.h new file mode 100644 index 000000000000..6957e49d8c92 --- /dev/null +++ b/cpp/ql/test/library-tests/extraction_errors/test.h @@ -0,0 +1,4 @@ + +#define ADD(A,B) ((A)+(B)) + +int f(int); From a53e1dec206e9733b241f4552e95634cbc2d52db Mon Sep 17 00:00:00 2001 From: Calum Grant Date: Fri, 1 Nov 2024 16:55:48 +0000 Subject: [PATCH 094/347] C++: Minor edits --- cpp/ql/src/Telemetry/Metrics.qll | 2 +- .../extraction_errors/ExtractionMetrics.expected | 2 +- .../extraction_errors/PrintAst.expected | 16 ++++++++-------- .../library-tests/extraction_errors/diags.ql | 2 +- .../extraction_errors/error_fn_returns.expected | 1 - .../extraction_errors/error_fn_returns.ql | 5 ----- .../extraction_errors/error_types.expected | 1 - .../extraction_errors/error_types.ql | 6 ------ .../extraction_errors/functions.expected | 4 ++-- .../library-tests/extraction_errors/functions.ql | 2 +- .../test/library-tests/extraction_errors/test.h | 2 -- 11 files changed, 14 insertions(+), 29 deletions(-) delete mode 100644 cpp/ql/test/library-tests/extraction_errors/error_fn_returns.expected delete mode 100644 cpp/ql/test/library-tests/extraction_errors/error_fn_returns.ql delete mode 100644 cpp/ql/test/library-tests/extraction_errors/error_types.expected delete mode 100644 cpp/ql/test/library-tests/extraction_errors/error_types.ql diff --git a/cpp/ql/src/Telemetry/Metrics.qll b/cpp/ql/src/Telemetry/Metrics.qll index 5f30dc86c894..59936330e285 100644 --- a/cpp/ql/src/Telemetry/Metrics.qll +++ b/cpp/ql/src/Telemetry/Metrics.qll @@ -215,7 +215,7 @@ module CppMetrics { SucceededIncludeCount() { exists(Include i | i.getIncludeText() = include_text and - exists(i.getFile().getRelativePath()) // Only report includes from the repo + exists(i.getFile().getRelativePath()) // Only report includes from the repo ) and this = "Successfully included " + include_text } diff --git a/cpp/ql/test/library-tests/extraction_errors/ExtractionMetrics.expected b/cpp/ql/test/library-tests/extraction_errors/ExtractionMetrics.expected index dcba2f000876..7fb84fc291ee 100644 --- a/cpp/ql/test/library-tests/extraction_errors/ExtractionMetrics.expected +++ b/cpp/ql/test/library-tests/extraction_errors/ExtractionMetrics.expected @@ -10,7 +10,7 @@ | functions without errors | 6.0 | | lines of code | 19.0 | | lines of code without errors | 12.0 | -| lines of text | 26.0 | +| lines of text | 24.0 | | non-error expressions | 3.0 | | source files | 3.0 | | source files without errors | 2.0 | diff --git a/cpp/ql/test/library-tests/extraction_errors/PrintAst.expected b/cpp/ql/test/library-tests/extraction_errors/PrintAst.expected index 7ff9a5405651..ce2b59b6a086 100644 --- a/cpp/ql/test/library-tests/extraction_errors/PrintAst.expected +++ b/cpp/ql/test/library-tests/extraction_errors/PrintAst.expected @@ -69,11 +69,11 @@ test.cpp: #-----| ValueCategory = prvalue # 17| getStmt(2): [ReturnStmt] return ... test.h: -# 4| [TopLevelFunction] int f(int) -# 4| : -# 4| getParameter(0): [Parameter] (unnamed parameter 0) -# 4| Type = [IntType] int -# 4| [TopLevelFunction] int f(int) -# 4| : -# 4| getParameter(0): [Parameter] (unnamed parameter 0) -# 4| Type = [IntType] int +# 2| [TopLevelFunction] int f(int) +# 2| : +# 2| getParameter(0): [Parameter] (unnamed parameter 0) +# 2| Type = [IntType] int +# 2| [TopLevelFunction] int f(int) +# 2| : +# 2| getParameter(0): [Parameter] (unnamed parameter 0) +# 2| Type = [IntType] int diff --git a/cpp/ql/test/library-tests/extraction_errors/diags.ql b/cpp/ql/test/library-tests/extraction_errors/diags.ql index 9e7db729265e..3fa864748e16 100644 --- a/cpp/ql/test/library-tests/extraction_errors/diags.ql +++ b/cpp/ql/test/library-tests/extraction_errors/diags.ql @@ -1,4 +1,4 @@ import cpp from Diagnostic d -select d \ No newline at end of file +select d diff --git a/cpp/ql/test/library-tests/extraction_errors/error_fn_returns.expected b/cpp/ql/test/library-tests/extraction_errors/error_fn_returns.expected deleted file mode 100644 index a06ba8bf672a..000000000000 --- a/cpp/ql/test/library-tests/extraction_errors/error_fn_returns.expected +++ /dev/null @@ -1 +0,0 @@ -| test.cpp:14:10:14:12 | fn2 | diff --git a/cpp/ql/test/library-tests/extraction_errors/error_fn_returns.ql b/cpp/ql/test/library-tests/extraction_errors/error_fn_returns.ql deleted file mode 100644 index 28fe33cb2a6c..000000000000 --- a/cpp/ql/test/library-tests/extraction_errors/error_fn_returns.ql +++ /dev/null @@ -1,5 +0,0 @@ -import cpp - -from Function fn -where fn.getType() instanceof ErroneousType or not exists(fn.getType()) -select fn diff --git a/cpp/ql/test/library-tests/extraction_errors/error_types.expected b/cpp/ql/test/library-tests/extraction_errors/error_types.expected deleted file mode 100644 index d15915d4f7ac..000000000000 --- a/cpp/ql/test/library-tests/extraction_errors/error_types.expected +++ /dev/null @@ -1 +0,0 @@ -| test.cpp:6:13:6:31 | | diff --git a/cpp/ql/test/library-tests/extraction_errors/error_types.ql b/cpp/ql/test/library-tests/extraction_errors/error_types.ql deleted file mode 100644 index 3b754dffa656..000000000000 --- a/cpp/ql/test/library-tests/extraction_errors/error_types.ql +++ /dev/null @@ -1,6 +0,0 @@ -import cpp - -from Expr e -where e.getType() instanceof ErroneousType -and e.fromSource() -select e diff --git a/cpp/ql/test/library-tests/extraction_errors/functions.expected b/cpp/ql/test/library-tests/extraction_errors/functions.expected index e1c62fd7e49b..db80ede06555 100644 --- a/cpp/ql/test/library-tests/extraction_errors/functions.expected +++ b/cpp/ql/test/library-tests/extraction_errors/functions.expected @@ -2,5 +2,5 @@ | test.c:4:13:4:13 | no_such_function | | test.cpp:5:6:5:25 | function_with_errors | | test.cpp:14:10:14:12 | fn2 | -| test.h:4:5:4:5 | f | -| test.h:4:5:4:5 | f | +| test.h:2:5:2:5 | f | +| test.h:2:5:2:5 | f | diff --git a/cpp/ql/test/library-tests/extraction_errors/functions.ql b/cpp/ql/test/library-tests/extraction_errors/functions.ql index 1c0ddd3fd455..ac52eec7309d 100644 --- a/cpp/ql/test/library-tests/extraction_errors/functions.ql +++ b/cpp/ql/test/library-tests/extraction_errors/functions.ql @@ -2,4 +2,4 @@ import cpp from Function fn where fn.fromSource() -select fn \ No newline at end of file +select fn diff --git a/cpp/ql/test/library-tests/extraction_errors/test.h b/cpp/ql/test/library-tests/extraction_errors/test.h index 6957e49d8c92..a3941657c0e3 100644 --- a/cpp/ql/test/library-tests/extraction_errors/test.h +++ b/cpp/ql/test/library-tests/extraction_errors/test.h @@ -1,4 +1,2 @@ - #define ADD(A,B) ((A)+(B)) - int f(int); From 6c402adbccf2e1fb73553b554c67b6704724c46d Mon Sep 17 00:00:00 2001 From: Calum Grant Date: Fri, 1 Nov 2024 17:15:19 +0000 Subject: [PATCH 095/347] C++: Minor edits --- cpp/ql/src/Telemetry/CompilerErrors.ql | 2 +- cpp/ql/src/Telemetry/DatabaseQuality.ql | 2 +- cpp/ql/src/Telemetry/ExtractionMetrics.ql | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/cpp/ql/src/Telemetry/CompilerErrors.ql b/cpp/ql/src/Telemetry/CompilerErrors.ql index eef845db4159..a6e113d5f04a 100644 --- a/cpp/ql/src/Telemetry/CompilerErrors.ql +++ b/cpp/ql/src/Telemetry/CompilerErrors.ql @@ -9,4 +9,4 @@ import Metrics from CppMetrics::ErrorCount m -select m, m.getValue() as c order by c desc +select m.toString(), m.getValue() diff --git a/cpp/ql/src/Telemetry/DatabaseQuality.ql b/cpp/ql/src/Telemetry/DatabaseQuality.ql index 787eb0a8812c..af8e340507b8 100644 --- a/cpp/ql/src/Telemetry/DatabaseQuality.ql +++ b/cpp/ql/src/Telemetry/DatabaseQuality.ql @@ -9,4 +9,4 @@ import Metrics from QualityMetric m -select m, m.getValue() order by m +select m.toString(), m.getValue() diff --git a/cpp/ql/src/Telemetry/ExtractionMetrics.ql b/cpp/ql/src/Telemetry/ExtractionMetrics.ql index c19000ad89bd..968bf456ecb9 100644 --- a/cpp/ql/src/Telemetry/ExtractionMetrics.ql +++ b/cpp/ql/src/Telemetry/ExtractionMetrics.ql @@ -9,4 +9,4 @@ import Metrics from ExtractionMetric m -select m, m.getValue() order by m +select m.toString(), m.getValue() From 8d2cef632eca5fe750a743cc31afe0332ca7b808 Mon Sep 17 00:00:00 2001 From: Calum Grant Date: Fri, 1 Nov 2024 17:33:48 +0000 Subject: [PATCH 096/347] C++: Minor edits --- cpp/ql/src/Telemetry/Metrics.qll | 5 ++++- cpp/ql/src/Telemetry/MissingIncludes.ql | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/cpp/ql/src/Telemetry/Metrics.qll b/cpp/ql/src/Telemetry/Metrics.qll index 59936330e285..178f5956f4b5 100644 --- a/cpp/ql/src/Telemetry/Metrics.qll +++ b/cpp/ql/src/Telemetry/Metrics.qll @@ -54,7 +54,10 @@ class QualityMetric extends Metric { base_metric = relative_metric.getBaseline() and this = "Percentage of " + relative_metric } - override float getValue() { result = 100 * relative_metric.getValue() / base_metric.getValue() } + override float getValue() { + base_metric.getValue() > 0 and + result = 100 * relative_metric.getValue() / base_metric.getValue() + } } /** Various metrics we want to report. */ diff --git a/cpp/ql/src/Telemetry/MissingIncludes.ql b/cpp/ql/src/Telemetry/MissingIncludes.ql index e58fbf3fcf5e..8a88176e39c9 100644 --- a/cpp/ql/src/Telemetry/MissingIncludes.ql +++ b/cpp/ql/src/Telemetry/MissingIncludes.ql @@ -9,4 +9,4 @@ import Metrics from CppMetrics::MissingIncludeCount e -select e.getIncludeText(), e.getValue() as c order by c desc +select e.getIncludeText(), e.getValue() From 9a81ce8bb4f6152fc11e444bd5f111281494fc2b Mon Sep 17 00:00:00 2001 From: Calum Grant Date: Mon, 4 Nov 2024 12:39:46 +0000 Subject: [PATCH 097/347] C++: Separate int and float metrics --- cpp/ql/src/Telemetry/Metrics.qll | 58 +++++++++---------- .../extraction_errors/CompilerErrors.expected | 20 +++---- .../ExtractionMetrics.expected | 40 ++++++------- .../SucceededIncludes.expected | 2 +- 4 files changed, 59 insertions(+), 61 deletions(-) diff --git a/cpp/ql/src/Telemetry/Metrics.qll b/cpp/ql/src/Telemetry/Metrics.qll index 178f5956f4b5..9eb637c30467 100644 --- a/cpp/ql/src/Telemetry/Metrics.qll +++ b/cpp/ql/src/Telemetry/Metrics.qll @@ -7,9 +7,6 @@ import Diagnostics abstract class Metric extends string { bindingset[this] Metric() { any() } - - /** Gets the value of this metric. */ - abstract float getValue(); } /** @@ -18,6 +15,9 @@ abstract class Metric extends string { abstract class ExtractionMetric extends Metric { bindingset[this] ExtractionMetric() { any() } + + /** Gets the value of this metric. */ + abstract int getValue(); } /** @@ -54,9 +54,9 @@ class QualityMetric extends Metric { base_metric = relative_metric.getBaseline() and this = "Percentage of " + relative_metric } - override float getValue() { + float getValue() { base_metric.getValue() > 0 and - result = 100 * relative_metric.getValue() / base_metric.getValue() + result = 100.0 * relative_metric.getValue() / base_metric.getValue() } } @@ -65,19 +65,19 @@ module CppMetrics { class CompilationUnits extends BaseMetric { CompilationUnits() { this = "compilation units" } - override float getValue() { result = count(Compilation c) } + override int getValue() { result = count(Compilation c) } } class SourceFiles extends BaseMetric { SourceFiles() { this = "source files" } - override float getValue() { result = count(File f | f.fromSource()) } + override int getValue() { result = count(File f | f.fromSource()) } } class SourceFilesWithoutErrors extends SuccessMetric { SourceFilesWithoutErrors() { this = "source files without errors" } - override float getValue() { + override int getValue() { result = count(File f | f.fromSource() and not exists(CompilerError e | f = e.getFile())) } @@ -87,7 +87,7 @@ module CppMetrics { class CompilationUnitsWithoutErrors extends SuccessMetric { CompilationUnitsWithoutErrors() { this = "compilation units without errors" } - override float getValue() { + override int getValue() { result = count(Compilation c | not exists(Diagnostic d | d.getFile() = c.getAFileCompiled())) } @@ -97,13 +97,13 @@ module CppMetrics { class Expressions extends BaseMetric { Expressions() { this = "expressions" } - override float getValue() { result = count(Expr e) } + override int getValue() { result = count(Expr e) } } class SucceededExpressions extends SuccessMetric { SucceededExpressions() { this = "non-error expressions" } - override float getValue() { result = count(Expr e) - count(ErrorExpr e) } + override int getValue() { result = count(Expr e) - count(ErrorExpr e) } override Expressions getBaseline() { any() } } @@ -111,7 +111,7 @@ module CppMetrics { class TypedExpressions extends SuccessMetric { TypedExpressions() { this = "expressions with a known type" } - override float getValue() { result = count(Expr e | not e.getType() instanceof ErroneousType) } + override int getValue() { result = count(Expr e | not e.getType() instanceof ErroneousType) } override Expressions getBaseline() { any() } } @@ -119,13 +119,13 @@ module CppMetrics { class Calls extends BaseMetric { Calls() { this = "calls" } - override float getValue() { result = count(Call c) } + override int getValue() { result = count(Call c) } } class SucceededCalls extends SuccessMetric { SucceededCalls() { this = "calls with a target" } - override float getValue() { + override int getValue() { result = count(Call c | not c.getTarget().getADeclarationEntry().isImplicit()) } @@ -135,13 +135,13 @@ module CppMetrics { class Variables extends BaseMetric { Variables() { this = "variables" } - override float getValue() { result = count(Variable v) } + override int getValue() { result = count(Variable v) } } class VariablesKnownType extends SuccessMetric { VariablesKnownType() { this = "variables with a known type" } - override float getValue() { + override int getValue() { result = count(Variable v | not v.getType() instanceof ErroneousType) } @@ -151,13 +151,13 @@ module CppMetrics { class LinesOfText extends BaseMetric { LinesOfText() { this = "lines of text" } - override float getValue() { result = sum(File f | | f.getMetrics().getNumberOfLines()) } + override int getValue() { result = sum(File f | | f.getMetrics().getNumberOfLines()) } } class LinesOfCode extends BaseMetric { LinesOfCode() { this = "lines of code" } - override float getValue() { result = sum(File f | | f.getMetrics().getNumberOfLinesOfCode()) } + override int getValue() { result = sum(File f | | f.getMetrics().getNumberOfLinesOfCode()) } } private predicate errorLine(File file, int line) { @@ -175,7 +175,7 @@ module CppMetrics { class SucceededLines extends SuccessMetric { SucceededLines() { this = "lines of code without errors" } - override float getValue() { + override int getValue() { result = sum(File f | | f.getMetrics().getNumberOfLinesOfCode()) - count(File file, int line | errorLine(file, line)) @@ -187,13 +187,13 @@ module CppMetrics { class Functions extends BaseMetric { Functions() { this = "functions" } - override float getValue() { result = count(Function f) } + override int getValue() { result = count(Function f) } } class SucceededFunctions extends SuccessMetric { SucceededFunctions() { this = "functions without errors" } - override float getValue() { result = count(Function f | not f.hasErrors()) } + override int getValue() { result = count(Function f | not f.hasErrors()) } override Functions getBaseline() { any() } } @@ -201,13 +201,13 @@ module CppMetrics { class Includes extends BaseMetric { Includes() { this = "#include directives" } - override float getValue() { result = count(Include i) + count(CannotOpenFile e) } + override int getValue() { result = count(Include i) + count(CannotOpenFile e) } } class SucceededIncludes extends SuccessMetric { SucceededIncludes() { this = "successfully resolved #include directives" } - override float getValue() { result = count(Include i) } + override int getValue() { result = count(Include i) } override Includes getBaseline() { any() } } @@ -223,7 +223,7 @@ module CppMetrics { this = "Successfully included " + include_text } - override float getValue() { result = count(Include i | i.getIncludeText() = include_text) } + int getValue() { result = count(Include i | i.getIncludeText() = include_text) } string getIncludeText() { result = include_text } } @@ -236,9 +236,7 @@ module CppMetrics { this = "Failed to include '" + include_text + "'" } - override float getValue() { - result = count(CannotOpenFile e | e.getIncludedFile() = include_text) - } + int getValue() { result = count(CannotOpenFile e | e.getIncludedFile() = include_text) } string getIncludeText() { result = include_text } } @@ -246,18 +244,18 @@ module CppMetrics { class CompilerErrors extends ExtractionMetric { CompilerErrors() { this = "compiler errors" } - override float getValue() { result = count(CompilerError e) } + override int getValue() { result = count(CompilerError e) } } class ErrorCount extends Metric { ErrorCount() { exists(CompilerError e | e.getMessage() = this) } - override float getValue() { result = count(CompilerError e | e.getMessage() = this) } + int getValue() { result = count(CompilerError e | e.getMessage() = this) } } class SyntaxErrorCount extends ExtractionMetric { SyntaxErrorCount() { this = "syntax errors" } - override float getValue() { result = count(SyntaxError e) } + override int getValue() { result = count(SyntaxError e) } } } diff --git a/cpp/ql/test/library-tests/extraction_errors/CompilerErrors.expected b/cpp/ql/test/library-tests/extraction_errors/CompilerErrors.expected index 27c1b8c641ea..1e4e4c8e3c60 100644 --- a/cpp/ql/test/library-tests/extraction_errors/CompilerErrors.expected +++ b/cpp/ql/test/library-tests/extraction_errors/CompilerErrors.expected @@ -1,10 +1,10 @@ -| 'this' may only be used inside a nonstatic member function | 1.0 | -| There was an error during this compilation | 1.0 | -| expected a ')' | 1.0 | -| expected a ';' | 1.0 | -| expected an expression | 1.0 | -| identifier 'no_such_function' is undefined | 1.0 | -| identifier 'nsf2' is undefined | 1.0 | -| identifier 'so_is_this' is undefined | 1.0 | -| identifier 'uint32_t' is undefined | 1.0 | -| too few arguments in function call | 1.0 | +| 'this' may only be used inside a nonstatic member function | 1 | +| There was an error during this compilation | 1 | +| expected a ')' | 1 | +| expected a ';' | 1 | +| expected an expression | 1 | +| identifier 'no_such_function' is undefined | 1 | +| identifier 'nsf2' is undefined | 1 | +| identifier 'so_is_this' is undefined | 1 | +| identifier 'uint32_t' is undefined | 1 | +| too few arguments in function call | 1 | diff --git a/cpp/ql/test/library-tests/extraction_errors/ExtractionMetrics.expected b/cpp/ql/test/library-tests/extraction_errors/ExtractionMetrics.expected index 7fb84fc291ee..5530005b7099 100644 --- a/cpp/ql/test/library-tests/extraction_errors/ExtractionMetrics.expected +++ b/cpp/ql/test/library-tests/extraction_errors/ExtractionMetrics.expected @@ -1,20 +1,20 @@ -| #include directives | 2.0 | -| calls | 2.0 | -| calls with a target | 1.0 | -| compilation units | 2.0 | -| compilation units without errors | 1.0 | -| compiler errors | 10.0 | -| expressions | 10.0 | -| expressions with a known type | 3.0 | -| functions | 8.0 | -| functions without errors | 6.0 | -| lines of code | 19.0 | -| lines of code without errors | 12.0 | -| lines of text | 24.0 | -| non-error expressions | 3.0 | -| source files | 3.0 | -| source files without errors | 2.0 | -| successfully resolved #include directives | 2.0 | -| syntax errors | 3.0 | -| variables | 10.0 | -| variables with a known type | 9.0 | +| #include directives | 2 | +| calls | 2 | +| calls with a target | 1 | +| compilation units | 2 | +| compilation units without errors | 1 | +| compiler errors | 10 | +| expressions | 10 | +| expressions with a known type | 3 | +| functions | 8 | +| functions without errors | 6 | +| lines of code | 19 | +| lines of code without errors | 12 | +| lines of text | 24 | +| non-error expressions | 3 | +| source files | 3 | +| source files without errors | 2 | +| successfully resolved #include directives | 2 | +| syntax errors | 3 | +| variables | 10 | +| variables with a known type | 9 | diff --git a/cpp/ql/test/library-tests/extraction_errors/SucceededIncludes.expected b/cpp/ql/test/library-tests/extraction_errors/SucceededIncludes.expected index deebd4f51eaa..13536ce172c5 100644 --- a/cpp/ql/test/library-tests/extraction_errors/SucceededIncludes.expected +++ b/cpp/ql/test/library-tests/extraction_errors/SucceededIncludes.expected @@ -1 +1 @@ -| "test.h" | 2.0 | +| "test.h" | 2 | From 067ecdeea0ac3cf1b49c530138108c44feca9ba4 Mon Sep 17 00:00:00 2001 From: Calum Grant Date: Mon, 4 Nov 2024 13:06:53 +0000 Subject: [PATCH 098/347] C++: Match more tags --- cpp/ql/src/Telemetry/Diagnostics.qll | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/cpp/ql/src/Telemetry/Diagnostics.qll b/cpp/ql/src/Telemetry/Diagnostics.qll index 13dc5c756580..19cb818ab178 100644 --- a/cpp/ql/src/Telemetry/Diagnostics.qll +++ b/cpp/ql/src/Telemetry/Diagnostics.qll @@ -4,7 +4,16 @@ import cpp * A syntax error. */ class SyntaxError extends CompilerError { - SyntaxError() { this.getTag().matches("exp_%") } + SyntaxError() { + this.getTag().matches("exp_%") or + this.getTag() = + [ + "bad_data_member_initialization", "bad_pure_specifier", "bad_return", "bad_uuid_string", + "literal_without_initializer", "missing_class_definition", "missing_exception_declaration", + "nonstd_const_member_decl_not_allowed", "operator_name_not_allowed", + "wide_string_invalid_in_asm" + ] + } } /** @@ -12,7 +21,7 @@ class SyntaxError extends CompilerError { * Typically this is due to a missing include. */ class CannotOpenFile extends CompilerError { - CannotOpenFile() { this.hasTag("cannot_open_file") } + CannotOpenFile() { this.hasTag(["cannot_open_file", "cannot_open_file_reason"]) } string getIncludedFile() { result = this.getMessage().regexpCapture("cannot open source file '([^']+)'", 1) From faeff396eb54fca5311e4b4cfc3f7f045f3db42d Mon Sep 17 00:00:00 2001 From: Calum Grant Date: Fri, 8 Nov 2024 14:37:59 +0000 Subject: [PATCH 099/347] C++: Limit metrics to top 500 --- cpp/ql/src/Telemetry/CompilerErrors.ql | 1 + cpp/ql/src/Telemetry/Metrics.qll | 8 ++++++++ cpp/ql/src/Telemetry/MissingIncludes.ql | 1 + cpp/ql/src/Telemetry/SucceededIncludes.ql | 1 + 4 files changed, 11 insertions(+) diff --git a/cpp/ql/src/Telemetry/CompilerErrors.ql b/cpp/ql/src/Telemetry/CompilerErrors.ql index a6e113d5f04a..a4e5cd5f8fc3 100644 --- a/cpp/ql/src/Telemetry/CompilerErrors.ql +++ b/cpp/ql/src/Telemetry/CompilerErrors.ql @@ -9,4 +9,5 @@ import Metrics from CppMetrics::ErrorCount m +where RankMetric::getRank(m) <= 500 select m.toString(), m.getValue() diff --git a/cpp/ql/src/Telemetry/Metrics.qll b/cpp/ql/src/Telemetry/Metrics.qll index 9eb637c30467..168b6a13c97b 100644 --- a/cpp/ql/src/Telemetry/Metrics.qll +++ b/cpp/ql/src/Telemetry/Metrics.qll @@ -60,6 +60,14 @@ class QualityMetric extends Metric { } } +signature class RankedMetric extends Metric { + int getValue(); +} + +module RankMetric { + int getRank(M s) { s = rank[result](M m | | m order by m.getValue() desc) } +} + /** Various metrics we want to report. */ module CppMetrics { class CompilationUnits extends BaseMetric { diff --git a/cpp/ql/src/Telemetry/MissingIncludes.ql b/cpp/ql/src/Telemetry/MissingIncludes.ql index 8a88176e39c9..a3a65de7577a 100644 --- a/cpp/ql/src/Telemetry/MissingIncludes.ql +++ b/cpp/ql/src/Telemetry/MissingIncludes.ql @@ -9,4 +9,5 @@ import Metrics from CppMetrics::MissingIncludeCount e +where RankMetric::getRank(e) <= 500 select e.getIncludeText(), e.getValue() diff --git a/cpp/ql/src/Telemetry/SucceededIncludes.ql b/cpp/ql/src/Telemetry/SucceededIncludes.ql index e303add9a493..dda4fa414d9b 100644 --- a/cpp/ql/src/Telemetry/SucceededIncludes.ql +++ b/cpp/ql/src/Telemetry/SucceededIncludes.ql @@ -9,4 +9,5 @@ import Metrics from CppMetrics::SucceededIncludeCount m +where RankMetric::getRank(m) <= 500 select m.getIncludeText(), m.getValue() From e6f351205633ce2949a5d6389bda70f29240d338 Mon Sep 17 00:00:00 2001 From: Calum Grant Date: Fri, 8 Nov 2024 16:12:43 +0000 Subject: [PATCH 100/347] C++: Remove unused class UndefinedIdentifier --- cpp/ql/src/Telemetry/Diagnostics.qll | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/cpp/ql/src/Telemetry/Diagnostics.qll b/cpp/ql/src/Telemetry/Diagnostics.qll index 19cb818ab178..b5019425c8e0 100644 --- a/cpp/ql/src/Telemetry/Diagnostics.qll +++ b/cpp/ql/src/Telemetry/Diagnostics.qll @@ -27,15 +27,3 @@ class CannotOpenFile extends CompilerError { result = this.getMessage().regexpCapture("cannot open source file '([^']+)'", 1) } } - -/** - * An undefined identifier error. - * Currently unused. - */ -class UndefinedIdentifier extends CompilerError { - UndefinedIdentifier() { this.hasTag("undefined_identifier") } - - string getIdentifier() { - result = this.getMessage().regexpCapture("identifier '([^']+)' is undefined", 1) - } -} From 34ee947d2f50444ce7e30029ac385acce883376c Mon Sep 17 00:00:00 2001 From: Calum Grant Date: Mon, 11 Nov 2024 15:11:05 +0000 Subject: [PATCH 101/347] C++: Limit number of errors/includes to 50 --- cpp/ql/src/Telemetry/CompilerErrors.ql | 2 +- cpp/ql/src/Telemetry/MissingIncludes.ql | 2 +- cpp/ql/src/Telemetry/SucceededIncludes.ql | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/cpp/ql/src/Telemetry/CompilerErrors.ql b/cpp/ql/src/Telemetry/CompilerErrors.ql index a4e5cd5f8fc3..0f5166f9e9f5 100644 --- a/cpp/ql/src/Telemetry/CompilerErrors.ql +++ b/cpp/ql/src/Telemetry/CompilerErrors.ql @@ -9,5 +9,5 @@ import Metrics from CppMetrics::ErrorCount m -where RankMetric::getRank(m) <= 500 +where RankMetric::getRank(m) <= 50 select m.toString(), m.getValue() diff --git a/cpp/ql/src/Telemetry/MissingIncludes.ql b/cpp/ql/src/Telemetry/MissingIncludes.ql index a3a65de7577a..6ff58729dd2b 100644 --- a/cpp/ql/src/Telemetry/MissingIncludes.ql +++ b/cpp/ql/src/Telemetry/MissingIncludes.ql @@ -9,5 +9,5 @@ import Metrics from CppMetrics::MissingIncludeCount e -where RankMetric::getRank(e) <= 500 +where RankMetric::getRank(e) <= 50 select e.getIncludeText(), e.getValue() diff --git a/cpp/ql/src/Telemetry/SucceededIncludes.ql b/cpp/ql/src/Telemetry/SucceededIncludes.ql index dda4fa414d9b..aa08acd9fdb7 100644 --- a/cpp/ql/src/Telemetry/SucceededIncludes.ql +++ b/cpp/ql/src/Telemetry/SucceededIncludes.ql @@ -9,5 +9,5 @@ import Metrics from CppMetrics::SucceededIncludeCount m -where RankMetric::getRank(m) <= 500 +where RankMetric::getRank(m) <= 50 select m.getIncludeText(), m.getValue() From fb82d435b5e1d3e6704327ac7efde09a25b94f2e Mon Sep 17 00:00:00 2001 From: Calum Grant Date: Mon, 11 Nov 2024 15:27:58 +0000 Subject: [PATCH 102/347] C++: Various renamings --- cpp/ql/src/Telemetry/Diagnostics.qll | 4 +-- cpp/ql/src/Telemetry/Metrics.qll | 28 +++++++++---------- .../DatabaseQuality.expected | 2 +- .../ExtractionMetrics.expected | 4 +-- 4 files changed, 19 insertions(+), 19 deletions(-) diff --git a/cpp/ql/src/Telemetry/Diagnostics.qll b/cpp/ql/src/Telemetry/Diagnostics.qll index b5019425c8e0..cc7dcb3a36d7 100644 --- a/cpp/ql/src/Telemetry/Diagnostics.qll +++ b/cpp/ql/src/Telemetry/Diagnostics.qll @@ -20,8 +20,8 @@ class SyntaxError extends CompilerError { * A cannot open file error. * Typically this is due to a missing include. */ -class CannotOpenFile extends CompilerError { - CannotOpenFile() { this.hasTag(["cannot_open_file", "cannot_open_file_reason"]) } +class CannotOpenFileError extends CompilerError { + CannotOpenFileError() { this.hasTag(["cannot_open_file", "cannot_open_file_reason"]) } string getIncludedFile() { result = this.getMessage().regexpCapture("cannot open source file '([^']+)'", 1) diff --git a/cpp/ql/src/Telemetry/Metrics.qll b/cpp/ql/src/Telemetry/Metrics.qll index 168b6a13c97b..74d90426825a 100644 --- a/cpp/ql/src/Telemetry/Metrics.qll +++ b/cpp/ql/src/Telemetry/Metrics.qll @@ -47,16 +47,16 @@ abstract class SuccessMetric extends ExtractionMetric { * A metric used to report database quality. */ class QualityMetric extends Metric { - BaseMetric base_metric; - SuccessMetric relative_metric; + BaseMetric baseMetric; + SuccessMetric relativeMetric; QualityMetric() { - base_metric = relative_metric.getBaseline() and this = "Percentage of " + relative_metric + baseMetric = relativeMetric.getBaseline() and this = "Percentage of " + relativeMetric } float getValue() { - base_metric.getValue() > 0 and - result = 100.0 * relative_metric.getValue() / base_metric.getValue() + baseMetric.getValue() > 0 and + result = 100.0 * relativeMetric.getValue() / baseMetric.getValue() } } @@ -70,8 +70,8 @@ module RankMetric { /** Various metrics we want to report. */ module CppMetrics { - class CompilationUnits extends BaseMetric { - CompilationUnits() { this = "compilation units" } + class Compilations extends BaseMetric { + Compilations() { this = "compilations" } override int getValue() { result = count(Compilation c) } } @@ -92,14 +92,14 @@ module CppMetrics { override SourceFiles getBaseline() { any() } } - class CompilationUnitsWithoutErrors extends SuccessMetric { - CompilationUnitsWithoutErrors() { this = "compilation units without errors" } + class CompilationsWithoutErrors extends SuccessMetric { + CompilationsWithoutErrors() { this = "compilations without errors" } override int getValue() { result = count(Compilation c | not exists(Diagnostic d | d.getFile() = c.getAFileCompiled())) } - override CompilationUnits getBaseline() { any() } + override Compilations getBaseline() { any() } } class Expressions extends BaseMetric { @@ -186,7 +186,7 @@ module CppMetrics { override int getValue() { result = sum(File f | | f.getMetrics().getNumberOfLinesOfCode()) - - count(File file, int line | errorLine(file, line)) + count(File f, int line | errorLine(f, line)) } override LinesOfCode getBaseline() { any() } @@ -209,7 +209,7 @@ module CppMetrics { class Includes extends BaseMetric { Includes() { this = "#include directives" } - override int getValue() { result = count(Include i) + count(CannotOpenFile e) } + override int getValue() { result = count(Include i) + count(CannotOpenFileError e) } } class SucceededIncludes extends SuccessMetric { @@ -240,11 +240,11 @@ module CppMetrics { string include_text; MissingIncludeCount() { - exists(CannotOpenFile e | e.getIncludedFile() = include_text) and + exists(CannotOpenFileError e | e.getIncludedFile() = include_text) and this = "Failed to include '" + include_text + "'" } - int getValue() { result = count(CannotOpenFile e | e.getIncludedFile() = include_text) } + int getValue() { result = count(CannotOpenFileError e | e.getIncludedFile() = include_text) } string getIncludeText() { result = include_text } } diff --git a/cpp/ql/test/library-tests/extraction_errors/DatabaseQuality.expected b/cpp/ql/test/library-tests/extraction_errors/DatabaseQuality.expected index 73e5a585a439..22ad915bfb98 100644 --- a/cpp/ql/test/library-tests/extraction_errors/DatabaseQuality.expected +++ b/cpp/ql/test/library-tests/extraction_errors/DatabaseQuality.expected @@ -1,5 +1,5 @@ | Percentage of calls with a target | 50.0 | -| Percentage of compilation units without errors | 50.0 | +| Percentage of compilations without errors | 50.0 | | Percentage of expressions with a known type | 30.0 | | Percentage of functions without errors | 75.0 | | Percentage of lines of code without errors | 63.1578947368421 | diff --git a/cpp/ql/test/library-tests/extraction_errors/ExtractionMetrics.expected b/cpp/ql/test/library-tests/extraction_errors/ExtractionMetrics.expected index 5530005b7099..c6e455eaf296 100644 --- a/cpp/ql/test/library-tests/extraction_errors/ExtractionMetrics.expected +++ b/cpp/ql/test/library-tests/extraction_errors/ExtractionMetrics.expected @@ -1,8 +1,8 @@ | #include directives | 2 | | calls | 2 | | calls with a target | 1 | -| compilation units | 2 | -| compilation units without errors | 1 | +| compilations | 2 | +| compilations without errors | 1 | | compiler errors | 10 | | expressions | 10 | | expressions with a known type | 3 | From 593dcb646b596938138e2134b1656db3e65af758 Mon Sep 17 00:00:00 2001 From: Calum Grant Date: Mon, 11 Nov 2024 15:48:57 +0000 Subject: [PATCH 103/347] C++: Remove missing includes test --- .../library-tests/extraction_errors/MissingIncludes.expected | 0 .../test/library-tests/extraction_errors/MissingIncludes.qlref | 1 - 2 files changed, 1 deletion(-) delete mode 100644 cpp/ql/test/library-tests/extraction_errors/MissingIncludes.expected delete mode 100644 cpp/ql/test/library-tests/extraction_errors/MissingIncludes.qlref diff --git a/cpp/ql/test/library-tests/extraction_errors/MissingIncludes.expected b/cpp/ql/test/library-tests/extraction_errors/MissingIncludes.expected deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/cpp/ql/test/library-tests/extraction_errors/MissingIncludes.qlref b/cpp/ql/test/library-tests/extraction_errors/MissingIncludes.qlref deleted file mode 100644 index 8481a932a577..000000000000 --- a/cpp/ql/test/library-tests/extraction_errors/MissingIncludes.qlref +++ /dev/null @@ -1 +0,0 @@ -Telemetry/MissingIncludes.ql \ No newline at end of file From 2351328aa185abb3519483f29e55ee9ffc2839f7 Mon Sep 17 00:00:00 2001 From: Calum Grant Date: Mon, 11 Nov 2024 16:17:19 +0000 Subject: [PATCH 104/347] C++: Rename SourceFiles metric --- cpp/ql/src/Telemetry/Metrics.qll | 10 +++++----- .../extraction_errors/DatabaseQuality.expected | 2 +- .../extraction_errors/ExtractionMetrics.expected | 4 ++-- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/cpp/ql/src/Telemetry/Metrics.qll b/cpp/ql/src/Telemetry/Metrics.qll index 74d90426825a..41d817e4411e 100644 --- a/cpp/ql/src/Telemetry/Metrics.qll +++ b/cpp/ql/src/Telemetry/Metrics.qll @@ -76,20 +76,20 @@ module CppMetrics { override int getValue() { result = count(Compilation c) } } - class SourceFiles extends BaseMetric { - SourceFiles() { this = "source files" } + class SourceAndHeaderFiles extends BaseMetric { + SourceAndHeaderFiles() { this = "source/header files" } override int getValue() { result = count(File f | f.fromSource()) } } - class SourceFilesWithoutErrors extends SuccessMetric { - SourceFilesWithoutErrors() { this = "source files without errors" } + class SourceAndHeaderFilesWithoutErrors extends SuccessMetric { + SourceAndHeaderFilesWithoutErrors() { this = "source/header files without errors" } override int getValue() { result = count(File f | f.fromSource() and not exists(CompilerError e | f = e.getFile())) } - override SourceFiles getBaseline() { any() } + override SourceAndHeaderFiles getBaseline() { any() } } class CompilationsWithoutErrors extends SuccessMetric { diff --git a/cpp/ql/test/library-tests/extraction_errors/DatabaseQuality.expected b/cpp/ql/test/library-tests/extraction_errors/DatabaseQuality.expected index 22ad915bfb98..cd55ff434776 100644 --- a/cpp/ql/test/library-tests/extraction_errors/DatabaseQuality.expected +++ b/cpp/ql/test/library-tests/extraction_errors/DatabaseQuality.expected @@ -4,6 +4,6 @@ | Percentage of functions without errors | 75.0 | | Percentage of lines of code without errors | 63.1578947368421 | | Percentage of non-error expressions | 30.0 | -| Percentage of source files without errors | 66.66666666666667 | +| Percentage of source/header files without errors | 66.66666666666667 | | Percentage of successfully resolved #include directives | 100.0 | | Percentage of variables with a known type | 90.0 | diff --git a/cpp/ql/test/library-tests/extraction_errors/ExtractionMetrics.expected b/cpp/ql/test/library-tests/extraction_errors/ExtractionMetrics.expected index c6e455eaf296..c0e97d037dba 100644 --- a/cpp/ql/test/library-tests/extraction_errors/ExtractionMetrics.expected +++ b/cpp/ql/test/library-tests/extraction_errors/ExtractionMetrics.expected @@ -12,8 +12,8 @@ | lines of code without errors | 12 | | lines of text | 24 | | non-error expressions | 3 | -| source files | 3 | -| source files without errors | 2 | +| source/header files | 3 | +| source/header files without errors | 2 | | successfully resolved #include directives | 2 | | syntax errors | 3 | | variables | 10 | From 317f43d32528ba0337e4400f26eabc5c23ffac2d Mon Sep 17 00:00:00 2001 From: Calum Grant Date: Mon, 11 Nov 2024 16:31:36 +0000 Subject: [PATCH 105/347] C++: Don't use PrintAST in a test --- .../extraction_errors/ErrorExprs.expected | 7 ++ .../extraction_errors/ErrorExprs.ql | 4 + .../extraction_errors/PrintAst.expected | 79 ------------------- .../extraction_errors/PrintAst.qlref | 1 - 4 files changed, 11 insertions(+), 80 deletions(-) create mode 100644 cpp/ql/test/library-tests/extraction_errors/ErrorExprs.expected create mode 100644 cpp/ql/test/library-tests/extraction_errors/ErrorExprs.ql delete mode 100644 cpp/ql/test/library-tests/extraction_errors/PrintAst.expected delete mode 100644 cpp/ql/test/library-tests/extraction_errors/PrintAst.qlref diff --git a/cpp/ql/test/library-tests/extraction_errors/ErrorExprs.expected b/cpp/ql/test/library-tests/extraction_errors/ErrorExprs.expected new file mode 100644 index 000000000000..3f437a7fd26a --- /dev/null +++ b/cpp/ql/test/library-tests/extraction_errors/ErrorExprs.expected @@ -0,0 +1,7 @@ +| test.cpp:6:13:6:31 | initializer for x | test.cpp:6:13:6:31 | | +| test.cpp:7:5:7:8 | ExprStmt | file://:0:0:0:0 | | +| test.cpp:8:5:8:23 | ExprStmt | file://:0:0:0:0 | | +| test.cpp:9:5:9:21 | ExprStmt | file://:0:0:0:0 | | +| test.cpp:11:5:11:8 | ExprStmt | file://:0:0:0:0 | | +| test.cpp:15:5:15:8 | ExprStmt | file://:0:0:0:0 | | +| test.cpp:16:5:16:16 | ExprStmt | file://:0:0:0:0 | | diff --git a/cpp/ql/test/library-tests/extraction_errors/ErrorExprs.ql b/cpp/ql/test/library-tests/extraction_errors/ErrorExprs.ql new file mode 100644 index 000000000000..25c2118e0108 --- /dev/null +++ b/cpp/ql/test/library-tests/extraction_errors/ErrorExprs.ql @@ -0,0 +1,4 @@ +import cpp + +from ErrorExpr e +select e.getParent(), e diff --git a/cpp/ql/test/library-tests/extraction_errors/PrintAst.expected b/cpp/ql/test/library-tests/extraction_errors/PrintAst.expected deleted file mode 100644 index ce2b59b6a086..000000000000 --- a/cpp/ql/test/library-tests/extraction_errors/PrintAst.expected +++ /dev/null @@ -1,79 +0,0 @@ -#-----| [CopyAssignmentOperator] __va_list_tag& __va_list_tag::operator=(__va_list_tag const&) -#-----| : -#-----| getParameter(0): [Parameter] (unnamed parameter 0) -#-----| Type = [LValueReferenceType] const __va_list_tag & -#-----| [MoveAssignmentOperator] __va_list_tag& __va_list_tag::operator=(__va_list_tag&&) -#-----| : -#-----| getParameter(0): [Parameter] (unnamed parameter 0) -#-----| Type = [RValueReferenceType] __va_list_tag && -test.c: -# 3| [TopLevelFunction] void g() -# 3| : -# 3| getEntryPoint(): [BlockStmt] { ... } -# 4| getStmt(0): [DeclStmt] declaration -# 4| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x -# 4| Type = [IntType] int -# 4| getVariable().getInitializer(): [Initializer] initializer for x -# 4| getExpr(): [FunctionCall] call to no_such_function -# 4| Type = [IntType] int -# 4| ValueCategory = prvalue -# 5| getStmt(1): [ReturnStmt] return ... -# 4| [TopLevelFunction] int no_such_function() -# 4| : -test.cpp: -# 5| [TopLevelFunction] void function_with_errors() -# 5| : -# 5| getEntryPoint(): [BlockStmt] { ... } -# 6| getStmt(0): [DeclStmt] declaration -# 6| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x -# 6| Type = [ErroneousType] error -# 6| getVariable().getInitializer(): [Initializer] initializer for x -# 6| getExpr(): [ErrorExpr] -# 6| Type = [ErroneousType] error -# 6| ValueCategory = prvalue -# 7| getStmt(1): [ExprStmt] ExprStmt -#-----| getExpr(): [ErrorExpr] -#-----| Type = [ErroneousType] error -#-----| ValueCategory = prvalue -# 8| getStmt(2): [ExprStmt] ExprStmt -#-----| getExpr(): [ErrorExpr] -#-----| Type = [ErroneousType] error -#-----| ValueCategory = prvalue -# 9| getStmt(3): [ExprStmt] ExprStmt -#-----| getExpr(): [ErrorExpr] -#-----| Type = [ErroneousType] error -#-----| ValueCategory = prvalue -# 10| getStmt(4): [ExprStmt] ExprStmt -# 10| getExpr(): [FunctionCall] call to f -# 10| Type = [IntType] int -# 10| ValueCategory = prvalue -# 10| getArgument(0): [Literal] 1 -# 10| Type = [IntType] int -# 10| Value = [Literal] 1 -# 10| ValueCategory = prvalue -# 11| getStmt(5): [ExprStmt] ExprStmt -#-----| getExpr(): [ErrorExpr] -#-----| Type = [ErroneousType] error -#-----| ValueCategory = prvalue -# 12| getStmt(6): [ReturnStmt] return ... -# 14| [TopLevelFunction] error fn2() -# 14| : -# 14| getEntryPoint(): [BlockStmt] { ... } -# 15| getStmt(0): [ExprStmt] ExprStmt -#-----| getExpr(): [ErrorExpr] -#-----| Type = [ErroneousType] error -#-----| ValueCategory = prvalue -# 16| getStmt(1): [ExprStmt] ExprStmt -#-----| getExpr(): [ErrorExpr] -#-----| Type = [ErroneousType] error -#-----| ValueCategory = prvalue -# 17| getStmt(2): [ReturnStmt] return ... -test.h: -# 2| [TopLevelFunction] int f(int) -# 2| : -# 2| getParameter(0): [Parameter] (unnamed parameter 0) -# 2| Type = [IntType] int -# 2| [TopLevelFunction] int f(int) -# 2| : -# 2| getParameter(0): [Parameter] (unnamed parameter 0) -# 2| Type = [IntType] int diff --git a/cpp/ql/test/library-tests/extraction_errors/PrintAst.qlref b/cpp/ql/test/library-tests/extraction_errors/PrintAst.qlref deleted file mode 100644 index 6fcb30ac7a6e..000000000000 --- a/cpp/ql/test/library-tests/extraction_errors/PrintAst.qlref +++ /dev/null @@ -1 +0,0 @@ -semmle/code/cpp/PrintAST.ql \ No newline at end of file From 91375d3a4901f5a7fdbcf57ebb159d383f9c6f46 Mon Sep 17 00:00:00 2001 From: Owen Mansel-Chan Date: Fri, 27 Sep 2024 11:04:00 +0100 Subject: [PATCH 106/347] Update ExternalFlow.qll docs on `subtypes` column --- go/ql/lib/semmle/go/dataflow/ExternalFlow.qll | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/go/ql/lib/semmle/go/dataflow/ExternalFlow.qll b/go/ql/lib/semmle/go/dataflow/ExternalFlow.qll index d905201fd453..1dffde971510 100644 --- a/go/ql/lib/semmle/go/dataflow/ExternalFlow.qll +++ b/go/ql/lib/semmle/go/dataflow/ExternalFlow.qll @@ -25,8 +25,12 @@ * packages in the group `` according to the `packageGrouping` * predicate. * 2. The `type` column selects a type within that package. - * 3. The `subtypes` is a boolean that indicates whether to jump to an - * arbitrary subtype of that type. + * 3. The `subtypes` column is a boolean that controls what restrictions we + * place on the type `t` of the selector base when accessing a field or + * calling a method. When it is false, `t` must be the exact type specified + * by this row. When it is true, `t` may be a type which embeds the specified + * type, and for interface methods `t` may be a type which implements the + * interface. * 4. The `name` column optionally selects a specific named member of the type. * 5. The `signature` column is always empty. * 6. The `ext` column is always empty. From e46ec5a171a883ecfa4dbc47f3ea98579cd76f73 Mon Sep 17 00:00:00 2001 From: Owen Mansel-Chan Date: Mon, 11 Nov 2024 23:41:11 +0000 Subject: [PATCH 107/347] Fix MaD inheritance --- go/ql/lib/semmle/go/dataflow/ExternalFlow.qll | 25 ++- .../go/dataflow/internal/FlowSummaryImpl.qll | 146 +++++++++++++++++- .../mad_IEmbedI1_subtypes_true.ext.yml | 4 +- .../mad_IEmbedI1_subtypes_true.ql | 6 +- .../mad_IEmbedI2_subtypes_true.ext.yml | 4 +- .../mad_IEmbedI2_subtypes_true.ql | 6 +- .../mad_SEmbedI1_subtypes_true.ext.yml | 6 +- .../mad_SEmbedI1_subtypes_true.ql | 6 +- .../mad_SEmbedI2_subtypes_true.ext.yml | 4 +- .../mad_SEmbedI2_subtypes_true.ql | 6 +- .../mad_SEmbedS1_subtypes_true.ext.yml | 6 +- .../mad_SEmbedS1_subtypes_true.ql | 6 +- .../mad_SEmbedS2_subtypes_true.ext.yml | 4 +- .../mad_SEmbedS2_subtypes_true.ql | 6 +- .../mad_SImplEmbedI1_subtypes_true.ext.yml | 6 +- .../mad_SImplEmbedI1_subtypes_true.ql | 6 +- .../mad_SImplEmbedI2_subtypes_true.ext.yml | 4 +- .../mad_SImplEmbedI2_subtypes_true.ql | 6 +- .../mad_SImplEmbedS1_subtypes_true.ext.yml | 6 +- .../mad_SImplEmbedS1_subtypes_true.ql | 6 +- .../mad_SImplEmbedS2_subtypes_true.ext.yml | 4 +- .../mad_SImplEmbedS2_subtypes_true.ql | 6 +- .../mad_i1_subtypes_false.ext.yml | 4 +- .../mad_i1_subtypes_false.ql | 6 +- .../mad_i1_subtypes_true.ext.yml | 4 +- .../mad_i1_subtypes_true.ql | 6 +- .../mad_i2_subtypes_false.ext.yml | 4 +- .../mad_i2_subtypes_false.ql | 6 +- .../mad_i2_subtypes_true.ext.yml | 4 +- .../mad_i2_subtypes_true.ql | 6 +- .../mad_s1_subtypes_false.ext.yml | 6 +- .../mad_s1_subtypes_false.ql | 6 +- .../mad_s1_subtypes_true.ext.yml | 6 +- .../mad_s1_subtypes_true.ql | 6 +- .../dataflow/ExternalFlowInheritance/ql_I1.ql | 36 ++--- .../dataflow/ExternalFlowInheritance/ql_S1.ql | 46 +++--- .../dataflow/ExternalFlowInheritance/test.go | 89 ----------- .../ExternalFlowInheritance/test_fields.go | 40 +++++ .../ExternalFlowInheritance/test_methods.go | 101 ++++++++++++ .../github.com/nonexistent/test/stub.go | 41 ++++- 40 files changed, 442 insertions(+), 254 deletions(-) delete mode 100644 go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/test.go create mode 100644 go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/test_fields.go create mode 100644 go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/test_methods.go diff --git a/go/ql/lib/semmle/go/dataflow/ExternalFlow.qll b/go/ql/lib/semmle/go/dataflow/ExternalFlow.qll index 1dffde971510..68a876deaea6 100644 --- a/go/ql/lib/semmle/go/dataflow/ExternalFlow.qll +++ b/go/ql/lib/semmle/go/dataflow/ExternalFlow.qll @@ -474,17 +474,30 @@ SourceSinkInterpretationInput::SourceOrSinkElement interpretElement( elementSpec(pkg, type, subtypes, name, signature, ext) and // Go does not need to distinguish functions with signature signature = "" and - ( - exists(Field f | f.hasQualifiedName(interpretPackage(pkg), type, name) | result.asEntity() = f) + exists(string p | p = interpretPackage(pkg) | + exists(Field f | f.hasQualifiedName(p, type, name) | + result.asEntity() = f and + result.hasTypeInfo(p, type, subtypes) + ) or - exists(Method m | m.hasQualifiedName(interpretPackage(pkg), type, name) | - result.asEntity() = m + exists(Method m | m.hasQualifiedName(p, type, name) | + result.asEntity() = m and + result.hasTypeInfo(p, type, subtypes) or - subtypes = true and result.asEntity().(Method).implementsIncludingInterfaceMethods(m) + subtypes = true and + // p.type is an interface and we include types which implement it + exists(Method m2, string pkg2, string type2 | + m2.getReceiverType().implements(p, type) and + m2.getName() = name and + m2.getReceiverBaseType().hasQualifiedName(pkg2, type2) + | + result.asEntity() = m2 and + result.hasTypeInfo(pkg2, type2, subtypes) + ) ) or type = "" and - exists(Entity e | e.hasQualifiedName(interpretPackage(pkg), name) | result.asEntity() = e) + exists(Entity e | e.hasQualifiedName(p, name) | result.asEntity() = e) ) } diff --git a/go/ql/lib/semmle/go/dataflow/internal/FlowSummaryImpl.qll b/go/ql/lib/semmle/go/dataflow/internal/FlowSummaryImpl.qll index 211974f75a56..14a92748d526 100644 --- a/go/ql/lib/semmle/go/dataflow/internal/FlowSummaryImpl.qll +++ b/go/ql/lib/semmle/go/dataflow/internal/FlowSummaryImpl.qll @@ -150,20 +150,50 @@ module SourceSinkInterpretationInput implements } private newtype TSourceOrSinkElement = - TEntityElement(Entity e) or + TMethodEntityElement(Method m, string pkg, string type, boolean subtypes) { + m.hasQualifiedName(pkg, type, _) and subtypes = [true, false] + } or + TFieldEntityElement(Field f, string pkg, string type, boolean subtypes) { + f.hasQualifiedName(pkg, type, _) and subtypes = [true, false] + } or + TOtherEntityElement(Entity e) { + not e instanceof Method and + not e instanceof Field + } or TAstElement(AstNode n) /** An element representable by CSV modeling. */ class SourceOrSinkElement extends TSourceOrSinkElement { /** Gets this source or sink element as an entity, if it is one. */ - Entity asEntity() { this = TEntityElement(result) } + Entity asEntity() { + this = TMethodEntityElement(result, _, _, _) or + this = TFieldEntityElement(result, _, _, _) or + this = TOtherEntityElement(result) + } /** Gets this source or sink element as an AST node, if it is one. */ AstNode asAstNode() { this = TAstElement(result) } + /** + * Holds if this source or sink element is a method that was specified + * with the given values for `pkg`, `type` and `subtypes`. + */ + predicate hasTypeInfo(string pkg, string type, boolean subtypes) { + this = TMethodEntityElement(_, pkg, type, subtypes) or + this = TFieldEntityElement(_, pkg, type, subtypes) + } + /** Gets a textual representation of this source or sink element. */ string toString() { + not this.hasTypeInfo(_, _, _) and result = "element representing " + [this.asEntity().toString(), this.asAstNode().toString()] + or + exists(string pkg, string name, boolean subtypes | + this.hasTypeInfo(pkg, name, subtypes) and + result = + "element representing " + this.asEntity().toString() + " with receiver type " + pkg + "." + + name + " and subtypes=" + subtypes + ) } /** Gets the location of this element. */ @@ -203,7 +233,17 @@ module SourceSinkInterpretationInput implements /** Gets the target of this call, if any. */ SourceOrSinkElement getCallTarget() { - result.asEntity() = this.asCall().getNode().(DataFlow::CallNode).getTarget() + exists(DataFlow::CallNode cn, Function callTarget | + cn = this.asCall().getNode() and + callTarget = cn.getTarget() + | + result.asEntity() = callTarget and + ( + not callTarget instanceof Method + or + ensureCorrectTypeInfo(result, cn.getReceiver()) + ) + ) } /** Gets a textual representation of this node. */ @@ -228,6 +268,90 @@ module SourceSinkInterpretationInput implements } } + private predicate ensureCorrectTypeInfo(SourceOrSinkElement sse, DataFlow::Node recv) { + ( + exists(DataFlow::CallNode cn | cn.getReceiver() = recv and cn.getTarget() = sse.asEntity()) + or + exists(DataFlow::FieldReadNode frn | frn.getBase() = recv and frn.getField() = sse.asEntity()) + or + exists(DataFlow::Write fw | fw.writesField(recv, sse.asEntity(), _)) + ) and + exists(string pkg, string typename, boolean subtypes, Type syntacticRecvBaseType | + sse.hasTypeInfo(pkg, typename, subtypes) and + syntacticRecvBaseType = lookThroughPointerType(getSyntacticRecv(recv).getType()) + | + subtypes = [true, false] and + syntacticRecvBaseType.hasQualifiedName(pkg, typename) + or + subtypes = true and + ( + // `syntacticRecvBaseType`'s underlying type might be an interface type and `sse` + // might be a method defined on an interface which is a subtype of it. + exists(Type t | + t = syntacticRecvBaseType.getUnderlyingType().(InterfaceType).getAnEmbeddedInterface() and + t.hasQualifiedName(pkg, typename) and + sse.asEntity().(Method).hasQualifiedName(pkg, typename, _) + ) + or + // `syntacticRecvBaseType`'s underlying type might be a struct type and `sse` + // might be a promoted method or field. + exists(StructType st, Field field1, Field field2, int depth1, int depth2, Type t1, Type t2 | + st = syntacticRecvBaseType.getUnderlyingType() and + field1 = st.getFieldAtDepth(_, depth1) and + field2 = st.getFieldAtDepth(_, depth2) and + t1 = lookThroughPointerType(field1.getType()) and + t2 = lookThroughPointerType(field2.getType()) and + ( + field1 = field2 + or + field2 = t1.getUnderlyingType().(StructType).getFieldAtDepth(_, depth2 - depth1 - 1) + ) and + matchTypeInfo(sse, t1) + | + sse.asEntity().(Method).getReceiverBaseType() = t2 + or + sse.asEntity().(Field).getDeclaringType() = t2.getUnderlyingType() + ) + ) + ) + } + + private DataFlow::Node getSyntacticRecv(DataFlow::Node n) { + exists(DataFlow::Node n2 | + // look through implicit dereference, if there is one + not exists(n.asInstruction().(IR::EvalImplicitDerefInstruction).getOperand()) and + n2 = n + or + n2.asExpr() = n.asInstruction().(IR::EvalImplicitDerefInstruction).getOperand() + | + result = skipImplicitFieldReads(n2) + ) + } + + private DataFlow::Node skipImplicitFieldReads(DataFlow::Node n) { + not exists(getImplicitFieldReadInstruction(n)) and result = n + or + result = skipImplicitFieldReads(getImplicitFieldReadInstruction(n)) + } + + pragma[inline] + private DataFlow::Node getImplicitFieldReadInstruction(DataFlow::Node n) { + result.asInstruction() = + n.(DataFlow::InstructionNode) + .asInstruction() + .(IR::ImplicitFieldReadInstruction) + .getBaseInstruction() + } + + bindingset[sse, t] + pragma[inline_late] + private predicate matchTypeInfo(SourceOrSinkElement sse, Type t) { + exists(string pkg, string typename | + sse.hasTypeInfo(pkg, typename, true) and + t.hasQualifiedName(pkg, typename) + ) + } + /** Provides additional sink specification logic. */ bindingset[c] predicate interpretOutput(string c, InterpretNode mid, InterpretNode node) { @@ -244,8 +368,11 @@ module SourceSinkInterpretationInput implements (c = "Parameter" or c = "") and node.asNode().asParameter() = e.asEntity() or - c = "" and - n.(DataFlow::FieldReadNode).getField() = e.asEntity() + exists(DataFlow::FieldReadNode frn | frn = n | + c = "" and + frn.getField() = e.asEntity() and + ensureCorrectTypeInfo(e, frn.getBase()) + ) ) } @@ -259,10 +386,13 @@ module SourceSinkInterpretationInput implements mid.asCallable() = getNodeEnclosingCallable(ret) ) or - exists(DataFlow::Write fw, Field f | + exists(SourceOrSinkElement e, DataFlow::Write fw, DataFlow::Node base, Field f | + e = mid.asElement() and + f = e.asEntity() + | c = "" and - f = mid.asElement().asEntity() and - fw.writesField(_, f, node.asNode()) + fw.writesField(base, f, node.asNode()) and + ensureCorrectTypeInfo(e, base) ) } } diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_IEmbedI1_subtypes_true.ext.yml b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_IEmbedI1_subtypes_true.ext.yml index 7d2e45d89f31..faf2e6ba6063 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_IEmbedI1_subtypes_true.ext.yml +++ b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_IEmbedI1_subtypes_true.ext.yml @@ -3,7 +3,7 @@ extensions: pack: codeql/go-all extensible: sourceModel data: - - ["github.com/nonexistent/test", "IEmbedI1", True, "Source", "", "", "ReturnValue", "remote", "manual"] + - ["github.com/nonexistent/test", "IEmbedI1", True, "Source", "", "", "ReturnValue", "qltest", "manual"] - addsTo: pack: codeql/go-all extensible: summaryModel @@ -13,4 +13,4 @@ extensions: pack: codeql/go-all extensible: sinkModel data: - - ["github.com/nonexistent/test", "IEmbedI1", True, "Sink", "", "", "Argument[0]", "path-injection", "manual"] + - ["github.com/nonexistent/test", "IEmbedI1", True, "Sink", "", "", "Argument[0]", "qltest", "manual"] diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_IEmbedI1_subtypes_true.ql b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_IEmbedI1_subtypes_true.ql index 7af5b7795b9f..e4d35a2d1830 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_IEmbedI1_subtypes_true.ql +++ b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_IEmbedI1_subtypes_true.ql @@ -1,14 +1,12 @@ import go -import semmle.go.dataflow.ExternalFlow import ModelValidation -import semmle.go.dataflow.internal.FlowSummaryImpl as FlowSummaryImpl import TestUtilities.InlineExpectationsTest import MakeTest module Config implements DataFlow::ConfigSig { - predicate isSource(DataFlow::Node source) { source instanceof RemoteFlowSource } + predicate isSource(DataFlow::Node source) { sourceNode(source, "qltest") } - predicate isSink(DataFlow::Node sink) { sink = any(FileSystemAccess fsa).getAPathArgument() } + predicate isSink(DataFlow::Node sink) { sinkNode(sink, "qltest") } } module Flow = TaintTracking::Global; diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_IEmbedI2_subtypes_true.ext.yml b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_IEmbedI2_subtypes_true.ext.yml index b723867e3e79..066e1846fbf6 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_IEmbedI2_subtypes_true.ext.yml +++ b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_IEmbedI2_subtypes_true.ext.yml @@ -3,7 +3,7 @@ extensions: pack: codeql/go-all extensible: sourceModel data: - - ["github.com/nonexistent/test", "IEmbedI2", True, "Source", "", "", "ReturnValue", "remote", "manual"] + - ["github.com/nonexistent/test", "IEmbedI2", True, "Source", "", "", "ReturnValue", "qltest", "manual"] - addsTo: pack: codeql/go-all extensible: summaryModel @@ -13,4 +13,4 @@ extensions: pack: codeql/go-all extensible: sinkModel data: - - ["github.com/nonexistent/test", "IEmbedI2", True, "Sink", "", "", "Argument[0]", "path-injection", "manual"] + - ["github.com/nonexistent/test", "IEmbedI2", True, "Sink", "", "", "Argument[0]", "qltest", "manual"] diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_IEmbedI2_subtypes_true.ql b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_IEmbedI2_subtypes_true.ql index 388370ba6b8c..18e461357890 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_IEmbedI2_subtypes_true.ql +++ b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_IEmbedI2_subtypes_true.ql @@ -1,14 +1,12 @@ import go -import semmle.go.dataflow.ExternalFlow import ModelValidation -import semmle.go.dataflow.internal.FlowSummaryImpl as FlowSummaryImpl import TestUtilities.InlineExpectationsTest import MakeTest module Config implements DataFlow::ConfigSig { - predicate isSource(DataFlow::Node source) { source instanceof RemoteFlowSource } + predicate isSource(DataFlow::Node source) { sourceNode(source, "qltest") } - predicate isSink(DataFlow::Node sink) { sink = any(FileSystemAccess fsa).getAPathArgument() } + predicate isSink(DataFlow::Node sink) { sinkNode(sink, "qltest") } } module Flow = TaintTracking::Global; diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SEmbedI1_subtypes_true.ext.yml b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SEmbedI1_subtypes_true.ext.yml index 93f8f74dfb5b..a210d4213261 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SEmbedI1_subtypes_true.ext.yml +++ b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SEmbedI1_subtypes_true.ext.yml @@ -3,7 +3,8 @@ extensions: pack: codeql/go-all extensible: sourceModel data: - - ["github.com/nonexistent/test", "SEmbedI1", True, "Source", "", "", "ReturnValue", "remote", "manual"] + - ["github.com/nonexistent/test", "SEmbedI1", True, "Source", "", "", "ReturnValue", "qltest", "manual"] + - ["github.com/nonexistent/test", "SEmbedI1", True, "SourceField", "", "", "", "qltest", "manual"] - addsTo: pack: codeql/go-all extensible: summaryModel @@ -13,4 +14,5 @@ extensions: pack: codeql/go-all extensible: sinkModel data: - - ["github.com/nonexistent/test", "SEmbedI1", True, "Sink", "", "", "Argument[0]", "path-injection", "manual"] + - ["github.com/nonexistent/test", "SEmbedI1", True, "Sink", "", "", "Argument[0]", "qltest", "manual"] + - ["github.com/nonexistent/test", "SEmbedI1", True, "SinkField", "", "", "", "qltest", "manual"] diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SEmbedI1_subtypes_true.ql b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SEmbedI1_subtypes_true.ql index d56f8ae0f0f9..f401e958315d 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SEmbedI1_subtypes_true.ql +++ b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SEmbedI1_subtypes_true.ql @@ -1,14 +1,12 @@ import go -import semmle.go.dataflow.ExternalFlow import ModelValidation -import semmle.go.dataflow.internal.FlowSummaryImpl as FlowSummaryImpl import TestUtilities.InlineExpectationsTest import MakeTest module Config implements DataFlow::ConfigSig { - predicate isSource(DataFlow::Node source) { source instanceof RemoteFlowSource } + predicate isSource(DataFlow::Node source) { sourceNode(source, "qltest") } - predicate isSink(DataFlow::Node sink) { sink = any(FileSystemAccess fsa).getAPathArgument() } + predicate isSink(DataFlow::Node sink) { sinkNode(sink, "qltest") } } module Flow = TaintTracking::Global; diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SEmbedI2_subtypes_true.ext.yml b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SEmbedI2_subtypes_true.ext.yml index ba94082e7e31..f1378ba6fa23 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SEmbedI2_subtypes_true.ext.yml +++ b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SEmbedI2_subtypes_true.ext.yml @@ -3,7 +3,7 @@ extensions: pack: codeql/go-all extensible: sourceModel data: - - ["github.com/nonexistent/test", "SEmbedI2", True, "Source", "", "", "ReturnValue", "remote", "manual"] + - ["github.com/nonexistent/test", "SEmbedI2", True, "Source", "", "", "ReturnValue", "qltest", "manual"] - addsTo: pack: codeql/go-all extensible: summaryModel @@ -13,4 +13,4 @@ extensions: pack: codeql/go-all extensible: sinkModel data: - - ["github.com/nonexistent/test", "SEmbedI2", True, "Sink", "", "", "Argument[0]", "path-injection", "manual"] + - ["github.com/nonexistent/test", "SEmbedI2", True, "Sink", "", "", "Argument[0]", "qltest", "manual"] diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SEmbedI2_subtypes_true.ql b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SEmbedI2_subtypes_true.ql index dd46393546fc..0d7169c93cf7 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SEmbedI2_subtypes_true.ql +++ b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SEmbedI2_subtypes_true.ql @@ -1,14 +1,12 @@ import go -import semmle.go.dataflow.ExternalFlow import ModelValidation -import semmle.go.dataflow.internal.FlowSummaryImpl as FlowSummaryImpl import TestUtilities.InlineExpectationsTest import MakeTest module Config implements DataFlow::ConfigSig { - predicate isSource(DataFlow::Node source) { source instanceof RemoteFlowSource } + predicate isSource(DataFlow::Node source) { sourceNode(source, "qltest") } - predicate isSink(DataFlow::Node sink) { sink = any(FileSystemAccess fsa).getAPathArgument() } + predicate isSink(DataFlow::Node sink) { sinkNode(sink, "qltest") } } module Flow = TaintTracking::Global; diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SEmbedS1_subtypes_true.ext.yml b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SEmbedS1_subtypes_true.ext.yml index 89218840c0bf..35baccbe09f6 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SEmbedS1_subtypes_true.ext.yml +++ b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SEmbedS1_subtypes_true.ext.yml @@ -3,7 +3,8 @@ extensions: pack: codeql/go-all extensible: sourceModel data: - - ["github.com/nonexistent/test", "SEmbedS1", True, "Source", "", "", "ReturnValue", "remote", "manual"] + - ["github.com/nonexistent/test", "SEmbedS1", True, "Source", "", "", "ReturnValue", "qltest", "manual"] + - ["github.com/nonexistent/test", "SEmbedS1", True, "SourceField", "", "", "", "qltest", "manual"] - addsTo: pack: codeql/go-all extensible: summaryModel @@ -13,4 +14,5 @@ extensions: pack: codeql/go-all extensible: sinkModel data: - - ["github.com/nonexistent/test", "SEmbedS1", True, "Sink", "", "", "Argument[0]", "path-injection", "manual"] + - ["github.com/nonexistent/test", "SEmbedS1", True, "Sink", "", "", "Argument[0]", "qltest", "manual"] + - ["github.com/nonexistent/test", "SEmbedS1", True, "SinkField", "", "", "", "qltest", "manual"] diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SEmbedS1_subtypes_true.ql b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SEmbedS1_subtypes_true.ql index 0789ada5c51f..f58fd32770a9 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SEmbedS1_subtypes_true.ql +++ b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SEmbedS1_subtypes_true.ql @@ -1,14 +1,12 @@ import go -import semmle.go.dataflow.ExternalFlow import ModelValidation -import semmle.go.dataflow.internal.FlowSummaryImpl as FlowSummaryImpl import TestUtilities.InlineExpectationsTest import MakeTest module Config implements DataFlow::ConfigSig { - predicate isSource(DataFlow::Node source) { source instanceof RemoteFlowSource } + predicate isSource(DataFlow::Node source) { sourceNode(source, "qltest") } - predicate isSink(DataFlow::Node sink) { sink = any(FileSystemAccess fsa).getAPathArgument() } + predicate isSink(DataFlow::Node sink) { sinkNode(sink, "qltest") } } module Flow = TaintTracking::Global; diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SEmbedS2_subtypes_true.ext.yml b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SEmbedS2_subtypes_true.ext.yml index e773cf215b40..4772c9de698e 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SEmbedS2_subtypes_true.ext.yml +++ b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SEmbedS2_subtypes_true.ext.yml @@ -3,7 +3,7 @@ extensions: pack: codeql/go-all extensible: sourceModel data: - - ["github.com/nonexistent/test", "SEmbedS2", True, "Source", "", "", "ReturnValue", "remote", "manual"] + - ["github.com/nonexistent/test", "SEmbedS2", True, "Source", "", "", "ReturnValue", "qltest", "manual"] - addsTo: pack: codeql/go-all extensible: summaryModel @@ -13,4 +13,4 @@ extensions: pack: codeql/go-all extensible: sinkModel data: - - ["github.com/nonexistent/test", "SEmbedS2", True, "Sink", "", "", "Argument[0]", "path-injection", "manual"] + - ["github.com/nonexistent/test", "SEmbedS2", True, "Sink", "", "", "Argument[0]", "qltest", "manual"] diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SEmbedS2_subtypes_true.ql b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SEmbedS2_subtypes_true.ql index 76d0b6fcd1a1..db9d98e06d28 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SEmbedS2_subtypes_true.ql +++ b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SEmbedS2_subtypes_true.ql @@ -1,14 +1,12 @@ import go -import semmle.go.dataflow.ExternalFlow import ModelValidation -import semmle.go.dataflow.internal.FlowSummaryImpl as FlowSummaryImpl import TestUtilities.InlineExpectationsTest import MakeTest module Config implements DataFlow::ConfigSig { - predicate isSource(DataFlow::Node source) { source instanceof RemoteFlowSource } + predicate isSource(DataFlow::Node source) { sourceNode(source, "qltest") } - predicate isSink(DataFlow::Node sink) { sink = any(FileSystemAccess fsa).getAPathArgument() } + predicate isSink(DataFlow::Node sink) { sinkNode(sink, "qltest") } } module Flow = TaintTracking::Global; diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SImplEmbedI1_subtypes_true.ext.yml b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SImplEmbedI1_subtypes_true.ext.yml index 4b572ad124cc..f75fc2f7652f 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SImplEmbedI1_subtypes_true.ext.yml +++ b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SImplEmbedI1_subtypes_true.ext.yml @@ -3,7 +3,8 @@ extensions: pack: codeql/go-all extensible: sourceModel data: - - ["github.com/nonexistent/test", "SImplEmbedI1", True, "Source", "", "", "ReturnValue", "remote", "manual"] + - ["github.com/nonexistent/test", "SImplEmbedI1", True, "Source", "", "", "ReturnValue", "qltest", "manual"] + - ["github.com/nonexistent/test", "SImplEmbedI1", True, "SourceField", "", "", "", "qltest", "manual"] - addsTo: pack: codeql/go-all extensible: summaryModel @@ -13,4 +14,5 @@ extensions: pack: codeql/go-all extensible: sinkModel data: - - ["github.com/nonexistent/test", "SImplEmbedI1", True, "Sink", "", "", "Argument[0]", "path-injection", "manual"] + - ["github.com/nonexistent/test", "SImplEmbedI1", True, "Sink", "", "", "Argument[0]", "qltest", "manual"] + - ["github.com/nonexistent/test", "SImplEmbedI1", True, "SinkField", "", "", "", "qltest", "manual"] diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SImplEmbedI1_subtypes_true.ql b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SImplEmbedI1_subtypes_true.ql index 4fb7909d7610..c4e8afd1fbf4 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SImplEmbedI1_subtypes_true.ql +++ b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SImplEmbedI1_subtypes_true.ql @@ -1,14 +1,12 @@ import go -import semmle.go.dataflow.ExternalFlow import ModelValidation -import semmle.go.dataflow.internal.FlowSummaryImpl as FlowSummaryImpl import TestUtilities.InlineExpectationsTest import MakeTest module Config implements DataFlow::ConfigSig { - predicate isSource(DataFlow::Node source) { source instanceof RemoteFlowSource } + predicate isSource(DataFlow::Node source) { sourceNode(source, "qltest") } - predicate isSink(DataFlow::Node sink) { sink = any(FileSystemAccess fsa).getAPathArgument() } + predicate isSink(DataFlow::Node sink) { sinkNode(sink, "qltest") } } module Flow = TaintTracking::Global; diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SImplEmbedI2_subtypes_true.ext.yml b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SImplEmbedI2_subtypes_true.ext.yml index 9d695502c29a..65cba7782506 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SImplEmbedI2_subtypes_true.ext.yml +++ b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SImplEmbedI2_subtypes_true.ext.yml @@ -3,7 +3,7 @@ extensions: pack: codeql/go-all extensible: sourceModel data: - - ["github.com/nonexistent/test", "SImplEmbedI2", True, "Source", "", "", "ReturnValue", "remote", "manual"] + - ["github.com/nonexistent/test", "SImplEmbedI2", True, "Source", "", "", "ReturnValue", "qltest", "manual"] - addsTo: pack: codeql/go-all extensible: summaryModel @@ -13,4 +13,4 @@ extensions: pack: codeql/go-all extensible: sinkModel data: - - ["github.com/nonexistent/test", "SImplEmbedI2", True, "Sink", "", "", "Argument[0]", "path-injection", "manual"] + - ["github.com/nonexistent/test", "SImplEmbedI2", True, "Sink", "", "", "Argument[0]", "qltest", "manual"] diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SImplEmbedI2_subtypes_true.ql b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SImplEmbedI2_subtypes_true.ql index f5dba02a1528..b8ebb68ecdb8 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SImplEmbedI2_subtypes_true.ql +++ b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SImplEmbedI2_subtypes_true.ql @@ -1,14 +1,12 @@ import go -import semmle.go.dataflow.ExternalFlow import ModelValidation -import semmle.go.dataflow.internal.FlowSummaryImpl as FlowSummaryImpl import TestUtilities.InlineExpectationsTest import MakeTest module Config implements DataFlow::ConfigSig { - predicate isSource(DataFlow::Node source) { source instanceof RemoteFlowSource } + predicate isSource(DataFlow::Node source) { sourceNode(source, "qltest") } - predicate isSink(DataFlow::Node sink) { sink = any(FileSystemAccess fsa).getAPathArgument() } + predicate isSink(DataFlow::Node sink) { sinkNode(sink, "qltest") } } module Flow = TaintTracking::Global; diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SImplEmbedS1_subtypes_true.ext.yml b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SImplEmbedS1_subtypes_true.ext.yml index 0936a7d253b2..30d240d4a2e4 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SImplEmbedS1_subtypes_true.ext.yml +++ b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SImplEmbedS1_subtypes_true.ext.yml @@ -3,7 +3,8 @@ extensions: pack: codeql/go-all extensible: sourceModel data: - - ["github.com/nonexistent/test", "SImplEmbedS1", True, "Source", "", "", "ReturnValue", "remote", "manual"] + - ["github.com/nonexistent/test", "SImplEmbedS1", True, "Source", "", "", "ReturnValue", "qltest", "manual"] + - ["github.com/nonexistent/test", "SImplEmbedS1", True, "SourceField", "", "", "", "qltest", "manual"] - addsTo: pack: codeql/go-all extensible: summaryModel @@ -13,4 +14,5 @@ extensions: pack: codeql/go-all extensible: sinkModel data: - - ["github.com/nonexistent/test", "SImplEmbedS1", True, "Sink", "", "", "Argument[0]", "path-injection", "manual"] + - ["github.com/nonexistent/test", "SImplEmbedS1", True, "Sink", "", "", "Argument[0]", "qltest", "manual"] + - ["github.com/nonexistent/test", "SImplEmbedS1", True, "SinkField", "", "", "", "qltest", "manual"] diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SImplEmbedS1_subtypes_true.ql b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SImplEmbedS1_subtypes_true.ql index e08c787aa10a..10e9fb96d4c8 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SImplEmbedS1_subtypes_true.ql +++ b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SImplEmbedS1_subtypes_true.ql @@ -1,14 +1,12 @@ import go -import semmle.go.dataflow.ExternalFlow import ModelValidation -import semmle.go.dataflow.internal.FlowSummaryImpl as FlowSummaryImpl import TestUtilities.InlineExpectationsTest import MakeTest module Config implements DataFlow::ConfigSig { - predicate isSource(DataFlow::Node source) { source instanceof RemoteFlowSource } + predicate isSource(DataFlow::Node source) { sourceNode(source, "qltest") } - predicate isSink(DataFlow::Node sink) { sink = any(FileSystemAccess fsa).getAPathArgument() } + predicate isSink(DataFlow::Node sink) { sinkNode(sink, "qltest") } } module Flow = TaintTracking::Global; diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SImplEmbedS2_subtypes_true.ext.yml b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SImplEmbedS2_subtypes_true.ext.yml index 04bc012e7f41..6873efc4258a 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SImplEmbedS2_subtypes_true.ext.yml +++ b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SImplEmbedS2_subtypes_true.ext.yml @@ -3,7 +3,7 @@ extensions: pack: codeql/go-all extensible: sourceModel data: - - ["github.com/nonexistent/test", "SImplEmbedS2", True, "Source", "", "", "ReturnValue", "remote", "manual"] + - ["github.com/nonexistent/test", "SImplEmbedS2", True, "Source", "", "", "ReturnValue", "qltest", "manual"] - addsTo: pack: codeql/go-all extensible: summaryModel @@ -13,4 +13,4 @@ extensions: pack: codeql/go-all extensible: sinkModel data: - - ["github.com/nonexistent/test", "SImplEmbedS2", True, "Sink", "", "", "Argument[0]", "path-injection", "manual"] + - ["github.com/nonexistent/test", "SImplEmbedS2", True, "Sink", "", "", "Argument[0]", "qltest", "manual"] diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SImplEmbedS2_subtypes_true.ql b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SImplEmbedS2_subtypes_true.ql index 4c2d832620cb..403b6238b4f3 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SImplEmbedS2_subtypes_true.ql +++ b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SImplEmbedS2_subtypes_true.ql @@ -1,14 +1,12 @@ import go -import semmle.go.dataflow.ExternalFlow import ModelValidation -import semmle.go.dataflow.internal.FlowSummaryImpl as FlowSummaryImpl import TestUtilities.InlineExpectationsTest import MakeTest module Config implements DataFlow::ConfigSig { - predicate isSource(DataFlow::Node source) { source instanceof RemoteFlowSource } + predicate isSource(DataFlow::Node source) { sourceNode(source, "qltest") } - predicate isSink(DataFlow::Node sink) { sink = any(FileSystemAccess fsa).getAPathArgument() } + predicate isSink(DataFlow::Node sink) { sinkNode(sink, "qltest") } } module Flow = TaintTracking::Global; diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_i1_subtypes_false.ext.yml b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_i1_subtypes_false.ext.yml index 11067b1760da..a50fb9449a35 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_i1_subtypes_false.ext.yml +++ b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_i1_subtypes_false.ext.yml @@ -3,7 +3,7 @@ extensions: pack: codeql/go-all extensible: sourceModel data: - - ["github.com/nonexistent/test", "I1", False, "Source", "", "", "ReturnValue", "remote", "manual"] + - ["github.com/nonexistent/test", "I1", False, "Source", "", "", "ReturnValue", "qltest", "manual"] - addsTo: pack: codeql/go-all extensible: summaryModel @@ -13,4 +13,4 @@ extensions: pack: codeql/go-all extensible: sinkModel data: - - ["github.com/nonexistent/test", "I1", False, "Sink", "", "", "Argument[0]", "path-injection", "manual"] + - ["github.com/nonexistent/test", "I1", False, "Sink", "", "", "Argument[0]", "qltest", "manual"] diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_i1_subtypes_false.ql b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_i1_subtypes_false.ql index 82d63025f226..3915c20b92bc 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_i1_subtypes_false.ql +++ b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_i1_subtypes_false.ql @@ -1,14 +1,12 @@ import go -import semmle.go.dataflow.ExternalFlow import ModelValidation -import semmle.go.dataflow.internal.FlowSummaryImpl as FlowSummaryImpl import TestUtilities.InlineExpectationsTest import MakeTest module Config implements DataFlow::ConfigSig { - predicate isSource(DataFlow::Node source) { source instanceof RemoteFlowSource } + predicate isSource(DataFlow::Node source) { sourceNode(source, "qltest") } - predicate isSink(DataFlow::Node sink) { sink = any(FileSystemAccess fsa).getAPathArgument() } + predicate isSink(DataFlow::Node sink) { sinkNode(sink, "qltest") } } module Flow = TaintTracking::Global; diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_i1_subtypes_true.ext.yml b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_i1_subtypes_true.ext.yml index 48c3a4daca8c..4b59e9a255f2 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_i1_subtypes_true.ext.yml +++ b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_i1_subtypes_true.ext.yml @@ -3,7 +3,7 @@ extensions: pack: codeql/go-all extensible: sourceModel data: - - ["github.com/nonexistent/test", "I1", True, "Source", "", "", "ReturnValue", "remote", "manual"] + - ["github.com/nonexistent/test", "I1", True, "Source", "", "", "ReturnValue", "qltest", "manual"] - addsTo: pack: codeql/go-all extensible: summaryModel @@ -13,4 +13,4 @@ extensions: pack: codeql/go-all extensible: sinkModel data: - - ["github.com/nonexistent/test", "I1", True, "Sink", "", "", "Argument[0]", "path-injection", "manual"] + - ["github.com/nonexistent/test", "I1", True, "Sink", "", "", "Argument[0]", "qltest", "manual"] diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_i1_subtypes_true.ql b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_i1_subtypes_true.ql index 85a18e65096e..2db01e3a76f5 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_i1_subtypes_true.ql +++ b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_i1_subtypes_true.ql @@ -1,14 +1,12 @@ import go -import semmle.go.dataflow.ExternalFlow import ModelValidation -import semmle.go.dataflow.internal.FlowSummaryImpl as FlowSummaryImpl import TestUtilities.InlineExpectationsTest import MakeTest module Config implements DataFlow::ConfigSig { - predicate isSource(DataFlow::Node source) { source instanceof RemoteFlowSource } + predicate isSource(DataFlow::Node source) { sourceNode(source, "qltest") } - predicate isSink(DataFlow::Node sink) { sink = any(FileSystemAccess fsa).getAPathArgument() } + predicate isSink(DataFlow::Node sink) { sinkNode(sink, "qltest") } } module Flow = TaintTracking::Global; diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_i2_subtypes_false.ext.yml b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_i2_subtypes_false.ext.yml index 8b01fd001766..660eb326eaaf 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_i2_subtypes_false.ext.yml +++ b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_i2_subtypes_false.ext.yml @@ -3,7 +3,7 @@ extensions: pack: codeql/go-all extensible: sourceModel data: - - ["github.com/nonexistent/test", "I2", False, "Source", "", "", "ReturnValue", "remote", "manual"] + - ["github.com/nonexistent/test", "I2", False, "Source", "", "", "ReturnValue", "qltest", "manual"] - addsTo: pack: codeql/go-all extensible: summaryModel @@ -13,4 +13,4 @@ extensions: pack: codeql/go-all extensible: sinkModel data: - - ["github.com/nonexistent/test", "I2", False, "Sink", "", "", "Argument[0]", "path-injection", "manual"] + - ["github.com/nonexistent/test", "I2", False, "Sink", "", "", "Argument[0]", "qltest", "manual"] diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_i2_subtypes_false.ql b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_i2_subtypes_false.ql index f8dafe8b4f71..9cff9e92009f 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_i2_subtypes_false.ql +++ b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_i2_subtypes_false.ql @@ -1,14 +1,12 @@ import go -import semmle.go.dataflow.ExternalFlow import ModelValidation -import semmle.go.dataflow.internal.FlowSummaryImpl as FlowSummaryImpl import TestUtilities.InlineExpectationsTest import MakeTest module Config implements DataFlow::ConfigSig { - predicate isSource(DataFlow::Node source) { source instanceof RemoteFlowSource } + predicate isSource(DataFlow::Node source) { sourceNode(source, "qltest") } - predicate isSink(DataFlow::Node sink) { sink = any(FileSystemAccess fsa).getAPathArgument() } + predicate isSink(DataFlow::Node sink) { sinkNode(sink, "qltest") } } module Flow = TaintTracking::Global; diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_i2_subtypes_true.ext.yml b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_i2_subtypes_true.ext.yml index d9fbc304b518..8d2c2ff522ff 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_i2_subtypes_true.ext.yml +++ b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_i2_subtypes_true.ext.yml @@ -3,7 +3,7 @@ extensions: pack: codeql/go-all extensible: sourceModel data: - - ["github.com/nonexistent/test", "I2", True, "Source", "", "", "ReturnValue", "remote", "manual"] + - ["github.com/nonexistent/test", "I2", True, "Source", "", "", "ReturnValue", "qltest", "manual"] - addsTo: pack: codeql/go-all extensible: summaryModel @@ -13,4 +13,4 @@ extensions: pack: codeql/go-all extensible: sinkModel data: - - ["github.com/nonexistent/test", "I2", True, "Sink", "", "", "Argument[0]", "path-injection", "manual"] + - ["github.com/nonexistent/test", "I2", True, "Sink", "", "", "Argument[0]", "qltest", "manual"] diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_i2_subtypes_true.ql b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_i2_subtypes_true.ql index 140591813924..79220e979c08 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_i2_subtypes_true.ql +++ b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_i2_subtypes_true.ql @@ -1,14 +1,12 @@ import go -import semmle.go.dataflow.ExternalFlow import ModelValidation -import semmle.go.dataflow.internal.FlowSummaryImpl as FlowSummaryImpl import TestUtilities.InlineExpectationsTest import MakeTest module Config implements DataFlow::ConfigSig { - predicate isSource(DataFlow::Node source) { source instanceof RemoteFlowSource } + predicate isSource(DataFlow::Node source) { sourceNode(source, "qltest") } - predicate isSink(DataFlow::Node sink) { sink = any(FileSystemAccess fsa).getAPathArgument() } + predicate isSink(DataFlow::Node sink) { sinkNode(sink, "qltest") } } module Flow = TaintTracking::Global; diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_s1_subtypes_false.ext.yml b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_s1_subtypes_false.ext.yml index b0322a6ecd30..804a920b3242 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_s1_subtypes_false.ext.yml +++ b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_s1_subtypes_false.ext.yml @@ -3,7 +3,8 @@ extensions: pack: codeql/go-all extensible: sourceModel data: - - ["github.com/nonexistent/test", "S1", False, "Source", "", "", "ReturnValue", "remote", "manual"] + - ["github.com/nonexistent/test", "S1", False, "Source", "", "", "ReturnValue", "qltest", "manual"] + - ["github.com/nonexistent/test", "S1", False, "SourceField", "", "", "", "qltest", "manual"] - addsTo: pack: codeql/go-all extensible: summaryModel @@ -13,4 +14,5 @@ extensions: pack: codeql/go-all extensible: sinkModel data: - - ["github.com/nonexistent/test", "S1", False, "Sink", "", "", "Argument[0]", "path-injection", "manual"] + - ["github.com/nonexistent/test", "S1", False, "Sink", "", "", "Argument[0]", "qltest", "manual"] + - ["github.com/nonexistent/test", "S1", False, "SinkField", "", "", "", "qltest", "manual"] diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_s1_subtypes_false.ql b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_s1_subtypes_false.ql index 72cea1afe969..c5754d1ded77 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_s1_subtypes_false.ql +++ b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_s1_subtypes_false.ql @@ -1,14 +1,12 @@ import go -import semmle.go.dataflow.ExternalFlow import ModelValidation -import semmle.go.dataflow.internal.FlowSummaryImpl as FlowSummaryImpl import TestUtilities.InlineExpectationsTest import MakeTest module Config implements DataFlow::ConfigSig { - predicate isSource(DataFlow::Node source) { source instanceof RemoteFlowSource } + predicate isSource(DataFlow::Node source) { sourceNode(source, "qltest") } - predicate isSink(DataFlow::Node sink) { sink = any(FileSystemAccess fsa).getAPathArgument() } + predicate isSink(DataFlow::Node sink) { sinkNode(sink, "qltest") } } module Flow = TaintTracking::Global; diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_s1_subtypes_true.ext.yml b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_s1_subtypes_true.ext.yml index 3adf2d35ca48..14f2914b9421 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_s1_subtypes_true.ext.yml +++ b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_s1_subtypes_true.ext.yml @@ -3,7 +3,8 @@ extensions: pack: codeql/go-all extensible: sourceModel data: - - ["github.com/nonexistent/test", "S1", True, "Source", "", "", "ReturnValue", "remote", "manual"] + - ["github.com/nonexistent/test", "S1", True, "Source", "", "", "ReturnValue", "qltest", "manual"] + - ["github.com/nonexistent/test", "S1", True, "SourceField", "", "", "", "qltest", "manual"] - addsTo: pack: codeql/go-all extensible: summaryModel @@ -13,4 +14,5 @@ extensions: pack: codeql/go-all extensible: sinkModel data: - - ["github.com/nonexistent/test", "S1", True, "Sink", "", "", "Argument[0]", "path-injection", "manual"] + - ["github.com/nonexistent/test", "S1", True, "Sink", "", "", "Argument[0]", "qltest", "manual"] + - ["github.com/nonexistent/test", "S1", True, "SinkField", "", "", "", "qltest", "manual"] diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_s1_subtypes_true.ql b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_s1_subtypes_true.ql index 4afbff7ac9e1..92c895b61a33 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_s1_subtypes_true.ql +++ b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_s1_subtypes_true.ql @@ -1,14 +1,12 @@ import go -import semmle.go.dataflow.ExternalFlow import ModelValidation -import semmle.go.dataflow.internal.FlowSummaryImpl as FlowSummaryImpl import TestUtilities.InlineExpectationsTest import MakeTest module Config implements DataFlow::ConfigSig { - predicate isSource(DataFlow::Node source) { source instanceof RemoteFlowSource } + predicate isSource(DataFlow::Node source) { sourceNode(source, "qltest") } - predicate isSink(DataFlow::Node sink) { sink = any(FileSystemAccess fsa).getAPathArgument() } + predicate isSink(DataFlow::Node sink) { sinkNode(sink, "qltest") } } module Flow = TaintTracking::Global; diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/ql_I1.ql b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/ql_I1.ql index 9e563a5bb70e..f4beb7ea28df 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/ql_I1.ql +++ b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/ql_I1.ql @@ -1,14 +1,22 @@ import go -import semmle.go.dataflow.ExternalFlow import ModelValidation -import semmle.go.dataflow.internal.FlowSummaryImpl as FlowSummaryImpl import TestUtilities.InlineExpectationsTest import MakeTest module Config implements DataFlow::ConfigSig { - predicate isSource(DataFlow::Node source) { source instanceof RemoteFlowSource } + predicate isSource(DataFlow::Node source) { + exists(Method m | + m.hasQualifiedName("github.com/nonexistent/test", "I1", "Source") and + source = m.getACall().getResult() + ) + } - predicate isSink(DataFlow::Node sink) { sink = any(FileSystemAccess fsa).getAPathArgument() } + predicate isSink(DataFlow::Node sink) { + exists(Method m | + m.hasQualifiedName("github.com/nonexistent/test", "I1", "Sink") and + sink = m.getACall().getArgument(0) + ) + } } module Flow = TaintTracking::Global; @@ -27,15 +35,6 @@ module FlowTest implements TestSig { } } -class MySource extends RemoteFlowSource::Range instanceof DataFlow::Node { - MySource() { - exists(Method m | - m.hasQualifiedName("github.com/nonexistent/test", "I1", "Source") and - this = m.getACall().getResult() - ) - } -} - class MyStep extends DataFlow::FunctionModel, Method { MyStep() { this.hasQualifiedName("github.com/nonexistent/test", "I1", "Step") } @@ -43,14 +42,3 @@ class MyStep extends DataFlow::FunctionModel, Method { input.isParameter(0) and output.isResult() } } - -class MySink extends FileSystemAccess::Range, DataFlow::CallNode { - MySink() { - exists(Method m | - m.hasQualifiedName("github.com/nonexistent/test", "I1", "Sink") and - this = m.getACall() - ) - } - - override DataFlow::Node getAPathArgument() { result = this.getArgument(0) } -} diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/ql_S1.ql b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/ql_S1.ql index bf9f36358b9d..49113c53ed7a 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/ql_S1.ql +++ b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/ql_S1.ql @@ -1,14 +1,32 @@ import go -import semmle.go.dataflow.ExternalFlow import ModelValidation -import semmle.go.dataflow.internal.FlowSummaryImpl as FlowSummaryImpl import TestUtilities.InlineExpectationsTest import MakeTest module Config implements DataFlow::ConfigSig { - predicate isSource(DataFlow::Node source) { source instanceof RemoteFlowSource } + predicate isSource(DataFlow::Node source) { + exists(Method m | + m.hasQualifiedName("github.com/nonexistent/test", "S1", "Source") and + source = m.getACall().getResult() + ) + or + exists(Field f | + f.hasQualifiedName("github.com/nonexistent/test", "S1", "SourceField") and + source = f.getARead() + ) + } - predicate isSink(DataFlow::Node sink) { sink = any(FileSystemAccess fsa).getAPathArgument() } + predicate isSink(DataFlow::Node sink) { + exists(Method m | + m.hasQualifiedName("github.com/nonexistent/test", "S1", "Sink") and + sink = m.getACall().getArgument(0) + ) + or + exists(Field f | + f.hasQualifiedName("github.com/nonexistent/test", "S1", "SinkField") and + any(DataFlow::Write w).writesField(_, f, sink) + ) + } } module Flow = TaintTracking::Global; @@ -27,15 +45,6 @@ module FlowTest implements TestSig { } } -class MySource extends RemoteFlowSource::Range instanceof DataFlow::Node { - MySource() { - exists(Method m | - m.hasQualifiedName("github.com/nonexistent/test", "S1", "Source") and - this = m.getACall().getResult() - ) - } -} - class MyStep extends DataFlow::FunctionModel, Method { MyStep() { this.hasQualifiedName("github.com/nonexistent/test", "S1", "Step") } @@ -43,14 +52,3 @@ class MyStep extends DataFlow::FunctionModel, Method { input.isParameter(0) and output.isResult() } } - -class MySink extends FileSystemAccess::Range, DataFlow::CallNode { - MySink() { - exists(Method m | - m.hasQualifiedName("github.com/nonexistent/test", "S1", "Sink") and - this = m.getACall() - ) - } - - override DataFlow::Node getAPathArgument() { result = this.getArgument(0) } -} diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/test.go b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/test.go deleted file mode 100644 index faeba00e7024..000000000000 --- a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/test.go +++ /dev/null @@ -1,89 +0,0 @@ -package main - -import ( - "github.com/nonexistent/test" -) - -func TestI1(t test.I1) { - x := t.Source() - y := t.Step(x) - t.Sink(y) // $ I1[f] I1[t] ql_I1 SPURIOUS: IEmbedI1[t] SEmbedI1[t] ql_S1 -} - -func TestI2(t test.I2) { - x := t.Source() - y := t.Step(x) - t.Sink(y) // $ I1[t] I2[f] I2[t] SPURIOUS: IEmbedI1[t] IEmbedI2[t] SEmbedI1[t] SEmbedI2[t] -} - -func TestS1(t test.S1) { - x := t.Source() - y := t.Step(x) - t.Sink(y) // $ I1[t] S1[f] S1[t] ql_S1 SPURIOUS: IEmbedI1[t] SEmbedI1[t] SEmbedS1[t] -} - -func TestS2(t test.S2) { - x := t.Source() - y := t.Step(x) - t.Sink(y) // $ I1[t] I2[t] SPURIOUS: IEmbedI1[t] IEmbedI2[t] SEmbedI1[t] SEmbedI2[t] SEmbedS2[t] -} - -func TestSEmbedI1(t test.SEmbedI1) { - x := t.Source() - y := t.Step(x) - t.Sink(y) // $ I1[t] SEmbedI1[t] ql_I1 SPURIOUS: I1[f] IEmbedI1[t] ql_S1 -} - -func TestSEmbedI2(t test.SEmbedI2) { - x := t.Source() - y := t.Step(x) - t.Sink(y) // $ I1[t] I2[t] SEmbedI2[t] SPURIOUS: I2[f] IEmbedI1[t] IEmbedI2[t] SEmbedI1[t] -} - -func TestIEmbedI1(t test.IEmbedI1) { - x := t.Source() - y := t.Step(x) - t.Sink(y) // $ I1[t] IEmbedI1[t] ql_I1 SPURIOUS: I1[f] SEmbedI1[t] ql_S1 -} - -func TestIEmbedI2(t test.IEmbedI2) { - x := t.Source() - y := t.Step(x) - t.Sink(y) // $ I1[t] I2[t] IEmbedI2[t] SPURIOUS: I2[f] IEmbedI1[t] SEmbedI1[t] SEmbedI2[t] -} - -func TestSImplEmbedI1(t test.SImplEmbedI1) { - x := t.Source() - y := t.Step(x) - t.Sink(y) // $ I1[t] SImplEmbedI1[t] SPURIOUS: IEmbedI1[t] SEmbedI1[t] -} - -func TestSImplEmbedI2(t test.SImplEmbedI2) { - x := t.Source() - y := t.Step(x) - t.Sink(y) // $ I1[t] I2[t] SImplEmbedI2[t] SPURIOUS: IEmbedI1[t] IEmbedI2[t] SEmbedI1[t] SEmbedI2[t] -} - -func TestSEmbedS1(t test.SEmbedS1) { - x := t.Source() - y := t.Step(x) - t.Sink(y) // $ I1[t] S1[t] SEmbedS1[t] ql_S1 SPURIOUS: IEmbedI1[t] S1[f] SEmbedI1[t] -} - -func TestSEmbedS2(t test.SEmbedS2) { - x := t.Source() - y := t.Step(x) - t.Sink(y) // $ I1[t] I2[t] SEmbedS2[t] SPURIOUS: IEmbedI1[t] IEmbedI2[t] SEmbedI1[t] SEmbedI2[t] -} - -func TestSImplEmbedS1(t test.SImplEmbedS1) { - x := t.Source() - y := t.Step(x) - t.Sink(y) // $ I1[t] SImplEmbedS1[t] SPURIOUS: IEmbedI1[t] SEmbedI1[t] -} - -func TestSImplEmbedS2(t test.SImplEmbedS2) { - x := t.Source() - y := t.Step(x) - t.Sink(y) // $ I1[t] I2[t] SImplEmbedS2[t] SPURIOUS: IEmbedI1[t] IEmbedI2[t] SEmbedI1[t] SEmbedI2[t] -} diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/test_fields.go b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/test_fields.go new file mode 100644 index 000000000000..a207a7ab192e --- /dev/null +++ b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/test_fields.go @@ -0,0 +1,40 @@ +package main + +import ( + "github.com/nonexistent/test" +) + +func TestFieldsS1(t test.S1) { + a := t.SourceField + t.SinkField = a // $ S1[f] S1[t] ql_S1 +} + +func TestFieldsSEmbedI1(t test.SEmbedI1) { + a := t.SourceField + t.SinkField = a // $ SEmbedI1[t] +} + +func TestFieldsSImplEmbedI1(t test.SImplEmbedI1) { + a := t.SourceField + t.SinkField = a // $ SImplEmbedI1[t] +} + +func TestFieldsSEmbedS1(t test.SEmbedS1) { + a := t.SourceField + t.SinkField = a // $ S1[t] SEmbedS1[t] ql_S1 +} + +func TestFieldsSImplEmbedS1(t test.SImplEmbedS1) { + a := t.SourceField + t.SinkField = a // $ SImplEmbedS1[t] +} + +func TestFieldsSEmbedSEmbedI1(t test.SEmbedSEmbedI1) { + a := t.SourceField + t.SinkField = a +} + +func TestFieldsSEmbedSEmbedS1(t test.SEmbedSEmbedS1) { + a := t.SourceField + t.SinkField = a // $ S1[t] ql_S1 SEmbedS1[t] +} diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/test_methods.go b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/test_methods.go new file mode 100644 index 000000000000..ae915c78b1fb --- /dev/null +++ b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/test_methods.go @@ -0,0 +1,101 @@ +package main + +import ( + "github.com/nonexistent/test" +) + +func TestMethodsI1(t test.I1) { + x := t.Source() + y := t.Step(x) + t.Sink(y) // $ I1[f] I1[t] ql_I1 SPURIOUS: ql_S1 +} + +func TestMethodsI2(t test.I2) { + x := t.Source() + y := t.Step(x) + t.Sink(y) // $ I1[t] I2[f] I2[t] +} + +func TestMethodsS1(t test.S1) { + x := t.Source() + y := t.Step(x) + t.Sink(y) // $ I1[t] S1[f] S1[t] ql_S1 +} + +func TestMethodsS2(t test.S2) { + x := t.Source() + y := t.Step(x) + t.Sink(y) // $ I1[t] I2[t] +} + +func TestMethodsSEmbedI1(t test.SEmbedI1) { + x := t.Source() + y := t.Step(x) + t.Sink(y) // $ I1[t] SEmbedI1[t] ql_I1 SPURIOUS: ql_S1 +} + +func TestMethodsSEmbedI2(t test.SEmbedI2) { + x := t.Source() + y := t.Step(x) + t.Sink(y) // $ I1[t] I2[t] SEmbedI2[t] +} + +func TestMethodsIEmbedI1(t test.IEmbedI1) { + x := t.Source() + y := t.Step(x) + t.Sink(y) // $ I1[t] IEmbedI1[t] ql_I1 SPURIOUS: ql_S1 +} + +func TestMethodsIEmbedI2(t test.IEmbedI2) { + x := t.Source() + y := t.Step(x) + t.Sink(y) // $ I1[t] I2[t] IEmbedI2[t] +} + +func TestMethodsSImplEmbedI1(t test.SImplEmbedI1) { + x := t.Source() + y := t.Step(x) + t.Sink(y) // $ I1[t] SImplEmbedI1[t] +} + +func TestMethodsSImplEmbedI2(t test.SImplEmbedI2) { + x := t.Source() + y := t.Step(x) + t.Sink(y) // $ I1[t] I2[t] SImplEmbedI2[t] +} + +func TestMethodsSEmbedS1(t test.SEmbedS1) { + x := t.Source() + y := t.Step(x) + t.Sink(y) // $ I1[t] S1[t] SEmbedS1[t] ql_S1 +} + +func TestMethodsSEmbedS2(t test.SEmbedS2) { + x := t.Source() + y := t.Step(x) + t.Sink(y) // $ I1[t] I2[t] SEmbedS2[t] +} + +func TestMethodsSImplEmbedS1(t test.SImplEmbedS1) { + x := t.Source() + y := t.Step(x) + t.Sink(y) // $ I1[t] SImplEmbedS1[t] +} + +func TestMethodsSImplEmbedS2(t test.SImplEmbedS2) { + x := t.Source() + y := t.Step(x) + t.Sink(y) // $ I1[t] I2[t] SImplEmbedS2[t] +} + +func TestMethodsSEmbedSEmbedI1(t test.SEmbedSEmbedI1) { + x := t.Source() + y := t.Step(x) + t.Sink(y) // $ I1[t] SEmbedI1[t] ql_I1 SPURIOUS: ql_S1 +} + +func TestMethodsSEmbedSEmbedS1(t test.SEmbedSEmbedS1) { + x := t.Source() + y := t.Step(x) + t.Sink(y) // $ I1[t] S1[t] SEmbedS1[t] ql_S1 +} diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/vendor/github.com/nonexistent/test/stub.go b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/vendor/github.com/nonexistent/test/stub.go index 206e1d99e383..524af77de480 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/vendor/github.com/nonexistent/test/stub.go +++ b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/vendor/github.com/nonexistent/test/stub.go @@ -16,7 +16,10 @@ type I2 interface { } // A struct type implementing I1 -type S1 struct{} +type S1 struct { + SourceField string + SinkField string +} func (t *S1) Source() interface{} { return nil @@ -44,7 +47,11 @@ func (t *S2) Step(val interface{}) interface{} { func (t *S2) ExtraMethodI2() {} // A struct type embedding I1 -type SEmbedI1 struct{ I1 } +type SEmbedI1 struct { + I1 + SourceField string + SinkField string +} // A struct type embedding I2 type SEmbedI2 struct{ I2 } @@ -63,7 +70,11 @@ type IEmbedI2 interface { // A struct type embedding I1 and separately implementing its methods, so the // methods of the embedded field are not promoted. -type SImplEmbedI1 struct{ I1 } +type SImplEmbedI1 struct { + I1 + SourceField string + SinkField string +} func (t *SImplEmbedI1) Source() interface{} { return nil @@ -92,14 +103,20 @@ func (t *SImplEmbedI2) Step(val interface{}) interface{} { func (t *SImplEmbedI2) ExtraMethodI2() {} // A struct type embedding S1 -type SEmbedS1 struct{ S1 } +type SEmbedS1 struct { + S1 +} // A struct type embedding S2 type SEmbedS2 struct{ S2 } -// A struct type embedding S1 and separately implementing I1's methods, so the -// methods of the embedded field are not promoted. -type SImplEmbedS1 struct{ S1 } +// A struct type embedding S1 and separately implementing I1's methods and +// fields, so the methods and fields of the embedded field are not promoted. +type SImplEmbedS1 struct { + S1 + SourceField string + SinkField string +} func (t *SImplEmbedS1) Source() interface{} { return nil @@ -126,3 +143,13 @@ func (t *SImplEmbedS2) Step(val interface{}) interface{} { } func (t *SImplEmbedS2) ExtraMethodI2() {} + +// A struct type embedding SEmbedI1 +type SEmbedSEmbedI1 struct { + SEmbedI1 + SourceField string + SinkField string +} + +// A struct type embedding SEmbedS1 +type SEmbedSEmbedS1 struct{ SEmbedS1 } From e90e31329500161566dd5e78191a5d9bb4a6a460 Mon Sep 17 00:00:00 2001 From: Chris Smowton Date: Wed, 23 Oct 2024 21:58:52 +0100 Subject: [PATCH 108/347] Simplify ensureCorrectTypeInfo --- .../go/dataflow/internal/FlowSummaryImpl.qll | 38 +++---------------- 1 file changed, 5 insertions(+), 33 deletions(-) diff --git a/go/ql/lib/semmle/go/dataflow/internal/FlowSummaryImpl.qll b/go/ql/lib/semmle/go/dataflow/internal/FlowSummaryImpl.qll index 14a92748d526..a114a2447229 100644 --- a/go/ql/lib/semmle/go/dataflow/internal/FlowSummaryImpl.qll +++ b/go/ql/lib/semmle/go/dataflow/internal/FlowSummaryImpl.qll @@ -276,42 +276,23 @@ module SourceSinkInterpretationInput implements or exists(DataFlow::Write fw | fw.writesField(recv, sse.asEntity(), _)) ) and - exists(string pkg, string typename, boolean subtypes, Type syntacticRecvBaseType | + exists(string pkg, string typename, boolean subtypes, Type syntacticRecvBaseType, Type targetType | sse.hasTypeInfo(pkg, typename, subtypes) and + targetType.hasQualifiedName(pkg, typename) and syntacticRecvBaseType = lookThroughPointerType(getSyntacticRecv(recv).getType()) | subtypes = [true, false] and - syntacticRecvBaseType.hasQualifiedName(pkg, typename) + syntacticRecvBaseType = targetType or subtypes = true and ( // `syntacticRecvBaseType`'s underlying type might be an interface type and `sse` // might be a method defined on an interface which is a subtype of it. - exists(Type t | - t = syntacticRecvBaseType.getUnderlyingType().(InterfaceType).getAnEmbeddedInterface() and - t.hasQualifiedName(pkg, typename) and - sse.asEntity().(Method).hasQualifiedName(pkg, typename, _) - ) + targetType = syntacticRecvBaseType.getUnderlyingType().(InterfaceType).getAnEmbeddedInterface() or // `syntacticRecvBaseType`'s underlying type might be a struct type and `sse` // might be a promoted method or field. - exists(StructType st, Field field1, Field field2, int depth1, int depth2, Type t1, Type t2 | - st = syntacticRecvBaseType.getUnderlyingType() and - field1 = st.getFieldAtDepth(_, depth1) and - field2 = st.getFieldAtDepth(_, depth2) and - t1 = lookThroughPointerType(field1.getType()) and - t2 = lookThroughPointerType(field2.getType()) and - ( - field1 = field2 - or - field2 = t1.getUnderlyingType().(StructType).getFieldAtDepth(_, depth2 - depth1 - 1) - ) and - matchTypeInfo(sse, t1) - | - sse.asEntity().(Method).getReceiverBaseType() = t2 - or - sse.asEntity().(Field).getDeclaringType() = t2.getUnderlyingType() - ) + syntacticRecvBaseType.getUnderlyingType().(StructType).hasEmbeddedField(targetType, _) ) ) } @@ -343,15 +324,6 @@ module SourceSinkInterpretationInput implements .getBaseInstruction() } - bindingset[sse, t] - pragma[inline_late] - private predicate matchTypeInfo(SourceOrSinkElement sse, Type t) { - exists(string pkg, string typename | - sse.hasTypeInfo(pkg, typename, true) and - t.hasQualifiedName(pkg, typename) - ) - } - /** Provides additional sink specification logic. */ bindingset[c] predicate interpretOutput(string c, InterpretNode mid, InterpretNode node) { From d9126d384f6d6278832dc438f4367592b9800c05 Mon Sep 17 00:00:00 2001 From: Chris Smowton Date: Wed, 23 Oct 2024 22:04:32 +0100 Subject: [PATCH 109/347] Simplify interpretElement --- go/ql/lib/semmle/go/dataflow/ExternalFlow.qll | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/go/ql/lib/semmle/go/dataflow/ExternalFlow.qll b/go/ql/lib/semmle/go/dataflow/ExternalFlow.qll index 68a876deaea6..1a59b272fb81 100644 --- a/go/ql/lib/semmle/go/dataflow/ExternalFlow.qll +++ b/go/ql/lib/semmle/go/dataflow/ExternalFlow.qll @@ -475,10 +475,8 @@ SourceSinkInterpretationInput::SourceOrSinkElement interpretElement( // Go does not need to distinguish functions with signature signature = "" and exists(string p | p = interpretPackage(pkg) | - exists(Field f | f.hasQualifiedName(p, type, name) | - result.asEntity() = f and - result.hasTypeInfo(p, type, subtypes) - ) + result.asEntity().(Field).hasQualifiedName(p, type, name) and + result.hasTypeInfo(p, type, subtypes) or exists(Method m | m.hasQualifiedName(p, type, name) | result.asEntity() = m and From 520acc4b1c706691751abdd3499c06530d164d49 Mon Sep 17 00:00:00 2001 From: Chris Smowton Date: Wed, 23 Oct 2024 22:08:26 +0100 Subject: [PATCH 110/347] Further simplify interpretElement to avoid 'm' only being used on one side of a disjunction --- go/ql/lib/semmle/go/dataflow/ExternalFlow.qll | 30 +++++++++---------- 1 file changed, 14 insertions(+), 16 deletions(-) diff --git a/go/ql/lib/semmle/go/dataflow/ExternalFlow.qll b/go/ql/lib/semmle/go/dataflow/ExternalFlow.qll index 1a59b272fb81..c557b5af7de3 100644 --- a/go/ql/lib/semmle/go/dataflow/ExternalFlow.qll +++ b/go/ql/lib/semmle/go/dataflow/ExternalFlow.qll @@ -475,23 +475,21 @@ SourceSinkInterpretationInput::SourceOrSinkElement interpretElement( // Go does not need to distinguish functions with signature signature = "" and exists(string p | p = interpretPackage(pkg) | - result.asEntity().(Field).hasQualifiedName(p, type, name) and - result.hasTypeInfo(p, type, subtypes) + result.hasTypeInfo(p, type, subtypes) and + ( + result.asEntity().(Field).hasQualifiedName(p, type, name) or + result.asEntity().(Method).hasQualifiedName(p, type, name) + ) or - exists(Method m | m.hasQualifiedName(p, type, name) | - result.asEntity() = m and - result.hasTypeInfo(p, type, subtypes) - or - subtypes = true and - // p.type is an interface and we include types which implement it - exists(Method m2, string pkg2, string type2 | - m2.getReceiverType().implements(p, type) and - m2.getName() = name and - m2.getReceiverBaseType().hasQualifiedName(pkg2, type2) - | - result.asEntity() = m2 and - result.hasTypeInfo(pkg2, type2, subtypes) - ) + subtypes = true and + // p.type is an interface and we include types which implement it + exists(Method m2, string pkg2, string type2 | + m2.getReceiverType().implements(p, type) and + m2.getName() = name and + m2.getReceiverBaseType().hasQualifiedName(pkg2, type2) + | + result.asEntity() = m2 and + result.hasTypeInfo(pkg2, type2, subtypes) ) or type = "" and From 20e8d48869745906d90de106ab09946c302f135f Mon Sep 17 00:00:00 2001 From: Chris Smowton Date: Wed, 23 Oct 2024 22:13:14 +0100 Subject: [PATCH 111/347] Add comment noting that a Method or Field might have multiple SourceOrSinkElements --- go/ql/lib/semmle/go/dataflow/internal/FlowSummaryImpl.qll | 3 +++ 1 file changed, 3 insertions(+) diff --git a/go/ql/lib/semmle/go/dataflow/internal/FlowSummaryImpl.qll b/go/ql/lib/semmle/go/dataflow/internal/FlowSummaryImpl.qll index a114a2447229..5caa2570394b 100644 --- a/go/ql/lib/semmle/go/dataflow/internal/FlowSummaryImpl.qll +++ b/go/ql/lib/semmle/go/dataflow/internal/FlowSummaryImpl.qll @@ -149,6 +149,9 @@ module SourceSinkInterpretationInput implements ) } + // Note that due to embedding, which is currently implemented via some Methods + // or Fields having multiple qualified names, a given Method or Field is liable + // to have more than one SourceOrSinkElement, one for each of the names it claims. private newtype TSourceOrSinkElement = TMethodEntityElement(Method m, string pkg, string type, boolean subtypes) { m.hasQualifiedName(pkg, type, _) and subtypes = [true, false] From 17a3429f1e0e018fc621d20552fe24b607207fc0 Mon Sep 17 00:00:00 2001 From: Chris Smowton Date: Wed, 23 Oct 2024 22:13:58 +0100 Subject: [PATCH 112/347] Correct hasTypeInfo doc comment --- go/ql/lib/semmle/go/dataflow/internal/FlowSummaryImpl.qll | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/go/ql/lib/semmle/go/dataflow/internal/FlowSummaryImpl.qll b/go/ql/lib/semmle/go/dataflow/internal/FlowSummaryImpl.qll index 5caa2570394b..90b2771b2060 100644 --- a/go/ql/lib/semmle/go/dataflow/internal/FlowSummaryImpl.qll +++ b/go/ql/lib/semmle/go/dataflow/internal/FlowSummaryImpl.qll @@ -178,7 +178,7 @@ module SourceSinkInterpretationInput implements AstNode asAstNode() { this = TAstElement(result) } /** - * Holds if this source or sink element is a method that was specified + * Holds if this source or sink element is a method or field that was specified * with the given values for `pkg`, `type` and `subtypes`. */ predicate hasTypeInfo(string pkg, string type, boolean subtypes) { From e290cecabd63ff16764cd039a6187e890eea8a5f Mon Sep 17 00:00:00 2001 From: Chris Smowton Date: Wed, 23 Oct 2024 22:19:18 +0100 Subject: [PATCH 113/347] Rename ensureCorrectTypeInfo and getSyntacticRecv --- .../go/dataflow/internal/FlowSummaryImpl.qll | 33 ++++++++++--------- 1 file changed, 18 insertions(+), 15 deletions(-) diff --git a/go/ql/lib/semmle/go/dataflow/internal/FlowSummaryImpl.qll b/go/ql/lib/semmle/go/dataflow/internal/FlowSummaryImpl.qll index 90b2771b2060..18e7c3613b56 100644 --- a/go/ql/lib/semmle/go/dataflow/internal/FlowSummaryImpl.qll +++ b/go/ql/lib/semmle/go/dataflow/internal/FlowSummaryImpl.qll @@ -244,7 +244,7 @@ module SourceSinkInterpretationInput implements ( not callTarget instanceof Method or - ensureCorrectTypeInfo(result, cn.getReceiver()) + elementAppliesToQualifier(result, cn.getReceiver()) ) ) } @@ -271,36 +271,39 @@ module SourceSinkInterpretationInput implements } } - private predicate ensureCorrectTypeInfo(SourceOrSinkElement sse, DataFlow::Node recv) { + private predicate elementAppliesToQualifier(SourceOrSinkElement sse, DataFlow::Node qual) { ( - exists(DataFlow::CallNode cn | cn.getReceiver() = recv and cn.getTarget() = sse.asEntity()) + exists(DataFlow::CallNode cn | cn.getReceiver() = qual and cn.getTarget() = sse.asEntity()) or - exists(DataFlow::FieldReadNode frn | frn.getBase() = recv and frn.getField() = sse.asEntity()) + exists(DataFlow::FieldReadNode frn | frn.getBase() = qual and frn.getField() = sse.asEntity()) or - exists(DataFlow::Write fw | fw.writesField(recv, sse.asEntity(), _)) + exists(DataFlow::Write fw | fw.writesField(qual, sse.asEntity(), _)) ) and - exists(string pkg, string typename, boolean subtypes, Type syntacticRecvBaseType, Type targetType | + exists( + string pkg, string typename, boolean subtypes, Type syntacticQualBaseType, Type targetType + | sse.hasTypeInfo(pkg, typename, subtypes) and targetType.hasQualifiedName(pkg, typename) and - syntacticRecvBaseType = lookThroughPointerType(getSyntacticRecv(recv).getType()) + syntacticQualBaseType = lookThroughPointerType(getSyntacticQualifier(qual).getType()) | subtypes = [true, false] and - syntacticRecvBaseType = targetType + syntacticQualBaseType = targetType or subtypes = true and ( - // `syntacticRecvBaseType`'s underlying type might be an interface type and `sse` + // `syntacticQualBaseType`'s underlying type might be an interface type and `sse` // might be a method defined on an interface which is a subtype of it. - targetType = syntacticRecvBaseType.getUnderlyingType().(InterfaceType).getAnEmbeddedInterface() + targetType = + syntacticQualBaseType.getUnderlyingType().(InterfaceType).getAnEmbeddedInterface() or - // `syntacticRecvBaseType`'s underlying type might be a struct type and `sse` + // `syntacticQualBaseType`'s underlying type might be a struct type and `sse` // might be a promoted method or field. - syntacticRecvBaseType.getUnderlyingType().(StructType).hasEmbeddedField(targetType, _) + syntacticQualBaseType.getUnderlyingType().(StructType).hasEmbeddedField(targetType, _) ) ) } - private DataFlow::Node getSyntacticRecv(DataFlow::Node n) { + private DataFlow::Node getSyntacticQualifier(DataFlow::Node n) { exists(DataFlow::Node n2 | // look through implicit dereference, if there is one not exists(n.asInstruction().(IR::EvalImplicitDerefInstruction).getOperand()) and @@ -346,7 +349,7 @@ module SourceSinkInterpretationInput implements exists(DataFlow::FieldReadNode frn | frn = n | c = "" and frn.getField() = e.asEntity() and - ensureCorrectTypeInfo(e, frn.getBase()) + elementAppliesToQualifier(e, frn.getBase()) ) ) } @@ -367,7 +370,7 @@ module SourceSinkInterpretationInput implements | c = "" and fw.writesField(base, f, node.asNode()) and - ensureCorrectTypeInfo(e, base) + elementAppliesToQualifier(e, base) ) } } From fd40662ad87a1cdb9f2fb075af2252bfc071e2c6 Mon Sep 17 00:00:00 2001 From: Chris Smowton Date: Wed, 23 Oct 2024 22:21:39 +0100 Subject: [PATCH 114/347] Rename getImplicitFieldReadInstruction --- go/ql/lib/semmle/go/dataflow/internal/FlowSummaryImpl.qll | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/go/ql/lib/semmle/go/dataflow/internal/FlowSummaryImpl.qll b/go/ql/lib/semmle/go/dataflow/internal/FlowSummaryImpl.qll index 18e7c3613b56..ca16d9abd01c 100644 --- a/go/ql/lib/semmle/go/dataflow/internal/FlowSummaryImpl.qll +++ b/go/ql/lib/semmle/go/dataflow/internal/FlowSummaryImpl.qll @@ -316,13 +316,13 @@ module SourceSinkInterpretationInput implements } private DataFlow::Node skipImplicitFieldReads(DataFlow::Node n) { - not exists(getImplicitFieldReadInstruction(n)) and result = n + not exists(lookThroughImplicitFieldRead(n)) and result = n or - result = skipImplicitFieldReads(getImplicitFieldReadInstruction(n)) + result = skipImplicitFieldReads(lookThroughImplicitFieldRead(n)) } pragma[inline] - private DataFlow::Node getImplicitFieldReadInstruction(DataFlow::Node n) { + private DataFlow::Node lookThroughImplicitFieldRead(DataFlow::Node n) { result.asInstruction() = n.(DataFlow::InstructionNode) .asInstruction() From ccc525abd3c8fc3598496b4e2ae2b75ba7593ad9 Mon Sep 17 00:00:00 2001 From: Chris Smowton Date: Wed, 23 Oct 2024 22:22:29 +0100 Subject: [PATCH 115/347] Remove probably-unnecessary pragma --- go/ql/lib/semmle/go/dataflow/internal/FlowSummaryImpl.qll | 1 - 1 file changed, 1 deletion(-) diff --git a/go/ql/lib/semmle/go/dataflow/internal/FlowSummaryImpl.qll b/go/ql/lib/semmle/go/dataflow/internal/FlowSummaryImpl.qll index ca16d9abd01c..4c9680ef3507 100644 --- a/go/ql/lib/semmle/go/dataflow/internal/FlowSummaryImpl.qll +++ b/go/ql/lib/semmle/go/dataflow/internal/FlowSummaryImpl.qll @@ -321,7 +321,6 @@ module SourceSinkInterpretationInput implements result = skipImplicitFieldReads(lookThroughImplicitFieldRead(n)) } - pragma[inline] private DataFlow::Node lookThroughImplicitFieldRead(DataFlow::Node n) { result.asInstruction() = n.(DataFlow::InstructionNode) From cd99bea9c10b55513329712bd9ff48d8881ff79f Mon Sep 17 00:00:00 2001 From: Chris Smowton Date: Wed, 23 Oct 2024 22:30:05 +0100 Subject: [PATCH 116/347] Explain getSyntacticQual --- go/ql/lib/semmle/go/dataflow/internal/FlowSummaryImpl.qll | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/go/ql/lib/semmle/go/dataflow/internal/FlowSummaryImpl.qll b/go/ql/lib/semmle/go/dataflow/internal/FlowSummaryImpl.qll index 4c9680ef3507..77d7fdc10dc0 100644 --- a/go/ql/lib/semmle/go/dataflow/internal/FlowSummaryImpl.qll +++ b/go/ql/lib/semmle/go/dataflow/internal/FlowSummaryImpl.qll @@ -303,6 +303,13 @@ module SourceSinkInterpretationInput implements ) } + /** + * Gets `underlying`, where `n` if of the form `implicitDeref?(underlying.implicitFieldRead1.implicitFieldRead2...)` + * + * For Go syntax like `qualifier.method()` or `qualifier.field`, this is the type of `qualifier`, before any + * implicit dereference is interposed because `qualifier` is of pointer type, or implicit field accesses + * navigate to any embedded struct types that truly host `field`. + */ private DataFlow::Node getSyntacticQualifier(DataFlow::Node n) { exists(DataFlow::Node n2 | // look through implicit dereference, if there is one From 7ffff434245d4a41a6adbf42f0483596ce27b0cd Mon Sep 17 00:00:00 2001 From: Chris Smowton Date: Wed, 23 Oct 2024 22:34:41 +0100 Subject: [PATCH 117/347] Improve comments --- go/ql/lib/semmle/go/dataflow/internal/FlowSummaryImpl.qll | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/go/ql/lib/semmle/go/dataflow/internal/FlowSummaryImpl.qll b/go/ql/lib/semmle/go/dataflow/internal/FlowSummaryImpl.qll index 77d7fdc10dc0..35ffeb26bed0 100644 --- a/go/ql/lib/semmle/go/dataflow/internal/FlowSummaryImpl.qll +++ b/go/ql/lib/semmle/go/dataflow/internal/FlowSummaryImpl.qll @@ -292,12 +292,12 @@ module SourceSinkInterpretationInput implements subtypes = true and ( // `syntacticQualBaseType`'s underlying type might be an interface type and `sse` - // might be a method defined on an interface which is a subtype of it. + // might refer to a method defined on an interface embedded within it. targetType = syntacticQualBaseType.getUnderlyingType().(InterfaceType).getAnEmbeddedInterface() or // `syntacticQualBaseType`'s underlying type might be a struct type and `sse` - // might be a promoted method or field. + // might refer to an embedded method or field. syntacticQualBaseType.getUnderlyingType().(StructType).hasEmbeddedField(targetType, _) ) ) From f61251cc24974fa5414b8b91148bdb2187b238cc Mon Sep 17 00:00:00 2001 From: Chris Smowton Date: Wed, 23 Oct 2024 22:53:02 +0100 Subject: [PATCH 118/347] Document elementAppliesToQualifier --- go/ql/lib/semmle/go/dataflow/internal/FlowSummaryImpl.qll | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/go/ql/lib/semmle/go/dataflow/internal/FlowSummaryImpl.qll b/go/ql/lib/semmle/go/dataflow/internal/FlowSummaryImpl.qll index 35ffeb26bed0..e54fb5665042 100644 --- a/go/ql/lib/semmle/go/dataflow/internal/FlowSummaryImpl.qll +++ b/go/ql/lib/semmle/go/dataflow/internal/FlowSummaryImpl.qll @@ -271,6 +271,14 @@ module SourceSinkInterpretationInput implements } } + /** + * Holds if method or field spec `sse` applies in the context of qualifier `qual`. + * + * Note that naively checking `sse.asEntity()`'s qualified name is not correct, because + * `Method`s and `Field`s may have multiple qualified names due to embedding. We must instead + * check that the specific name given be `sse.hasTypeInfo` refers to either `qual`'s type + * or to a type it embeds. + */ private predicate elementAppliesToQualifier(SourceOrSinkElement sse, DataFlow::Node qual) { ( exists(DataFlow::CallNode cn | cn.getReceiver() = qual and cn.getTarget() = sse.asEntity()) From 4a1fce9168604225377e6269dbfc16c59bb73f18 Mon Sep 17 00:00:00 2001 From: Owen Mansel-Chan Date: Mon, 11 Nov 2024 23:46:10 +0000 Subject: [PATCH 119/347] Test non-promoted fields and methods --- .../go/dataflow/ExternalFlowInheritance/test_fields.go | 5 +++++ .../go/dataflow/ExternalFlowInheritance/test_methods.go | 6 ++++++ .../vendor/github.com/nonexistent/test/stub.go | 6 ++++++ 3 files changed, 17 insertions(+) diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/test_fields.go b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/test_fields.go index a207a7ab192e..4b6972d67917 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/test_fields.go +++ b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/test_fields.go @@ -38,3 +38,8 @@ func TestFieldsSEmbedSEmbedS1(t test.SEmbedSEmbedS1) { a := t.SourceField t.SinkField = a // $ S1[t] ql_S1 SEmbedS1[t] } + +func TestFieldsSEmbedS1AndSEmbedS1(t test.SEmbedS1AndSEmbedS1) { + a := t.SourceField + t.SinkField = a // $ S1[t] ql_S1 +} diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/test_methods.go b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/test_methods.go index ae915c78b1fb..a106e4ee9d69 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/test_methods.go +++ b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/test_methods.go @@ -99,3 +99,9 @@ func TestMethodsSEmbedSEmbedS1(t test.SEmbedSEmbedS1) { y := t.Step(x) t.Sink(y) // $ I1[t] S1[t] SEmbedS1[t] ql_S1 } + +func TestMethodsSEmbedS1AndSEmbedS1(t test.SEmbedS1AndSEmbedS1) { + x := t.Source() + y := t.Step(x) + t.Sink(y) // $ I1[t] S1[t] ql_S1 +} diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/vendor/github.com/nonexistent/test/stub.go b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/vendor/github.com/nonexistent/test/stub.go index 524af77de480..f2ee55d438ea 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/vendor/github.com/nonexistent/test/stub.go +++ b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/vendor/github.com/nonexistent/test/stub.go @@ -153,3 +153,9 @@ type SEmbedSEmbedI1 struct { // A struct type embedding SEmbedS1 type SEmbedSEmbedS1 struct{ SEmbedS1 } + +// A struct type embedding S1 and SEmbedS1 +type SEmbedS1AndSEmbedS1 struct { + S1 + SEmbedS1 +} From adc946ec2b3a15c0a28bf29d31aa378935b5a5a8 Mon Sep 17 00:00:00 2001 From: Owen Mansel-Chan Date: Thu, 24 Oct 2024 13:41:57 +0100 Subject: [PATCH 120/347] Revert simplification to make tests pass --- .../go/dataflow/internal/FlowSummaryImpl.qll | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/go/ql/lib/semmle/go/dataflow/internal/FlowSummaryImpl.qll b/go/ql/lib/semmle/go/dataflow/internal/FlowSummaryImpl.qll index e54fb5665042..8bcf48b9fb58 100644 --- a/go/ql/lib/semmle/go/dataflow/internal/FlowSummaryImpl.qll +++ b/go/ql/lib/semmle/go/dataflow/internal/FlowSummaryImpl.qll @@ -306,7 +306,23 @@ module SourceSinkInterpretationInput implements or // `syntacticQualBaseType`'s underlying type might be a struct type and `sse` // might refer to an embedded method or field. - syntacticQualBaseType.getUnderlyingType().(StructType).hasEmbeddedField(targetType, _) + exists(StructType st, Field field1, Field field2, int depth1, int depth2, Type t2 | + st = syntacticQualBaseType.getUnderlyingType() and + field1 = st.getFieldAtDepth(_, depth1) and + field2 = st.getFieldAtDepth(_, depth2) and + targetType = lookThroughPointerType(field1.getType()) and + t2 = lookThroughPointerType(field2.getType()) and + ( + field1 = field2 + or + field2 = + targetType.getUnderlyingType().(StructType).getFieldAtDepth(_, depth2 - depth1 - 1) + ) + | + sse.asEntity().(Method).getReceiverBaseType() = t2 + or + sse.asEntity().(Field).getDeclaringType() = t2.getUnderlyingType() + ) ) ) } From e335737f387960b33d1de7fab74cd8316aa2782e Mon Sep 17 00:00:00 2001 From: Owen Mansel-Chan Date: Thu, 24 Oct 2024 13:52:33 +0100 Subject: [PATCH 121/347] Minor fixes to docs --- go/ql/lib/semmle/go/dataflow/internal/FlowSummaryImpl.qll | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/go/ql/lib/semmle/go/dataflow/internal/FlowSummaryImpl.qll b/go/ql/lib/semmle/go/dataflow/internal/FlowSummaryImpl.qll index 8bcf48b9fb58..026838cda03d 100644 --- a/go/ql/lib/semmle/go/dataflow/internal/FlowSummaryImpl.qll +++ b/go/ql/lib/semmle/go/dataflow/internal/FlowSummaryImpl.qll @@ -276,7 +276,7 @@ module SourceSinkInterpretationInput implements * * Note that naively checking `sse.asEntity()`'s qualified name is not correct, because * `Method`s and `Field`s may have multiple qualified names due to embedding. We must instead - * check that the specific name given be `sse.hasTypeInfo` refers to either `qual`'s type + * check that the specific name given by `sse.hasTypeInfo` refers to either `qual`'s type * or to a type it embeds. */ private predicate elementAppliesToQualifier(SourceOrSinkElement sse, DataFlow::Node qual) { @@ -305,7 +305,7 @@ module SourceSinkInterpretationInput implements syntacticQualBaseType.getUnderlyingType().(InterfaceType).getAnEmbeddedInterface() or // `syntacticQualBaseType`'s underlying type might be a struct type and `sse` - // might refer to an embedded method or field. + // might be a promoted method or field in it. exists(StructType st, Field field1, Field field2, int depth1, int depth2, Type t2 | st = syntacticQualBaseType.getUnderlyingType() and field1 = st.getFieldAtDepth(_, depth1) and From ede3b9f03333031f0727f9d94bc2fa8427b50e08 Mon Sep 17 00:00:00 2001 From: Owen Mansel-Chan Date: Fri, 25 Oct 2024 01:08:48 +0100 Subject: [PATCH 122/347] Improve join order by making a separate predicate --- .../go/dataflow/internal/FlowSummaryImpl.qll | 42 +++++++++++-------- 1 file changed, 25 insertions(+), 17 deletions(-) diff --git a/go/ql/lib/semmle/go/dataflow/internal/FlowSummaryImpl.qll b/go/ql/lib/semmle/go/dataflow/internal/FlowSummaryImpl.qll index 026838cda03d..5d70cc682d51 100644 --- a/go/ql/lib/semmle/go/dataflow/internal/FlowSummaryImpl.qll +++ b/go/ql/lib/semmle/go/dataflow/internal/FlowSummaryImpl.qll @@ -306,27 +306,35 @@ module SourceSinkInterpretationInput implements or // `syntacticQualBaseType`'s underlying type might be a struct type and `sse` // might be a promoted method or field in it. - exists(StructType st, Field field1, Field field2, int depth1, int depth2, Type t2 | - st = syntacticQualBaseType.getUnderlyingType() and - field1 = st.getFieldAtDepth(_, depth1) and - field2 = st.getFieldAtDepth(_, depth2) and - targetType = lookThroughPointerType(field1.getType()) and - t2 = lookThroughPointerType(field2.getType()) and - ( - field1 = field2 - or - field2 = - targetType.getUnderlyingType().(StructType).getFieldAtDepth(_, depth2 - depth1 - 1) - ) - | - sse.asEntity().(Method).getReceiverBaseType() = t2 - or - sse.asEntity().(Field).getDeclaringType() = t2.getUnderlyingType() - ) + targetType = + getIntermediateEmbeddedType(sse.asEntity(), syntacticQualBaseType.getUnderlyingType()) ) ) } + /** + * Gets the type of an embedded field of `st` which is on the path to `e`, + * which is a promoted method or field of `st`, or its base type if it's a + * pointer type. + */ + private Type getIntermediateEmbeddedType(Entity e, StructType st) { + exists(Field field1, Field field2, int depth1, int depth2, Type t2 | + field1 = st.getFieldAtDepth(_, depth1) and + field2 = st.getFieldAtDepth(_, depth2) and + result = lookThroughPointerType(field1.getType()) and + t2 = lookThroughPointerType(field2.getType()) and + ( + field1 = field2 + or + field2 = result.getUnderlyingType().(StructType).getFieldAtDepth(_, depth2 - depth1 - 1) + ) + | + e.(Method).getReceiverBaseType() = t2 + or + e.(Field).getDeclaringType() = t2.getUnderlyingType() + ) + } + /** * Gets `underlying`, where `n` if of the form `implicitDeref?(underlying.implicitFieldRead1.implicitFieldRead2...)` * From c2aee37210467172fcb59cf759c78851654f3335 Mon Sep 17 00:00:00 2001 From: Owen Mansel-Chan Date: Fri, 25 Oct 2024 10:01:53 +0100 Subject: [PATCH 123/347] `getSyntacticQualifier` -> `getSyntacticQualifierBaseType` This improves performance. --- .../lib/semmle/go/dataflow/internal/FlowSummaryImpl.qll | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/go/ql/lib/semmle/go/dataflow/internal/FlowSummaryImpl.qll b/go/ql/lib/semmle/go/dataflow/internal/FlowSummaryImpl.qll index 5d70cc682d51..cebe7c712276 100644 --- a/go/ql/lib/semmle/go/dataflow/internal/FlowSummaryImpl.qll +++ b/go/ql/lib/semmle/go/dataflow/internal/FlowSummaryImpl.qll @@ -292,7 +292,7 @@ module SourceSinkInterpretationInput implements | sse.hasTypeInfo(pkg, typename, subtypes) and targetType.hasQualifiedName(pkg, typename) and - syntacticQualBaseType = lookThroughPointerType(getSyntacticQualifier(qual).getType()) + syntacticQualBaseType = getSyntacticQualifierBaseType(qual) | subtypes = [true, false] and syntacticQualBaseType = targetType @@ -336,13 +336,14 @@ module SourceSinkInterpretationInput implements } /** - * Gets `underlying`, where `n` if of the form `implicitDeref?(underlying.implicitFieldRead1.implicitFieldRead2...)` + * Gets the base type of `underlying`, where `n` is of the form + * `implicitDeref?(underlying.implicitFieldRead1.implicitFieldRead2...)` * * For Go syntax like `qualifier.method()` or `qualifier.field`, this is the type of `qualifier`, before any * implicit dereference is interposed because `qualifier` is of pointer type, or implicit field accesses * navigate to any embedded struct types that truly host `field`. */ - private DataFlow::Node getSyntacticQualifier(DataFlow::Node n) { + private Type getSyntacticQualifierBaseType(DataFlow::Node n) { exists(DataFlow::Node n2 | // look through implicit dereference, if there is one not exists(n.asInstruction().(IR::EvalImplicitDerefInstruction).getOperand()) and @@ -350,7 +351,7 @@ module SourceSinkInterpretationInput implements or n2.asExpr() = n.asInstruction().(IR::EvalImplicitDerefInstruction).getOperand() | - result = skipImplicitFieldReads(n2) + result = lookThroughPointerType(skipImplicitFieldReads(n2).getType()) ) } From 80e8015e67a6552cd6a9acefa42647891c8ee0e0 Mon Sep 17 00:00:00 2001 From: Owen Mansel-Chan Date: Fri, 25 Oct 2024 12:32:39 +0100 Subject: [PATCH 124/347] Inline late and remove manual magic --- .../lib/semmle/go/dataflow/internal/FlowSummaryImpl.qll | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/go/ql/lib/semmle/go/dataflow/internal/FlowSummaryImpl.qll b/go/ql/lib/semmle/go/dataflow/internal/FlowSummaryImpl.qll index cebe7c712276..44cc37e2e82a 100644 --- a/go/ql/lib/semmle/go/dataflow/internal/FlowSummaryImpl.qll +++ b/go/ql/lib/semmle/go/dataflow/internal/FlowSummaryImpl.qll @@ -279,14 +279,9 @@ module SourceSinkInterpretationInput implements * check that the specific name given by `sse.hasTypeInfo` refers to either `qual`'s type * or to a type it embeds. */ + bindingset[sse, qual] + pragma[inline_late] private predicate elementAppliesToQualifier(SourceOrSinkElement sse, DataFlow::Node qual) { - ( - exists(DataFlow::CallNode cn | cn.getReceiver() = qual and cn.getTarget() = sse.asEntity()) - or - exists(DataFlow::FieldReadNode frn | frn.getBase() = qual and frn.getField() = sse.asEntity()) - or - exists(DataFlow::Write fw | fw.writesField(qual, sse.asEntity(), _)) - ) and exists( string pkg, string typename, boolean subtypes, Type syntacticQualBaseType, Type targetType | From 39afb18ee4b553b0d7f57f311b309deae6fc94de Mon Sep 17 00:00:00 2001 From: Owen Mansel-Chan Date: Fri, 25 Oct 2024 13:12:28 +0100 Subject: [PATCH 125/347] Fix bad join order --- go/ql/lib/semmle/go/dataflow/internal/FlowSummaryImpl.qll | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/go/ql/lib/semmle/go/dataflow/internal/FlowSummaryImpl.qll b/go/ql/lib/semmle/go/dataflow/internal/FlowSummaryImpl.qll index 44cc37e2e82a..66f39af78514 100644 --- a/go/ql/lib/semmle/go/dataflow/internal/FlowSummaryImpl.qll +++ b/go/ql/lib/semmle/go/dataflow/internal/FlowSummaryImpl.qll @@ -378,12 +378,12 @@ module SourceSinkInterpretationInput implements e = mid.asElement() | (c = "Parameter" or c = "") and - node.asNode().asParameter() = e.asEntity() + n.asParameter() = pragma[only_bind_into](e).asEntity() or exists(DataFlow::FieldReadNode frn | frn = n | c = "" and - frn.getField() = e.asEntity() and - elementAppliesToQualifier(e, frn.getBase()) + frn.getField() = pragma[only_bind_into](e).asEntity() and + elementAppliesToQualifier(pragma[only_bind_into](e), frn.getBase()) ) ) } @@ -404,7 +404,7 @@ module SourceSinkInterpretationInput implements | c = "" and fw.writesField(base, f, node.asNode()) and - elementAppliesToQualifier(e, base) + elementAppliesToQualifier(pragma[only_bind_into](e), base) ) } } From b2c2a94866bb8f2abd57b2d87a24410f990d129d Mon Sep 17 00:00:00 2001 From: Owen Mansel-Chan Date: Fri, 25 Oct 2024 14:35:22 +0100 Subject: [PATCH 126/347] Accept review comment - doc clarification --- go/ql/lib/semmle/go/dataflow/internal/FlowSummaryImpl.qll | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/go/ql/lib/semmle/go/dataflow/internal/FlowSummaryImpl.qll b/go/ql/lib/semmle/go/dataflow/internal/FlowSummaryImpl.qll index 66f39af78514..a5dd5922470a 100644 --- a/go/ql/lib/semmle/go/dataflow/internal/FlowSummaryImpl.qll +++ b/go/ql/lib/semmle/go/dataflow/internal/FlowSummaryImpl.qll @@ -149,9 +149,9 @@ module SourceSinkInterpretationInput implements ) } - // Note that due to embedding, which is currently implemented via some Methods - // or Fields having multiple qualified names, a given Method or Field is liable - // to have more than one SourceOrSinkElement, one for each of the names it claims. + // Note that due to embedding, which is currently implemented via some + // Methods having multiple qualified names, a given Method is liable to have + // more than one SourceOrSinkElement, one for each of the names it claims. private newtype TSourceOrSinkElement = TMethodEntityElement(Method m, string pkg, string type, boolean subtypes) { m.hasQualifiedName(pkg, type, _) and subtypes = [true, false] From 8abb0594c35eaa7e91389cb658eb1c4a998c492d Mon Sep 17 00:00:00 2001 From: Owen Mansel-Chan Date: Fri, 25 Oct 2024 14:37:38 +0100 Subject: [PATCH 127/347] Combine two arms of newtype `TSourceOrSinkElement` --- .../go/dataflow/internal/FlowSummaryImpl.qll | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/go/ql/lib/semmle/go/dataflow/internal/FlowSummaryImpl.qll b/go/ql/lib/semmle/go/dataflow/internal/FlowSummaryImpl.qll index a5dd5922470a..4e2d1552dab9 100644 --- a/go/ql/lib/semmle/go/dataflow/internal/FlowSummaryImpl.qll +++ b/go/ql/lib/semmle/go/dataflow/internal/FlowSummaryImpl.qll @@ -153,11 +153,12 @@ module SourceSinkInterpretationInput implements // Methods having multiple qualified names, a given Method is liable to have // more than one SourceOrSinkElement, one for each of the names it claims. private newtype TSourceOrSinkElement = - TMethodEntityElement(Method m, string pkg, string type, boolean subtypes) { - m.hasQualifiedName(pkg, type, _) and subtypes = [true, false] - } or - TFieldEntityElement(Field f, string pkg, string type, boolean subtypes) { - f.hasQualifiedName(pkg, type, _) and subtypes = [true, false] + TMethodOrFieldEntityElement(Entity e, string pkg, string type, boolean subtypes) { + ( + e.(Method).hasQualifiedName(pkg, type, _) or + e.(Field).hasQualifiedName(pkg, type, _) + ) and + subtypes = [true, false] } or TOtherEntityElement(Entity e) { not e instanceof Method and @@ -169,8 +170,7 @@ module SourceSinkInterpretationInput implements class SourceOrSinkElement extends TSourceOrSinkElement { /** Gets this source or sink element as an entity, if it is one. */ Entity asEntity() { - this = TMethodEntityElement(result, _, _, _) or - this = TFieldEntityElement(result, _, _, _) or + this = TMethodOrFieldEntityElement(result, _, _, _) or this = TOtherEntityElement(result) } @@ -182,8 +182,7 @@ module SourceSinkInterpretationInput implements * with the given values for `pkg`, `type` and `subtypes`. */ predicate hasTypeInfo(string pkg, string type, boolean subtypes) { - this = TMethodEntityElement(_, pkg, type, subtypes) or - this = TFieldEntityElement(_, pkg, type, subtypes) + this = TMethodOrFieldEntityElement(_, pkg, type, subtypes) } /** Gets a textual representation of this source or sink element. */ From e813fa346b5764b98442f2014a683f1e9ae11b10 Mon Sep 17 00:00:00 2001 From: Owen Mansel-Chan Date: Fri, 25 Oct 2024 14:45:33 +0100 Subject: [PATCH 128/347] Fix case in some test-related file names --- ..._i1_subtypes_false.expected => mad_I1_subtypes_false.expected} | 0 ...ad_i1_subtypes_false.ext.yml => mad_I1_subtypes_false.ext.yml} | 0 .../{mad_i1_subtypes_false.ql => mad_I1_subtypes_false.ql} | 0 ...ad_i1_subtypes_true.expected => mad_I1_subtypes_true.expected} | 0 ...{mad_i1_subtypes_true.ext.yml => mad_I1_subtypes_true.ext.yml} | 0 .../{mad_i1_subtypes_true.ql => mad_I1_subtypes_true.ql} | 0 ..._i2_subtypes_false.expected => mad_I2_subtypes_false.expected} | 0 ...ad_i2_subtypes_false.ext.yml => mad_I2_subtypes_false.ext.yml} | 0 .../{mad_i2_subtypes_false.ql => mad_I2_subtypes_false.ql} | 0 ...ad_i2_subtypes_true.expected => mad_I2_subtypes_true.expected} | 0 ...{mad_i2_subtypes_true.ext.yml => mad_I2_subtypes_true.ext.yml} | 0 .../{mad_i2_subtypes_true.ql => mad_I2_subtypes_true.ql} | 0 ..._s1_subtypes_false.expected => mad_S1_subtypes_false.expected} | 0 ...ad_s1_subtypes_false.ext.yml => mad_S1_subtypes_false.ext.yml} | 0 .../{mad_s1_subtypes_false.ql => mad_S1_subtypes_false.ql} | 0 ...ad_s1_subtypes_true.expected => mad_S1_subtypes_true.expected} | 0 ...{mad_s1_subtypes_true.ext.yml => mad_S1_subtypes_true.ext.yml} | 0 .../{mad_s1_subtypes_true.ql => mad_S1_subtypes_true.ql} | 0 18 files changed, 0 insertions(+), 0 deletions(-) rename go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/{mad_i1_subtypes_false.expected => mad_I1_subtypes_false.expected} (100%) rename go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/{mad_i1_subtypes_false.ext.yml => mad_I1_subtypes_false.ext.yml} (100%) rename go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/{mad_i1_subtypes_false.ql => mad_I1_subtypes_false.ql} (100%) rename go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/{mad_i1_subtypes_true.expected => mad_I1_subtypes_true.expected} (100%) rename go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/{mad_i1_subtypes_true.ext.yml => mad_I1_subtypes_true.ext.yml} (100%) rename go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/{mad_i1_subtypes_true.ql => mad_I1_subtypes_true.ql} (100%) rename go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/{mad_i2_subtypes_false.expected => mad_I2_subtypes_false.expected} (100%) rename go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/{mad_i2_subtypes_false.ext.yml => mad_I2_subtypes_false.ext.yml} (100%) rename go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/{mad_i2_subtypes_false.ql => mad_I2_subtypes_false.ql} (100%) rename go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/{mad_i2_subtypes_true.expected => mad_I2_subtypes_true.expected} (100%) rename go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/{mad_i2_subtypes_true.ext.yml => mad_I2_subtypes_true.ext.yml} (100%) rename go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/{mad_i2_subtypes_true.ql => mad_I2_subtypes_true.ql} (100%) rename go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/{mad_s1_subtypes_false.expected => mad_S1_subtypes_false.expected} (100%) rename go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/{mad_s1_subtypes_false.ext.yml => mad_S1_subtypes_false.ext.yml} (100%) rename go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/{mad_s1_subtypes_false.ql => mad_S1_subtypes_false.ql} (100%) rename go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/{mad_s1_subtypes_true.expected => mad_S1_subtypes_true.expected} (100%) rename go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/{mad_s1_subtypes_true.ext.yml => mad_S1_subtypes_true.ext.yml} (100%) rename go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/{mad_s1_subtypes_true.ql => mad_S1_subtypes_true.ql} (100%) diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_i1_subtypes_false.expected b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_I1_subtypes_false.expected similarity index 100% rename from go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_i1_subtypes_false.expected rename to go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_I1_subtypes_false.expected diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_i1_subtypes_false.ext.yml b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_I1_subtypes_false.ext.yml similarity index 100% rename from go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_i1_subtypes_false.ext.yml rename to go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_I1_subtypes_false.ext.yml diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_i1_subtypes_false.ql b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_I1_subtypes_false.ql similarity index 100% rename from go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_i1_subtypes_false.ql rename to go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_I1_subtypes_false.ql diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_i1_subtypes_true.expected b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_I1_subtypes_true.expected similarity index 100% rename from go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_i1_subtypes_true.expected rename to go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_I1_subtypes_true.expected diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_i1_subtypes_true.ext.yml b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_I1_subtypes_true.ext.yml similarity index 100% rename from go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_i1_subtypes_true.ext.yml rename to go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_I1_subtypes_true.ext.yml diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_i1_subtypes_true.ql b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_I1_subtypes_true.ql similarity index 100% rename from go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_i1_subtypes_true.ql rename to go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_I1_subtypes_true.ql diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_i2_subtypes_false.expected b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_I2_subtypes_false.expected similarity index 100% rename from go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_i2_subtypes_false.expected rename to go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_I2_subtypes_false.expected diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_i2_subtypes_false.ext.yml b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_I2_subtypes_false.ext.yml similarity index 100% rename from go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_i2_subtypes_false.ext.yml rename to go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_I2_subtypes_false.ext.yml diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_i2_subtypes_false.ql b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_I2_subtypes_false.ql similarity index 100% rename from go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_i2_subtypes_false.ql rename to go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_I2_subtypes_false.ql diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_i2_subtypes_true.expected b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_I2_subtypes_true.expected similarity index 100% rename from go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_i2_subtypes_true.expected rename to go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_I2_subtypes_true.expected diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_i2_subtypes_true.ext.yml b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_I2_subtypes_true.ext.yml similarity index 100% rename from go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_i2_subtypes_true.ext.yml rename to go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_I2_subtypes_true.ext.yml diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_i2_subtypes_true.ql b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_I2_subtypes_true.ql similarity index 100% rename from go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_i2_subtypes_true.ql rename to go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_I2_subtypes_true.ql diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_s1_subtypes_false.expected b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_S1_subtypes_false.expected similarity index 100% rename from go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_s1_subtypes_false.expected rename to go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_S1_subtypes_false.expected diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_s1_subtypes_false.ext.yml b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_S1_subtypes_false.ext.yml similarity index 100% rename from go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_s1_subtypes_false.ext.yml rename to go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_S1_subtypes_false.ext.yml diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_s1_subtypes_false.ql b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_S1_subtypes_false.ql similarity index 100% rename from go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_s1_subtypes_false.ql rename to go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_S1_subtypes_false.ql diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_s1_subtypes_true.expected b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_S1_subtypes_true.expected similarity index 100% rename from go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_s1_subtypes_true.expected rename to go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_S1_subtypes_true.expected diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_s1_subtypes_true.ext.yml b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_S1_subtypes_true.ext.yml similarity index 100% rename from go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_s1_subtypes_true.ext.yml rename to go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_S1_subtypes_true.ext.yml diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_s1_subtypes_true.ql b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_S1_subtypes_true.ql similarity index 100% rename from go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_s1_subtypes_true.ql rename to go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_S1_subtypes_true.ql From 57192e8154f49eaa8e216d34979521e0e1d09dfd Mon Sep 17 00:00:00 2001 From: Owen Mansel-Chan Date: Tue, 29 Oct 2024 15:59:14 +0000 Subject: [PATCH 129/347] Add even more tests --- .../mad_PImplEmbedI1_subtypes_true.expected | 3 + .../mad_PImplEmbedI1_subtypes_true.ext.yml | 18 +++ .../mad_PImplEmbedI1_subtypes_true.ql | 26 ++++ .../mad_PImplEmbedI2_subtypes_true.expected | 3 + .../mad_PImplEmbedI2_subtypes_true.ext.yml | 16 +++ .../mad_PImplEmbedI2_subtypes_true.ql | 26 ++++ .../mad_SEmbedP1_subtypes_true.expected | 3 + .../mad_SEmbedP1_subtypes_true.ext.yml | 18 +++ .../mad_SEmbedP1_subtypes_true.ql | 26 ++++ .../mad_SEmbedP2_subtypes_true.expected | 3 + .../mad_SEmbedP2_subtypes_true.ext.yml | 16 +++ .../mad_SEmbedP2_subtypes_true.ql | 26 ++++ .../mad_SEmbedPtrP1_subtypes_true.expected | 3 + .../mad_SEmbedPtrP1_subtypes_true.ext.yml | 18 +++ .../mad_SEmbedPtrP1_subtypes_true.ql | 26 ++++ .../mad_SEmbedPtrP2_subtypes_true.expected | 3 + .../mad_SEmbedPtrP2_subtypes_true.ext.yml | 16 +++ .../mad_SEmbedPtrP2_subtypes_true.ql | 26 ++++ .../mad_SEmbedPtrS1_subtypes_true.expected | 3 + .../mad_SEmbedPtrS1_subtypes_true.ext.yml | 18 +++ .../mad_SEmbedPtrS1_subtypes_true.ql | 26 ++++ .../mad_SEmbedPtrS2_subtypes_true.expected | 3 + .../mad_SEmbedPtrS2_subtypes_true.ext.yml | 16 +++ .../mad_SEmbedPtrS2_subtypes_true.ql | 26 ++++ .../ExternalFlowInheritance/ql_P1.expected | 3 + .../dataflow/ExternalFlowInheritance/ql_P1.ql | 54 ++++++++ .../ExternalFlowInheritance/test_fields.go | 48 ++++++- .../ExternalFlowInheritance/test_methods.go | 74 ++++++++++- .../github.com/nonexistent/test/stub.go | 124 +++++++++++++++--- 29 files changed, 646 insertions(+), 25 deletions(-) create mode 100644 go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_PImplEmbedI1_subtypes_true.expected create mode 100644 go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_PImplEmbedI1_subtypes_true.ext.yml create mode 100644 go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_PImplEmbedI1_subtypes_true.ql create mode 100644 go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_PImplEmbedI2_subtypes_true.expected create mode 100644 go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_PImplEmbedI2_subtypes_true.ext.yml create mode 100644 go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_PImplEmbedI2_subtypes_true.ql create mode 100644 go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SEmbedP1_subtypes_true.expected create mode 100644 go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SEmbedP1_subtypes_true.ext.yml create mode 100644 go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SEmbedP1_subtypes_true.ql create mode 100644 go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SEmbedP2_subtypes_true.expected create mode 100644 go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SEmbedP2_subtypes_true.ext.yml create mode 100644 go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SEmbedP2_subtypes_true.ql create mode 100644 go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SEmbedPtrP1_subtypes_true.expected create mode 100644 go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SEmbedPtrP1_subtypes_true.ext.yml create mode 100644 go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SEmbedPtrP1_subtypes_true.ql create mode 100644 go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SEmbedPtrP2_subtypes_true.expected create mode 100644 go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SEmbedPtrP2_subtypes_true.ext.yml create mode 100644 go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SEmbedPtrP2_subtypes_true.ql create mode 100644 go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SEmbedPtrS1_subtypes_true.expected create mode 100644 go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SEmbedPtrS1_subtypes_true.ext.yml create mode 100644 go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SEmbedPtrS1_subtypes_true.ql create mode 100644 go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SEmbedPtrS2_subtypes_true.expected create mode 100644 go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SEmbedPtrS2_subtypes_true.ext.yml create mode 100644 go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SEmbedPtrS2_subtypes_true.ql create mode 100644 go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/ql_P1.expected create mode 100644 go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/ql_P1.ql diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_PImplEmbedI1_subtypes_true.expected b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_PImplEmbedI1_subtypes_true.expected new file mode 100644 index 000000000000..db33d6d2504a --- /dev/null +++ b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_PImplEmbedI1_subtypes_true.expected @@ -0,0 +1,3 @@ +testFailures +invalidModelRow +failures diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_PImplEmbedI1_subtypes_true.ext.yml b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_PImplEmbedI1_subtypes_true.ext.yml new file mode 100644 index 000000000000..b7a7badf0979 --- /dev/null +++ b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_PImplEmbedI1_subtypes_true.ext.yml @@ -0,0 +1,18 @@ +extensions: + - addsTo: + pack: codeql/go-all + extensible: sourceModel + data: + - ["github.com/nonexistent/test", "PImplEmbedI1", True, "Source", "", "", "ReturnValue", "qltest", "manual"] + - ["github.com/nonexistent/test", "PImplEmbedI1", True, "SourceField", "", "", "", "qltest", "manual"] + - addsTo: + pack: codeql/go-all + extensible: summaryModel + data: + - ["github.com/nonexistent/test", "PImplEmbedI1", True, "Step", "", "", "Argument[0]", "ReturnValue", "value", "manual"] + - addsTo: + pack: codeql/go-all + extensible: sinkModel + data: + - ["github.com/nonexistent/test", "PImplEmbedI1", True, "Sink", "", "", "Argument[0]", "qltest", "manual"] + - ["github.com/nonexistent/test", "PImplEmbedI1", True, "SinkField", "", "", "", "qltest", "manual"] diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_PImplEmbedI1_subtypes_true.ql b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_PImplEmbedI1_subtypes_true.ql new file mode 100644 index 000000000000..6e84bbe2ffbf --- /dev/null +++ b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_PImplEmbedI1_subtypes_true.ql @@ -0,0 +1,26 @@ +import go +import ModelValidation +import TestUtilities.InlineExpectationsTest +import MakeTest + +module Config implements DataFlow::ConfigSig { + predicate isSource(DataFlow::Node source) { sourceNode(source, "qltest") } + + predicate isSink(DataFlow::Node sink) { sinkNode(sink, "qltest") } +} + +module Flow = TaintTracking::Global; + +module FlowTest implements TestSig { + string getARelevantTag() { result = "PImplEmbedI1[t]" } + + predicate hasActualResult(Location location, string element, string tag, string value) { + tag = "PImplEmbedI1[t]" and + exists(DataFlow::Node sink | Flow::flowTo(sink) | + sink.hasLocationInfo(location.getFile().getAbsolutePath(), location.getStartLine(), + location.getStartColumn(), location.getEndLine(), location.getEndColumn()) and + element = sink.toString() and + value = "" + ) + } +} diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_PImplEmbedI2_subtypes_true.expected b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_PImplEmbedI2_subtypes_true.expected new file mode 100644 index 000000000000..db33d6d2504a --- /dev/null +++ b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_PImplEmbedI2_subtypes_true.expected @@ -0,0 +1,3 @@ +testFailures +invalidModelRow +failures diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_PImplEmbedI2_subtypes_true.ext.yml b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_PImplEmbedI2_subtypes_true.ext.yml new file mode 100644 index 000000000000..2a10c84a20fa --- /dev/null +++ b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_PImplEmbedI2_subtypes_true.ext.yml @@ -0,0 +1,16 @@ +extensions: + - addsTo: + pack: codeql/go-all + extensible: sourceModel + data: + - ["github.com/nonexistent/test", "PImplEmbedI2", True, "Source", "", "", "ReturnValue", "qltest", "manual"] + - addsTo: + pack: codeql/go-all + extensible: summaryModel + data: + - ["github.com/nonexistent/test", "PImplEmbedI2", True, "Step", "", "", "Argument[0]", "ReturnValue", "value", "manual"] + - addsTo: + pack: codeql/go-all + extensible: sinkModel + data: + - ["github.com/nonexistent/test", "PImplEmbedI2", True, "Sink", "", "", "Argument[0]", "qltest", "manual"] diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_PImplEmbedI2_subtypes_true.ql b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_PImplEmbedI2_subtypes_true.ql new file mode 100644 index 000000000000..63a829d1ac4e --- /dev/null +++ b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_PImplEmbedI2_subtypes_true.ql @@ -0,0 +1,26 @@ +import go +import ModelValidation +import TestUtilities.InlineExpectationsTest +import MakeTest + +module Config implements DataFlow::ConfigSig { + predicate isSource(DataFlow::Node source) { sourceNode(source, "qltest") } + + predicate isSink(DataFlow::Node sink) { sinkNode(sink, "qltest") } +} + +module Flow = TaintTracking::Global; + +module FlowTest implements TestSig { + string getARelevantTag() { result = "PImplEmbedI2[t]" } + + predicate hasActualResult(Location location, string element, string tag, string value) { + tag = "PImplEmbedI2[t]" and + exists(DataFlow::Node sink | Flow::flowTo(sink) | + sink.hasLocationInfo(location.getFile().getAbsolutePath(), location.getStartLine(), + location.getStartColumn(), location.getEndLine(), location.getEndColumn()) and + element = sink.toString() and + value = "" + ) + } +} diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SEmbedP1_subtypes_true.expected b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SEmbedP1_subtypes_true.expected new file mode 100644 index 000000000000..db33d6d2504a --- /dev/null +++ b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SEmbedP1_subtypes_true.expected @@ -0,0 +1,3 @@ +testFailures +invalidModelRow +failures diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SEmbedP1_subtypes_true.ext.yml b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SEmbedP1_subtypes_true.ext.yml new file mode 100644 index 000000000000..8a927bde1adf --- /dev/null +++ b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SEmbedP1_subtypes_true.ext.yml @@ -0,0 +1,18 @@ +extensions: + - addsTo: + pack: codeql/go-all + extensible: sourceModel + data: + - ["github.com/nonexistent/test", "SEmbedP1", True, "Source", "", "", "ReturnValue", "qltest", "manual"] + - ["github.com/nonexistent/test", "SEmbedP1", True, "SourceField", "", "", "", "qltest", "manual"] + - addsTo: + pack: codeql/go-all + extensible: summaryModel + data: + - ["github.com/nonexistent/test", "SEmbedP1", True, "Step", "", "", "Argument[0]", "ReturnValue", "value", "manual"] + - addsTo: + pack: codeql/go-all + extensible: sinkModel + data: + - ["github.com/nonexistent/test", "SEmbedP1", True, "Sink", "", "", "Argument[0]", "qltest", "manual"] + - ["github.com/nonexistent/test", "SEmbedP1", True, "SinkField", "", "", "", "qltest", "manual"] diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SEmbedP1_subtypes_true.ql b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SEmbedP1_subtypes_true.ql new file mode 100644 index 000000000000..35c780f603d0 --- /dev/null +++ b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SEmbedP1_subtypes_true.ql @@ -0,0 +1,26 @@ +import go +import ModelValidation +import TestUtilities.InlineExpectationsTest +import MakeTest + +module Config implements DataFlow::ConfigSig { + predicate isSource(DataFlow::Node source) { sourceNode(source, "qltest") } + + predicate isSink(DataFlow::Node sink) { sinkNode(sink, "qltest") } +} + +module Flow = TaintTracking::Global; + +module FlowTest implements TestSig { + string getARelevantTag() { result = "SEmbedP1[t]" } + + predicate hasActualResult(Location location, string element, string tag, string value) { + tag = "SEmbedP1[t]" and + exists(DataFlow::Node sink | Flow::flowTo(sink) | + sink.hasLocationInfo(location.getFile().getAbsolutePath(), location.getStartLine(), + location.getStartColumn(), location.getEndLine(), location.getEndColumn()) and + element = sink.toString() and + value = "" + ) + } +} diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SEmbedP2_subtypes_true.expected b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SEmbedP2_subtypes_true.expected new file mode 100644 index 000000000000..db33d6d2504a --- /dev/null +++ b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SEmbedP2_subtypes_true.expected @@ -0,0 +1,3 @@ +testFailures +invalidModelRow +failures diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SEmbedP2_subtypes_true.ext.yml b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SEmbedP2_subtypes_true.ext.yml new file mode 100644 index 000000000000..6357f141b117 --- /dev/null +++ b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SEmbedP2_subtypes_true.ext.yml @@ -0,0 +1,16 @@ +extensions: + - addsTo: + pack: codeql/go-all + extensible: sourceModel + data: + - ["github.com/nonexistent/test", "SEmbedP2", True, "Source", "", "", "ReturnValue", "qltest", "manual"] + - addsTo: + pack: codeql/go-all + extensible: summaryModel + data: + - ["github.com/nonexistent/test", "SEmbedP2", True, "Step", "", "", "Argument[0]", "ReturnValue", "value", "manual"] + - addsTo: + pack: codeql/go-all + extensible: sinkModel + data: + - ["github.com/nonexistent/test", "SEmbedP2", True, "Sink", "", "", "Argument[0]", "qltest", "manual"] diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SEmbedP2_subtypes_true.ql b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SEmbedP2_subtypes_true.ql new file mode 100644 index 000000000000..6b5cad78d8bc --- /dev/null +++ b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SEmbedP2_subtypes_true.ql @@ -0,0 +1,26 @@ +import go +import ModelValidation +import TestUtilities.InlineExpectationsTest +import MakeTest + +module Config implements DataFlow::ConfigSig { + predicate isSource(DataFlow::Node source) { sourceNode(source, "qltest") } + + predicate isSink(DataFlow::Node sink) { sinkNode(sink, "qltest") } +} + +module Flow = TaintTracking::Global; + +module FlowTest implements TestSig { + string getARelevantTag() { result = "SEmbedP2[t]" } + + predicate hasActualResult(Location location, string element, string tag, string value) { + tag = "SEmbedP2[t]" and + exists(DataFlow::Node sink | Flow::flowTo(sink) | + sink.hasLocationInfo(location.getFile().getAbsolutePath(), location.getStartLine(), + location.getStartColumn(), location.getEndLine(), location.getEndColumn()) and + element = sink.toString() and + value = "" + ) + } +} diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SEmbedPtrP1_subtypes_true.expected b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SEmbedPtrP1_subtypes_true.expected new file mode 100644 index 000000000000..db33d6d2504a --- /dev/null +++ b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SEmbedPtrP1_subtypes_true.expected @@ -0,0 +1,3 @@ +testFailures +invalidModelRow +failures diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SEmbedPtrP1_subtypes_true.ext.yml b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SEmbedPtrP1_subtypes_true.ext.yml new file mode 100644 index 000000000000..e34aa2af5351 --- /dev/null +++ b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SEmbedPtrP1_subtypes_true.ext.yml @@ -0,0 +1,18 @@ +extensions: + - addsTo: + pack: codeql/go-all + extensible: sourceModel + data: + - ["github.com/nonexistent/test", "SEmbedPtrP1", True, "Source", "", "", "ReturnValue", "qltest", "manual"] + - ["github.com/nonexistent/test", "SEmbedPtrP1", True, "SourceField", "", "", "", "qltest", "manual"] + - addsTo: + pack: codeql/go-all + extensible: summaryModel + data: + - ["github.com/nonexistent/test", "SEmbedPtrP1", True, "Step", "", "", "Argument[0]", "ReturnValue", "value", "manual"] + - addsTo: + pack: codeql/go-all + extensible: sinkModel + data: + - ["github.com/nonexistent/test", "SEmbedPtrP1", True, "Sink", "", "", "Argument[0]", "qltest", "manual"] + - ["github.com/nonexistent/test", "SEmbedPtrP1", True, "SinkField", "", "", "", "qltest", "manual"] diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SEmbedPtrP1_subtypes_true.ql b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SEmbedPtrP1_subtypes_true.ql new file mode 100644 index 000000000000..344dc37e41a4 --- /dev/null +++ b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SEmbedPtrP1_subtypes_true.ql @@ -0,0 +1,26 @@ +import go +import ModelValidation +import TestUtilities.InlineExpectationsTest +import MakeTest + +module Config implements DataFlow::ConfigSig { + predicate isSource(DataFlow::Node source) { sourceNode(source, "qltest") } + + predicate isSink(DataFlow::Node sink) { sinkNode(sink, "qltest") } +} + +module Flow = TaintTracking::Global; + +module FlowTest implements TestSig { + string getARelevantTag() { result = "SEmbedPtrP1[t]" } + + predicate hasActualResult(Location location, string element, string tag, string value) { + tag = "SEmbedPtrP1[t]" and + exists(DataFlow::Node sink | Flow::flowTo(sink) | + sink.hasLocationInfo(location.getFile().getAbsolutePath(), location.getStartLine(), + location.getStartColumn(), location.getEndLine(), location.getEndColumn()) and + element = sink.toString() and + value = "" + ) + } +} diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SEmbedPtrP2_subtypes_true.expected b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SEmbedPtrP2_subtypes_true.expected new file mode 100644 index 000000000000..db33d6d2504a --- /dev/null +++ b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SEmbedPtrP2_subtypes_true.expected @@ -0,0 +1,3 @@ +testFailures +invalidModelRow +failures diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SEmbedPtrP2_subtypes_true.ext.yml b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SEmbedPtrP2_subtypes_true.ext.yml new file mode 100644 index 000000000000..7c03fc22bcbb --- /dev/null +++ b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SEmbedPtrP2_subtypes_true.ext.yml @@ -0,0 +1,16 @@ +extensions: + - addsTo: + pack: codeql/go-all + extensible: sourceModel + data: + - ["github.com/nonexistent/test", "SEmbedPtrP2", True, "Source", "", "", "ReturnValue", "qltest", "manual"] + - addsTo: + pack: codeql/go-all + extensible: summaryModel + data: + - ["github.com/nonexistent/test", "SEmbedPtrP2", True, "Step", "", "", "Argument[0]", "ReturnValue", "value", "manual"] + - addsTo: + pack: codeql/go-all + extensible: sinkModel + data: + - ["github.com/nonexistent/test", "SEmbedPtrP2", True, "Sink", "", "", "Argument[0]", "qltest", "manual"] diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SEmbedPtrP2_subtypes_true.ql b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SEmbedPtrP2_subtypes_true.ql new file mode 100644 index 000000000000..a7c2e497f556 --- /dev/null +++ b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SEmbedPtrP2_subtypes_true.ql @@ -0,0 +1,26 @@ +import go +import ModelValidation +import TestUtilities.InlineExpectationsTest +import MakeTest + +module Config implements DataFlow::ConfigSig { + predicate isSource(DataFlow::Node source) { sourceNode(source, "qltest") } + + predicate isSink(DataFlow::Node sink) { sinkNode(sink, "qltest") } +} + +module Flow = TaintTracking::Global; + +module FlowTest implements TestSig { + string getARelevantTag() { result = "SEmbedPtrP2[t]" } + + predicate hasActualResult(Location location, string element, string tag, string value) { + tag = "SEmbedPtrP2[t]" and + exists(DataFlow::Node sink | Flow::flowTo(sink) | + sink.hasLocationInfo(location.getFile().getAbsolutePath(), location.getStartLine(), + location.getStartColumn(), location.getEndLine(), location.getEndColumn()) and + element = sink.toString() and + value = "" + ) + } +} diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SEmbedPtrS1_subtypes_true.expected b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SEmbedPtrS1_subtypes_true.expected new file mode 100644 index 000000000000..db33d6d2504a --- /dev/null +++ b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SEmbedPtrS1_subtypes_true.expected @@ -0,0 +1,3 @@ +testFailures +invalidModelRow +failures diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SEmbedPtrS1_subtypes_true.ext.yml b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SEmbedPtrS1_subtypes_true.ext.yml new file mode 100644 index 000000000000..81a3500562d3 --- /dev/null +++ b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SEmbedPtrS1_subtypes_true.ext.yml @@ -0,0 +1,18 @@ +extensions: + - addsTo: + pack: codeql/go-all + extensible: sourceModel + data: + - ["github.com/nonexistent/test", "SEmbedPtrS1", True, "Source", "", "", "ReturnValue", "qltest", "manual"] + - ["github.com/nonexistent/test", "SEmbedPtrS1", True, "SourceField", "", "", "", "qltest", "manual"] + - addsTo: + pack: codeql/go-all + extensible: summaryModel + data: + - ["github.com/nonexistent/test", "SEmbedPtrS1", True, "Step", "", "", "Argument[0]", "ReturnValue", "value", "manual"] + - addsTo: + pack: codeql/go-all + extensible: sinkModel + data: + - ["github.com/nonexistent/test", "SEmbedPtrS1", True, "Sink", "", "", "Argument[0]", "qltest", "manual"] + - ["github.com/nonexistent/test", "SEmbedPtrS1", True, "SinkField", "", "", "", "qltest", "manual"] diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SEmbedPtrS1_subtypes_true.ql b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SEmbedPtrS1_subtypes_true.ql new file mode 100644 index 000000000000..cf847c781bcc --- /dev/null +++ b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SEmbedPtrS1_subtypes_true.ql @@ -0,0 +1,26 @@ +import go +import ModelValidation +import TestUtilities.InlineExpectationsTest +import MakeTest + +module Config implements DataFlow::ConfigSig { + predicate isSource(DataFlow::Node source) { sourceNode(source, "qltest") } + + predicate isSink(DataFlow::Node sink) { sinkNode(sink, "qltest") } +} + +module Flow = TaintTracking::Global; + +module FlowTest implements TestSig { + string getARelevantTag() { result = "SEmbedPtrS1[t]" } + + predicate hasActualResult(Location location, string element, string tag, string value) { + tag = "SEmbedPtrS1[t]" and + exists(DataFlow::Node sink | Flow::flowTo(sink) | + sink.hasLocationInfo(location.getFile().getAbsolutePath(), location.getStartLine(), + location.getStartColumn(), location.getEndLine(), location.getEndColumn()) and + element = sink.toString() and + value = "" + ) + } +} diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SEmbedPtrS2_subtypes_true.expected b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SEmbedPtrS2_subtypes_true.expected new file mode 100644 index 000000000000..db33d6d2504a --- /dev/null +++ b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SEmbedPtrS2_subtypes_true.expected @@ -0,0 +1,3 @@ +testFailures +invalidModelRow +failures diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SEmbedPtrS2_subtypes_true.ext.yml b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SEmbedPtrS2_subtypes_true.ext.yml new file mode 100644 index 000000000000..50c72d96ce18 --- /dev/null +++ b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SEmbedPtrS2_subtypes_true.ext.yml @@ -0,0 +1,16 @@ +extensions: + - addsTo: + pack: codeql/go-all + extensible: sourceModel + data: + - ["github.com/nonexistent/test", "SEmbedPtrS2", True, "Source", "", "", "ReturnValue", "qltest", "manual"] + - addsTo: + pack: codeql/go-all + extensible: summaryModel + data: + - ["github.com/nonexistent/test", "SEmbedPtrS2", True, "Step", "", "", "Argument[0]", "ReturnValue", "value", "manual"] + - addsTo: + pack: codeql/go-all + extensible: sinkModel + data: + - ["github.com/nonexistent/test", "SEmbedPtrS2", True, "Sink", "", "", "Argument[0]", "qltest", "manual"] diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SEmbedPtrS2_subtypes_true.ql b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SEmbedPtrS2_subtypes_true.ql new file mode 100644 index 000000000000..0c7b05dd3ff8 --- /dev/null +++ b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/mad_SEmbedPtrS2_subtypes_true.ql @@ -0,0 +1,26 @@ +import go +import ModelValidation +import TestUtilities.InlineExpectationsTest +import MakeTest + +module Config implements DataFlow::ConfigSig { + predicate isSource(DataFlow::Node source) { sourceNode(source, "qltest") } + + predicate isSink(DataFlow::Node sink) { sinkNode(sink, "qltest") } +} + +module Flow = TaintTracking::Global; + +module FlowTest implements TestSig { + string getARelevantTag() { result = "SEmbedPtrS2[t]" } + + predicate hasActualResult(Location location, string element, string tag, string value) { + tag = "SEmbedPtrS2[t]" and + exists(DataFlow::Node sink | Flow::flowTo(sink) | + sink.hasLocationInfo(location.getFile().getAbsolutePath(), location.getStartLine(), + location.getStartColumn(), location.getEndLine(), location.getEndColumn()) and + element = sink.toString() and + value = "" + ) + } +} diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/ql_P1.expected b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/ql_P1.expected new file mode 100644 index 000000000000..db33d6d2504a --- /dev/null +++ b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/ql_P1.expected @@ -0,0 +1,3 @@ +testFailures +invalidModelRow +failures diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/ql_P1.ql b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/ql_P1.ql new file mode 100644 index 000000000000..3022e13ff749 --- /dev/null +++ b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/ql_P1.ql @@ -0,0 +1,54 @@ +import go +import ModelValidation +import TestUtilities.InlineExpectationsTest +import MakeTest + +module Config implements DataFlow::ConfigSig { + predicate isSource(DataFlow::Node source) { + exists(Method m | + m.hasQualifiedName("github.com/nonexistent/test", "P1", "Source") and + source = m.getACall().getResult() + ) + or + exists(Field f | + f.hasQualifiedName("github.com/nonexistent/test", "P1", "SourceField") and + source = f.getARead() + ) + } + + predicate isSink(DataFlow::Node sink) { + exists(Method m | + m.hasQualifiedName("github.com/nonexistent/test", "P1", "Sink") and + sink = m.getACall().getArgument(0) + ) + or + exists(Field f | + f.hasQualifiedName("github.com/nonexistent/test", "P1", "SinkField") and + any(DataFlow::Write w).writesField(_, f, sink) + ) + } +} + +module Flow = TaintTracking::Global; + +module FlowTest implements TestSig { + string getARelevantTag() { result = "ql_P1" } + + predicate hasActualResult(Location location, string element, string tag, string value) { + tag = "ql_P1" and + exists(DataFlow::Node sink | Flow::flowTo(sink) | + sink.hasLocationInfo(location.getFile().getAbsolutePath(), location.getStartLine(), + location.getStartColumn(), location.getEndLine(), location.getEndColumn()) and + element = sink.toString() and + value = "" + ) + } +} + +class MyStep extends DataFlow::FunctionModel, Method { + MyStep() { this.hasQualifiedName("github.com/nonexistent/test", "P1", "Step") } + + override predicate hasDataFlow(FunctionInput input, FunctionOutput output) { + input.isParameter(0) and output.isResult() + } +} diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/test_fields.go b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/test_fields.go index 4b6972d67917..86d5828ce120 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/test_fields.go +++ b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/test_fields.go @@ -4,9 +4,14 @@ import ( "github.com/nonexistent/test" ) +func TestFieldsP1(t test.P1) { + a := t.SourceField + t.SinkField = a // $ P1[f] P1[t] ql_P1 SPURIOUS: ql_S1 +} + func TestFieldsS1(t test.S1) { a := t.SourceField - t.SinkField = a // $ S1[f] S1[t] ql_S1 + t.SinkField = a // $ S1[f] S1[t] ql_S1 SPURIOUS: ql_P1 } func TestFieldsSEmbedI1(t test.SEmbedI1) { @@ -19,9 +24,29 @@ func TestFieldsSImplEmbedI1(t test.SImplEmbedI1) { t.SinkField = a // $ SImplEmbedI1[t] } +func TestFieldsPImplEmbedI1(t test.PImplEmbedI1) { + a := t.SourceField + t.SinkField = a // $ PImplEmbedI1[t] +} + +func TestFieldsSEmbedP1(t test.SEmbedP1) { + a := t.SourceField + t.SinkField = a // $ P1[t] SEmbedP1[t] ql_P1 SPURIOUS: ql_S1 +} + func TestFieldsSEmbedS1(t test.SEmbedS1) { a := t.SourceField - t.SinkField = a // $ S1[t] SEmbedS1[t] ql_S1 + t.SinkField = a // $ S1[t] SEmbedS1[t] ql_S1 SPURIOUS: ql_P1 +} + +func TestFieldsSEmbedPtrP1(t test.SEmbedPtrP1) { + a := t.SourceField + t.SinkField = a // $ P1[t] SEmbedPtrP1[t] ql_P1 SPURIOUS: ql_S1 +} + +func TestFieldsSEmbedPtrS1(t test.SEmbedPtrS1) { + a := t.SourceField + t.SinkField = a // $ S1[t] SEmbedPtrS1[t] ql_S1 SPURIOUS: ql_P1 } func TestFieldsSImplEmbedS1(t test.SImplEmbedS1) { @@ -36,10 +61,25 @@ func TestFieldsSEmbedSEmbedI1(t test.SEmbedSEmbedI1) { func TestFieldsSEmbedSEmbedS1(t test.SEmbedSEmbedS1) { a := t.SourceField - t.SinkField = a // $ S1[t] ql_S1 SEmbedS1[t] + t.SinkField = a // $ S1[t] SEmbedS1[t] ql_S1 SPURIOUS: ql_P1 +} + +func TestFieldsSEmbedSEmbedPtrS1(t test.SEmbedSEmbedPtrS1) { + a := t.SourceField + t.SinkField = a // $ S1[t] SEmbedPtrS1[t] ql_S1 SPURIOUS: ql_P1 +} + +func TestFieldsSEmbedPtrSEmbedS1(t test.SEmbedPtrSEmbedS1) { + a := t.SourceField + t.SinkField = a // $ S1[t] SEmbedS1[t] ql_S1 SPURIOUS: ql_P1 +} + +func TestFieldsSEmbedPtrSEmbedPtrS1(t test.SEmbedPtrSEmbedPtrS1) { + a := t.SourceField + t.SinkField = a // $ S1[t] SEmbedPtrS1[t] ql_S1 SPURIOUS: ql_P1 } func TestFieldsSEmbedS1AndSEmbedS1(t test.SEmbedS1AndSEmbedS1) { a := t.SourceField - t.SinkField = a // $ S1[t] ql_S1 + t.SinkField = a // $ S1[t] ql_S1 SPURIOUS: ql_P1 } diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/test_methods.go b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/test_methods.go index a106e4ee9d69..8d4c592e0cd1 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/test_methods.go +++ b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/test_methods.go @@ -7,7 +7,7 @@ import ( func TestMethodsI1(t test.I1) { x := t.Source() y := t.Step(x) - t.Sink(y) // $ I1[f] I1[t] ql_I1 SPURIOUS: ql_S1 + t.Sink(y) // $ I1[f] I1[t] ql_I1 SPURIOUS: ql_P1 ql_S1 } func TestMethodsI2(t test.I2) { @@ -22,16 +22,28 @@ func TestMethodsS1(t test.S1) { t.Sink(y) // $ I1[t] S1[f] S1[t] ql_S1 } +func TestMethodsP1(t test.P1) { + x := t.Source() + y := t.Step(x) + t.Sink(y) // $ I1[t] P1[f] P1[t] ql_P1 +} + func TestMethodsS2(t test.S2) { x := t.Source() y := t.Step(x) t.Sink(y) // $ I1[t] I2[t] } +func TestMethodsP2(t test.P2) { + x := t.Source() + y := t.Step(x) + t.Sink(y) // $ I1[t] I2[t] +} + func TestMethodsSEmbedI1(t test.SEmbedI1) { x := t.Source() y := t.Step(x) - t.Sink(y) // $ I1[t] SEmbedI1[t] ql_I1 SPURIOUS: ql_S1 + t.Sink(y) // $ I1[t] SEmbedI1[t] ql_I1 SPURIOUS: ql_P1 ql_S1 } func TestMethodsSEmbedI2(t test.SEmbedI2) { @@ -43,7 +55,7 @@ func TestMethodsSEmbedI2(t test.SEmbedI2) { func TestMethodsIEmbedI1(t test.IEmbedI1) { x := t.Source() y := t.Step(x) - t.Sink(y) // $ I1[t] IEmbedI1[t] ql_I1 SPURIOUS: ql_S1 + t.Sink(y) // $ I1[t] IEmbedI1[t] ql_I1 SPURIOUS: ql_P1 ql_S1 } func TestMethodsIEmbedI2(t test.IEmbedI2) { @@ -64,6 +76,18 @@ func TestMethodsSImplEmbedI2(t test.SImplEmbedI2) { t.Sink(y) // $ I1[t] I2[t] SImplEmbedI2[t] } +func TestMethodsPImplEmbedI1(t test.PImplEmbedI1) { + x := t.Source() + y := t.Step(x) + t.Sink(y) // $ I1[t] PImplEmbedI1[t] +} + +func TestMethodsPImplEmbedI2(t test.PImplEmbedI2) { + x := t.Source() + y := t.Step(x) + t.Sink(y) // $ I1[t] I2[t] PImplEmbedI2[t] +} + func TestMethodsSEmbedS1(t test.SEmbedS1) { x := t.Source() y := t.Step(x) @@ -76,6 +100,30 @@ func TestMethodsSEmbedS2(t test.SEmbedS2) { t.Sink(y) // $ I1[t] I2[t] SEmbedS2[t] } +func TestMethodsSEmbedPtrS1(t test.SEmbedPtrS1) { + x := t.Source() + y := t.Step(x) + t.Sink(y) // $ I1[t] S1[t] SEmbedPtrS1[t] ql_S1 +} + +func TestMethodsSEmbedPtrS2(t test.SEmbedPtrS2) { + x := t.Source() + y := t.Step(x) + t.Sink(y) // $ I1[t] I2[t] SEmbedPtrS2[t] +} + +func TestMethodsSEmbedP1(t *test.SEmbedP1) { + x := t.Source() + y := t.Step(x) + t.Sink(y) // $ I1[t] P1[t] SEmbedP1[t] ql_P1 +} + +func TestMethodsSEmbedP2(t *test.SEmbedP2) { + x := t.Source() + y := t.Step(x) + t.Sink(y) // $ I1[t] I2[t] SEmbedP2[t] +} + func TestMethodsSImplEmbedS1(t test.SImplEmbedS1) { x := t.Source() y := t.Step(x) @@ -91,7 +139,7 @@ func TestMethodsSImplEmbedS2(t test.SImplEmbedS2) { func TestMethodsSEmbedSEmbedI1(t test.SEmbedSEmbedI1) { x := t.Source() y := t.Step(x) - t.Sink(y) // $ I1[t] SEmbedI1[t] ql_I1 SPURIOUS: ql_S1 + t.Sink(y) // $ I1[t] SEmbedI1[t] ql_I1 SPURIOUS: ql_P1 ql_S1 } func TestMethodsSEmbedSEmbedS1(t test.SEmbedSEmbedS1) { @@ -100,6 +148,24 @@ func TestMethodsSEmbedSEmbedS1(t test.SEmbedSEmbedS1) { t.Sink(y) // $ I1[t] S1[t] SEmbedS1[t] ql_S1 } +func TestMethodsSEmbedSEmbedPtrS1(t test.SEmbedSEmbedPtrS1) { + x := t.Source() + y := t.Step(x) + t.Sink(y) // $ I1[t] S1[t] SEmbedPtrS1[t] ql_S1 +} + +func TestMethodsSEmbedPtrSEmbedS1(t test.SEmbedPtrSEmbedS1) { + x := t.Source() + y := t.Step(x) + t.Sink(y) // $ I1[t] S1[t] SEmbedS1[t] ql_S1 +} + +func TestMethodsSEmbedPtrSEmbedPtrS1(t test.SEmbedPtrSEmbedPtrS1) { + x := t.Source() + y := t.Step(x) + t.Sink(y) // $ I1[t] S1[t] SEmbedPtrS1[t] ql_S1 +} + func TestMethodsSEmbedS1AndSEmbedS1(t test.SEmbedS1AndSEmbedS1) { x := t.Source() y := t.Step(x) diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/vendor/github.com/nonexistent/test/stub.go b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/vendor/github.com/nonexistent/test/stub.go index f2ee55d438ea..093c24eab9d9 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/vendor/github.com/nonexistent/test/stub.go +++ b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/vendor/github.com/nonexistent/test/stub.go @@ -21,30 +21,61 @@ type S1 struct { SinkField string } -func (t *S1) Source() interface{} { +func (t S1) Source() interface{} { return nil } -func (t *S1) Sink(interface{}) {} +func (t S1) Sink(interface{}) {} -func (t *S1) Step(val interface{}) interface{} { +func (t S1) Step(val interface{}) interface{} { + return val +} + +// A struct type whose pointer type implements I1 +type P1 struct { + SourceField string + SinkField string +} + +func (t *P1) Source() interface{} { + return nil +} + +func (t *P1) Sink(interface{}) {} + +func (t *P1) Step(val interface{}) interface{} { return val } // A struct type implementing I2 type S2 struct{} -func (t *S2) Source() interface{} { +func (t S2) Source() interface{} { + return nil +} + +func (t S2) Sink(interface{}) {} + +func (t S2) Step(val interface{}) interface{} { + return val +} + +func (t S2) ExtraMethodI2() {} + +// A struct type whose pointer type implements I2 +type P2 struct{} + +func (t *P2) Source() interface{} { return nil } -func (t *S2) Sink(interface{}) {} +func (t *P2) Sink(interface{}) {} -func (t *S2) Step(val interface{}) interface{} { +func (t *P2) Step(val interface{}) interface{} { return val } -func (t *S2) ExtraMethodI2() {} +func (t *P2) ExtraMethodI2() {} // A struct type embedding I1 type SEmbedI1 struct { @@ -76,13 +107,13 @@ type SImplEmbedI1 struct { SinkField string } -func (t *SImplEmbedI1) Source() interface{} { +func (t SImplEmbedI1) Source() interface{} { return nil } -func (t *SImplEmbedI1) Sink(interface{}) {} +func (t SImplEmbedI1) Sink(interface{}) {} -func (t *SImplEmbedI1) Step(val interface{}) interface{} { +func (t SImplEmbedI1) Step(val interface{}) interface{} { return val } @@ -90,26 +121,76 @@ func (t *SImplEmbedI1) Step(val interface{}) interface{} { // methods of the embedded field are not promoted. type SImplEmbedI2 struct{ I2 } -func (t *SImplEmbedI2) Source() interface{} { +func (t SImplEmbedI2) Source() interface{} { return nil } -func (t *SImplEmbedI2) Sink(interface{}) {} +func (t SImplEmbedI2) Sink(interface{}) {} -func (t *SImplEmbedI2) Step(val interface{}) interface{} { +func (t SImplEmbedI2) Step(val interface{}) interface{} { return val } -func (t *SImplEmbedI2) ExtraMethodI2() {} +func (t SImplEmbedI2) ExtraMethodI2() {} -// A struct type embedding S1 -type SEmbedS1 struct { - S1 +// A struct type embedding I1 and separately implementing its methods on its +// pointer type, so the methods of the embedded field are not promoted. +type PImplEmbedI1 struct { + I1 + SourceField string + SinkField string +} + +func (t *PImplEmbedI1) Source() interface{} { + return nil } +func (t *PImplEmbedI1) Sink(interface{}) {} + +func (t *PImplEmbedI1) Step(val interface{}) interface{} { + return val +} + +// A struct type embedding I2 and separately implementing its methods, so the +// methods of the embedded field are not promoted. +type PImplEmbedI2 struct{ I2 } + +func (t *PImplEmbedI2) Source() interface{} { + return nil +} + +func (t *PImplEmbedI2) Sink(interface{}) {} + +func (t *PImplEmbedI2) Step(val interface{}) interface{} { + return val +} + +func (t *PImplEmbedI2) ExtraMethodI2() {} + +// A struct type embedding S1 +type SEmbedS1 struct{ S1 } + // A struct type embedding S2 type SEmbedS2 struct{ S2 } +// A struct type embedding P1 +type SEmbedP1 struct{ P1 } + +// A struct type embedding P2 +type SEmbedP2 struct{ P2 } + +// A struct type embedding *S1 +type SEmbedPtrS1 struct{ *S1 } + +// A struct type embedding *S2 +type SEmbedPtrS2 struct{ *S2 } + +// A struct type embedding *P1 +type SEmbedPtrP1 struct{ *P1 } + +// A struct type embedding *P2 +type SEmbedPtrP2 struct{ *P2 } + // A struct type embedding S1 and separately implementing I1's methods and // fields, so the methods and fields of the embedded field are not promoted. type SImplEmbedS1 struct { @@ -154,6 +235,15 @@ type SEmbedSEmbedI1 struct { // A struct type embedding SEmbedS1 type SEmbedSEmbedS1 struct{ SEmbedS1 } +// A struct type embedding SEmbedPtrS1 +type SEmbedSEmbedPtrS1 struct{ SEmbedPtrS1 } + +// A struct type embedding SEmbedS1 +type SEmbedPtrSEmbedS1 struct{ *SEmbedS1 } + +// A struct type embedding SEmbedPtrS1 +type SEmbedPtrSEmbedPtrS1 struct{ *SEmbedPtrS1 } + // A struct type embedding S1 and SEmbedS1 type SEmbedS1AndSEmbedS1 struct { S1 From b6a31b1def6f74410231d09d2225225b28fa7a2f Mon Sep 17 00:00:00 2001 From: Owen Mansel-Chan Date: Wed, 30 Oct 2024 14:48:45 +0000 Subject: [PATCH 130/347] Restrict to Methods --- go/ql/lib/semmle/go/dataflow/internal/FlowSummaryImpl.qll | 1 + 1 file changed, 1 insertion(+) diff --git a/go/ql/lib/semmle/go/dataflow/internal/FlowSummaryImpl.qll b/go/ql/lib/semmle/go/dataflow/internal/FlowSummaryImpl.qll index 4e2d1552dab9..4770297bfcc4 100644 --- a/go/ql/lib/semmle/go/dataflow/internal/FlowSummaryImpl.qll +++ b/go/ql/lib/semmle/go/dataflow/internal/FlowSummaryImpl.qll @@ -243,6 +243,7 @@ module SourceSinkInterpretationInput implements ( not callTarget instanceof Method or + callTarget instanceof Method and elementAppliesToQualifier(result, cn.getReceiver()) ) ) From 3986dffc9180d055bfc02b916e2bac0fdb64723e Mon Sep 17 00:00:00 2001 From: Owen Mansel-Chan Date: Wed, 30 Oct 2024 15:45:49 +0000 Subject: [PATCH 131/347] Keep methods and fields separate in SourceOrSinkElement This improves performance. --- go/ql/lib/semmle/go/dataflow/ExternalFlow.qll | 8 ++--- .../go/dataflow/internal/FlowSummaryImpl.qll | 34 +++++++++++-------- 2 files changed, 24 insertions(+), 18 deletions(-) diff --git a/go/ql/lib/semmle/go/dataflow/ExternalFlow.qll b/go/ql/lib/semmle/go/dataflow/ExternalFlow.qll index c557b5af7de3..c738221c093e 100644 --- a/go/ql/lib/semmle/go/dataflow/ExternalFlow.qll +++ b/go/ql/lib/semmle/go/dataflow/ExternalFlow.qll @@ -477,8 +477,8 @@ SourceSinkInterpretationInput::SourceOrSinkElement interpretElement( exists(string p | p = interpretPackage(pkg) | result.hasTypeInfo(p, type, subtypes) and ( - result.asEntity().(Field).hasQualifiedName(p, type, name) or - result.asEntity().(Method).hasQualifiedName(p, type, name) + result.asFieldEntity().hasQualifiedName(p, type, name) or + result.asMethodEntity().hasQualifiedName(p, type, name) ) or subtypes = true and @@ -488,12 +488,12 @@ SourceSinkInterpretationInput::SourceOrSinkElement interpretElement( m2.getName() = name and m2.getReceiverBaseType().hasQualifiedName(pkg2, type2) | - result.asEntity() = m2 and + result.asMethodEntity() = m2 and result.hasTypeInfo(pkg2, type2, subtypes) ) or type = "" and - exists(Entity e | e.hasQualifiedName(p, name) | result.asEntity() = e) + exists(Entity e | e.hasQualifiedName(p, name) | result.asOtherEntity() = e) ) } diff --git a/go/ql/lib/semmle/go/dataflow/internal/FlowSummaryImpl.qll b/go/ql/lib/semmle/go/dataflow/internal/FlowSummaryImpl.qll index 4770297bfcc4..792584e1da7a 100644 --- a/go/ql/lib/semmle/go/dataflow/internal/FlowSummaryImpl.qll +++ b/go/ql/lib/semmle/go/dataflow/internal/FlowSummaryImpl.qll @@ -153,11 +153,12 @@ module SourceSinkInterpretationInput implements // Methods having multiple qualified names, a given Method is liable to have // more than one SourceOrSinkElement, one for each of the names it claims. private newtype TSourceOrSinkElement = - TMethodOrFieldEntityElement(Entity e, string pkg, string type, boolean subtypes) { - ( - e.(Method).hasQualifiedName(pkg, type, _) or - e.(Field).hasQualifiedName(pkg, type, _) - ) and + TMethodEntityElement(Method m, string pkg, string type, boolean subtypes) { + m.hasQualifiedName(pkg, type, _) and + subtypes = [true, false] + } or + TFieldEntityElement(Field f, string pkg, string type, boolean subtypes) { + f.hasQualifiedName(pkg, type, _) and subtypes = [true, false] } or TOtherEntityElement(Entity e) { @@ -170,10 +171,15 @@ module SourceSinkInterpretationInput implements class SourceOrSinkElement extends TSourceOrSinkElement { /** Gets this source or sink element as an entity, if it is one. */ Entity asEntity() { - this = TMethodOrFieldEntityElement(result, _, _, _) or - this = TOtherEntityElement(result) + result = [this.asMethodEntity(), this.asFieldEntity(), this.asOtherEntity()] } + Method asMethodEntity() { this = TMethodEntityElement(result, _, _, _) } + + Field asFieldEntity() { this = TFieldEntityElement(result, _, _, _) } + + Entity asOtherEntity() { this = TOtherEntityElement(result) } + /** Gets this source or sink element as an AST node, if it is one. */ AstNode asAstNode() { this = TAstElement(result) } @@ -182,7 +188,8 @@ module SourceSinkInterpretationInput implements * with the given values for `pkg`, `type` and `subtypes`. */ predicate hasTypeInfo(string pkg, string type, boolean subtypes) { - this = TMethodOrFieldEntityElement(_, pkg, type, subtypes) + this = TMethodEntityElement(_, pkg, type, subtypes) or + this = TFieldEntityElement(_, pkg, type, subtypes) } /** Gets a textual representation of this source or sink element. */ @@ -239,11 +246,10 @@ module SourceSinkInterpretationInput implements cn = this.asCall().getNode() and callTarget = cn.getTarget() | - result.asEntity() = callTarget and ( - not callTarget instanceof Method + result.asOtherEntity() = callTarget or - callTarget instanceof Method and + result.asMethodEntity() = callTarget and elementAppliesToQualifier(result, cn.getReceiver()) ) ) @@ -302,7 +308,7 @@ module SourceSinkInterpretationInput implements // `syntacticQualBaseType`'s underlying type might be a struct type and `sse` // might be a promoted method or field in it. targetType = - getIntermediateEmbeddedType(sse.asEntity(), syntacticQualBaseType.getUnderlyingType()) + getIntermediateEmbeddedType(sse.asMethodEntity(), syntacticQualBaseType.getUnderlyingType()) ) ) } @@ -382,7 +388,7 @@ module SourceSinkInterpretationInput implements or exists(DataFlow::FieldReadNode frn | frn = n | c = "" and - frn.getField() = pragma[only_bind_into](e).asEntity() and + frn.getField() = pragma[only_bind_into](e).asFieldEntity() and elementAppliesToQualifier(pragma[only_bind_into](e), frn.getBase()) ) ) @@ -400,7 +406,7 @@ module SourceSinkInterpretationInput implements or exists(SourceOrSinkElement e, DataFlow::Write fw, DataFlow::Node base, Field f | e = mid.asElement() and - f = e.asEntity() + f = e.asFieldEntity() | c = "" and fw.writesField(base, f, node.asNode()) and From 6af5b55d5123660b51b2ecdc463e9f6e49374625 Mon Sep 17 00:00:00 2001 From: Owen Mansel-Chan Date: Wed, 6 Nov 2024 14:24:39 +0000 Subject: [PATCH 132/347] Refactor elementAppliesToQualifier This is needed for performance when there are lots of embeddings. --- go/ql/lib/semmle/go/dataflow/ExternalFlow.qll | 10 ++- .../go/dataflow/internal/FlowSummaryImpl.qll | 63 ++++++++++--------- 2 files changed, 38 insertions(+), 35 deletions(-) diff --git a/go/ql/lib/semmle/go/dataflow/ExternalFlow.qll b/go/ql/lib/semmle/go/dataflow/ExternalFlow.qll index c738221c093e..a59c7294e802 100644 --- a/go/ql/lib/semmle/go/dataflow/ExternalFlow.qll +++ b/go/ql/lib/semmle/go/dataflow/ExternalFlow.qll @@ -475,10 +475,9 @@ SourceSinkInterpretationInput::SourceOrSinkElement interpretElement( // Go does not need to distinguish functions with signature signature = "" and exists(string p | p = interpretPackage(pkg) | - result.hasTypeInfo(p, type, subtypes) and - ( - result.asFieldEntity().hasQualifiedName(p, type, name) or - result.asMethodEntity().hasQualifiedName(p, type, name) + exists(Entity e | result.hasFullInfo(e, p, type, subtypes) | + e.(Field).hasQualifiedName(p, type, name) or + e.(Method).hasQualifiedName(p, type, name) ) or subtypes = true and @@ -488,8 +487,7 @@ SourceSinkInterpretationInput::SourceOrSinkElement interpretElement( m2.getName() = name and m2.getReceiverBaseType().hasQualifiedName(pkg2, type2) | - result.asMethodEntity() = m2 and - result.hasTypeInfo(pkg2, type2, subtypes) + result.hasFullInfo(m2, pkg2, type2, subtypes) ) or type = "" and diff --git a/go/ql/lib/semmle/go/dataflow/internal/FlowSummaryImpl.qll b/go/ql/lib/semmle/go/dataflow/internal/FlowSummaryImpl.qll index 792584e1da7a..ed3006a8d740 100644 --- a/go/ql/lib/semmle/go/dataflow/internal/FlowSummaryImpl.qll +++ b/go/ql/lib/semmle/go/dataflow/internal/FlowSummaryImpl.qll @@ -185,23 +185,23 @@ module SourceSinkInterpretationInput implements /** * Holds if this source or sink element is a method or field that was specified - * with the given values for `pkg`, `type` and `subtypes`. + * with the given values for `e`, `pkg`, `type` and `subtypes`. */ - predicate hasTypeInfo(string pkg, string type, boolean subtypes) { - this = TMethodEntityElement(_, pkg, type, subtypes) or - this = TFieldEntityElement(_, pkg, type, subtypes) + predicate hasFullInfo(Entity e, string pkg, string type, boolean subtypes) { + this = TMethodEntityElement(e, pkg, type, subtypes) or + this = TFieldEntityElement(e, pkg, type, subtypes) } /** Gets a textual representation of this source or sink element. */ string toString() { - not this.hasTypeInfo(_, _, _) and + (this instanceof TOtherEntityElement or this instanceof TAstElement) and result = "element representing " + [this.asEntity().toString(), this.asAstNode().toString()] or - exists(string pkg, string name, boolean subtypes | - this.hasTypeInfo(pkg, name, subtypes) and + exists(Entity e, string pkg, string name, boolean subtypes | + this.hasFullInfo(e, pkg, name, subtypes) and result = - "element representing " + this.asEntity().toString() + " with receiver type " + pkg + "." + - name + " and subtypes=" + subtypes + "element representing " + e.toString() + " with receiver type " + pkg + "." + name + + " and subtypes=" + subtypes ) } @@ -249,8 +249,8 @@ module SourceSinkInterpretationInput implements ( result.asOtherEntity() = callTarget or - result.asMethodEntity() = callTarget and - elementAppliesToQualifier(result, cn.getReceiver()) + callTarget instanceof Method and + result = getElementWithQualifier(callTarget, cn.getReceiver()) ) ) } @@ -278,22 +278,20 @@ module SourceSinkInterpretationInput implements } /** - * Holds if method or field spec `sse` applies in the context of qualifier `qual`. + * Gets a method or field spec for `e` which applies in the context of + * qualifier `qual`. * - * Note that naively checking `sse.asEntity()`'s qualified name is not correct, because - * `Method`s and `Field`s may have multiple qualified names due to embedding. We must instead - * check that the specific name given by `sse.hasTypeInfo` refers to either `qual`'s type - * or to a type it embeds. + * Note that naively checking `e`'s qualified name is not correct, because + * `Method`s and `Field`s may have multiple qualified names due to embedding. + * We must instead check that the package and type name given by + * `result.hasFullInfo` refer to either `qual`'s type or to a type it embeds. */ - bindingset[sse, qual] + bindingset[e, qual] pragma[inline_late] - private predicate elementAppliesToQualifier(SourceOrSinkElement sse, DataFlow::Node qual) { - exists( - string pkg, string typename, boolean subtypes, Type syntacticQualBaseType, Type targetType - | - sse.hasTypeInfo(pkg, typename, subtypes) and - targetType.hasQualifiedName(pkg, typename) and - syntacticQualBaseType = getSyntacticQualifierBaseType(qual) + private SourceOrSinkElement getElementWithQualifier(Entity e, DataFlow::Node qual) { + exists(boolean subtypes, Type syntacticQualBaseType, Type targetType | + syntacticQualBaseType = getSyntacticQualifierBaseType(qual) and + result = constructElement(e, targetType, subtypes) | subtypes = [true, false] and syntacticQualBaseType = targetType @@ -307,12 +305,20 @@ module SourceSinkInterpretationInput implements or // `syntacticQualBaseType`'s underlying type might be a struct type and `sse` // might be a promoted method or field in it. - targetType = - getIntermediateEmbeddedType(sse.asMethodEntity(), syntacticQualBaseType.getUnderlyingType()) + targetType = getIntermediateEmbeddedType(e, syntacticQualBaseType.getUnderlyingType()) ) ) } + bindingset[e, targetType, subtypes] + pragma[inline_late] + private SourceOrSinkElement constructElement(Entity e, Type targetType, boolean subtypes) { + exists(string pkg, string typename | + targetType.hasQualifiedName(pkg, typename) and + result.hasFullInfo(e, pkg, typename, subtypes) + ) + } + /** * Gets the type of an embedded field of `st` which is on the path to `e`, * which is a promoted method or field of `st`, or its base type if it's a @@ -388,8 +394,7 @@ module SourceSinkInterpretationInput implements or exists(DataFlow::FieldReadNode frn | frn = n | c = "" and - frn.getField() = pragma[only_bind_into](e).asFieldEntity() and - elementAppliesToQualifier(pragma[only_bind_into](e), frn.getBase()) + pragma[only_bind_into](e) = getElementWithQualifier(frn.getField(), frn.getBase()) ) ) } @@ -410,7 +415,7 @@ module SourceSinkInterpretationInput implements | c = "" and fw.writesField(base, f, node.asNode()) and - elementAppliesToQualifier(pragma[only_bind_into](e), base) + pragma[only_bind_into](e) = getElementWithQualifier(f, base) ) } } From d3a6452860926873a0cbdbe91e2755bd9ed1ca71 Mon Sep 17 00:00:00 2001 From: Owen Mansel-Chan Date: Wed, 6 Nov 2024 16:42:14 +0000 Subject: [PATCH 133/347] Add missing QLDoc --- go/ql/lib/semmle/go/dataflow/internal/FlowSummaryImpl.qll | 3 +++ 1 file changed, 3 insertions(+) diff --git a/go/ql/lib/semmle/go/dataflow/internal/FlowSummaryImpl.qll b/go/ql/lib/semmle/go/dataflow/internal/FlowSummaryImpl.qll index ed3006a8d740..9efb61cf3eaf 100644 --- a/go/ql/lib/semmle/go/dataflow/internal/FlowSummaryImpl.qll +++ b/go/ql/lib/semmle/go/dataflow/internal/FlowSummaryImpl.qll @@ -174,10 +174,13 @@ module SourceSinkInterpretationInput implements result = [this.asMethodEntity(), this.asFieldEntity(), this.asOtherEntity()] } + /** Gets this source or sink element as a method, if it is one. */ Method asMethodEntity() { this = TMethodEntityElement(result, _, _, _) } + /** Gets this source or sink element as a field, if it is one. */ Field asFieldEntity() { this = TFieldEntityElement(result, _, _, _) } + /** Gets this source or sink element as an entity which isn't a field or method, if it is one. */ Entity asOtherEntity() { this = TOtherEntityElement(result) } /** Gets this source or sink element as an AST node, if it is one. */ From 13fb92ad3e77d5211917166cb0a0d202a4c3d695 Mon Sep 17 00:00:00 2001 From: Owen Mansel-Chan Date: Mon, 11 Nov 2024 23:53:14 +0000 Subject: [PATCH 134/347] Rename `getIntermediateEmbeddedType` --- go/ql/lib/semmle/go/dataflow/internal/FlowSummaryImpl.qll | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/go/ql/lib/semmle/go/dataflow/internal/FlowSummaryImpl.qll b/go/ql/lib/semmle/go/dataflow/internal/FlowSummaryImpl.qll index 9efb61cf3eaf..b82039a32fe3 100644 --- a/go/ql/lib/semmle/go/dataflow/internal/FlowSummaryImpl.qll +++ b/go/ql/lib/semmle/go/dataflow/internal/FlowSummaryImpl.qll @@ -308,7 +308,7 @@ module SourceSinkInterpretationInput implements or // `syntacticQualBaseType`'s underlying type might be a struct type and `sse` // might be a promoted method or field in it. - targetType = getIntermediateEmbeddedType(e, syntacticQualBaseType.getUnderlyingType()) + targetType = getAnIntermediateEmbeddedType(e, syntacticQualBaseType.getUnderlyingType()) ) ) } @@ -327,7 +327,7 @@ module SourceSinkInterpretationInput implements * which is a promoted method or field of `st`, or its base type if it's a * pointer type. */ - private Type getIntermediateEmbeddedType(Entity e, StructType st) { + private Type getAnIntermediateEmbeddedType(Entity e, StructType st) { exists(Field field1, Field field2, int depth1, int depth2, Type t2 | field1 = st.getFieldAtDepth(_, depth1) and field2 = st.getFieldAtDepth(_, depth2) and From fd4a6d4bb83f00aeb0d40550ae22dd151c066bbb Mon Sep 17 00:00:00 2001 From: Owen Mansel-Chan Date: Mon, 11 Nov 2024 23:55:57 +0000 Subject: [PATCH 135/347] Change note --- .../change-notes/2024-11-11-models-as-data-subtypes-column.md | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 go/ql/lib/change-notes/2024-11-11-models-as-data-subtypes-column.md diff --git a/go/ql/lib/change-notes/2024-11-11-models-as-data-subtypes-column.md b/go/ql/lib/change-notes/2024-11-11-models-as-data-subtypes-column.md new file mode 100644 index 000000000000..25115f74d711 --- /dev/null +++ b/go/ql/lib/change-notes/2024-11-11-models-as-data-subtypes-column.md @@ -0,0 +1,4 @@ +--- +category: fix +--- +* The behaviour of the `subtypes` column in models-as-data now matches other languages more closely. From 63d84edfae92fe4b9a0b6fd309a1a0e708bc6925 Mon Sep 17 00:00:00 2001 From: Simon Friis Vindum Date: Tue, 12 Nov 2024 08:37:56 +0100 Subject: [PATCH 136/347] Rust: Fix minor issues from PR feedback --- .../rust/controlflow/ControlFlowGraph.qll | 5 ----- .../internal/ControlFlowGraphImpl.qll | 2 +- .../rust/controlflow/internal/Scope.qll | 19 ++++--------------- .../rust/dataflow/internal/DataFlowImpl.qll | 4 ++-- .../codeql/rust/dataflow/internal/SsaImpl.qll | 15 +++++++++------ .../rust/elements/internal/AstNodeImpl.qll | 11 +++++++++++ .../rust/elements/internal/VariableImpl.qll | 2 +- .../variables/variables.expected | 2 -- .../test/library-tests/variables/variables.rs | 2 +- 9 files changed, 29 insertions(+), 33 deletions(-) diff --git a/rust/ql/lib/codeql/rust/controlflow/ControlFlowGraph.qll b/rust/ql/lib/codeql/rust/controlflow/ControlFlowGraph.qll index 28965b1b18fc..20f1af4a4afb 100644 --- a/rust/ql/lib/codeql/rust/controlflow/ControlFlowGraph.qll +++ b/rust/ql/lib/codeql/rust/controlflow/ControlFlowGraph.qll @@ -9,8 +9,6 @@ private import BasicBlocks final class CfgScope = Scope::CfgScope; -predicate getEnclosingCfgScope = Scope::getEnclosingCfgScope/1; - final class SuccessorType = SuccessorTypeImpl; final class NormalSuccessor = NormalSuccessorImpl; @@ -54,6 +52,3 @@ final class CfgNode extends Node { /** Gets the basic block that this control flow node belongs to. */ BasicBlock getBasicBlock() { result.getANode() = this } } - -/** Holds if evaluating `e` jumps to the evaluation of a different CFG scope. */ -predicate isControlFlowJump(Expr e) { e instanceof CallExprBase or e instanceof AwaitExpr } diff --git a/rust/ql/lib/codeql/rust/controlflow/internal/ControlFlowGraphImpl.qll b/rust/ql/lib/codeql/rust/controlflow/internal/ControlFlowGraphImpl.qll index 649b4729dc3e..b331ddd2d540 100644 --- a/rust/ql/lib/codeql/rust/controlflow/internal/ControlFlowGraphImpl.qll +++ b/rust/ql/lib/codeql/rust/controlflow/internal/ControlFlowGraphImpl.qll @@ -23,7 +23,7 @@ private module CfgInput implements InputSig { class CfgScope = Scope::CfgScope; CfgScope getCfgScope(AstNode n) { - result = Scope::getEnclosingCfgScope(n) and + result = n.getEnclosingCfgScope() and Stages::CfgStage::ref() } diff --git a/rust/ql/lib/codeql/rust/controlflow/internal/Scope.qll b/rust/ql/lib/codeql/rust/controlflow/internal/Scope.qll index dcbf3548c390..5a752abf4b9a 100644 --- a/rust/ql/lib/codeql/rust/controlflow/internal/Scope.qll +++ b/rust/ql/lib/codeql/rust/controlflow/internal/Scope.qll @@ -16,13 +16,12 @@ abstract private class CfgScopeImpl extends AstNode { final class CfgScope = CfgScopeImpl; -final class AsyncBlockScope extends CfgScopeImpl, AsyncBlockExpr { - override predicate scopeFirst(AstNode first) { - first(this.(ExprTrees::AsyncBlockExprTree).getFirstChildNode(), first) - } +final class AsyncBlockScope extends CfgScopeImpl, AsyncBlockExpr instanceof ExprTrees::AsyncBlockExprTree +{ + override predicate scopeFirst(AstNode first) { first(super.getFirstChildNode(), first) } override predicate scopeLast(AstNode last, Completion c) { - last(this.(ExprTrees::AsyncBlockExprTree).getLastChildElement(), last, c) + last(super.getLastChildElement(), last, c) } } @@ -52,13 +51,3 @@ final class CallableScope extends CfgScopeImpl, Callable { /** Holds if `scope` is exited when `last` finishes with completion `c`. */ override predicate scopeLast(AstNode last, Completion c) { last(this.getBody(), last, c) } } - -/** Gets the CFG scope that encloses `node`, if any. */ -CfgScope getEnclosingCfgScope(AstNode node) { - exists(AstNode p | p = node.getParentNode() | - result = p - or - not p instanceof CfgScope and - result = getEnclosingCfgScope(p) - ) -} diff --git a/rust/ql/lib/codeql/rust/dataflow/internal/DataFlowImpl.qll b/rust/ql/lib/codeql/rust/dataflow/internal/DataFlowImpl.qll index c93e374902a8..813c637af8df 100644 --- a/rust/ql/lib/codeql/rust/dataflow/internal/DataFlowImpl.qll +++ b/rust/ql/lib/codeql/rust/dataflow/internal/DataFlowImpl.qll @@ -134,7 +134,7 @@ module Node { ExprNode() { this = TExprNode(n) } - override CfgScope getCfgScope() { result = getEnclosingCfgScope(this.asExpr()) } + override CfgScope getCfgScope() { result = this.asExpr().getEnclosingCfgScope() } override Location getLocation() { result = n.getExpr().getLocation() } @@ -154,7 +154,7 @@ module Node { ParameterNode() { this = TParameterNode(parameter) } - override CfgScope getCfgScope() { result = getEnclosingCfgScope(parameter) } + override CfgScope getCfgScope() { result = parameter.getEnclosingCfgScope() } override Location getLocation() { result = parameter.getLocation() } diff --git a/rust/ql/lib/codeql/rust/dataflow/internal/SsaImpl.qll b/rust/ql/lib/codeql/rust/dataflow/internal/SsaImpl.qll index 955dd9995a24..d5263fca8106 100644 --- a/rust/ql/lib/codeql/rust/dataflow/internal/SsaImpl.qll +++ b/rust/ql/lib/codeql/rust/dataflow/internal/SsaImpl.qll @@ -156,7 +156,7 @@ private predicate variableReadActual(BasicBlock bb, int i, Variable v) { */ pragma[noinline] private predicate hasCapturedWrite(Variable v, Cfg::CfgScope scope) { - any(VariableWriteAccess write | write.getVariable() = v and scope = getEnclosingCfgScope+(write)) + any(VariableWriteAccess write | write.getVariable() = v and scope = write.getEnclosingCfgScope+()) .isCapture() } @@ -168,7 +168,7 @@ pragma[noinline] private predicate variableReadActualInOuterScope( BasicBlock bb, int i, Variable v, Cfg::CfgScope scope ) { - variableReadActual(bb, i, v) and bb.getScope() = getEnclosingCfgScope(scope) + variableReadActual(bb, i, v) and bb.getScope() = scope.getEnclosingCfgScope() } pragma[noinline] @@ -263,7 +263,7 @@ private predicate readsCapturedVariable(BasicBlock bb, Variable v) { */ pragma[noinline] private predicate hasCapturedRead(Variable v, Cfg::CfgScope scope) { - any(VariableReadAccess read | read.getVariable() = v and scope = getEnclosingCfgScope+(read)) + any(VariableReadAccess read | read.getVariable() = v and scope = read.getEnclosingCfgScope+()) .isCapture() } @@ -273,15 +273,18 @@ private predicate hasCapturedRead(Variable v, Cfg::CfgScope scope) { */ pragma[noinline] private predicate variableWriteInOuterScope(BasicBlock bb, int i, Variable v, Cfg::CfgScope scope) { - SsaInput::variableWrite(bb, i, v, _) and getEnclosingCfgScope(scope) = bb.getScope() + SsaInput::variableWrite(bb, i, v, _) and scope.getEnclosingCfgScope() = bb.getScope() } +/** Holds if evaluating `e` jumps to the evaluation of a different CFG scope. */ +private predicate isControlFlowJump(Expr e) { e instanceof CallExprBase or e instanceof AwaitExpr } + /** * Holds if the call `call` at index `i` in basic block `bb` may reach * a callable that reads captured variable `v`. */ private predicate capturedCallRead(Expr call, BasicBlock bb, int i, Variable v) { - Cfg::isControlFlowJump(call) and + isControlFlowJump(call) and exists(Cfg::CfgScope scope | hasCapturedRead(v, scope) and ( @@ -297,7 +300,7 @@ private predicate capturedCallRead(Expr call, BasicBlock bb, int i, Variable v) * that writes captured variable `v`. */ predicate capturedCallWrite(Expr call, BasicBlock bb, int i, Variable v) { - Cfg::isControlFlowJump(call) and + isControlFlowJump(call) and call = bb.getNode(i).getAstNode() and exists(Cfg::CfgScope scope | hasVariableReadWithCapturedWrite(bb, any(int j | j > i), v, scope) diff --git a/rust/ql/lib/codeql/rust/elements/internal/AstNodeImpl.qll b/rust/ql/lib/codeql/rust/elements/internal/AstNodeImpl.qll index b3dd56706032..c198436ea3e0 100644 --- a/rust/ql/lib/codeql/rust/elements/internal/AstNodeImpl.qll +++ b/rust/ql/lib/codeql/rust/elements/internal/AstNodeImpl.qll @@ -5,6 +5,7 @@ */ private import codeql.rust.elements.internal.generated.AstNode +private import codeql.rust.controlflow.ControlFlowGraph /** * INTERNAL: This module contains the customizable definition of `AstNode` and should not @@ -44,6 +45,16 @@ module Impl { ) } + /** Gets the CFG scope that encloses this node, if any. */ + CfgScope getEnclosingCfgScope() { + exists(AstNode p | p = this.getParentNode() | + result = p + or + not p instanceof CfgScope and + result = p.getEnclosingCfgScope() + ) + } + /** Holds if this node is inside a macro expansion. */ predicate isInMacroExpansion() { this = any(MacroCall mc).getExpanded() diff --git a/rust/ql/lib/codeql/rust/elements/internal/VariableImpl.qll b/rust/ql/lib/codeql/rust/elements/internal/VariableImpl.qll index bed98189e4d8..4b94546d8027 100644 --- a/rust/ql/lib/codeql/rust/elements/internal/VariableImpl.qll +++ b/rust/ql/lib/codeql/rust/elements/internal/VariableImpl.qll @@ -446,7 +446,7 @@ module Impl { Variable getVariable() { result = v } /** Holds if this access is a capture. */ - predicate isCapture() { getEnclosingCfgScope(this) != getEnclosingCfgScope(v.getPat()) } + predicate isCapture() { this.getEnclosingCfgScope() != v.getPat().getEnclosingCfgScope() } override string toString() { result = name } diff --git a/rust/ql/test/library-tests/variables/variables.expected b/rust/ql/test/library-tests/variables/variables.expected index 6425411a3601..6760f9bcdde3 100644 --- a/rust/ql/test/library-tests/variables/variables.expected +++ b/rust/ql/test/library-tests/variables/variables.expected @@ -1,6 +1,4 @@ testFailures -| variables.rs:438:9:438:9 | i | Unexpected result: write_access=i | -| variables.rs:438:16:438:33 | Comment | Missing result: read_access=i | failures variable | variables.rs:3:14:3:14 | s | diff --git a/rust/ql/test/library-tests/variables/variables.rs b/rust/ql/test/library-tests/variables/variables.rs index c5b9bd80a8bd..8dd00c7ebb27 100644 --- a/rust/ql/test/library-tests/variables/variables.rs +++ b/rust/ql/test/library-tests/variables/variables.rs @@ -435,7 +435,7 @@ fn capture_mut() { async fn async_block_capture() { let mut i: i64 = 0; // i let block = async { - i = 1; // $ read_access=i + i = 1; // $ write_access=i }; // The await below causes write to `i` block.await; // $ read_access=block From a29b958f5f8fb573518db66df97d45b78675317b Mon Sep 17 00:00:00 2001 From: Jeroen Ketema Date: Tue, 12 Nov 2024 09:08:36 +0100 Subject: [PATCH 137/347] C++: Address review comments --- .../Best Practices/GuardedFree/GuardedFree.expected | 8 ++++---- .../query-tests/Best Practices/GuardedFree/test.cpp | 6 +++--- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/cpp/ql/test/experimental/query-tests/Best Practices/GuardedFree/GuardedFree.expected b/cpp/ql/test/experimental/query-tests/Best Practices/GuardedFree/GuardedFree.expected index 02851dac6441..209bae407b82 100644 --- a/cpp/ql/test/experimental/query-tests/Best Practices/GuardedFree/GuardedFree.expected +++ b/cpp/ql/test/experimental/query-tests/Best Practices/GuardedFree/GuardedFree.expected @@ -4,7 +4,7 @@ | test.cpp:31:7:31:24 | ... \|\| ... | unnecessary NULL check before call to $@ | test.cpp:35:3:35:6 | call to free | free | | test.cpp:31:8:31:8 | x | unnecessary NULL check before call to $@ | test.cpp:35:3:35:6 | call to free | free | | test.cpp:94:12:94:12 | x | unnecessary NULL check before call to $@ | test.cpp:94:3:94:13 | call to free | free | -| test.cpp:98:6:98:7 | ! ... | unnecessary NULL check before call to $@ | test.cpp:101:3:101:6 | call to free | free | -| test.cpp:98:7:98:7 | x | unnecessary NULL check before call to $@ | test.cpp:101:3:101:6 | call to free | free | -| test.cpp:106:6:106:17 | ... != ... | unnecessary NULL check before call to $@ | test.cpp:107:5:107:8 | call to free | free | -| test.cpp:113:6:113:17 | ... != ... | unnecessary NULL check before call to $@ | test.cpp:114:17:114:20 | call to free | free | +| test.cpp:98:7:98:8 | ! ... | unnecessary NULL check before call to $@ | test.cpp:101:3:101:6 | call to free | free | +| test.cpp:98:8:98:8 | x | unnecessary NULL check before call to $@ | test.cpp:101:3:101:6 | call to free | free | +| test.cpp:106:7:106:18 | ... != ... | unnecessary NULL check before call to $@ | test.cpp:107:5:107:8 | call to free | free | +| test.cpp:113:7:113:18 | ... != ... | unnecessary NULL check before call to $@ | test.cpp:114:17:114:20 | call to free | free | diff --git a/cpp/ql/test/experimental/query-tests/Best Practices/GuardedFree/test.cpp b/cpp/ql/test/experimental/query-tests/Best Practices/GuardedFree/test.cpp index 63703ccf6e9d..4cd024eec2b6 100644 --- a/cpp/ql/test/experimental/query-tests/Best Practices/GuardedFree/test.cpp +++ b/cpp/ql/test/experimental/query-tests/Best Practices/GuardedFree/test.cpp @@ -95,7 +95,7 @@ void test11(char *x) { } bool test12(char *x) { - if(!x) // GOOD [FALSE POSITIVE]: return value depends on x + if (!x) // GOOD [FALSE POSITIVE]: return value depends on x return false; free(x); @@ -103,13 +103,13 @@ bool test12(char *x) { } void test13(char *x) { - if(x != nullptr) // BAD + if (x != nullptr) // BAD free(x); } void inspect(char *x); void test14(char *x) { - if(x != nullptr) // GOOD [FALSE POSITIVE]: x might be accessed + if (x != nullptr) // GOOD [FALSE POSITIVE]: x might be accessed inspect(x), free(x); } From d9d3027667e19e98816c731bcb0dfefec0e0564c Mon Sep 17 00:00:00 2001 From: Simon Friis Vindum Date: Tue, 12 Nov 2024 09:45:33 +0100 Subject: [PATCH 138/347] Rust: Make improvements to `getArgString` based on PR comments --- rust/ql/test/utils/InlineFlowTest.qll | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/rust/ql/test/utils/InlineFlowTest.qll b/rust/ql/test/utils/InlineFlowTest.qll index ac72d79ecd96..487eb6543114 100644 --- a/rust/ql/test/utils/InlineFlowTest.qll +++ b/rust/ql/test/utils/InlineFlowTest.qll @@ -26,8 +26,13 @@ private module FlowTestImpl implements InputSig { result = src.asExpr().(CallExpr).getArgList().getArg(0).toString() } + bindingset[src, sink] string getArgString(DataFlow::Node src, DataFlow::Node sink) { - (if exists(getSourceArgString(src)) then result = getSourceArgString(src) else result = "") and + ( + result = getSourceArgString(src) + or + not exists(getSourceArgString(src)) and result = "" + ) and exists(sink) } From 79a9e9c6c0f347eea0713787451edb9d0438d692 Mon Sep 17 00:00:00 2001 From: Jeroen Ketema Date: Tue, 12 Nov 2024 10:13:37 +0100 Subject: [PATCH 139/347] C++: Address review comments --- .../query-tests/Best Practices/GuardedFree/test.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cpp/ql/test/experimental/query-tests/Best Practices/GuardedFree/test.cpp b/cpp/ql/test/experimental/query-tests/Best Practices/GuardedFree/test.cpp index 4cd024eec2b6..12b1fb2364e7 100644 --- a/cpp/ql/test/experimental/query-tests/Best Practices/GuardedFree/test.cpp +++ b/cpp/ql/test/experimental/query-tests/Best Practices/GuardedFree/test.cpp @@ -110,6 +110,6 @@ void test13(char *x) { void inspect(char *x); void test14(char *x) { - if (x != nullptr) // GOOD [FALSE POSITIVE]: x might be accessed + if (x != nullptr) // GOOD [FALSE POSITIVE]: x might be accessed in the first operand of the comma operator inspect(x), free(x); } From 91b1cb8a7676258a4c2632b54df8387657460334 Mon Sep 17 00:00:00 2001 From: Calum Grant Date: Tue, 12 Nov 2024 09:46:50 +0000 Subject: [PATCH 140/347] C++: Some renaming --- cpp/ql/src/Telemetry/Metrics.qll | 24 +++++++++---------- .../DatabaseQuality.expected | 2 +- .../ExtractionMetrics.expected | 2 +- 3 files changed, 14 insertions(+), 14 deletions(-) diff --git a/cpp/ql/src/Telemetry/Metrics.qll b/cpp/ql/src/Telemetry/Metrics.qll index 41d817e4411e..b3c90af84501 100644 --- a/cpp/ql/src/Telemetry/Metrics.qll +++ b/cpp/ql/src/Telemetry/Metrics.qll @@ -130,8 +130,8 @@ module CppMetrics { override int getValue() { result = count(Call c) } } - class SucceededCalls extends SuccessMetric { - SucceededCalls() { this = "calls with a target" } + class CallsWithExplicitTarget extends SuccessMetric { + CallsWithExplicitTarget() { this = "calls with an explicit target" } override int getValue() { result = count(Call c | not c.getTarget().getADeclarationEntry().isImplicit()) @@ -221,32 +221,32 @@ module CppMetrics { } class SucceededIncludeCount extends Metric { - string include_text; + string includeText; SucceededIncludeCount() { exists(Include i | - i.getIncludeText() = include_text and + i.getIncludeText() = includeText and exists(i.getFile().getRelativePath()) // Only report includes from the repo ) and - this = "Successfully included " + include_text + this = "Successfully included " + includeText } - int getValue() { result = count(Include i | i.getIncludeText() = include_text) } + int getValue() { result = count(Include i | i.getIncludeText() = includeText) } - string getIncludeText() { result = include_text } + string getIncludeText() { result = includeText } } class MissingIncludeCount extends Metric { - string include_text; + string includeText; MissingIncludeCount() { - exists(CannotOpenFileError e | e.getIncludedFile() = include_text) and - this = "Failed to include '" + include_text + "'" + exists(CannotOpenFileError e | e.getIncludedFile() = includeText) and + this = "Failed to include '" + includeText + "'" } - int getValue() { result = count(CannotOpenFileError e | e.getIncludedFile() = include_text) } + int getValue() { result = count(CannotOpenFileError e | e.getIncludedFile() = includeText) } - string getIncludeText() { result = include_text } + string getIncludeText() { result = includeText } } class CompilerErrors extends ExtractionMetric { diff --git a/cpp/ql/test/library-tests/extraction_errors/DatabaseQuality.expected b/cpp/ql/test/library-tests/extraction_errors/DatabaseQuality.expected index cd55ff434776..6d9cea2d734d 100644 --- a/cpp/ql/test/library-tests/extraction_errors/DatabaseQuality.expected +++ b/cpp/ql/test/library-tests/extraction_errors/DatabaseQuality.expected @@ -1,4 +1,4 @@ -| Percentage of calls with a target | 50.0 | +| Percentage of calls with an explicit target | 50.0 | | Percentage of compilations without errors | 50.0 | | Percentage of expressions with a known type | 30.0 | | Percentage of functions without errors | 75.0 | diff --git a/cpp/ql/test/library-tests/extraction_errors/ExtractionMetrics.expected b/cpp/ql/test/library-tests/extraction_errors/ExtractionMetrics.expected index c0e97d037dba..ee2cc0f99630 100644 --- a/cpp/ql/test/library-tests/extraction_errors/ExtractionMetrics.expected +++ b/cpp/ql/test/library-tests/extraction_errors/ExtractionMetrics.expected @@ -1,6 +1,6 @@ | #include directives | 2 | | calls | 2 | -| calls with a target | 1 | +| calls with an explicit target | 1 | | compilations | 2 | | compilations without errors | 1 | | compiler errors | 10 | From def8d75cb8733b07dcd68d5e856a097e0143d154 Mon Sep 17 00:00:00 2001 From: Napalys Date: Fri, 8 Nov 2024 13:37:34 +0100 Subject: [PATCH 141/347] Added test case for Array.prototype.toSorted, which is currently not flagged as a taint sink. --- javascript/ql/test/library-tests/TaintTracking/tst.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/javascript/ql/test/library-tests/TaintTracking/tst.js b/javascript/ql/test/library-tests/TaintTracking/tst.js index 475e6fdbff0e..ed27304c566f 100644 --- a/javascript/ql/test/library-tests/TaintTracking/tst.js +++ b/javascript/ql/test/library-tests/TaintTracking/tst.js @@ -59,4 +59,8 @@ function test() { tagged`foo ${"safe"} bar ${x} baz`; sink(x.reverse()); // NOT OK + + sink(x.toSorted()) // NOT OK + const xSorted = x.toSorted(); + sink(xSorted) // NOT OK } From 3f0a54c2e81cf1ff45434b9ec02664f9b8cf8422 Mon Sep 17 00:00:00 2001 From: Napalys Date: Fri, 8 Nov 2024 14:10:55 +0100 Subject: [PATCH 142/347] Added support for Array.prototype.toSorted function --- javascript/ql/lib/semmle/javascript/Arrays.qll | 14 ++++++++++++++ .../TaintTracking/BasicTaintTracking.expected | 2 ++ .../query-tests/NodeJS/DubiousImport/externs.js | 12 ++++++++++++ 3 files changed, 28 insertions(+) diff --git a/javascript/ql/lib/semmle/javascript/Arrays.qll b/javascript/ql/lib/semmle/javascript/Arrays.qll index ebff3d97a981..911af4c17cc1 100644 --- a/javascript/ql/lib/semmle/javascript/Arrays.qll +++ b/javascript/ql/lib/semmle/javascript/Arrays.qll @@ -458,4 +458,18 @@ private module ArrayLibraries { ) } } + + /** + * A taint propagating data flow edge arising from array transformation operations + * that return a new array instead of modifying the original array in place. + */ + private class ImmutableArrayTransformStep extends TaintTracking::SharedTaintStep { + override predicate heapStep(DataFlow::Node pred, DataFlow::Node succ) { + exists(DataFlow::MethodCallNode call | + call.getMethodName() = "toSorted" and + pred = call.getReceiver() and + succ = call + ) + } + } } diff --git a/javascript/ql/test/library-tests/TaintTracking/BasicTaintTracking.expected b/javascript/ql/test/library-tests/TaintTracking/BasicTaintTracking.expected index b1f3e7b26bda..73549543b42b 100644 --- a/javascript/ql/test/library-tests/TaintTracking/BasicTaintTracking.expected +++ b/javascript/ql/test/library-tests/TaintTracking/BasicTaintTracking.expected @@ -234,6 +234,8 @@ typeInferenceMismatch | tst.js:2:13:2:20 | source() | tst.js:51:10:51:31 | seriali ... ript(x) | | tst.js:2:13:2:20 | source() | tst.js:54:14:54:19 | unsafe | | tst.js:2:13:2:20 | source() | tst.js:61:10:61:20 | x.reverse() | +| tst.js:2:13:2:20 | source() | tst.js:63:10:63:21 | x.toSorted() | +| tst.js:2:13:2:20 | source() | tst.js:65:10:65:16 | xSorted | | xml.js:5:18:5:25 | source() | xml.js:8:14:8:17 | text | | xml.js:12:17:12:24 | source() | xml.js:13:14:13:19 | result | | xml.js:23:18:23:25 | source() | xml.js:20:14:20:17 | attr | diff --git a/javascript/ql/test/query-tests/NodeJS/DubiousImport/externs.js b/javascript/ql/test/query-tests/NodeJS/DubiousImport/externs.js index bd8e36c10e35..b4b409798053 100644 --- a/javascript/ql/test/query-tests/NodeJS/DubiousImport/externs.js +++ b/javascript/ql/test/query-tests/NodeJS/DubiousImport/externs.js @@ -371,6 +371,18 @@ Array.prototype.slice = function(opt_begin, opt_end) {}; */ Array.prototype.sort = function(opt_compareFunction) {}; +/** + * Returns a new array with the elements sorted. + * + * @param {function(T,T):number=} opt_compareFunction Specifies a function that + * defines the sort order. If omitted, the array elements are converted to strings, + * then sorted according to each character's Unicode code point value. + * @this {{length: number}|Array.} + * @template T + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/toSorted + */ +Array.prototype.toSorted = function(opt_compareFunction) {}; + /** * Changes the content of an array, adding new elements while removing old * elements. From 3215967cbc9e8a585510bef3a88c9eb90f7d9b22 Mon Sep 17 00:00:00 2001 From: Napalys Date: Fri, 8 Nov 2024 15:00:48 +0100 Subject: [PATCH 143/347] Added toReserved test case --- javascript/ql/test/library-tests/TaintTracking/tst.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/javascript/ql/test/library-tests/TaintTracking/tst.js b/javascript/ql/test/library-tests/TaintTracking/tst.js index ed27304c566f..3af935687a06 100644 --- a/javascript/ql/test/library-tests/TaintTracking/tst.js +++ b/javascript/ql/test/library-tests/TaintTracking/tst.js @@ -63,4 +63,8 @@ function test() { sink(x.toSorted()) // NOT OK const xSorted = x.toSorted(); sink(xSorted) // NOT OK + + sink(x.toReversed()) // NOT OK + const xReversed = x.toReversed(); + sink(xReversed) // NOT OK } From 7427a24ca1210a453fc2b69c9479db92ce7fd36f Mon Sep 17 00:00:00 2001 From: Napalys Date: Fri, 8 Nov 2024 14:23:10 +0100 Subject: [PATCH 144/347] Added test case for Array.prototype.toReversed, which is currently not flagged as a taint sink. --- javascript/ql/lib/semmle/javascript/Arrays.qll | 2 +- .../TaintTracking/BasicTaintTracking.expected | 2 ++ .../ql/test/query-tests/NodeJS/DubiousImport/externs.js | 9 +++++++++ 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/javascript/ql/lib/semmle/javascript/Arrays.qll b/javascript/ql/lib/semmle/javascript/Arrays.qll index 911af4c17cc1..d4360072aa28 100644 --- a/javascript/ql/lib/semmle/javascript/Arrays.qll +++ b/javascript/ql/lib/semmle/javascript/Arrays.qll @@ -466,7 +466,7 @@ private module ArrayLibraries { private class ImmutableArrayTransformStep extends TaintTracking::SharedTaintStep { override predicate heapStep(DataFlow::Node pred, DataFlow::Node succ) { exists(DataFlow::MethodCallNode call | - call.getMethodName() = "toSorted" and + call.getMethodName() in ["toSorted", "toReversed"] and pred = call.getReceiver() and succ = call ) diff --git a/javascript/ql/test/library-tests/TaintTracking/BasicTaintTracking.expected b/javascript/ql/test/library-tests/TaintTracking/BasicTaintTracking.expected index 73549543b42b..ba15575eb9cd 100644 --- a/javascript/ql/test/library-tests/TaintTracking/BasicTaintTracking.expected +++ b/javascript/ql/test/library-tests/TaintTracking/BasicTaintTracking.expected @@ -236,6 +236,8 @@ typeInferenceMismatch | tst.js:2:13:2:20 | source() | tst.js:61:10:61:20 | x.reverse() | | tst.js:2:13:2:20 | source() | tst.js:63:10:63:21 | x.toSorted() | | tst.js:2:13:2:20 | source() | tst.js:65:10:65:16 | xSorted | +| tst.js:2:13:2:20 | source() | tst.js:67:10:67:23 | x.toReversed() | +| tst.js:2:13:2:20 | source() | tst.js:69:10:69:18 | xReversed | | xml.js:5:18:5:25 | source() | xml.js:8:14:8:17 | text | | xml.js:12:17:12:24 | source() | xml.js:13:14:13:19 | result | | xml.js:23:18:23:25 | source() | xml.js:20:14:20:17 | attr | diff --git a/javascript/ql/test/query-tests/NodeJS/DubiousImport/externs.js b/javascript/ql/test/query-tests/NodeJS/DubiousImport/externs.js index b4b409798053..d82d79c71773 100644 --- a/javascript/ql/test/query-tests/NodeJS/DubiousImport/externs.js +++ b/javascript/ql/test/query-tests/NodeJS/DubiousImport/externs.js @@ -333,6 +333,15 @@ Array.prototype.push = function(var_args) {}; */ Array.prototype.reverse = function() {}; +/** + * Returns a new array with the elements in reversed order. + * + * @this {{length: number}} + * @template T + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/toReversed + */ +Array.prototype.toReversed = function() {}; + /** * Removes the first element from an array and returns that element. This * method changes the length of the array. From 5f8ff125e93a45e0ad94639da524b89f49d105e8 Mon Sep 17 00:00:00 2001 From: Napalys Date: Tue, 12 Nov 2024 12:21:39 +0100 Subject: [PATCH 145/347] Added change notes --- .../change-notes/2024-11-12-immutable-array-operations.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 javascript/ql/lib/change-notes/2024-11-12-immutable-array-operations.md diff --git a/javascript/ql/lib/change-notes/2024-11-12-immutable-array-operations.md b/javascript/ql/lib/change-notes/2024-11-12-immutable-array-operations.md new file mode 100644 index 000000000000..20c16d88c6e0 --- /dev/null +++ b/javascript/ql/lib/change-notes/2024-11-12-immutable-array-operations.md @@ -0,0 +1,5 @@ +--- +category: minorAnalysis +--- +* Added taint-steps for `Array.prototype.toReversed`. +* Added taint-steps for `Array.prototype.toSorted`. From dfd8e7d397dc7f47f8a21a2a363a7b10bcaf8ae6 Mon Sep 17 00:00:00 2001 From: Owen Mansel-Chan Date: Tue, 12 Nov 2024 10:08:56 +0000 Subject: [PATCH 146/347] Set subtypes column to True in models This is almost always what we want. --- go/ql/lib/ext/archive.tar.model.yml | 4 +- go/ql/lib/ext/archive.zip.model.yml | 6 +- go/ql/lib/ext/bufio.model.yml | 16 ++-- go/ql/lib/ext/builtin.model.yml | 16 ++-- go/ql/lib/ext/bytes.model.yml | 76 +++++++++--------- go/ql/lib/ext/compress.bzip2.model.yml | 2 +- go/ql/lib/ext/compress.flate.model.yml | 4 +- go/ql/lib/ext/compress.gzip.model.yml | 2 +- go/ql/lib/ext/compress.lzw.model.yml | 2 +- go/ql/lib/ext/compress.zlib.model.yml | 4 +- go/ql/lib/ext/container.heap.model.yml | 6 +- go/ql/lib/ext/context.model.yml | 8 +- go/ql/lib/ext/crypto.rsa.model.yml | 4 +- go/ql/lib/ext/crypto.tls.model.yml | 6 +- go/ql/lib/ext/crypto.x509.model.yml | 2 +- go/ql/lib/ext/database.sql.model.yml | 2 +- go/ql/lib/ext/encoding.ascii85.model.yml | 4 +- go/ql/lib/ext/encoding.asn1.model.yml | 16 ++-- go/ql/lib/ext/encoding.base32.model.yml | 2 +- go/ql/lib/ext/encoding.base64.model.yml | 2 +- go/ql/lib/ext/encoding.binary.model.yml | 4 +- go/ql/lib/ext/encoding.csv.model.yml | 2 +- go/ql/lib/ext/encoding.gob.model.yml | 2 +- go/ql/lib/ext/encoding.hex.model.yml | 6 +- go/ql/lib/ext/encoding.json.model.yml | 14 ++-- go/ql/lib/ext/encoding.pem.model.yml | 6 +- go/ql/lib/ext/encoding.xml.model.yml | 16 ++-- go/ql/lib/ext/errors.model.yml | 6 +- ...ithub.com.beego.beego.core.utils.model.yml | 20 ++--- ...m.beego.beego.server.web.context.model.yml | 4 +- ...ithub.com.beego.beego.server.web.model.yml | 22 ++--- .../lib/ext/github.com.caarlos0.env.model.yml | 14 ++-- .../github.com.codeskyblue.go-sh.model.yml | 8 +- .../ext/github.com.couchbase.gocb.model.yml | 4 +- .../github.com.evanphx.json-patch.model.yml | 8 +- .../ext/github.com.gin-gonic.gin.model.yml | 6 +- .../ext/github.com.gobuffalo.envy.model.yml | 14 ++-- .../ext/github.com.gofiber.fiber.model.yml | 8 +- ...github.com.golang.protobuf.proto.model.yml | 8 +- ...github.com.hashicorp.go-envparse.model.yml | 2 +- .../ext/github.com.joho.godotenv.model.yml | 8 +- .../ext/github.com.json-iterator.go.model.yml | 4 +- ...ub.com.kelseyhightower.envconfig.model.yml | 12 +-- .../ext/github.com.labstack.echo.model.yml | 4 +- ...endgrid.sendgrid-go.helpers.mail.model.yml | 2 +- .../lib/ext/github.com.spf13.afero.model.yml | 68 ++++++++-------- .../ext/github.com.valyala.fasthttp.model.yml | 26 +++--- go/ql/lib/ext/go.uber.org.zap.model.yml | 22 ++--- .../lib/ext/golang.org.x.crypto.ssh.model.yml | 8 +- .../ext/golang.org.x.net.context.model.yml | 8 +- go/ql/lib/ext/golang.org.x.net.html.model.yml | 18 ++--- ...google.golang.org.protobuf.proto.model.yml | 8 +- go/ql/lib/ext/gopkg.in.yaml.model.yml | 8 +- go/ql/lib/ext/html.model.yml | 4 +- go/ql/lib/ext/html.template.model.yml | 8 +- go/ql/lib/ext/io.fs.model.yml | 14 ++-- go/ql/lib/ext/io.ioutil.model.yml | 16 ++-- go/ql/lib/ext/io.model.yml | 24 +++--- .../k8s.io.apimachinery.pkg.runtime.model.yml | 40 +++++----- go/ql/lib/ext/math.big.model.yml | 2 +- go/ql/lib/ext/mime.model.yml | 4 +- go/ql/lib/ext/mime.multipart.model.yml | 2 +- go/ql/lib/ext/mime.quotedprintable.model.yml | 2 +- go/ql/lib/ext/net.http.httputil.model.yml | 12 +-- go/ql/lib/ext/net.http.model.yml | 18 ++--- go/ql/lib/ext/net.mail.model.yml | 6 +- go/ql/lib/ext/net.model.yml | 8 +- go/ql/lib/ext/net.textproto.model.yml | 10 +-- go/ql/lib/ext/net.url.model.yml | 18 ++--- go/ql/lib/ext/os.exec.model.yml | 4 +- go/ql/lib/ext/os.model.yml | 80 +++++++++---------- go/ql/lib/ext/path.filepath.model.yml | 26 +++--- go/ql/lib/ext/path.model.yml | 10 +-- go/ql/lib/ext/reflect.model.yml | 8 +- go/ql/lib/ext/regexp.model.yml | 2 +- go/ql/lib/ext/sort.model.yml | 2 +- go/ql/lib/ext/strconv.model.yml | 18 ++--- go/ql/lib/ext/strings.model.yml | 62 +++++++------- go/ql/lib/ext/sync.atomic.model.yml | 24 +++--- go/ql/lib/ext/syscall.model.yml | 24 +++--- go/ql/lib/ext/text.template.model.yml | 8 +- .../threat-models-flowtest1.ext.yml | 8 +- .../threat-models-flowtest2.ext.yml | 8 +- .../threat-models-flowtest3.ext.yml | 9 +-- .../threat-models-flowtest4.ext.yml | 9 +-- .../threat-models-flowtest5.ext.yml | 9 +-- .../threat-models-flowtest6.ext.yml | 8 +- 87 files changed, 529 insertions(+), 532 deletions(-) diff --git a/go/ql/lib/ext/archive.tar.model.yml b/go/ql/lib/ext/archive.tar.model.yml index f1212e35c022..82d4647323b9 100644 --- a/go/ql/lib/ext/archive.tar.model.yml +++ b/go/ql/lib/ext/archive.tar.model.yml @@ -3,8 +3,8 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["archive/tar", "", False, "FileInfoHeader", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["archive/tar", "", False, "NewReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["archive/tar", "", True, "FileInfoHeader", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["archive/tar", "", True, "NewReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["archive/tar", "Header", True, "FileInfo", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] - ["archive/tar", "Reader", True, "Next", "", "", "Argument[receiver]", "ReturnValue[0]", "taint", "manual"] - ["archive/tar", "Writer", True, "WriteHeader", "", "", "Argument[0]", "Argument[receiver]", "taint", "manual"] diff --git a/go/ql/lib/ext/archive.zip.model.yml b/go/ql/lib/ext/archive.zip.model.yml index 17e2bb0bd789..4749d5433c9f 100644 --- a/go/ql/lib/ext/archive.zip.model.yml +++ b/go/ql/lib/ext/archive.zip.model.yml @@ -3,9 +3,9 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["archive/zip", "", False, "FileInfoHeader", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["archive/zip", "", False, "NewReader", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["archive/zip", "", False, "OpenReader", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["archive/zip", "", True, "FileInfoHeader", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["archive/zip", "", True, "NewReader", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["archive/zip", "", True, "OpenReader", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - ["archive/zip", "File", True, "Open", "", "", "Argument[receiver]", "ReturnValue[0]", "taint", "manual"] - ["archive/zip", "File", True, "OpenRaw", "", "", "Argument[receiver]", "ReturnValue[0]", "taint", "manual"] - ["archive/zip", "Writer", True, "Copy", "", "", "Argument[0]", "Argument[receiver]", "taint", "manual"] diff --git a/go/ql/lib/ext/bufio.model.yml b/go/ql/lib/ext/bufio.model.yml index e9dd22e66861..1a7cbb4742de 100644 --- a/go/ql/lib/ext/bufio.model.yml +++ b/go/ql/lib/ext/bufio.model.yml @@ -3,14 +3,14 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["bufio", "", False, "NewReadWriter", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["bufio", "", False, "NewReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["bufio", "", False, "NewReaderSize", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["bufio", "", False, "NewScanner", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["bufio", "", False, "ScanBytes", "", "", "Argument[0]", "ReturnValue[1]", "taint", "manual"] - - ["bufio", "", False, "ScanLines", "", "", "Argument[0]", "ReturnValue[1]", "taint", "manual"] - - ["bufio", "", False, "ScanRunes", "", "", "Argument[0]", "ReturnValue[1]", "taint", "manual"] - - ["bufio", "", False, "ScanWords", "", "", "Argument[0]", "ReturnValue[1]", "taint", "manual"] + - ["bufio", "", True, "NewReadWriter", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bufio", "", True, "NewReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bufio", "", True, "NewReaderSize", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bufio", "", True, "NewScanner", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bufio", "", True, "ScanBytes", "", "", "Argument[0]", "ReturnValue[1]", "taint", "manual"] + - ["bufio", "", True, "ScanLines", "", "", "Argument[0]", "ReturnValue[1]", "taint", "manual"] + - ["bufio", "", True, "ScanRunes", "", "", "Argument[0]", "ReturnValue[1]", "taint", "manual"] + - ["bufio", "", True, "ScanWords", "", "", "Argument[0]", "ReturnValue[1]", "taint", "manual"] - ["bufio", "Reader", True, "Peek", "", "", "Argument[receiver]", "ReturnValue[0]", "taint", "manual"] - ["bufio", "Reader", True, "ReadBytes", "", "", "Argument[receiver]", "ReturnValue[0]", "taint", "manual"] - ["bufio", "Reader", True, "ReadLine", "", "", "Argument[receiver]", "ReturnValue[0]", "taint", "manual"] diff --git a/go/ql/lib/ext/builtin.model.yml b/go/ql/lib/ext/builtin.model.yml index 816c89008a84..22f5ac39d84e 100644 --- a/go/ql/lib/ext/builtin.model.yml +++ b/go/ql/lib/ext/builtin.model.yml @@ -3,11 +3,11 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["", "", False, "append", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] # special case for when arg[0] has core type []byte and second argument has core type bytestring and is followed by ... - - ["", "", False, "append", "", "", "Argument[0].ArrayElement", "ReturnValue.ArrayElement", "value", "manual"] - - ["", "", False, "append", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] # special case for when arg[0] has core type []byte and second argument has core type bytestring and is followed by ... - - ["", "", False, "append", "", "", "Argument[1].ArrayElement", "ReturnValue.ArrayElement", "value", "manual"] - - ["", "", False, "copy", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] # special case for when arg[0] has core type []byte and second argument has core type bytestring - - ["", "", False, "copy", "", "", "Argument[1].ArrayElement", "Argument[0].ArrayElement", "value", "manual"] - - ["", "", False, "max", "", "", "Argument[0..1000]", "ReturnValue", "value", "manual"] - - ["", "", False, "min", "", "", "Argument[0..1000]", "ReturnValue", "value", "manual"] + - ["", "", True, "append", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] # special case for when arg[0] has core type []byte and second argument has core type bytestring and is followed by ... + - ["", "", True, "append", "", "", "Argument[0].ArrayElement", "ReturnValue.ArrayElement", "value", "manual"] + - ["", "", True, "append", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] # special case for when arg[0] has core type []byte and second argument has core type bytestring and is followed by ... + - ["", "", True, "append", "", "", "Argument[1].ArrayElement", "ReturnValue.ArrayElement", "value", "manual"] + - ["", "", True, "copy", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] # special case for when arg[0] has core type []byte and second argument has core type bytestring + - ["", "", True, "copy", "", "", "Argument[1].ArrayElement", "Argument[0].ArrayElement", "value", "manual"] + - ["", "", True, "max", "", "", "Argument[0..1000]", "ReturnValue", "value", "manual"] + - ["", "", True, "min", "", "", "Argument[0..1000]", "ReturnValue", "value", "manual"] diff --git a/go/ql/lib/ext/bytes.model.yml b/go/ql/lib/ext/bytes.model.yml index 762d0ca16ee6..03b4787e8670 100644 --- a/go/ql/lib/ext/bytes.model.yml +++ b/go/ql/lib/ext/bytes.model.yml @@ -3,44 +3,44 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["bytes", "", False, "Clone", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["bytes", "", False, "Cut", "", "", "Argument[0]", "ReturnValue[0..1]", "taint", "manual"] - - ["bytes", "", False, "CutPrefix", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["bytes", "", False, "CutSuffix", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["bytes", "", False, "Fields", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["bytes", "", False, "FieldsFunc", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["bytes", "", False, "Join", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] - - ["bytes", "", False, "Map", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] - - ["bytes", "", False, "NewBuffer", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["bytes", "", False, "NewBufferString", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["bytes", "", False, "NewReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["bytes", "", False, "Repeat", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["bytes", "", False, "Replace", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["bytes", "", False, "Replace", "", "", "Argument[2]", "ReturnValue", "taint", "manual"] - - ["bytes", "", False, "ReplaceAll", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["bytes", "", False, "ReplaceAll", "", "", "Argument[2]", "ReturnValue", "taint", "manual"] - - ["bytes", "", False, "Runes", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["bytes", "", False, "Split", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["bytes", "", False, "SplitAfter", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["bytes", "", False, "SplitAfterN", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["bytes", "", False, "SplitN", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["bytes", "", False, "Title", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["bytes", "", False, "ToLower", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["bytes", "", False, "ToLowerSpecial", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] - - ["bytes", "", False, "ToTitle", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["bytes", "", False, "ToTitleSpecial", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] - - ["bytes", "", False, "ToUpper", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["bytes", "", False, "ToUpperSpecial", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] - - ["bytes", "", False, "ToValidUTF8", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] - - ["bytes", "", False, "Trim", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["bytes", "", False, "TrimFunc", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["bytes", "", False, "TrimLeft", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["bytes", "", False, "TrimLeftFunc", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["bytes", "", False, "TrimPrefix", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["bytes", "", False, "TrimRight", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["bytes", "", False, "TrimRightFunc", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["bytes", "", False, "TrimSpace", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["bytes", "", False, "TrimSuffix", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bytes", "", True, "Clone", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bytes", "", True, "Cut", "", "", "Argument[0]", "ReturnValue[0..1]", "taint", "manual"] + - ["bytes", "", True, "CutPrefix", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["bytes", "", True, "CutSuffix", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["bytes", "", True, "Fields", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bytes", "", True, "FieldsFunc", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bytes", "", True, "Join", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] + - ["bytes", "", True, "Map", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] + - ["bytes", "", True, "NewBuffer", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bytes", "", True, "NewBufferString", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bytes", "", True, "NewReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bytes", "", True, "Repeat", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bytes", "", True, "Replace", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bytes", "", True, "Replace", "", "", "Argument[2]", "ReturnValue", "taint", "manual"] + - ["bytes", "", True, "ReplaceAll", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bytes", "", True, "ReplaceAll", "", "", "Argument[2]", "ReturnValue", "taint", "manual"] + - ["bytes", "", True, "Runes", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bytes", "", True, "Split", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bytes", "", True, "SplitAfter", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bytes", "", True, "SplitAfterN", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bytes", "", True, "SplitN", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bytes", "", True, "Title", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bytes", "", True, "ToLower", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bytes", "", True, "ToLowerSpecial", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] + - ["bytes", "", True, "ToTitle", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bytes", "", True, "ToTitleSpecial", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] + - ["bytes", "", True, "ToUpper", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bytes", "", True, "ToUpperSpecial", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] + - ["bytes", "", True, "ToValidUTF8", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] + - ["bytes", "", True, "Trim", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bytes", "", True, "TrimFunc", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bytes", "", True, "TrimLeft", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bytes", "", True, "TrimLeftFunc", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bytes", "", True, "TrimPrefix", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bytes", "", True, "TrimRight", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bytes", "", True, "TrimRightFunc", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bytes", "", True, "TrimSpace", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bytes", "", True, "TrimSuffix", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["bytes", "Buffer", True, "Bytes", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] - ["bytes", "Buffer", True, "Next", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] - ["bytes", "Buffer", True, "ReadBytes", "", "", "Argument[receiver]", "ReturnValue[0]", "taint", "manual"] diff --git a/go/ql/lib/ext/compress.bzip2.model.yml b/go/ql/lib/ext/compress.bzip2.model.yml index 38719037de18..4848caa1f69d 100644 --- a/go/ql/lib/ext/compress.bzip2.model.yml +++ b/go/ql/lib/ext/compress.bzip2.model.yml @@ -3,4 +3,4 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["compress/bzip2", "", False, "NewReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["compress/bzip2", "", True, "NewReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] diff --git a/go/ql/lib/ext/compress.flate.model.yml b/go/ql/lib/ext/compress.flate.model.yml index 5b36372c8c09..7d5611782b2c 100644 --- a/go/ql/lib/ext/compress.flate.model.yml +++ b/go/ql/lib/ext/compress.flate.model.yml @@ -3,7 +3,7 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["compress/flate", "", False, "NewReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["compress/flate", "", False, "NewReaderDict", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["compress/flate", "", True, "NewReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["compress/flate", "", True, "NewReaderDict", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["compress/flate", "Resetter", True, "Reset", "", "", "Argument[0]", "Argument[receiver]", "taint", "manual"] - ["compress/flate", "Writer", True, "Reset", "", "", "Argument[receiver]", "Argument[0]", "taint", "manual"] diff --git a/go/ql/lib/ext/compress.gzip.model.yml b/go/ql/lib/ext/compress.gzip.model.yml index d3da545b4483..eb0f7562c6a8 100644 --- a/go/ql/lib/ext/compress.gzip.model.yml +++ b/go/ql/lib/ext/compress.gzip.model.yml @@ -3,6 +3,6 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["compress/gzip", "", False, "NewReader", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["compress/gzip", "", True, "NewReader", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - ["compress/gzip", "Reader", True, "Reset", "", "", "Argument[0]", "Argument[receiver]", "taint", "manual"] - ["compress/gzip", "Writer", True, "Reset", "", "", "Argument[receiver]", "Argument[0]", "taint", "manual"] diff --git a/go/ql/lib/ext/compress.lzw.model.yml b/go/ql/lib/ext/compress.lzw.model.yml index 5db30e14ec36..46077643d8ec 100644 --- a/go/ql/lib/ext/compress.lzw.model.yml +++ b/go/ql/lib/ext/compress.lzw.model.yml @@ -3,4 +3,4 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["compress/lzw", "", False, "NewReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["compress/lzw", "", True, "NewReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] diff --git a/go/ql/lib/ext/compress.zlib.model.yml b/go/ql/lib/ext/compress.zlib.model.yml index abd162c33923..de73d4e849a6 100644 --- a/go/ql/lib/ext/compress.zlib.model.yml +++ b/go/ql/lib/ext/compress.zlib.model.yml @@ -3,7 +3,7 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["compress/zlib", "", False, "NewReader", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["compress/zlib", "", False, "NewReaderDict", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["compress/zlib", "", True, "NewReader", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["compress/zlib", "", True, "NewReaderDict", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - ["compress/zlib", "Resetter", True, "Reset", "", "", "Argument[0]", "Argument[receiver]", "taint", "manual"] - ["compress/zlib", "Writer", True, "Reset", "", "", "Argument[receiver]", "Argument[0]", "taint", "manual"] diff --git a/go/ql/lib/ext/container.heap.model.yml b/go/ql/lib/ext/container.heap.model.yml index 57aabd12ea27..64501a41927a 100644 --- a/go/ql/lib/ext/container.heap.model.yml +++ b/go/ql/lib/ext/container.heap.model.yml @@ -3,8 +3,8 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["container/heap", "", False, "Pop", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["container/heap", "", False, "Push", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - - ["container/heap", "", False, "Remove", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["container/heap", "", True, "Pop", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["container/heap", "", True, "Push", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] + - ["container/heap", "", True, "Remove", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["container/heap", "Interface", True, "Pop", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] - ["container/heap", "Interface", True, "Push", "", "", "Argument[0]", "Argument[receiver]", "taint", "manual"] diff --git a/go/ql/lib/ext/context.model.yml b/go/ql/lib/ext/context.model.yml index b71adeb6b3c7..dc5cddecdc5b 100644 --- a/go/ql/lib/ext/context.model.yml +++ b/go/ql/lib/ext/context.model.yml @@ -3,8 +3,8 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["context", "", False, "WithCancel", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["context", "", False, "WithDeadline", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["context", "", False, "WithTimeout", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["context", "", False, "WithValue", "", "", "Argument[0..2]", "ReturnValue", "taint", "manual"] + - ["context", "", True, "WithCancel", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["context", "", True, "WithDeadline", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["context", "", True, "WithTimeout", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["context", "", True, "WithValue", "", "", "Argument[0..2]", "ReturnValue", "taint", "manual"] - ["context", "Context", True, "Value", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] diff --git a/go/ql/lib/ext/crypto.rsa.model.yml b/go/ql/lib/ext/crypto.rsa.model.yml index 851251973a62..447fca7584ff 100644 --- a/go/ql/lib/ext/crypto.rsa.model.yml +++ b/go/ql/lib/ext/crypto.rsa.model.yml @@ -3,5 +3,5 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["crypto/rsa", "", False, "DecryptOAEP", "", "", "Argument[3]", "ReturnValue[0]", "taint", "manual"] - - ["crypto/rsa", "", False, "DecryptPKCS1v15", "", "", "Argument[2]", "ReturnValue[0]", "taint", "manual"] + - ["crypto/rsa", "", True, "DecryptOAEP", "", "", "Argument[3]", "ReturnValue[0]", "taint", "manual"] + - ["crypto/rsa", "", True, "DecryptPKCS1v15", "", "", "Argument[2]", "ReturnValue[0]", "taint", "manual"] diff --git a/go/ql/lib/ext/crypto.tls.model.yml b/go/ql/lib/ext/crypto.tls.model.yml index ecb4c8859946..26f15eefb32a 100644 --- a/go/ql/lib/ext/crypto.tls.model.yml +++ b/go/ql/lib/ext/crypto.tls.model.yml @@ -3,6 +3,6 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["crypto/tls", "", False, "Client", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["crypto/tls", "", False, "NewListener", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["crypto/tls", "", False, "Server", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["crypto/tls", "", True, "Client", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["crypto/tls", "", True, "NewListener", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["crypto/tls", "", True, "Server", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] diff --git a/go/ql/lib/ext/crypto.x509.model.yml b/go/ql/lib/ext/crypto.x509.model.yml index dd16777a75b7..ee389de2db0a 100644 --- a/go/ql/lib/ext/crypto.x509.model.yml +++ b/go/ql/lib/ext/crypto.x509.model.yml @@ -3,4 +3,4 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["crypto/x509", "", False, "DecryptPEMBlock", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["crypto/x509", "", True, "DecryptPEMBlock", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] diff --git a/go/ql/lib/ext/database.sql.model.yml b/go/ql/lib/ext/database.sql.model.yml index e1083f6e49a6..9d4d31aa0d1c 100644 --- a/go/ql/lib/ext/database.sql.model.yml +++ b/go/ql/lib/ext/database.sql.model.yml @@ -3,7 +3,7 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["database/sql", "", False, "Named", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] + - ["database/sql", "", True, "Named", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] - ["database/sql", "Conn", True, "PrepareContext", "", "", "Argument[1]", "ReturnValue[0]", "taint", "manual"] - ["database/sql", "DB", True, "Prepare", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - ["database/sql", "DB", True, "PrepareContext", "", "", "Argument[1]", "ReturnValue[0]", "taint", "manual"] diff --git a/go/ql/lib/ext/encoding.ascii85.model.yml b/go/ql/lib/ext/encoding.ascii85.model.yml index 51c15078176b..cd4b2ae258b9 100644 --- a/go/ql/lib/ext/encoding.ascii85.model.yml +++ b/go/ql/lib/ext/encoding.ascii85.model.yml @@ -3,5 +3,5 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["encoding/ascii85", "", False, "Decode", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - - ["encoding/ascii85", "", False, "NewDecoder", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["encoding/ascii85", "", True, "Decode", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] + - ["encoding/ascii85", "", True, "NewDecoder", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] diff --git a/go/ql/lib/ext/encoding.asn1.model.yml b/go/ql/lib/ext/encoding.asn1.model.yml index e0c08cc216ef..e6443cadf1ff 100644 --- a/go/ql/lib/ext/encoding.asn1.model.yml +++ b/go/ql/lib/ext/encoding.asn1.model.yml @@ -3,11 +3,11 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["encoding/asn1", "", False, "Marshal", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["encoding/asn1", "", False, "MarshalWithParams", "", "", "Argument[0..1]", "ReturnValue[0]", "taint", "manual"] - - ["encoding/asn1", "", False, "Unmarshal", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] - - ["encoding/asn1", "", False, "Unmarshal", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["encoding/asn1", "", False, "UnmarshalWithParams", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] - - ["encoding/asn1", "", False, "UnmarshalWithParams", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["encoding/asn1", "", False, "UnmarshalWithParams", "", "", "Argument[2]", "Argument[1]", "taint", "manual"] - - ["encoding/asn1", "", False, "UnmarshalWithParams", "", "", "Argument[2]", "ReturnValue[0]", "taint", "manual"] + - ["encoding/asn1", "", True, "Marshal", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["encoding/asn1", "", True, "MarshalWithParams", "", "", "Argument[0..1]", "ReturnValue[0]", "taint", "manual"] + - ["encoding/asn1", "", True, "Unmarshal", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] + - ["encoding/asn1", "", True, "Unmarshal", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["encoding/asn1", "", True, "UnmarshalWithParams", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] + - ["encoding/asn1", "", True, "UnmarshalWithParams", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["encoding/asn1", "", True, "UnmarshalWithParams", "", "", "Argument[2]", "Argument[1]", "taint", "manual"] + - ["encoding/asn1", "", True, "UnmarshalWithParams", "", "", "Argument[2]", "ReturnValue[0]", "taint", "manual"] diff --git a/go/ql/lib/ext/encoding.base32.model.yml b/go/ql/lib/ext/encoding.base32.model.yml index 5cabdb05a414..72830e6a5810 100644 --- a/go/ql/lib/ext/encoding.base32.model.yml +++ b/go/ql/lib/ext/encoding.base32.model.yml @@ -3,6 +3,6 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["encoding/base32", "", False, "NewDecoder", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] + - ["encoding/base32", "", True, "NewDecoder", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] - ["encoding/base32", "Encoding", True, "Decode", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - ["encoding/base32", "Encoding", True, "DecodeString", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] diff --git a/go/ql/lib/ext/encoding.base64.model.yml b/go/ql/lib/ext/encoding.base64.model.yml index 1e199c5f4692..81ff2247bfd0 100644 --- a/go/ql/lib/ext/encoding.base64.model.yml +++ b/go/ql/lib/ext/encoding.base64.model.yml @@ -3,6 +3,6 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["encoding/base64", "", False, "NewDecoder", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] + - ["encoding/base64", "", True, "NewDecoder", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] - ["encoding/base64", "Encoding", True, "Decode", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - ["encoding/base64", "Encoding", True, "DecodeString", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] diff --git a/go/ql/lib/ext/encoding.binary.model.yml b/go/ql/lib/ext/encoding.binary.model.yml index 34705c1364ed..c6131f014d63 100644 --- a/go/ql/lib/ext/encoding.binary.model.yml +++ b/go/ql/lib/ext/encoding.binary.model.yml @@ -3,5 +3,5 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["encoding/binary", "", False, "Read", "", "", "Argument[0]", "Argument[2]", "taint", "manual"] - - ["encoding/binary", "", False, "Write", "", "", "Argument[2]", "Argument[0]", "taint", "manual"] + - ["encoding/binary", "", True, "Read", "", "", "Argument[0]", "Argument[2]", "taint", "manual"] + - ["encoding/binary", "", True, "Write", "", "", "Argument[2]", "Argument[0]", "taint", "manual"] diff --git a/go/ql/lib/ext/encoding.csv.model.yml b/go/ql/lib/ext/encoding.csv.model.yml index 2f2611ad83a6..77f999798c4f 100644 --- a/go/ql/lib/ext/encoding.csv.model.yml +++ b/go/ql/lib/ext/encoding.csv.model.yml @@ -3,7 +3,7 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["encoding/csv", "", False, "NewReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["encoding/csv", "", True, "NewReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["encoding/csv", "Reader", True, "Read", "", "", "Argument[receiver]", "ReturnValue[0]", "taint", "manual"] - ["encoding/csv", "Reader", True, "ReadAll", "", "", "Argument[receiver]", "ReturnValue[0]", "taint", "manual"] - ["encoding/csv", "Writer", True, "Write", "", "", "Argument[0]", "Argument[receiver]", "taint", "manual"] diff --git a/go/ql/lib/ext/encoding.gob.model.yml b/go/ql/lib/ext/encoding.gob.model.yml index c7ce389bd1c5..da44e80b3e83 100644 --- a/go/ql/lib/ext/encoding.gob.model.yml +++ b/go/ql/lib/ext/encoding.gob.model.yml @@ -3,7 +3,7 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["encoding/gob", "", False, "NewDecoder", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["encoding/gob", "", True, "NewDecoder", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["encoding/gob", "Decoder", True, "Decode", "", "", "Argument[receiver]", "Argument[0]", "taint", "manual"] - ["encoding/gob", "Decoder", True, "DecodeValue", "", "", "Argument[receiver]", "Argument[0]", "taint", "manual"] - ["encoding/gob", "Encoder", True, "Encode", "", "", "Argument[0]", "Argument[receiver]", "taint", "manual"] diff --git a/go/ql/lib/ext/encoding.hex.model.yml b/go/ql/lib/ext/encoding.hex.model.yml index 2c9dbdac031c..a081018a3c57 100644 --- a/go/ql/lib/ext/encoding.hex.model.yml +++ b/go/ql/lib/ext/encoding.hex.model.yml @@ -3,6 +3,6 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["encoding/hex", "", False, "Decode", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - - ["encoding/hex", "", False, "DecodeString", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["encoding/hex", "", False, "NewDecoder", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["encoding/hex", "", True, "Decode", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] + - ["encoding/hex", "", True, "DecodeString", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["encoding/hex", "", True, "NewDecoder", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] diff --git a/go/ql/lib/ext/encoding.json.model.yml b/go/ql/lib/ext/encoding.json.model.yml index b820561fa95c..40812ff815b2 100644 --- a/go/ql/lib/ext/encoding.json.model.yml +++ b/go/ql/lib/ext/encoding.json.model.yml @@ -3,13 +3,13 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["encoding/json", "", False, "Compact", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - - ["encoding/json", "", False, "HTMLEscape", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - - ["encoding/json", "", False, "Indent", "", "", "Argument[1..3]", "Argument[0]", "taint", "manual"] - - ["encoding/json", "", False, "Marshal", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["encoding/json", "", False, "MarshalIndent", "", "", "Argument[0..2]", "ReturnValue[0]", "taint", "manual"] - - ["encoding/json", "", False, "NewDecoder", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["encoding/json", "", False, "Unmarshal", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] + - ["encoding/json", "", True, "Compact", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] + - ["encoding/json", "", True, "HTMLEscape", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] + - ["encoding/json", "", True, "Indent", "", "", "Argument[1..3]", "Argument[0]", "taint", "manual"] + - ["encoding/json", "", True, "Marshal", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["encoding/json", "", True, "MarshalIndent", "", "", "Argument[0..2]", "ReturnValue[0]", "taint", "manual"] + - ["encoding/json", "", True, "NewDecoder", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["encoding/json", "", True, "Unmarshal", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] - ["encoding/json", "Decoder", True, "Buffered", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] - ["encoding/json", "Decoder", True, "Decode", "", "", "Argument[receiver]", "Argument[0]", "taint", "manual"] - ["encoding/json", "Decoder", True, "Token", "", "", "Argument[receiver]", "ReturnValue[0]", "taint", "manual"] diff --git a/go/ql/lib/ext/encoding.pem.model.yml b/go/ql/lib/ext/encoding.pem.model.yml index 57c0f1fc662d..5ad944c14ad7 100644 --- a/go/ql/lib/ext/encoding.pem.model.yml +++ b/go/ql/lib/ext/encoding.pem.model.yml @@ -3,6 +3,6 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["encoding/pem", "", False, "Decode", "", "", "Argument[0]", "ReturnValue[0..1]", "taint", "manual"] - - ["encoding/pem", "", False, "Encode", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - - ["encoding/pem", "", False, "EncodeToMemory", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["encoding/pem", "", True, "Decode", "", "", "Argument[0]", "ReturnValue[0..1]", "taint", "manual"] + - ["encoding/pem", "", True, "Encode", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] + - ["encoding/pem", "", True, "EncodeToMemory", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] diff --git a/go/ql/lib/ext/encoding.xml.model.yml b/go/ql/lib/ext/encoding.xml.model.yml index 40824a28c9eb..f42878b4b456 100644 --- a/go/ql/lib/ext/encoding.xml.model.yml +++ b/go/ql/lib/ext/encoding.xml.model.yml @@ -3,14 +3,14 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["encoding/xml", "", False, "CopyToken", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["encoding/xml", "", False, "Escape", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - - ["encoding/xml", "", False, "EscapeText", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - - ["encoding/xml", "", False, "Marshal", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["encoding/xml", "", False, "MarshalIndent", "", "", "Argument[0..2]", "ReturnValue[0]", "taint", "manual"] - - ["encoding/xml", "", False, "NewDecoder", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["encoding/xml", "", False, "NewTokenDecoder", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["encoding/xml", "", False, "Unmarshal", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] + - ["encoding/xml", "", True, "CopyToken", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["encoding/xml", "", True, "Escape", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] + - ["encoding/xml", "", True, "EscapeText", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] + - ["encoding/xml", "", True, "Marshal", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["encoding/xml", "", True, "MarshalIndent", "", "", "Argument[0..2]", "ReturnValue[0]", "taint", "manual"] + - ["encoding/xml", "", True, "NewDecoder", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["encoding/xml", "", True, "NewTokenDecoder", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["encoding/xml", "", True, "Unmarshal", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] - ["encoding/xml", "CharData", True, "Copy", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] - ["encoding/xml", "Comment", True, "Copy", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] - ["encoding/xml", "Decoder", True, "Decode", "", "", "Argument[receiver]", "Argument[0]", "taint", "manual"] diff --git a/go/ql/lib/ext/errors.model.yml b/go/ql/lib/ext/errors.model.yml index a94c8e558ff4..3ef4b4545bb7 100644 --- a/go/ql/lib/ext/errors.model.yml +++ b/go/ql/lib/ext/errors.model.yml @@ -3,6 +3,6 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["errors", "", False, "As", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] - - ["errors", "", False, "New", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["errors", "", False, "Unwrap", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["errors", "", True, "As", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] + - ["errors", "", True, "New", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["errors", "", True, "Unwrap", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] diff --git a/go/ql/lib/ext/github.com.beego.beego.core.utils.model.yml b/go/ql/lib/ext/github.com.beego.beego.core.utils.model.yml index 4eb0688e37e7..efcc6fd85d08 100644 --- a/go/ql/lib/ext/github.com.beego.beego.core.utils.model.yml +++ b/go/ql/lib/ext/github.com.beego.beego.core.utils.model.yml @@ -10,16 +10,16 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["group:beego-utils", "", False, "SliceChunk", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["group:beego-utils", "", False, "SliceDiff", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["group:beego-utils", "", False, "SliceFilter", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["group:beego-utils", "", False, "SliceIntersect", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] - - ["group:beego-utils", "", False, "SliceMerge", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] - - ["group:beego-utils", "", False, "SlicePad", "", "", "Argument[0..2]", "ReturnValue", "taint", "manual"] - - ["group:beego-utils", "", False, "SliceRand", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["group:beego-utils", "", False, "SliceReduce", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["group:beego-utils", "", False, "SliceShuffle", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["group:beego-utils", "", False, "SliceUnique", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["group:beego-utils", "", True, "SliceChunk", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["group:beego-utils", "", True, "SliceDiff", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["group:beego-utils", "", True, "SliceFilter", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["group:beego-utils", "", True, "SliceIntersect", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] + - ["group:beego-utils", "", True, "SliceMerge", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] + - ["group:beego-utils", "", True, "SlicePad", "", "", "Argument[0..2]", "ReturnValue", "taint", "manual"] + - ["group:beego-utils", "", True, "SliceRand", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["group:beego-utils", "", True, "SliceReduce", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["group:beego-utils", "", True, "SliceShuffle", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["group:beego-utils", "", True, "SliceUnique", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["group:beego-utils", "BeeMap", True, "Get", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] - ["group:beego-utils", "BeeMap", True, "Items", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] - ["group:beego-utils", "BeeMap", True, "Set", "", "", "Argument[1]", "Argument[receiver]", "taint", "manual"] diff --git a/go/ql/lib/ext/github.com.beego.beego.server.web.context.model.yml b/go/ql/lib/ext/github.com.beego.beego.server.web.context.model.yml index e2c856af7e5a..97b66e585e76 100644 --- a/go/ql/lib/ext/github.com.beego.beego.server.web.context.model.yml +++ b/go/ql/lib/ext/github.com.beego.beego.server.web.context.model.yml @@ -11,14 +11,14 @@ extensions: extensible: sinkModel data: # path-injection - - ["group:beego-context", "BeegoOutput", False, "Download", "", "", "Argument[0]", "path-injection", "manual"] + - ["group:beego-context", "BeegoOutput", True, "Download", "", "", "Argument[0]", "path-injection", "manual"] # url-redirection - ["group:beego-context", "Context", True, "Redirect", "", "", "Argument[1]", "url-redirection", "manual"] - addsTo: pack: codeql/go-all extensible: summaryModel data: - - ["group:beego-context", "", False, "WriteBody", "", "", "Argument[2]", "Argument[1]", "taint", "manual"] + - ["group:beego-context", "", True, "WriteBody", "", "", "Argument[2]", "Argument[1]", "taint", "manual"] - addsTo: pack: codeql/go-all extensible: sourceModel diff --git a/go/ql/lib/ext/github.com.beego.beego.server.web.model.yml b/go/ql/lib/ext/github.com.beego.beego.server.web.model.yml index 8a11da7ad83c..6de91acfaf14 100644 --- a/go/ql/lib/ext/github.com.beego.beego.server.web.model.yml +++ b/go/ql/lib/ext/github.com.beego.beego.server.web.model.yml @@ -11,23 +11,23 @@ extensions: extensible: sinkModel data: # path-injection - - ["group:beego", "", False, "Walk", "", "", "Argument[1]", "path-injection", "manual"] - - ["group:beego", "Controller", False, "SaveToFile", "", "", "Argument[1]", "path-injection", "manual"] - - ["group:beego", "Controller", False, "SaveToFileWithBuffer", "", "", "Argument[1]", "path-injection", "manual"] # only exists in v2 - - ["group:beego", "FileSystem", False, "Open", "", "", "Argument[0]", "path-injection", "manual"] + - ["group:beego", "", True, "Walk", "", "", "Argument[1]", "path-injection", "manual"] + - ["group:beego", "Controller", True, "SaveToFile", "", "", "Argument[1]", "path-injection", "manual"] + - ["group:beego", "Controller", True, "SaveToFileWithBuffer", "", "", "Argument[1]", "path-injection", "manual"] # only exists in v2 + - ["group:beego", "FileSystem", True, "Open", "", "", "Argument[0]", "path-injection", "manual"] # url-redirection - ["group:beego", "Controller", True, "Redirect", "", "", "Argument[0]", "url-redirection", "manual"] - addsTo: pack: codeql/go-all extensible: summaryModel data: - - ["group:beego", "", False, "HTML2str", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["group:beego", "", False, "Htmlquote", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["group:beego", "", False, "Htmlunquote", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["group:beego", "", False, "MapGet", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["group:beego", "", False, "ParseForm", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] - - ["group:beego", "", False, "Str2html", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["group:beego", "", False, "Substr", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["group:beego", "", True, "HTML2str", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["group:beego", "", True, "Htmlquote", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["group:beego", "", True, "Htmlunquote", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["group:beego", "", True, "MapGet", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["group:beego", "", True, "ParseForm", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] + - ["group:beego", "", True, "Str2html", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["group:beego", "", True, "Substr", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - addsTo: pack: codeql/go-all extensible: sourceModel diff --git a/go/ql/lib/ext/github.com.caarlos0.env.model.yml b/go/ql/lib/ext/github.com.caarlos0.env.model.yml index 42f6380c3fa9..cf5bbc1d0553 100644 --- a/go/ql/lib/ext/github.com.caarlos0.env.model.yml +++ b/go/ql/lib/ext/github.com.caarlos0.env.model.yml @@ -3,14 +3,14 @@ extensions: pack: codeql/go-all extensible: sourceModel data: - - ["github.com/caarlos0/env", "", False, "Parse", "", "", "Argument[0]", "environment", "manual"] - - ["github.com/caarlos0/env", "", False, "ParseAs", "", "", "ReturnValue[0]", "environment", "manual"] - - ["github.com/caarlos0/env", "", False, "ParseAsWithOptions", "", "", "ReturnValue[0]", "environment", "manual"] - - ["github.com/caarlos0/env", "", False, "ParseWithFuncs", "", "", "Argument[0]", "environment", "manual"] - - ["github.com/caarlos0/env", "", False, "ParseWithOptions", "", "", "Argument[0]", "environment", "manual"] + - ["github.com/caarlos0/env", "", True, "Parse", "", "", "Argument[0]", "environment", "manual"] + - ["github.com/caarlos0/env", "", True, "ParseAs", "", "", "ReturnValue[0]", "environment", "manual"] + - ["github.com/caarlos0/env", "", True, "ParseAsWithOptions", "", "", "ReturnValue[0]", "environment", "manual"] + - ["github.com/caarlos0/env", "", True, "ParseWithFuncs", "", "", "Argument[0]", "environment", "manual"] + - ["github.com/caarlos0/env", "", True, "ParseWithOptions", "", "", "Argument[0]", "environment", "manual"] - addsTo: pack: codeql/go-all extensible: summaryModel data: - - ["github.com/caarlos0/env", "", False, "Must", "", "", "Argument[0]", "ReturnValue", "value", "manual"] - - ["github.com/caarlos0/env", "", False, "ToMap", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["github.com/caarlos0/env", "", True, "Must", "", "", "Argument[0]", "ReturnValue", "value", "manual"] + - ["github.com/caarlos0/env", "", True, "ToMap", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] diff --git a/go/ql/lib/ext/github.com.codeskyblue.go-sh.model.yml b/go/ql/lib/ext/github.com.codeskyblue.go-sh.model.yml index d1e5c590af6c..2b6d9da1b383 100644 --- a/go/ql/lib/ext/github.com.codeskyblue.go-sh.model.yml +++ b/go/ql/lib/ext/github.com.codeskyblue.go-sh.model.yml @@ -3,7 +3,7 @@ extensions: pack: codeql/go-all extensible: sinkModel data: - - ["github.com/codeskyblue/go-sh", "", False, "Command", "", "", "Argument[0]", "command-injection", "manual"] - - ["github.com/codeskyblue/go-sh", "Session", False, "Call", "", "", "Argument[0]", "command-injection", "manual"] - - ["github.com/codeskyblue/go-sh", "Session", False, "Command", "", "", "Argument[0]", "command-injection", "manual"] - - ["github.com/codeskyblue/go-sh", "Session", False, "Exec", "", "", "Argument[0]", "command-injection", "manual"] + - ["github.com/codeskyblue/go-sh", "", True, "Command", "", "", "Argument[0]", "command-injection", "manual"] + - ["github.com/codeskyblue/go-sh", "Session", True, "Call", "", "", "Argument[0]", "command-injection", "manual"] + - ["github.com/codeskyblue/go-sh", "Session", True, "Command", "", "", "Argument[0]", "command-injection", "manual"] + - ["github.com/codeskyblue/go-sh", "Session", True, "Exec", "", "", "Argument[0]", "command-injection", "manual"] diff --git a/go/ql/lib/ext/github.com.couchbase.gocb.model.yml b/go/ql/lib/ext/github.com.couchbase.gocb.model.yml index ff0a4c22c8de..71b11d268828 100644 --- a/go/ql/lib/ext/github.com.couchbase.gocb.model.yml +++ b/go/ql/lib/ext/github.com.couchbase.gocb.model.yml @@ -10,8 +10,8 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["group:gocb", "", False, "NewAnalyticsQuery", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["group:gocb", "", False, "NewN1qlQuery", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["group:gocb", "", True, "NewAnalyticsQuery", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["group:gocb", "", True, "NewN1qlQuery", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["group:gocb", "AnalyticsQuery", True, "ContextId", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] - ["group:gocb", "AnalyticsQuery", True, "Deferred", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] - ["group:gocb", "AnalyticsQuery", True, "Pretty", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] diff --git a/go/ql/lib/ext/github.com.evanphx.json-patch.model.yml b/go/ql/lib/ext/github.com.evanphx.json-patch.model.yml index 4824f521e4ef..56649f8dc7f2 100644 --- a/go/ql/lib/ext/github.com.evanphx.json-patch.model.yml +++ b/go/ql/lib/ext/github.com.evanphx.json-patch.model.yml @@ -3,10 +3,10 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["github.com/evanphx/json-patch", "", False, "CreateMergePatch", "", "", "Argument[0..1]", "ReturnValue[0]", "taint", "manual"] - - ["github.com/evanphx/json-patch", "", False, "DecodePatch", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["github.com/evanphx/json-patch", "", False, "MergeMergePatches", "", "", "Argument[0..1]", "ReturnValue[0]", "taint", "manual"] - - ["github.com/evanphx/json-patch", "", False, "MergePatch", "", "", "Argument[0..1]", "ReturnValue[0]", "taint", "manual"] + - ["github.com/evanphx/json-patch", "", True, "CreateMergePatch", "", "", "Argument[0..1]", "ReturnValue[0]", "taint", "manual"] + - ["github.com/evanphx/json-patch", "", True, "DecodePatch", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["github.com/evanphx/json-patch", "", True, "MergeMergePatches", "", "", "Argument[0..1]", "ReturnValue[0]", "taint", "manual"] + - ["github.com/evanphx/json-patch", "", True, "MergePatch", "", "", "Argument[0..1]", "ReturnValue[0]", "taint", "manual"] - ["github.com/evanphx/json-patch", "Patch", True, "Apply", "", "", "Argument[receiver]", "ReturnValue[0]", "taint", "manual"] - ["github.com/evanphx/json-patch", "Patch", True, "Apply", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - ["github.com/evanphx/json-patch", "Patch", True, "ApplyIndent", "", "", "Argument[receiver]", "ReturnValue[0]", "taint", "manual"] diff --git a/go/ql/lib/ext/github.com.gin-gonic.gin.model.yml b/go/ql/lib/ext/github.com.gin-gonic.gin.model.yml index bd228fc0ec35..92b1c757ac7a 100644 --- a/go/ql/lib/ext/github.com.gin-gonic.gin.model.yml +++ b/go/ql/lib/ext/github.com.gin-gonic.gin.model.yml @@ -3,9 +3,9 @@ extensions: pack: codeql/go-all extensible: sinkModel data: - - ["github.com/gin-gonic/gin", "Context", False, "File", "", "", "Argument[0]", "path-injection", "manual"] - - ["github.com/gin-gonic/gin", "Context", False, "FileAttachment", "", "", "Argument[0]", "path-injection", "manual"] - - ["github.com/gin-gonic/gin", "Context", False, "SaveUploadedFile", "", "", "Argument[1]", "path-injection", "manual"] + - ["github.com/gin-gonic/gin", "Context", True, "File", "", "", "Argument[0]", "path-injection", "manual"] + - ["github.com/gin-gonic/gin", "Context", True, "FileAttachment", "", "", "Argument[0]", "path-injection", "manual"] + - ["github.com/gin-gonic/gin", "Context", True, "SaveUploadedFile", "", "", "Argument[1]", "path-injection", "manual"] - addsTo: pack: codeql/go-all extensible: summaryModel diff --git a/go/ql/lib/ext/github.com.gobuffalo.envy.model.yml b/go/ql/lib/ext/github.com.gobuffalo.envy.model.yml index 1d0d890560d9..a47dbca95997 100644 --- a/go/ql/lib/ext/github.com.gobuffalo.envy.model.yml +++ b/go/ql/lib/ext/github.com.gobuffalo.envy.model.yml @@ -3,10 +3,10 @@ extensions: pack: codeql/go-all extensible: sourceModel data: - - ["github.com/gobuffalo/envy", "", False, "Environ", "", "", "ReturnValue", "environment", "manual"] - - ["github.com/gobuffalo/envy", "", False, "Get", "", "", "ReturnValue", "environment", "manual"] - - ["github.com/gobuffalo/envy", "", False, "GoBin", "", "", "ReturnValue", "environment", "manual"] - - ["github.com/gobuffalo/envy", "", False, "GoPath", "", "", "ReturnValue", "environment", "manual"] - - ["github.com/gobuffalo/envy", "", False, "GoPaths", "", "", "ReturnValue", "environment", "manual"] - - ["github.com/gobuffalo/envy", "", False, "Map", "", "", "ReturnValue", "environment", "manual"] - - ["github.com/gobuffalo/envy", "", False, "MustGet", "", "", "ReturnValue[0]", "environment", "manual"] + - ["github.com/gobuffalo/envy", "", True, "Environ", "", "", "ReturnValue", "environment", "manual"] + - ["github.com/gobuffalo/envy", "", True, "Get", "", "", "ReturnValue", "environment", "manual"] + - ["github.com/gobuffalo/envy", "", True, "GoBin", "", "", "ReturnValue", "environment", "manual"] + - ["github.com/gobuffalo/envy", "", True, "GoPath", "", "", "ReturnValue", "environment", "manual"] + - ["github.com/gobuffalo/envy", "", True, "GoPaths", "", "", "ReturnValue", "environment", "manual"] + - ["github.com/gobuffalo/envy", "", True, "Map", "", "", "ReturnValue", "environment", "manual"] + - ["github.com/gobuffalo/envy", "", True, "MustGet", "", "", "ReturnValue[0]", "environment", "manual"] diff --git a/go/ql/lib/ext/github.com.gofiber.fiber.model.yml b/go/ql/lib/ext/github.com.gofiber.fiber.model.yml index 7e553b2156de..c959d137301f 100644 --- a/go/ql/lib/ext/github.com.gofiber.fiber.model.yml +++ b/go/ql/lib/ext/github.com.gofiber.fiber.model.yml @@ -4,9 +4,9 @@ extensions: extensible: sinkModel data: # path-injection - - ["github.com/gofiber/fiber", "Ctx", False, "SendFile", "", "", "Argument[0]", "path-injection", "manual"] - - ["github.com/gofiber/fiber", "Ctx", False, "Download", "", "", "Argument[0]", "path-injection", "manual"] - - ["github.com/gofiber/fiber", "Ctx", False, "SaveFile", "", "", "Argument[1]", "path-injection", "manual"] - - ["github.com/gofiber/fiber", "Ctx", False, "SaveFileToStorage", "", "", "Argument[1]", "path-injection", "manual"] # does not exist in v1 + - ["github.com/gofiber/fiber", "Ctx", True, "SendFile", "", "", "Argument[0]", "path-injection", "manual"] + - ["github.com/gofiber/fiber", "Ctx", True, "Download", "", "", "Argument[0]", "path-injection", "manual"] + - ["github.com/gofiber/fiber", "Ctx", True, "SaveFile", "", "", "Argument[1]", "path-injection", "manual"] + - ["github.com/gofiber/fiber", "Ctx", True, "SaveFileToStorage", "", "", "Argument[1]", "path-injection", "manual"] # does not exist in v1 # url-redirection - ["github.com/gofiber/fiber", "Ctx", True, "Redirect", "", "", "Argument[0]", "url-redirection[receiver]", "manual"] diff --git a/go/ql/lib/ext/github.com.golang.protobuf.proto.model.yml b/go/ql/lib/ext/github.com.golang.protobuf.proto.model.yml index 8513d1198164..6daf9851e7da 100644 --- a/go/ql/lib/ext/github.com.golang.protobuf.proto.model.yml +++ b/go/ql/lib/ext/github.com.golang.protobuf.proto.model.yml @@ -3,7 +3,7 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["github.com/golang/protobuf/proto", "", False, "Clone", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["github.com/golang/protobuf/proto", "", False, "Marshal", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["github.com/golang/protobuf/proto", "", False, "Merge", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - - ["github.com/golang/protobuf/proto", "", False, "Unmarshal", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] + - ["github.com/golang/protobuf/proto", "", True, "Clone", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["github.com/golang/protobuf/proto", "", True, "Marshal", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["github.com/golang/protobuf/proto", "", True, "Merge", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] + - ["github.com/golang/protobuf/proto", "", True, "Unmarshal", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] diff --git a/go/ql/lib/ext/github.com.hashicorp.go-envparse.model.yml b/go/ql/lib/ext/github.com.hashicorp.go-envparse.model.yml index 73a178fbdcc8..bd1303887ac8 100644 --- a/go/ql/lib/ext/github.com.hashicorp.go-envparse.model.yml +++ b/go/ql/lib/ext/github.com.hashicorp.go-envparse.model.yml @@ -3,4 +3,4 @@ extensions: pack: codeql/go-all extensible: sourceModel data: - - ["github.com/hashicorp/go-envparse", "", False, "Parse", "", "", "ReturnValue", "environment", "manual"] + - ["github.com/hashicorp/go-envparse", "", True, "Parse", "", "", "ReturnValue", "environment", "manual"] diff --git a/go/ql/lib/ext/github.com.joho.godotenv.model.yml b/go/ql/lib/ext/github.com.joho.godotenv.model.yml index 8bd62c5dd0b1..8221901f1cf7 100644 --- a/go/ql/lib/ext/github.com.joho.godotenv.model.yml +++ b/go/ql/lib/ext/github.com.joho.godotenv.model.yml @@ -3,7 +3,7 @@ extensions: pack: codeql/go-all extensible: sourceModel data: - - ["github.com/joho/godotenv", "", False, "Parse", "", "", "ReturnValue", "environment", "manual"] - - ["github.com/joho/godotenv", "", False, "Read", "", "", "ReturnValue", "environment", "manual"] - - ["github.com/joho/godotenv", "", False, "Unmarshal", "", "", "ReturnValue", "environment", "manual"] - - ["github.com/joho/godotenv", "", False, "UnmarshalBytes", "", "", "ReturnValue", "environment", "manual"] + - ["github.com/joho/godotenv", "", True, "Parse", "", "", "ReturnValue", "environment", "manual"] + - ["github.com/joho/godotenv", "", True, "Read", "", "", "ReturnValue", "environment", "manual"] + - ["github.com/joho/godotenv", "", True, "Unmarshal", "", "", "ReturnValue", "environment", "manual"] + - ["github.com/joho/godotenv", "", True, "UnmarshalBytes", "", "", "ReturnValue", "environment", "manual"] diff --git a/go/ql/lib/ext/github.com.json-iterator.go.model.yml b/go/ql/lib/ext/github.com.json-iterator.go.model.yml index bf974a171097..f72ec191e063 100644 --- a/go/ql/lib/ext/github.com.json-iterator.go.model.yml +++ b/go/ql/lib/ext/github.com.json-iterator.go.model.yml @@ -3,7 +3,7 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["github.com/json-iterator/go", "", False, "Unmarshal", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] - - ["github.com/json-iterator/go", "", False, "UnmarshalFromString", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] + - ["github.com/json-iterator/go", "", True, "Unmarshal", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] + - ["github.com/json-iterator/go", "", True, "UnmarshalFromString", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] - ["github.com/json-iterator/go", "API", True, "Unmarshal", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] - ["github.com/json-iterator/go", "API", True, "UnmarshalFromString", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] diff --git a/go/ql/lib/ext/github.com.kelseyhightower.envconfig.model.yml b/go/ql/lib/ext/github.com.kelseyhightower.envconfig.model.yml index 71d032a18e1b..84b2cfc1fc0a 100644 --- a/go/ql/lib/ext/github.com.kelseyhightower.envconfig.model.yml +++ b/go/ql/lib/ext/github.com.kelseyhightower.envconfig.model.yml @@ -3,9 +3,9 @@ extensions: pack: codeql/go-all extensible: sourceModel data: - - ["github.com/kelseyhightower/envconfig", "", False, "CheckDisallowed", "", "", "Argument[1]", "environment", "manual"] - - ["github.com/kelseyhightower/envconfig", "", False, "MustProcess", "", "", "Argument[1]", "environment", "manual"] - - ["github.com/kelseyhightower/envconfig", "", False, "Process", "", "", "Argument[1]", "environment", "manual"] - - ["github.com/kelseyhightower/envconfig", "", False, "Usage", "", "", "Argument[1]", "environment", "manual"] - - ["github.com/kelseyhightower/envconfig", "", False, "Usagef", "", "", "Argument[1]", "environment", "manual"] - - ["github.com/kelseyhightower/envconfig", "", False, "Usaget", "", "", "Argument[1]", "environment", "manual"] \ No newline at end of file + - ["github.com/kelseyhightower/envconfig", "", True, "CheckDisallowed", "", "", "Argument[1]", "environment", "manual"] + - ["github.com/kelseyhightower/envconfig", "", True, "MustProcess", "", "", "Argument[1]", "environment", "manual"] + - ["github.com/kelseyhightower/envconfig", "", True, "Process", "", "", "Argument[1]", "environment", "manual"] + - ["github.com/kelseyhightower/envconfig", "", True, "Usage", "", "", "Argument[1]", "environment", "manual"] + - ["github.com/kelseyhightower/envconfig", "", True, "Usagef", "", "", "Argument[1]", "environment", "manual"] + - ["github.com/kelseyhightower/envconfig", "", True, "Usaget", "", "", "Argument[1]", "environment", "manual"] diff --git a/go/ql/lib/ext/github.com.labstack.echo.model.yml b/go/ql/lib/ext/github.com.labstack.echo.model.yml index b497cc133918..830360bbdb2d 100644 --- a/go/ql/lib/ext/github.com.labstack.echo.model.yml +++ b/go/ql/lib/ext/github.com.labstack.echo.model.yml @@ -4,8 +4,8 @@ extensions: extensible: sinkModel data: # path-injection - - ["github.com/labstack/echo", "Context", False, "Attachment", "", "", "Argument[0]", "path-injection", "manual"] - - ["github.com/labstack/echo", "Context", False, "File", "", "", "Argument[0]", "path-injection", "manual"] + - ["github.com/labstack/echo", "Context", True, "Attachment", "", "", "Argument[0]", "path-injection", "manual"] + - ["github.com/labstack/echo", "Context", True, "File", "", "", "Argument[0]", "path-injection", "manual"] # url-redirection - ["github.com/labstack/echo", "Context", True, "Redirect", "", "", "Argument[1]", "url-redirection", "manual"] - addsTo: diff --git a/go/ql/lib/ext/github.com.sendgrid.sendgrid-go.helpers.mail.model.yml b/go/ql/lib/ext/github.com.sendgrid.sendgrid-go.helpers.mail.model.yml index ce8ac14ccfa5..a84acc2624ec 100644 --- a/go/ql/lib/ext/github.com.sendgrid.sendgrid-go.helpers.mail.model.yml +++ b/go/ql/lib/ext/github.com.sendgrid.sendgrid-go.helpers.mail.model.yml @@ -3,4 +3,4 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["github.com/sendgrid/sendgrid-go/helpers/mail", "", False, "NewContent", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] + - ["github.com/sendgrid/sendgrid-go/helpers/mail", "", True, "NewContent", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] diff --git a/go/ql/lib/ext/github.com.spf13.afero.model.yml b/go/ql/lib/ext/github.com.spf13.afero.model.yml index 94879539233d..2ddab6ef43bb 100644 --- a/go/ql/lib/ext/github.com.spf13.afero.model.yml +++ b/go/ql/lib/ext/github.com.spf13.afero.model.yml @@ -3,37 +3,37 @@ extensions: pack: codeql/go-all extensible: sinkModel data: - - ["github.com/spf13/afero", "HttpFs", False, "Create", "", "", "Argument[0]", "path-injection", "manual"] - - ["github.com/spf13/afero", "HttpFs", False, "Open", "", "", "Argument[0]", "path-injection", "manual"] - - ["github.com/spf13/afero", "HttpFs", False, "OpenFile", "", "", "Argument[0]", "path-injection", "manual"] - - ["github.com/spf13/afero", "HttpFs", False, "Remove", "", "", "Argument[0]", "path-injection", "manual"] - - ["github.com/spf13/afero", "HttpFs", False, "RemoveAll", "", "", "Argument[0]", "path-injection", "manual"] - - ["github.com/spf13/afero", "MemMapFs", False, "Create", "", "", "Argument[0]", "path-injection", "manual"] - - ["github.com/spf13/afero", "MemMapFs", False, "Open", "", "", "Argument[0]", "path-injection", "manual"] - - ["github.com/spf13/afero", "MemMapFs", False, "OpenFile", "", "", "Argument[0]", "path-injection", "manual"] - - ["github.com/spf13/afero", "MemMapFs", False, "Remove", "", "", "Argument[0]", "path-injection", "manual"] - - ["github.com/spf13/afero", "MemMapFs", False, "RemoveAll", "", "", "Argument[0]", "path-injection", "manual"] - - ["github.com/spf13/afero", "MemMapFs", False, "Mkdir", "", "", "Argument[0]", "path-injection", "manual"] - - ["github.com/spf13/afero", "MemMapFs", False, "MkdirAll", "", "", "Argument[0]", "path-injection", "manual"] - - ["github.com/spf13/afero", "OsFs", False, "Create", "", "", "Argument[0]", "path-injection", "manual"] - - ["github.com/spf13/afero", "OsFs", False, "Open", "", "", "Argument[0]", "path-injection", "manual"] - - ["github.com/spf13/afero", "OsFs", False, "OpenFile", "", "", "Argument[0]", "path-injection", "manual"] - - ["github.com/spf13/afero", "OsFs", False, "ReadlinkIfPossible", "", "", "Argument[0]", "path-injection", "manual"] - - ["github.com/spf13/afero", "OsFs", False, "Remove", "", "", "Argument[0]", "path-injection", "manual"] - - ["github.com/spf13/afero", "OsFs", False, "RemoveAll", "", "", "Argument[0]", "path-injection", "manual"] - - ["github.com/spf13/afero", "OsFs", False, "Mkdir", "", "", "Argument[0]", "path-injection", "manual"] - - ["github.com/spf13/afero", "OsFs", False, "MkdirAll", "", "", "Argument[0]", "path-injection", "manual"] - - ["github.com/spf13/afero", "ReadOnlyFs", False, "Create", "", "", "Argument[0]", "path-injection", "manual"] - - ["github.com/spf13/afero", "ReadOnlyFs", False, "Open", "", "", "Argument[0]", "path-injection", "manual"] - - ["github.com/spf13/afero", "ReadOnlyFs", False, "OpenFile", "", "", "Argument[0]", "path-injection", "manual"] - - ["github.com/spf13/afero", "ReadOnlyFs", False, "ReadDir", "", "", "Argument[0]", "path-injection", "manual"] - - ["github.com/spf13/afero", "ReadOnlyFs", False, "ReadlinkIfPossible", "", "", "Argument[0]", "path-injection", "manual"] - - ["github.com/spf13/afero", "ReadOnlyFs", False, "Mkdir", "", "", "Argument[0]", "path-injection", "manual"] - - ["github.com/spf13/afero", "ReadOnlyFs", False, "MkdirAll", "", "", "Argument[0]", "path-injection", "manual"] - - ["github.com/spf13/afero", "RegexpFs", False, "Create", "", "", "Argument[0]", "path-injection", "manual"] - - ["github.com/spf13/afero", "RegexpFs", False, "Open", "", "", "Argument[0]", "path-injection", "manual"] - - ["github.com/spf13/afero", "RegexpFs", False, "OpenFile", "", "", "Argument[0]", "path-injection", "manual"] - - ["github.com/spf13/afero", "RegexpFs", False, "Remove", "", "", "Argument[0]", "path-injection", "manual"] - - ["github.com/spf13/afero", "RegexpFs", False, "RemoveAll", "", "", "Argument[0]", "path-injection", "manual"] - - ["github.com/spf13/afero", "RegexpFs", False, "Mkdir", "", "", "Argument[0]", "path-injection", "manual"] - - ["github.com/spf13/afero", "RegexpFs", False, "MkdirAll", "", "", "Argument[0]", "path-injection", "manual"] + - ["github.com/spf13/afero", "HttpFs", True, "Create", "", "", "Argument[0]", "path-injection", "manual"] + - ["github.com/spf13/afero", "HttpFs", True, "Open", "", "", "Argument[0]", "path-injection", "manual"] + - ["github.com/spf13/afero", "HttpFs", True, "OpenFile", "", "", "Argument[0]", "path-injection", "manual"] + - ["github.com/spf13/afero", "HttpFs", True, "Remove", "", "", "Argument[0]", "path-injection", "manual"] + - ["github.com/spf13/afero", "HttpFs", True, "RemoveAll", "", "", "Argument[0]", "path-injection", "manual"] + - ["github.com/spf13/afero", "MemMapFs", True, "Create", "", "", "Argument[0]", "path-injection", "manual"] + - ["github.com/spf13/afero", "MemMapFs", True, "Open", "", "", "Argument[0]", "path-injection", "manual"] + - ["github.com/spf13/afero", "MemMapFs", True, "OpenFile", "", "", "Argument[0]", "path-injection", "manual"] + - ["github.com/spf13/afero", "MemMapFs", True, "Remove", "", "", "Argument[0]", "path-injection", "manual"] + - ["github.com/spf13/afero", "MemMapFs", True, "RemoveAll", "", "", "Argument[0]", "path-injection", "manual"] + - ["github.com/spf13/afero", "MemMapFs", True, "Mkdir", "", "", "Argument[0]", "path-injection", "manual"] + - ["github.com/spf13/afero", "MemMapFs", True, "MkdirAll", "", "", "Argument[0]", "path-injection", "manual"] + - ["github.com/spf13/afero", "OsFs", True, "Create", "", "", "Argument[0]", "path-injection", "manual"] + - ["github.com/spf13/afero", "OsFs", True, "Open", "", "", "Argument[0]", "path-injection", "manual"] + - ["github.com/spf13/afero", "OsFs", True, "OpenFile", "", "", "Argument[0]", "path-injection", "manual"] + - ["github.com/spf13/afero", "OsFs", True, "ReadlinkIfPossible", "", "", "Argument[0]", "path-injection", "manual"] + - ["github.com/spf13/afero", "OsFs", True, "Remove", "", "", "Argument[0]", "path-injection", "manual"] + - ["github.com/spf13/afero", "OsFs", True, "RemoveAll", "", "", "Argument[0]", "path-injection", "manual"] + - ["github.com/spf13/afero", "OsFs", True, "Mkdir", "", "", "Argument[0]", "path-injection", "manual"] + - ["github.com/spf13/afero", "OsFs", True, "MkdirAll", "", "", "Argument[0]", "path-injection", "manual"] + - ["github.com/spf13/afero", "ReadOnlyFs", True, "Create", "", "", "Argument[0]", "path-injection", "manual"] + - ["github.com/spf13/afero", "ReadOnlyFs", True, "Open", "", "", "Argument[0]", "path-injection", "manual"] + - ["github.com/spf13/afero", "ReadOnlyFs", True, "OpenFile", "", "", "Argument[0]", "path-injection", "manual"] + - ["github.com/spf13/afero", "ReadOnlyFs", True, "ReadDir", "", "", "Argument[0]", "path-injection", "manual"] + - ["github.com/spf13/afero", "ReadOnlyFs", True, "ReadlinkIfPossible", "", "", "Argument[0]", "path-injection", "manual"] + - ["github.com/spf13/afero", "ReadOnlyFs", True, "Mkdir", "", "", "Argument[0]", "path-injection", "manual"] + - ["github.com/spf13/afero", "ReadOnlyFs", True, "MkdirAll", "", "", "Argument[0]", "path-injection", "manual"] + - ["github.com/spf13/afero", "RegexpFs", True, "Create", "", "", "Argument[0]", "path-injection", "manual"] + - ["github.com/spf13/afero", "RegexpFs", True, "Open", "", "", "Argument[0]", "path-injection", "manual"] + - ["github.com/spf13/afero", "RegexpFs", True, "OpenFile", "", "", "Argument[0]", "path-injection", "manual"] + - ["github.com/spf13/afero", "RegexpFs", True, "Remove", "", "", "Argument[0]", "path-injection", "manual"] + - ["github.com/spf13/afero", "RegexpFs", True, "RemoveAll", "", "", "Argument[0]", "path-injection", "manual"] + - ["github.com/spf13/afero", "RegexpFs", True, "Mkdir", "", "", "Argument[0]", "path-injection", "manual"] + - ["github.com/spf13/afero", "RegexpFs", True, "MkdirAll", "", "", "Argument[0]", "path-injection", "manual"] diff --git a/go/ql/lib/ext/github.com.valyala.fasthttp.model.yml b/go/ql/lib/ext/github.com.valyala.fasthttp.model.yml index feafceb364df..92ef0132a336 100644 --- a/go/ql/lib/ext/github.com.valyala.fasthttp.model.yml +++ b/go/ql/lib/ext/github.com.valyala.fasthttp.model.yml @@ -30,14 +30,14 @@ extensions: - ["github.com/valyala/fasthttp", "TCPDialer", True, "DialDualStackTimeout", "", "", "Argument[0]", "request-forgery[TCP Addr + Port]", "manual"] - ["github.com/valyala/fasthttp", "TCPDialer", True, "DialTimeout", "", "", "Argument[0]", "request-forgery[TCP Addr + Port]", "manual"] # path-injection - - ["github.com/valyala/fasthttp", "", False, "SaveMultipartFile", "", "", "Argument[1]", "path-injection", "manual"] - - ["github.com/valyala/fasthttp", "", False, "ServeFile", "", "", "Argument[1]", "path-injection", "manual"] - - ["github.com/valyala/fasthttp", "", False, "ServeFileBytes", "", "", "Argument[1]", "path-injection", "manual"] - - ["github.com/valyala/fasthttp", "", False, "ServeFileBytesUncompressed", "", "", "Argument[1]", "path-injection", "manual"] - - ["github.com/valyala/fasthttp", "", False, "ServeFileUncompressed", "", "", "Argument[1]", "path-injection", "manual"] - - ["github.com/valyala/fasthttp", "RequestCtx", False, "SendFile", "", "", "Argument[0]", "path-injection", "manual"] - - ["github.com/valyala/fasthttp", "RequestCtx", False, "SendFileBytes", "", "", "Argument[0]", "path-injection", "manual"] - - ["github.com/valyala/fasthttp", "Response", False, "SendFile", "", "", "Argument[0]", "path-injection", "manual"] + - ["github.com/valyala/fasthttp", "", True, "SaveMultipartFile", "", "", "Argument[1]", "path-injection", "manual"] + - ["github.com/valyala/fasthttp", "", True, "ServeFile", "", "", "Argument[1]", "path-injection", "manual"] + - ["github.com/valyala/fasthttp", "", True, "ServeFileBytes", "", "", "Argument[1]", "path-injection", "manual"] + - ["github.com/valyala/fasthttp", "", True, "ServeFileBytesUncompressed", "", "", "Argument[1]", "path-injection", "manual"] + - ["github.com/valyala/fasthttp", "", True, "ServeFileUncompressed", "", "", "Argument[1]", "path-injection", "manual"] + - ["github.com/valyala/fasthttp", "RequestCtx", True, "SendFile", "", "", "Argument[0]", "path-injection", "manual"] + - ["github.com/valyala/fasthttp", "RequestCtx", True, "SendFileBytes", "", "", "Argument[0]", "path-injection", "manual"] + - ["github.com/valyala/fasthttp", "Response", True, "SendFile", "", "", "Argument[0]", "path-injection", "manual"] # url-redirection - ["github.com/valyala/fasthttp", "RequestCtx", True, "Redirect", "", "", "Argument[0]", "url-redirection", "manual"] - ["github.com/valyala/fasthttp", "RequestCtx", True, "RedirectBytes", "", "", "Argument[0]", "url-redirection", "manual"] @@ -45,11 +45,11 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["github.com/valyala/fasthttp", "URI", False, "SetHost", "", "", "Argument[0]", "Argument[receiver]", "taint", "manual"] - - ["github.com/valyala/fasthttp", "URI", False, "SetHostBytes", "", "", "Argument[0]", "Argument[receiver]", "taint", "manual"] - - ["github.com/valyala/fasthttp", "URI", False, "Update", "", "", "Argument[0]", "Argument[receiver]", "taint", "manual"] - - ["github.com/valyala/fasthttp", "URI", False, "UpdateBytes", "", "", "Argument[0]", "Argument[receiver]", "taint", "manual"] - - ["github.com/valyala/fasthttp", "URI", False, "Parse", "", "", "Argument[0..1]", "Argument[receiver]", "taint", "manual"] + - ["github.com/valyala/fasthttp", "URI", True, "SetHost", "", "", "Argument[0]", "Argument[receiver]", "taint", "manual"] + - ["github.com/valyala/fasthttp", "URI", True, "SetHostBytes", "", "", "Argument[0]", "Argument[receiver]", "taint", "manual"] + - ["github.com/valyala/fasthttp", "URI", True, "Update", "", "", "Argument[0]", "Argument[receiver]", "taint", "manual"] + - ["github.com/valyala/fasthttp", "URI", True, "UpdateBytes", "", "", "Argument[0]", "Argument[receiver]", "taint", "manual"] + - ["github.com/valyala/fasthttp", "URI", True, "Parse", "", "", "Argument[0..1]", "Argument[receiver]", "taint", "manual"] - addsTo: pack: codeql/go-all extensible: sourceModel diff --git a/go/ql/lib/ext/go.uber.org.zap.model.yml b/go/ql/lib/ext/go.uber.org.zap.model.yml index 2ca7f7e8a804..7d5b2cb231d8 100644 --- a/go/ql/lib/ext/go.uber.org.zap.model.yml +++ b/go/ql/lib/ext/go.uber.org.zap.model.yml @@ -3,14 +3,14 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["go.uber.org/zap", "", False, "Any", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] - - ["go.uber.org/zap", "", False, "Binary", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] - - ["go.uber.org/zap", "", False, "ByteString", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] - - ["go.uber.org/zap", "", False, "ByteStrings", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] - - ["go.uber.org/zap", "", False, "Error", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["go.uber.org/zap", "", False, "Errors", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] - - ["go.uber.org/zap", "", False, "NamedError", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] - - ["go.uber.org/zap", "", False, "Reflect", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] - - ["go.uber.org/zap", "", False, "String", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] - - ["go.uber.org/zap", "", False, "Stringp", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] - - ["go.uber.org/zap", "", False, "Strings", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] + - ["go.uber.org/zap", "", True, "Any", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] + - ["go.uber.org/zap", "", True, "Binary", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] + - ["go.uber.org/zap", "", True, "ByteString", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] + - ["go.uber.org/zap", "", True, "ByteStrings", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] + - ["go.uber.org/zap", "", True, "Error", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["go.uber.org/zap", "", True, "Errors", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] + - ["go.uber.org/zap", "", True, "NamedError", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] + - ["go.uber.org/zap", "", True, "Reflect", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] + - ["go.uber.org/zap", "", True, "String", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] + - ["go.uber.org/zap", "", True, "Stringp", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] + - ["go.uber.org/zap", "", True, "Strings", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] diff --git a/go/ql/lib/ext/golang.org.x.crypto.ssh.model.yml b/go/ql/lib/ext/golang.org.x.crypto.ssh.model.yml index 8419737a2f2d..205a2a1dcb57 100644 --- a/go/ql/lib/ext/golang.org.x.crypto.ssh.model.yml +++ b/go/ql/lib/ext/golang.org.x.crypto.ssh.model.yml @@ -3,7 +3,7 @@ extensions: pack: codeql/go-all extensible: sinkModel data: - - ["golang.org/x/crypto/ssh", "Session", False, "CombinedOutput", "", "", "Argument[0]", "command-injection", "manual"] - - ["golang.org/x/crypto/ssh", "Session", False, "Output", "", "", "Argument[0]", "command-injection", "manual"] - - ["golang.org/x/crypto/ssh", "Session", False, "Run", "", "", "Argument[0]", "command-injection", "manual"] - - ["golang.org/x/crypto/ssh", "Session", False, "Start", "", "", "Argument[0]", "command-injection", "manual"] + - ["golang.org/x/crypto/ssh", "Session", True, "CombinedOutput", "", "", "Argument[0]", "command-injection", "manual"] + - ["golang.org/x/crypto/ssh", "Session", True, "Output", "", "", "Argument[0]", "command-injection", "manual"] + - ["golang.org/x/crypto/ssh", "Session", True, "Run", "", "", "Argument[0]", "command-injection", "manual"] + - ["golang.org/x/crypto/ssh", "Session", True, "Start", "", "", "Argument[0]", "command-injection", "manual"] diff --git a/go/ql/lib/ext/golang.org.x.net.context.model.yml b/go/ql/lib/ext/golang.org.x.net.context.model.yml index 873de75761fb..d1036f56d29c 100644 --- a/go/ql/lib/ext/golang.org.x.net.context.model.yml +++ b/go/ql/lib/ext/golang.org.x.net.context.model.yml @@ -3,8 +3,8 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["golang.org/x/net/context", "", False, "WithCancel", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["golang.org/x/net/context", "", False, "WithDeadline", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["golang.org/x/net/context", "", False, "WithTimeout", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["golang.org/x/net/context", "", False, "WithValue", "", "", "Argument[0..2]", "ReturnValue", "taint", "manual"] + - ["golang.org/x/net/context", "", True, "WithCancel", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["golang.org/x/net/context", "", True, "WithDeadline", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["golang.org/x/net/context", "", True, "WithTimeout", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["golang.org/x/net/context", "", True, "WithValue", "", "", "Argument[0..2]", "ReturnValue", "taint", "manual"] - ["golang.org/x/net/context", "Context", True, "Value", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] diff --git a/go/ql/lib/ext/golang.org.x.net.html.model.yml b/go/ql/lib/ext/golang.org.x.net.html.model.yml index 5633e8b3b408..d6be3e28a3aa 100644 --- a/go/ql/lib/ext/golang.org.x.net.html.model.yml +++ b/go/ql/lib/ext/golang.org.x.net.html.model.yml @@ -3,15 +3,15 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["golang.org/x/net/html", "", False, "EscapeString", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["golang.org/x/net/html", "", False, "NewTokenizer", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["golang.org/x/net/html", "", False, "NewTokenizerFragment", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["golang.org/x/net/html", "", False, "Parse", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["golang.org/x/net/html", "", False, "ParseFragment", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["golang.org/x/net/html", "", False, "ParseFragmentWithOptions", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["golang.org/x/net/html", "", False, "ParseWithOptions", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["golang.org/x/net/html", "", False, "Render", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - - ["golang.org/x/net/html", "", False, "UnescapeString", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["golang.org/x/net/html", "", True, "EscapeString", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["golang.org/x/net/html", "", True, "NewTokenizer", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["golang.org/x/net/html", "", True, "NewTokenizerFragment", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["golang.org/x/net/html", "", True, "Parse", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["golang.org/x/net/html", "", True, "ParseFragment", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["golang.org/x/net/html", "", True, "ParseFragmentWithOptions", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["golang.org/x/net/html", "", True, "ParseWithOptions", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["golang.org/x/net/html", "", True, "Render", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] + - ["golang.org/x/net/html", "", True, "UnescapeString", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["golang.org/x/net/html", "Node", True, "AppendChild", "", "", "Argument[0]", "Argument[receiver]", "taint", "manual"] - ["golang.org/x/net/html", "Node", True, "InsertBefore", "", "", "Argument[0]", "Argument[receiver]", "taint", "manual"] - ["golang.org/x/net/html", "Tokenizer", True, "Buffered", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] diff --git a/go/ql/lib/ext/google.golang.org.protobuf.proto.model.yml b/go/ql/lib/ext/google.golang.org.protobuf.proto.model.yml index 988559372565..5f25f73381d0 100644 --- a/go/ql/lib/ext/google.golang.org.protobuf.proto.model.yml +++ b/go/ql/lib/ext/google.golang.org.protobuf.proto.model.yml @@ -3,10 +3,10 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["google.golang.org/protobuf/proto", "", False, "Clone", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["google.golang.org/protobuf/proto", "", False, "Marshal", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["google.golang.org/protobuf/proto", "", False, "Merge", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - - ["google.golang.org/protobuf/proto", "", False, "Unmarshal", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] + - ["google.golang.org/protobuf/proto", "", True, "Clone", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["google.golang.org/protobuf/proto", "", True, "Marshal", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["google.golang.org/protobuf/proto", "", True, "Merge", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] + - ["google.golang.org/protobuf/proto", "", True, "Unmarshal", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] - ["google.golang.org/protobuf/proto", "MarshalOptions", True, "Marshal", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - ["google.golang.org/protobuf/proto", "MarshalOptions", True, "MarshalAppend", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - ["google.golang.org/protobuf/proto", "MarshalOptions", True, "MarshalAppend", "", "", "Argument[1]", "ReturnValue[0]", "taint", "manual"] diff --git a/go/ql/lib/ext/gopkg.in.yaml.model.yml b/go/ql/lib/ext/gopkg.in.yaml.model.yml index 34b973e67198..23af4bb12fed 100644 --- a/go/ql/lib/ext/gopkg.in.yaml.model.yml +++ b/go/ql/lib/ext/gopkg.in.yaml.model.yml @@ -3,10 +3,10 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["gopkg.in/yaml", "", False, "Marshal", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["gopkg.in/yaml", "", False, "Unmarshal", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] - - ["gopkg.in/yaml", "", False, "UnmarshalStrict", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] - - ["gopkg.in/yaml", "", False, "NewDecoder", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["gopkg.in/yaml", "", True, "Marshal", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["gopkg.in/yaml", "", True, "Unmarshal", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] + - ["gopkg.in/yaml", "", True, "UnmarshalStrict", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] + - ["gopkg.in/yaml", "", True, "NewDecoder", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["gopkg.in/yaml", "Decoder", True, "Decode", "", "", "Argument[receiver]", "Argument[0]", "taint", "manual"] - ["gopkg.in/yaml", "Encoder", True, "Encode", "", "", "Argument[0]", "Argument[receiver]", "taint", "manual"] - ["gopkg.in/yaml", "Node", True, "Decode", "", "", "Argument[receiver]", "Argument[0]", "taint", "manual"] diff --git a/go/ql/lib/ext/html.model.yml b/go/ql/lib/ext/html.model.yml index 24d4e70152c2..34003fb231fa 100644 --- a/go/ql/lib/ext/html.model.yml +++ b/go/ql/lib/ext/html.model.yml @@ -3,5 +3,5 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["html", "", False, "EscapeString", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["html", "", False, "UnescapeString", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["html", "", True, "EscapeString", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["html", "", True, "UnescapeString", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] diff --git a/go/ql/lib/ext/html.template.model.yml b/go/ql/lib/ext/html.template.model.yml index 0ee840c4eaed..120ee2b304b0 100644 --- a/go/ql/lib/ext/html.template.model.yml +++ b/go/ql/lib/ext/html.template.model.yml @@ -3,9 +3,9 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["html/template", "", False, "HTMLEscape", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - - ["html/template", "", False, "HTMLEscapeString", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["html/template", "", False, "JSEscape", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - - ["html/template", "", False, "JSEscapeString", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["html/template", "", True, "HTMLEscape", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] + - ["html/template", "", True, "HTMLEscapeString", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["html/template", "", True, "JSEscape", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] + - ["html/template", "", True, "JSEscapeString", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["html/template", "Template", True, "Execute", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - ["html/template", "Template", True, "ExecuteTemplate", "", "", "Argument[2]", "Argument[0]", "taint", "manual"] diff --git a/go/ql/lib/ext/io.fs.model.yml b/go/ql/lib/ext/io.fs.model.yml index ac709c939b61..9e9ae4f97a14 100644 --- a/go/ql/lib/ext/io.fs.model.yml +++ b/go/ql/lib/ext/io.fs.model.yml @@ -3,11 +3,11 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["io/fs", "", False, "FileInfoToDirEntry", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["io/fs", "", False, "Glob", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["io/fs", "", False, "ReadDir", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["io/fs", "", False, "ReadFile", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["io/fs", "", False, "Sub", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["io/fs", "", True, "FileInfoToDirEntry", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["io/fs", "", True, "Glob", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["io/fs", "", True, "ReadDir", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["io/fs", "", True, "ReadFile", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["io/fs", "", True, "Sub", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - ["io/fs", "DirEntry", True, "Info", "", "", "Argument[receiver]", "ReturnValue[0]", "taint", "manual"] - ["io/fs", "DirEntry", True, "Name", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] - ["io/fs", "File", True, "Read", "", "", "Argument[receiver]", "Argument[0]", "taint", "manual"] @@ -20,6 +20,6 @@ extensions: pack: codeql/go-all extensible: sourceModel data: - - ["io/fs", "", False, "ReadFile", "", "", "ReturnValue[0]", "file", "manual"] + - ["io/fs", "", True, "ReadFile", "", "", "ReturnValue[0]", "file", "manual"] - ["io/fs", "ReadFileFS", True, "ReadFile", "", "", "ReturnValue[0]", "file", "manual"] - - ["io/fs", "FS", True, "Open", "", "", "ReturnValue[0]", "file", "manual"] \ No newline at end of file + - ["io/fs", "FS", True, "Open", "", "", "ReturnValue[0]", "file", "manual"] diff --git a/go/ql/lib/ext/io.ioutil.model.yml b/go/ql/lib/ext/io.ioutil.model.yml index dda811c97bfb..592e45fd9feb 100644 --- a/go/ql/lib/ext/io.ioutil.model.yml +++ b/go/ql/lib/ext/io.ioutil.model.yml @@ -3,19 +3,19 @@ extensions: pack: codeql/go-all extensible: sinkModel data: - - ["io/ioutil", "", False, "ReadDir", "", "", "Argument[0]", "path-injection", "manual"] - - ["io/ioutil", "", False, "ReadFile", "", "", "Argument[0]", "path-injection", "manual"] - - ["io/ioutil", "", False, "TempDir", "", "", "Argument[0..1]", "path-injection", "manual"] - - ["io/ioutil", "", False, "TempFile", "", "", "Argument[0..1]", "path-injection", "manual"] - - ["io/ioutil", "", False, "WriteFile", "", "", "Argument[0]", "path-injection", "manual"] + - ["io/ioutil", "", True, "ReadDir", "", "", "Argument[0]", "path-injection", "manual"] + - ["io/ioutil", "", True, "ReadFile", "", "", "Argument[0]", "path-injection", "manual"] + - ["io/ioutil", "", True, "TempDir", "", "", "Argument[0..1]", "path-injection", "manual"] + - ["io/ioutil", "", True, "TempFile", "", "", "Argument[0..1]", "path-injection", "manual"] + - ["io/ioutil", "", True, "WriteFile", "", "", "Argument[0]", "path-injection", "manual"] - addsTo: pack: codeql/go-all extensible: summaryModel data: - - ["io/ioutil", "", False, "NopCloser", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["io/ioutil", "", False, "ReadAll", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["io/ioutil", "", True, "NopCloser", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["io/ioutil", "", True, "ReadAll", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - addsTo: pack: codeql/go-all extensible: sourceModel data: - - ["io/ioutil", "", False, "ReadFile", "", "", "ReturnValue[0]", "file", "manual"] \ No newline at end of file + - ["io/ioutil", "", True, "ReadFile", "", "", "ReturnValue[0]", "file", "manual"] diff --git a/go/ql/lib/ext/io.model.yml b/go/ql/lib/ext/io.model.yml index d9c7190026d5..40256276ea82 100644 --- a/go/ql/lib/ext/io.model.yml +++ b/go/ql/lib/ext/io.model.yml @@ -3,18 +3,18 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["io", "", False, "Copy", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - - ["io", "", False, "CopyBuffer", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - - ["io", "", False, "CopyN", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - - ["io", "", False, "LimitReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["io", "", False, "NewSectionReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["io", "", False, "NopCloser", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["io", "", False, "ReadAll", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["io", "", False, "ReadAtLeast", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] - - ["io", "", False, "ReadFull", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] - - ["io", "", False, "TeeReader", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] - - ["io", "", False, "TeeReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["io", "", False, "WriteString", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] + - ["io", "", True, "Copy", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] + - ["io", "", True, "CopyBuffer", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] + - ["io", "", True, "CopyN", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] + - ["io", "", True, "LimitReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["io", "", True, "NewSectionReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["io", "", True, "NopCloser", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["io", "", True, "ReadAll", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["io", "", True, "ReadAtLeast", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] + - ["io", "", True, "ReadFull", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] + - ["io", "", True, "TeeReader", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] + - ["io", "", True, "TeeReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["io", "", True, "WriteString", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - ["io", "Reader", True, "Read", "", "", "Argument[receiver]", "Argument[0]", "taint", "manual"] - ["io", "ReaderAt", True, "ReadAt", "", "", "Argument[receiver]", "Argument[0]", "taint", "manual"] - ["io", "ReaderFrom", True, "ReadFrom", "", "", "Argument[0]", "Argument[receiver]", "taint", "manual"] diff --git a/go/ql/lib/ext/k8s.io.apimachinery.pkg.runtime.model.yml b/go/ql/lib/ext/k8s.io.apimachinery.pkg.runtime.model.yml index e960b741ac79..f964e1afd423 100644 --- a/go/ql/lib/ext/k8s.io.apimachinery.pkg.runtime.model.yml +++ b/go/ql/lib/ext/k8s.io.apimachinery.pkg.runtime.model.yml @@ -3,26 +3,26 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["k8s.io/apimachinery/pkg/runtime", "", False, "Convert_Slice_string_To_Pointer_int64", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] - - ["k8s.io/apimachinery/pkg/runtime", "", False, "Convert_Slice_string_To_int", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] - - ["k8s.io/apimachinery/pkg/runtime", "", False, "Convert_Slice_string_To_int64", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] - - ["k8s.io/apimachinery/pkg/runtime", "", False, "Convert_Slice_string_To_string", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] - - ["k8s.io/apimachinery/pkg/runtime", "", False, "Convert_runtime_Object_To_runtime_RawExtension", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] - - ["k8s.io/apimachinery/pkg/runtime", "", False, "Convert_runtime_RawExtension_To_runtime_Object", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] - - ["k8s.io/apimachinery/pkg/runtime", "", False, "Convert_string_To_Pointer_int64", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] - - ["k8s.io/apimachinery/pkg/runtime", "", False, "Convert_string_To_int64", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] - - ["k8s.io/apimachinery/pkg/runtime", "", False, "Decode", "", "", "Argument[1]", "ReturnValue[0]", "taint", "manual"] - - ["k8s.io/apimachinery/pkg/runtime", "", False, "DecodeInto", "", "", "Argument[1]", "Argument[2]", "taint", "manual"] - - ["k8s.io/apimachinery/pkg/runtime", "", False, "DeepCopyJSON", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["k8s.io/apimachinery/pkg/runtime", "", False, "DeepCopyJSONValue", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["k8s.io/apimachinery/pkg/runtime", "", False, "Encode", "", "", "Argument[1]", "ReturnValue[0]", "taint", "manual"] - - ["k8s.io/apimachinery/pkg/runtime", "", False, "EncodeOrDie", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] - - ["k8s.io/apimachinery/pkg/runtime", "", False, "Field", "", "", "Argument[0]", "Argument[2]", "taint", "manual"] - - ["k8s.io/apimachinery/pkg/runtime", "", False, "FieldPtr", "", "", "Argument[0]", "Argument[2]", "taint", "manual"] - - ["k8s.io/apimachinery/pkg/runtime", "", False, "NewEncodable", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] - - ["k8s.io/apimachinery/pkg/runtime", "", False, "NewEncodableList", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] - - ["k8s.io/apimachinery/pkg/runtime", "", False, "SetField", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] - - ["k8s.io/apimachinery/pkg/runtime", "", False, "UseOrCreateObject", "", "", "Argument[3]", "ReturnValue[0]", "taint", "manual"] + - ["k8s.io/apimachinery/pkg/runtime", "", True, "Convert_Slice_string_To_Pointer_int64", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] + - ["k8s.io/apimachinery/pkg/runtime", "", True, "Convert_Slice_string_To_int", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] + - ["k8s.io/apimachinery/pkg/runtime", "", True, "Convert_Slice_string_To_int64", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] + - ["k8s.io/apimachinery/pkg/runtime", "", True, "Convert_Slice_string_To_string", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] + - ["k8s.io/apimachinery/pkg/runtime", "", True, "Convert_runtime_Object_To_runtime_RawExtension", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] + - ["k8s.io/apimachinery/pkg/runtime", "", True, "Convert_runtime_RawExtension_To_runtime_Object", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] + - ["k8s.io/apimachinery/pkg/runtime", "", True, "Convert_string_To_Pointer_int64", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] + - ["k8s.io/apimachinery/pkg/runtime", "", True, "Convert_string_To_int64", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] + - ["k8s.io/apimachinery/pkg/runtime", "", True, "Decode", "", "", "Argument[1]", "ReturnValue[0]", "taint", "manual"] + - ["k8s.io/apimachinery/pkg/runtime", "", True, "DecodeInto", "", "", "Argument[1]", "Argument[2]", "taint", "manual"] + - ["k8s.io/apimachinery/pkg/runtime", "", True, "DeepCopyJSON", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["k8s.io/apimachinery/pkg/runtime", "", True, "DeepCopyJSONValue", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["k8s.io/apimachinery/pkg/runtime", "", True, "Encode", "", "", "Argument[1]", "ReturnValue[0]", "taint", "manual"] + - ["k8s.io/apimachinery/pkg/runtime", "", True, "EncodeOrDie", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] + - ["k8s.io/apimachinery/pkg/runtime", "", True, "Field", "", "", "Argument[0]", "Argument[2]", "taint", "manual"] + - ["k8s.io/apimachinery/pkg/runtime", "", True, "FieldPtr", "", "", "Argument[0]", "Argument[2]", "taint", "manual"] + - ["k8s.io/apimachinery/pkg/runtime", "", True, "NewEncodable", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] + - ["k8s.io/apimachinery/pkg/runtime", "", True, "NewEncodableList", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] + - ["k8s.io/apimachinery/pkg/runtime", "", True, "SetField", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] + - ["k8s.io/apimachinery/pkg/runtime", "", True, "UseOrCreateObject", "", "", "Argument[3]", "ReturnValue[0]", "taint", "manual"] - ["k8s.io/apimachinery/pkg/runtime", "CacheableObject", True, "CacheEncode", "", "", "Argument[receiver]", "Argument[2]", "taint", "manual"] - ["k8s.io/apimachinery/pkg/runtime", "CacheableObject", True, "GetObject", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] - ["k8s.io/apimachinery/pkg/runtime", "Decoder", True, "Decode", "", "", "Argument[0]", "Argument[2]", "taint", "manual"] diff --git a/go/ql/lib/ext/math.big.model.yml b/go/ql/lib/ext/math.big.model.yml index 2e320251b2dd..dc09561897c9 100644 --- a/go/ql/lib/ext/math.big.model.yml +++ b/go/ql/lib/ext/math.big.model.yml @@ -3,4 +3,4 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["math/big", "Int", False, "Int64", "", "", "Argument[receiver]", "ReturnValue[0]", "taint", "manual"] + - ["math/big", "Int", True, "Int64", "", "", "Argument[receiver]", "ReturnValue[0]", "taint", "manual"] diff --git a/go/ql/lib/ext/mime.model.yml b/go/ql/lib/ext/mime.model.yml index 9027905423f7..b8f81894cd70 100644 --- a/go/ql/lib/ext/mime.model.yml +++ b/go/ql/lib/ext/mime.model.yml @@ -3,8 +3,8 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["mime", "", False, "FormatMediaType", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] - - ["mime", "", False, "ParseMediaType", "", "", "Argument[0]", "ReturnValue[0..1]", "taint", "manual"] + - ["mime", "", True, "FormatMediaType", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] + - ["mime", "", True, "ParseMediaType", "", "", "Argument[0]", "ReturnValue[0..1]", "taint", "manual"] - ["mime", "WordDecoder", True, "Decode", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - ["mime", "WordDecoder", True, "DecodeHeader", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - ["mime", "WordEncoder", True, "Encode", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] diff --git a/go/ql/lib/ext/mime.multipart.model.yml b/go/ql/lib/ext/mime.multipart.model.yml index 410eac26af69..96e7072f611b 100644 --- a/go/ql/lib/ext/mime.multipart.model.yml +++ b/go/ql/lib/ext/mime.multipart.model.yml @@ -3,7 +3,7 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["mime/multipart", "", False, "NewReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["mime/multipart", "", True, "NewReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["mime/multipart", "FileHeader", True, "Open", "", "", "Argument[receiver]", "ReturnValue[0]", "taint", "manual"] - ["mime/multipart", "Part", True, "FileName", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] - ["mime/multipart", "Part", True, "FormName", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] diff --git a/go/ql/lib/ext/mime.quotedprintable.model.yml b/go/ql/lib/ext/mime.quotedprintable.model.yml index 7ac77332727c..aaf78da2641c 100644 --- a/go/ql/lib/ext/mime.quotedprintable.model.yml +++ b/go/ql/lib/ext/mime.quotedprintable.model.yml @@ -3,4 +3,4 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["mime/quotedprintable", "", False, "NewReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["mime/quotedprintable", "", True, "NewReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] diff --git a/go/ql/lib/ext/net.http.httputil.model.yml b/go/ql/lib/ext/net.http.httputil.model.yml index 783322b36ae6..7ddd5f31152c 100644 --- a/go/ql/lib/ext/net.http.httputil.model.yml +++ b/go/ql/lib/ext/net.http.httputil.model.yml @@ -3,12 +3,12 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["net/http/httputil", "", False, "DumpRequest", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["net/http/httputil", "", False, "DumpRequestOut", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["net/http/httputil", "", False, "DumpResponse", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["net/http/httputil", "", False, "NewChunkedReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["net/http/httputil", "", False, "NewClientConn", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] - - ["net/http/httputil", "", False, "NewProxyClientConn", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] + - ["net/http/httputil", "", True, "DumpRequest", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["net/http/httputil", "", True, "DumpRequestOut", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["net/http/httputil", "", True, "DumpResponse", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["net/http/httputil", "", True, "NewChunkedReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["net/http/httputil", "", True, "NewClientConn", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] + - ["net/http/httputil", "", True, "NewProxyClientConn", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] - ["net/http/httputil", "BufferPool", True, "Get", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] - ["net/http/httputil", "BufferPool", True, "Put", "", "", "Argument[0]", "Argument[receiver]", "taint", "manual"] - ["net/http/httputil", "ClientConn", True, "Hijack", "", "", "Argument[receiver]", "ReturnValue[0..1]", "taint", "manual"] diff --git a/go/ql/lib/ext/net.http.model.yml b/go/ql/lib/ext/net.http.model.yml index f67ed795c4cb..0cebf9bfffcd 100644 --- a/go/ql/lib/ext/net.http.model.yml +++ b/go/ql/lib/ext/net.http.model.yml @@ -4,21 +4,21 @@ extensions: extensible: sinkModel data: # path-injection - - ["net/http", "", False, "ServeFile", "", "", "Argument[2]", "path-injection", "manual"] + - ["net/http", "", True, "ServeFile", "", "", "Argument[2]", "path-injection", "manual"] # url-redirection - ["net/http", "", True, "Redirect", "", "", "Argument[2]", "url-redirection[0]", "manual"] - addsTo: pack: codeql/go-all extensible: summaryModel data: - - ["net/http", "", False, "CanonicalHeaderKey", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["net/http", "", False, "Error", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - - ["net/http", "", False, "MaxBytesReader", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] - - ["net/http", "", False, "NewRequest", "", "", "Argument[1]", "ReturnValue[0]", "taint", "manual"] - - ["net/http", "", False, "NewRequestWithContext", "", "", "Argument[2]", "ReturnValue[0]", "taint", "manual"] - - ["net/http", "", False, "ReadRequest", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["net/http", "", False, "ReadResponse", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["net/http", "", False, "SetCookie", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] + - ["net/http", "", True, "CanonicalHeaderKey", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["net/http", "", True, "Error", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] + - ["net/http", "", True, "MaxBytesReader", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] + - ["net/http", "", True, "NewRequest", "", "", "Argument[1]", "ReturnValue[0]", "taint", "manual"] + - ["net/http", "", True, "NewRequestWithContext", "", "", "Argument[2]", "ReturnValue[0]", "taint", "manual"] + - ["net/http", "", True, "ReadRequest", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["net/http", "", True, "ReadResponse", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["net/http", "", True, "SetCookie", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - ["net/http", "Header", True, "Add", "", "", "Argument[0..1]", "Argument[receiver]", "taint", "manual"] - ["net/http", "Header", True, "Clone", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] - ["net/http", "Header", True, "Get", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] diff --git a/go/ql/lib/ext/net.mail.model.yml b/go/ql/lib/ext/net.mail.model.yml index 0bb4ef1884bc..07532f365ff0 100644 --- a/go/ql/lib/ext/net.mail.model.yml +++ b/go/ql/lib/ext/net.mail.model.yml @@ -3,9 +3,9 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["net/mail", "", False, "ParseAddress", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["net/mail", "", False, "ParseAddressList", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["net/mail", "", False, "ReadMessage", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["net/mail", "", True, "ParseAddress", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["net/mail", "", True, "ParseAddressList", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["net/mail", "", True, "ReadMessage", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - ["net/mail", "AddressParser", True, "Parse", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - ["net/mail", "AddressParser", True, "ParseList", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - ["net/mail", "Header", True, "Get", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] diff --git a/go/ql/lib/ext/net.model.yml b/go/ql/lib/ext/net.model.yml index 0922b5b31d6f..231f8f850db5 100644 --- a/go/ql/lib/ext/net.model.yml +++ b/go/ql/lib/ext/net.model.yml @@ -3,10 +3,10 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["net", "", False, "FileConn", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["net", "", False, "FilePacketConn", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["net", "", False, "JoinHostPort", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] - - ["net", "", False, "SplitHostPort", "", "", "Argument[0]", "ReturnValue[0..1]", "taint", "manual"] + - ["net", "", True, "FileConn", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["net", "", True, "FilePacketConn", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["net", "", True, "JoinHostPort", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] + - ["net", "", True, "SplitHostPort", "", "", "Argument[0]", "ReturnValue[0..1]", "taint", "manual"] - ["net", "IPConn", True, "ReadFromIP", "", "", "Argument[receiver]", "Argument[0]", "taint", "manual"] - ["net", "IPConn", True, "ReadMsgIP", "", "", "Argument[receiver]", "Argument[0..1]", "taint", "manual"] - ["net", "IPConn", True, "WriteMsgIP", "", "", "Argument[0..1]", "Argument[receiver]", "taint", "manual"] diff --git a/go/ql/lib/ext/net.textproto.model.yml b/go/ql/lib/ext/net.textproto.model.yml index 63a9da4497a5..4e2e25c71bdc 100644 --- a/go/ql/lib/ext/net.textproto.model.yml +++ b/go/ql/lib/ext/net.textproto.model.yml @@ -3,11 +3,11 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["net/textproto", "", False, "CanonicalMIMEHeaderKey", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["net/textproto", "", False, "NewConn", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["net/textproto", "", False, "NewReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["net/textproto", "", False, "TrimBytes", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["net/textproto", "", False, "TrimString", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["net/textproto", "", True, "CanonicalMIMEHeaderKey", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["net/textproto", "", True, "NewConn", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["net/textproto", "", True, "NewReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["net/textproto", "", True, "TrimBytes", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["net/textproto", "", True, "TrimString", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["net/textproto", "MIMEHeader", True, "Add", "", "", "Argument[0..1]", "Argument[receiver]", "taint", "manual"] - ["net/textproto", "MIMEHeader", True, "Get", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] - ["net/textproto", "MIMEHeader", True, "Set", "", "", "Argument[0..1]", "Argument[receiver]", "taint", "manual"] diff --git a/go/ql/lib/ext/net.url.model.yml b/go/ql/lib/ext/net.url.model.yml index 0b48aa2352c2..fe615f4bd1c3 100644 --- a/go/ql/lib/ext/net.url.model.yml +++ b/go/ql/lib/ext/net.url.model.yml @@ -3,15 +3,15 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["net/url", "", False, "Parse", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["net/url", "", False, "ParseQuery", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["net/url", "", False, "ParseRequestURI", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["net/url", "", False, "PathEscape", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["net/url", "", False, "PathUnescape", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["net/url", "", False, "QueryEscape", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["net/url", "", False, "QueryUnescape", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["net/url", "", False, "User", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["net/url", "", False, "UserPassword", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] + - ["net/url", "", True, "Parse", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["net/url", "", True, "ParseQuery", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["net/url", "", True, "ParseRequestURI", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["net/url", "", True, "PathEscape", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["net/url", "", True, "PathUnescape", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["net/url", "", True, "QueryEscape", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["net/url", "", True, "QueryUnescape", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["net/url", "", True, "User", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["net/url", "", True, "UserPassword", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] - ["net/url", "URL", True, "EscapedPath", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] - ["net/url", "URL", True, "Hostname", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] - ["net/url", "URL", True, "MarshalBinary", "", "", "Argument[receiver]", "ReturnValue[0]", "taint", "manual"] diff --git a/go/ql/lib/ext/os.exec.model.yml b/go/ql/lib/ext/os.exec.model.yml index 6b3a80c372c3..7ac1d3e20ad4 100644 --- a/go/ql/lib/ext/os.exec.model.yml +++ b/go/ql/lib/ext/os.exec.model.yml @@ -3,5 +3,5 @@ extensions: pack: codeql/go-all extensible: sinkModel data: - - ["os/exec", "", False, "Command", "", "", "Argument[0]", "command-injection", "manual"] - - ["os/exec", "", False, "CommandContext", "", "", "Argument[1]", "command-injection", "manual"] + - ["os/exec", "", True, "Command", "", "", "Argument[0]", "command-injection", "manual"] + - ["os/exec", "", True, "CommandContext", "", "", "Argument[1]", "command-injection", "manual"] diff --git a/go/ql/lib/ext/os.model.yml b/go/ql/lib/ext/os.model.yml index 3d87eefe43f7..16c1d68cf3bc 100644 --- a/go/ql/lib/ext/os.model.yml +++ b/go/ql/lib/ext/os.model.yml @@ -4,41 +4,41 @@ extensions: extensible: sinkModel data: # path-injection - - ["os", "", False, "Chdir", "", "", "Argument[0]", "path-injection", "manual"] - - ["os", "", False, "Chmod", "", "", "Argument[0]", "path-injection", "manual"] - - ["os", "", False, "Chown", "", "", "Argument[0]", "path-injection", "manual"] - - ["os", "", False, "Chtimes", "", "", "Argument[0]", "path-injection", "manual"] - - ["os", "", False, "Create", "", "", "Argument[0]", "path-injection", "manual"] - - ["os", "", False, "Lchown", "", "", "Argument[0]", "path-injection", "manual"] - - ["os", "", False, "Link", "", "", "Argument[0..1]", "path-injection", "manual"] - - ["os", "", False, "Lstat", "", "", "Argument[0]", "path-injection", "manual"] - - ["os", "", False, "Mkdir", "", "", "Argument[0]", "path-injection", "manual"] - - ["os", "", False, "MkdirAll", "", "", "Argument[0]", "path-injection", "manual"] - - ["os", "", False, "NewFile", "", "", "Argument[1]", "path-injection", "manual"] - - ["os", "", False, "Open", "", "", "Argument[0]", "path-injection", "manual"] - - ["os", "", False, "OpenFile", "", "", "Argument[0]", "path-injection", "manual"] - - ["os", "", False, "Readlink", "", "", "Argument[0]", "path-injection", "manual"] - - ["os", "", False, "Remove", "", "", "Argument[0]", "path-injection", "manual"] - - ["os", "", False, "RemoveAll", "", "", "Argument[0]", "path-injection", "manual"] - - ["os", "", False, "Rename", "", "", "Argument[0..1]", "path-injection", "manual"] - - ["os", "", False, "Stat", "", "", "Argument[0]", "path-injection", "manual"] - - ["os", "", False, "Symlink", "", "", "Argument[0..1]", "path-injection", "manual"] - - ["os", "", False, "Truncate", "", "", "Argument[0]", "path-injection", "manual"] - - ["os", "", False, "DirFS", "", "", "Argument[0]", "path-injection", "manual"] - - ["os", "", False, "ReadDir", "", "", "Argument[0]", "path-injection", "manual"] - - ["os", "", False, "ReadFile", "", "", "Argument[0]", "path-injection", "manual"] - - ["os", "", False, "MkdirTemp", "", "", "Argument[0..1]", "path-injection", "manual"] - - ["os", "", False, "CreateTemp", "", "", "Argument[0..1]", "path-injection", "manual"] - - ["os", "", False, "WriteFile", "", "", "Argument[0]", "path-injection", "manual"] + - ["os", "", True, "Chdir", "", "", "Argument[0]", "path-injection", "manual"] + - ["os", "", True, "Chmod", "", "", "Argument[0]", "path-injection", "manual"] + - ["os", "", True, "Chown", "", "", "Argument[0]", "path-injection", "manual"] + - ["os", "", True, "Chtimes", "", "", "Argument[0]", "path-injection", "manual"] + - ["os", "", True, "Create", "", "", "Argument[0]", "path-injection", "manual"] + - ["os", "", True, "Lchown", "", "", "Argument[0]", "path-injection", "manual"] + - ["os", "", True, "Link", "", "", "Argument[0..1]", "path-injection", "manual"] + - ["os", "", True, "Lstat", "", "", "Argument[0]", "path-injection", "manual"] + - ["os", "", True, "Mkdir", "", "", "Argument[0]", "path-injection", "manual"] + - ["os", "", True, "MkdirAll", "", "", "Argument[0]", "path-injection", "manual"] + - ["os", "", True, "NewFile", "", "", "Argument[1]", "path-injection", "manual"] + - ["os", "", True, "Open", "", "", "Argument[0]", "path-injection", "manual"] + - ["os", "", True, "OpenFile", "", "", "Argument[0]", "path-injection", "manual"] + - ["os", "", True, "Readlink", "", "", "Argument[0]", "path-injection", "manual"] + - ["os", "", True, "Remove", "", "", "Argument[0]", "path-injection", "manual"] + - ["os", "", True, "RemoveAll", "", "", "Argument[0]", "path-injection", "manual"] + - ["os", "", True, "Rename", "", "", "Argument[0..1]", "path-injection", "manual"] + - ["os", "", True, "Stat", "", "", "Argument[0]", "path-injection", "manual"] + - ["os", "", True, "Symlink", "", "", "Argument[0..1]", "path-injection", "manual"] + - ["os", "", True, "Truncate", "", "", "Argument[0]", "path-injection", "manual"] + - ["os", "", True, "DirFS", "", "", "Argument[0]", "path-injection", "manual"] + - ["os", "", True, "ReadDir", "", "", "Argument[0]", "path-injection", "manual"] + - ["os", "", True, "ReadFile", "", "", "Argument[0]", "path-injection", "manual"] + - ["os", "", True, "MkdirTemp", "", "", "Argument[0..1]", "path-injection", "manual"] + - ["os", "", True, "CreateTemp", "", "", "Argument[0..1]", "path-injection", "manual"] + - ["os", "", True, "WriteFile", "", "", "Argument[0]", "path-injection", "manual"] # command-injection - - ["os", "", False, "StartProcess", "", "", "Argument[0]", "command-injection", "manual"] + - ["os", "", True, "StartProcess", "", "", "Argument[0]", "command-injection", "manual"] - addsTo: pack: codeql/go-all extensible: summaryModel data: - - ["os", "", False, "Expand", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["os", "", False, "ExpandEnv", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["os", "", False, "NewFile", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["os", "", True, "Expand", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["os", "", True, "ExpandEnv", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["os", "", True, "NewFile", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["os", "File", True, "Fd", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] - ["os", "File", True, "Read", "", "", "Argument[receiver]", "Argument[0]", "taint", "manual"] - ["os", "File", True, "ReadAt", "", "", "Argument[receiver]", "Argument[0]", "taint", "manual"] @@ -46,13 +46,13 @@ extensions: pack: codeql/go-all extensible: sourceModel data: - - ["os", "", False, "Environ", "", "", "ReturnValue", "environment", "manual"] # TODO: when sources can have access paths, use .ArrayElement - - ["os", "", False, "ExpandEnv", "", "", "ReturnValue", "environment", "manual"] - - ["os", "", False, "Getenv", "", "", "ReturnValue", "environment", "manual"] - - ["os", "", False, "LookupEnv", "", "", "ReturnValue[0]", "environment", "manual"] - - ["os", "", False, "Open", "", "", "ReturnValue[0]", "file", "manual"] - - ["os", "", False, "OpenFile", "", "", "ReturnValue[0]", "file", "manual"] - - ["os", "", False, "ReadFile", "", "", "ReturnValue[0]", "file", "manual"] - - ["os", "", False, "UserCacheDir", "", "", "ReturnValue[0]", "environment", "manual"] - - ["os", "", False, "UserConfigDir", "", "", "ReturnValue[0]", "environment", "manual"] - - ["os", "", False, "UserHomeDir", "", "", "ReturnValue[0]", "environment", "manual"] + - ["os", "", True, "Environ", "", "", "ReturnValue", "environment", "manual"] # TODO: when sources can have access paths, use .ArrayElement + - ["os", "", True, "ExpandEnv", "", "", "ReturnValue", "environment", "manual"] + - ["os", "", True, "Getenv", "", "", "ReturnValue", "environment", "manual"] + - ["os", "", True, "LookupEnv", "", "", "ReturnValue[0]", "environment", "manual"] + - ["os", "", True, "Open", "", "", "ReturnValue[0]", "file", "manual"] + - ["os", "", True, "OpenFile", "", "", "ReturnValue[0]", "file", "manual"] + - ["os", "", True, "ReadFile", "", "", "ReturnValue[0]", "file", "manual"] + - ["os", "", True, "UserCacheDir", "", "", "ReturnValue[0]", "environment", "manual"] + - ["os", "", True, "UserConfigDir", "", "", "ReturnValue[0]", "environment", "manual"] + - ["os", "", True, "UserHomeDir", "", "", "ReturnValue[0]", "environment", "manual"] diff --git a/go/ql/lib/ext/path.filepath.model.yml b/go/ql/lib/ext/path.filepath.model.yml index 15bcb7d386d8..e997b2dcead7 100644 --- a/go/ql/lib/ext/path.filepath.model.yml +++ b/go/ql/lib/ext/path.filepath.model.yml @@ -3,16 +3,16 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["path/filepath", "", False, "Abs", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["path/filepath", "", False, "Base", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["path/filepath", "", False, "Clean", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["path/filepath", "", False, "Dir", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["path/filepath", "", False, "EvalSymlinks", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["path/filepath", "", False, "Ext", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["path/filepath", "", False, "FromSlash", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["path/filepath", "", False, "Glob", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["path/filepath", "", False, "Rel", "", "", "Argument[0..1]", "ReturnValue[0]", "taint", "manual"] - - ["path/filepath", "", False, "Split", "", "", "Argument[0]", "ReturnValue[0..1]", "taint", "manual"] - - ["path/filepath", "", False, "SplitList", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["path/filepath", "", False, "ToSlash", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["path/filepath", "", False, "VolumeName", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["path/filepath", "", True, "Abs", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["path/filepath", "", True, "Base", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["path/filepath", "", True, "Clean", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["path/filepath", "", True, "Dir", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["path/filepath", "", True, "EvalSymlinks", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["path/filepath", "", True, "Ext", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["path/filepath", "", True, "FromSlash", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["path/filepath", "", True, "Glob", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["path/filepath", "", True, "Rel", "", "", "Argument[0..1]", "ReturnValue[0]", "taint", "manual"] + - ["path/filepath", "", True, "Split", "", "", "Argument[0]", "ReturnValue[0..1]", "taint", "manual"] + - ["path/filepath", "", True, "SplitList", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["path/filepath", "", True, "ToSlash", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["path/filepath", "", True, "VolumeName", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] diff --git a/go/ql/lib/ext/path.model.yml b/go/ql/lib/ext/path.model.yml index 5a494b24d7ca..945aa8d741b9 100644 --- a/go/ql/lib/ext/path.model.yml +++ b/go/ql/lib/ext/path.model.yml @@ -3,8 +3,8 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["path", "", False, "Base", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["path", "", False, "Clean", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["path", "", False, "Dir", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["path", "", False, "Ext", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["path", "", False, "Split", "", "", "Argument[0]", "ReturnValue[0..1]", "taint", "manual"] + - ["path", "", True, "Base", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["path", "", True, "Clean", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["path", "", True, "Dir", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["path", "", True, "Ext", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["path", "", True, "Split", "", "", "Argument[0]", "ReturnValue[0..1]", "taint", "manual"] diff --git a/go/ql/lib/ext/reflect.model.yml b/go/ql/lib/ext/reflect.model.yml index 75b207f73a0f..19c76216186e 100644 --- a/go/ql/lib/ext/reflect.model.yml +++ b/go/ql/lib/ext/reflect.model.yml @@ -3,10 +3,10 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["reflect", "", False, "AppendSlice", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] - - ["reflect", "", False, "Copy", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - - ["reflect", "", False, "Indirect", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["reflect", "", False, "ValueOf", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["reflect", "", True, "AppendSlice", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] + - ["reflect", "", True, "Copy", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] + - ["reflect", "", True, "Indirect", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["reflect", "", True, "ValueOf", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["reflect", "MapIter", True, "Key", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] - ["reflect", "MapIter", True, "Value", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] - ["reflect", "StructTag", True, "Get", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] diff --git a/go/ql/lib/ext/regexp.model.yml b/go/ql/lib/ext/regexp.model.yml index ffb6205657a6..c5a7ba001b2a 100644 --- a/go/ql/lib/ext/regexp.model.yml +++ b/go/ql/lib/ext/regexp.model.yml @@ -17,7 +17,7 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["regexp", "", False, "QuoteMeta", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["regexp", "", True, "QuoteMeta", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["regexp", "Regexp", True, "Expand", "", "", "Argument[1..2]", "Argument[0]", "taint", "manual"] - ["regexp", "Regexp", True, "Expand", "", "", "Argument[1..2]", "ReturnValue", "taint", "manual"] - ["regexp", "Regexp", True, "ExpandString", "", "", "Argument[1..2]", "Argument[0]", "taint", "manual"] diff --git a/go/ql/lib/ext/sort.model.yml b/go/ql/lib/ext/sort.model.yml index 36d0070de66d..132b81728dff 100644 --- a/go/ql/lib/ext/sort.model.yml +++ b/go/ql/lib/ext/sort.model.yml @@ -3,4 +3,4 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["sort", "", False, "Reverse", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["sort", "", True, "Reverse", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] diff --git a/go/ql/lib/ext/strconv.model.yml b/go/ql/lib/ext/strconv.model.yml index 65203b121064..50df3745c96d 100644 --- a/go/ql/lib/ext/strconv.model.yml +++ b/go/ql/lib/ext/strconv.model.yml @@ -3,12 +3,12 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["strconv", "", False, "AppendQuote", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] - - ["strconv", "", False, "AppendQuoteToASCII", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] - - ["strconv", "", False, "AppendQuoteToGraphic", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] - - ["strconv", "", False, "Quote", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["strconv", "", False, "QuoteToASCII", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["strconv", "", False, "QuoteToGraphic", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["strconv", "", False, "QuotedPrefix", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["strconv", "", False, "Unquote", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["strconv", "", False, "UnquoteChar", "", "", "Argument[0]", "ReturnValue[2]", "taint", "manual"] + - ["strconv", "", True, "AppendQuote", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] + - ["strconv", "", True, "AppendQuoteToASCII", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] + - ["strconv", "", True, "AppendQuoteToGraphic", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] + - ["strconv", "", True, "Quote", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["strconv", "", True, "QuoteToASCII", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["strconv", "", True, "QuoteToGraphic", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["strconv", "", True, "QuotedPrefix", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["strconv", "", True, "Unquote", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["strconv", "", True, "UnquoteChar", "", "", "Argument[0]", "ReturnValue[2]", "taint", "manual"] diff --git a/go/ql/lib/ext/strings.model.yml b/go/ql/lib/ext/strings.model.yml index 01015b31517e..5fcf4b43e961 100644 --- a/go/ql/lib/ext/strings.model.yml +++ b/go/ql/lib/ext/strings.model.yml @@ -3,37 +3,37 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["strings", "", False, "Fields", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["strings", "", False, "FieldsFunc", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["strings", "", False, "Join", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] - - ["strings", "", False, "Map", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] - - ["strings", "", False, "NewReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["strings", "", False, "Repeat", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["strings", "", False, "Replace", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["strings", "", False, "Replace", "", "", "Argument[2]", "ReturnValue", "taint", "manual"] - - ["strings", "", False, "ReplaceAll", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["strings", "", False, "ReplaceAll", "", "", "Argument[2]", "ReturnValue", "taint", "manual"] - - ["strings", "", False, "Split", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["strings", "", False, "SplitAfter", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["strings", "", False, "SplitAfterN", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["strings", "", False, "SplitN", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["strings", "", False, "Title", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["strings", "", False, "ToLower", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["strings", "", False, "ToLowerSpecial", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] - - ["strings", "", False, "ToTitle", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["strings", "", False, "ToTitleSpecial", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] - - ["strings", "", False, "ToUpper", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["strings", "", False, "ToUpperSpecial", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] - - ["strings", "", False, "ToValidUTF8", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] - - ["strings", "", False, "Trim", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["strings", "", False, "TrimFunc", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["strings", "", False, "TrimLeft", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["strings", "", False, "TrimLeftFunc", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["strings", "", False, "TrimPrefix", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["strings", "", False, "TrimRight", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["strings", "", False, "TrimRightFunc", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["strings", "", False, "TrimSpace", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["strings", "", False, "TrimSuffix", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["strings", "", True, "Fields", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["strings", "", True, "FieldsFunc", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["strings", "", True, "Join", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] + - ["strings", "", True, "Map", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] + - ["strings", "", True, "NewReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["strings", "", True, "Repeat", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["strings", "", True, "Replace", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["strings", "", True, "Replace", "", "", "Argument[2]", "ReturnValue", "taint", "manual"] + - ["strings", "", True, "ReplaceAll", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["strings", "", True, "ReplaceAll", "", "", "Argument[2]", "ReturnValue", "taint", "manual"] + - ["strings", "", True, "Split", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["strings", "", True, "SplitAfter", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["strings", "", True, "SplitAfterN", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["strings", "", True, "SplitN", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["strings", "", True, "Title", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["strings", "", True, "ToLower", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["strings", "", True, "ToLowerSpecial", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] + - ["strings", "", True, "ToTitle", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["strings", "", True, "ToTitleSpecial", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] + - ["strings", "", True, "ToUpper", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["strings", "", True, "ToUpperSpecial", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] + - ["strings", "", True, "ToValidUTF8", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] + - ["strings", "", True, "Trim", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["strings", "", True, "TrimFunc", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["strings", "", True, "TrimLeft", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["strings", "", True, "TrimLeftFunc", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["strings", "", True, "TrimPrefix", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["strings", "", True, "TrimRight", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["strings", "", True, "TrimRightFunc", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["strings", "", True, "TrimSpace", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["strings", "", True, "TrimSuffix", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["strings", "Reader", True, "Reset", "", "", "Argument[0]", "Argument[receiver]", "taint", "manual"] - ["strings", "Replacer", True, "Replace", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["strings", "Replacer", True, "WriteString", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] diff --git a/go/ql/lib/ext/sync.atomic.model.yml b/go/ql/lib/ext/sync.atomic.model.yml index 1dd7d995566a..66e1556b199b 100644 --- a/go/ql/lib/ext/sync.atomic.model.yml +++ b/go/ql/lib/ext/sync.atomic.model.yml @@ -3,18 +3,18 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["sync/atomic", "", False, "AddUintptr", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - - ["sync/atomic", "", False, "AddUintptr", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] - - ["sync/atomic", "", False, "CompareAndSwapPointer", "", "", "Argument[2]", "Argument[0]", "taint", "manual"] - - ["sync/atomic", "", False, "CompareAndSwapUintptr", "", "", "Argument[2]", "Argument[0]", "taint", "manual"] - - ["sync/atomic", "", False, "LoadPointer", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["sync/atomic", "", False, "LoadUintptr", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["sync/atomic", "", False, "StorePointer", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - - ["sync/atomic", "", False, "StoreUintptr", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - - ["sync/atomic", "", False, "SwapPointer", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - - ["sync/atomic", "", False, "SwapPointer", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["sync/atomic", "", False, "SwapUintptr", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - - ["sync/atomic", "", False, "SwapUintptr", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["sync/atomic", "", True, "AddUintptr", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] + - ["sync/atomic", "", True, "AddUintptr", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] + - ["sync/atomic", "", True, "CompareAndSwapPointer", "", "", "Argument[2]", "Argument[0]", "taint", "manual"] + - ["sync/atomic", "", True, "CompareAndSwapUintptr", "", "", "Argument[2]", "Argument[0]", "taint", "manual"] + - ["sync/atomic", "", True, "LoadPointer", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["sync/atomic", "", True, "LoadUintptr", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["sync/atomic", "", True, "StorePointer", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] + - ["sync/atomic", "", True, "StoreUintptr", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] + - ["sync/atomic", "", True, "SwapPointer", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] + - ["sync/atomic", "", True, "SwapPointer", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["sync/atomic", "", True, "SwapUintptr", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] + - ["sync/atomic", "", True, "SwapUintptr", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["sync/atomic", "Pointer", True, "Load", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] - ["sync/atomic", "Pointer", True, "Store", "", "", "Argument[0]", "Argument[receiver]", "taint", "manual"] - ["sync/atomic", "Pointer", True, "Swap", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] diff --git a/go/ql/lib/ext/syscall.model.yml b/go/ql/lib/ext/syscall.model.yml index 9d65f2bedbd3..23617b1cd529 100644 --- a/go/ql/lib/ext/syscall.model.yml +++ b/go/ql/lib/ext/syscall.model.yml @@ -3,20 +3,20 @@ extensions: pack: codeql/go-all extensible: sinkModel data: - - ["syscall", "", False, "Exec", "", "", "Argument[0]", "command-injection", "manual"] - - ["syscall", "", False, "ForkExec", "", "", "Argument[0]", "command-injection", "manual"] - - ["syscall", "", False, "StartProcess", "", "", "Argument[0]", "command-injection", "manual"] - - ["syscall", "", False, "CreateProcess", "", "", "Argument[0]", "command-injection", "manual"] - - ["syscall", "", False, "CreateProcessAsUser", "", "", "Argument[1]", "command-injection", "manual"] + - ["syscall", "", True, "Exec", "", "", "Argument[0]", "command-injection", "manual"] + - ["syscall", "", True, "ForkExec", "", "", "Argument[0]", "command-injection", "manual"] + - ["syscall", "", True, "StartProcess", "", "", "Argument[0]", "command-injection", "manual"] + - ["syscall", "", True, "CreateProcess", "", "", "Argument[0]", "command-injection", "manual"] + - ["syscall", "", True, "CreateProcessAsUser", "", "", "Argument[1]", "command-injection", "manual"] - addsTo: pack: codeql/go-all extensible: summaryModel data: - - ["syscall", "", False, "BytePtrFromString", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["syscall", "", False, "ByteSliceFromString", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["syscall", "", False, "StringBytePtr", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["syscall", "", False, "StringByteSlice", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["syscall", "", False, "StringSlicePtr", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["syscall", "", True, "BytePtrFromString", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["syscall", "", True, "ByteSliceFromString", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["syscall", "", True, "StringBytePtr", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["syscall", "", True, "StringByteSlice", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["syscall", "", True, "StringSlicePtr", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["syscall", "Conn", True, "SyscallConn", "", "", "Argument[receiver]", "ReturnValue[0]", "taint", "manual"] - ["syscall", "RawConn", True, "Read", "", "", "Argument[receiver]", "Argument[0]", "taint", "manual"] - ["syscall", "RawConn", True, "Write", "", "", "Argument[0]", "Argument[receiver]", "taint", "manual"] @@ -24,5 +24,5 @@ extensions: pack: codeql/go-all extensible: sourceModel data: - - ["syscall", "", False, "Environ", "", "", "ReturnValue", "environment", "manual"] - - ["syscall", "", False, "Getenv", "", "", "ReturnValue[0]", "environment", "manual"] \ No newline at end of file + - ["syscall", "", True, "Environ", "", "", "ReturnValue", "environment", "manual"] + - ["syscall", "", True, "Getenv", "", "", "ReturnValue[0]", "environment", "manual"] diff --git a/go/ql/lib/ext/text.template.model.yml b/go/ql/lib/ext/text.template.model.yml index 669af3a8854f..b12fea65133f 100644 --- a/go/ql/lib/ext/text.template.model.yml +++ b/go/ql/lib/ext/text.template.model.yml @@ -3,9 +3,9 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["text/template", "", False, "HTMLEscape", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - - ["text/template", "", False, "HTMLEscapeString", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["text/template", "", False, "JSEscape", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - - ["text/template", "", False, "JSEscapeString", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["text/template", "", True, "HTMLEscape", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] + - ["text/template", "", True, "HTMLEscapeString", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["text/template", "", True, "JSEscape", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] + - ["text/template", "", True, "JSEscapeString", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["text/template", "Template", True, "Execute", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - ["text/template", "Template", True, "ExecuteTemplate", "", "", "Argument[2]", "Argument[0]", "taint", "manual"] diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest1.ext.yml b/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest1.ext.yml index e64313916ce8..9bcf0cb83add 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest1.ext.yml +++ b/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest1.ext.yml @@ -9,7 +9,7 @@ extensions: pack: codeql/go-all extensible: sourceModel data: - - ["github.com/nonexistent/sources", "", False, "ExecuteQuery", "", "", "ReturnValue", "database", "manual"] - - ["github.com/nonexistent/sources", "", False, "ReadEnvironment", "", "", "ReturnValue", "environment", "manual"] - - ["github.com/nonexistent/sources", "", False, "GetCustom", "", "", "ReturnValue", "custom", "manual"] - - ["github.com/nonexistent/sources", "", False, "GetCliArg", "", "", "ReturnValue", "commandargs", "manual"] + - ["github.com/nonexistent/sources", "", True, "ExecuteQuery", "", "", "ReturnValue", "database", "manual"] + - ["github.com/nonexistent/sources", "", True, "ReadEnvironment", "", "", "ReturnValue", "environment", "manual"] + - ["github.com/nonexistent/sources", "", True, "GetCustom", "", "", "ReturnValue", "custom", "manual"] + - ["github.com/nonexistent/sources", "", True, "GetCliArg", "", "", "ReturnValue", "commandargs", "manual"] diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest2.ext.yml b/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest2.ext.yml index fe7569e96003..100989327aa3 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest2.ext.yml +++ b/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest2.ext.yml @@ -10,7 +10,7 @@ extensions: pack: codeql/go-all extensible: sourceModel data: - - ["github.com/nonexistent/sources", "", False, "ExecuteQuery", "", "", "ReturnValue", "database", "manual"] - - ["github.com/nonexistent/sources", "", False, "ReadEnvironment", "", "", "ReturnValue", "environment", "manual"] - - ["github.com/nonexistent/sources", "", False, "GetCustom", "", "", "ReturnValue", "custom", "manual"] - - ["github.com/nonexistent/sources", "", False, "GetCliArg", "", "", "ReturnValue", "commandargs", "manual"] + - ["github.com/nonexistent/sources", "", True, "ExecuteQuery", "", "", "ReturnValue", "database", "manual"] + - ["github.com/nonexistent/sources", "", True, "ReadEnvironment", "", "", "ReturnValue", "environment", "manual"] + - ["github.com/nonexistent/sources", "", True, "GetCustom", "", "", "ReturnValue", "custom", "manual"] + - ["github.com/nonexistent/sources", "", True, "GetCliArg", "", "", "ReturnValue", "commandargs", "manual"] diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest3.ext.yml b/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest3.ext.yml index 2c8e9d2530fe..18904b1761cc 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest3.ext.yml +++ b/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest3.ext.yml @@ -10,8 +10,7 @@ extensions: pack: codeql/go-all extensible: sourceModel data: - - ["github.com/nonexistent/sources", "", False, "ExecuteQuery", "", "", "ReturnValue", "database", "manual"] - - ["github.com/nonexistent/sources", "", False, "ReadEnvironment", "", "", "ReturnValue", "environment", "manual"] - - ["github.com/nonexistent/sources", "", False, "GetCustom", "", "", "ReturnValue", "custom", "manual"] - - ["github.com/nonexistent/sources", "", False, "GetCliArg", "", "", "ReturnValue", "commandargs", "manual"] - + - ["github.com/nonexistent/sources", "", True, "ExecuteQuery", "", "", "ReturnValue", "database", "manual"] + - ["github.com/nonexistent/sources", "", True, "ReadEnvironment", "", "", "ReturnValue", "environment", "manual"] + - ["github.com/nonexistent/sources", "", True, "GetCustom", "", "", "ReturnValue", "custom", "manual"] + - ["github.com/nonexistent/sources", "", True, "GetCliArg", "", "", "ReturnValue", "commandargs", "manual"] diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest4.ext.yml b/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest4.ext.yml index acac1a4e4f07..340050b6bc01 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest4.ext.yml +++ b/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest4.ext.yml @@ -10,8 +10,7 @@ extensions: pack: codeql/go-all extensible: sourceModel data: - - ["github.com/nonexistent/sources", "", False, "ExecuteQuery", "", "", "ReturnValue", "database", "manual"] - - ["github.com/nonexistent/sources", "", False, "ReadEnvironment", "", "", "ReturnValue", "environment", "manual"] - - ["github.com/nonexistent/sources", "", False, "GetCustom", "", "", "ReturnValue", "custom", "manual"] - - ["github.com/nonexistent/sources", "", False, "GetCliArg", "", "", "ReturnValue", "commandargs", "manual"] - + - ["github.com/nonexistent/sources", "", True, "ExecuteQuery", "", "", "ReturnValue", "database", "manual"] + - ["github.com/nonexistent/sources", "", True, "ReadEnvironment", "", "", "ReturnValue", "environment", "manual"] + - ["github.com/nonexistent/sources", "", True, "GetCustom", "", "", "ReturnValue", "custom", "manual"] + - ["github.com/nonexistent/sources", "", True, "GetCliArg", "", "", "ReturnValue", "commandargs", "manual"] diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest5.ext.yml b/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest5.ext.yml index c61a23e0e647..12bd819ac3bf 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest5.ext.yml +++ b/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest5.ext.yml @@ -11,8 +11,7 @@ extensions: pack: codeql/go-all extensible: sourceModel data: - - ["github.com/nonexistent/sources", "", False, "ExecuteQuery", "", "", "ReturnValue", "database", "manual"] - - ["github.com/nonexistent/sources", "", False, "ReadEnvironment", "", "", "ReturnValue", "environment", "manual"] - - ["github.com/nonexistent/sources", "", False, "GetCustom", "", "", "ReturnValue", "custom", "manual"] - - ["github.com/nonexistent/sources", "", False, "GetCliArg", "", "", "ReturnValue", "commandargs", "manual"] - + - ["github.com/nonexistent/sources", "", True, "ExecuteQuery", "", "", "ReturnValue", "database", "manual"] + - ["github.com/nonexistent/sources", "", True, "ReadEnvironment", "", "", "ReturnValue", "environment", "manual"] + - ["github.com/nonexistent/sources", "", True, "GetCustom", "", "", "ReturnValue", "custom", "manual"] + - ["github.com/nonexistent/sources", "", True, "GetCliArg", "", "", "ReturnValue", "commandargs", "manual"] diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest6.ext.yml b/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest6.ext.yml index cc5a7847fd84..7c9aa3d7f5d8 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest6.ext.yml +++ b/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest6.ext.yml @@ -11,7 +11,7 @@ extensions: pack: codeql/go-all extensible: sourceModel data: - - ["github.com/nonexistent/sources", "", False, "ExecuteQuery", "", "", "ReturnValue", "database", "manual"] - - ["github.com/nonexistent/sources", "", False, "ReadEnvironment", "", "", "ReturnValue", "environment", "manual"] - - ["github.com/nonexistent/sources", "", False, "GetCustom", "", "", "ReturnValue", "custom", "manual"] - - ["github.com/nonexistent/sources", "", False, "GetCliArg", "", "", "ReturnValue", "commandargs", "manual"] + - ["github.com/nonexistent/sources", "", True, "ExecuteQuery", "", "", "ReturnValue", "database", "manual"] + - ["github.com/nonexistent/sources", "", True, "ReadEnvironment", "", "", "ReturnValue", "environment", "manual"] + - ["github.com/nonexistent/sources", "", True, "GetCustom", "", "", "ReturnValue", "custom", "manual"] + - ["github.com/nonexistent/sources", "", True, "GetCliArg", "", "", "ReturnValue", "commandargs", "manual"] From d31700cf92f5af2201034f5aefe531e489a54332 Mon Sep 17 00:00:00 2001 From: Owen Mansel-Chan Date: Tue, 12 Nov 2024 11:34:29 +0000 Subject: [PATCH 147/347] Accept changes in models in .expected files --- .../DecompressionBombs.expected | 6 ++-- .../HTMLTemplateEscapingPassthrough.expected | 2 +- go/ql/test/experimental/CWE-918/SSRF.expected | 6 ++-- .../go/dataflow/HiddenNodes/test.expected | 2 +- .../threat-models-flowtest2.expected | 2 +- .../threat-models-flowtest3.expected | 6 ++-- .../threat-models-flowtest4.expected | 8 ++--- .../threat-models-flowtest5.expected | 4 +-- .../threat-models-flowtest6.expected | 4 +-- .../go/frameworks/Beego/ReflectedXss.expected | 34 +++++++++---------- .../go/frameworks/Beego/TaintedPath.expected | 12 +++---- .../go/frameworks/Echo/ReflectedXss.expected | 2 +- .../go/frameworks/Echo/TaintedPath.expected | 4 +-- .../go/frameworks/Encoding/jsoniter.expected | 6 ++-- .../go/frameworks/Gin/TaintedPath.expected | 8 ++--- .../frameworks/Gorestful/gorestful.expected | 2 +- .../go/frameworks/Revel/TaintedPath.expected | 2 +- .../frameworks/Twirp/RequestForgery.expected | 4 +-- .../frameworks/XNetHtml/ReflectedXss.expected | 14 ++++---- .../frameworks/XNetHtml/SqlInjection.expected | 2 +- .../UnhandledCloseWritableHandle.expected | 2 +- .../Security/CWE-022/TaintedPath.expected | 4 +-- .../CWE-022/UnsafeUnzipSymlink.expected | 2 +- .../Security/CWE-022/ZipSlip.expected | 10 +++--- .../CWE-078/CommandInjection.expected | 8 ++--- .../Security/CWE-078/StoredCommand.expected | 2 +- .../Security/CWE-079/ReflectedXss.expected | 4 +-- .../Security/CWE-089/SqlInjection.expected | 4 +-- .../Security/CWE-089/StringBreak.expected | 2 +- .../CWE-190/AllocationSizeOverflow.expected | 2 +- .../Security/CWE-327/UnsafeTLS.expected | 6 ++-- .../InsecureRandomness.expected | 2 +- .../BadRedirectCheck.expected | 2 +- .../Security/CWE-640/EmailInjection.expected | 4 +-- .../Security/CWE-643/XPathInjection.expected | 2 +- 35 files changed, 93 insertions(+), 93 deletions(-) diff --git a/go/ql/test/experimental/CWE-522-DecompressionBombs/DecompressionBombs.expected b/go/ql/test/experimental/CWE-522-DecompressionBombs/DecompressionBombs.expected index 34703cdeef4e..29cca2709724 100644 --- a/go/ql/test/experimental/CWE-522-DecompressionBombs/DecompressionBombs.expected +++ b/go/ql/test/experimental/CWE-522-DecompressionBombs/DecompressionBombs.expected @@ -233,10 +233,10 @@ edges models | 1 | Source: net/http; Request; true; Body; ; ; ; remote; manual | | 2 | Source: net/http; Request; true; FormValue; ; ; ReturnValue; remote; manual | -| 3 | Summary: archive/tar; ; false; NewReader; ; ; Argument[0]; ReturnValue; taint; manual | +| 3 | Summary: archive/tar; ; true; NewReader; ; ; Argument[0]; ReturnValue; taint; manual | | 4 | Summary: archive/zip; File; true; Open; ; ; Argument[receiver]; ReturnValue[0]; taint; manual | -| 5 | Summary: bytes; ; false; NewReader; ; ; Argument[0]; ReturnValue; taint; manual | -| 6 | Summary: io; ; false; ReadAll; ; ; Argument[0]; ReturnValue[0]; taint; manual | +| 5 | Summary: bytes; ; true; NewReader; ; ; Argument[0]; ReturnValue; taint; manual | +| 6 | Summary: io; ; true; ReadAll; ; ; Argument[0]; ReturnValue[0]; taint; manual | nodes | test.go:59:16:59:44 | call to FormValue | semmle.label | call to FormValue | | test.go:60:15:60:26 | selection of Body | semmle.label | selection of Body | diff --git a/go/ql/test/experimental/CWE-79/HTMLTemplateEscapingPassthrough.expected b/go/ql/test/experimental/CWE-79/HTMLTemplateEscapingPassthrough.expected index c91fe813e9fe..93d5d1d24ad1 100644 --- a/go/ql/test/experimental/CWE-79/HTMLTemplateEscapingPassthrough.expected +++ b/go/ql/test/experimental/CWE-79/HTMLTemplateEscapingPassthrough.expected @@ -35,7 +35,7 @@ edges | HTMLTemplateEscapingPassthrough.go:91:64:91:66 | src | HTMLTemplateEscapingPassthrough.go:91:38:91:67 | call to HTMLEscapeString | provenance | MaD:2 | models | 1 | Source: net/http; Request; true; UserAgent; ; ; ReturnValue; remote; manual | -| 2 | Summary: html/template; ; false; HTMLEscapeString; ; ; Argument[0]; ReturnValue; taint; manual | +| 2 | Summary: html/template; ; true; HTMLEscapeString; ; ; Argument[0]; ReturnValue; taint; manual | nodes | HTMLTemplateEscapingPassthrough.go:29:12:29:41 | type conversion | semmle.label | type conversion | | HTMLTemplateEscapingPassthrough.go:29:26:29:40 | call to UserAgent | semmle.label | call to UserAgent | diff --git a/go/ql/test/experimental/CWE-918/SSRF.expected b/go/ql/test/experimental/CWE-918/SSRF.expected index f4e1d1c9930b..6e2e9a394ccb 100644 --- a/go/ql/test/experimental/CWE-918/SSRF.expected +++ b/go/ql/test/experimental/CWE-918/SSRF.expected @@ -69,12 +69,12 @@ models | 7 | Source: net/http; Request; true; FormValue; ; ; ReturnValue; remote; manual | | 8 | Source: net/http; Request; true; Referer; ; ; ReturnValue; remote; manual | | 9 | Source: net/http; Request; true; URL; ; ; ; remote; manual | -| 10 | Summary: encoding/json; ; false; Unmarshal; ; ; Argument[0]; Argument[1]; taint; manual | +| 10 | Summary: encoding/json; ; true; Unmarshal; ; ; Argument[0]; Argument[1]; taint; manual | | 11 | Summary: fmt; ; true; Sprintf; ; ; Argument[1].ArrayElement; ReturnValue; taint; manual | -| 12 | Summary: io/ioutil; ; false; ReadAll; ; ; Argument[0]; ReturnValue[0]; taint; manual | +| 12 | Summary: io/ioutil; ; true; ReadAll; ; ; Argument[0]; ReturnValue[0]; taint; manual | | 13 | Summary: net/url; URL; true; Query; ; ; Argument[receiver]; ReturnValue; taint; manual | | 14 | Summary: net/url; Values; true; Get; ; ; Argument[receiver]; ReturnValue; taint; manual | -| 15 | Summary: strings; ; false; TrimPrefix; ; ; Argument[0]; ReturnValue; taint; manual | +| 15 | Summary: strings; ; true; TrimPrefix; ; ; Argument[0]; ReturnValue; taint; manual | nodes | builtin.go:19:12:19:34 | call to FormValue | semmle.label | call to FormValue | | builtin.go:22:21:22:62 | ...+... | semmle.label | ...+... | diff --git a/go/ql/test/library-tests/semmle/go/dataflow/HiddenNodes/test.expected b/go/ql/test/library-tests/semmle/go/dataflow/HiddenNodes/test.expected index 13aa3515962b..0a6930c8c2ec 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/HiddenNodes/test.expected +++ b/go/ql/test/library-tests/semmle/go/dataflow/HiddenNodes/test.expected @@ -1,5 +1,5 @@ models -| 1 | Summary: archive/tar; ; false; FileInfoHeader; ; ; Argument[0]; ReturnValue[0]; taint; manual | +| 1 | Summary: archive/tar; ; true; FileInfoHeader; ; ; Argument[0]; ReturnValue[0]; taint; manual | edges | test.go:14:8:14:15 | call to source | test.go:15:34:15:35 | fi | provenance | | | test.go:15:2:15:44 | ... := ...[0] | test.go:16:7:16:12 | header | provenance | | diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest2.expected b/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest2.expected index cf59efbb6ac4..bc4cbe638fef 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest2.expected +++ b/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest2.expected @@ -1,5 +1,5 @@ models -| 1 | Source: github.com/nonexistent/sources; ; false; ExecuteQuery; ; ; ReturnValue; database; manual | +| 1 | Source: github.com/nonexistent/sources; ; true; ExecuteQuery; ; ; ReturnValue; database; manual | | 2 | Source: net/http; Request; true; URL; ; ; ; remote; manual | | 3 | Summary: net/url; URL; true; Query; ; ; Argument[receiver]; ReturnValue; taint; manual | | 4 | Summary: net/url; Values; true; Get; ; ; Argument[receiver]; ReturnValue; taint; manual | diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest3.expected b/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest3.expected index c3138596ac22..644ab61c9c09 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest3.expected +++ b/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest3.expected @@ -1,7 +1,7 @@ models -| 1 | Source: github.com/nonexistent/sources; ; false; ExecuteQuery; ; ; ReturnValue; database; manual | -| 2 | Source: github.com/nonexistent/sources; ; false; GetCliArg; ; ; ReturnValue; commandargs; manual | -| 3 | Source: github.com/nonexistent/sources; ; false; ReadEnvironment; ; ; ReturnValue; environment; manual | +| 1 | Source: github.com/nonexistent/sources; ; true; ExecuteQuery; ; ; ReturnValue; database; manual | +| 2 | Source: github.com/nonexistent/sources; ; true; GetCliArg; ; ; ReturnValue; commandargs; manual | +| 3 | Source: github.com/nonexistent/sources; ; true; ReadEnvironment; ; ; ReturnValue; environment; manual | | 4 | Source: net/http; Request; true; URL; ; ; ; remote; manual | | 5 | Summary: net/url; URL; true; Query; ; ; Argument[receiver]; ReturnValue; taint; manual | | 6 | Summary: net/url; Values; true; Get; ; ; Argument[receiver]; ReturnValue; taint; manual | diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest4.expected b/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest4.expected index 37db602757c4..e28ad58f2ea8 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest4.expected +++ b/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest4.expected @@ -1,8 +1,8 @@ models -| 1 | Source: github.com/nonexistent/sources; ; false; ExecuteQuery; ; ; ReturnValue; database; manual | -| 2 | Source: github.com/nonexistent/sources; ; false; GetCliArg; ; ; ReturnValue; commandargs; manual | -| 3 | Source: github.com/nonexistent/sources; ; false; GetCustom; ; ; ReturnValue; custom; manual | -| 4 | Source: github.com/nonexistent/sources; ; false; ReadEnvironment; ; ; ReturnValue; environment; manual | +| 1 | Source: github.com/nonexistent/sources; ; true; ExecuteQuery; ; ; ReturnValue; database; manual | +| 2 | Source: github.com/nonexistent/sources; ; true; GetCliArg; ; ; ReturnValue; commandargs; manual | +| 3 | Source: github.com/nonexistent/sources; ; true; GetCustom; ; ; ReturnValue; custom; manual | +| 4 | Source: github.com/nonexistent/sources; ; true; ReadEnvironment; ; ; ReturnValue; environment; manual | | 5 | Source: net/http; Request; true; URL; ; ; ; remote; manual | | 6 | Summary: net/url; URL; true; Query; ; ; Argument[receiver]; ReturnValue; taint; manual | | 7 | Summary: net/url; Values; true; Get; ; ; Argument[receiver]; ReturnValue; taint; manual | diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest5.expected b/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest5.expected index 92b35dc609b6..eac3843cfaeb 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest5.expected +++ b/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest5.expected @@ -1,6 +1,6 @@ models -| 1 | Source: github.com/nonexistent/sources; ; false; GetCliArg; ; ; ReturnValue; commandargs; manual | -| 2 | Source: github.com/nonexistent/sources; ; false; ReadEnvironment; ; ; ReturnValue; environment; manual | +| 1 | Source: github.com/nonexistent/sources; ; true; GetCliArg; ; ; ReturnValue; commandargs; manual | +| 2 | Source: github.com/nonexistent/sources; ; true; ReadEnvironment; ; ; ReturnValue; environment; manual | | 3 | Source: net/http; Request; true; URL; ; ; ; remote; manual | | 4 | Summary: net/url; URL; true; Query; ; ; Argument[receiver]; ReturnValue; taint; manual | | 5 | Summary: net/url; Values; true; Get; ; ; Argument[receiver]; ReturnValue; taint; manual | diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest6.expected b/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest6.expected index a5a23bd07251..48b374d8d9c0 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest6.expected +++ b/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest6.expected @@ -1,6 +1,6 @@ models -| 1 | Source: github.com/nonexistent/sources; ; false; ExecuteQuery; ; ; ReturnValue; database; manual | -| 2 | Source: github.com/nonexistent/sources; ; false; GetCliArg; ; ; ReturnValue; commandargs; manual | +| 1 | Source: github.com/nonexistent/sources; ; true; ExecuteQuery; ; ; ReturnValue; database; manual | +| 2 | Source: github.com/nonexistent/sources; ; true; GetCliArg; ; ; ReturnValue; commandargs; manual | | 3 | Source: net/http; Request; true; URL; ; ; ; remote; manual | | 4 | Summary: net/url; URL; true; Query; ; ; Argument[receiver]; ReturnValue; taint; manual | | 5 | Summary: net/url; Values; true; Get; ; ; Argument[receiver]; ReturnValue; taint; manual | diff --git a/go/ql/test/library-tests/semmle/go/frameworks/Beego/ReflectedXss.expected b/go/ql/test/library-tests/semmle/go/frameworks/Beego/ReflectedXss.expected index aa0345f221e1..0d0a445d860c 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/Beego/ReflectedXss.expected +++ b/go/ql/test/library-tests/semmle/go/frameworks/Beego/ReflectedXss.expected @@ -176,26 +176,26 @@ models | 19 | Source: group:beego; Controller; true; Input; ; ; ReturnValue[0]; remote; manual | | 20 | Source: group:beego; Controller; true; ParseForm; ; ; Argument[0]; remote; manual | | 21 | Source: net/http; Request; true; Form; ; ; ; remote; manual | -| 22 | Summary: group:beego-utils; ; false; SliceChunk; ; ; Argument[0]; ReturnValue; taint; manual | -| 23 | Summary: group:beego-utils; ; false; SliceDiff; ; ; Argument[0]; ReturnValue; taint; manual | -| 24 | Summary: group:beego-utils; ; false; SliceFilter; ; ; Argument[0]; ReturnValue; taint; manual | -| 25 | Summary: group:beego-utils; ; false; SliceIntersect; ; ; Argument[0..1]; ReturnValue; taint; manual | -| 26 | Summary: group:beego-utils; ; false; SliceMerge; ; ; Argument[0..1]; ReturnValue; taint; manual | -| 27 | Summary: group:beego-utils; ; false; SlicePad; ; ; Argument[0..2]; ReturnValue; taint; manual | -| 28 | Summary: group:beego-utils; ; false; SliceRand; ; ; Argument[0]; ReturnValue; taint; manual | -| 29 | Summary: group:beego-utils; ; false; SliceReduce; ; ; Argument[0]; ReturnValue; taint; manual | -| 30 | Summary: group:beego-utils; ; false; SliceShuffle; ; ; Argument[0]; ReturnValue; taint; manual | -| 31 | Summary: group:beego-utils; ; false; SliceUnique; ; ; Argument[0]; ReturnValue; taint; manual | +| 22 | Summary: group:beego-utils; ; true; SliceChunk; ; ; Argument[0]; ReturnValue; taint; manual | +| 23 | Summary: group:beego-utils; ; true; SliceDiff; ; ; Argument[0]; ReturnValue; taint; manual | +| 24 | Summary: group:beego-utils; ; true; SliceFilter; ; ; Argument[0]; ReturnValue; taint; manual | +| 25 | Summary: group:beego-utils; ; true; SliceIntersect; ; ; Argument[0..1]; ReturnValue; taint; manual | +| 26 | Summary: group:beego-utils; ; true; SliceMerge; ; ; Argument[0..1]; ReturnValue; taint; manual | +| 27 | Summary: group:beego-utils; ; true; SlicePad; ; ; Argument[0..2]; ReturnValue; taint; manual | +| 28 | Summary: group:beego-utils; ; true; SliceRand; ; ; Argument[0]; ReturnValue; taint; manual | +| 29 | Summary: group:beego-utils; ; true; SliceReduce; ; ; Argument[0]; ReturnValue; taint; manual | +| 30 | Summary: group:beego-utils; ; true; SliceShuffle; ; ; Argument[0]; ReturnValue; taint; manual | +| 31 | Summary: group:beego-utils; ; true; SliceUnique; ; ; Argument[0]; ReturnValue; taint; manual | | 32 | Summary: group:beego-utils; BeeMap; true; Get; ; ; Argument[receiver]; ReturnValue; taint; manual | | 33 | Summary: group:beego-utils; BeeMap; true; Items; ; ; Argument[receiver]; ReturnValue; taint; manual | | 34 | Summary: group:beego-utils; BeeMap; true; Set; ; ; Argument[1]; Argument[receiver]; taint; manual | -| 35 | Summary: group:beego; ; false; HTML2str; ; ; Argument[0]; ReturnValue; taint; manual | -| 36 | Summary: group:beego; ; false; Htmlunquote; ; ; Argument[0]; ReturnValue; taint; manual | -| 37 | Summary: group:beego; ; false; MapGet; ; ; Argument[0]; ReturnValue[0]; taint; manual | -| 38 | Summary: group:beego; ; false; ParseForm; ; ; Argument[0]; Argument[1]; taint; manual | -| 39 | Summary: group:beego; ; false; Str2html; ; ; Argument[0]; ReturnValue; taint; manual | -| 40 | Summary: group:beego; ; false; Substr; ; ; Argument[0]; ReturnValue; taint; manual | -| 41 | Summary: io/ioutil; ; false; ReadAll; ; ; Argument[0]; ReturnValue[0]; taint; manual | +| 35 | Summary: group:beego; ; true; HTML2str; ; ; Argument[0]; ReturnValue; taint; manual | +| 36 | Summary: group:beego; ; true; Htmlunquote; ; ; Argument[0]; ReturnValue; taint; manual | +| 37 | Summary: group:beego; ; true; MapGet; ; ; Argument[0]; ReturnValue[0]; taint; manual | +| 38 | Summary: group:beego; ; true; ParseForm; ; ; Argument[0]; Argument[1]; taint; manual | +| 39 | Summary: group:beego; ; true; Str2html; ; ; Argument[0]; ReturnValue; taint; manual | +| 40 | Summary: group:beego; ; true; Substr; ; ; Argument[0]; ReturnValue; taint; manual | +| 41 | Summary: io/ioutil; ; true; ReadAll; ; ; Argument[0]; ReturnValue[0]; taint; manual | nodes | test.go:33:6:33:10 | definition of bound | semmle.label | definition of bound | | test.go:35:13:35:30 | type conversion | semmle.label | type conversion | diff --git a/go/ql/test/library-tests/semmle/go/frameworks/Beego/TaintedPath.expected b/go/ql/test/library-tests/semmle/go/frameworks/Beego/TaintedPath.expected index 796143aee9e7..875d267025e2 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/Beego/TaintedPath.expected +++ b/go/ql/test/library-tests/semmle/go/frameworks/Beego/TaintedPath.expected @@ -16,14 +16,14 @@ edges | test.go:340:15:340:26 | call to Data | test.go:342:53:342:61 | untrusted | provenance | Src:MaD:6 Sink:MaD:4 | | test.go:340:15:340:26 | call to Data | test.go:344:23:344:31 | untrusted | provenance | Src:MaD:6 Sink:MaD:1 | models -| 1 | Sink: group:beego-context; BeegoOutput; false; Download; ; ; Argument[0]; path-injection; manual | -| 2 | Sink: group:beego; ; false; Walk; ; ; Argument[1]; path-injection; manual | -| 3 | Sink: group:beego; Controller; false; SaveToFile; ; ; Argument[1]; path-injection; manual | -| 4 | Sink: group:beego; Controller; false; SaveToFileWithBuffer; ; ; Argument[1]; path-injection; manual | -| 5 | Sink: group:beego; FileSystem; false; Open; ; ; Argument[0]; path-injection; manual | +| 1 | Sink: group:beego-context; BeegoOutput; true; Download; ; ; Argument[0]; path-injection; manual | +| 2 | Sink: group:beego; ; true; Walk; ; ; Argument[1]; path-injection; manual | +| 3 | Sink: group:beego; Controller; true; SaveToFile; ; ; Argument[1]; path-injection; manual | +| 4 | Sink: group:beego; Controller; true; SaveToFileWithBuffer; ; ; Argument[1]; path-injection; manual | +| 5 | Sink: group:beego; FileSystem; true; Open; ; ; Argument[0]; path-injection; manual | | 6 | Source: group:beego-context; BeegoInput; true; Data; ; ; ReturnValue[0]; remote; manual | | 7 | Source: group:beego-context; BeegoInput; true; RequestBody; ; ; ; remote; manual | -| 8 | Summary: encoding/json; ; false; Unmarshal; ; ; Argument[0]; Argument[1]; taint; manual | +| 8 | Summary: encoding/json; ; true; Unmarshal; ; ; Argument[0]; Argument[1]; taint; manual | nodes | test.go:215:15:215:26 | call to Data | semmle.label | call to Data | | test.go:216:18:216:26 | untrusted | semmle.label | untrusted | diff --git a/go/ql/test/library-tests/semmle/go/frameworks/Echo/ReflectedXss.expected b/go/ql/test/library-tests/semmle/go/frameworks/Echo/ReflectedXss.expected index 61b8706f4e05..c115d4f86431 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/Echo/ReflectedXss.expected +++ b/go/ql/test/library-tests/semmle/go/frameworks/Echo/ReflectedXss.expected @@ -74,7 +74,7 @@ models | 16 | Summary: io; Reader; true; Read; ; ; Argument[receiver]; Argument[0]; taint; manual | | 17 | Summary: mime/multipart; FileHeader; true; Open; ; ; Argument[receiver]; ReturnValue[0]; taint; manual | | 18 | Summary: os; File; true; Read; ; ; Argument[receiver]; Argument[0]; taint; manual | -| 19 | Summary: strings; ; false; NewReader; ; ; Argument[0]; ReturnValue; taint; manual | +| 19 | Summary: strings; ; true; NewReader; ; ; Argument[0]; ReturnValue; taint; manual | nodes | test.go:15:11:15:32 | call to Param | semmle.label | call to Param | | test.go:16:16:16:20 | param | semmle.label | param | diff --git a/go/ql/test/library-tests/semmle/go/frameworks/Echo/TaintedPath.expected b/go/ql/test/library-tests/semmle/go/frameworks/Echo/TaintedPath.expected index aaefd9799bec..c579c480fb3e 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/Echo/TaintedPath.expected +++ b/go/ql/test/library-tests/semmle/go/frameworks/Echo/TaintedPath.expected @@ -5,8 +5,8 @@ edges | test.go:221:15:221:38 | call to QueryParam | test.go:222:17:222:24 | filepath | provenance | Src:MaD:3 Sink:MaD:2 | | test.go:225:15:225:38 | call to QueryParam | test.go:226:23:226:30 | filepath | provenance | Src:MaD:3 Sink:MaD:1 | models -| 1 | Sink: github.com/labstack/echo; Context; false; Attachment; ; ; Argument[0]; path-injection; manual | -| 2 | Sink: github.com/labstack/echo; Context; false; File; ; ; Argument[0]; path-injection; manual | +| 1 | Sink: github.com/labstack/echo; Context; true; Attachment; ; ; Argument[0]; path-injection; manual | +| 2 | Sink: github.com/labstack/echo; Context; true; File; ; ; Argument[0]; path-injection; manual | | 3 | Source: github.com/labstack/echo; Context; true; QueryParam; ; ; ReturnValue[0]; remote; manual | nodes | test.go:221:15:221:38 | call to QueryParam | semmle.label | call to QueryParam | diff --git a/go/ql/test/library-tests/semmle/go/frameworks/Encoding/jsoniter.expected b/go/ql/test/library-tests/semmle/go/frameworks/Encoding/jsoniter.expected index 0e79c3135b08..9ff49f5b9291 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/Encoding/jsoniter.expected +++ b/go/ql/test/library-tests/semmle/go/frameworks/Encoding/jsoniter.expected @@ -1,7 +1,7 @@ models -| 1 | Sink: os/exec; ; false; Command; ; ; Argument[0]; command-injection; manual | -| 2 | Summary: github.com/json-iterator/go; ; false; Unmarshal; ; ; Argument[0]; Argument[1]; taint; manual | -| 3 | Summary: github.com/json-iterator/go; ; false; UnmarshalFromString; ; ; Argument[0]; Argument[1]; taint; manual | +| 1 | Sink: os/exec; ; true; Command; ; ; Argument[0]; command-injection; manual | +| 2 | Summary: github.com/json-iterator/go; ; true; Unmarshal; ; ; Argument[0]; Argument[1]; taint; manual | +| 3 | Summary: github.com/json-iterator/go; ; true; UnmarshalFromString; ; ; Argument[0]; Argument[1]; taint; manual | | 4 | Summary: github.com/json-iterator/go; API; true; Unmarshal; ; ; Argument[0]; Argument[1]; taint; manual | | 5 | Summary: github.com/json-iterator/go; API; true; UnmarshalFromString; ; ; Argument[0]; Argument[1]; taint; manual | edges diff --git a/go/ql/test/library-tests/semmle/go/frameworks/Gin/TaintedPath.expected b/go/ql/test/library-tests/semmle/go/frameworks/Gin/TaintedPath.expected index e73729936bd1..d16514649f3c 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/Gin/TaintedPath.expected +++ b/go/ql/test/library-tests/semmle/go/frameworks/Gin/TaintedPath.expected @@ -9,10 +9,10 @@ edges | Gin.go:24:15:24:33 | call to Query | Gin.go:27:20:27:27 | filepath | provenance | Src:MaD:5 Sink:MaD:2 | | Gin.go:24:15:24:33 | call to Query | Gin.go:29:32:29:39 | filepath | provenance | Src:MaD:5 Sink:MaD:3 | models -| 1 | Sink: github.com/gin-gonic/gin; Context; false; File; ; ; Argument[0]; path-injection; manual | -| 2 | Sink: github.com/gin-gonic/gin; Context; false; FileAttachment; ; ; Argument[0]; path-injection; manual | -| 3 | Sink: github.com/gin-gonic/gin; Context; false; SaveUploadedFile; ; ; Argument[1]; path-injection; manual | -| 4 | Sink: net/http; ; false; ServeFile; ; ; Argument[2]; path-injection; manual | +| 1 | Sink: github.com/gin-gonic/gin; Context; true; File; ; ; Argument[0]; path-injection; manual | +| 2 | Sink: github.com/gin-gonic/gin; Context; true; FileAttachment; ; ; Argument[0]; path-injection; manual | +| 3 | Sink: github.com/gin-gonic/gin; Context; true; SaveUploadedFile; ; ; Argument[1]; path-injection; manual | +| 4 | Sink: net/http; ; true; ServeFile; ; ; Argument[2]; path-injection; manual | | 5 | Source: github.com/gin-gonic/gin; Context; true; Query; ; ; ReturnValue; remote; manual | nodes | Gin.go:24:15:24:33 | call to Query | semmle.label | call to Query | diff --git a/go/ql/test/library-tests/semmle/go/frameworks/Gorestful/gorestful.expected b/go/ql/test/library-tests/semmle/go/frameworks/Gorestful/gorestful.expected index 4cdacabe873d..7ec09bf530d4 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/Gorestful/gorestful.expected +++ b/go/ql/test/library-tests/semmle/go/frameworks/Gorestful/gorestful.expected @@ -1,5 +1,5 @@ models -| 1 | Sink: os/exec; ; false; Command; ; ; Argument[0]; command-injection; manual | +| 1 | Sink: os/exec; ; true; Command; ; ; Argument[0]; command-injection; manual | | 2 | Source: github.com/emicklei/go-restful; Request; true; BodyParameter; ; ; ReturnValue[0]; remote; manual | | 3 | Source: github.com/emicklei/go-restful; Request; true; PathParameters; ; ; ReturnValue; remote; manual | | 4 | Source: github.com/emicklei/go-restful; Request; true; QueryParameters; ; ; ReturnValue; remote; manual | diff --git a/go/ql/test/library-tests/semmle/go/frameworks/Revel/TaintedPath.expected b/go/ql/test/library-tests/semmle/go/frameworks/Revel/TaintedPath.expected index 7337f636c477..7706161f2f27 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/Revel/TaintedPath.expected +++ b/go/ql/test/library-tests/semmle/go/frameworks/Revel/TaintedPath.expected @@ -8,7 +8,7 @@ edges | EndToEnd.go:64:26:64:38 | selection of Form | EndToEnd.go:64:26:64:55 | call to Get | provenance | MaD:4 Sink:MaD:1 | models | 1 | Sink: group:revel; Controller; true; RenderFileName; ; ; Argument[0]; path-injection; manual | -| 2 | Sink: os; ; false; Open; ; ; Argument[0]; path-injection; manual | +| 2 | Sink: os; ; true; Open; ; ; Argument[0]; path-injection; manual | | 3 | Source: group:revel; Controller; true; Params; ; ; ; remote; manual | | 4 | Summary: net/url; Values; true; Get; ; ; Argument[receiver]; ReturnValue; taint; manual | nodes diff --git a/go/ql/test/library-tests/semmle/go/frameworks/Twirp/RequestForgery.expected b/go/ql/test/library-tests/semmle/go/frameworks/Twirp/RequestForgery.expected index 82c4c950c6e4..648650dcb57c 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/Twirp/RequestForgery.expected +++ b/go/ql/test/library-tests/semmle/go/frameworks/Twirp/RequestForgery.expected @@ -25,8 +25,8 @@ edges | server/main.go:19:56:19:61 | definition of params [Return] | rpc/notes/service.twirp.go:574:2:574:2 | capture variable reqContent | provenance | | models | 1 | Source: net/http; Request; true; Body; ; ; ; remote; manual | -| 2 | Summary: google.golang.org/protobuf/proto; ; false; Unmarshal; ; ; Argument[0]; Argument[1]; taint; manual | -| 3 | Summary: io; ; false; ReadAll; ; ; Argument[0]; ReturnValue[0]; taint; manual | +| 2 | Summary: google.golang.org/protobuf/proto; ; true; Unmarshal; ; ; Argument[0]; Argument[1]; taint; manual | +| 3 | Summary: io; ; true; ReadAll; ; ; Argument[0]; ReturnValue[0]; taint; manual | nodes | client/main.go:16:35:16:78 | &... | semmle.label | &... | | rpc/notes/service.twirp.go:473:6:473:13 | definition of typedReq | semmle.label | definition of typedReq | diff --git a/go/ql/test/library-tests/semmle/go/frameworks/XNetHtml/ReflectedXss.expected b/go/ql/test/library-tests/semmle/go/frameworks/XNetHtml/ReflectedXss.expected index b94733d5054b..bb1af2a7a3f3 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/XNetHtml/ReflectedXss.expected +++ b/go/ql/test/library-tests/semmle/go/frameworks/XNetHtml/ReflectedXss.expected @@ -71,13 +71,13 @@ edges models | 1 | Source: net/http; Request; true; Body; ; ; ; remote; manual | | 2 | Source: net/http; Request; true; URL; ; ; ; remote; manual | -| 3 | Summary: golang.org/x/net/html; ; false; NewTokenizer; ; ; Argument[0]; ReturnValue; taint; manual | -| 4 | Summary: golang.org/x/net/html; ; false; NewTokenizerFragment; ; ; Argument[0]; ReturnValue; taint; manual | -| 5 | Summary: golang.org/x/net/html; ; false; Parse; ; ; Argument[0]; ReturnValue[0]; taint; manual | -| 6 | Summary: golang.org/x/net/html; ; false; ParseFragment; ; ; Argument[0]; ReturnValue[0]; taint; manual | -| 7 | Summary: golang.org/x/net/html; ; false; ParseFragmentWithOptions; ; ; Argument[0]; ReturnValue[0]; taint; manual | -| 8 | Summary: golang.org/x/net/html; ; false; ParseWithOptions; ; ; Argument[0]; ReturnValue[0]; taint; manual | -| 9 | Summary: golang.org/x/net/html; ; false; UnescapeString; ; ; Argument[0]; ReturnValue; taint; manual | +| 3 | Summary: golang.org/x/net/html; ; true; NewTokenizer; ; ; Argument[0]; ReturnValue; taint; manual | +| 4 | Summary: golang.org/x/net/html; ; true; NewTokenizerFragment; ; ; Argument[0]; ReturnValue; taint; manual | +| 5 | Summary: golang.org/x/net/html; ; true; Parse; ; ; Argument[0]; ReturnValue[0]; taint; manual | +| 6 | Summary: golang.org/x/net/html; ; true; ParseFragment; ; ; Argument[0]; ReturnValue[0]; taint; manual | +| 7 | Summary: golang.org/x/net/html; ; true; ParseFragmentWithOptions; ; ; Argument[0]; ReturnValue[0]; taint; manual | +| 8 | Summary: golang.org/x/net/html; ; true; ParseWithOptions; ; ; Argument[0]; ReturnValue[0]; taint; manual | +| 9 | Summary: golang.org/x/net/html; ; true; UnescapeString; ; ; Argument[0]; ReturnValue; taint; manual | | 10 | Summary: golang.org/x/net/html; Node; true; AppendChild; ; ; Argument[0]; Argument[receiver]; taint; manual | | 11 | Summary: golang.org/x/net/html; Node; true; InsertBefore; ; ; Argument[0]; Argument[receiver]; taint; manual | | 12 | Summary: golang.org/x/net/html; Tokenizer; true; Buffered; ; ; Argument[receiver]; ReturnValue; taint; manual | diff --git a/go/ql/test/library-tests/semmle/go/frameworks/XNetHtml/SqlInjection.expected b/go/ql/test/library-tests/semmle/go/frameworks/XNetHtml/SqlInjection.expected index c28b1058e7c7..c25bd5f5c38b 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/XNetHtml/SqlInjection.expected +++ b/go/ql/test/library-tests/semmle/go/frameworks/XNetHtml/SqlInjection.expected @@ -5,7 +5,7 @@ edges | test.go:57:29:57:40 | selection of Value | test.go:57:11:57:41 | call to EscapeString | provenance | MaD:2 | models | 1 | Source: net/http; Request; true; Cookie; ; ; ReturnValue[0]; remote; manual | -| 2 | Summary: golang.org/x/net/html; ; false; EscapeString; ; ; Argument[0]; ReturnValue; taint; manual | +| 2 | Summary: golang.org/x/net/html; ; true; EscapeString; ; ; Argument[0]; ReturnValue; taint; manual | nodes | test.go:56:2:56:42 | ... := ...[0] | semmle.label | ... := ...[0] | | test.go:57:11:57:41 | call to EscapeString | semmle.label | call to EscapeString | diff --git a/go/ql/test/query-tests/InconsistentCode/UnhandledCloseWritableHandle/UnhandledCloseWritableHandle.expected b/go/ql/test/query-tests/InconsistentCode/UnhandledCloseWritableHandle/UnhandledCloseWritableHandle.expected index dc54af70dbba..ee8bb8d7375f 100644 --- a/go/ql/test/query-tests/InconsistentCode/UnhandledCloseWritableHandle/UnhandledCloseWritableHandle.expected +++ b/go/ql/test/query-tests/InconsistentCode/UnhandledCloseWritableHandle/UnhandledCloseWritableHandle.expected @@ -24,7 +24,7 @@ edges | tests.go:108:5:108:78 | ... := ...[0] | tests.go:110:9:110:9 | f | provenance | Src:MaD:1 | | tests.go:125:5:125:78 | ... := ...[0] | tests.go:129:3:129:3 | f | provenance | Src:MaD:1 | models -| 1 | Source: os; ; false; OpenFile; ; ; ReturnValue[0]; file; manual | +| 1 | Source: os; ; true; OpenFile; ; ; ReturnValue[0]; file; manual | nodes | tests.go:8:24:8:24 | definition of f | semmle.label | definition of f | | tests.go:9:8:9:8 | f | semmle.label | f | diff --git a/go/ql/test/query-tests/Security/CWE-022/TaintedPath.expected b/go/ql/test/query-tests/Security/CWE-022/TaintedPath.expected index 839d35f663ce..ba73f68772fe 100644 --- a/go/ql/test/query-tests/Security/CWE-022/TaintedPath.expected +++ b/go/ql/test/query-tests/Security/CWE-022/TaintedPath.expected @@ -10,10 +10,10 @@ edges | TaintedPath.go:21:57:21:68 | tainted_path | TaintedPath.go:21:28:21:69 | call to Join | provenance | FunctionModel Sink:MaD:1 | | TaintedPath.go:68:39:68:56 | ...+... | TaintedPath.go:68:28:68:57 | call to Clean | provenance | MaD:4 Sink:MaD:1 | models -| 1 | Sink: io/ioutil; ; false; ReadFile; ; ; Argument[0]; path-injection; manual | +| 1 | Sink: io/ioutil; ; true; ReadFile; ; ; Argument[0]; path-injection; manual | | 2 | Source: net/http; Request; true; URL; ; ; ; remote; manual | | 3 | Summary: net/url; URL; true; Query; ; ; Argument[receiver]; ReturnValue; taint; manual | -| 4 | Summary: path; ; false; Clean; ; ; Argument[0]; ReturnValue; taint; manual | +| 4 | Summary: path; ; true; Clean; ; ; Argument[0]; ReturnValue; taint; manual | nodes | TaintedPath.go:14:18:14:22 | selection of URL | semmle.label | selection of URL | | TaintedPath.go:14:18:14:30 | call to Query | semmle.label | call to Query | diff --git a/go/ql/test/query-tests/Security/CWE-022/UnsafeUnzipSymlink.expected b/go/ql/test/query-tests/Security/CWE-022/UnsafeUnzipSymlink.expected index 3276c0771093..e0444bcdab01 100644 --- a/go/ql/test/query-tests/Security/CWE-022/UnsafeUnzipSymlink.expected +++ b/go/ql/test/query-tests/Security/CWE-022/UnsafeUnzipSymlink.expected @@ -10,7 +10,7 @@ edges | UnsafeUnzipSymlink.go:126:17:126:31 | selection of Linkname | UnsafeUnzipSymlink.go:111:19:111:26 | definition of linkName | provenance | | | UnsafeUnzipSymlink.go:126:34:126:44 | selection of Name | UnsafeUnzipSymlink.go:111:29:111:36 | definition of fileName | provenance | | models -| 1 | Sink: os; ; false; Symlink; ; ; Argument[0..1]; path-injection; manual | +| 1 | Sink: os; ; true; Symlink; ; ; Argument[0..1]; path-injection; manual | nodes | UnsafeUnzipSymlink.go:31:15:31:29 | selection of Linkname | semmle.label | selection of Linkname | | UnsafeUnzipSymlink.go:31:32:31:42 | selection of Name | semmle.label | selection of Name | diff --git a/go/ql/test/query-tests/Security/CWE-022/ZipSlip.expected b/go/ql/test/query-tests/Security/CWE-022/ZipSlip.expected index 7cb981667da2..5641fe1e3ead 100644 --- a/go/ql/test/query-tests/Security/CWE-022/ZipSlip.expected +++ b/go/ql/test/query-tests/Security/CWE-022/ZipSlip.expected @@ -17,11 +17,11 @@ edges | tarslip.go:16:23:16:33 | selection of Name | tarslip.go:16:14:16:34 | call to Dir | provenance | MaD:5 Sink:MaD:2 | | tst.go:23:2:43:2 | range statement[1] | tst.go:29:20:29:23 | path | provenance | Sink:MaD:1 | models -| 1 | Sink: io/ioutil; ; false; WriteFile; ; ; Argument[0]; path-injection; manual | -| 2 | Sink: os; ; false; MkdirAll; ; ; Argument[0]; path-injection; manual | -| 3 | Sink: os; ; false; Readlink; ; ; Argument[0]; path-injection; manual | -| 4 | Summary: path/filepath; ; false; Abs; ; ; Argument[0]; ReturnValue[0]; taint; manual | -| 5 | Summary: path; ; false; Dir; ; ; Argument[0]; ReturnValue; taint; manual | +| 1 | Sink: io/ioutil; ; true; WriteFile; ; ; Argument[0]; path-injection; manual | +| 2 | Sink: os; ; true; MkdirAll; ; ; Argument[0]; path-injection; manual | +| 3 | Sink: os; ; true; Readlink; ; ; Argument[0]; path-injection; manual | +| 4 | Summary: path/filepath; ; true; Abs; ; ; Argument[0]; ReturnValue[0]; taint; manual | +| 5 | Summary: path; ; true; Dir; ; ; Argument[0]; ReturnValue; taint; manual | nodes | UnsafeUnzipSymlinkGood.go:52:24:52:32 | definition of candidate | semmle.label | definition of candidate | | UnsafeUnzipSymlinkGood.go:61:31:61:62 | call to Join | semmle.label | call to Join | diff --git a/go/ql/test/query-tests/Security/CWE-078/CommandInjection.expected b/go/ql/test/query-tests/Security/CWE-078/CommandInjection.expected index ce713390403b..5ade5857fb86 100644 --- a/go/ql/test/query-tests/Security/CWE-078/CommandInjection.expected +++ b/go/ql/test/query-tests/Security/CWE-078/CommandInjection.expected @@ -146,11 +146,11 @@ edges | SanitizingDoubleDash.go:143:21:143:28 | arrayLit [array] | SanitizingDoubleDash.go:143:14:143:35 | call to append | provenance | MaD:3 | | SanitizingDoubleDash.go:143:21:143:28 | arrayLit [array] | SanitizingDoubleDash.go:143:14:143:35 | call to append [array] | provenance | MaD:3 | models -| 1 | Sink: os/exec; ; false; Command; ; ; Argument[0]; command-injection; manual | +| 1 | Sink: os/exec; ; true; Command; ; ; Argument[0]; command-injection; manual | | 2 | Source: net/http; Request; true; URL; ; ; ; remote; manual | -| 3 | Summary: ; ; false; append; ; ; Argument[0].ArrayElement; ReturnValue.ArrayElement; value; manual | -| 4 | Summary: ; ; false; append; ; ; Argument[0]; ReturnValue; taint; manual | -| 5 | Summary: ; ; false; append; ; ; Argument[1].ArrayElement; ReturnValue.ArrayElement; value; manual | +| 3 | Summary: ; ; true; append; ; ; Argument[0].ArrayElement; ReturnValue.ArrayElement; value; manual | +| 4 | Summary: ; ; true; append; ; ; Argument[0]; ReturnValue; taint; manual | +| 5 | Summary: ; ; true; append; ; ; Argument[1].ArrayElement; ReturnValue.ArrayElement; value; manual | | 6 | Summary: fmt; ; true; Sprintf; ; ; Argument[1].ArrayElement; ReturnValue; taint; manual | | 7 | Summary: net/url; URL; true; Query; ; ; Argument[receiver]; ReturnValue; taint; manual | nodes diff --git a/go/ql/test/query-tests/Security/CWE-078/StoredCommand.expected b/go/ql/test/query-tests/Security/CWE-078/StoredCommand.expected index 12be518a98b9..0ee36cc39e5e 100644 --- a/go/ql/test/query-tests/Security/CWE-078/StoredCommand.expected +++ b/go/ql/test/query-tests/Security/CWE-078/StoredCommand.expected @@ -5,7 +5,7 @@ edges | StoredCommand.go:13:2:13:5 | rows | StoredCommand.go:13:12:13:19 | &... | provenance | FunctionModel | | StoredCommand.go:13:12:13:19 | &... | StoredCommand.go:14:22:14:28 | cmdName | provenance | Sink:MaD:1 | models -| 1 | Sink: os/exec; ; false; Command; ; ; Argument[0]; command-injection; manual | +| 1 | Sink: os/exec; ; true; Command; ; ; Argument[0]; command-injection; manual | nodes | StoredCommand.go:11:2:11:27 | ... := ...[0] | semmle.label | ... := ...[0] | | StoredCommand.go:13:2:13:5 | rows | semmle.label | rows | diff --git a/go/ql/test/query-tests/Security/CWE-079/ReflectedXss.expected b/go/ql/test/query-tests/Security/CWE-079/ReflectedXss.expected index 0c9d1d6b22a4..ef6843cb5538 100644 --- a/go/ql/test/query-tests/Security/CWE-079/ReflectedXss.expected +++ b/go/ql/test/query-tests/Security/CWE-079/ReflectedXss.expected @@ -81,13 +81,13 @@ models | 10 | Source: net/http; Request; true; URL; ; ; ; remote; manual | | 11 | Source: nhooyr.io/websocket; Conn; true; Read; ; ; ReturnValue[1]; remote; manual | | 12 | Summary: fmt; ; true; Sprintf; ; ; Argument[1].ArrayElement; ReturnValue; taint; manual | -| 13 | Summary: io/ioutil; ; false; ReadAll; ; ; Argument[0]; ReturnValue[0]; taint; manual | +| 13 | Summary: io/ioutil; ; true; ReadAll; ; ; Argument[0]; ReturnValue[0]; taint; manual | | 14 | Summary: io; Reader; true; Read; ; ; Argument[receiver]; Argument[0]; taint; manual | | 15 | Summary: mime/multipart; Part; true; FileName; ; ; Argument[receiver]; ReturnValue; taint; manual | | 16 | Summary: mime/multipart; Reader; true; NextPart; ; ; Argument[receiver]; ReturnValue[0]; taint; manual | | 17 | Summary: net/url; URL; true; Query; ; ; Argument[receiver]; ReturnValue; taint; manual | | 18 | Summary: net/url; Values; true; Get; ; ; Argument[receiver]; ReturnValue; taint; manual | -| 19 | Summary: strings; ; false; Join; ; ; Argument[0..1]; ReturnValue; taint; manual | +| 19 | Summary: strings; ; true; Join; ; ; Argument[0..1]; ReturnValue; taint; manual | nodes | ReflectedXss.go:11:15:11:20 | selection of Form | semmle.label | selection of Form | | ReflectedXss.go:11:15:11:36 | call to Get | semmle.label | call to Get | diff --git a/go/ql/test/query-tests/Security/CWE-089/SqlInjection.expected b/go/ql/test/query-tests/Security/CWE-089/SqlInjection.expected index b4ba00050a59..06cd819269a7 100644 --- a/go/ql/test/query-tests/Security/CWE-089/SqlInjection.expected +++ b/go/ql/test/query-tests/Security/CWE-089/SqlInjection.expected @@ -139,9 +139,9 @@ models | 3 | Source: net/http; Request; true; Header; ; ; ; remote; manual | | 4 | Source: net/http; Request; true; Referer; ; ; ReturnValue; remote; manual | | 5 | Source: net/http; Request; true; URL; ; ; ; remote; manual | -| 6 | Summary: encoding/json; ; false; Unmarshal; ; ; Argument[0]; Argument[1]; taint; manual | +| 6 | Summary: encoding/json; ; true; Unmarshal; ; ; Argument[0]; Argument[1]; taint; manual | | 7 | Summary: fmt; ; true; Sprintf; ; ; Argument[1].ArrayElement; ReturnValue; taint; manual | -| 8 | Summary: io/ioutil; ; false; ReadAll; ; ; Argument[0]; ReturnValue[0]; taint; manual | +| 8 | Summary: io/ioutil; ; true; ReadAll; ; ; Argument[0]; ReturnValue[0]; taint; manual | | 9 | Summary: net/http; Header; true; Get; ; ; Argument[receiver]; ReturnValue; taint; manual | | 10 | Summary: net/url; URL; true; Query; ; ; Argument[receiver]; ReturnValue; taint; manual | nodes diff --git a/go/ql/test/query-tests/Security/CWE-089/StringBreak.expected b/go/ql/test/query-tests/Security/CWE-089/StringBreak.expected index 5deab249337e..8528aa86a129 100644 --- a/go/ql/test/query-tests/Security/CWE-089/StringBreak.expected +++ b/go/ql/test/query-tests/Security/CWE-089/StringBreak.expected @@ -11,7 +11,7 @@ edges | StringBreakMismatched.go:25:13:25:61 | call to Replace | StringBreakMismatched.go:29:27:29:33 | escaped | provenance | | | StringBreakMismatched.go:25:29:25:47 | type conversion | StringBreakMismatched.go:25:13:25:61 | call to Replace | provenance | MaD:1 | models -| 1 | Summary: strings; ; false; Replace; ; ; Argument[0]; ReturnValue; taint; manual | +| 1 | Summary: strings; ; true; Replace; ; ; Argument[0]; ReturnValue; taint; manual | nodes | StringBreak.go:10:2:10:40 | ... := ...[0] | semmle.label | ... := ...[0] | | StringBreak.go:14:47:14:57 | versionJSON | semmle.label | versionJSON | diff --git a/go/ql/test/query-tests/Security/CWE-190/AllocationSizeOverflow.expected b/go/ql/test/query-tests/Security/CWE-190/AllocationSizeOverflow.expected index 3a9de1ebe600..196eaa367188 100644 --- a/go/ql/test/query-tests/Security/CWE-190/AllocationSizeOverflow.expected +++ b/go/ql/test/query-tests/Security/CWE-190/AllocationSizeOverflow.expected @@ -31,7 +31,7 @@ edges | tst.go:34:2:34:30 | ... = ...[0] | tst.go:35:26:35:33 | jsonData | provenance | | | tst.go:35:26:35:33 | jsonData | tst.go:35:22:35:34 | call to len | provenance | Config | models -| 1 | Source: io/ioutil; ; false; ReadFile; ; ; ReturnValue[0]; file; manual | +| 1 | Source: io/ioutil; ; true; ReadFile; ; ; ReturnValue[0]; file; manual | nodes | AllocationSizeOverflow.go:6:2:6:33 | ... := ...[0] | semmle.label | ... := ...[0] | | AllocationSizeOverflow.go:10:10:10:22 | call to len | semmle.label | call to len | diff --git a/go/ql/test/query-tests/Security/CWE-327/UnsafeTLS.expected b/go/ql/test/query-tests/Security/CWE-327/UnsafeTLS.expected index 539e1070af88..9e7c44ec3b41 100644 --- a/go/ql/test/query-tests/Security/CWE-327/UnsafeTLS.expected +++ b/go/ql/test/query-tests/Security/CWE-327/UnsafeTLS.expected @@ -87,9 +87,9 @@ edges | UnsafeTLS.go:450:6:450:48 | selection of TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 | UnsafeTLS.go:449:19:451:5 | slice literal | provenance | | | UnsafeTLS.go:457:6:457:48 | selection of TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 | UnsafeTLS.go:456:19:458:5 | slice literal | provenance | | models -| 1 | Summary: ; ; false; append; ; ; Argument[0].ArrayElement; ReturnValue.ArrayElement; value; manual | -| 2 | Summary: ; ; false; append; ; ; Argument[0]; ReturnValue; taint; manual | -| 3 | Summary: ; ; false; append; ; ; Argument[1].ArrayElement; ReturnValue.ArrayElement; value; manual | +| 1 | Summary: ; ; true; append; ; ; Argument[0].ArrayElement; ReturnValue.ArrayElement; value; manual | +| 2 | Summary: ; ; true; append; ; ; Argument[0]; ReturnValue; taint; manual | +| 3 | Summary: ; ; true; append; ; ; Argument[1].ArrayElement; ReturnValue.ArrayElement; value; manual | nodes | UnsafeTLS.go:21:23:21:23 | 0 | semmle.label | 0 | | UnsafeTLS.go:25:23:25:23 | 0 | semmle.label | 0 | diff --git a/go/ql/test/query-tests/Security/CWE-338/InsecureRandomness/InsecureRandomness.expected b/go/ql/test/query-tests/Security/CWE-338/InsecureRandomness/InsecureRandomness.expected index cf5b484716cd..b4936b77b3dd 100644 --- a/go/ql/test/query-tests/Security/CWE-338/InsecureRandomness/InsecureRandomness.expected +++ b/go/ql/test/query-tests/Security/CWE-338/InsecureRandomness/InsecureRandomness.expected @@ -23,7 +23,7 @@ edges | sample.go:56:29:56:38 | randNumber | sample.go:56:18:56:39 | index expression | provenance | Config | models | 1 | Summary: fmt; ; true; Sprintf; ; ; Argument[1].ArrayElement; ReturnValue; taint; manual | -| 2 | Summary: io; ; false; ReadFull; ; ; Argument[0]; Argument[1]; taint; manual | +| 2 | Summary: io; ; true; ReadFull; ; ; Argument[0]; Argument[1]; taint; manual | nodes | InsecureRandomness.go:12:18:12:40 | call to Intn | semmle.label | call to Intn | | sample.go:15:10:15:64 | call to Sum256 | semmle.label | call to Sum256 | diff --git a/go/ql/test/query-tests/Security/CWE-601/BadRedirectCheck/BadRedirectCheck.expected b/go/ql/test/query-tests/Security/CWE-601/BadRedirectCheck/BadRedirectCheck.expected index 1ac1033433ef..10b4b3f35053 100644 --- a/go/ql/test/query-tests/Security/CWE-601/BadRedirectCheck/BadRedirectCheck.expected +++ b/go/ql/test/query-tests/Security/CWE-601/BadRedirectCheck/BadRedirectCheck.expected @@ -30,7 +30,7 @@ edges | main.go:87:9:87:14 | selection of Path | main.go:91:25:91:39 | call to getTarget2 | provenance | Sink:MaD:1 | models | 1 | Sink: net/http; ; true; Redirect; ; ; Argument[2]; url-redirection[0]; manual | -| 2 | Summary: path; ; false; Clean; ; ; Argument[0]; ReturnValue; taint; manual | +| 2 | Summary: path; ; true; Clean; ; ; Argument[0]; ReturnValue; taint; manual | nodes | BadRedirectCheck.go:3:18:3:22 | argument corresponding to redir | semmle.label | argument corresponding to redir | | BadRedirectCheck.go:3:18:3:22 | definition of redir | semmle.label | definition of redir | diff --git a/go/ql/test/query-tests/Security/CWE-640/EmailInjection.expected b/go/ql/test/query-tests/Security/CWE-640/EmailInjection.expected index ac5985f110d9..864b55a25dbc 100644 --- a/go/ql/test/query-tests/Security/CWE-640/EmailInjection.expected +++ b/go/ql/test/query-tests/Security/CWE-640/EmailInjection.expected @@ -33,8 +33,8 @@ edges models | 1 | Source: net/http; Request; true; Header; ; ; ; remote; manual | | 2 | Source: net/http; Request; true; Referer; ; ; ReturnValue; remote; manual | -| 3 | Summary: github.com/sendgrid/sendgrid-go/helpers/mail; ; false; NewContent; ; ; Argument[1]; ReturnValue; taint; manual | -| 4 | Summary: io; ; false; WriteString; ; ; Argument[1]; Argument[0]; taint; manual | +| 3 | Summary: github.com/sendgrid/sendgrid-go/helpers/mail; ; true; NewContent; ; ; Argument[1]; ReturnValue; taint; manual | +| 4 | Summary: io; ; true; WriteString; ; ; Argument[1]; Argument[0]; taint; manual | | 5 | Summary: net/http; Header; true; Get; ; ; Argument[receiver]; ReturnValue; taint; manual | nodes | EmailBad.go:9:10:9:17 | selection of Header | semmle.label | selection of Header | diff --git a/go/ql/test/query-tests/Security/CWE-643/XPathInjection.expected b/go/ql/test/query-tests/Security/CWE-643/XPathInjection.expected index 3914ab37db4b..d5380ed1e6e2 100644 --- a/go/ql/test/query-tests/Security/CWE-643/XPathInjection.expected +++ b/go/ql/test/query-tests/Security/CWE-643/XPathInjection.expected @@ -138,7 +138,7 @@ models | 35 | Sink: group:xmlpath; ; true; MustCompile; ; ; Argument[0]; xpath-injection; manual | | 36 | Source: net/http; Request; true; Form; ; ; ; remote; manual | | 37 | Summary: net/url; Values; true; Get; ; ; Argument[receiver]; ReturnValue; taint; manual | -| 38 | Summary: strings; ; false; NewReader; ; ; Argument[0]; ReturnValue; taint; manual | +| 38 | Summary: strings; ; true; NewReader; ; ; Argument[0]; ReturnValue; taint; manual | nodes | XPathInjection.go:13:14:13:19 | selection of Form | semmle.label | selection of Form | | XPathInjection.go:13:14:13:35 | call to Get | semmle.label | call to Get | From 44e865114a5ed6c69b102393785aa56cde80fbf3 Mon Sep 17 00:00:00 2001 From: Owen Mansel-Chan Date: Tue, 12 Nov 2024 11:37:07 +0000 Subject: [PATCH 148/347] Add change note --- .../change-notes/2024-11-12-models-as-data-subtypes-true.md | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 go/ql/lib/change-notes/2024-11-12-models-as-data-subtypes-true.md diff --git a/go/ql/lib/change-notes/2024-11-12-models-as-data-subtypes-true.md b/go/ql/lib/change-notes/2024-11-12-models-as-data-subtypes-true.md new file mode 100644 index 000000000000..b1c78815ea37 --- /dev/null +++ b/go/ql/lib/change-notes/2024-11-12-models-as-data-subtypes-true.md @@ -0,0 +1,4 @@ +--- +category: minorAnalysis +--- +* The `subtypes` column has been set to true in all models-as-data models except some tests. This means that existing models will apply in some cases where they didn't before, which may lead to more alerts. From 274d9421a74309d1285dbfd598e3e2346fa2ec49 Mon Sep 17 00:00:00 2001 From: Simon Friis Vindum Date: Tue, 12 Nov 2024 13:15:20 +0100 Subject: [PATCH 149/347] Rust: Cache `getEnclosingCfgScope` --- rust/ql/lib/codeql/rust/elements/internal/AstNodeImpl.qll | 1 + 1 file changed, 1 insertion(+) diff --git a/rust/ql/lib/codeql/rust/elements/internal/AstNodeImpl.qll b/rust/ql/lib/codeql/rust/elements/internal/AstNodeImpl.qll index c198436ea3e0..f2784d058ae7 100644 --- a/rust/ql/lib/codeql/rust/elements/internal/AstNodeImpl.qll +++ b/rust/ql/lib/codeql/rust/elements/internal/AstNodeImpl.qll @@ -46,6 +46,7 @@ module Impl { } /** Gets the CFG scope that encloses this node, if any. */ + cached CfgScope getEnclosingCfgScope() { exists(AstNode p | p = this.getParentNode() | result = p From b3fff05e7d794992af7387b0ec5a4ae786e47505 Mon Sep 17 00:00:00 2001 From: Esben Sparre Andreasen Date: Tue, 12 Nov 2024 10:19:27 +0100 Subject: [PATCH 150/347] chore(actions): most workflows onto artifacts@v4 `ruby-dataset-measure.yml` is not updated yet as it requires aid from the language team. We can presumably disable the workflow during the brownout periods, but a fix will have to be present before the full deprecation happens --- .github/workflows/csv-coverage-metrics.yml | 4 ++-- .../workflows/csv-coverage-pr-artifacts.yml | 10 ++++---- .github/workflows/csv-coverage-timeseries.yml | 2 +- .github/workflows/csv-coverage.yml | 4 ++-- .github/workflows/mad_modelDiff.yml | 4 ++-- .github/workflows/mad_regenerate-models.yml | 2 +- .github/workflows/qhelp-pr-preview.yml | 6 ++--- .github/workflows/ql-for-ql-build.yml | 4 ++-- .../workflows/ql-for-ql-dataset_measure.yml | 6 ++--- .github/workflows/query-list.yml | 2 +- .github/workflows/ruby-build.yml | 24 +++++++++---------- .github/workflows/swift.yml | 2 +- 12 files changed, 35 insertions(+), 35 deletions(-) diff --git a/.github/workflows/csv-coverage-metrics.yml b/.github/workflows/csv-coverage-metrics.yml index 6f1170047bfd..08f0e9883efc 100644 --- a/.github/workflows/csv-coverage-metrics.yml +++ b/.github/workflows/csv-coverage-metrics.yml @@ -37,7 +37,7 @@ jobs: run: | DATABASE="${{ runner.temp }}/java-database" codeql database analyze --format=sarif-latest --output=metrics-java.sarif -- "$DATABASE" ./java/ql/src/Metrics/Summaries/FrameworkCoverage.ql - - uses: actions/upload-artifact@v3 + - uses: actions/upload-artifact@v4 with: name: metrics-java.sarif path: metrics-java.sarif @@ -64,7 +64,7 @@ jobs: run: | DATABASE="${{ runner.temp }}/csharp-database" codeql database analyze --format=sarif-latest --output=metrics-csharp.sarif -- "$DATABASE" ./csharp/ql/src/Metrics/Summaries/FrameworkCoverage.ql - - uses: actions/upload-artifact@v3 + - uses: actions/upload-artifact@v4 with: name: metrics-csharp.sarif path: metrics-csharp.sarif diff --git a/.github/workflows/csv-coverage-pr-artifacts.yml b/.github/workflows/csv-coverage-pr-artifacts.yml index b5baa70321d5..cbd92dd47d75 100644 --- a/.github/workflows/csv-coverage-pr-artifacts.yml +++ b/.github/workflows/csv-coverage-pr-artifacts.yml @@ -71,21 +71,21 @@ jobs: run: | python base/misc/scripts/library-coverage/compare-folders.py out_base out_merge comparison.md - name: Upload CSV package list - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: csv-framework-coverage-merge path: | out_merge/framework-coverage-*.csv out_merge/framework-coverage-*.rst - name: Upload CSV package list - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: csv-framework-coverage-base path: | out_base/framework-coverage-*.csv out_base/framework-coverage-*.rst - name: Upload comparison results - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: comparison path: | @@ -97,7 +97,7 @@ jobs: env: PR_NUMBER: ${{ github.event.pull_request.number }} - name: Upload PR number - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: pr path: pr/ @@ -117,7 +117,7 @@ jobs: GITHUB_TOKEN: ${{ github.token }} PR_NUMBER: ${{ github.event.pull_request.number }} - name: Upload comment ID (if it exists) - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: comment path: comment/ diff --git a/.github/workflows/csv-coverage-timeseries.yml b/.github/workflows/csv-coverage-timeseries.yml index f2e1ed47a3d1..13dc99b162cc 100644 --- a/.github/workflows/csv-coverage-timeseries.yml +++ b/.github/workflows/csv-coverage-timeseries.yml @@ -30,7 +30,7 @@ jobs: run: | python script/misc/scripts/library-coverage/generate-timeseries.py codeqlModels - name: Upload timeseries CSV - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: framework-coverage-timeseries path: framework-coverage-timeseries-*.csv diff --git a/.github/workflows/csv-coverage.yml b/.github/workflows/csv-coverage.yml index 9461ba887f5e..525f4bfb64cf 100644 --- a/.github/workflows/csv-coverage.yml +++ b/.github/workflows/csv-coverage.yml @@ -34,12 +34,12 @@ jobs: run: | python script/misc/scripts/library-coverage/generate-report.py ci codeqlModels script - name: Upload CSV package list - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: framework-coverage-csv path: framework-coverage-*.csv - name: Upload RST package list - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: framework-coverage-rst path: framework-coverage-*.rst diff --git a/.github/workflows/mad_modelDiff.yml b/.github/workflows/mad_modelDiff.yml index 62cb57fd9353..4985af47f71f 100644 --- a/.github/workflows/mad_modelDiff.yml +++ b/.github/workflows/mad_modelDiff.yml @@ -93,12 +93,12 @@ jobs: name="diff_${basename/.model.yml/""}" (diff -w -u $m $t | diff2html -i stdin -F $MODELS/$name.html) || true done - - uses: actions/upload-artifact@v3 + - uses: actions/upload-artifact@v4 with: name: models path: tmp-models/**/**/*.model.yml retention-days: 20 - - uses: actions/upload-artifact@v3 + - uses: actions/upload-artifact@v4 with: name: diffs path: tmp-models/*.html diff --git a/.github/workflows/mad_regenerate-models.yml b/.github/workflows/mad_regenerate-models.yml index 1c7d14238f33..61e4f9862433 100644 --- a/.github/workflows/mad_regenerate-models.yml +++ b/.github/workflows/mad_regenerate-models.yml @@ -59,7 +59,7 @@ jobs: find java -name "*.model.yml" -print0 | xargs -0 git add git status git diff --cached > models.patch - - uses: actions/upload-artifact@v3 + - uses: actions/upload-artifact@v4 with: name: patch path: models.patch diff --git a/.github/workflows/qhelp-pr-preview.yml b/.github/workflows/qhelp-pr-preview.yml index db267175d4e9..d4a10b8f5a4e 100644 --- a/.github/workflows/qhelp-pr-preview.yml +++ b/.github/workflows/qhelp-pr-preview.yml @@ -36,7 +36,7 @@ jobs: - run: echo "${PR_NUMBER}" > pr_number.txt env: PR_NUMBER: ${{ github.event.number }} - - uses: actions/upload-artifact@v3 + - uses: actions/upload-artifact@v4 with: name: comment path: pr_number.txt @@ -78,7 +78,7 @@ jobs: exit "${EXIT_CODE}" - if: ${{ !cancelled() }} - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: comment path: comment_body.txt @@ -94,7 +94,7 @@ jobs: GITHUB_TOKEN: ${{ github.token }} PR_NUMBER: ${{ github.event.number }} - - uses: actions/upload-artifact@v3 + - uses: actions/upload-artifact@v4 with: name: comment path: comment_id.txt diff --git a/.github/workflows/ql-for-ql-build.yml b/.github/workflows/ql-for-ql-build.yml index 2082629d9c8f..73833da05491 100644 --- a/.github/workflows/ql-for-ql-build.yml +++ b/.github/workflows/ql-for-ql-build.yml @@ -75,7 +75,7 @@ jobs: sarif_file: ql-for-ql.sarif category: ql-for-ql - name: Sarif as artifact - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: ql-for-ql.sarif path: ql-for-ql.sarif @@ -84,7 +84,7 @@ jobs: mkdir split-sarif node ./ql/scripts/split-sarif.js ql-for-ql.sarif split-sarif - name: Upload langs as artifacts - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: ql-for-ql-langs path: split-sarif diff --git a/.github/workflows/ql-for-ql-dataset_measure.yml b/.github/workflows/ql-for-ql-dataset_measure.yml index e53cce8ff8ea..d133eb0ad350 100644 --- a/.github/workflows/ql-for-ql-dataset_measure.yml +++ b/.github/workflows/ql-for-ql-dataset_measure.yml @@ -65,7 +65,7 @@ jobs: "${CODEQL}" dataset measure --threads 4 --output "stats/${{ matrix.repo }}/stats.xml" "${{ runner.temp }}/database/db-ql" env: CODEQL: ${{ steps.find-codeql.outputs.codeql-path }} - - uses: actions/upload-artifact@v3 + - uses: actions/upload-artifact@v4 with: name: measurements path: stats @@ -76,14 +76,14 @@ jobs: needs: measure steps: - uses: actions/checkout@v4 - - uses: actions/download-artifact@v3 + - uses: actions/download-artifact@v4 with: name: measurements path: stats - run: | python -m pip install --user lxml find stats -name 'stats.xml' -print0 | sort -z | xargs -0 python ruby/scripts/merge_stats.py --output ql/ql/src/ql.dbscheme.stats --normalise ql_tokeninfo - - uses: actions/upload-artifact@v3 + - uses: actions/upload-artifact@v4 with: name: ql.dbscheme.stats path: ql/ql/src/ql.dbscheme.stats diff --git a/.github/workflows/query-list.yml b/.github/workflows/query-list.yml index 233cc8120f51..a286b9b846bf 100644 --- a/.github/workflows/query-list.yml +++ b/.github/workflows/query-list.yml @@ -37,7 +37,7 @@ jobs: run: | python codeql/misc/scripts/generate-code-scanning-query-list.py > code-scanning-query-list.csv - name: Upload code scanning query list - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: code-scanning-query-list path: code-scanning-query-list.csv diff --git a/.github/workflows/ruby-build.yml b/.github/workflows/ruby-build.yml index fcabff5d110e..b1ae2e2b7db1 100644 --- a/.github/workflows/ruby-build.yml +++ b/.github/workflows/ruby-build.yml @@ -92,17 +92,17 @@ jobs: - name: Generate dbscheme if: ${{ matrix.os == 'ubuntu-latest' && steps.cache-extractor.outputs.cache-hit != 'true'}} run: ../target/release/codeql-extractor-ruby generate --dbscheme ql/lib/ruby.dbscheme --library ql/lib/codeql/ruby/ast/internal/TreeSitter.qll - - uses: actions/upload-artifact@v3 + - uses: actions/upload-artifact@v4 if: ${{ matrix.os == 'ubuntu-latest' }} with: name: ruby.dbscheme path: ruby/ql/lib/ruby.dbscheme - - uses: actions/upload-artifact@v3 + - uses: actions/upload-artifact@v4 if: ${{ matrix.os == 'ubuntu-latest' }} with: name: TreeSitter.qll path: ruby/ql/lib/codeql/ruby/ast/internal/TreeSitter.qll - - uses: actions/upload-artifact@v3 + - uses: actions/upload-artifact@v4 with: name: extractor-${{ matrix.os }} path: | @@ -134,7 +134,7 @@ jobs: PACK_FOLDER=$(readlink -f "$PACKS"/codeql/ruby-queries/*) codeql generate query-help --format=sarifv2.1.0 --output="${PACK_FOLDER}/rules.sarif" ql/src (cd ql/src; find queries \( -name '*.qhelp' -o -name '*.rb' -o -name '*.erb' \) -exec bash -c 'mkdir -p "'"${PACK_FOLDER}"'/$(dirname "{}")"' \; -exec cp "{}" "${PACK_FOLDER}/{}" \;) - - uses: actions/upload-artifact@v3 + - uses: actions/upload-artifact@v4 with: name: codeql-ruby-queries path: | @@ -147,19 +147,19 @@ jobs: needs: [build, compile-queries] steps: - uses: actions/checkout@v4 - - uses: actions/download-artifact@v3 + - uses: actions/download-artifact@v4 with: name: ruby.dbscheme path: ruby/ruby - - uses: actions/download-artifact@v3 + - uses: actions/download-artifact@v4 with: name: extractor-ubuntu-latest path: ruby/linux64 - - uses: actions/download-artifact@v3 + - uses: actions/download-artifact@v4 with: name: extractor-windows-latest path: ruby/win64 - - uses: actions/download-artifact@v3 + - uses: actions/download-artifact@v4 with: name: extractor-macos-latest path: ruby/osx64 @@ -172,13 +172,13 @@ jobs: cp win64/codeql-extractor-ruby.exe ruby/tools/win64/extractor.exe chmod +x ruby/tools/{linux64,osx64}/extractor zip -rq codeql-ruby.zip ruby - - uses: actions/upload-artifact@v3 + - uses: actions/upload-artifact@v4 with: name: codeql-ruby-pack path: ruby/codeql-ruby.zip retention-days: 1 include-hidden-files: true - - uses: actions/download-artifact@v3 + - uses: actions/download-artifact@v4 with: name: codeql-ruby-queries path: ruby/qlpacks @@ -190,7 +190,7 @@ jobs: ] }' > .codeqlmanifest.json zip -rq codeql-ruby-bundle.zip .codeqlmanifest.json ruby qlpacks - - uses: actions/upload-artifact@v3 + - uses: actions/upload-artifact@v4 with: name: codeql-ruby-bundle path: ruby/codeql-ruby-bundle.zip @@ -214,7 +214,7 @@ jobs: uses: ./.github/actions/fetch-codeql - name: Download Ruby bundle - uses: actions/download-artifact@v3 + uses: actions/download-artifact@v4 with: name: codeql-ruby-bundle path: ${{ runner.temp }} diff --git a/.github/workflows/swift.yml b/.github/workflows/swift.yml index 174ff08183e2..265fbbe27172 100644 --- a/.github/workflows/swift.yml +++ b/.github/workflows/swift.yml @@ -98,7 +98,7 @@ jobs: - name: Generate C++ files run: | bazel run //swift/codegen:codegen -- --generate=trap,cpp --cpp-output=$PWD/generated-cpp-files - - uses: actions/upload-artifact@v3 + - uses: actions/upload-artifact@v4 with: name: swift-generated-cpp-files path: generated-cpp-files/** From 351daaac8bb8fedee714ed1bb1f926571aa35ef3 Mon Sep 17 00:00:00 2001 From: Esben Sparre Andreasen Date: Tue, 12 Nov 2024 12:19:06 +0100 Subject: [PATCH 151/347] feat(actions/MAD): matrix-unique artifact names --- .github/workflows/mad_modelDiff.yml | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/.github/workflows/mad_modelDiff.yml b/.github/workflows/mad_modelDiff.yml index 4985af47f71f..3d98e74f0fbb 100644 --- a/.github/workflows/mad_modelDiff.yml +++ b/.github/workflows/mad_modelDiff.yml @@ -38,14 +38,20 @@ jobs: path: codeql-main ref: main - uses: ./codeql-main/.github/actions/fetch-codeql + # compute the shortname of the project that does not contain any special (disk) characters + - run: | + echo "SHORTNAME=${SLUG//[^a-zA-Z0-9_]/}" >> $GITHUB_OUTPUT + env: + SLUG: ${{ matrix.slug }} + id: shortname - name: Download database env: SLUG: ${{ matrix.slug }} GH_TOKEN: ${{ github.token }} + SHORTNAME: ${{ steps.shortname.outputs.SHORTNAME }} run: | set -x mkdir lib-dbs - SHORTNAME=${SLUG//[^a-zA-Z0-9_]/} gh api -H "Accept: application/zip" "/repos/${SLUG}/code-scanning/codeql/databases/java" > "$SHORTNAME.zip" unzip -q -d "${SHORTNAME}-db" "${SHORTNAME}.zip" mkdir "lib-dbs/$SHORTNAME/" @@ -95,12 +101,12 @@ jobs: done - uses: actions/upload-artifact@v4 with: - name: models + name: models-${{ steps.shortname.outputs.SHORTNAME }} path: tmp-models/**/**/*.model.yml retention-days: 20 - uses: actions/upload-artifact@v4 with: - name: diffs + name: diffs-${{ steps.shortname.outputs.SHORTNAME }} path: tmp-models/*.html # An html file is only produced if the generated models differ. if-no-files-found: ignore From 2f50d25aaa307a39eb87c85f51433601553911bb Mon Sep 17 00:00:00 2001 From: Esben Sparre Andreasen Date: Tue, 12 Nov 2024 12:23:15 +0100 Subject: [PATCH 152/347] feat(actions/qhelp-preview): unique artifact names --- .github/workflows/post-pr-comment.yml | 7 +++++-- .github/workflows/qhelp-pr-preview.yml | 6 +++--- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/.github/workflows/post-pr-comment.yml b/.github/workflows/post-pr-comment.yml index 7a86909371f8..1c6798bfe80b 100644 --- a/.github/workflows/post-pr-comment.yml +++ b/.github/workflows/post-pr-comment.yml @@ -17,8 +17,11 @@ jobs: post_comment: runs-on: ubuntu-latest steps: - - name: Download artifact - run: gh run download "${WORKFLOW_RUN_ID}" --repo "${GITHUB_REPOSITORY}" --name "comment" + - name: Download artifacts + run: | + gh run download "${WORKFLOW_RUN_ID}" --repo "${GITHUB_REPOSITORY}" --name "comment-pr-number" + gh run download "${WORKFLOW_RUN_ID}" --repo "${GITHUB_REPOSITORY}" --name "comment-body" + gh run download "${WORKFLOW_RUN_ID}" --repo "${GITHUB_REPOSITORY}" --name "comment-id" env: GITHUB_TOKEN: ${{ github.token }} WORKFLOW_RUN_ID: ${{ github.event.workflow_run.id }} diff --git a/.github/workflows/qhelp-pr-preview.yml b/.github/workflows/qhelp-pr-preview.yml index d4a10b8f5a4e..be5a42096bba 100644 --- a/.github/workflows/qhelp-pr-preview.yml +++ b/.github/workflows/qhelp-pr-preview.yml @@ -38,7 +38,7 @@ jobs: PR_NUMBER: ${{ github.event.number }} - uses: actions/upload-artifact@v4 with: - name: comment + name: comment-pr-number path: pr_number.txt if-no-files-found: error retention-days: 1 @@ -80,7 +80,7 @@ jobs: - if: ${{ !cancelled() }} uses: actions/upload-artifact@v4 with: - name: comment + name: comment-body path: comment_body.txt if-no-files-found: error retention-days: 1 @@ -96,7 +96,7 @@ jobs: - uses: actions/upload-artifact@v4 with: - name: comment + name: comment-id path: comment_id.txt if-no-files-found: error retention-days: 1 From 3b2262be3a26df2a21034785f1a7aee19b1344ca Mon Sep 17 00:00:00 2001 From: Arthur Baars Date: Tue, 12 Nov 2024 12:54:20 +0100 Subject: [PATCH 153/347] Update ruby-dataset-measure.yml --- .github/workflows/ruby-dataset-measure.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/ruby-dataset-measure.yml b/.github/workflows/ruby-dataset-measure.yml index d6e3c9216fcf..00e15d3a2f1c 100644 --- a/.github/workflows/ruby-dataset-measure.yml +++ b/.github/workflows/ruby-dataset-measure.yml @@ -54,7 +54,7 @@ jobs: codeql dataset measure --threads 4 --output "stats/${{ matrix.repo }}/stats.xml" "${{ runner.temp }}/database/db-ruby" - uses: actions/upload-artifact@v3 with: - name: measurements + name: measurements-${{ hashFiles('stats/**') }} path: stats retention-days: 1 @@ -65,7 +65,6 @@ jobs: - uses: actions/checkout@v4 - uses: actions/download-artifact@v3 with: - name: measurements path: stats - run: | python -m pip install --user lxml From a70438b72ccf50d4cf54deba1d0405d5275686bf Mon Sep 17 00:00:00 2001 From: Esben Sparre Andreasen Date: Tue, 12 Nov 2024 13:57:27 +0100 Subject: [PATCH 154/347] chore(action): ruby-dataset-measure w artifacts@v4 --- .github/workflows/ruby-dataset-measure.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ruby-dataset-measure.yml b/.github/workflows/ruby-dataset-measure.yml index 00e15d3a2f1c..e3229b158063 100644 --- a/.github/workflows/ruby-dataset-measure.yml +++ b/.github/workflows/ruby-dataset-measure.yml @@ -52,7 +52,7 @@ jobs: run: | mkdir -p "stats/${{ matrix.repo }}" codeql dataset measure --threads 4 --output "stats/${{ matrix.repo }}/stats.xml" "${{ runner.temp }}/database/db-ruby" - - uses: actions/upload-artifact@v3 + - uses: actions/upload-artifact@v4 with: name: measurements-${{ hashFiles('stats/**') }} path: stats @@ -63,13 +63,13 @@ jobs: needs: measure steps: - uses: actions/checkout@v4 - - uses: actions/download-artifact@v3 + - uses: actions/download-artifact@v4 with: path: stats - run: | python -m pip install --user lxml find stats -name 'stats.xml' | sort | xargs python ruby/scripts/merge_stats.py --output ruby/ql/lib/ruby.dbscheme.stats --normalise ruby_tokeninfo - - uses: actions/upload-artifact@v3 + - uses: actions/upload-artifact@v4 with: name: ruby.dbscheme.stats path: ruby/ql/lib/ruby.dbscheme.stats From 78edafc94c26dde3e71469684931677a4ec992fe Mon Sep 17 00:00:00 2001 From: Simon Friis Vindum Date: Tue, 12 Nov 2024 18:40:56 +0100 Subject: [PATCH 155/347] Rust: Include patterns as data flow nodes --- .../lib/codeql/rust/controlflow/CfgNodes.qll | 11 ++++ .../rust/dataflow/internal/DataFlowImpl.qll | 50 ++++++++++++------- .../dataflow/local/DataFlowStep.expected | 7 +++ 3 files changed, 50 insertions(+), 18 deletions(-) diff --git a/rust/ql/lib/codeql/rust/controlflow/CfgNodes.qll b/rust/ql/lib/codeql/rust/controlflow/CfgNodes.qll index 3614035a183e..3947afb12f58 100644 --- a/rust/ql/lib/codeql/rust/controlflow/CfgNodes.qll +++ b/rust/ql/lib/codeql/rust/controlflow/CfgNodes.qll @@ -12,6 +12,9 @@ class AstCfgNode extends CfgNode { AstNode node; AstCfgNode() { node = this.getAstNode() } + + /** Gets the underlying ast node. */ + AstNode getAstNode() { result = node } } /** A CFG node that corresponds to a parameter in the AST. */ @@ -22,6 +25,14 @@ class ParamCfgNode extends AstCfgNode { Param getParam() { result = node } } +/** A CFG node that corresponds to a parameter in the AST. */ +class PatCfgNode extends AstCfgNode { + override Pat node; + + /** Gets the underlying pattern. */ + Pat getPat() { result = node } +} + /** A CFG node that corresponds to an expression in the AST. */ class ExprCfgNode extends AstCfgNode { override Expr node; diff --git a/rust/ql/lib/codeql/rust/dataflow/internal/DataFlowImpl.qll b/rust/ql/lib/codeql/rust/dataflow/internal/DataFlowImpl.qll index 1bc68b69a817..9094915764e7 100644 --- a/rust/ql/lib/codeql/rust/dataflow/internal/DataFlowImpl.qll +++ b/rust/ql/lib/codeql/rust/dataflow/internal/DataFlowImpl.qll @@ -123,6 +123,19 @@ module Node { override Location getLocation() { none() } } + /** A data flow node that corresponds to a CFG node for an AST node. */ + abstract private class AstCfgFlowNode extends Node { + AstCfgNode n; + + override CfgNode getCfgNode() { result = n } + + override CfgScope getCfgScope() { result = n.getAstNode().getEnclosingCallable() } + + override Location getLocation() { result = n.getAstNode().getLocation() } + + override string toString() { result = n.getAstNode().toString() } + } + /** * A node in the data flow graph that corresponds to an expression in the * AST. @@ -131,39 +144,34 @@ module Node { * to multiple `ExprNode`s, just like it may correspond to multiple * `ControlFlow::Node`s. */ - class ExprNode extends Node, TExprNode { - ExprCfgNode n; + class ExprNode extends AstCfgFlowNode, TExprNode { + override ExprCfgNode n; ExprNode() { this = TExprNode(n) } - override CfgScope getCfgScope() { result = this.asExpr().getEnclosingCallable() } - - override Location getLocation() { result = n.getExpr().getLocation() } + override Expr asExpr() { result = n.getExpr() } + } - override string toString() { result = n.getExpr().toString() } + final class PatNode extends AstCfgFlowNode, TPatNode { + override PatCfgNode n; - override Expr asExpr() { result = n.getExpr() } + PatNode() { this = TPatNode(n) } - override CfgNode getCfgNode() { result = n } + /** Gets the Pat in the AST that this node corresponds to. */ + Pat getPat() { result = n.getPat() } } /** * The value of a parameter at function entry, viewed as a node in a data * flow graph. */ - final class ParameterNode extends Node, TParameterNode { - ParamCfgNode parameter; + final class ParameterNode extends AstCfgFlowNode, TParameterNode { + override ParamCfgNode n; - ParameterNode() { this = TParameterNode(parameter) } - - override CfgScope getCfgScope() { result = parameter.getParam().getEnclosingCallable() } - - override Location getLocation() { result = parameter.getLocation() } - - override string toString() { result = parameter.toString() } + ParameterNode() { this = TParameterNode(n) } /** Gets the parameter in the AST that this node corresponds to. */ - Param getParameter() { result = parameter.getParam() } + Param getParameter() { result = n.getParam() } } final class ArgumentNode = NaNode; @@ -281,6 +289,11 @@ module LocalFlow { pragma[nomagic] predicate localFlowStepCommon(Node nodeFrom, Node nodeTo) { nodeFrom.getCfgNode() = getALastEvalNode(nodeTo.getCfgNode()) + or + exists(LetStmt s | + nodeFrom.getCfgNode().getAstNode() = s.getInitializer() and + nodeTo.getCfgNode().getAstNode() = s.getPat() + ) } } @@ -485,6 +498,7 @@ private module Cached { newtype TNode = TExprNode(ExprCfgNode n) or TParameterNode(ParamCfgNode p) or + TPatNode(PatCfgNode p) or TSsaNode(SsaImpl::DataFlowIntegration::SsaNode node) cached diff --git a/rust/ql/test/library-tests/dataflow/local/DataFlowStep.expected b/rust/ql/test/library-tests/dataflow/local/DataFlowStep.expected index 1faa79ed4583..a9631f78affe 100644 --- a/rust/ql/test/library-tests/dataflow/local/DataFlowStep.expected +++ b/rust/ql/test/library-tests/dataflow/local/DataFlowStep.expected @@ -1,18 +1,25 @@ | main.rs:2:9:2:9 | [SSA] s | main.rs:3:33:3:33 | s | +| main.rs:2:13:2:19 | "Hello" | main.rs:2:9:2:9 | s | | main.rs:6:18:6:21 | [SSA] cond | main.rs:9:16:9:19 | cond | | main.rs:7:9:7:9 | [SSA] a | main.rs:10:9:10:9 | a | +| main.rs:7:13:7:13 | 1 | main.rs:7:9:7:9 | a | | main.rs:8:9:8:9 | [SSA] b | main.rs:12:9:12:9 | b | +| main.rs:8:13:8:13 | 2 | main.rs:8:9:8:9 | b | | main.rs:9:9:9:9 | [SSA] c | main.rs:14:5:14:5 | c | +| main.rs:9:13:13:5 | IfExpr | main.rs:9:9:9:9 | c | | main.rs:9:21:11:5 | BlockExpr | main.rs:9:13:13:5 | IfExpr | | main.rs:10:9:10:9 | a | main.rs:9:21:11:5 | BlockExpr | | main.rs:11:12:13:5 | BlockExpr | main.rs:9:13:13:5 | IfExpr | | main.rs:12:9:12:9 | b | main.rs:11:12:13:5 | BlockExpr | | main.rs:14:5:14:5 | c | main.rs:6:37:15:1 | BlockExpr | | main.rs:18:9:18:9 | [SSA] a | main.rs:20:15:20:15 | a | +| main.rs:18:13:18:13 | 1 | main.rs:18:9:18:9 | a | | main.rs:19:9:19:9 | [SSA] b | main.rs:22:5:22:5 | b | +| main.rs:19:13:21:5 | LoopExpr | main.rs:19:9:19:9 | b | | main.rs:20:9:20:15 | BreakExpr | main.rs:19:13:21:5 | LoopExpr | | main.rs:20:15:20:15 | a | main.rs:20:9:20:15 | BreakExpr | | main.rs:22:5:22:5 | b | main.rs:17:29:23:1 | BlockExpr | +| main.rs:26:17:26:17 | 1 | main.rs:26:9:26:13 | i | | main.rs:27:5:27:5 | [SSA] i | main.rs:28:5:28:5 | i | | main.rs:27:5:27:5 | i | main.rs:27:5:27:5 | [SSA] i | | main.rs:28:5:28:5 | i | main.rs:25:24:29:1 | BlockExpr | From ef18a6e56265d7d5d2cf8501caab5cd0c797372a Mon Sep 17 00:00:00 2001 From: Napalys Klicius Date: Wed, 13 Nov 2024 08:29:18 +0100 Subject: [PATCH 156/347] Remove toReversed and toSorted func prototypes from extern.js. --- .../NodeJS/DubiousImport/externs.js | 21 ------------------- 1 file changed, 21 deletions(-) diff --git a/javascript/ql/test/query-tests/NodeJS/DubiousImport/externs.js b/javascript/ql/test/query-tests/NodeJS/DubiousImport/externs.js index d82d79c71773..bd8e36c10e35 100644 --- a/javascript/ql/test/query-tests/NodeJS/DubiousImport/externs.js +++ b/javascript/ql/test/query-tests/NodeJS/DubiousImport/externs.js @@ -333,15 +333,6 @@ Array.prototype.push = function(var_args) {}; */ Array.prototype.reverse = function() {}; -/** - * Returns a new array with the elements in reversed order. - * - * @this {{length: number}} - * @template T - * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/toReversed - */ -Array.prototype.toReversed = function() {}; - /** * Removes the first element from an array and returns that element. This * method changes the length of the array. @@ -380,18 +371,6 @@ Array.prototype.slice = function(opt_begin, opt_end) {}; */ Array.prototype.sort = function(opt_compareFunction) {}; -/** - * Returns a new array with the elements sorted. - * - * @param {function(T,T):number=} opt_compareFunction Specifies a function that - * defines the sort order. If omitted, the array elements are converted to strings, - * then sorted according to each character's Unicode code point value. - * @this {{length: number}|Array.} - * @template T - * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/toSorted - */ -Array.prototype.toSorted = function(opt_compareFunction) {}; - /** * Changes the content of an array, adding new elements while removing old * elements. From a65f80ef76482637904030c43cbb91c35fd4ab5c Mon Sep 17 00:00:00 2001 From: Napalys Date: Wed, 13 Nov 2024 12:28:14 +0100 Subject: [PATCH 157/347] Added basic taint tracking test for Array.prototype.toSpliced() --- javascript/ql/test/library-tests/TaintTracking/tst.js | 1 + 1 file changed, 1 insertion(+) diff --git a/javascript/ql/test/library-tests/TaintTracking/tst.js b/javascript/ql/test/library-tests/TaintTracking/tst.js index 475e6fdbff0e..151dcaa605a4 100644 --- a/javascript/ql/test/library-tests/TaintTracking/tst.js +++ b/javascript/ql/test/library-tests/TaintTracking/tst.js @@ -59,4 +59,5 @@ function test() { tagged`foo ${"safe"} bar ${x} baz`; sink(x.reverse()); // NOT OK + sink(x.toSpliced()); // NOT OK -- Should be caught, but it is not } From b4c84d3d3c18b149d1b2f8b2c0861849aa54c0d7 Mon Sep 17 00:00:00 2001 From: Napalys Date: Wed, 13 Nov 2024 12:31:02 +0100 Subject: [PATCH 158/347] Added taint step for toSpliced, handles test from a65f80ef76482637904030c43cbb91c35fd4ab5c --- javascript/ql/lib/semmle/javascript/Arrays.qll | 2 +- .../library-tests/TaintTracking/BasicTaintTracking.expected | 1 + javascript/ql/test/library-tests/TaintTracking/tst.js | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/javascript/ql/lib/semmle/javascript/Arrays.qll b/javascript/ql/lib/semmle/javascript/Arrays.qll index ebff3d97a981..bb49fc1fb372 100644 --- a/javascript/ql/lib/semmle/javascript/Arrays.qll +++ b/javascript/ql/lib/semmle/javascript/Arrays.qll @@ -86,7 +86,7 @@ module ArrayTaintTracking { succ.(DataFlow::SourceNode).getAMethodCall("splice") = call or // `e = array.pop()`, `e = array.shift()`, or similar: if `array` is tainted, then so is `e`. - call.(DataFlow::MethodCallNode).calls(pred, ["pop", "shift", "slice", "splice", "at"]) and + call.(DataFlow::MethodCallNode).calls(pred, ["pop", "shift", "slice", "splice", "at", "toSpliced"]) and succ = call or // `e = Array.from(x)`: if `x` is tainted, then so is `e`. diff --git a/javascript/ql/test/library-tests/TaintTracking/BasicTaintTracking.expected b/javascript/ql/test/library-tests/TaintTracking/BasicTaintTracking.expected index b1f3e7b26bda..b527f892dd03 100644 --- a/javascript/ql/test/library-tests/TaintTracking/BasicTaintTracking.expected +++ b/javascript/ql/test/library-tests/TaintTracking/BasicTaintTracking.expected @@ -234,6 +234,7 @@ typeInferenceMismatch | tst.js:2:13:2:20 | source() | tst.js:51:10:51:31 | seriali ... ript(x) | | tst.js:2:13:2:20 | source() | tst.js:54:14:54:19 | unsafe | | tst.js:2:13:2:20 | source() | tst.js:61:10:61:20 | x.reverse() | +| tst.js:2:13:2:20 | source() | tst.js:62:10:62:22 | x.toSpliced() | | xml.js:5:18:5:25 | source() | xml.js:8:14:8:17 | text | | xml.js:12:17:12:24 | source() | xml.js:13:14:13:19 | result | | xml.js:23:18:23:25 | source() | xml.js:20:14:20:17 | attr | diff --git a/javascript/ql/test/library-tests/TaintTracking/tst.js b/javascript/ql/test/library-tests/TaintTracking/tst.js index 151dcaa605a4..f100c3165b26 100644 --- a/javascript/ql/test/library-tests/TaintTracking/tst.js +++ b/javascript/ql/test/library-tests/TaintTracking/tst.js @@ -59,5 +59,5 @@ function test() { tagged`foo ${"safe"} bar ${x} baz`; sink(x.reverse()); // NOT OK - sink(x.toSpliced()); // NOT OK -- Should be caught, but it is not + sink(x.toSpliced()); // NOT OK } From 2d9bc43506725685502608a861a90a4e19f849a9 Mon Sep 17 00:00:00 2001 From: Napalys Date: Wed, 13 Nov 2024 12:58:24 +0100 Subject: [PATCH 159/347] Added tests for arrays toSpliced with pop --- javascript/ql/test/library-tests/Arrays/arrays.js | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/javascript/ql/test/library-tests/Arrays/arrays.js b/javascript/ql/test/library-tests/Arrays/arrays.js index 9806ec2e395d..f7e91d4c6eb9 100644 --- a/javascript/ql/test/library-tests/Arrays/arrays.js +++ b/javascript/ql/test/library-tests/Arrays/arrays.js @@ -94,4 +94,17 @@ sink(["source"].filter((x) => x)); // NOT OK sink(["source"].filter((x) => !!x)); // NOT OK + + var arr8 = []; + arr8 = arr8.toSpliced(0, 0, "source"); + sink(arr8.pop()); // NOT OK -- Should be considered tainted, but it is not + + var arr8_variant = []; + arr8_variant = arr8_variant.toSpliced(0, 0, "safe", "source"); + arr8_variant.pop(); + sink(arr8_variant.pop()); // NOT OK -- Should be considered tainted, but it is not + + var arr8_spread = []; + arr8_spread = arr8_spread.toSpliced(0, 0, ...arr); + sink(arr8_spread.pop()); // NOT OK -- Should be considered tainted, but it is not }); From a66f8209f9cdbddd644c8eac27122b3bd39f092e Mon Sep 17 00:00:00 2001 From: Cornelius Riemenschneider Date: Wed, 13 Nov 2024 12:44:26 +0100 Subject: [PATCH 160/347] Rust: Vendor 3rdparty dependencies. We've been observing some performance issues using crate_universe on CI. Therefore, we're moving to vendor the auto-generated BUILD files in our repository. This should provide a nice speed boost, while getting rid of the complexity of the "rust cache" job we've been using when we had a lot of git dependencies. This PR includes a vendor script, and I'll put up a CI job internally that runs that vendor script on Cargo.toml and Cargo.lock changes, to check that the vendored files are in sync. --- .bazelrc | 1 - .bazelrc.internal | 1 - BUILD.bazel | 6 +- MODULE.bazel | 65 +- misc/bazel/3rdparty/.gitattributes | 2 + misc/bazel/3rdparty/BUILD.bazel | 34 + .../3rdparty/py_deps/BUILD.ahash-0.4.7.bazel | 81 + .../py_deps/BUILD.aho-corasick-0.7.18.bazel | 88 + .../py_deps/BUILD.ansi_term-0.11.0.bazel | 93 + .../py_deps/BUILD.anyhow-1.0.44.bazel | 148 + .../3rdparty/py_deps/BUILD.atty-0.2.14.bazel | 165 + misc/bazel/3rdparty/py_deps/BUILD.bazel | 86 + .../py_deps/BUILD.bitflags-1.3.2.bazel | 84 + .../3rdparty/py_deps/BUILD.cc-1.0.70.bazel | 81 + .../3rdparty/py_deps/BUILD.cfg-if-1.0.0.bazel | 81 + .../3rdparty/py_deps/BUILD.clap-2.33.3.bazel | 193 + .../py_deps/BUILD.hashbrown-0.9.1.bazel | 88 + .../py_deps/BUILD.hermit-abi-0.1.19.bazel | 84 + .../3rdparty/py_deps/BUILD.itoa-1.0.1.bazel | 81 + .../3rdparty/py_deps/BUILD.libc-0.2.101.bazel | 140 + .../3rdparty/py_deps/BUILD.log-0.4.14.bazel | 141 + .../3rdparty/py_deps/BUILD.memchr-2.4.1.bazel | 148 + .../py_deps/BUILD.proc-macro2-1.0.29.bazel | 149 + .../3rdparty/py_deps/BUILD.quote-1.0.9.bazel | 88 + .../3rdparty/py_deps/BUILD.regex-1.5.5.bazel | 105 + .../py_deps/BUILD.regex-syntax-0.6.25.bazel | 92 + .../3rdparty/py_deps/BUILD.ryu-1.0.9.bazel | 81 + .../py_deps/BUILD.serde-1.0.136.bazel | 148 + .../py_deps/BUILD.serde_json-1.0.79.bazel | 151 + .../py_deps/BUILD.smallvec-1.6.1.bazel | 84 + .../BUILD.string-interner-0.12.2.bazel | 90 + .../3rdparty/py_deps/BUILD.strsim-0.8.0.bazel | 81 + .../3rdparty/py_deps/BUILD.syn-1.0.76.bazel | 161 + .../py_deps/BUILD.textwrap-0.11.0.bazel | 84 + .../py_deps/BUILD.thiserror-1.0.29.bazel | 84 + .../py_deps/BUILD.thiserror-impl-1.0.29.bazel | 86 + .../py_deps/BUILD.tree-sitter-0.20.4.bazel | 144 + .../BUILD.tree-sitter-graph-0.7.0.bazel | 91 + .../py_deps/BUILD.unicode-width-0.1.8.bazel | 84 + .../py_deps/BUILD.unicode-xid-0.2.2.bazel | 84 + .../py_deps/BUILD.vec_map-0.8.2.bazel | 81 + .../3rdparty/py_deps/BUILD.winapi-0.3.9.bazel | 154 + ...ILD.winapi-i686-pc-windows-gnu-0.4.0.bazel | 140 + ...D.winapi-x86_64-pc-windows-gnu-0.4.0.bazel | 140 + misc/bazel/3rdparty/py_deps/alias_rules.bzl | 47 + misc/bazel/3rdparty/py_deps/crates.bzl | 32 + misc/bazel/3rdparty/py_deps/defs.bzl | 832 ++++ misc/bazel/3rdparty/py_deps_extension.bzl | 15 + .../BUILD.adler2-2.0.0.bazel | 81 + .../BUILD.aho-corasick-1.1.3.bazel | 89 + .../BUILD.always-assert-0.2.0.bazel | 87 + .../BUILD.android-tzdata-0.1.1.bazel | 81 + ...UILD.android_system_properties-0.1.5.bazel | 84 + .../BUILD.anstream-0.6.18.bazel | 105 + .../BUILD.anstyle-1.0.10.bazel | 85 + .../BUILD.anstyle-parse-0.2.6.bazel | 88 + .../BUILD.anstyle-query-1.1.2.bazel | 93 + .../BUILD.anstyle-wincon-3.0.6.bazel | 95 + .../BUILD.anyhow-1.0.93.bazel | 148 + .../BUILD.argfile-0.2.1.bazel | 88 + .../BUILD.arrayvec-0.7.6.bazel | 85 + .../BUILD.atomic-0.6.0.bazel | 88 + .../BUILD.autocfg-1.4.0.bazel | 81 + .../BUILD.base64-0.22.1.bazel | 81 + .../tree_sitter_extractors_deps/BUILD.bazel | 308 ++ .../BUILD.bitflags-1.3.2.bazel | 84 + .../BUILD.bitflags-2.6.0.bazel | 81 + .../BUILD.bstr-1.10.0.bazel | 88 + .../BUILD.bumpalo-3.16.0.bazel | 84 + .../BUILD.bytemuck-1.19.0.bazel | 81 + .../BUILD.byteorder-1.5.0.bazel | 81 + .../BUILD.camino-1.1.9.bazel | 149 + .../BUILD.cargo-platform-0.1.8.bazel | 84 + .../BUILD.cargo_metadata-0.18.1.bazel | 92 + .../BUILD.cc-1.1.37.bazel | 84 + .../BUILD.cfg-if-1.0.0.bazel | 81 + .../BUILD.chalk-derive-0.98.0.bazel | 87 + .../BUILD.chalk-ir-0.98.0.bazel | 87 + .../BUILD.chalk-recursive-0.98.0.bazel | 90 + .../BUILD.chalk-solve-0.98.0.bazel | 93 + .../BUILD.chrono-0.4.38.bazel | 192 + .../BUILD.clap-4.5.20.bazel | 97 + .../BUILD.clap_builder-4.5.20.bazel | 95 + .../BUILD.clap_derive-4.5.18.bazel | 90 + .../BUILD.clap_lex-0.7.2.bazel | 81 + .../BUILD.colorchoice-1.0.3.bazel | 81 + .../BUILD.core-foundation-sys-0.8.7.bazel | 85 + .../BUILD.countme-3.0.1.bazel | 81 + .../BUILD.cov-mark-2.0.0.bazel | 85 + .../BUILD.crc32fast-1.4.2.bazel | 88 + .../BUILD.crossbeam-channel-0.5.13.bazel | 88 + .../BUILD.crossbeam-deque-0.8.5.bazel | 89 + .../BUILD.crossbeam-epoch-0.9.18.bazel | 88 + .../BUILD.crossbeam-utils-0.8.20.bazel | 148 + .../BUILD.darling-0.20.10.bazel | 91 + .../BUILD.darling_core-0.20.10.bazel | 93 + .../BUILD.darling_macro-0.20.10.bazel | 86 + .../BUILD.dashmap-5.5.3.bazel | 91 + .../BUILD.deranged-0.3.11.bazel | 81 + .../BUILD.drop_bomb-0.1.5.bazel | 81 + .../BUILD.either-1.13.0.bazel | 85 + .../BUILD.ena-0.14.3.bazel | 84 + .../BUILD.encoding-0.2.33.bazel | 88 + ...encoding-index-japanese-1.20141219.5.bazel | 84 + ...D.encoding-index-korean-1.20141219.5.bazel | 84 + ...oding-index-simpchinese-1.20141219.5.bazel | 84 + ...coding-index-singlebyte-1.20141219.5.bazel | 84 + ...oding-index-tradchinese-1.20141219.5.bazel | 84 + .../BUILD.encoding_index_tests-0.1.4.bazel | 81 + .../BUILD.equivalent-1.0.1.bazel | 81 + .../BUILD.figment-0.10.19.bazel | 205 + .../BUILD.filetime-0.2.25.bazel | 167 + .../BUILD.fixedbitset-0.4.2.bazel | 81 + .../BUILD.flate2-1.0.34.bazel | 91 + .../BUILD.fnv-1.0.7.bazel | 85 + .../BUILD.fs-err-2.11.0.bazel | 143 + .../BUILD.fsevent-sys-4.1.0.bazel | 84 + .../BUILD.fst-0.4.7.bazel | 146 + .../BUILD.getrandom-0.2.15.bazel | 164 + .../BUILD.glob-0.3.1.bazel | 81 + .../BUILD.globset-0.4.15.bazel | 92 + .../BUILD.hashbrown-0.12.3.bazel | 81 + .../BUILD.hashbrown-0.14.5.bazel | 84 + .../BUILD.hashbrown-0.15.1.bazel | 81 + .../BUILD.heck-0.4.1.bazel | 84 + .../BUILD.heck-0.5.0.bazel | 81 + .../BUILD.hermit-abi-0.3.9.bazel | 81 + .../BUILD.hermit-abi-0.4.0.bazel | 81 + .../BUILD.hex-0.4.3.bazel | 81 + .../BUILD.home-0.5.9.bazel | 93 + .../BUILD.iana-time-zone-0.1.61.bazel | 130 + .../BUILD.iana-time-zone-haiku-0.1.2.bazel | 143 + .../BUILD.ident_case-1.0.1.bazel | 81 + .../BUILD.indexmap-1.9.3.bazel | 144 + .../BUILD.indexmap-2.6.0.bazel | 89 + .../BUILD.inlinable_string-0.1.15.bazel | 81 + .../BUILD.inotify-0.9.6.bazel | 86 + .../BUILD.inotify-sys-0.1.5.bazel | 84 + .../BUILD.is-terminal-0.4.13.bazel | 168 + .../BUILD.is_terminal_polyfill-1.70.1.bazel | 84 + .../BUILD.itertools-0.10.5.bazel | 89 + .../BUILD.itertools-0.12.1.bazel | 89 + .../BUILD.itertools-0.13.0.bazel | 89 + .../BUILD.itoa-1.0.11.bazel | 81 + .../BUILD.jod-thread-0.1.2.bazel | 81 + .../BUILD.js-sys-0.3.72.bazel | 84 + .../BUILD.kqueue-1.0.8.bazel | 85 + .../BUILD.kqueue-sys-1.0.4.bazel | 85 + .../BUILD.la-arena-0.3.1.bazel | 81 + .../BUILD.lazy_static-1.5.0.bazel | 81 + .../BUILD.libc-0.2.162.bazel | 148 + .../BUILD.libredox-0.1.3.bazel | 86 + .../BUILD.line-index-0.1.2.bazel | 85 + .../BUILD.lock_api-0.4.12.bazel | 152 + .../BUILD.log-0.4.22.bazel | 84 + .../BUILD.lz4_flex-0.11.3.bazel | 81 + .../BUILD.matchers-0.1.0.bazel | 84 + .../BUILD.memchr-2.7.4.bazel | 86 + .../BUILD.memoffset-0.9.1.bazel | 149 + .../BUILD.miniz_oxide-0.8.0.bazel | 87 + .../BUILD.mio-0.8.11.bazel | 177 + .../BUILD.miow-0.6.0.bazel | 84 + .../BUILD.nohash-hasher-0.2.0.bazel | 85 + .../BUILD.notify-6.1.1.bazel | 177 + .../BUILD.nu-ansi-term-0.46.0.bazel | 95 + .../BUILD.num-conv-0.1.0.bazel | 81 + .../BUILD.num-traits-0.2.19.bazel | 151 + .../BUILD.num_cpus-1.16.0.bazel | 177 + .../BUILD.once_cell-1.20.2.bazel | 87 + .../BUILD.oorandom-11.1.4.bazel | 81 + .../BUILD.os_str_bytes-7.0.0.bazel | 89 + .../BUILD.overload-0.1.1.bazel | 81 + .../BUILD.parking_lot-0.12.3.bazel | 88 + .../BUILD.parking_lot_core-0.9.10.bazel | 225 ++ .../BUILD.pear-0.2.9.bazel | 93 + .../BUILD.pear_codegen-0.2.9.bazel | 87 + .../BUILD.perf-event-0.4.7.bazel | 85 + .../BUILD.perf-event-open-sys-1.0.1.bazel | 84 + .../BUILD.petgraph-0.6.5.bazel | 91 + .../BUILD.pin-project-lite-0.2.15.bazel | 81 + .../BUILD.powerfmt-0.2.0.bazel | 81 + .../BUILD.ppv-lite86-0.2.20.bazel | 88 + .../BUILD.proc-macro2-1.0.89.bazel | 149 + ...BUILD.proc-macro2-diagnostics-0.10.1.bazel | 157 + .../BUILD.quote-1.0.37.bazel | 88 + .../BUILD.ra-ap-rustc_abi-0.63.0.bazel | 89 + .../BUILD.ra-ap-rustc_index-0.63.0.bazel | 91 + ...UILD.ra-ap-rustc_index_macros-0.63.0.bazel | 86 + .../BUILD.ra-ap-rustc_lexer-0.63.0.bazel | 85 + ...UILD.ra-ap-rustc_parse_format-0.63.0.bazel | 89 + ....ra-ap-rustc_pattern_analysis-0.63.0.bazel | 91 + .../BUILD.ra_ap_base_db-0.0.232.bazel | 104 + .../BUILD.ra_ap_cfg-0.0.232.bazel | 93 + .../BUILD.ra_ap_hir-0.0.232.bazel | 112 + .../BUILD.ra_ap_hir_def-0.0.232.bazel | 123 + .../BUILD.ra_ap_hir_expand-0.0.232.bazel | 116 + .../BUILD.ra_ap_hir_ty-0.0.232.bazel | 127 + .../BUILD.ra_ap_ide_db-0.0.232.bazel | 118 + .../BUILD.ra_ap_intern-0.0.232.bazel | 88 + .../BUILD.ra_ap_limit-0.0.232.bazel | 81 + .../BUILD.ra_ap_load-cargo-0.0.232.bazel | 109 + .../BUILD.ra_ap_mbe-0.0.232.bazel | 104 + .../BUILD.ra_ap_parser-0.0.232.bazel | 94 + .../BUILD.ra_ap_paths-0.0.232.bazel | 88 + .../BUILD.ra_ap_proc_macro_api-0.0.232.bazel | 102 + .../BUILD.ra_ap_profile-0.0.232.bazel | 123 + .../BUILD.ra_ap_project_model-0.0.232.bazel | 109 + .../BUILD.ra_ap_salsa-0.0.232.bazel | 95 + .../BUILD.ra_ap_salsa-macros-0.0.232.bazel | 87 + .../BUILD.ra_ap_span-0.0.232.bazel | 96 + .../BUILD.ra_ap_stdx-0.0.232.bazel | 102 + .../BUILD.ra_ap_syntax-0.0.232.bazel | 101 + .../BUILD.ra_ap_syntax-bridge-0.0.232.bazel | 99 + .../BUILD.ra_ap_text_edit-0.0.232.bazel | 85 + .../BUILD.ra_ap_toolchain-0.0.232.bazel | 85 + .../BUILD.ra_ap_tt-0.0.232.bazel | 92 + .../BUILD.ra_ap_vfs-0.0.232.bazel | 95 + .../BUILD.ra_ap_vfs-notify-0.0.232.bazel | 97 + .../BUILD.rand-0.8.5.bazel | 168 + .../BUILD.rand_chacha-0.3.1.bazel | 88 + .../BUILD.rand_core-0.6.4.bazel | 89 + .../BUILD.rayon-1.10.0.bazel | 85 + .../BUILD.rayon-core-1.12.1.bazel | 143 + .../BUILD.redox_syscall-0.5.7.bazel | 84 + .../BUILD.regex-1.11.1.bazel | 106 + .../BUILD.regex-automata-0.1.10.bazel | 89 + .../BUILD.regex-automata-0.4.8.bazel | 112 + .../BUILD.regex-syntax-0.6.29.bazel | 92 + .../BUILD.regex-syntax-0.8.5.bazel | 93 + .../BUILD.rowan-0.15.15.bazel | 88 + .../BUILD.rustc-hash-1.1.0.bazel | 85 + ...ustc_apfloat-0.2.1+llvm-462a31f5a5ab.bazel | 142 + .../BUILD.ryu-1.0.18.bazel | 81 + .../BUILD.same-file-1.0.6.bazel | 93 + .../BUILD.scoped-tls-1.0.1.bazel | 81 + .../BUILD.scopeguard-1.2.0.bazel | 81 + .../BUILD.semver-1.0.23.bazel | 151 + .../BUILD.serde-1.0.214.bazel | 157 + .../BUILD.serde_derive-1.0.214.bazel | 89 + .../BUILD.serde_json-1.0.132.bazel | 154 + .../BUILD.serde_with-3.11.0.bazel | 94 + .../BUILD.serde_with_macros-3.11.0.bazel | 87 + .../BUILD.serde_yaml-0.9.34+deprecated.bazel | 88 + .../BUILD.sharded-slab-0.1.7.bazel | 84 + .../BUILD.shlex-1.3.0.bazel | 85 + .../BUILD.smallvec-1.13.2.bazel | 86 + .../BUILD.smol_str-0.2.2.bazel | 85 + .../BUILD.sptr-0.3.2.bazel | 84 + .../BUILD.stable_deref_trait-1.2.0.bazel | 81 + .../BUILD.stderrlog-0.6.0.bazel | 93 + .../BUILD.streaming-iterator-0.1.9.bazel | 81 + .../BUILD.strsim-0.11.1.bazel | 81 + .../BUILD.syn-2.0.87.bazel | 98 + .../BUILD.synstructure-0.13.1.bazel | 90 + .../BUILD.termcolor-1.1.3.bazel | 93 + .../BUILD.text-size-1.1.1.bazel | 81 + .../BUILD.thiserror-1.0.69.bazel | 143 + .../BUILD.thiserror-impl-1.0.69.bazel | 86 + .../BUILD.thread_local-1.1.8.bazel | 85 + .../BUILD.time-0.3.36.bazel | 87 + .../BUILD.time-core-0.1.2.bazel | 81 + .../BUILD.time-macros-0.2.18.bazel | 85 + .../BUILD.tracing-0.1.40.bazel | 94 + .../BUILD.tracing-attributes-0.1.27.bazel | 86 + .../BUILD.tracing-core-0.1.32.bazel | 89 + .../BUILD.tracing-log-0.2.0.bazel | 90 + .../BUILD.tracing-subscriber-0.3.18.bazel | 111 + .../BUILD.tree-sitter-0.24.4.bazel | 156 + ...tree-sitter-embedded-template-0.23.2.bazel | 144 + .../BUILD.tree-sitter-json-0.24.8.bazel | 144 + .../BUILD.tree-sitter-language-0.1.2.bazel | 81 + .../BUILD.tree-sitter-ql-0.23.1.bazel | 144 + .../BUILD.tree-sitter-ruby-0.23.1.bazel | 144 + .../BUILD.triomphe-0.1.14.bazel | 91 + .../BUILD.typed-arena-2.0.2.bazel | 85 + .../BUILD.uncased-0.9.10.bazel | 151 + .../BUILD.ungrammar-1.16.1.bazel | 81 + .../BUILD.unicode-ident-1.0.13.bazel | 81 + .../BUILD.unicode-properties-0.1.3.bazel | 84 + .../BUILD.unicode-xid-0.2.6.bazel | 84 + .../BUILD.unsafe-libyaml-0.2.11.bazel | 81 + .../BUILD.utf8parse-0.2.2.bazel | 84 + .../BUILD.valuable-0.1.0.bazel | 140 + .../BUILD.version_check-0.9.5.bazel | 81 + .../BUILD.walkdir-2.5.0.bazel | 95 + ...D.wasi-0.11.0+wasi-snapshot-preview1.bazel | 81 + .../BUILD.wasm-bindgen-0.2.95.bazel | 155 + .../BUILD.wasm-bindgen-backend-0.2.95.bazel | 93 + .../BUILD.wasm-bindgen-macro-0.2.95.bazel | 88 + ...LD.wasm-bindgen-macro-support-0.2.95.bazel | 91 + .../BUILD.wasm-bindgen-shared-0.2.95.bazel | 141 + .../BUILD.winapi-0.3.9.bazel | 154 + ...ILD.winapi-i686-pc-windows-gnu-0.4.0.bazel | 140 + .../BUILD.winapi-util-0.1.9.bazel | 93 + ...D.winapi-x86_64-pc-windows-gnu-0.4.0.bazel | 140 + .../BUILD.windows-core-0.52.0.bazel | 84 + .../BUILD.windows-sys-0.48.0.bazel | 99 + .../BUILD.windows-sys-0.52.0.bazel | 98 + .../BUILD.windows-sys-0.59.0.bazel | 94 + .../BUILD.windows-targets-0.48.5.bazel | 102 + .../BUILD.windows-targets-0.52.6.bazel | 102 + ...BUILD.windows_aarch64_gnullvm-0.48.5.bazel | 140 + ...BUILD.windows_aarch64_gnullvm-0.52.6.bazel | 140 + .../BUILD.windows_aarch64_msvc-0.48.5.bazel | 140 + .../BUILD.windows_aarch64_msvc-0.52.6.bazel | 140 + .../BUILD.windows_i686_gnu-0.48.5.bazel | 140 + .../BUILD.windows_i686_gnu-0.52.6.bazel | 140 + .../BUILD.windows_i686_gnullvm-0.52.6.bazel | 140 + .../BUILD.windows_i686_msvc-0.48.5.bazel | 140 + .../BUILD.windows_i686_msvc-0.52.6.bazel | 140 + .../BUILD.windows_x86_64_gnu-0.48.5.bazel | 140 + .../BUILD.windows_x86_64_gnu-0.52.6.bazel | 140 + .../BUILD.windows_x86_64_gnullvm-0.48.5.bazel | 140 + .../BUILD.windows_x86_64_gnullvm-0.52.6.bazel | 140 + .../BUILD.windows_x86_64_msvc-0.48.5.bazel | 140 + .../BUILD.windows_x86_64_msvc-0.52.6.bazel | 140 + .../BUILD.yansi-1.0.1.bazel | 86 + .../BUILD.zerocopy-0.7.35.bazel | 94 + .../BUILD.zerocopy-derive-0.7.35.bazel | 86 + .../alias_rules.bzl | 47 + .../tree_sitter_extractors_deps/crates.bzl | 32 + .../tree_sitter_extractors_deps/defs.bzl | 3354 +++++++++++++++++ .../tree_sitter_extractors_extension.bzl | 15 + misc/bazel/3rdparty/update_cargo_deps.sh | 12 + python/extractor/tsg-python/BUILD.bazel | 7 +- python/extractor/tsg-python/Cargo.toml | 1 + python/extractor/tsg-python/tsp/BUILD.bazel | 4 +- python/extractor/tsg-python/tsp/Cargo.toml | 1 + ruby/extractor/BUILD.bazel | 4 +- ruby/extractor/Cargo.toml | 1 + rust/ast-generator/BUILD.bazel | 8 +- rust/ast-generator/Cargo.toml | 1 + rust/codegen/BUILD.bazel | 2 +- rust/extractor/BUILD.bazel | 4 +- rust/extractor/Cargo.toml | 1 + rust/extractor/macros/BUILD.bazel | 4 +- rust/extractor/macros/Cargo.toml | 1 + shared/tree-sitter-extractor/BUILD.bazel | 4 +- shared/tree-sitter-extractor/Cargo.toml | 1 + 339 files changed, 36471 insertions(+), 47 deletions(-) create mode 100644 misc/bazel/3rdparty/.gitattributes create mode 100644 misc/bazel/3rdparty/BUILD.bazel create mode 100644 misc/bazel/3rdparty/py_deps/BUILD.ahash-0.4.7.bazel create mode 100644 misc/bazel/3rdparty/py_deps/BUILD.aho-corasick-0.7.18.bazel create mode 100644 misc/bazel/3rdparty/py_deps/BUILD.ansi_term-0.11.0.bazel create mode 100644 misc/bazel/3rdparty/py_deps/BUILD.anyhow-1.0.44.bazel create mode 100644 misc/bazel/3rdparty/py_deps/BUILD.atty-0.2.14.bazel create mode 100644 misc/bazel/3rdparty/py_deps/BUILD.bazel create mode 100644 misc/bazel/3rdparty/py_deps/BUILD.bitflags-1.3.2.bazel create mode 100644 misc/bazel/3rdparty/py_deps/BUILD.cc-1.0.70.bazel create mode 100644 misc/bazel/3rdparty/py_deps/BUILD.cfg-if-1.0.0.bazel create mode 100644 misc/bazel/3rdparty/py_deps/BUILD.clap-2.33.3.bazel create mode 100644 misc/bazel/3rdparty/py_deps/BUILD.hashbrown-0.9.1.bazel create mode 100644 misc/bazel/3rdparty/py_deps/BUILD.hermit-abi-0.1.19.bazel create mode 100644 misc/bazel/3rdparty/py_deps/BUILD.itoa-1.0.1.bazel create mode 100644 misc/bazel/3rdparty/py_deps/BUILD.libc-0.2.101.bazel create mode 100644 misc/bazel/3rdparty/py_deps/BUILD.log-0.4.14.bazel create mode 100644 misc/bazel/3rdparty/py_deps/BUILD.memchr-2.4.1.bazel create mode 100644 misc/bazel/3rdparty/py_deps/BUILD.proc-macro2-1.0.29.bazel create mode 100644 misc/bazel/3rdparty/py_deps/BUILD.quote-1.0.9.bazel create mode 100644 misc/bazel/3rdparty/py_deps/BUILD.regex-1.5.5.bazel create mode 100644 misc/bazel/3rdparty/py_deps/BUILD.regex-syntax-0.6.25.bazel create mode 100644 misc/bazel/3rdparty/py_deps/BUILD.ryu-1.0.9.bazel create mode 100644 misc/bazel/3rdparty/py_deps/BUILD.serde-1.0.136.bazel create mode 100644 misc/bazel/3rdparty/py_deps/BUILD.serde_json-1.0.79.bazel create mode 100644 misc/bazel/3rdparty/py_deps/BUILD.smallvec-1.6.1.bazel create mode 100644 misc/bazel/3rdparty/py_deps/BUILD.string-interner-0.12.2.bazel create mode 100644 misc/bazel/3rdparty/py_deps/BUILD.strsim-0.8.0.bazel create mode 100644 misc/bazel/3rdparty/py_deps/BUILD.syn-1.0.76.bazel create mode 100644 misc/bazel/3rdparty/py_deps/BUILD.textwrap-0.11.0.bazel create mode 100644 misc/bazel/3rdparty/py_deps/BUILD.thiserror-1.0.29.bazel create mode 100644 misc/bazel/3rdparty/py_deps/BUILD.thiserror-impl-1.0.29.bazel create mode 100644 misc/bazel/3rdparty/py_deps/BUILD.tree-sitter-0.20.4.bazel create mode 100644 misc/bazel/3rdparty/py_deps/BUILD.tree-sitter-graph-0.7.0.bazel create mode 100644 misc/bazel/3rdparty/py_deps/BUILD.unicode-width-0.1.8.bazel create mode 100644 misc/bazel/3rdparty/py_deps/BUILD.unicode-xid-0.2.2.bazel create mode 100644 misc/bazel/3rdparty/py_deps/BUILD.vec_map-0.8.2.bazel create mode 100644 misc/bazel/3rdparty/py_deps/BUILD.winapi-0.3.9.bazel create mode 100644 misc/bazel/3rdparty/py_deps/BUILD.winapi-i686-pc-windows-gnu-0.4.0.bazel create mode 100644 misc/bazel/3rdparty/py_deps/BUILD.winapi-x86_64-pc-windows-gnu-0.4.0.bazel create mode 100644 misc/bazel/3rdparty/py_deps/alias_rules.bzl create mode 100644 misc/bazel/3rdparty/py_deps/crates.bzl create mode 100644 misc/bazel/3rdparty/py_deps/defs.bzl create mode 100644 misc/bazel/3rdparty/py_deps_extension.bzl create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.adler2-2.0.0.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.aho-corasick-1.1.3.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.always-assert-0.2.0.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.android-tzdata-0.1.1.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.android_system_properties-0.1.5.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.anstream-0.6.18.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.anstyle-1.0.10.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.anstyle-parse-0.2.6.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.anstyle-query-1.1.2.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.anstyle-wincon-3.0.6.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.anyhow-1.0.93.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.argfile-0.2.1.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.arrayvec-0.7.6.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.atomic-0.6.0.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.autocfg-1.4.0.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.base64-0.22.1.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.bitflags-1.3.2.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.bitflags-2.6.0.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.bstr-1.10.0.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.bumpalo-3.16.0.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.bytemuck-1.19.0.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.byteorder-1.5.0.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.camino-1.1.9.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.cargo-platform-0.1.8.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.cargo_metadata-0.18.1.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.cc-1.1.37.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.cfg-if-1.0.0.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.chalk-derive-0.98.0.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.chalk-ir-0.98.0.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.chalk-recursive-0.98.0.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.chalk-solve-0.98.0.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.chrono-0.4.38.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.clap-4.5.20.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.clap_builder-4.5.20.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.clap_derive-4.5.18.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.clap_lex-0.7.2.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.colorchoice-1.0.3.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.core-foundation-sys-0.8.7.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.countme-3.0.1.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.cov-mark-2.0.0.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.crc32fast-1.4.2.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.crossbeam-channel-0.5.13.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.crossbeam-deque-0.8.5.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.crossbeam-epoch-0.9.18.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.crossbeam-utils-0.8.20.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.darling-0.20.10.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.darling_core-0.20.10.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.darling_macro-0.20.10.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.dashmap-5.5.3.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.deranged-0.3.11.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.drop_bomb-0.1.5.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.either-1.13.0.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ena-0.14.3.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.encoding-0.2.33.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.encoding-index-japanese-1.20141219.5.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.encoding-index-korean-1.20141219.5.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.encoding-index-simpchinese-1.20141219.5.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.encoding-index-singlebyte-1.20141219.5.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.encoding-index-tradchinese-1.20141219.5.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.encoding_index_tests-0.1.4.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.equivalent-1.0.1.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.figment-0.10.19.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.filetime-0.2.25.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.fixedbitset-0.4.2.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.flate2-1.0.34.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.fnv-1.0.7.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.fs-err-2.11.0.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.fsevent-sys-4.1.0.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.fst-0.4.7.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.getrandom-0.2.15.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.glob-0.3.1.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.globset-0.4.15.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.hashbrown-0.12.3.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.hashbrown-0.14.5.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.hashbrown-0.15.1.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.heck-0.4.1.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.heck-0.5.0.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.hermit-abi-0.3.9.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.hermit-abi-0.4.0.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.hex-0.4.3.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.home-0.5.9.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.iana-time-zone-0.1.61.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.iana-time-zone-haiku-0.1.2.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ident_case-1.0.1.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.indexmap-1.9.3.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.indexmap-2.6.0.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.inlinable_string-0.1.15.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.inotify-0.9.6.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.inotify-sys-0.1.5.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.is-terminal-0.4.13.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.is_terminal_polyfill-1.70.1.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.itertools-0.10.5.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.itertools-0.12.1.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.itertools-0.13.0.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.itoa-1.0.11.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.jod-thread-0.1.2.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.js-sys-0.3.72.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.kqueue-1.0.8.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.kqueue-sys-1.0.4.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.la-arena-0.3.1.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.lazy_static-1.5.0.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.libc-0.2.162.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.libredox-0.1.3.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.line-index-0.1.2.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.lock_api-0.4.12.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.log-0.4.22.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.lz4_flex-0.11.3.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.matchers-0.1.0.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.memchr-2.7.4.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.memoffset-0.9.1.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.miniz_oxide-0.8.0.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.mio-0.8.11.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.miow-0.6.0.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.nohash-hasher-0.2.0.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.notify-6.1.1.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.nu-ansi-term-0.46.0.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.num-conv-0.1.0.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.num-traits-0.2.19.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.num_cpus-1.16.0.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.once_cell-1.20.2.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.oorandom-11.1.4.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.os_str_bytes-7.0.0.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.overload-0.1.1.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.parking_lot-0.12.3.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.parking_lot_core-0.9.10.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.pear-0.2.9.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.pear_codegen-0.2.9.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.perf-event-0.4.7.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.perf-event-open-sys-1.0.1.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.petgraph-0.6.5.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.pin-project-lite-0.2.15.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.powerfmt-0.2.0.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ppv-lite86-0.2.20.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.proc-macro2-1.0.89.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.proc-macro2-diagnostics-0.10.1.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.quote-1.0.37.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra-ap-rustc_abi-0.63.0.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra-ap-rustc_index-0.63.0.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra-ap-rustc_index_macros-0.63.0.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra-ap-rustc_lexer-0.63.0.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra-ap-rustc_parse_format-0.63.0.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra-ap-rustc_pattern_analysis-0.63.0.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_base_db-0.0.232.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_cfg-0.0.232.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_hir-0.0.232.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_hir_def-0.0.232.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_hir_expand-0.0.232.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_hir_ty-0.0.232.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_ide_db-0.0.232.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_intern-0.0.232.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_limit-0.0.232.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_load-cargo-0.0.232.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_mbe-0.0.232.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_parser-0.0.232.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_paths-0.0.232.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_proc_macro_api-0.0.232.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_profile-0.0.232.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_project_model-0.0.232.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_salsa-0.0.232.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_salsa-macros-0.0.232.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_span-0.0.232.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_stdx-0.0.232.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_syntax-0.0.232.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_syntax-bridge-0.0.232.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_text_edit-0.0.232.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_toolchain-0.0.232.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_tt-0.0.232.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_vfs-0.0.232.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_vfs-notify-0.0.232.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.rand-0.8.5.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.rand_chacha-0.3.1.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.rand_core-0.6.4.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.rayon-1.10.0.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.rayon-core-1.12.1.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.redox_syscall-0.5.7.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.regex-1.11.1.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.regex-automata-0.1.10.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.regex-automata-0.4.8.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.regex-syntax-0.6.29.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.regex-syntax-0.8.5.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.rowan-0.15.15.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.rustc-hash-1.1.0.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.rustc_apfloat-0.2.1+llvm-462a31f5a5ab.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ryu-1.0.18.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.same-file-1.0.6.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.scoped-tls-1.0.1.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.scopeguard-1.2.0.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.semver-1.0.23.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.serde-1.0.214.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.serde_derive-1.0.214.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.serde_json-1.0.132.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.serde_with-3.11.0.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.serde_with_macros-3.11.0.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.serde_yaml-0.9.34+deprecated.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.sharded-slab-0.1.7.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.shlex-1.3.0.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.smallvec-1.13.2.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.smol_str-0.2.2.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.sptr-0.3.2.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.stable_deref_trait-1.2.0.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.stderrlog-0.6.0.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.streaming-iterator-0.1.9.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.strsim-0.11.1.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.syn-2.0.87.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.synstructure-0.13.1.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.termcolor-1.1.3.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.text-size-1.1.1.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.thiserror-1.0.69.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.thiserror-impl-1.0.69.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.thread_local-1.1.8.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.time-0.3.36.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.time-core-0.1.2.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.time-macros-0.2.18.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.tracing-0.1.40.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.tracing-attributes-0.1.27.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.tracing-core-0.1.32.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.tracing-log-0.2.0.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.tracing-subscriber-0.3.18.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.tree-sitter-0.24.4.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.tree-sitter-embedded-template-0.23.2.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.tree-sitter-json-0.24.8.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.tree-sitter-language-0.1.2.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.tree-sitter-ql-0.23.1.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.tree-sitter-ruby-0.23.1.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.triomphe-0.1.14.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.typed-arena-2.0.2.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.uncased-0.9.10.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ungrammar-1.16.1.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.unicode-ident-1.0.13.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.unicode-properties-0.1.3.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.unicode-xid-0.2.6.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.unsafe-libyaml-0.2.11.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.utf8parse-0.2.2.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.valuable-0.1.0.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.version_check-0.9.5.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.walkdir-2.5.0.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.wasi-0.11.0+wasi-snapshot-preview1.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.wasm-bindgen-0.2.95.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.wasm-bindgen-backend-0.2.95.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.wasm-bindgen-macro-0.2.95.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.wasm-bindgen-macro-support-0.2.95.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.wasm-bindgen-shared-0.2.95.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.winapi-0.3.9.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.winapi-i686-pc-windows-gnu-0.4.0.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.winapi-util-0.1.9.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.winapi-x86_64-pc-windows-gnu-0.4.0.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.windows-core-0.52.0.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.windows-sys-0.48.0.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.windows-sys-0.52.0.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.windows-sys-0.59.0.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.windows-targets-0.48.5.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.windows-targets-0.52.6.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.windows_aarch64_gnullvm-0.48.5.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.windows_aarch64_gnullvm-0.52.6.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.windows_aarch64_msvc-0.48.5.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.windows_aarch64_msvc-0.52.6.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.windows_i686_gnu-0.48.5.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.windows_i686_gnu-0.52.6.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.windows_i686_gnullvm-0.52.6.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.windows_i686_msvc-0.48.5.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.windows_i686_msvc-0.52.6.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.windows_x86_64_gnu-0.48.5.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.windows_x86_64_gnu-0.52.6.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.windows_x86_64_gnullvm-0.48.5.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.windows_x86_64_gnullvm-0.52.6.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.windows_x86_64_msvc-0.48.5.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.windows_x86_64_msvc-0.52.6.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.yansi-1.0.1.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.zerocopy-0.7.35.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.zerocopy-derive-0.7.35.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/alias_rules.bzl create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/crates.bzl create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/defs.bzl create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_extension.bzl create mode 100755 misc/bazel/3rdparty/update_cargo_deps.sh diff --git a/.bazelrc b/.bazelrc index 5946cd225c53..60455dd72c60 100644 --- a/.bazelrc +++ b/.bazelrc @@ -23,6 +23,5 @@ common --registry=file:///%workspace%/misc/bazel/registry common --registry=https://bcr.bazel.build common --@rules_dotnet//dotnet/settings:strict_deps=false -common --experimental_isolated_extension_usages try-import %workspace%/local.bazelrc diff --git a/.bazelrc.internal b/.bazelrc.internal index dcc8dafa6c7f..f7718959c9de 100644 --- a/.bazelrc.internal +++ b/.bazelrc.internal @@ -8,4 +8,3 @@ common --registry=https://bcr.bazel.build # its implementation packages without providing any code itself. # We either can depend on internal implementation details, or turn of strict deps. common --@rules_dotnet//dotnet/settings:strict_deps=false -common --experimental_isolated_extension_usages diff --git a/BUILD.bazel b/BUILD.bazel index 8ef196cd85ab..b2e4ea806785 100644 --- a/BUILD.bazel +++ b/BUILD.bazel @@ -1 +1,5 @@ -exports_files(["LICENSE"]) +exports_files([ + "LICENSE", + "Cargo.lock", + "Cargo.toml", +]) diff --git a/MODULE.bazel b/MODULE.bazel index 2e8ed2e3d47a..666ed89be437 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -31,41 +31,44 @@ bazel_dep(name = "rules_rust", version = "0.52.2") bazel_dep(name = "buildifier_prebuilt", version = "6.4.0", dev_dependency = True) -# crate_py but shortened due to Windows file path considerations -cp = use_extension( - "@rules_rust//crate_universe:extension.bzl", - "crate", - isolate = True, -) -cp.from_cargo( - name = "py_deps", - cargo_lockfile = "//python/extractor/tsg-python:Cargo.lock", - manifests = [ - "//python/extractor/tsg-python:Cargo.toml", - "//python/extractor/tsg-python/tsp:Cargo.toml", +# Keep edition and version approximately in sync with internal repo. +# the versions there are canonical, the versions here are used for CI in github/codeql, as well as for the vendoring of dependencies. +RUST_EDITION = "2021" + +RUST_VERSION = "1.81.0" + +rust = use_extension("@rules_rust//rust:extensions.bzl", "rust") +rust.toolchain( + edition = RUST_EDITION, + # We need those extra target triples so that we can build universal binaries on macos + extra_target_triples = [ + "x86_64-apple-darwin", + "aarch64-apple-darwin", ], + versions = [RUST_VERSION], ) -use_repo(cp, "py_deps") +use_repo(rust, "rust_toolchains") -# deps for ruby+rust, but shortened due to windows file paths -r = use_extension( - "@rules_rust//crate_universe:extension.bzl", - "crate", - isolate = True, -) -r.from_cargo( - name = "r", - cargo_lockfile = "//:Cargo.lock", - manifests = [ - "//:Cargo.toml", - "//ruby/extractor:Cargo.toml", - "//rust/extractor:Cargo.toml", - "//rust/extractor/macros:Cargo.toml", - "//rust/ast-generator:Cargo.toml", - "//shared/tree-sitter-extractor:Cargo.toml", - ], +register_toolchains("@rust_toolchains//:all") + +rust_host_tools = use_extension("@rules_rust//rust:extensions.bzl", "rust_host_tools") + +# Don't download a second toolchain as host toolchain, make sure this is the same version as above +# The host toolchain is used for vendoring dependencies. +rust_host_tools.host_tools( + edition = RUST_EDITION, + version = RUST_VERSION, ) -use_repo(r, tree_sitter_extractors_deps = "r") + +# deps for python extractor +# keep in sync by running `misc/bazel/3rdparty/update_cargo_deps.sh` +py_deps = use_extension("//misc/bazel/3rdparty:py_deps_extension.bzl", "p") +use_repo(py_deps, "vendor__anyhow-1.0.44", "vendor__cc-1.0.70", "vendor__clap-2.33.3", "vendor__regex-1.5.5", "vendor__smallvec-1.6.1", "vendor__string-interner-0.12.2", "vendor__thiserror-1.0.29", "vendor__tree-sitter-0.20.4", "vendor__tree-sitter-graph-0.7.0") + +# deps for ruby+rust +# keep in sync by running `misc/bazel/3rdparty/update_cargo_deps.sh` +tree_sitter_extractors_deps = use_extension("//misc/bazel/3rdparty:tree_sitter_extractors_extension.bzl", "r") +use_repo(tree_sitter_extractors_deps, "vendor__anyhow-1.0.93", "vendor__argfile-0.2.1", "vendor__chrono-0.4.38", "vendor__clap-4.5.20", "vendor__encoding-0.2.33", "vendor__figment-0.10.19", "vendor__flate2-1.0.34", "vendor__glob-0.3.1", "vendor__globset-0.4.15", "vendor__itertools-0.10.5", "vendor__itertools-0.13.0", "vendor__lazy_static-1.5.0", "vendor__log-0.4.22", "vendor__num-traits-0.2.19", "vendor__num_cpus-1.16.0", "vendor__proc-macro2-1.0.89", "vendor__quote-1.0.37", "vendor__ra_ap_base_db-0.0.232", "vendor__ra_ap_hir-0.0.232", "vendor__ra_ap_hir_def-0.0.232", "vendor__ra_ap_hir_expand-0.0.232", "vendor__ra_ap_ide_db-0.0.232", "vendor__ra_ap_load-cargo-0.0.232", "vendor__ra_ap_parser-0.0.232", "vendor__ra_ap_paths-0.0.232", "vendor__ra_ap_project_model-0.0.232", "vendor__ra_ap_span-0.0.232", "vendor__ra_ap_syntax-0.0.232", "vendor__ra_ap_vfs-0.0.232", "vendor__rand-0.8.5", "vendor__rayon-1.10.0", "vendor__regex-1.11.1", "vendor__serde-1.0.214", "vendor__serde_json-1.0.132", "vendor__serde_with-3.11.0", "vendor__stderrlog-0.6.0", "vendor__syn-2.0.87", "vendor__tracing-0.1.40", "vendor__tracing-subscriber-0.3.18", "vendor__tree-sitter-0.24.4", "vendor__tree-sitter-embedded-template-0.23.2", "vendor__tree-sitter-json-0.24.8", "vendor__tree-sitter-ql-0.23.1", "vendor__tree-sitter-ruby-0.23.1", "vendor__triomphe-0.1.14", "vendor__ungrammar-1.16.1") dotnet = use_extension("@rules_dotnet//dotnet:extensions.bzl", "dotnet") dotnet.toolchain(dotnet_version = "8.0.101") diff --git a/misc/bazel/3rdparty/.gitattributes b/misc/bazel/3rdparty/.gitattributes new file mode 100644 index 000000000000..c114c961c674 --- /dev/null +++ b/misc/bazel/3rdparty/.gitattributes @@ -0,0 +1,2 @@ +/tree_sitter_extractors_deps/** linguist-generated=true +/py_deps/** linguist-generated=true diff --git a/misc/bazel/3rdparty/BUILD.bazel b/misc/bazel/3rdparty/BUILD.bazel new file mode 100644 index 000000000000..4429e3f296b9 --- /dev/null +++ b/misc/bazel/3rdparty/BUILD.bazel @@ -0,0 +1,34 @@ +load("@rules_rust//crate_universe:defs.bzl", "crates_vendor") + +# The targets in this file re-do the vendoring of the rust cargo dependencies. Use the update_cargo_deps.sh script to run the targets, and do all the necessary work around vendoring. +crates_vendor( + name = "vendor_tree_sitter_extractors", + cargo_lockfile = "//:Cargo.lock", + generate_build_scripts = True, + manifests = [ + "//:Cargo.toml", + "//ruby/extractor:Cargo.toml", + "//rust/extractor:Cargo.toml", + "//rust/extractor/macros:Cargo.toml", + "//rust/ast-generator:Cargo.toml", + "//shared/tree-sitter-extractor:Cargo.toml", + ], + mode = "remote", + repository_name = "vendor", + tags = ["manual"], + vendor_path = "tree_sitter_extractors_deps", +) + +crates_vendor( + name = "vendor_py_deps", + cargo_lockfile = "//python/extractor/tsg-python:Cargo.lock", + generate_build_scripts = True, + manifests = [ + "//python/extractor/tsg-python:Cargo.toml", + "//python/extractor/tsg-python/tsp:Cargo.toml", + ], + mode = "remote", + repository_name = "vendor", + tags = ["manual"], + vendor_path = "py_deps", +) diff --git a/misc/bazel/3rdparty/py_deps/BUILD.ahash-0.4.7.bazel b/misc/bazel/3rdparty/py_deps/BUILD.ahash-0.4.7.bazel new file mode 100644 index 000000000000..8a4714a28614 --- /dev/null +++ b/misc/bazel/3rdparty/py_deps/BUILD.ahash-0.4.7.bazel @@ -0,0 +1,81 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_py_deps +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "ahash", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2018", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=ahash", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.4.7", +) diff --git a/misc/bazel/3rdparty/py_deps/BUILD.aho-corasick-0.7.18.bazel b/misc/bazel/3rdparty/py_deps/BUILD.aho-corasick-0.7.18.bazel new file mode 100644 index 000000000000..7e5d905c8d95 --- /dev/null +++ b/misc/bazel/3rdparty/py_deps/BUILD.aho-corasick-0.7.18.bazel @@ -0,0 +1,88 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_py_deps +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "aho_corasick", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "default", + "std", + ], + crate_root = "src/lib.rs", + edition = "2018", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=aho-corasick", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.7.18", + deps = [ + "@vendor__memchr-2.4.1//:memchr", + ], +) diff --git a/misc/bazel/3rdparty/py_deps/BUILD.ansi_term-0.11.0.bazel b/misc/bazel/3rdparty/py_deps/BUILD.ansi_term-0.11.0.bazel new file mode 100644 index 000000000000..9bf7fb975cd3 --- /dev/null +++ b/misc/bazel/3rdparty/py_deps/BUILD.ansi_term-0.11.0.bazel @@ -0,0 +1,93 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_py_deps +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "ansi_term", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2015", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=ansi_term", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.11.0", + deps = select({ + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [ + "@vendor__winapi-0.3.9//:winapi", # cfg(target_os = "windows") + ], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [ + "@vendor__winapi-0.3.9//:winapi", # cfg(target_os = "windows") + ], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [ + "@vendor__winapi-0.3.9//:winapi", # cfg(target_os = "windows") + ], + "//conditions:default": [], + }), +) diff --git a/misc/bazel/3rdparty/py_deps/BUILD.anyhow-1.0.44.bazel b/misc/bazel/3rdparty/py_deps/BUILD.anyhow-1.0.44.bazel new file mode 100644 index 000000000000..df159a1684e0 --- /dev/null +++ b/misc/bazel/3rdparty/py_deps/BUILD.anyhow-1.0.44.bazel @@ -0,0 +1,148 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_py_deps +############################################################################### + +load("@rules_rust//cargo:defs.bzl", "cargo_build_script") +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "anyhow", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "default", + "std", + ], + crate_root = "src/lib.rs", + edition = "2018", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=anyhow", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "1.0.44", + deps = [ + "@vendor__anyhow-1.0.44//:build_script_build", + ], +) + +cargo_build_script( + name = "_bs", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + "**/*.rs", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "default", + "std", + ], + crate_name = "build_script_build", + crate_root = "build.rs", + data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + edition = "2018", + pkg_name = "anyhow", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=anyhow", + "manual", + "noclippy", + "norustfmt", + ], + version = "1.0.44", + visibility = ["//visibility:private"], +) + +alias( + name = "build_script_build", + actual = ":_bs", + tags = ["manual"], +) diff --git a/misc/bazel/3rdparty/py_deps/BUILD.atty-0.2.14.bazel b/misc/bazel/3rdparty/py_deps/BUILD.atty-0.2.14.bazel new file mode 100644 index 000000000000..366adf24e725 --- /dev/null +++ b/misc/bazel/3rdparty/py_deps/BUILD.atty-0.2.14.bazel @@ -0,0 +1,165 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_py_deps +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "atty", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2015", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=atty", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.2.14", + deps = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [ + "@vendor__libc-0.2.101//:libc", # cfg(unix) + ], + "@rules_rust//rust/platform:aarch64-apple-ios": [ + "@vendor__libc-0.2.101//:libc", # cfg(unix) + ], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [ + "@vendor__libc-0.2.101//:libc", # cfg(unix) + ], + "@rules_rust//rust/platform:aarch64-fuchsia": [ + "@vendor__libc-0.2.101//:libc", # cfg(unix) + ], + "@rules_rust//rust/platform:aarch64-linux-android": [ + "@vendor__libc-0.2.101//:libc", # cfg(unix) + ], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [ + "@vendor__winapi-0.3.9//:winapi", # cfg(windows) + ], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [ + "@vendor__libc-0.2.101//:libc", # cfg(unix) + ], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [ + "@vendor__libc-0.2.101//:libc", # cfg(unix) + ], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [ + "@vendor__libc-0.2.101//:libc", # cfg(unix) + ], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [ + "@vendor__libc-0.2.101//:libc", # cfg(unix) + ], + "@rules_rust//rust/platform:armv7-linux-androideabi": [ + "@vendor__libc-0.2.101//:libc", # cfg(unix) + ], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [ + "@vendor__libc-0.2.101//:libc", # cfg(unix) + ], + "@rules_rust//rust/platform:i686-apple-darwin": [ + "@vendor__libc-0.2.101//:libc", # cfg(unix) + ], + "@rules_rust//rust/platform:i686-linux-android": [ + "@vendor__libc-0.2.101//:libc", # cfg(unix) + ], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [ + "@vendor__winapi-0.3.9//:winapi", # cfg(windows) + ], + "@rules_rust//rust/platform:i686-unknown-freebsd": [ + "@vendor__libc-0.2.101//:libc", # cfg(unix) + ], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [ + "@vendor__libc-0.2.101//:libc", # cfg(unix) + ], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [ + "@vendor__libc-0.2.101//:libc", # cfg(unix) + ], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [ + "@vendor__libc-0.2.101//:libc", # cfg(unix) + ], + "@rules_rust//rust/platform:x86_64-apple-darwin": [ + "@vendor__libc-0.2.101//:libc", # cfg(unix) + ], + "@rules_rust//rust/platform:x86_64-apple-ios": [ + "@vendor__libc-0.2.101//:libc", # cfg(unix) + ], + "@rules_rust//rust/platform:x86_64-fuchsia": [ + "@vendor__libc-0.2.101//:libc", # cfg(unix) + ], + "@rules_rust//rust/platform:x86_64-linux-android": [ + "@vendor__libc-0.2.101//:libc", # cfg(unix) + ], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [ + "@vendor__winapi-0.3.9//:winapi", # cfg(windows) + ], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [ + "@vendor__libc-0.2.101//:libc", # cfg(unix) + ], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [ + "@vendor__libc-0.2.101//:libc", # cfg(unix) + ], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [ + "@vendor__libc-0.2.101//:libc", # cfg(unix) + ], + "//conditions:default": [], + }), +) diff --git a/misc/bazel/3rdparty/py_deps/BUILD.bazel b/misc/bazel/3rdparty/py_deps/BUILD.bazel new file mode 100644 index 000000000000..769738d81523 --- /dev/null +++ b/misc/bazel/3rdparty/py_deps/BUILD.bazel @@ -0,0 +1,86 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_py_deps +############################################################################### + +package(default_visibility = ["//visibility:public"]) + +exports_files( + [ + "cargo-bazel.json", + "crates.bzl", + "defs.bzl", + ] + glob( + include = ["*.bazel"], + allow_empty = True, + ), +) + +filegroup( + name = "srcs", + srcs = glob( + include = [ + "*.bazel", + "*.bzl", + ], + allow_empty = True, + ), +) + +# Workspace Member Dependencies +alias( + name = "anyhow", + actual = "@vendor__anyhow-1.0.44//:anyhow", + tags = ["manual"], +) + +alias( + name = "clap", + actual = "@vendor__clap-2.33.3//:clap", + tags = ["manual"], +) + +alias( + name = "regex", + actual = "@vendor__regex-1.5.5//:regex", + tags = ["manual"], +) + +alias( + name = "smallvec", + actual = "@vendor__smallvec-1.6.1//:smallvec", + tags = ["manual"], +) + +alias( + name = "string-interner", + actual = "@vendor__string-interner-0.12.2//:string_interner", + tags = ["manual"], +) + +alias( + name = "thiserror", + actual = "@vendor__thiserror-1.0.29//:thiserror", + tags = ["manual"], +) + +alias( + name = "tree-sitter", + actual = "@vendor__tree-sitter-0.20.4//:tree_sitter", + tags = ["manual"], +) + +alias( + name = "tree-sitter-graph", + actual = "@vendor__tree-sitter-graph-0.7.0//:tree_sitter_graph", + tags = ["manual"], +) + +alias( + name = "tsp", + actual = "@vendor__tsp-0.19.0//:tsp", + tags = ["manual"], +) diff --git a/misc/bazel/3rdparty/py_deps/BUILD.bitflags-1.3.2.bazel b/misc/bazel/3rdparty/py_deps/BUILD.bitflags-1.3.2.bazel new file mode 100644 index 000000000000..2c7147f64d0a --- /dev/null +++ b/misc/bazel/3rdparty/py_deps/BUILD.bitflags-1.3.2.bazel @@ -0,0 +1,84 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_py_deps +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "bitflags", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "default", + ], + crate_root = "src/lib.rs", + edition = "2018", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=bitflags", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "1.3.2", +) diff --git a/misc/bazel/3rdparty/py_deps/BUILD.cc-1.0.70.bazel b/misc/bazel/3rdparty/py_deps/BUILD.cc-1.0.70.bazel new file mode 100644 index 000000000000..8f10276ee76d --- /dev/null +++ b/misc/bazel/3rdparty/py_deps/BUILD.cc-1.0.70.bazel @@ -0,0 +1,81 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_py_deps +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "cc", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2018", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=cc", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "1.0.70", +) diff --git a/misc/bazel/3rdparty/py_deps/BUILD.cfg-if-1.0.0.bazel b/misc/bazel/3rdparty/py_deps/BUILD.cfg-if-1.0.0.bazel new file mode 100644 index 000000000000..d703467e19fd --- /dev/null +++ b/misc/bazel/3rdparty/py_deps/BUILD.cfg-if-1.0.0.bazel @@ -0,0 +1,81 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_py_deps +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "cfg_if", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2018", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=cfg-if", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "1.0.0", +) diff --git a/misc/bazel/3rdparty/py_deps/BUILD.clap-2.33.3.bazel b/misc/bazel/3rdparty/py_deps/BUILD.clap-2.33.3.bazel new file mode 100644 index 000000000000..f4d6e0b1a39d --- /dev/null +++ b/misc/bazel/3rdparty/py_deps/BUILD.clap-2.33.3.bazel @@ -0,0 +1,193 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_py_deps +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "clap", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "ansi_term", + "atty", + "color", + "default", + "strsim", + "suggestions", + "vec_map", + ], + crate_root = "src/lib.rs", + edition = "2015", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=clap", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "2.33.3", + deps = [ + "@vendor__atty-0.2.14//:atty", + "@vendor__bitflags-1.3.2//:bitflags", + "@vendor__strsim-0.8.0//:strsim", + "@vendor__textwrap-0.11.0//:textwrap", + "@vendor__unicode-width-0.1.8//:unicode_width", + "@vendor__vec_map-0.8.2//:vec_map", + ] + select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [ + "@vendor__ansi_term-0.11.0//:ansi_term", # aarch64-apple-darwin + ], + "@rules_rust//rust/platform:aarch64-apple-ios": [ + "@vendor__ansi_term-0.11.0//:ansi_term", # aarch64-apple-ios + ], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [ + "@vendor__ansi_term-0.11.0//:ansi_term", # aarch64-apple-ios-sim + ], + "@rules_rust//rust/platform:aarch64-fuchsia": [ + "@vendor__ansi_term-0.11.0//:ansi_term", # aarch64-fuchsia + ], + "@rules_rust//rust/platform:aarch64-linux-android": [ + "@vendor__ansi_term-0.11.0//:ansi_term", # aarch64-linux-android + ], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [ + "@vendor__ansi_term-0.11.0//:ansi_term", # aarch64-unknown-linux-gnu + ], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [ + "@vendor__ansi_term-0.11.0//:ansi_term", # aarch64-unknown-linux-gnu, aarch64-unknown-nixos-gnu + ], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [ + "@vendor__ansi_term-0.11.0//:ansi_term", # aarch64-unknown-nto-qnx710 + ], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [ + "@vendor__ansi_term-0.11.0//:ansi_term", # arm-unknown-linux-gnueabi + ], + "@rules_rust//rust/platform:armv7-linux-androideabi": [ + "@vendor__ansi_term-0.11.0//:ansi_term", # armv7-linux-androideabi + ], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [ + "@vendor__ansi_term-0.11.0//:ansi_term", # armv7-unknown-linux-gnueabi + ], + "@rules_rust//rust/platform:i686-apple-darwin": [ + "@vendor__ansi_term-0.11.0//:ansi_term", # i686-apple-darwin + ], + "@rules_rust//rust/platform:i686-linux-android": [ + "@vendor__ansi_term-0.11.0//:ansi_term", # i686-linux-android + ], + "@rules_rust//rust/platform:i686-unknown-freebsd": [ + "@vendor__ansi_term-0.11.0//:ansi_term", # i686-unknown-freebsd + ], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [ + "@vendor__ansi_term-0.11.0//:ansi_term", # i686-unknown-linux-gnu + ], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [ + "@vendor__ansi_term-0.11.0//:ansi_term", # powerpc-unknown-linux-gnu + ], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [ + "@vendor__ansi_term-0.11.0//:ansi_term", # riscv32imc-unknown-none-elf + ], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [ + "@vendor__ansi_term-0.11.0//:ansi_term", # riscv64gc-unknown-none-elf + ], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [ + "@vendor__ansi_term-0.11.0//:ansi_term", # s390x-unknown-linux-gnu + ], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [ + "@vendor__ansi_term-0.11.0//:ansi_term", # thumbv7em-none-eabi + ], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [ + "@vendor__ansi_term-0.11.0//:ansi_term", # thumbv8m.main-none-eabi + ], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [ + "@vendor__ansi_term-0.11.0//:ansi_term", # wasm32-unknown-unknown + ], + "@rules_rust//rust/platform:wasm32-wasi": [ + "@vendor__ansi_term-0.11.0//:ansi_term", # wasm32-wasi + ], + "@rules_rust//rust/platform:x86_64-apple-darwin": [ + "@vendor__ansi_term-0.11.0//:ansi_term", # x86_64-apple-darwin + ], + "@rules_rust//rust/platform:x86_64-apple-ios": [ + "@vendor__ansi_term-0.11.0//:ansi_term", # x86_64-apple-ios + ], + "@rules_rust//rust/platform:x86_64-fuchsia": [ + "@vendor__ansi_term-0.11.0//:ansi_term", # x86_64-fuchsia + ], + "@rules_rust//rust/platform:x86_64-linux-android": [ + "@vendor__ansi_term-0.11.0//:ansi_term", # x86_64-linux-android + ], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [ + "@vendor__ansi_term-0.11.0//:ansi_term", # x86_64-unknown-freebsd + ], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [ + "@vendor__ansi_term-0.11.0//:ansi_term", # x86_64-unknown-linux-gnu + ], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [ + "@vendor__ansi_term-0.11.0//:ansi_term", # x86_64-unknown-linux-gnu, x86_64-unknown-nixos-gnu + ], + "@rules_rust//rust/platform:x86_64-unknown-none": [ + "@vendor__ansi_term-0.11.0//:ansi_term", # x86_64-unknown-none + ], + "//conditions:default": [], + }), +) diff --git a/misc/bazel/3rdparty/py_deps/BUILD.hashbrown-0.9.1.bazel b/misc/bazel/3rdparty/py_deps/BUILD.hashbrown-0.9.1.bazel new file mode 100644 index 000000000000..d16f42d953ce --- /dev/null +++ b/misc/bazel/3rdparty/py_deps/BUILD.hashbrown-0.9.1.bazel @@ -0,0 +1,88 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_py_deps +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "hashbrown", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "ahash", + "inline-more", + ], + crate_root = "src/lib.rs", + edition = "2018", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=hashbrown", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.9.1", + deps = [ + "@vendor__ahash-0.4.7//:ahash", + ], +) diff --git a/misc/bazel/3rdparty/py_deps/BUILD.hermit-abi-0.1.19.bazel b/misc/bazel/3rdparty/py_deps/BUILD.hermit-abi-0.1.19.bazel new file mode 100644 index 000000000000..073aeb5c126e --- /dev/null +++ b/misc/bazel/3rdparty/py_deps/BUILD.hermit-abi-0.1.19.bazel @@ -0,0 +1,84 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_py_deps +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "hermit_abi", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2018", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=hermit-abi", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.1.19", + deps = [ + "@vendor__libc-0.2.101//:libc", + ], +) diff --git a/misc/bazel/3rdparty/py_deps/BUILD.itoa-1.0.1.bazel b/misc/bazel/3rdparty/py_deps/BUILD.itoa-1.0.1.bazel new file mode 100644 index 000000000000..8af32bcf017c --- /dev/null +++ b/misc/bazel/3rdparty/py_deps/BUILD.itoa-1.0.1.bazel @@ -0,0 +1,81 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_py_deps +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "itoa", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2018", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=itoa", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "1.0.1", +) diff --git a/misc/bazel/3rdparty/py_deps/BUILD.libc-0.2.101.bazel b/misc/bazel/3rdparty/py_deps/BUILD.libc-0.2.101.bazel new file mode 100644 index 000000000000..5d6a13412d3d --- /dev/null +++ b/misc/bazel/3rdparty/py_deps/BUILD.libc-0.2.101.bazel @@ -0,0 +1,140 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_py_deps +############################################################################### + +load("@rules_rust//cargo:defs.bzl", "cargo_build_script") +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "libc", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2015", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=libc", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.2.101", + deps = [ + "@vendor__libc-0.2.101//:build_script_build", + ], +) + +cargo_build_script( + name = "_bs", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + "**/*.rs", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_name = "build_script_build", + crate_root = "build.rs", + data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + edition = "2015", + pkg_name = "libc", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=libc", + "manual", + "noclippy", + "norustfmt", + ], + version = "0.2.101", + visibility = ["//visibility:private"], +) + +alias( + name = "build_script_build", + actual = ":_bs", + tags = ["manual"], +) diff --git a/misc/bazel/3rdparty/py_deps/BUILD.log-0.4.14.bazel b/misc/bazel/3rdparty/py_deps/BUILD.log-0.4.14.bazel new file mode 100644 index 000000000000..4b6d2b39aae8 --- /dev/null +++ b/misc/bazel/3rdparty/py_deps/BUILD.log-0.4.14.bazel @@ -0,0 +1,141 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_py_deps +############################################################################### + +load("@rules_rust//cargo:defs.bzl", "cargo_build_script") +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "log", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2015", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=log", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.4.14", + deps = [ + "@vendor__cfg-if-1.0.0//:cfg_if", + "@vendor__log-0.4.14//:build_script_build", + ], +) + +cargo_build_script( + name = "_bs", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + "**/*.rs", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_name = "build_script_build", + crate_root = "build.rs", + data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + edition = "2015", + pkg_name = "log", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=log", + "manual", + "noclippy", + "norustfmt", + ], + version = "0.4.14", + visibility = ["//visibility:private"], +) + +alias( + name = "build_script_build", + actual = ":_bs", + tags = ["manual"], +) diff --git a/misc/bazel/3rdparty/py_deps/BUILD.memchr-2.4.1.bazel b/misc/bazel/3rdparty/py_deps/BUILD.memchr-2.4.1.bazel new file mode 100644 index 000000000000..a52947ba5d5d --- /dev/null +++ b/misc/bazel/3rdparty/py_deps/BUILD.memchr-2.4.1.bazel @@ -0,0 +1,148 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_py_deps +############################################################################### + +load("@rules_rust//cargo:defs.bzl", "cargo_build_script") +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "memchr", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "default", + "std", + ], + crate_root = "src/lib.rs", + edition = "2018", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=memchr", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "2.4.1", + deps = [ + "@vendor__memchr-2.4.1//:build_script_build", + ], +) + +cargo_build_script( + name = "_bs", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + "**/*.rs", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "default", + "std", + ], + crate_name = "build_script_build", + crate_root = "build.rs", + data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + edition = "2018", + pkg_name = "memchr", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=memchr", + "manual", + "noclippy", + "norustfmt", + ], + version = "2.4.1", + visibility = ["//visibility:private"], +) + +alias( + name = "build_script_build", + actual = ":_bs", + tags = ["manual"], +) diff --git a/misc/bazel/3rdparty/py_deps/BUILD.proc-macro2-1.0.29.bazel b/misc/bazel/3rdparty/py_deps/BUILD.proc-macro2-1.0.29.bazel new file mode 100644 index 000000000000..6f1945e5209d --- /dev/null +++ b/misc/bazel/3rdparty/py_deps/BUILD.proc-macro2-1.0.29.bazel @@ -0,0 +1,149 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_py_deps +############################################################################### + +load("@rules_rust//cargo:defs.bzl", "cargo_build_script") +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "proc_macro2", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "default", + "proc-macro", + ], + crate_root = "src/lib.rs", + edition = "2018", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=proc-macro2", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "1.0.29", + deps = [ + "@vendor__proc-macro2-1.0.29//:build_script_build", + "@vendor__unicode-xid-0.2.2//:unicode_xid", + ], +) + +cargo_build_script( + name = "_bs", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + "**/*.rs", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "default", + "proc-macro", + ], + crate_name = "build_script_build", + crate_root = "build.rs", + data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + edition = "2018", + pkg_name = "proc-macro2", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=proc-macro2", + "manual", + "noclippy", + "norustfmt", + ], + version = "1.0.29", + visibility = ["//visibility:private"], +) + +alias( + name = "build_script_build", + actual = ":_bs", + tags = ["manual"], +) diff --git a/misc/bazel/3rdparty/py_deps/BUILD.quote-1.0.9.bazel b/misc/bazel/3rdparty/py_deps/BUILD.quote-1.0.9.bazel new file mode 100644 index 000000000000..49c277881993 --- /dev/null +++ b/misc/bazel/3rdparty/py_deps/BUILD.quote-1.0.9.bazel @@ -0,0 +1,88 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_py_deps +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "quote", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "default", + "proc-macro", + ], + crate_root = "src/lib.rs", + edition = "2018", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=quote", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "1.0.9", + deps = [ + "@vendor__proc-macro2-1.0.29//:proc_macro2", + ], +) diff --git a/misc/bazel/3rdparty/py_deps/BUILD.regex-1.5.5.bazel b/misc/bazel/3rdparty/py_deps/BUILD.regex-1.5.5.bazel new file mode 100644 index 000000000000..797ba8a5452f --- /dev/null +++ b/misc/bazel/3rdparty/py_deps/BUILD.regex-1.5.5.bazel @@ -0,0 +1,105 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_py_deps +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "regex", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "aho-corasick", + "default", + "memchr", + "perf", + "perf-cache", + "perf-dfa", + "perf-inline", + "perf-literal", + "std", + "unicode", + "unicode-age", + "unicode-bool", + "unicode-case", + "unicode-gencat", + "unicode-perl", + "unicode-script", + "unicode-segment", + ], + crate_root = "src/lib.rs", + edition = "2018", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=regex", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "1.5.5", + deps = [ + "@vendor__aho-corasick-0.7.18//:aho_corasick", + "@vendor__memchr-2.4.1//:memchr", + "@vendor__regex-syntax-0.6.25//:regex_syntax", + ], +) diff --git a/misc/bazel/3rdparty/py_deps/BUILD.regex-syntax-0.6.25.bazel b/misc/bazel/3rdparty/py_deps/BUILD.regex-syntax-0.6.25.bazel new file mode 100644 index 000000000000..ae2e36c9ef43 --- /dev/null +++ b/misc/bazel/3rdparty/py_deps/BUILD.regex-syntax-0.6.25.bazel @@ -0,0 +1,92 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_py_deps +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "regex_syntax", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "default", + "unicode", + "unicode-age", + "unicode-bool", + "unicode-case", + "unicode-gencat", + "unicode-perl", + "unicode-script", + "unicode-segment", + ], + crate_root = "src/lib.rs", + edition = "2018", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=regex-syntax", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.6.25", +) diff --git a/misc/bazel/3rdparty/py_deps/BUILD.ryu-1.0.9.bazel b/misc/bazel/3rdparty/py_deps/BUILD.ryu-1.0.9.bazel new file mode 100644 index 000000000000..16b944bcb4e5 --- /dev/null +++ b/misc/bazel/3rdparty/py_deps/BUILD.ryu-1.0.9.bazel @@ -0,0 +1,81 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_py_deps +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "ryu", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2018", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=ryu", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "1.0.9", +) diff --git a/misc/bazel/3rdparty/py_deps/BUILD.serde-1.0.136.bazel b/misc/bazel/3rdparty/py_deps/BUILD.serde-1.0.136.bazel new file mode 100644 index 000000000000..eead2539e232 --- /dev/null +++ b/misc/bazel/3rdparty/py_deps/BUILD.serde-1.0.136.bazel @@ -0,0 +1,148 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_py_deps +############################################################################### + +load("@rules_rust//cargo:defs.bzl", "cargo_build_script") +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "serde", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "default", + "std", + ], + crate_root = "src/lib.rs", + edition = "2015", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=serde", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "1.0.136", + deps = [ + "@vendor__serde-1.0.136//:build_script_build", + ], +) + +cargo_build_script( + name = "_bs", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + "**/*.rs", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "default", + "std", + ], + crate_name = "build_script_build", + crate_root = "build.rs", + data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + edition = "2015", + pkg_name = "serde", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=serde", + "manual", + "noclippy", + "norustfmt", + ], + version = "1.0.136", + visibility = ["//visibility:private"], +) + +alias( + name = "build_script_build", + actual = ":_bs", + tags = ["manual"], +) diff --git a/misc/bazel/3rdparty/py_deps/BUILD.serde_json-1.0.79.bazel b/misc/bazel/3rdparty/py_deps/BUILD.serde_json-1.0.79.bazel new file mode 100644 index 000000000000..06b057381d52 --- /dev/null +++ b/misc/bazel/3rdparty/py_deps/BUILD.serde_json-1.0.79.bazel @@ -0,0 +1,151 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_py_deps +############################################################################### + +load("@rules_rust//cargo:defs.bzl", "cargo_build_script") +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "serde_json", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "default", + "std", + ], + crate_root = "src/lib.rs", + edition = "2018", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=serde_json", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "1.0.79", + deps = [ + "@vendor__itoa-1.0.1//:itoa", + "@vendor__ryu-1.0.9//:ryu", + "@vendor__serde-1.0.136//:serde", + "@vendor__serde_json-1.0.79//:build_script_build", + ], +) + +cargo_build_script( + name = "_bs", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + "**/*.rs", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "default", + "std", + ], + crate_name = "build_script_build", + crate_root = "build.rs", + data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + edition = "2018", + pkg_name = "serde_json", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=serde_json", + "manual", + "noclippy", + "norustfmt", + ], + version = "1.0.79", + visibility = ["//visibility:private"], +) + +alias( + name = "build_script_build", + actual = ":_bs", + tags = ["manual"], +) diff --git a/misc/bazel/3rdparty/py_deps/BUILD.smallvec-1.6.1.bazel b/misc/bazel/3rdparty/py_deps/BUILD.smallvec-1.6.1.bazel new file mode 100644 index 000000000000..1f2ebbed03cb --- /dev/null +++ b/misc/bazel/3rdparty/py_deps/BUILD.smallvec-1.6.1.bazel @@ -0,0 +1,84 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_py_deps +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "smallvec", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "union", + ], + crate_root = "src/lib.rs", + edition = "2018", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=smallvec", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "1.6.1", +) diff --git a/misc/bazel/3rdparty/py_deps/BUILD.string-interner-0.12.2.bazel b/misc/bazel/3rdparty/py_deps/BUILD.string-interner-0.12.2.bazel new file mode 100644 index 000000000000..16b7b36db25b --- /dev/null +++ b/misc/bazel/3rdparty/py_deps/BUILD.string-interner-0.12.2.bazel @@ -0,0 +1,90 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_py_deps +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "string_interner", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "backends", + "inline-more", + "std", + ], + crate_root = "src/lib.rs", + edition = "2018", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=string-interner", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.12.2", + deps = [ + "@vendor__cfg-if-1.0.0//:cfg_if", + "@vendor__hashbrown-0.9.1//:hashbrown", + ], +) diff --git a/misc/bazel/3rdparty/py_deps/BUILD.strsim-0.8.0.bazel b/misc/bazel/3rdparty/py_deps/BUILD.strsim-0.8.0.bazel new file mode 100644 index 000000000000..662c5488ae45 --- /dev/null +++ b/misc/bazel/3rdparty/py_deps/BUILD.strsim-0.8.0.bazel @@ -0,0 +1,81 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_py_deps +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "strsim", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2015", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=strsim", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.8.0", +) diff --git a/misc/bazel/3rdparty/py_deps/BUILD.syn-1.0.76.bazel b/misc/bazel/3rdparty/py_deps/BUILD.syn-1.0.76.bazel new file mode 100644 index 000000000000..c74a425ed945 --- /dev/null +++ b/misc/bazel/3rdparty/py_deps/BUILD.syn-1.0.76.bazel @@ -0,0 +1,161 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_py_deps +############################################################################### + +load("@rules_rust//cargo:defs.bzl", "cargo_build_script") +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "syn", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "clone-impls", + "default", + "derive", + "parsing", + "printing", + "proc-macro", + "quote", + ], + crate_root = "src/lib.rs", + edition = "2018", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=syn", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "1.0.76", + deps = [ + "@vendor__proc-macro2-1.0.29//:proc_macro2", + "@vendor__quote-1.0.9//:quote", + "@vendor__syn-1.0.76//:build_script_build", + "@vendor__unicode-xid-0.2.2//:unicode_xid", + ], +) + +cargo_build_script( + name = "_bs", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + "**/*.rs", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "clone-impls", + "default", + "derive", + "parsing", + "printing", + "proc-macro", + "quote", + ], + crate_name = "build_script_build", + crate_root = "build.rs", + data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + edition = "2018", + pkg_name = "syn", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=syn", + "manual", + "noclippy", + "norustfmt", + ], + version = "1.0.76", + visibility = ["//visibility:private"], +) + +alias( + name = "build_script_build", + actual = ":_bs", + tags = ["manual"], +) diff --git a/misc/bazel/3rdparty/py_deps/BUILD.textwrap-0.11.0.bazel b/misc/bazel/3rdparty/py_deps/BUILD.textwrap-0.11.0.bazel new file mode 100644 index 000000000000..3baaf0dceb02 --- /dev/null +++ b/misc/bazel/3rdparty/py_deps/BUILD.textwrap-0.11.0.bazel @@ -0,0 +1,84 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_py_deps +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "textwrap", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2015", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=textwrap", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.11.0", + deps = [ + "@vendor__unicode-width-0.1.8//:unicode_width", + ], +) diff --git a/misc/bazel/3rdparty/py_deps/BUILD.thiserror-1.0.29.bazel b/misc/bazel/3rdparty/py_deps/BUILD.thiserror-1.0.29.bazel new file mode 100644 index 000000000000..2626c050ee1d --- /dev/null +++ b/misc/bazel/3rdparty/py_deps/BUILD.thiserror-1.0.29.bazel @@ -0,0 +1,84 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_py_deps +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "thiserror", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2018", + proc_macro_deps = [ + "@vendor__thiserror-impl-1.0.29//:thiserror_impl", + ], + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=thiserror", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "1.0.29", +) diff --git a/misc/bazel/3rdparty/py_deps/BUILD.thiserror-impl-1.0.29.bazel b/misc/bazel/3rdparty/py_deps/BUILD.thiserror-impl-1.0.29.bazel new file mode 100644 index 000000000000..917cceb58020 --- /dev/null +++ b/misc/bazel/3rdparty/py_deps/BUILD.thiserror-impl-1.0.29.bazel @@ -0,0 +1,86 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_py_deps +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_proc_macro") + +package(default_visibility = ["//visibility:public"]) + +rust_proc_macro( + name = "thiserror_impl", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2018", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=thiserror-impl", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "1.0.29", + deps = [ + "@vendor__proc-macro2-1.0.29//:proc_macro2", + "@vendor__quote-1.0.9//:quote", + "@vendor__syn-1.0.76//:syn", + ], +) diff --git a/misc/bazel/3rdparty/py_deps/BUILD.tree-sitter-0.20.4.bazel b/misc/bazel/3rdparty/py_deps/BUILD.tree-sitter-0.20.4.bazel new file mode 100644 index 000000000000..d376a52bb1f7 --- /dev/null +++ b/misc/bazel/3rdparty/py_deps/BUILD.tree-sitter-0.20.4.bazel @@ -0,0 +1,144 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_py_deps +############################################################################### + +load("@rules_rust//cargo:defs.bzl", "cargo_build_script") +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "tree_sitter", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "binding_rust/lib.rs", + edition = "2018", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=tree-sitter", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.20.4", + deps = [ + "@vendor__regex-1.5.5//:regex", + "@vendor__tree-sitter-0.20.4//:build_script_build", + ], +) + +cargo_build_script( + name = "_bs", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + "**/*.rs", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_name = "build_script_build", + crate_root = "binding_rust/build.rs", + data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + edition = "2018", + pkg_name = "tree-sitter", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=tree-sitter", + "manual", + "noclippy", + "norustfmt", + ], + version = "0.20.4", + visibility = ["//visibility:private"], + deps = [ + "@vendor__cc-1.0.70//:cc", + ], +) + +alias( + name = "build_script_build", + actual = ":_bs", + tags = ["manual"], +) diff --git a/misc/bazel/3rdparty/py_deps/BUILD.tree-sitter-graph-0.7.0.bazel b/misc/bazel/3rdparty/py_deps/BUILD.tree-sitter-graph-0.7.0.bazel new file mode 100644 index 000000000000..e56c2d770e27 --- /dev/null +++ b/misc/bazel/3rdparty/py_deps/BUILD.tree-sitter-graph-0.7.0.bazel @@ -0,0 +1,91 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_py_deps +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "tree_sitter_graph", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2018", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=tree-sitter-graph", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.7.0", + deps = [ + "@vendor__log-0.4.14//:log", + "@vendor__regex-1.5.5//:regex", + "@vendor__serde-1.0.136//:serde", + "@vendor__serde_json-1.0.79//:serde_json", + "@vendor__smallvec-1.6.1//:smallvec", + "@vendor__string-interner-0.12.2//:string_interner", + "@vendor__thiserror-1.0.29//:thiserror", + "@vendor__tree-sitter-0.20.4//:tree_sitter", + ], +) diff --git a/misc/bazel/3rdparty/py_deps/BUILD.unicode-width-0.1.8.bazel b/misc/bazel/3rdparty/py_deps/BUILD.unicode-width-0.1.8.bazel new file mode 100644 index 000000000000..c3d0dde9e2ed --- /dev/null +++ b/misc/bazel/3rdparty/py_deps/BUILD.unicode-width-0.1.8.bazel @@ -0,0 +1,84 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_py_deps +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "unicode_width", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "default", + ], + crate_root = "src/lib.rs", + edition = "2015", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=unicode-width", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.1.8", +) diff --git a/misc/bazel/3rdparty/py_deps/BUILD.unicode-xid-0.2.2.bazel b/misc/bazel/3rdparty/py_deps/BUILD.unicode-xid-0.2.2.bazel new file mode 100644 index 000000000000..283e2c1935c2 --- /dev/null +++ b/misc/bazel/3rdparty/py_deps/BUILD.unicode-xid-0.2.2.bazel @@ -0,0 +1,84 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_py_deps +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "unicode_xid", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "default", + ], + crate_root = "src/lib.rs", + edition = "2015", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=unicode-xid", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.2.2", +) diff --git a/misc/bazel/3rdparty/py_deps/BUILD.vec_map-0.8.2.bazel b/misc/bazel/3rdparty/py_deps/BUILD.vec_map-0.8.2.bazel new file mode 100644 index 000000000000..72bfd540ebb2 --- /dev/null +++ b/misc/bazel/3rdparty/py_deps/BUILD.vec_map-0.8.2.bazel @@ -0,0 +1,81 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_py_deps +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "vec_map", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2015", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=vec_map", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.8.2", +) diff --git a/misc/bazel/3rdparty/py_deps/BUILD.winapi-0.3.9.bazel b/misc/bazel/3rdparty/py_deps/BUILD.winapi-0.3.9.bazel new file mode 100644 index 000000000000..5f52e06a20e9 --- /dev/null +++ b/misc/bazel/3rdparty/py_deps/BUILD.winapi-0.3.9.bazel @@ -0,0 +1,154 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_py_deps +############################################################################### + +load("@rules_rust//cargo:defs.bzl", "cargo_build_script") +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "winapi", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "consoleapi", + "minwinbase", + "minwindef", + "processenv", + "winbase", + ], + crate_root = "src/lib.rs", + edition = "2015", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=winapi", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.3.9", + deps = [ + "@vendor__winapi-0.3.9//:build_script_build", + ], +) + +cargo_build_script( + name = "_bs", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + "**/*.rs", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "consoleapi", + "minwinbase", + "minwindef", + "processenv", + "winbase", + ], + crate_name = "build_script_build", + crate_root = "build.rs", + data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + edition = "2015", + pkg_name = "winapi", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=winapi", + "manual", + "noclippy", + "norustfmt", + ], + version = "0.3.9", + visibility = ["//visibility:private"], +) + +alias( + name = "build_script_build", + actual = ":_bs", + tags = ["manual"], +) diff --git a/misc/bazel/3rdparty/py_deps/BUILD.winapi-i686-pc-windows-gnu-0.4.0.bazel b/misc/bazel/3rdparty/py_deps/BUILD.winapi-i686-pc-windows-gnu-0.4.0.bazel new file mode 100644 index 000000000000..c2ae71809970 --- /dev/null +++ b/misc/bazel/3rdparty/py_deps/BUILD.winapi-i686-pc-windows-gnu-0.4.0.bazel @@ -0,0 +1,140 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_py_deps +############################################################################### + +load("@rules_rust//cargo:defs.bzl", "cargo_build_script") +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "winapi_i686_pc_windows_gnu", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2015", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=winapi-i686-pc-windows-gnu", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.4.0", + deps = [ + "@vendor__winapi-i686-pc-windows-gnu-0.4.0//:build_script_build", + ], +) + +cargo_build_script( + name = "_bs", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + "**/*.rs", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_name = "build_script_build", + crate_root = "build.rs", + data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + edition = "2015", + pkg_name = "winapi-i686-pc-windows-gnu", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=winapi-i686-pc-windows-gnu", + "manual", + "noclippy", + "norustfmt", + ], + version = "0.4.0", + visibility = ["//visibility:private"], +) + +alias( + name = "build_script_build", + actual = ":_bs", + tags = ["manual"], +) diff --git a/misc/bazel/3rdparty/py_deps/BUILD.winapi-x86_64-pc-windows-gnu-0.4.0.bazel b/misc/bazel/3rdparty/py_deps/BUILD.winapi-x86_64-pc-windows-gnu-0.4.0.bazel new file mode 100644 index 000000000000..9ed3ad67a08f --- /dev/null +++ b/misc/bazel/3rdparty/py_deps/BUILD.winapi-x86_64-pc-windows-gnu-0.4.0.bazel @@ -0,0 +1,140 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_py_deps +############################################################################### + +load("@rules_rust//cargo:defs.bzl", "cargo_build_script") +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "winapi_x86_64_pc_windows_gnu", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2015", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=winapi-x86_64-pc-windows-gnu", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.4.0", + deps = [ + "@vendor__winapi-x86_64-pc-windows-gnu-0.4.0//:build_script_build", + ], +) + +cargo_build_script( + name = "_bs", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + "**/*.rs", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_name = "build_script_build", + crate_root = "build.rs", + data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + edition = "2015", + pkg_name = "winapi-x86_64-pc-windows-gnu", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=winapi-x86_64-pc-windows-gnu", + "manual", + "noclippy", + "norustfmt", + ], + version = "0.4.0", + visibility = ["//visibility:private"], +) + +alias( + name = "build_script_build", + actual = ":_bs", + tags = ["manual"], +) diff --git a/misc/bazel/3rdparty/py_deps/alias_rules.bzl b/misc/bazel/3rdparty/py_deps/alias_rules.bzl new file mode 100644 index 000000000000..14b04c12728a --- /dev/null +++ b/misc/bazel/3rdparty/py_deps/alias_rules.bzl @@ -0,0 +1,47 @@ +"""Alias that transitions its target to `compilation_mode=opt`. Use `transition_alias="opt"` to enable.""" + +load("@rules_cc//cc:defs.bzl", "CcInfo") +load("@rules_rust//rust:rust_common.bzl", "COMMON_PROVIDERS") + +def _transition_alias_impl(ctx): + # `ctx.attr.actual` is a list of 1 item due to the transition + providers = [ctx.attr.actual[0][provider] for provider in COMMON_PROVIDERS] + if CcInfo in ctx.attr.actual[0]: + providers.append(ctx.attr.actual[0][CcInfo]) + return providers + +def _change_compilation_mode(compilation_mode): + def _change_compilation_mode_impl(_settings, _attr): + return { + "//command_line_option:compilation_mode": compilation_mode, + } + + return transition( + implementation = _change_compilation_mode_impl, + inputs = [], + outputs = [ + "//command_line_option:compilation_mode", + ], + ) + +def _transition_alias_rule(compilation_mode): + return rule( + implementation = _transition_alias_impl, + provides = COMMON_PROVIDERS, + attrs = { + "actual": attr.label( + mandatory = True, + doc = "`rust_library()` target to transition to `compilation_mode=opt`.", + providers = COMMON_PROVIDERS, + cfg = _change_compilation_mode(compilation_mode), + ), + "_allowlist_function_transition": attr.label( + default = "@bazel_tools//tools/allowlists/function_transition_allowlist", + ), + }, + doc = "Transitions a Rust library crate to the `compilation_mode=opt`.", + ) + +transition_alias_dbg = _transition_alias_rule("dbg") +transition_alias_fastbuild = _transition_alias_rule("fastbuild") +transition_alias_opt = _transition_alias_rule("opt") diff --git a/misc/bazel/3rdparty/py_deps/crates.bzl b/misc/bazel/3rdparty/py_deps/crates.bzl new file mode 100644 index 000000000000..75143f724213 --- /dev/null +++ b/misc/bazel/3rdparty/py_deps/crates.bzl @@ -0,0 +1,32 @@ +############################################################################### +# @generated +# This file is auto-generated by the cargo-bazel tool. +# +# DO NOT MODIFY: Local changes may be replaced in future executions. +############################################################################### +"""Rules for defining repositories for remote `crates_vendor` repositories""" + +load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe") + +# buildifier: disable=bzl-visibility +load("@rules_rust//crate_universe/private:crates_vendor.bzl", "crates_vendor_remote_repository") + +# buildifier: disable=bzl-visibility +load("//misc/bazel/3rdparty/py_deps:defs.bzl", _crate_repositories = "crate_repositories") + +def crate_repositories(): + """Generates repositories for vendored crates. + + Returns: + A list of repos visible to the module through the module extension. + """ + maybe( + crates_vendor_remote_repository, + name = "vendor", + build_file = Label("//misc/bazel/3rdparty/py_deps:BUILD.bazel"), + defs_module = Label("//misc/bazel/3rdparty/py_deps:defs.bzl"), + ) + + direct_deps = [struct(repo = "vendor", is_dev_dep = False)] + direct_deps.extend(_crate_repositories()) + return direct_deps diff --git a/misc/bazel/3rdparty/py_deps/defs.bzl b/misc/bazel/3rdparty/py_deps/defs.bzl new file mode 100644 index 000000000000..4c182814eae5 --- /dev/null +++ b/misc/bazel/3rdparty/py_deps/defs.bzl @@ -0,0 +1,832 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_py_deps +############################################################################### +""" +# `crates_repository` API + +- [aliases](#aliases) +- [crate_deps](#crate_deps) +- [all_crate_deps](#all_crate_deps) +- [crate_repositories](#crate_repositories) + +""" + +load("@bazel_skylib//lib:selects.bzl", "selects") +load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") +load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe") + +############################################################################### +# MACROS API +############################################################################### + +# An identifier that represent common dependencies (unconditional). +_COMMON_CONDITION = "" + +def _flatten_dependency_maps(all_dependency_maps): + """Flatten a list of dependency maps into one dictionary. + + Dependency maps have the following structure: + + ```python + DEPENDENCIES_MAP = { + # The first key in the map is a Bazel package + # name of the workspace this file is defined in. + "workspace_member_package": { + + # Not all dependencies are supported for all platforms. + # the condition key is the condition required to be true + # on the host platform. + "condition": { + + # An alias to a crate target. # The label of the crate target the + # Aliases are only crate names. # package name refers to. + "package_name": "@full//:label", + } + } + } + ``` + + Args: + all_dependency_maps (list): A list of dicts as described above + + Returns: + dict: A dictionary as described above + """ + dependencies = {} + + for workspace_deps_map in all_dependency_maps: + for pkg_name, conditional_deps_map in workspace_deps_map.items(): + if pkg_name not in dependencies: + non_frozen_map = dict() + for key, values in conditional_deps_map.items(): + non_frozen_map.update({key: dict(values.items())}) + dependencies.setdefault(pkg_name, non_frozen_map) + continue + + for condition, deps_map in conditional_deps_map.items(): + # If the condition has not been recorded, do so and continue + if condition not in dependencies[pkg_name]: + dependencies[pkg_name].setdefault(condition, dict(deps_map.items())) + continue + + # Alert on any miss-matched dependencies + inconsistent_entries = [] + for crate_name, crate_label in deps_map.items(): + existing = dependencies[pkg_name][condition].get(crate_name) + if existing and existing != crate_label: + inconsistent_entries.append((crate_name, existing, crate_label)) + dependencies[pkg_name][condition].update({crate_name: crate_label}) + + return dependencies + +def crate_deps(deps, package_name = None): + """Finds the fully qualified label of the requested crates for the package where this macro is called. + + Args: + deps (list): The desired list of crate targets. + package_name (str, optional): The package name of the set of dependencies to look up. + Defaults to `native.package_name()`. + + Returns: + list: A list of labels to generated rust targets (str) + """ + + if not deps: + return [] + + if package_name == None: + package_name = native.package_name() + + # Join both sets of dependencies + dependencies = _flatten_dependency_maps([ + _NORMAL_DEPENDENCIES, + _NORMAL_DEV_DEPENDENCIES, + _PROC_MACRO_DEPENDENCIES, + _PROC_MACRO_DEV_DEPENDENCIES, + _BUILD_DEPENDENCIES, + _BUILD_PROC_MACRO_DEPENDENCIES, + ]).pop(package_name, {}) + + # Combine all conditional packages so we can easily index over a flat list + # TODO: Perhaps this should actually return select statements and maintain + # the conditionals of the dependencies + flat_deps = {} + for deps_set in dependencies.values(): + for crate_name, crate_label in deps_set.items(): + flat_deps.update({crate_name: crate_label}) + + missing_crates = [] + crate_targets = [] + for crate_target in deps: + if crate_target not in flat_deps: + missing_crates.append(crate_target) + else: + crate_targets.append(flat_deps[crate_target]) + + if missing_crates: + fail("Could not find crates `{}` among dependencies of `{}`. Available dependencies were `{}`".format( + missing_crates, + package_name, + dependencies, + )) + + return crate_targets + +def all_crate_deps( + normal = False, + normal_dev = False, + proc_macro = False, + proc_macro_dev = False, + build = False, + build_proc_macro = False, + package_name = None): + """Finds the fully qualified label of all requested direct crate dependencies \ + for the package where this macro is called. + + If no parameters are set, all normal dependencies are returned. Setting any one flag will + otherwise impact the contents of the returned list. + + Args: + normal (bool, optional): If True, normal dependencies are included in the + output list. + normal_dev (bool, optional): If True, normal dev dependencies will be + included in the output list.. + proc_macro (bool, optional): If True, proc_macro dependencies are included + in the output list. + proc_macro_dev (bool, optional): If True, dev proc_macro dependencies are + included in the output list. + build (bool, optional): If True, build dependencies are included + in the output list. + build_proc_macro (bool, optional): If True, build proc_macro dependencies are + included in the output list. + package_name (str, optional): The package name of the set of dependencies to look up. + Defaults to `native.package_name()` when unset. + + Returns: + list: A list of labels to generated rust targets (str) + """ + + if package_name == None: + package_name = native.package_name() + + # Determine the relevant maps to use + all_dependency_maps = [] + if normal: + all_dependency_maps.append(_NORMAL_DEPENDENCIES) + if normal_dev: + all_dependency_maps.append(_NORMAL_DEV_DEPENDENCIES) + if proc_macro: + all_dependency_maps.append(_PROC_MACRO_DEPENDENCIES) + if proc_macro_dev: + all_dependency_maps.append(_PROC_MACRO_DEV_DEPENDENCIES) + if build: + all_dependency_maps.append(_BUILD_DEPENDENCIES) + if build_proc_macro: + all_dependency_maps.append(_BUILD_PROC_MACRO_DEPENDENCIES) + + # Default to always using normal dependencies + if not all_dependency_maps: + all_dependency_maps.append(_NORMAL_DEPENDENCIES) + + dependencies = _flatten_dependency_maps(all_dependency_maps).pop(package_name, None) + + if not dependencies: + if dependencies == None: + fail("Tried to get all_crate_deps for package " + package_name + " but that package had no Cargo.toml file") + else: + return [] + + crate_deps = list(dependencies.pop(_COMMON_CONDITION, {}).values()) + for condition, deps in dependencies.items(): + crate_deps += selects.with_or({ + tuple(_CONDITIONS[condition]): deps.values(), + "//conditions:default": [], + }) + + return crate_deps + +def aliases( + normal = False, + normal_dev = False, + proc_macro = False, + proc_macro_dev = False, + build = False, + build_proc_macro = False, + package_name = None): + """Produces a map of Crate alias names to their original label + + If no dependency kinds are specified, `normal` and `proc_macro` are used by default. + Setting any one flag will otherwise determine the contents of the returned dict. + + Args: + normal (bool, optional): If True, normal dependencies are included in the + output list. + normal_dev (bool, optional): If True, normal dev dependencies will be + included in the output list.. + proc_macro (bool, optional): If True, proc_macro dependencies are included + in the output list. + proc_macro_dev (bool, optional): If True, dev proc_macro dependencies are + included in the output list. + build (bool, optional): If True, build dependencies are included + in the output list. + build_proc_macro (bool, optional): If True, build proc_macro dependencies are + included in the output list. + package_name (str, optional): The package name of the set of dependencies to look up. + Defaults to `native.package_name()` when unset. + + Returns: + dict: The aliases of all associated packages + """ + if package_name == None: + package_name = native.package_name() + + # Determine the relevant maps to use + all_aliases_maps = [] + if normal: + all_aliases_maps.append(_NORMAL_ALIASES) + if normal_dev: + all_aliases_maps.append(_NORMAL_DEV_ALIASES) + if proc_macro: + all_aliases_maps.append(_PROC_MACRO_ALIASES) + if proc_macro_dev: + all_aliases_maps.append(_PROC_MACRO_DEV_ALIASES) + if build: + all_aliases_maps.append(_BUILD_ALIASES) + if build_proc_macro: + all_aliases_maps.append(_BUILD_PROC_MACRO_ALIASES) + + # Default to always using normal aliases + if not all_aliases_maps: + all_aliases_maps.append(_NORMAL_ALIASES) + all_aliases_maps.append(_PROC_MACRO_ALIASES) + + aliases = _flatten_dependency_maps(all_aliases_maps).pop(package_name, None) + + if not aliases: + return dict() + + common_items = aliases.pop(_COMMON_CONDITION, {}).items() + + # If there are only common items in the dictionary, immediately return them + if not len(aliases.keys()) == 1: + return dict(common_items) + + # Build a single select statement where each conditional has accounted for the + # common set of aliases. + crate_aliases = {"//conditions:default": dict(common_items)} + for condition, deps in aliases.items(): + condition_triples = _CONDITIONS[condition] + for triple in condition_triples: + if triple in crate_aliases: + crate_aliases[triple].update(deps) + else: + crate_aliases.update({triple: dict(deps.items() + common_items)}) + + return select(crate_aliases) + +############################################################################### +# WORKSPACE MEMBER DEPS AND ALIASES +############################################################################### + +_NORMAL_DEPENDENCIES = { + "python/extractor/tsg-python": { + _COMMON_CONDITION: { + "anyhow": Label("@vendor__anyhow-1.0.44//:anyhow"), + "clap": Label("@vendor__clap-2.33.3//:clap"), + "regex": Label("@vendor__regex-1.5.5//:regex"), + "smallvec": Label("@vendor__smallvec-1.6.1//:smallvec"), + "string-interner": Label("@vendor__string-interner-0.12.2//:string_interner"), + "thiserror": Label("@vendor__thiserror-1.0.29//:thiserror"), + "tree-sitter": Label("@vendor__tree-sitter-0.20.4//:tree_sitter"), + "tree-sitter-graph": Label("@vendor__tree-sitter-graph-0.7.0//:tree_sitter_graph"), + }, + }, + "python/extractor/tsg-python/tsp": { + _COMMON_CONDITION: { + "tree-sitter": Label("@vendor__tree-sitter-0.20.4//:tree_sitter"), + }, + }, +} + +_NORMAL_ALIASES = { + "python/extractor/tsg-python": { + _COMMON_CONDITION: { + }, + }, + "python/extractor/tsg-python/tsp": { + _COMMON_CONDITION: { + }, + }, +} + +_NORMAL_DEV_DEPENDENCIES = { + "python/extractor/tsg-python": { + }, + "python/extractor/tsg-python/tsp": { + }, +} + +_NORMAL_DEV_ALIASES = { + "python/extractor/tsg-python": { + }, + "python/extractor/tsg-python/tsp": { + }, +} + +_PROC_MACRO_DEPENDENCIES = { + "python/extractor/tsg-python": { + }, + "python/extractor/tsg-python/tsp": { + }, +} + +_PROC_MACRO_ALIASES = { + "python/extractor/tsg-python": { + }, + "python/extractor/tsg-python/tsp": { + }, +} + +_PROC_MACRO_DEV_DEPENDENCIES = { + "python/extractor/tsg-python": { + }, + "python/extractor/tsg-python/tsp": { + }, +} + +_PROC_MACRO_DEV_ALIASES = { + "python/extractor/tsg-python": { + }, + "python/extractor/tsg-python/tsp": { + }, +} + +_BUILD_DEPENDENCIES = { + "python/extractor/tsg-python": { + }, + "python/extractor/tsg-python/tsp": { + _COMMON_CONDITION: { + "cc": Label("@vendor__cc-1.0.70//:cc"), + }, + }, +} + +_BUILD_ALIASES = { + "python/extractor/tsg-python": { + }, + "python/extractor/tsg-python/tsp": { + _COMMON_CONDITION: { + }, + }, +} + +_BUILD_PROC_MACRO_DEPENDENCIES = { + "python/extractor/tsg-python": { + }, + "python/extractor/tsg-python/tsp": { + }, +} + +_BUILD_PROC_MACRO_ALIASES = { + "python/extractor/tsg-python": { + }, + "python/extractor/tsg-python/tsp": { + }, +} + +_CONDITIONS = { + "aarch64-apple-darwin": ["@rules_rust//rust/platform:aarch64-apple-darwin"], + "aarch64-apple-ios": ["@rules_rust//rust/platform:aarch64-apple-ios"], + "aarch64-apple-ios-sim": ["@rules_rust//rust/platform:aarch64-apple-ios-sim"], + "aarch64-fuchsia": ["@rules_rust//rust/platform:aarch64-fuchsia"], + "aarch64-linux-android": ["@rules_rust//rust/platform:aarch64-linux-android"], + "aarch64-pc-windows-msvc": ["@rules_rust//rust/platform:aarch64-pc-windows-msvc"], + "aarch64-unknown-linux-gnu": ["@rules_rust//rust/platform:aarch64-unknown-linux-gnu", "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu"], + "aarch64-unknown-nixos-gnu": ["@rules_rust//rust/platform:aarch64-unknown-nixos-gnu"], + "aarch64-unknown-nto-qnx710": ["@rules_rust//rust/platform:aarch64-unknown-nto-qnx710"], + "arm-unknown-linux-gnueabi": ["@rules_rust//rust/platform:arm-unknown-linux-gnueabi"], + "armv7-linux-androideabi": ["@rules_rust//rust/platform:armv7-linux-androideabi"], + "armv7-unknown-linux-gnueabi": ["@rules_rust//rust/platform:armv7-unknown-linux-gnueabi"], + "cfg(target_os = \"hermit\")": [], + "cfg(target_os = \"windows\")": ["@rules_rust//rust/platform:aarch64-pc-windows-msvc", "@rules_rust//rust/platform:i686-pc-windows-msvc", "@rules_rust//rust/platform:x86_64-pc-windows-msvc"], + "cfg(unix)": ["@rules_rust//rust/platform:aarch64-apple-darwin", "@rules_rust//rust/platform:aarch64-apple-ios", "@rules_rust//rust/platform:aarch64-apple-ios-sim", "@rules_rust//rust/platform:aarch64-fuchsia", "@rules_rust//rust/platform:aarch64-linux-android", "@rules_rust//rust/platform:aarch64-unknown-linux-gnu", "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu", "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710", "@rules_rust//rust/platform:arm-unknown-linux-gnueabi", "@rules_rust//rust/platform:armv7-linux-androideabi", "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi", "@rules_rust//rust/platform:i686-apple-darwin", "@rules_rust//rust/platform:i686-linux-android", "@rules_rust//rust/platform:i686-unknown-freebsd", "@rules_rust//rust/platform:i686-unknown-linux-gnu", "@rules_rust//rust/platform:powerpc-unknown-linux-gnu", "@rules_rust//rust/platform:s390x-unknown-linux-gnu", "@rules_rust//rust/platform:x86_64-apple-darwin", "@rules_rust//rust/platform:x86_64-apple-ios", "@rules_rust//rust/platform:x86_64-fuchsia", "@rules_rust//rust/platform:x86_64-linux-android", "@rules_rust//rust/platform:x86_64-unknown-freebsd", "@rules_rust//rust/platform:x86_64-unknown-linux-gnu", "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu"], + "cfg(windows)": ["@rules_rust//rust/platform:aarch64-pc-windows-msvc", "@rules_rust//rust/platform:i686-pc-windows-msvc", "@rules_rust//rust/platform:x86_64-pc-windows-msvc"], + "i686-apple-darwin": ["@rules_rust//rust/platform:i686-apple-darwin"], + "i686-linux-android": ["@rules_rust//rust/platform:i686-linux-android"], + "i686-pc-windows-gnu": [], + "i686-pc-windows-msvc": ["@rules_rust//rust/platform:i686-pc-windows-msvc"], + "i686-unknown-freebsd": ["@rules_rust//rust/platform:i686-unknown-freebsd"], + "i686-unknown-linux-gnu": ["@rules_rust//rust/platform:i686-unknown-linux-gnu"], + "powerpc-unknown-linux-gnu": ["@rules_rust//rust/platform:powerpc-unknown-linux-gnu"], + "riscv32imc-unknown-none-elf": ["@rules_rust//rust/platform:riscv32imc-unknown-none-elf"], + "riscv64gc-unknown-none-elf": ["@rules_rust//rust/platform:riscv64gc-unknown-none-elf"], + "s390x-unknown-linux-gnu": ["@rules_rust//rust/platform:s390x-unknown-linux-gnu"], + "thumbv7em-none-eabi": ["@rules_rust//rust/platform:thumbv7em-none-eabi"], + "thumbv8m.main-none-eabi": ["@rules_rust//rust/platform:thumbv8m.main-none-eabi"], + "wasm32-unknown-unknown": ["@rules_rust//rust/platform:wasm32-unknown-unknown"], + "wasm32-wasi": ["@rules_rust//rust/platform:wasm32-wasi"], + "x86_64-apple-darwin": ["@rules_rust//rust/platform:x86_64-apple-darwin"], + "x86_64-apple-ios": ["@rules_rust//rust/platform:x86_64-apple-ios"], + "x86_64-fuchsia": ["@rules_rust//rust/platform:x86_64-fuchsia"], + "x86_64-linux-android": ["@rules_rust//rust/platform:x86_64-linux-android"], + "x86_64-pc-windows-gnu": [], + "x86_64-pc-windows-msvc": ["@rules_rust//rust/platform:x86_64-pc-windows-msvc"], + "x86_64-unknown-freebsd": ["@rules_rust//rust/platform:x86_64-unknown-freebsd"], + "x86_64-unknown-linux-gnu": ["@rules_rust//rust/platform:x86_64-unknown-linux-gnu", "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu"], + "x86_64-unknown-nixos-gnu": ["@rules_rust//rust/platform:x86_64-unknown-nixos-gnu"], + "x86_64-unknown-none": ["@rules_rust//rust/platform:x86_64-unknown-none"], +} + +############################################################################### + +def crate_repositories(): + """A macro for defining repositories for all generated crates. + + Returns: + A list of repos visible to the module through the module extension. + """ + maybe( + http_archive, + name = "vendor__ahash-0.4.7", + sha256 = "739f4a8db6605981345c5654f3a85b056ce52f37a39d34da03f25bf2151ea16e", + type = "tar.gz", + urls = ["https://static.crates.io/crates/ahash/0.4.7/download"], + strip_prefix = "ahash-0.4.7", + build_file = Label("//misc/bazel/3rdparty/py_deps:BUILD.ahash-0.4.7.bazel"), + ) + + maybe( + http_archive, + name = "vendor__aho-corasick-0.7.18", + sha256 = "1e37cfd5e7657ada45f742d6e99ca5788580b5c529dc78faf11ece6dc702656f", + type = "tar.gz", + urls = ["https://static.crates.io/crates/aho-corasick/0.7.18/download"], + strip_prefix = "aho-corasick-0.7.18", + build_file = Label("//misc/bazel/3rdparty/py_deps:BUILD.aho-corasick-0.7.18.bazel"), + ) + + maybe( + http_archive, + name = "vendor__ansi_term-0.11.0", + sha256 = "ee49baf6cb617b853aa8d93bf420db2383fab46d314482ca2803b40d5fde979b", + type = "tar.gz", + urls = ["https://static.crates.io/crates/ansi_term/0.11.0/download"], + strip_prefix = "ansi_term-0.11.0", + build_file = Label("//misc/bazel/3rdparty/py_deps:BUILD.ansi_term-0.11.0.bazel"), + ) + + maybe( + http_archive, + name = "vendor__anyhow-1.0.44", + sha256 = "61604a8f862e1d5c3229fdd78f8b02c68dcf73a4c4b05fd636d12240aaa242c1", + type = "tar.gz", + urls = ["https://static.crates.io/crates/anyhow/1.0.44/download"], + strip_prefix = "anyhow-1.0.44", + build_file = Label("//misc/bazel/3rdparty/py_deps:BUILD.anyhow-1.0.44.bazel"), + ) + + maybe( + http_archive, + name = "vendor__atty-0.2.14", + sha256 = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8", + type = "tar.gz", + urls = ["https://static.crates.io/crates/atty/0.2.14/download"], + strip_prefix = "atty-0.2.14", + build_file = Label("//misc/bazel/3rdparty/py_deps:BUILD.atty-0.2.14.bazel"), + ) + + maybe( + http_archive, + name = "vendor__bitflags-1.3.2", + sha256 = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a", + type = "tar.gz", + urls = ["https://static.crates.io/crates/bitflags/1.3.2/download"], + strip_prefix = "bitflags-1.3.2", + build_file = Label("//misc/bazel/3rdparty/py_deps:BUILD.bitflags-1.3.2.bazel"), + ) + + maybe( + http_archive, + name = "vendor__cc-1.0.70", + sha256 = "d26a6ce4b6a484fa3edb70f7efa6fc430fd2b87285fe8b84304fd0936faa0dc0", + type = "tar.gz", + urls = ["https://static.crates.io/crates/cc/1.0.70/download"], + strip_prefix = "cc-1.0.70", + build_file = Label("//misc/bazel/3rdparty/py_deps:BUILD.cc-1.0.70.bazel"), + ) + + maybe( + http_archive, + name = "vendor__cfg-if-1.0.0", + sha256 = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd", + type = "tar.gz", + urls = ["https://static.crates.io/crates/cfg-if/1.0.0/download"], + strip_prefix = "cfg-if-1.0.0", + build_file = Label("//misc/bazel/3rdparty/py_deps:BUILD.cfg-if-1.0.0.bazel"), + ) + + maybe( + http_archive, + name = "vendor__clap-2.33.3", + sha256 = "37e58ac78573c40708d45522f0d80fa2f01cc4f9b4e2bf749807255454312002", + type = "tar.gz", + urls = ["https://static.crates.io/crates/clap/2.33.3/download"], + strip_prefix = "clap-2.33.3", + build_file = Label("//misc/bazel/3rdparty/py_deps:BUILD.clap-2.33.3.bazel"), + ) + + maybe( + http_archive, + name = "vendor__hashbrown-0.9.1", + sha256 = "d7afe4a420e3fe79967a00898cc1f4db7c8a49a9333a29f8a4bd76a253d5cd04", + type = "tar.gz", + urls = ["https://static.crates.io/crates/hashbrown/0.9.1/download"], + strip_prefix = "hashbrown-0.9.1", + build_file = Label("//misc/bazel/3rdparty/py_deps:BUILD.hashbrown-0.9.1.bazel"), + ) + + maybe( + http_archive, + name = "vendor__hermit-abi-0.1.19", + sha256 = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33", + type = "tar.gz", + urls = ["https://static.crates.io/crates/hermit-abi/0.1.19/download"], + strip_prefix = "hermit-abi-0.1.19", + build_file = Label("//misc/bazel/3rdparty/py_deps:BUILD.hermit-abi-0.1.19.bazel"), + ) + + maybe( + http_archive, + name = "vendor__itoa-1.0.1", + sha256 = "1aab8fc367588b89dcee83ab0fd66b72b50b72fa1904d7095045ace2b0c81c35", + type = "tar.gz", + urls = ["https://static.crates.io/crates/itoa/1.0.1/download"], + strip_prefix = "itoa-1.0.1", + build_file = Label("//misc/bazel/3rdparty/py_deps:BUILD.itoa-1.0.1.bazel"), + ) + + maybe( + http_archive, + name = "vendor__libc-0.2.101", + sha256 = "3cb00336871be5ed2c8ed44b60ae9959dc5b9f08539422ed43f09e34ecaeba21", + type = "tar.gz", + urls = ["https://static.crates.io/crates/libc/0.2.101/download"], + strip_prefix = "libc-0.2.101", + build_file = Label("//misc/bazel/3rdparty/py_deps:BUILD.libc-0.2.101.bazel"), + ) + + maybe( + http_archive, + name = "vendor__log-0.4.14", + sha256 = "51b9bbe6c47d51fc3e1a9b945965946b4c44142ab8792c50835a980d362c2710", + type = "tar.gz", + urls = ["https://static.crates.io/crates/log/0.4.14/download"], + strip_prefix = "log-0.4.14", + build_file = Label("//misc/bazel/3rdparty/py_deps:BUILD.log-0.4.14.bazel"), + ) + + maybe( + http_archive, + name = "vendor__memchr-2.4.1", + sha256 = "308cc39be01b73d0d18f82a0e7b2a3df85245f84af96fdddc5d202d27e47b86a", + type = "tar.gz", + urls = ["https://static.crates.io/crates/memchr/2.4.1/download"], + strip_prefix = "memchr-2.4.1", + build_file = Label("//misc/bazel/3rdparty/py_deps:BUILD.memchr-2.4.1.bazel"), + ) + + maybe( + http_archive, + name = "vendor__proc-macro2-1.0.29", + sha256 = "b9f5105d4fdaab20335ca9565e106a5d9b82b6219b5ba735731124ac6711d23d", + type = "tar.gz", + urls = ["https://static.crates.io/crates/proc-macro2/1.0.29/download"], + strip_prefix = "proc-macro2-1.0.29", + build_file = Label("//misc/bazel/3rdparty/py_deps:BUILD.proc-macro2-1.0.29.bazel"), + ) + + maybe( + http_archive, + name = "vendor__quote-1.0.9", + sha256 = "c3d0b9745dc2debf507c8422de05d7226cc1f0644216dfdfead988f9b1ab32a7", + type = "tar.gz", + urls = ["https://static.crates.io/crates/quote/1.0.9/download"], + strip_prefix = "quote-1.0.9", + build_file = Label("//misc/bazel/3rdparty/py_deps:BUILD.quote-1.0.9.bazel"), + ) + + maybe( + http_archive, + name = "vendor__regex-1.5.5", + sha256 = "1a11647b6b25ff05a515cb92c365cec08801e83423a235b51e231e1808747286", + type = "tar.gz", + urls = ["https://static.crates.io/crates/regex/1.5.5/download"], + strip_prefix = "regex-1.5.5", + build_file = Label("//misc/bazel/3rdparty/py_deps:BUILD.regex-1.5.5.bazel"), + ) + + maybe( + http_archive, + name = "vendor__regex-syntax-0.6.25", + sha256 = "f497285884f3fcff424ffc933e56d7cbca511def0c9831a7f9b5f6153e3cc89b", + type = "tar.gz", + urls = ["https://static.crates.io/crates/regex-syntax/0.6.25/download"], + strip_prefix = "regex-syntax-0.6.25", + build_file = Label("//misc/bazel/3rdparty/py_deps:BUILD.regex-syntax-0.6.25.bazel"), + ) + + maybe( + http_archive, + name = "vendor__ryu-1.0.9", + sha256 = "73b4b750c782965c211b42f022f59af1fbceabdd026623714f104152f1ec149f", + type = "tar.gz", + urls = ["https://static.crates.io/crates/ryu/1.0.9/download"], + strip_prefix = "ryu-1.0.9", + build_file = Label("//misc/bazel/3rdparty/py_deps:BUILD.ryu-1.0.9.bazel"), + ) + + maybe( + http_archive, + name = "vendor__serde-1.0.136", + sha256 = "ce31e24b01e1e524df96f1c2fdd054405f8d7376249a5110886fb4b658484789", + type = "tar.gz", + urls = ["https://static.crates.io/crates/serde/1.0.136/download"], + strip_prefix = "serde-1.0.136", + build_file = Label("//misc/bazel/3rdparty/py_deps:BUILD.serde-1.0.136.bazel"), + ) + + maybe( + http_archive, + name = "vendor__serde_json-1.0.79", + sha256 = "8e8d9fa5c3b304765ce1fd9c4c8a3de2c8db365a5b91be52f186efc675681d95", + type = "tar.gz", + urls = ["https://static.crates.io/crates/serde_json/1.0.79/download"], + strip_prefix = "serde_json-1.0.79", + build_file = Label("//misc/bazel/3rdparty/py_deps:BUILD.serde_json-1.0.79.bazel"), + ) + + maybe( + http_archive, + name = "vendor__smallvec-1.6.1", + sha256 = "fe0f37c9e8f3c5a4a66ad655a93c74daac4ad00c441533bf5c6e7990bb42604e", + type = "tar.gz", + urls = ["https://static.crates.io/crates/smallvec/1.6.1/download"], + strip_prefix = "smallvec-1.6.1", + build_file = Label("//misc/bazel/3rdparty/py_deps:BUILD.smallvec-1.6.1.bazel"), + ) + + maybe( + http_archive, + name = "vendor__string-interner-0.12.2", + sha256 = "383196d1876517ee6f9f0864d1fc1070331b803335d3c6daaa04bbcccd823c08", + type = "tar.gz", + urls = ["https://static.crates.io/crates/string-interner/0.12.2/download"], + strip_prefix = "string-interner-0.12.2", + build_file = Label("//misc/bazel/3rdparty/py_deps:BUILD.string-interner-0.12.2.bazel"), + ) + + maybe( + http_archive, + name = "vendor__strsim-0.8.0", + sha256 = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a", + type = "tar.gz", + urls = ["https://static.crates.io/crates/strsim/0.8.0/download"], + strip_prefix = "strsim-0.8.0", + build_file = Label("//misc/bazel/3rdparty/py_deps:BUILD.strsim-0.8.0.bazel"), + ) + + maybe( + http_archive, + name = "vendor__syn-1.0.76", + sha256 = "c6f107db402c2c2055242dbf4d2af0e69197202e9faacbef9571bbe47f5a1b84", + type = "tar.gz", + urls = ["https://static.crates.io/crates/syn/1.0.76/download"], + strip_prefix = "syn-1.0.76", + build_file = Label("//misc/bazel/3rdparty/py_deps:BUILD.syn-1.0.76.bazel"), + ) + + maybe( + http_archive, + name = "vendor__textwrap-0.11.0", + sha256 = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060", + type = "tar.gz", + urls = ["https://static.crates.io/crates/textwrap/0.11.0/download"], + strip_prefix = "textwrap-0.11.0", + build_file = Label("//misc/bazel/3rdparty/py_deps:BUILD.textwrap-0.11.0.bazel"), + ) + + maybe( + http_archive, + name = "vendor__thiserror-1.0.29", + sha256 = "602eca064b2d83369e2b2f34b09c70b605402801927c65c11071ac911d299b88", + type = "tar.gz", + urls = ["https://static.crates.io/crates/thiserror/1.0.29/download"], + strip_prefix = "thiserror-1.0.29", + build_file = Label("//misc/bazel/3rdparty/py_deps:BUILD.thiserror-1.0.29.bazel"), + ) + + maybe( + http_archive, + name = "vendor__thiserror-impl-1.0.29", + sha256 = "bad553cc2c78e8de258400763a647e80e6d1b31ee237275d756f6836d204494c", + type = "tar.gz", + urls = ["https://static.crates.io/crates/thiserror-impl/1.0.29/download"], + strip_prefix = "thiserror-impl-1.0.29", + build_file = Label("//misc/bazel/3rdparty/py_deps:BUILD.thiserror-impl-1.0.29.bazel"), + ) + + maybe( + http_archive, + name = "vendor__tree-sitter-0.20.4", + sha256 = "4e34327f8eac545e3f037382471b2b19367725a242bba7bc45edb9efb49fe39a", + type = "tar.gz", + urls = ["https://static.crates.io/crates/tree-sitter/0.20.4/download"], + strip_prefix = "tree-sitter-0.20.4", + build_file = Label("//misc/bazel/3rdparty/py_deps:BUILD.tree-sitter-0.20.4.bazel"), + ) + + maybe( + http_archive, + name = "vendor__tree-sitter-graph-0.7.0", + sha256 = "639d21e886f581d293de5f5081f09af003c54607ff3fa85efa159b243ba1f97a", + type = "tar.gz", + urls = ["https://static.crates.io/crates/tree-sitter-graph/0.7.0/download"], + strip_prefix = "tree-sitter-graph-0.7.0", + build_file = Label("//misc/bazel/3rdparty/py_deps:BUILD.tree-sitter-graph-0.7.0.bazel"), + ) + + maybe( + http_archive, + name = "vendor__unicode-width-0.1.8", + sha256 = "9337591893a19b88d8d87f2cec1e73fad5cdfd10e5a6f349f498ad6ea2ffb1e3", + type = "tar.gz", + urls = ["https://static.crates.io/crates/unicode-width/0.1.8/download"], + strip_prefix = "unicode-width-0.1.8", + build_file = Label("//misc/bazel/3rdparty/py_deps:BUILD.unicode-width-0.1.8.bazel"), + ) + + maybe( + http_archive, + name = "vendor__unicode-xid-0.2.2", + sha256 = "8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3", + type = "tar.gz", + urls = ["https://static.crates.io/crates/unicode-xid/0.2.2/download"], + strip_prefix = "unicode-xid-0.2.2", + build_file = Label("//misc/bazel/3rdparty/py_deps:BUILD.unicode-xid-0.2.2.bazel"), + ) + + maybe( + http_archive, + name = "vendor__vec_map-0.8.2", + sha256 = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191", + type = "tar.gz", + urls = ["https://static.crates.io/crates/vec_map/0.8.2/download"], + strip_prefix = "vec_map-0.8.2", + build_file = Label("//misc/bazel/3rdparty/py_deps:BUILD.vec_map-0.8.2.bazel"), + ) + + maybe( + http_archive, + name = "vendor__winapi-0.3.9", + sha256 = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419", + type = "tar.gz", + urls = ["https://static.crates.io/crates/winapi/0.3.9/download"], + strip_prefix = "winapi-0.3.9", + build_file = Label("//misc/bazel/3rdparty/py_deps:BUILD.winapi-0.3.9.bazel"), + ) + + maybe( + http_archive, + name = "vendor__winapi-i686-pc-windows-gnu-0.4.0", + sha256 = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6", + type = "tar.gz", + urls = ["https://static.crates.io/crates/winapi-i686-pc-windows-gnu/0.4.0/download"], + strip_prefix = "winapi-i686-pc-windows-gnu-0.4.0", + build_file = Label("//misc/bazel/3rdparty/py_deps:BUILD.winapi-i686-pc-windows-gnu-0.4.0.bazel"), + ) + + maybe( + http_archive, + name = "vendor__winapi-x86_64-pc-windows-gnu-0.4.0", + sha256 = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f", + type = "tar.gz", + urls = ["https://static.crates.io/crates/winapi-x86_64-pc-windows-gnu/0.4.0/download"], + strip_prefix = "winapi-x86_64-pc-windows-gnu-0.4.0", + build_file = Label("//misc/bazel/3rdparty/py_deps:BUILD.winapi-x86_64-pc-windows-gnu-0.4.0.bazel"), + ) + + return [ + struct(repo = "vendor__anyhow-1.0.44", is_dev_dep = False), + struct(repo = "vendor__cc-1.0.70", is_dev_dep = False), + struct(repo = "vendor__clap-2.33.3", is_dev_dep = False), + struct(repo = "vendor__regex-1.5.5", is_dev_dep = False), + struct(repo = "vendor__smallvec-1.6.1", is_dev_dep = False), + struct(repo = "vendor__string-interner-0.12.2", is_dev_dep = False), + struct(repo = "vendor__thiserror-1.0.29", is_dev_dep = False), + struct(repo = "vendor__tree-sitter-0.20.4", is_dev_dep = False), + struct(repo = "vendor__tree-sitter-graph-0.7.0", is_dev_dep = False), + ] diff --git a/misc/bazel/3rdparty/py_deps_extension.bzl b/misc/bazel/3rdparty/py_deps_extension.bzl new file mode 100644 index 000000000000..10541df3530b --- /dev/null +++ b/misc/bazel/3rdparty/py_deps_extension.bzl @@ -0,0 +1,15 @@ +"""Module extensions for using vendored crates with bzlmod""" + +load("//misc/bazel/3rdparty/py_deps:defs.bzl", _crate_repositories = "crate_repositories") + +def _crate_repositories_impl(module_ctx): + direct_deps = _crate_repositories() + return module_ctx.extension_metadata( + root_module_direct_deps = [repo.repo for repo in direct_deps], + root_module_direct_dev_deps = [], + ) + +# short name to address Windows path length issues +p = module_extension( + implementation = _crate_repositories_impl, +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.adler2-2.0.0.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.adler2-2.0.0.bazel new file mode 100644 index 000000000000..fb71634251c1 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.adler2-2.0.0.bazel @@ -0,0 +1,81 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "adler2", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=adler2", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "2.0.0", +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.aho-corasick-1.1.3.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.aho-corasick-1.1.3.bazel new file mode 100644 index 000000000000..f1610817cd69 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.aho-corasick-1.1.3.bazel @@ -0,0 +1,89 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "aho_corasick", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "default", + "perf-literal", + "std", + ], + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=aho-corasick", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "1.1.3", + deps = [ + "@vendor__memchr-2.7.4//:memchr", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.always-assert-0.2.0.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.always-assert-0.2.0.bazel new file mode 100644 index 000000000000..8fe080bd8d5c --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.always-assert-0.2.0.bazel @@ -0,0 +1,87 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "always_assert", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "tracing", + ], + crate_root = "src/lib.rs", + edition = "2018", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=always-assert", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.2.0", + deps = [ + "@vendor__tracing-0.1.40//:tracing", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.android-tzdata-0.1.1.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.android-tzdata-0.1.1.bazel new file mode 100644 index 000000000000..250612d4dc1c --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.android-tzdata-0.1.1.bazel @@ -0,0 +1,81 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "android_tzdata", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2018", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=android-tzdata", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.1.1", +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.android_system_properties-0.1.5.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.android_system_properties-0.1.5.bazel new file mode 100644 index 000000000000..c4200bb140b8 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.android_system_properties-0.1.5.bazel @@ -0,0 +1,84 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "android_system_properties", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2018", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=android_system_properties", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.1.5", + deps = [ + "@vendor__libc-0.2.162//:libc", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.anstream-0.6.18.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.anstream-0.6.18.bazel new file mode 100644 index 000000000000..8cf694a4fd57 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.anstream-0.6.18.bazel @@ -0,0 +1,105 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "anstream", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "auto", + "default", + "wincon", + ], + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=anstream", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.6.18", + deps = [ + "@vendor__anstyle-1.0.10//:anstyle", + "@vendor__anstyle-parse-0.2.6//:anstyle_parse", + "@vendor__anstyle-query-1.1.2//:anstyle_query", + "@vendor__colorchoice-1.0.3//:colorchoice", + "@vendor__is_terminal_polyfill-1.70.1//:is_terminal_polyfill", + "@vendor__utf8parse-0.2.2//:utf8parse", + ] + select({ + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [ + "@vendor__anstyle-wincon-3.0.6//:anstyle_wincon", # aarch64-pc-windows-msvc + ], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [ + "@vendor__anstyle-wincon-3.0.6//:anstyle_wincon", # i686-pc-windows-msvc + ], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [ + "@vendor__anstyle-wincon-3.0.6//:anstyle_wincon", # x86_64-pc-windows-msvc + ], + "//conditions:default": [], + }), +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.anstyle-1.0.10.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.anstyle-1.0.10.bazel new file mode 100644 index 000000000000..ee93802e45a0 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.anstyle-1.0.10.bazel @@ -0,0 +1,85 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "anstyle", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "default", + "std", + ], + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=anstyle", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "1.0.10", +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.anstyle-parse-0.2.6.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.anstyle-parse-0.2.6.bazel new file mode 100644 index 000000000000..fab42524692e --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.anstyle-parse-0.2.6.bazel @@ -0,0 +1,88 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "anstyle_parse", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "default", + "utf8", + ], + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=anstyle-parse", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.2.6", + deps = [ + "@vendor__utf8parse-0.2.2//:utf8parse", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.anstyle-query-1.1.2.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.anstyle-query-1.1.2.bazel new file mode 100644 index 000000000000..86b851f5c10e --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.anstyle-query-1.1.2.bazel @@ -0,0 +1,93 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "anstyle_query", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=anstyle-query", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "1.1.2", + deps = select({ + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [ + "@vendor__windows-sys-0.59.0//:windows_sys", # cfg(windows) + ], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [ + "@vendor__windows-sys-0.59.0//:windows_sys", # cfg(windows) + ], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [ + "@vendor__windows-sys-0.59.0//:windows_sys", # cfg(windows) + ], + "//conditions:default": [], + }), +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.anstyle-wincon-3.0.6.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.anstyle-wincon-3.0.6.bazel new file mode 100644 index 000000000000..a06c681a1cd8 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.anstyle-wincon-3.0.6.bazel @@ -0,0 +1,95 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "anstyle_wincon", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=anstyle-wincon", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "3.0.6", + deps = [ + "@vendor__anstyle-1.0.10//:anstyle", + ] + select({ + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [ + "@vendor__windows-sys-0.59.0//:windows_sys", # cfg(windows) + ], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [ + "@vendor__windows-sys-0.59.0//:windows_sys", # cfg(windows) + ], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [ + "@vendor__windows-sys-0.59.0//:windows_sys", # cfg(windows) + ], + "//conditions:default": [], + }), +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.anyhow-1.0.93.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.anyhow-1.0.93.bazel new file mode 100644 index 000000000000..8fee4d0ea17a --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.anyhow-1.0.93.bazel @@ -0,0 +1,148 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//cargo:defs.bzl", "cargo_build_script") +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "anyhow", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "default", + "std", + ], + crate_root = "src/lib.rs", + edition = "2018", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=anyhow", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "1.0.93", + deps = [ + "@vendor__anyhow-1.0.93//:build_script_build", + ], +) + +cargo_build_script( + name = "_bs", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + "**/*.rs", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "default", + "std", + ], + crate_name = "build_script_build", + crate_root = "build.rs", + data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + edition = "2018", + pkg_name = "anyhow", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=anyhow", + "manual", + "noclippy", + "norustfmt", + ], + version = "1.0.93", + visibility = ["//visibility:private"], +) + +alias( + name = "build_script_build", + actual = ":_bs", + tags = ["manual"], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.argfile-0.2.1.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.argfile-0.2.1.bazel new file mode 100644 index 000000000000..2bdf8263cf0f --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.argfile-0.2.1.bazel @@ -0,0 +1,88 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "argfile", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "default", + ], + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=argfile", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.2.1", + deps = [ + "@vendor__fs-err-2.11.0//:fs_err", + "@vendor__os_str_bytes-7.0.0//:os_str_bytes", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.arrayvec-0.7.6.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.arrayvec-0.7.6.bazel new file mode 100644 index 000000000000..d629043ac399 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.arrayvec-0.7.6.bazel @@ -0,0 +1,85 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "arrayvec", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "default", + "std", + ], + crate_root = "src/lib.rs", + edition = "2018", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=arrayvec", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.7.6", +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.atomic-0.6.0.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.atomic-0.6.0.bazel new file mode 100644 index 000000000000..97b44b69119d --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.atomic-0.6.0.bazel @@ -0,0 +1,88 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "atomic", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "default", + "fallback", + ], + crate_root = "src/lib.rs", + edition = "2018", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=atomic", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.6.0", + deps = [ + "@vendor__bytemuck-1.19.0//:bytemuck", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.autocfg-1.4.0.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.autocfg-1.4.0.bazel new file mode 100644 index 000000000000..6c33e57f9096 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.autocfg-1.4.0.bazel @@ -0,0 +1,81 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "autocfg", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2015", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=autocfg", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "1.4.0", +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.base64-0.22.1.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.base64-0.22.1.bazel new file mode 100644 index 000000000000..f6facb8c3946 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.base64-0.22.1.bazel @@ -0,0 +1,81 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "base64", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2018", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=base64", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.22.1", +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.bazel new file mode 100644 index 000000000000..a1fc9e105123 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.bazel @@ -0,0 +1,308 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +package(default_visibility = ["//visibility:public"]) + +exports_files( + [ + "cargo-bazel.json", + "crates.bzl", + "defs.bzl", + ] + glob( + include = ["*.bazel"], + allow_empty = True, + ), +) + +filegroup( + name = "srcs", + srcs = glob( + include = [ + "*.bazel", + "*.bzl", + ], + allow_empty = True, + ), +) + +# Workspace Member Dependencies +alias( + name = "anyhow", + actual = "@vendor__anyhow-1.0.93//:anyhow", + tags = ["manual"], +) + +alias( + name = "argfile", + actual = "@vendor__argfile-0.2.1//:argfile", + tags = ["manual"], +) + +alias( + name = "chrono", + actual = "@vendor__chrono-0.4.38//:chrono", + tags = ["manual"], +) + +alias( + name = "clap", + actual = "@vendor__clap-4.5.20//:clap", + tags = ["manual"], +) + +alias( + name = "encoding", + actual = "@vendor__encoding-0.2.33//:encoding", + tags = ["manual"], +) + +alias( + name = "figment", + actual = "@vendor__figment-0.10.19//:figment", + tags = ["manual"], +) + +alias( + name = "flate2", + actual = "@vendor__flate2-1.0.34//:flate2", + tags = ["manual"], +) + +alias( + name = "glob", + actual = "@vendor__glob-0.3.1//:glob", + tags = ["manual"], +) + +alias( + name = "globset", + actual = "@vendor__globset-0.4.15//:globset", + tags = ["manual"], +) + +alias( + name = "itertools-0.10.5", + actual = "@vendor__itertools-0.10.5//:itertools", + tags = ["manual"], +) + +alias( + name = "itertools-0.13.0", + actual = "@vendor__itertools-0.13.0//:itertools", + tags = ["manual"], +) + +alias( + name = "lazy_static", + actual = "@vendor__lazy_static-1.5.0//:lazy_static", + tags = ["manual"], +) + +alias( + name = "log", + actual = "@vendor__log-0.4.22//:log", + tags = ["manual"], +) + +alias( + name = "num-traits", + actual = "@vendor__num-traits-0.2.19//:num_traits", + tags = ["manual"], +) + +alias( + name = "num_cpus", + actual = "@vendor__num_cpus-1.16.0//:num_cpus", + tags = ["manual"], +) + +alias( + name = "proc-macro2", + actual = "@vendor__proc-macro2-1.0.89//:proc_macro2", + tags = ["manual"], +) + +alias( + name = "quote", + actual = "@vendor__quote-1.0.37//:quote", + tags = ["manual"], +) + +alias( + name = "ra_ap_base_db", + actual = "@vendor__ra_ap_base_db-0.0.232//:ra_ap_base_db", + tags = ["manual"], +) + +alias( + name = "ra_ap_hir", + actual = "@vendor__ra_ap_hir-0.0.232//:ra_ap_hir", + tags = ["manual"], +) + +alias( + name = "ra_ap_hir_def", + actual = "@vendor__ra_ap_hir_def-0.0.232//:ra_ap_hir_def", + tags = ["manual"], +) + +alias( + name = "ra_ap_hir_expand", + actual = "@vendor__ra_ap_hir_expand-0.0.232//:ra_ap_hir_expand", + tags = ["manual"], +) + +alias( + name = "ra_ap_ide_db", + actual = "@vendor__ra_ap_ide_db-0.0.232//:ra_ap_ide_db", + tags = ["manual"], +) + +alias( + name = "ra_ap_load-cargo", + actual = "@vendor__ra_ap_load-cargo-0.0.232//:ra_ap_load_cargo", + tags = ["manual"], +) + +alias( + name = "ra_ap_parser", + actual = "@vendor__ra_ap_parser-0.0.232//:ra_ap_parser", + tags = ["manual"], +) + +alias( + name = "ra_ap_paths", + actual = "@vendor__ra_ap_paths-0.0.232//:ra_ap_paths", + tags = ["manual"], +) + +alias( + name = "ra_ap_project_model", + actual = "@vendor__ra_ap_project_model-0.0.232//:ra_ap_project_model", + tags = ["manual"], +) + +alias( + name = "ra_ap_span", + actual = "@vendor__ra_ap_span-0.0.232//:ra_ap_span", + tags = ["manual"], +) + +alias( + name = "ra_ap_syntax", + actual = "@vendor__ra_ap_syntax-0.0.232//:ra_ap_syntax", + tags = ["manual"], +) + +alias( + name = "ra_ap_vfs", + actual = "@vendor__ra_ap_vfs-0.0.232//:ra_ap_vfs", + tags = ["manual"], +) + +alias( + name = "rand", + actual = "@vendor__rand-0.8.5//:rand", + tags = ["manual"], +) + +alias( + name = "rayon", + actual = "@vendor__rayon-1.10.0//:rayon", + tags = ["manual"], +) + +alias( + name = "regex", + actual = "@vendor__regex-1.11.1//:regex", + tags = ["manual"], +) + +alias( + name = "serde", + actual = "@vendor__serde-1.0.214//:serde", + tags = ["manual"], +) + +alias( + name = "serde_json", + actual = "@vendor__serde_json-1.0.132//:serde_json", + tags = ["manual"], +) + +alias( + name = "serde_with", + actual = "@vendor__serde_with-3.11.0//:serde_with", + tags = ["manual"], +) + +alias( + name = "stderrlog", + actual = "@vendor__stderrlog-0.6.0//:stderrlog", + tags = ["manual"], +) + +alias( + name = "syn", + actual = "@vendor__syn-2.0.87//:syn", + tags = ["manual"], +) + +alias( + name = "tracing", + actual = "@vendor__tracing-0.1.40//:tracing", + tags = ["manual"], +) + +alias( + name = "tracing-subscriber", + actual = "@vendor__tracing-subscriber-0.3.18//:tracing_subscriber", + tags = ["manual"], +) + +alias( + name = "tree-sitter", + actual = "@vendor__tree-sitter-0.24.4//:tree_sitter", + tags = ["manual"], +) + +alias( + name = "tree-sitter-embedded-template", + actual = "@vendor__tree-sitter-embedded-template-0.23.2//:tree_sitter_embedded_template", + tags = ["manual"], +) + +alias( + name = "tree-sitter-json", + actual = "@vendor__tree-sitter-json-0.24.8//:tree_sitter_json", + tags = ["manual"], +) + +alias( + name = "tree-sitter-ql", + actual = "@vendor__tree-sitter-ql-0.23.1//:tree_sitter_ql", + tags = ["manual"], +) + +alias( + name = "tree-sitter-ruby", + actual = "@vendor__tree-sitter-ruby-0.23.1//:tree_sitter_ruby", + tags = ["manual"], +) + +alias( + name = "triomphe", + actual = "@vendor__triomphe-0.1.14//:triomphe", + tags = ["manual"], +) + +alias( + name = "ungrammar", + actual = "@vendor__ungrammar-1.16.1//:ungrammar", + tags = ["manual"], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.bitflags-1.3.2.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.bitflags-1.3.2.bazel new file mode 100644 index 000000000000..7217327cc4f9 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.bitflags-1.3.2.bazel @@ -0,0 +1,84 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "bitflags", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "default", + ], + crate_root = "src/lib.rs", + edition = "2018", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=bitflags", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "1.3.2", +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.bitflags-2.6.0.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.bitflags-2.6.0.bazel new file mode 100644 index 000000000000..5caba5987cd4 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.bitflags-2.6.0.bazel @@ -0,0 +1,81 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "bitflags", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=bitflags", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "2.6.0", +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.bstr-1.10.0.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.bstr-1.10.0.bazel new file mode 100644 index 000000000000..4473cd6a8e93 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.bstr-1.10.0.bazel @@ -0,0 +1,88 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "bstr", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "alloc", + "std", + ], + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=bstr", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "1.10.0", + deps = [ + "@vendor__memchr-2.7.4//:memchr", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.bumpalo-3.16.0.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.bumpalo-3.16.0.bazel new file mode 100644 index 000000000000..00e59b464374 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.bumpalo-3.16.0.bazel @@ -0,0 +1,84 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "bumpalo", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "default", + ], + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=bumpalo", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "3.16.0", +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.bytemuck-1.19.0.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.bytemuck-1.19.0.bazel new file mode 100644 index 000000000000..d401e7596ee6 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.bytemuck-1.19.0.bazel @@ -0,0 +1,81 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "bytemuck", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2018", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=bytemuck", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "1.19.0", +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.byteorder-1.5.0.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.byteorder-1.5.0.bazel new file mode 100644 index 000000000000..b38b1eb76332 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.byteorder-1.5.0.bazel @@ -0,0 +1,81 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "byteorder", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=byteorder", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "1.5.0", +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.camino-1.1.9.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.camino-1.1.9.bazel new file mode 100644 index 000000000000..8470df3d2a31 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.camino-1.1.9.bazel @@ -0,0 +1,149 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//cargo:defs.bzl", "cargo_build_script") +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "camino", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "serde", + "serde1", + ], + crate_root = "src/lib.rs", + edition = "2018", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=camino", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "1.1.9", + deps = [ + "@vendor__camino-1.1.9//:build_script_build", + "@vendor__serde-1.0.214//:serde", + ], +) + +cargo_build_script( + name = "_bs", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + "**/*.rs", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "serde", + "serde1", + ], + crate_name = "build_script_build", + crate_root = "build.rs", + data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + edition = "2018", + pkg_name = "camino", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=camino", + "manual", + "noclippy", + "norustfmt", + ], + version = "1.1.9", + visibility = ["//visibility:private"], +) + +alias( + name = "build_script_build", + actual = ":_bs", + tags = ["manual"], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.cargo-platform-0.1.8.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.cargo-platform-0.1.8.bazel new file mode 100644 index 000000000000..817a4e0270d3 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.cargo-platform-0.1.8.bazel @@ -0,0 +1,84 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "cargo_platform", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=cargo-platform", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.1.8", + deps = [ + "@vendor__serde-1.0.214//:serde", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.cargo_metadata-0.18.1.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.cargo_metadata-0.18.1.bazel new file mode 100644 index 000000000000..e31c61cfac73 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.cargo_metadata-0.18.1.bazel @@ -0,0 +1,92 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "cargo_metadata", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "default", + ], + crate_root = "src/lib.rs", + edition = "2018", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=cargo_metadata", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.18.1", + deps = [ + "@vendor__camino-1.1.9//:camino", + "@vendor__cargo-platform-0.1.8//:cargo_platform", + "@vendor__semver-1.0.23//:semver", + "@vendor__serde-1.0.214//:serde", + "@vendor__serde_json-1.0.132//:serde_json", + "@vendor__thiserror-1.0.69//:thiserror", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.cc-1.1.37.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.cc-1.1.37.bazel new file mode 100644 index 000000000000..8324309b5c87 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.cc-1.1.37.bazel @@ -0,0 +1,84 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "cc", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2018", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=cc", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "1.1.37", + deps = [ + "@vendor__shlex-1.3.0//:shlex", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.cfg-if-1.0.0.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.cfg-if-1.0.0.bazel new file mode 100644 index 000000000000..31a5abe10dc6 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.cfg-if-1.0.0.bazel @@ -0,0 +1,81 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "cfg_if", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2018", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=cfg-if", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "1.0.0", +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.chalk-derive-0.98.0.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.chalk-derive-0.98.0.bazel new file mode 100644 index 000000000000..525064ac249d --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.chalk-derive-0.98.0.bazel @@ -0,0 +1,87 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_proc_macro") + +package(default_visibility = ["//visibility:public"]) + +rust_proc_macro( + name = "chalk_derive", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2018", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=chalk-derive", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.98.0", + deps = [ + "@vendor__proc-macro2-1.0.89//:proc_macro2", + "@vendor__quote-1.0.37//:quote", + "@vendor__syn-2.0.87//:syn", + "@vendor__synstructure-0.13.1//:synstructure", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.chalk-ir-0.98.0.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.chalk-ir-0.98.0.bazel new file mode 100644 index 000000000000..29d3c026bd37 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.chalk-ir-0.98.0.bazel @@ -0,0 +1,87 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "chalk_ir", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2018", + proc_macro_deps = [ + "@vendor__chalk-derive-0.98.0//:chalk_derive", + ], + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=chalk-ir", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.98.0", + deps = [ + "@vendor__bitflags-2.6.0//:bitflags", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.chalk-recursive-0.98.0.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.chalk-recursive-0.98.0.bazel new file mode 100644 index 000000000000..139c4e0e064a --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.chalk-recursive-0.98.0.bazel @@ -0,0 +1,90 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "chalk_recursive", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2018", + proc_macro_deps = [ + "@vendor__chalk-derive-0.98.0//:chalk_derive", + ], + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=chalk-recursive", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.98.0", + deps = [ + "@vendor__chalk-ir-0.98.0//:chalk_ir", + "@vendor__chalk-solve-0.98.0//:chalk_solve", + "@vendor__rustc-hash-1.1.0//:rustc_hash", + "@vendor__tracing-0.1.40//:tracing", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.chalk-solve-0.98.0.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.chalk-solve-0.98.0.bazel new file mode 100644 index 000000000000..40d8b533d2cd --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.chalk-solve-0.98.0.bazel @@ -0,0 +1,93 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "chalk_solve", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2018", + proc_macro_deps = [ + "@vendor__chalk-derive-0.98.0//:chalk_derive", + ], + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=chalk-solve", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.98.0", + deps = [ + "@vendor__chalk-ir-0.98.0//:chalk_ir", + "@vendor__ena-0.14.3//:ena", + "@vendor__indexmap-2.6.0//:indexmap", + "@vendor__itertools-0.12.1//:itertools", + "@vendor__petgraph-0.6.5//:petgraph", + "@vendor__rustc-hash-1.1.0//:rustc_hash", + "@vendor__tracing-0.1.40//:tracing", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.chrono-0.4.38.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.chrono-0.4.38.bazel new file mode 100644 index 000000000000..c9de91e9284c --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.chrono-0.4.38.bazel @@ -0,0 +1,192 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "chrono", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "alloc", + "android-tzdata", + "clock", + "default", + "iana-time-zone", + "js-sys", + "now", + "oldtime", + "serde", + "std", + "wasm-bindgen", + "wasmbind", + "winapi", + "windows-targets", + ], + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=chrono", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.4.38", + deps = [ + "@vendor__num-traits-0.2.19//:num_traits", + "@vendor__serde-1.0.214//:serde", + ] + select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [ + "@vendor__iana-time-zone-0.1.61//:iana_time_zone", # aarch64-apple-darwin + ], + "@rules_rust//rust/platform:aarch64-apple-ios": [ + "@vendor__iana-time-zone-0.1.61//:iana_time_zone", # aarch64-apple-ios + ], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [ + "@vendor__iana-time-zone-0.1.61//:iana_time_zone", # aarch64-apple-ios-sim + ], + "@rules_rust//rust/platform:aarch64-fuchsia": [ + "@vendor__iana-time-zone-0.1.61//:iana_time_zone", # aarch64-fuchsia + ], + "@rules_rust//rust/platform:aarch64-linux-android": [ + "@vendor__android-tzdata-0.1.1//:android_tzdata", # aarch64-linux-android + "@vendor__iana-time-zone-0.1.61//:iana_time_zone", # aarch64-linux-android + ], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [ + "@vendor__windows-targets-0.52.6//:windows_targets", # aarch64-pc-windows-msvc + ], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [ + "@vendor__iana-time-zone-0.1.61//:iana_time_zone", # aarch64-unknown-linux-gnu + ], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [ + "@vendor__iana-time-zone-0.1.61//:iana_time_zone", # aarch64-unknown-linux-gnu, aarch64-unknown-nixos-gnu + ], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [ + "@vendor__iana-time-zone-0.1.61//:iana_time_zone", # aarch64-unknown-nto-qnx710 + ], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [ + "@vendor__iana-time-zone-0.1.61//:iana_time_zone", # arm-unknown-linux-gnueabi + ], + "@rules_rust//rust/platform:armv7-linux-androideabi": [ + "@vendor__android-tzdata-0.1.1//:android_tzdata", # armv7-linux-androideabi + "@vendor__iana-time-zone-0.1.61//:iana_time_zone", # armv7-linux-androideabi + ], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [ + "@vendor__iana-time-zone-0.1.61//:iana_time_zone", # armv7-unknown-linux-gnueabi + ], + "@rules_rust//rust/platform:i686-apple-darwin": [ + "@vendor__iana-time-zone-0.1.61//:iana_time_zone", # i686-apple-darwin + ], + "@rules_rust//rust/platform:i686-linux-android": [ + "@vendor__android-tzdata-0.1.1//:android_tzdata", # i686-linux-android + "@vendor__iana-time-zone-0.1.61//:iana_time_zone", # i686-linux-android + ], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [ + "@vendor__windows-targets-0.52.6//:windows_targets", # i686-pc-windows-msvc + ], + "@rules_rust//rust/platform:i686-unknown-freebsd": [ + "@vendor__iana-time-zone-0.1.61//:iana_time_zone", # i686-unknown-freebsd + ], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [ + "@vendor__iana-time-zone-0.1.61//:iana_time_zone", # i686-unknown-linux-gnu + ], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [ + "@vendor__iana-time-zone-0.1.61//:iana_time_zone", # powerpc-unknown-linux-gnu + ], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [ + "@vendor__iana-time-zone-0.1.61//:iana_time_zone", # s390x-unknown-linux-gnu + ], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [ + "@vendor__js-sys-0.3.72//:js_sys", # wasm32-unknown-unknown + "@vendor__wasm-bindgen-0.2.95//:wasm_bindgen", # wasm32-unknown-unknown + ], + "@rules_rust//rust/platform:x86_64-apple-darwin": [ + "@vendor__iana-time-zone-0.1.61//:iana_time_zone", # x86_64-apple-darwin + ], + "@rules_rust//rust/platform:x86_64-apple-ios": [ + "@vendor__iana-time-zone-0.1.61//:iana_time_zone", # x86_64-apple-ios + ], + "@rules_rust//rust/platform:x86_64-fuchsia": [ + "@vendor__iana-time-zone-0.1.61//:iana_time_zone", # x86_64-fuchsia + ], + "@rules_rust//rust/platform:x86_64-linux-android": [ + "@vendor__android-tzdata-0.1.1//:android_tzdata", # x86_64-linux-android + "@vendor__iana-time-zone-0.1.61//:iana_time_zone", # x86_64-linux-android + ], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [ + "@vendor__windows-targets-0.52.6//:windows_targets", # x86_64-pc-windows-msvc + ], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [ + "@vendor__iana-time-zone-0.1.61//:iana_time_zone", # x86_64-unknown-freebsd + ], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [ + "@vendor__iana-time-zone-0.1.61//:iana_time_zone", # x86_64-unknown-linux-gnu + ], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [ + "@vendor__iana-time-zone-0.1.61//:iana_time_zone", # x86_64-unknown-linux-gnu, x86_64-unknown-nixos-gnu + ], + "//conditions:default": [], + }), +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.clap-4.5.20.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.clap-4.5.20.bazel new file mode 100644 index 000000000000..8348908cd3b3 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.clap-4.5.20.bazel @@ -0,0 +1,97 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "clap", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "color", + "default", + "derive", + "error-context", + "help", + "std", + "suggestions", + "usage", + ], + crate_root = "src/lib.rs", + edition = "2021", + proc_macro_deps = [ + "@vendor__clap_derive-4.5.18//:clap_derive", + ], + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=clap", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "4.5.20", + deps = [ + "@vendor__clap_builder-4.5.20//:clap_builder", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.clap_builder-4.5.20.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.clap_builder-4.5.20.bazel new file mode 100644 index 000000000000..1e4720d1719b --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.clap_builder-4.5.20.bazel @@ -0,0 +1,95 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "clap_builder", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "color", + "error-context", + "help", + "std", + "suggestions", + "usage", + ], + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=clap_builder", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "4.5.20", + deps = [ + "@vendor__anstream-0.6.18//:anstream", + "@vendor__anstyle-1.0.10//:anstyle", + "@vendor__clap_lex-0.7.2//:clap_lex", + "@vendor__strsim-0.11.1//:strsim", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.clap_derive-4.5.18.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.clap_derive-4.5.18.bazel new file mode 100644 index 000000000000..8e358dcd01dc --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.clap_derive-4.5.18.bazel @@ -0,0 +1,90 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_proc_macro") + +package(default_visibility = ["//visibility:public"]) + +rust_proc_macro( + name = "clap_derive", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "default", + ], + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=clap_derive", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "4.5.18", + deps = [ + "@vendor__heck-0.5.0//:heck", + "@vendor__proc-macro2-1.0.89//:proc_macro2", + "@vendor__quote-1.0.37//:quote", + "@vendor__syn-2.0.87//:syn", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.clap_lex-0.7.2.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.clap_lex-0.7.2.bazel new file mode 100644 index 000000000000..36a02fe87c00 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.clap_lex-0.7.2.bazel @@ -0,0 +1,81 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "clap_lex", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=clap_lex", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.7.2", +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.colorchoice-1.0.3.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.colorchoice-1.0.3.bazel new file mode 100644 index 000000000000..9d8b8edaf51f --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.colorchoice-1.0.3.bazel @@ -0,0 +1,81 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "colorchoice", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=colorchoice", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "1.0.3", +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.core-foundation-sys-0.8.7.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.core-foundation-sys-0.8.7.bazel new file mode 100644 index 000000000000..cd28792f2cf7 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.core-foundation-sys-0.8.7.bazel @@ -0,0 +1,85 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "core_foundation_sys", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "default", + "link", + ], + crate_root = "src/lib.rs", + edition = "2018", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=core-foundation-sys", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.8.7", +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.countme-3.0.1.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.countme-3.0.1.bazel new file mode 100644 index 000000000000..664156169baa --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.countme-3.0.1.bazel @@ -0,0 +1,81 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "countme", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2018", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=countme", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "3.0.1", +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.cov-mark-2.0.0.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.cov-mark-2.0.0.bazel new file mode 100644 index 000000000000..d08a8e7d3433 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.cov-mark-2.0.0.bazel @@ -0,0 +1,85 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "cov_mark", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "default", + "enable", + ], + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=cov-mark", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "2.0.0", +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.crc32fast-1.4.2.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.crc32fast-1.4.2.bazel new file mode 100644 index 000000000000..b544814fef68 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.crc32fast-1.4.2.bazel @@ -0,0 +1,88 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "crc32fast", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "default", + "std", + ], + crate_root = "src/lib.rs", + edition = "2015", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=crc32fast", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "1.4.2", + deps = [ + "@vendor__cfg-if-1.0.0//:cfg_if", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.crossbeam-channel-0.5.13.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.crossbeam-channel-0.5.13.bazel new file mode 100644 index 000000000000..1e26b61f1d66 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.crossbeam-channel-0.5.13.bazel @@ -0,0 +1,88 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "crossbeam_channel", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "default", + "std", + ], + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=crossbeam-channel", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.5.13", + deps = [ + "@vendor__crossbeam-utils-0.8.20//:crossbeam_utils", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.crossbeam-deque-0.8.5.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.crossbeam-deque-0.8.5.bazel new file mode 100644 index 000000000000..757d98d4e6de --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.crossbeam-deque-0.8.5.bazel @@ -0,0 +1,89 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "crossbeam_deque", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "default", + "std", + ], + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=crossbeam-deque", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.8.5", + deps = [ + "@vendor__crossbeam-epoch-0.9.18//:crossbeam_epoch", + "@vendor__crossbeam-utils-0.8.20//:crossbeam_utils", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.crossbeam-epoch-0.9.18.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.crossbeam-epoch-0.9.18.bazel new file mode 100644 index 000000000000..9d3032c9f9e1 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.crossbeam-epoch-0.9.18.bazel @@ -0,0 +1,88 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "crossbeam_epoch", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "alloc", + "std", + ], + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=crossbeam-epoch", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.9.18", + deps = [ + "@vendor__crossbeam-utils-0.8.20//:crossbeam_utils", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.crossbeam-utils-0.8.20.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.crossbeam-utils-0.8.20.bazel new file mode 100644 index 000000000000..21f536b0f349 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.crossbeam-utils-0.8.20.bazel @@ -0,0 +1,148 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//cargo:defs.bzl", "cargo_build_script") +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "crossbeam_utils", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "default", + "std", + ], + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=crossbeam-utils", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.8.20", + deps = [ + "@vendor__crossbeam-utils-0.8.20//:build_script_build", + ], +) + +cargo_build_script( + name = "_bs", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + "**/*.rs", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "default", + "std", + ], + crate_name = "build_script_build", + crate_root = "build.rs", + data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + edition = "2021", + pkg_name = "crossbeam-utils", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=crossbeam-utils", + "manual", + "noclippy", + "norustfmt", + ], + version = "0.8.20", + visibility = ["//visibility:private"], +) + +alias( + name = "build_script_build", + actual = ":_bs", + tags = ["manual"], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.darling-0.20.10.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.darling-0.20.10.bazel new file mode 100644 index 000000000000..f0b2ed469b33 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.darling-0.20.10.bazel @@ -0,0 +1,91 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "darling", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "default", + "suggestions", + ], + crate_root = "src/lib.rs", + edition = "2021", + proc_macro_deps = [ + "@vendor__darling_macro-0.20.10//:darling_macro", + ], + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=darling", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.20.10", + deps = [ + "@vendor__darling_core-0.20.10//:darling_core", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.darling_core-0.20.10.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.darling_core-0.20.10.bazel new file mode 100644 index 000000000000..d73c104dcd83 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.darling_core-0.20.10.bazel @@ -0,0 +1,93 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "darling_core", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "strsim", + "suggestions", + ], + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=darling_core", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.20.10", + deps = [ + "@vendor__fnv-1.0.7//:fnv", + "@vendor__ident_case-1.0.1//:ident_case", + "@vendor__proc-macro2-1.0.89//:proc_macro2", + "@vendor__quote-1.0.37//:quote", + "@vendor__strsim-0.11.1//:strsim", + "@vendor__syn-2.0.87//:syn", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.darling_macro-0.20.10.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.darling_macro-0.20.10.bazel new file mode 100644 index 000000000000..3fcf90d20b69 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.darling_macro-0.20.10.bazel @@ -0,0 +1,86 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_proc_macro") + +package(default_visibility = ["//visibility:public"]) + +rust_proc_macro( + name = "darling_macro", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=darling_macro", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.20.10", + deps = [ + "@vendor__darling_core-0.20.10//:darling_core", + "@vendor__quote-1.0.37//:quote", + "@vendor__syn-2.0.87//:syn", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.dashmap-5.5.3.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.dashmap-5.5.3.bazel new file mode 100644 index 000000000000..c5a50a688567 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.dashmap-5.5.3.bazel @@ -0,0 +1,91 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "dashmap", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "raw-api", + ], + crate_root = "src/lib.rs", + edition = "2018", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=dashmap", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "5.5.3", + deps = [ + "@vendor__cfg-if-1.0.0//:cfg_if", + "@vendor__hashbrown-0.14.5//:hashbrown", + "@vendor__lock_api-0.4.12//:lock_api", + "@vendor__once_cell-1.20.2//:once_cell", + "@vendor__parking_lot_core-0.9.10//:parking_lot_core", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.deranged-0.3.11.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.deranged-0.3.11.bazel new file mode 100644 index 000000000000..c37b407191a3 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.deranged-0.3.11.bazel @@ -0,0 +1,81 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "deranged", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=deranged", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.3.11", +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.drop_bomb-0.1.5.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.drop_bomb-0.1.5.bazel new file mode 100644 index 000000000000..996b945784c0 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.drop_bomb-0.1.5.bazel @@ -0,0 +1,81 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "drop_bomb", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2015", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=drop_bomb", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.1.5", +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.either-1.13.0.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.either-1.13.0.bazel new file mode 100644 index 000000000000..3ea68c0f3e7f --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.either-1.13.0.bazel @@ -0,0 +1,85 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "either", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "default", + "use_std", + ], + crate_root = "src/lib.rs", + edition = "2018", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=either", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "1.13.0", +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ena-0.14.3.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ena-0.14.3.bazel new file mode 100644 index 000000000000..76d099a4cb21 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ena-0.14.3.bazel @@ -0,0 +1,84 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "ena", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2015", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=ena", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.14.3", + deps = [ + "@vendor__log-0.4.22//:log", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.encoding-0.2.33.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.encoding-0.2.33.bazel new file mode 100644 index 000000000000..48e2b36de48f --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.encoding-0.2.33.bazel @@ -0,0 +1,88 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "encoding", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2015", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=encoding", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.2.33", + deps = [ + "@vendor__encoding-index-japanese-1.20141219.5//:encoding_index_japanese", + "@vendor__encoding-index-korean-1.20141219.5//:encoding_index_korean", + "@vendor__encoding-index-simpchinese-1.20141219.5//:encoding_index_simpchinese", + "@vendor__encoding-index-singlebyte-1.20141219.5//:encoding_index_singlebyte", + "@vendor__encoding-index-tradchinese-1.20141219.5//:encoding_index_tradchinese", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.encoding-index-japanese-1.20141219.5.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.encoding-index-japanese-1.20141219.5.bazel new file mode 100644 index 000000000000..892d4925645d --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.encoding-index-japanese-1.20141219.5.bazel @@ -0,0 +1,84 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "encoding_index_japanese", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "lib.rs", + edition = "2015", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=encoding-index-japanese", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "1.20141219.5", + deps = [ + "@vendor__encoding_index_tests-0.1.4//:encoding_index_tests", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.encoding-index-korean-1.20141219.5.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.encoding-index-korean-1.20141219.5.bazel new file mode 100644 index 000000000000..c34cf5efed31 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.encoding-index-korean-1.20141219.5.bazel @@ -0,0 +1,84 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "encoding_index_korean", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "lib.rs", + edition = "2015", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=encoding-index-korean", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "1.20141219.5", + deps = [ + "@vendor__encoding_index_tests-0.1.4//:encoding_index_tests", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.encoding-index-simpchinese-1.20141219.5.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.encoding-index-simpchinese-1.20141219.5.bazel new file mode 100644 index 000000000000..3b180729c1fa --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.encoding-index-simpchinese-1.20141219.5.bazel @@ -0,0 +1,84 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "encoding_index_simpchinese", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "lib.rs", + edition = "2015", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=encoding-index-simpchinese", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "1.20141219.5", + deps = [ + "@vendor__encoding_index_tests-0.1.4//:encoding_index_tests", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.encoding-index-singlebyte-1.20141219.5.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.encoding-index-singlebyte-1.20141219.5.bazel new file mode 100644 index 000000000000..18a2758e544d --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.encoding-index-singlebyte-1.20141219.5.bazel @@ -0,0 +1,84 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "encoding_index_singlebyte", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "lib.rs", + edition = "2015", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=encoding-index-singlebyte", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "1.20141219.5", + deps = [ + "@vendor__encoding_index_tests-0.1.4//:encoding_index_tests", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.encoding-index-tradchinese-1.20141219.5.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.encoding-index-tradchinese-1.20141219.5.bazel new file mode 100644 index 000000000000..7d45d9c0f8cb --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.encoding-index-tradchinese-1.20141219.5.bazel @@ -0,0 +1,84 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "encoding_index_tradchinese", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "lib.rs", + edition = "2015", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=encoding-index-tradchinese", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "1.20141219.5", + deps = [ + "@vendor__encoding_index_tests-0.1.4//:encoding_index_tests", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.encoding_index_tests-0.1.4.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.encoding_index_tests-0.1.4.bazel new file mode 100644 index 000000000000..b844b4f064c2 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.encoding_index_tests-0.1.4.bazel @@ -0,0 +1,81 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "encoding_index_tests", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "index_tests.rs", + edition = "2015", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=encoding_index_tests", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.1.4", +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.equivalent-1.0.1.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.equivalent-1.0.1.bazel new file mode 100644 index 000000000000..e567a8999d6d --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.equivalent-1.0.1.bazel @@ -0,0 +1,81 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "equivalent", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2015", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=equivalent", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "1.0.1", +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.figment-0.10.19.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.figment-0.10.19.bazel new file mode 100644 index 000000000000..bfafa8562e96 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.figment-0.10.19.bazel @@ -0,0 +1,205 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//cargo:defs.bzl", "cargo_build_script") +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "figment", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "env", + "parse-value", + "pear", + "serde_yaml", + "yaml", + ], + crate_root = "src/lib.rs", + edition = "2018", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=figment", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.10.19", + deps = [ + "@vendor__figment-0.10.19//:build_script_build", + "@vendor__pear-0.2.9//:pear", + "@vendor__serde-1.0.214//:serde", + "@vendor__serde_yaml-0.9.34-deprecated//:serde_yaml", + "@vendor__uncased-0.9.10//:uncased", + ] + select({ + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [ + "@vendor__atomic-0.6.0//:atomic", # cfg(any(target_pointer_width = "8", target_pointer_width = "16", target_pointer_width = "32")) + ], + "@rules_rust//rust/platform:armv7-linux-androideabi": [ + "@vendor__atomic-0.6.0//:atomic", # cfg(any(target_pointer_width = "8", target_pointer_width = "16", target_pointer_width = "32")) + ], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [ + "@vendor__atomic-0.6.0//:atomic", # cfg(any(target_pointer_width = "8", target_pointer_width = "16", target_pointer_width = "32")) + ], + "@rules_rust//rust/platform:i686-apple-darwin": [ + "@vendor__atomic-0.6.0//:atomic", # cfg(any(target_pointer_width = "8", target_pointer_width = "16", target_pointer_width = "32")) + ], + "@rules_rust//rust/platform:i686-linux-android": [ + "@vendor__atomic-0.6.0//:atomic", # cfg(any(target_pointer_width = "8", target_pointer_width = "16", target_pointer_width = "32")) + ], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [ + "@vendor__atomic-0.6.0//:atomic", # cfg(any(target_pointer_width = "8", target_pointer_width = "16", target_pointer_width = "32")) + ], + "@rules_rust//rust/platform:i686-unknown-freebsd": [ + "@vendor__atomic-0.6.0//:atomic", # cfg(any(target_pointer_width = "8", target_pointer_width = "16", target_pointer_width = "32")) + ], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [ + "@vendor__atomic-0.6.0//:atomic", # cfg(any(target_pointer_width = "8", target_pointer_width = "16", target_pointer_width = "32")) + ], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [ + "@vendor__atomic-0.6.0//:atomic", # cfg(any(target_pointer_width = "8", target_pointer_width = "16", target_pointer_width = "32")) + ], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [ + "@vendor__atomic-0.6.0//:atomic", # cfg(any(target_pointer_width = "8", target_pointer_width = "16", target_pointer_width = "32")) + ], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [ + "@vendor__atomic-0.6.0//:atomic", # cfg(any(target_pointer_width = "8", target_pointer_width = "16", target_pointer_width = "32")) + ], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [ + "@vendor__atomic-0.6.0//:atomic", # cfg(any(target_pointer_width = "8", target_pointer_width = "16", target_pointer_width = "32")) + ], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [ + "@vendor__atomic-0.6.0//:atomic", # cfg(any(target_pointer_width = "8", target_pointer_width = "16", target_pointer_width = "32")) + ], + "@rules_rust//rust/platform:wasm32-wasi": [ + "@vendor__atomic-0.6.0//:atomic", # cfg(any(target_pointer_width = "8", target_pointer_width = "16", target_pointer_width = "32")) + ], + "//conditions:default": [], + }), +) + +cargo_build_script( + name = "_bs", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + "**/*.rs", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "env", + "parse-value", + "pear", + "serde_yaml", + "yaml", + ], + crate_name = "build_script_build", + crate_root = "build.rs", + data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + edition = "2018", + pkg_name = "figment", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=figment", + "manual", + "noclippy", + "norustfmt", + ], + version = "0.10.19", + visibility = ["//visibility:private"], + deps = [ + "@vendor__version_check-0.9.5//:version_check", + ], +) + +alias( + name = "build_script_build", + actual = ":_bs", + tags = ["manual"], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.filetime-0.2.25.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.filetime-0.2.25.bazel new file mode 100644 index 000000000000..3f054e089e31 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.filetime-0.2.25.bazel @@ -0,0 +1,167 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "filetime", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2018", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=filetime", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.2.25", + deps = [ + "@vendor__cfg-if-1.0.0//:cfg_if", + ] + select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [ + "@vendor__libc-0.2.162//:libc", # cfg(unix) + ], + "@rules_rust//rust/platform:aarch64-apple-ios": [ + "@vendor__libc-0.2.162//:libc", # cfg(unix) + ], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [ + "@vendor__libc-0.2.162//:libc", # cfg(unix) + ], + "@rules_rust//rust/platform:aarch64-fuchsia": [ + "@vendor__libc-0.2.162//:libc", # cfg(unix) + ], + "@rules_rust//rust/platform:aarch64-linux-android": [ + "@vendor__libc-0.2.162//:libc", # cfg(unix) + ], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [ + "@vendor__windows-sys-0.59.0//:windows_sys", # cfg(windows) + ], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [ + "@vendor__libc-0.2.162//:libc", # cfg(unix) + ], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [ + "@vendor__libc-0.2.162//:libc", # cfg(unix) + ], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [ + "@vendor__libc-0.2.162//:libc", # cfg(unix) + ], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [ + "@vendor__libc-0.2.162//:libc", # cfg(unix) + ], + "@rules_rust//rust/platform:armv7-linux-androideabi": [ + "@vendor__libc-0.2.162//:libc", # cfg(unix) + ], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [ + "@vendor__libc-0.2.162//:libc", # cfg(unix) + ], + "@rules_rust//rust/platform:i686-apple-darwin": [ + "@vendor__libc-0.2.162//:libc", # cfg(unix) + ], + "@rules_rust//rust/platform:i686-linux-android": [ + "@vendor__libc-0.2.162//:libc", # cfg(unix) + ], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [ + "@vendor__windows-sys-0.59.0//:windows_sys", # cfg(windows) + ], + "@rules_rust//rust/platform:i686-unknown-freebsd": [ + "@vendor__libc-0.2.162//:libc", # cfg(unix) + ], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [ + "@vendor__libc-0.2.162//:libc", # cfg(unix) + ], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [ + "@vendor__libc-0.2.162//:libc", # cfg(unix) + ], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [ + "@vendor__libc-0.2.162//:libc", # cfg(unix) + ], + "@rules_rust//rust/platform:x86_64-apple-darwin": [ + "@vendor__libc-0.2.162//:libc", # cfg(unix) + ], + "@rules_rust//rust/platform:x86_64-apple-ios": [ + "@vendor__libc-0.2.162//:libc", # cfg(unix) + ], + "@rules_rust//rust/platform:x86_64-fuchsia": [ + "@vendor__libc-0.2.162//:libc", # cfg(unix) + ], + "@rules_rust//rust/platform:x86_64-linux-android": [ + "@vendor__libc-0.2.162//:libc", # cfg(unix) + ], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [ + "@vendor__windows-sys-0.59.0//:windows_sys", # cfg(windows) + ], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [ + "@vendor__libc-0.2.162//:libc", # cfg(unix) + ], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [ + "@vendor__libc-0.2.162//:libc", # cfg(unix) + ], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [ + "@vendor__libc-0.2.162//:libc", # cfg(unix) + ], + "//conditions:default": [], + }), +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.fixedbitset-0.4.2.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.fixedbitset-0.4.2.bazel new file mode 100644 index 000000000000..4d879e253b99 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.fixedbitset-0.4.2.bazel @@ -0,0 +1,81 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "fixedbitset", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2015", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=fixedbitset", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.4.2", +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.flate2-1.0.34.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.flate2-1.0.34.bazel new file mode 100644 index 000000000000..0d56d2ec6475 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.flate2-1.0.34.bazel @@ -0,0 +1,91 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "flate2", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "any_impl", + "default", + "miniz_oxide", + "rust_backend", + ], + crate_root = "src/lib.rs", + edition = "2018", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=flate2", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "1.0.34", + deps = [ + "@vendor__crc32fast-1.4.2//:crc32fast", + "@vendor__miniz_oxide-0.8.0//:miniz_oxide", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.fnv-1.0.7.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.fnv-1.0.7.bazel new file mode 100644 index 000000000000..f72561fdf853 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.fnv-1.0.7.bazel @@ -0,0 +1,85 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "fnv", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "default", + "std", + ], + crate_root = "lib.rs", + edition = "2015", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=fnv", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "1.0.7", +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.fs-err-2.11.0.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.fs-err-2.11.0.bazel new file mode 100644 index 000000000000..d0e4f94c2863 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.fs-err-2.11.0.bazel @@ -0,0 +1,143 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//cargo:defs.bzl", "cargo_build_script") +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "fs_err", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2018", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=fs-err", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "2.11.0", + deps = [ + "@vendor__fs-err-2.11.0//:build_script_build", + ], +) + +cargo_build_script( + name = "_bs", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + "**/*.rs", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_name = "build_script_build", + crate_root = "build.rs", + data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + edition = "2018", + pkg_name = "fs-err", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=fs-err", + "manual", + "noclippy", + "norustfmt", + ], + version = "2.11.0", + visibility = ["//visibility:private"], + deps = [ + "@vendor__autocfg-1.4.0//:autocfg", + ], +) + +alias( + name = "build_script_build", + actual = ":_bs", + tags = ["manual"], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.fsevent-sys-4.1.0.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.fsevent-sys-4.1.0.bazel new file mode 100644 index 000000000000..9c6ac1940bc3 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.fsevent-sys-4.1.0.bazel @@ -0,0 +1,84 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "fsevent_sys", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2018", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=fsevent-sys", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "4.1.0", + deps = [ + "@vendor__libc-0.2.162//:libc", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.fst-0.4.7.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.fst-0.4.7.bazel new file mode 100644 index 000000000000..ff0498c104de --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.fst-0.4.7.bazel @@ -0,0 +1,146 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//cargo:defs.bzl", "cargo_build_script") +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "fst", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "default", + ], + crate_root = "src/lib.rs", + edition = "2018", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=fst", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.4.7", + deps = [ + "@vendor__fst-0.4.7//:build_script_build", + ], +) + +cargo_build_script( + name = "_bs", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + "**/*.rs", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "default", + ], + crate_name = "build_script_build", + crate_root = "build.rs", + data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + edition = "2018", + pkg_name = "fst", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=fst", + "manual", + "noclippy", + "norustfmt", + ], + version = "0.4.7", + visibility = ["//visibility:private"], +) + +alias( + name = "build_script_build", + actual = ":_bs", + tags = ["manual"], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.getrandom-0.2.15.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.getrandom-0.2.15.bazel new file mode 100644 index 000000000000..16944c60c927 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.getrandom-0.2.15.bazel @@ -0,0 +1,164 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "getrandom", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "std", + ], + crate_root = "src/lib.rs", + edition = "2018", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=getrandom", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.2.15", + deps = [ + "@vendor__cfg-if-1.0.0//:cfg_if", + ] + select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [ + "@vendor__libc-0.2.162//:libc", # cfg(unix) + ], + "@rules_rust//rust/platform:aarch64-apple-ios": [ + "@vendor__libc-0.2.162//:libc", # cfg(unix) + ], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [ + "@vendor__libc-0.2.162//:libc", # cfg(unix) + ], + "@rules_rust//rust/platform:aarch64-fuchsia": [ + "@vendor__libc-0.2.162//:libc", # cfg(unix) + ], + "@rules_rust//rust/platform:aarch64-linux-android": [ + "@vendor__libc-0.2.162//:libc", # cfg(unix) + ], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [ + "@vendor__libc-0.2.162//:libc", # cfg(unix) + ], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [ + "@vendor__libc-0.2.162//:libc", # cfg(unix) + ], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [ + "@vendor__libc-0.2.162//:libc", # cfg(unix) + ], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [ + "@vendor__libc-0.2.162//:libc", # cfg(unix) + ], + "@rules_rust//rust/platform:armv7-linux-androideabi": [ + "@vendor__libc-0.2.162//:libc", # cfg(unix) + ], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [ + "@vendor__libc-0.2.162//:libc", # cfg(unix) + ], + "@rules_rust//rust/platform:i686-apple-darwin": [ + "@vendor__libc-0.2.162//:libc", # cfg(unix) + ], + "@rules_rust//rust/platform:i686-linux-android": [ + "@vendor__libc-0.2.162//:libc", # cfg(unix) + ], + "@rules_rust//rust/platform:i686-unknown-freebsd": [ + "@vendor__libc-0.2.162//:libc", # cfg(unix) + ], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [ + "@vendor__libc-0.2.162//:libc", # cfg(unix) + ], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [ + "@vendor__libc-0.2.162//:libc", # cfg(unix) + ], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [ + "@vendor__libc-0.2.162//:libc", # cfg(unix) + ], + "@rules_rust//rust/platform:wasm32-wasi": [ + "@vendor__wasi-0.11.0-wasi-snapshot-preview1//:wasi", # cfg(target_os = "wasi") + ], + "@rules_rust//rust/platform:x86_64-apple-darwin": [ + "@vendor__libc-0.2.162//:libc", # cfg(unix) + ], + "@rules_rust//rust/platform:x86_64-apple-ios": [ + "@vendor__libc-0.2.162//:libc", # cfg(unix) + ], + "@rules_rust//rust/platform:x86_64-fuchsia": [ + "@vendor__libc-0.2.162//:libc", # cfg(unix) + ], + "@rules_rust//rust/platform:x86_64-linux-android": [ + "@vendor__libc-0.2.162//:libc", # cfg(unix) + ], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [ + "@vendor__libc-0.2.162//:libc", # cfg(unix) + ], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [ + "@vendor__libc-0.2.162//:libc", # cfg(unix) + ], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [ + "@vendor__libc-0.2.162//:libc", # cfg(unix) + ], + "//conditions:default": [], + }), +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.glob-0.3.1.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.glob-0.3.1.bazel new file mode 100644 index 000000000000..5d051f2cbc3b --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.glob-0.3.1.bazel @@ -0,0 +1,81 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "glob", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2015", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=glob", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.3.1", +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.globset-0.4.15.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.globset-0.4.15.bazel new file mode 100644 index 000000000000..7dd28cdbf407 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.globset-0.4.15.bazel @@ -0,0 +1,92 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "globset", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "default", + "log", + ], + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=globset", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.4.15", + deps = [ + "@vendor__aho-corasick-1.1.3//:aho_corasick", + "@vendor__bstr-1.10.0//:bstr", + "@vendor__log-0.4.22//:log", + "@vendor__regex-automata-0.4.8//:regex_automata", + "@vendor__regex-syntax-0.8.5//:regex_syntax", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.hashbrown-0.12.3.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.hashbrown-0.12.3.bazel new file mode 100644 index 000000000000..bc3c84c20000 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.hashbrown-0.12.3.bazel @@ -0,0 +1,81 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "hashbrown", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=hashbrown", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.12.3", +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.hashbrown-0.14.5.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.hashbrown-0.14.5.bazel new file mode 100644 index 000000000000..0955c09b114f --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.hashbrown-0.14.5.bazel @@ -0,0 +1,84 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "hashbrown", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "inline-more", + ], + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=hashbrown", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.14.5", +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.hashbrown-0.15.1.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.hashbrown-0.15.1.bazel new file mode 100644 index 000000000000..63f8895a32ed --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.hashbrown-0.15.1.bazel @@ -0,0 +1,81 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "hashbrown", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=hashbrown", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.15.1", +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.heck-0.4.1.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.heck-0.4.1.bazel new file mode 100644 index 000000000000..c6020a540539 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.heck-0.4.1.bazel @@ -0,0 +1,84 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "heck", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "default", + ], + crate_root = "src/lib.rs", + edition = "2018", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=heck", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.4.1", +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.heck-0.5.0.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.heck-0.5.0.bazel new file mode 100644 index 000000000000..2e36a8358902 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.heck-0.5.0.bazel @@ -0,0 +1,81 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "heck", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=heck", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.5.0", +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.hermit-abi-0.3.9.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.hermit-abi-0.3.9.bazel new file mode 100644 index 000000000000..b45878a57ace --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.hermit-abi-0.3.9.bazel @@ -0,0 +1,81 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "hermit_abi", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=hermit-abi", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.3.9", +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.hermit-abi-0.4.0.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.hermit-abi-0.4.0.bazel new file mode 100644 index 000000000000..c326d28995f2 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.hermit-abi-0.4.0.bazel @@ -0,0 +1,81 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "hermit_abi", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=hermit-abi", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.4.0", +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.hex-0.4.3.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.hex-0.4.3.bazel new file mode 100644 index 000000000000..175e5f1a882f --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.hex-0.4.3.bazel @@ -0,0 +1,81 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "hex", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2018", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=hex", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.4.3", +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.home-0.5.9.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.home-0.5.9.bazel new file mode 100644 index 000000000000..32868b530e8c --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.home-0.5.9.bazel @@ -0,0 +1,93 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "home", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=home", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.5.9", + deps = select({ + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [ + "@vendor__windows-sys-0.52.0//:windows_sys", # cfg(windows) + ], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [ + "@vendor__windows-sys-0.52.0//:windows_sys", # cfg(windows) + ], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [ + "@vendor__windows-sys-0.52.0//:windows_sys", # cfg(windows) + ], + "//conditions:default": [], + }), +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.iana-time-zone-0.1.61.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.iana-time-zone-0.1.61.bazel new file mode 100644 index 000000000000..a58468f6e107 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.iana-time-zone-0.1.61.bazel @@ -0,0 +1,130 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "iana_time_zone", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "fallback", + ], + crate_root = "src/lib.rs", + edition = "2018", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=iana-time-zone", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.1.61", + deps = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [ + "@vendor__core-foundation-sys-0.8.7//:core_foundation_sys", # cfg(any(target_os = "macos", target_os = "ios")) + ], + "@rules_rust//rust/platform:aarch64-apple-ios": [ + "@vendor__core-foundation-sys-0.8.7//:core_foundation_sys", # cfg(any(target_os = "macos", target_os = "ios")) + ], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [ + "@vendor__core-foundation-sys-0.8.7//:core_foundation_sys", # cfg(any(target_os = "macos", target_os = "ios")) + ], + "@rules_rust//rust/platform:aarch64-linux-android": [ + "@vendor__android_system_properties-0.1.5//:android_system_properties", # cfg(target_os = "android") + ], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [ + "@vendor__windows-core-0.52.0//:windows_core", # cfg(target_os = "windows") + ], + "@rules_rust//rust/platform:armv7-linux-androideabi": [ + "@vendor__android_system_properties-0.1.5//:android_system_properties", # cfg(target_os = "android") + ], + "@rules_rust//rust/platform:i686-apple-darwin": [ + "@vendor__core-foundation-sys-0.8.7//:core_foundation_sys", # cfg(any(target_os = "macos", target_os = "ios")) + ], + "@rules_rust//rust/platform:i686-linux-android": [ + "@vendor__android_system_properties-0.1.5//:android_system_properties", # cfg(target_os = "android") + ], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [ + "@vendor__windows-core-0.52.0//:windows_core", # cfg(target_os = "windows") + ], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [ + "@vendor__js-sys-0.3.72//:js_sys", # cfg(all(target_arch = "wasm32", target_os = "unknown")) + "@vendor__wasm-bindgen-0.2.95//:wasm_bindgen", # cfg(all(target_arch = "wasm32", target_os = "unknown")) + ], + "@rules_rust//rust/platform:x86_64-apple-darwin": [ + "@vendor__core-foundation-sys-0.8.7//:core_foundation_sys", # cfg(any(target_os = "macos", target_os = "ios")) + ], + "@rules_rust//rust/platform:x86_64-apple-ios": [ + "@vendor__core-foundation-sys-0.8.7//:core_foundation_sys", # cfg(any(target_os = "macos", target_os = "ios")) + ], + "@rules_rust//rust/platform:x86_64-linux-android": [ + "@vendor__android_system_properties-0.1.5//:android_system_properties", # cfg(target_os = "android") + ], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [ + "@vendor__windows-core-0.52.0//:windows_core", # cfg(target_os = "windows") + ], + "//conditions:default": [], + }), +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.iana-time-zone-haiku-0.1.2.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.iana-time-zone-haiku-0.1.2.bazel new file mode 100644 index 000000000000..86aec61e2668 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.iana-time-zone-haiku-0.1.2.bazel @@ -0,0 +1,143 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//cargo:defs.bzl", "cargo_build_script") +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "iana_time_zone_haiku", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2018", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=iana-time-zone-haiku", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.1.2", + deps = [ + "@vendor__iana-time-zone-haiku-0.1.2//:build_script_build", + ], +) + +cargo_build_script( + name = "_bs", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + "**/*.rs", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_name = "build_script_build", + crate_root = "build.rs", + data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + edition = "2018", + pkg_name = "iana-time-zone-haiku", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=iana-time-zone-haiku", + "manual", + "noclippy", + "norustfmt", + ], + version = "0.1.2", + visibility = ["//visibility:private"], + deps = [ + "@vendor__cc-1.1.37//:cc", + ], +) + +alias( + name = "build_script_build", + actual = ":_bs", + tags = ["manual"], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ident_case-1.0.1.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ident_case-1.0.1.bazel new file mode 100644 index 000000000000..8679ec324794 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ident_case-1.0.1.bazel @@ -0,0 +1,81 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "ident_case", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2015", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=ident_case", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "1.0.1", +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.indexmap-1.9.3.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.indexmap-1.9.3.bazel new file mode 100644 index 000000000000..110b363ea618 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.indexmap-1.9.3.bazel @@ -0,0 +1,144 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//cargo:defs.bzl", "cargo_build_script") +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "indexmap", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=indexmap", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "1.9.3", + deps = [ + "@vendor__hashbrown-0.12.3//:hashbrown", + "@vendor__indexmap-1.9.3//:build_script_build", + ], +) + +cargo_build_script( + name = "_bs", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + "**/*.rs", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_name = "build_script_build", + crate_root = "build.rs", + data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + edition = "2021", + pkg_name = "indexmap", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=indexmap", + "manual", + "noclippy", + "norustfmt", + ], + version = "1.9.3", + visibility = ["//visibility:private"], + deps = [ + "@vendor__autocfg-1.4.0//:autocfg", + ], +) + +alias( + name = "build_script_build", + actual = ":_bs", + tags = ["manual"], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.indexmap-2.6.0.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.indexmap-2.6.0.bazel new file mode 100644 index 000000000000..83052d3fe538 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.indexmap-2.6.0.bazel @@ -0,0 +1,89 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "indexmap", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "default", + "std", + ], + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=indexmap", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "2.6.0", + deps = [ + "@vendor__equivalent-1.0.1//:equivalent", + "@vendor__hashbrown-0.15.1//:hashbrown", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.inlinable_string-0.1.15.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.inlinable_string-0.1.15.bazel new file mode 100644 index 000000000000..59b8f57fea1c --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.inlinable_string-0.1.15.bazel @@ -0,0 +1,81 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "inlinable_string", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2018", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=inlinable_string", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.1.15", +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.inotify-0.9.6.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.inotify-0.9.6.bazel new file mode 100644 index 000000000000..a08aeee3d134 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.inotify-0.9.6.bazel @@ -0,0 +1,86 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "inotify", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2018", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=inotify", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.9.6", + deps = [ + "@vendor__bitflags-1.3.2//:bitflags", + "@vendor__inotify-sys-0.1.5//:inotify_sys", + "@vendor__libc-0.2.162//:libc", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.inotify-sys-0.1.5.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.inotify-sys-0.1.5.bazel new file mode 100644 index 000000000000..4d7ed4764527 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.inotify-sys-0.1.5.bazel @@ -0,0 +1,84 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "inotify_sys", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2015", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=inotify-sys", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.1.5", + deps = [ + "@vendor__libc-0.2.162//:libc", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.is-terminal-0.4.13.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.is-terminal-0.4.13.bazel new file mode 100644 index 000000000000..bf61ed4aa0f1 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.is-terminal-0.4.13.bazel @@ -0,0 +1,168 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "is_terminal", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2018", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=is-terminal", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.4.13", + deps = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [ + "@vendor__libc-0.2.162//:libc", # cfg(any(unix, target_os = "wasi")) + ], + "@rules_rust//rust/platform:aarch64-apple-ios": [ + "@vendor__libc-0.2.162//:libc", # cfg(any(unix, target_os = "wasi")) + ], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [ + "@vendor__libc-0.2.162//:libc", # cfg(any(unix, target_os = "wasi")) + ], + "@rules_rust//rust/platform:aarch64-fuchsia": [ + "@vendor__libc-0.2.162//:libc", # cfg(any(unix, target_os = "wasi")) + ], + "@rules_rust//rust/platform:aarch64-linux-android": [ + "@vendor__libc-0.2.162//:libc", # cfg(any(unix, target_os = "wasi")) + ], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [ + "@vendor__windows-sys-0.52.0//:windows_sys", # cfg(windows) + ], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [ + "@vendor__libc-0.2.162//:libc", # cfg(any(unix, target_os = "wasi")) + ], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [ + "@vendor__libc-0.2.162//:libc", # cfg(any(unix, target_os = "wasi")) + ], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [ + "@vendor__libc-0.2.162//:libc", # cfg(any(unix, target_os = "wasi")) + ], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [ + "@vendor__libc-0.2.162//:libc", # cfg(any(unix, target_os = "wasi")) + ], + "@rules_rust//rust/platform:armv7-linux-androideabi": [ + "@vendor__libc-0.2.162//:libc", # cfg(any(unix, target_os = "wasi")) + ], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [ + "@vendor__libc-0.2.162//:libc", # cfg(any(unix, target_os = "wasi")) + ], + "@rules_rust//rust/platform:i686-apple-darwin": [ + "@vendor__libc-0.2.162//:libc", # cfg(any(unix, target_os = "wasi")) + ], + "@rules_rust//rust/platform:i686-linux-android": [ + "@vendor__libc-0.2.162//:libc", # cfg(any(unix, target_os = "wasi")) + ], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [ + "@vendor__windows-sys-0.52.0//:windows_sys", # cfg(windows) + ], + "@rules_rust//rust/platform:i686-unknown-freebsd": [ + "@vendor__libc-0.2.162//:libc", # cfg(any(unix, target_os = "wasi")) + ], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [ + "@vendor__libc-0.2.162//:libc", # cfg(any(unix, target_os = "wasi")) + ], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [ + "@vendor__libc-0.2.162//:libc", # cfg(any(unix, target_os = "wasi")) + ], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [ + "@vendor__libc-0.2.162//:libc", # cfg(any(unix, target_os = "wasi")) + ], + "@rules_rust//rust/platform:wasm32-wasi": [ + "@vendor__libc-0.2.162//:libc", # cfg(any(unix, target_os = "wasi")) + ], + "@rules_rust//rust/platform:x86_64-apple-darwin": [ + "@vendor__libc-0.2.162//:libc", # cfg(any(unix, target_os = "wasi")) + ], + "@rules_rust//rust/platform:x86_64-apple-ios": [ + "@vendor__libc-0.2.162//:libc", # cfg(any(unix, target_os = "wasi")) + ], + "@rules_rust//rust/platform:x86_64-fuchsia": [ + "@vendor__libc-0.2.162//:libc", # cfg(any(unix, target_os = "wasi")) + ], + "@rules_rust//rust/platform:x86_64-linux-android": [ + "@vendor__libc-0.2.162//:libc", # cfg(any(unix, target_os = "wasi")) + ], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [ + "@vendor__windows-sys-0.52.0//:windows_sys", # cfg(windows) + ], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [ + "@vendor__libc-0.2.162//:libc", # cfg(any(unix, target_os = "wasi")) + ], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [ + "@vendor__libc-0.2.162//:libc", # cfg(any(unix, target_os = "wasi")) + ], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [ + "@vendor__libc-0.2.162//:libc", # cfg(any(unix, target_os = "wasi")) + ], + "//conditions:default": [], + }), +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.is_terminal_polyfill-1.70.1.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.is_terminal_polyfill-1.70.1.bazel new file mode 100644 index 000000000000..5be68b0e91f3 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.is_terminal_polyfill-1.70.1.bazel @@ -0,0 +1,84 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "is_terminal_polyfill", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "default", + ], + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=is_terminal_polyfill", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "1.70.1", +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.itertools-0.10.5.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.itertools-0.10.5.bazel new file mode 100644 index 000000000000..5c891c943c87 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.itertools-0.10.5.bazel @@ -0,0 +1,89 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "itertools", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "default", + "use_alloc", + "use_std", + ], + crate_root = "src/lib.rs", + edition = "2018", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=itertools", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.10.5", + deps = [ + "@vendor__either-1.13.0//:either", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.itertools-0.12.1.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.itertools-0.12.1.bazel new file mode 100644 index 000000000000..050ca3d7d33c --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.itertools-0.12.1.bazel @@ -0,0 +1,89 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "itertools", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "default", + "use_alloc", + "use_std", + ], + crate_root = "src/lib.rs", + edition = "2018", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=itertools", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.12.1", + deps = [ + "@vendor__either-1.13.0//:either", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.itertools-0.13.0.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.itertools-0.13.0.bazel new file mode 100644 index 000000000000..a6001d32c925 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.itertools-0.13.0.bazel @@ -0,0 +1,89 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "itertools", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "default", + "use_alloc", + "use_std", + ], + crate_root = "src/lib.rs", + edition = "2018", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=itertools", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.13.0", + deps = [ + "@vendor__either-1.13.0//:either", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.itoa-1.0.11.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.itoa-1.0.11.bazel new file mode 100644 index 000000000000..a3a94e1c6c1d --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.itoa-1.0.11.bazel @@ -0,0 +1,81 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "itoa", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2018", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=itoa", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "1.0.11", +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.jod-thread-0.1.2.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.jod-thread-0.1.2.bazel new file mode 100644 index 000000000000..909439d25a9f --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.jod-thread-0.1.2.bazel @@ -0,0 +1,81 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "jod_thread", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2018", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=jod-thread", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.1.2", +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.js-sys-0.3.72.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.js-sys-0.3.72.bazel new file mode 100644 index 000000000000..7dd82a698787 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.js-sys-0.3.72.bazel @@ -0,0 +1,84 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "js_sys", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=js-sys", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.3.72", + deps = [ + "@vendor__wasm-bindgen-0.2.95//:wasm_bindgen", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.kqueue-1.0.8.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.kqueue-1.0.8.bazel new file mode 100644 index 000000000000..8cc09ad6e195 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.kqueue-1.0.8.bazel @@ -0,0 +1,85 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "kqueue", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2018", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=kqueue", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "1.0.8", + deps = [ + "@vendor__kqueue-sys-1.0.4//:kqueue_sys", + "@vendor__libc-0.2.162//:libc", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.kqueue-sys-1.0.4.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.kqueue-sys-1.0.4.bazel new file mode 100644 index 000000000000..6e96c2f34bf1 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.kqueue-sys-1.0.4.bazel @@ -0,0 +1,85 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "kqueue_sys", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2018", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=kqueue-sys", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "1.0.4", + deps = [ + "@vendor__bitflags-1.3.2//:bitflags", + "@vendor__libc-0.2.162//:libc", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.la-arena-0.3.1.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.la-arena-0.3.1.bazel new file mode 100644 index 000000000000..ab65aaa759e6 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.la-arena-0.3.1.bazel @@ -0,0 +1,81 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "la_arena", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=la-arena", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.3.1", +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.lazy_static-1.5.0.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.lazy_static-1.5.0.bazel new file mode 100644 index 000000000000..03e24a24cf21 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.lazy_static-1.5.0.bazel @@ -0,0 +1,81 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "lazy_static", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2015", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=lazy_static", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "1.5.0", +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.libc-0.2.162.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.libc-0.2.162.bazel new file mode 100644 index 000000000000..a9ae3896f0d8 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.libc-0.2.162.bazel @@ -0,0 +1,148 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//cargo:defs.bzl", "cargo_build_script") +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "libc", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "default", + "std", + ], + crate_root = "src/lib.rs", + edition = "2015", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=libc", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.2.162", + deps = [ + "@vendor__libc-0.2.162//:build_script_build", + ], +) + +cargo_build_script( + name = "_bs", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + "**/*.rs", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "default", + "std", + ], + crate_name = "build_script_build", + crate_root = "build.rs", + data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + edition = "2015", + pkg_name = "libc", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=libc", + "manual", + "noclippy", + "norustfmt", + ], + version = "0.2.162", + visibility = ["//visibility:private"], +) + +alias( + name = "build_script_build", + actual = ":_bs", + tags = ["manual"], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.libredox-0.1.3.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.libredox-0.1.3.bazel new file mode 100644 index 000000000000..c3f2e025c7df --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.libredox-0.1.3.bazel @@ -0,0 +1,86 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "libredox", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=libredox", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.1.3", + deps = [ + "@vendor__bitflags-2.6.0//:bitflags", + "@vendor__libc-0.2.162//:libc", + "@vendor__redox_syscall-0.5.7//:syscall", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.line-index-0.1.2.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.line-index-0.1.2.bazel new file mode 100644 index 000000000000..35a75f681822 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.line-index-0.1.2.bazel @@ -0,0 +1,85 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "line_index", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=line-index", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.1.2", + deps = [ + "@vendor__nohash-hasher-0.2.0//:nohash_hasher", + "@vendor__text-size-1.1.1//:text_size", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.lock_api-0.4.12.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.lock_api-0.4.12.bazel new file mode 100644 index 000000000000..d671c7e2f9c4 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.lock_api-0.4.12.bazel @@ -0,0 +1,152 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//cargo:defs.bzl", "cargo_build_script") +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "lock_api", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "atomic_usize", + "default", + ], + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=lock_api", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.4.12", + deps = [ + "@vendor__lock_api-0.4.12//:build_script_build", + "@vendor__scopeguard-1.2.0//:scopeguard", + ], +) + +cargo_build_script( + name = "_bs", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + "**/*.rs", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "atomic_usize", + "default", + ], + crate_name = "build_script_build", + crate_root = "build.rs", + data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + edition = "2021", + pkg_name = "lock_api", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=lock_api", + "manual", + "noclippy", + "norustfmt", + ], + version = "0.4.12", + visibility = ["//visibility:private"], + deps = [ + "@vendor__autocfg-1.4.0//:autocfg", + ], +) + +alias( + name = "build_script_build", + actual = ":_bs", + tags = ["manual"], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.log-0.4.22.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.log-0.4.22.bazel new file mode 100644 index 000000000000..d124633cd61f --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.log-0.4.22.bazel @@ -0,0 +1,84 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "log", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "std", + ], + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=log", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.4.22", +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.lz4_flex-0.11.3.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.lz4_flex-0.11.3.bazel new file mode 100644 index 000000000000..796bdb157980 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.lz4_flex-0.11.3.bazel @@ -0,0 +1,81 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "lz4_flex", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=lz4_flex", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.11.3", +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.matchers-0.1.0.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.matchers-0.1.0.bazel new file mode 100644 index 000000000000..c6cac995fa43 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.matchers-0.1.0.bazel @@ -0,0 +1,84 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "matchers", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2018", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=matchers", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.1.0", + deps = [ + "@vendor__regex-automata-0.1.10//:regex_automata", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.memchr-2.7.4.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.memchr-2.7.4.bazel new file mode 100644 index 000000000000..318a1c77a474 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.memchr-2.7.4.bazel @@ -0,0 +1,86 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "memchr", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "alloc", + "default", + "std", + ], + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=memchr", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "2.7.4", +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.memoffset-0.9.1.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.memoffset-0.9.1.bazel new file mode 100644 index 000000000000..4e2f20f76cb8 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.memoffset-0.9.1.bazel @@ -0,0 +1,149 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//cargo:defs.bzl", "cargo_build_script") +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "memoffset", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "default", + ], + crate_root = "src/lib.rs", + edition = "2015", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=memoffset", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.9.1", + deps = [ + "@vendor__memoffset-0.9.1//:build_script_build", + ], +) + +cargo_build_script( + name = "_bs", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + "**/*.rs", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "default", + ], + crate_name = "build_script_build", + crate_root = "build.rs", + data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + edition = "2015", + pkg_name = "memoffset", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=memoffset", + "manual", + "noclippy", + "norustfmt", + ], + version = "0.9.1", + visibility = ["//visibility:private"], + deps = [ + "@vendor__autocfg-1.4.0//:autocfg", + ], +) + +alias( + name = "build_script_build", + actual = ":_bs", + tags = ["manual"], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.miniz_oxide-0.8.0.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.miniz_oxide-0.8.0.bazel new file mode 100644 index 000000000000..3d369f4e80df --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.miniz_oxide-0.8.0.bazel @@ -0,0 +1,87 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "miniz_oxide", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "with-alloc", + ], + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=miniz_oxide", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.8.0", + deps = [ + "@vendor__adler2-2.0.0//:adler2", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.mio-0.8.11.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.mio-0.8.11.bazel new file mode 100644 index 000000000000..5f3f858bb87d --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.mio-0.8.11.bazel @@ -0,0 +1,177 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "mio", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "default", + "log", + "os-ext", + "os-poll", + ], + crate_root = "src/lib.rs", + edition = "2018", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=mio", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.8.11", + deps = [ + "@vendor__log-0.4.22//:log", + ] + select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [ + "@vendor__libc-0.2.162//:libc", # cfg(unix) + ], + "@rules_rust//rust/platform:aarch64-apple-ios": [ + "@vendor__libc-0.2.162//:libc", # cfg(unix) + ], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [ + "@vendor__libc-0.2.162//:libc", # cfg(unix) + ], + "@rules_rust//rust/platform:aarch64-fuchsia": [ + "@vendor__libc-0.2.162//:libc", # cfg(unix) + ], + "@rules_rust//rust/platform:aarch64-linux-android": [ + "@vendor__libc-0.2.162//:libc", # cfg(unix) + ], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [ + "@vendor__windows-sys-0.48.0//:windows_sys", # cfg(windows) + ], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [ + "@vendor__libc-0.2.162//:libc", # cfg(unix) + ], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [ + "@vendor__libc-0.2.162//:libc", # cfg(unix) + ], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [ + "@vendor__libc-0.2.162//:libc", # cfg(unix) + ], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [ + "@vendor__libc-0.2.162//:libc", # cfg(unix) + ], + "@rules_rust//rust/platform:armv7-linux-androideabi": [ + "@vendor__libc-0.2.162//:libc", # cfg(unix) + ], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [ + "@vendor__libc-0.2.162//:libc", # cfg(unix) + ], + "@rules_rust//rust/platform:i686-apple-darwin": [ + "@vendor__libc-0.2.162//:libc", # cfg(unix) + ], + "@rules_rust//rust/platform:i686-linux-android": [ + "@vendor__libc-0.2.162//:libc", # cfg(unix) + ], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [ + "@vendor__windows-sys-0.48.0//:windows_sys", # cfg(windows) + ], + "@rules_rust//rust/platform:i686-unknown-freebsd": [ + "@vendor__libc-0.2.162//:libc", # cfg(unix) + ], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [ + "@vendor__libc-0.2.162//:libc", # cfg(unix) + ], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [ + "@vendor__libc-0.2.162//:libc", # cfg(unix) + ], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [ + "@vendor__libc-0.2.162//:libc", # cfg(unix) + ], + "@rules_rust//rust/platform:wasm32-wasi": [ + "@vendor__libc-0.2.162//:libc", # cfg(target_os = "wasi") + "@vendor__wasi-0.11.0-wasi-snapshot-preview1//:wasi", # cfg(target_os = "wasi") + ], + "@rules_rust//rust/platform:x86_64-apple-darwin": [ + "@vendor__libc-0.2.162//:libc", # cfg(unix) + ], + "@rules_rust//rust/platform:x86_64-apple-ios": [ + "@vendor__libc-0.2.162//:libc", # cfg(unix) + ], + "@rules_rust//rust/platform:x86_64-fuchsia": [ + "@vendor__libc-0.2.162//:libc", # cfg(unix) + ], + "@rules_rust//rust/platform:x86_64-linux-android": [ + "@vendor__libc-0.2.162//:libc", # cfg(unix) + ], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [ + "@vendor__windows-sys-0.48.0//:windows_sys", # cfg(windows) + ], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [ + "@vendor__libc-0.2.162//:libc", # cfg(unix) + ], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [ + "@vendor__libc-0.2.162//:libc", # cfg(unix) + ], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [ + "@vendor__libc-0.2.162//:libc", # cfg(unix) + ], + "//conditions:default": [], + }), +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.miow-0.6.0.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.miow-0.6.0.bazel new file mode 100644 index 000000000000..4845afd59857 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.miow-0.6.0.bazel @@ -0,0 +1,84 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "miow", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2018", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=miow", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.6.0", + deps = [ + "@vendor__windows-sys-0.48.0//:windows_sys", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.nohash-hasher-0.2.0.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.nohash-hasher-0.2.0.bazel new file mode 100644 index 000000000000..6fd19b6a864a --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.nohash-hasher-0.2.0.bazel @@ -0,0 +1,85 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "nohash_hasher", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "default", + "std", + ], + crate_root = "src/lib.rs", + edition = "2018", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=nohash-hasher", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.2.0", +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.notify-6.1.1.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.notify-6.1.1.bazel new file mode 100644 index 000000000000..8894db5f2e05 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.notify-6.1.1.bazel @@ -0,0 +1,177 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "notify", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "crossbeam-channel", + "default", + "fsevent-sys", + "macos_fsevent", + ], + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=notify", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "6.1.1", + deps = [ + "@vendor__crossbeam-channel-0.5.13//:crossbeam_channel", + "@vendor__filetime-0.2.25//:filetime", + "@vendor__libc-0.2.162//:libc", + "@vendor__log-0.4.22//:log", + "@vendor__walkdir-2.5.0//:walkdir", + ] + select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [ + "@vendor__bitflags-2.6.0//:bitflags", # cfg(target_os = "macos") + "@vendor__fsevent-sys-4.1.0//:fsevent_sys", # aarch64-apple-darwin + ], + "@rules_rust//rust/platform:aarch64-linux-android": [ + "@vendor__inotify-0.9.6//:inotify", # cfg(any(target_os = "linux", target_os = "android")) + "@vendor__mio-0.8.11//:mio", # cfg(any(target_os = "linux", target_os = "android")) + ], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [ + "@vendor__windows-sys-0.48.0//:windows_sys", # cfg(windows) + ], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [ + "@vendor__inotify-0.9.6//:inotify", # cfg(any(target_os = "linux", target_os = "android")) + "@vendor__mio-0.8.11//:mio", # cfg(any(target_os = "linux", target_os = "android")) + ], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [ + "@vendor__inotify-0.9.6//:inotify", # cfg(any(target_os = "linux", target_os = "android")) + "@vendor__mio-0.8.11//:mio", # cfg(any(target_os = "linux", target_os = "android")) + ], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [ + "@vendor__inotify-0.9.6//:inotify", # cfg(any(target_os = "linux", target_os = "android")) + "@vendor__mio-0.8.11//:mio", # cfg(any(target_os = "linux", target_os = "android")) + ], + "@rules_rust//rust/platform:armv7-linux-androideabi": [ + "@vendor__inotify-0.9.6//:inotify", # cfg(any(target_os = "linux", target_os = "android")) + "@vendor__mio-0.8.11//:mio", # cfg(any(target_os = "linux", target_os = "android")) + ], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [ + "@vendor__inotify-0.9.6//:inotify", # cfg(any(target_os = "linux", target_os = "android")) + "@vendor__mio-0.8.11//:mio", # cfg(any(target_os = "linux", target_os = "android")) + ], + "@rules_rust//rust/platform:i686-apple-darwin": [ + "@vendor__bitflags-2.6.0//:bitflags", # cfg(target_os = "macos") + "@vendor__fsevent-sys-4.1.0//:fsevent_sys", # i686-apple-darwin + ], + "@rules_rust//rust/platform:i686-linux-android": [ + "@vendor__inotify-0.9.6//:inotify", # cfg(any(target_os = "linux", target_os = "android")) + "@vendor__mio-0.8.11//:mio", # cfg(any(target_os = "linux", target_os = "android")) + ], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [ + "@vendor__windows-sys-0.48.0//:windows_sys", # cfg(windows) + ], + "@rules_rust//rust/platform:i686-unknown-freebsd": [ + "@vendor__kqueue-1.0.8//:kqueue", # cfg(any(target_os = "freebsd", target_os = "openbsd", target_os = "netbsd", target_os = "dragonflybsd")) + "@vendor__mio-0.8.11//:mio", # cfg(any(target_os = "freebsd", target_os = "openbsd", target_os = "netbsd", target_os = "dragonflybsd")) + ], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [ + "@vendor__inotify-0.9.6//:inotify", # cfg(any(target_os = "linux", target_os = "android")) + "@vendor__mio-0.8.11//:mio", # cfg(any(target_os = "linux", target_os = "android")) + ], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [ + "@vendor__inotify-0.9.6//:inotify", # cfg(any(target_os = "linux", target_os = "android")) + "@vendor__mio-0.8.11//:mio", # cfg(any(target_os = "linux", target_os = "android")) + ], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [ + "@vendor__inotify-0.9.6//:inotify", # cfg(any(target_os = "linux", target_os = "android")) + "@vendor__mio-0.8.11//:mio", # cfg(any(target_os = "linux", target_os = "android")) + ], + "@rules_rust//rust/platform:x86_64-apple-darwin": [ + "@vendor__bitflags-2.6.0//:bitflags", # cfg(target_os = "macos") + "@vendor__fsevent-sys-4.1.0//:fsevent_sys", # x86_64-apple-darwin + ], + "@rules_rust//rust/platform:x86_64-linux-android": [ + "@vendor__inotify-0.9.6//:inotify", # cfg(any(target_os = "linux", target_os = "android")) + "@vendor__mio-0.8.11//:mio", # cfg(any(target_os = "linux", target_os = "android")) + ], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [ + "@vendor__windows-sys-0.48.0//:windows_sys", # cfg(windows) + ], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [ + "@vendor__kqueue-1.0.8//:kqueue", # cfg(any(target_os = "freebsd", target_os = "openbsd", target_os = "netbsd", target_os = "dragonflybsd")) + "@vendor__mio-0.8.11//:mio", # cfg(any(target_os = "freebsd", target_os = "openbsd", target_os = "netbsd", target_os = "dragonflybsd")) + ], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [ + "@vendor__inotify-0.9.6//:inotify", # cfg(any(target_os = "linux", target_os = "android")) + "@vendor__mio-0.8.11//:mio", # cfg(any(target_os = "linux", target_os = "android")) + ], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [ + "@vendor__inotify-0.9.6//:inotify", # cfg(any(target_os = "linux", target_os = "android")) + "@vendor__mio-0.8.11//:mio", # cfg(any(target_os = "linux", target_os = "android")) + ], + "//conditions:default": [], + }), +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.nu-ansi-term-0.46.0.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.nu-ansi-term-0.46.0.bazel new file mode 100644 index 000000000000..2d839fd982bd --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.nu-ansi-term-0.46.0.bazel @@ -0,0 +1,95 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "nu_ansi_term", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2018", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=nu-ansi-term", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.46.0", + deps = [ + "@vendor__overload-0.1.1//:overload", + ] + select({ + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [ + "@vendor__winapi-0.3.9//:winapi", # cfg(target_os = "windows") + ], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [ + "@vendor__winapi-0.3.9//:winapi", # cfg(target_os = "windows") + ], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [ + "@vendor__winapi-0.3.9//:winapi", # cfg(target_os = "windows") + ], + "//conditions:default": [], + }), +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.num-conv-0.1.0.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.num-conv-0.1.0.bazel new file mode 100644 index 000000000000..96ee6af158c2 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.num-conv-0.1.0.bazel @@ -0,0 +1,81 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "num_conv", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=num-conv", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.1.0", +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.num-traits-0.2.19.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.num-traits-0.2.19.bazel new file mode 100644 index 000000000000..6fc3ba861b9b --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.num-traits-0.2.19.bazel @@ -0,0 +1,151 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//cargo:defs.bzl", "cargo_build_script") +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "num_traits", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "default", + "std", + ], + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=num-traits", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.2.19", + deps = [ + "@vendor__num-traits-0.2.19//:build_script_build", + ], +) + +cargo_build_script( + name = "_bs", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + "**/*.rs", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "default", + "std", + ], + crate_name = "build_script_build", + crate_root = "build.rs", + data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + edition = "2021", + pkg_name = "num-traits", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=num-traits", + "manual", + "noclippy", + "norustfmt", + ], + version = "0.2.19", + visibility = ["//visibility:private"], + deps = [ + "@vendor__autocfg-1.4.0//:autocfg", + ], +) + +alias( + name = "build_script_build", + actual = ":_bs", + tags = ["manual"], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.num_cpus-1.16.0.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.num_cpus-1.16.0.bazel new file mode 100644 index 000000000000..27bb9411e567 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.num_cpus-1.16.0.bazel @@ -0,0 +1,177 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "num_cpus", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2015", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=num_cpus", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "1.16.0", + deps = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [ + "@vendor__libc-0.2.162//:libc", # cfg(not(windows)) + ], + "@rules_rust//rust/platform:aarch64-apple-ios": [ + "@vendor__libc-0.2.162//:libc", # cfg(not(windows)) + ], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [ + "@vendor__libc-0.2.162//:libc", # cfg(not(windows)) + ], + "@rules_rust//rust/platform:aarch64-fuchsia": [ + "@vendor__libc-0.2.162//:libc", # cfg(not(windows)) + ], + "@rules_rust//rust/platform:aarch64-linux-android": [ + "@vendor__libc-0.2.162//:libc", # cfg(not(windows)) + ], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [ + "@vendor__libc-0.2.162//:libc", # cfg(not(windows)) + ], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [ + "@vendor__libc-0.2.162//:libc", # cfg(not(windows)) + ], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [ + "@vendor__libc-0.2.162//:libc", # cfg(not(windows)) + ], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [ + "@vendor__libc-0.2.162//:libc", # cfg(not(windows)) + ], + "@rules_rust//rust/platform:armv7-linux-androideabi": [ + "@vendor__libc-0.2.162//:libc", # cfg(not(windows)) + ], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [ + "@vendor__libc-0.2.162//:libc", # cfg(not(windows)) + ], + "@rules_rust//rust/platform:i686-apple-darwin": [ + "@vendor__libc-0.2.162//:libc", # cfg(not(windows)) + ], + "@rules_rust//rust/platform:i686-linux-android": [ + "@vendor__libc-0.2.162//:libc", # cfg(not(windows)) + ], + "@rules_rust//rust/platform:i686-unknown-freebsd": [ + "@vendor__libc-0.2.162//:libc", # cfg(not(windows)) + ], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [ + "@vendor__libc-0.2.162//:libc", # cfg(not(windows)) + ], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [ + "@vendor__libc-0.2.162//:libc", # cfg(not(windows)) + ], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [ + "@vendor__libc-0.2.162//:libc", # cfg(not(windows)) + ], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [ + "@vendor__libc-0.2.162//:libc", # cfg(not(windows)) + ], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [ + "@vendor__libc-0.2.162//:libc", # cfg(not(windows)) + ], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [ + "@vendor__libc-0.2.162//:libc", # cfg(not(windows)) + ], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [ + "@vendor__libc-0.2.162//:libc", # cfg(not(windows)) + ], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [ + "@vendor__libc-0.2.162//:libc", # cfg(not(windows)) + ], + "@rules_rust//rust/platform:wasm32-wasi": [ + "@vendor__libc-0.2.162//:libc", # cfg(not(windows)) + ], + "@rules_rust//rust/platform:x86_64-apple-darwin": [ + "@vendor__libc-0.2.162//:libc", # cfg(not(windows)) + ], + "@rules_rust//rust/platform:x86_64-apple-ios": [ + "@vendor__libc-0.2.162//:libc", # cfg(not(windows)) + ], + "@rules_rust//rust/platform:x86_64-fuchsia": [ + "@vendor__libc-0.2.162//:libc", # cfg(not(windows)) + ], + "@rules_rust//rust/platform:x86_64-linux-android": [ + "@vendor__libc-0.2.162//:libc", # cfg(not(windows)) + ], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [ + "@vendor__libc-0.2.162//:libc", # cfg(not(windows)) + ], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [ + "@vendor__libc-0.2.162//:libc", # cfg(not(windows)) + ], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [ + "@vendor__libc-0.2.162//:libc", # cfg(not(windows)) + ], + "@rules_rust//rust/platform:x86_64-unknown-none": [ + "@vendor__libc-0.2.162//:libc", # cfg(not(windows)) + ], + "//conditions:default": [], + }), +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.once_cell-1.20.2.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.once_cell-1.20.2.bazel new file mode 100644 index 000000000000..14fc72faad80 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.once_cell-1.20.2.bazel @@ -0,0 +1,87 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "once_cell", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "alloc", + "default", + "race", + "std", + ], + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=once_cell", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "1.20.2", +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.oorandom-11.1.4.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.oorandom-11.1.4.bazel new file mode 100644 index 000000000000..156c46c94991 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.oorandom-11.1.4.bazel @@ -0,0 +1,81 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "oorandom", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2018", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=oorandom", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "11.1.4", +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.os_str_bytes-7.0.0.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.os_str_bytes-7.0.0.bazel new file mode 100644 index 000000000000..df955393b592 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.os_str_bytes-7.0.0.bazel @@ -0,0 +1,89 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "os_str_bytes", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "default", + "memchr", + "raw_os_str", + ], + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=os_str_bytes", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "7.0.0", + deps = [ + "@vendor__memchr-2.7.4//:memchr", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.overload-0.1.1.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.overload-0.1.1.bazel new file mode 100644 index 000000000000..0ba943de30a9 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.overload-0.1.1.bazel @@ -0,0 +1,81 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "overload", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2018", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=overload", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.1.1", +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.parking_lot-0.12.3.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.parking_lot-0.12.3.bazel new file mode 100644 index 000000000000..7d4110ccb2b1 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.parking_lot-0.12.3.bazel @@ -0,0 +1,88 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "parking_lot", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "default", + ], + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=parking_lot", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.12.3", + deps = [ + "@vendor__lock_api-0.4.12//:lock_api", + "@vendor__parking_lot_core-0.9.10//:parking_lot_core", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.parking_lot_core-0.9.10.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.parking_lot_core-0.9.10.bazel new file mode 100644 index 000000000000..ce65c3b65ea5 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.parking_lot_core-0.9.10.bazel @@ -0,0 +1,225 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//cargo:defs.bzl", "cargo_build_script") +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "parking_lot_core", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=parking_lot_core", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.9.10", + deps = [ + "@vendor__cfg-if-1.0.0//:cfg_if", + "@vendor__parking_lot_core-0.9.10//:build_script_build", + "@vendor__smallvec-1.13.2//:smallvec", + ] + select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [ + "@vendor__libc-0.2.162//:libc", # cfg(unix) + ], + "@rules_rust//rust/platform:aarch64-apple-ios": [ + "@vendor__libc-0.2.162//:libc", # cfg(unix) + ], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [ + "@vendor__libc-0.2.162//:libc", # cfg(unix) + ], + "@rules_rust//rust/platform:aarch64-fuchsia": [ + "@vendor__libc-0.2.162//:libc", # cfg(unix) + ], + "@rules_rust//rust/platform:aarch64-linux-android": [ + "@vendor__libc-0.2.162//:libc", # cfg(unix) + ], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [ + "@vendor__windows-targets-0.52.6//:windows_targets", # cfg(windows) + ], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [ + "@vendor__libc-0.2.162//:libc", # cfg(unix) + ], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [ + "@vendor__libc-0.2.162//:libc", # cfg(unix) + ], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [ + "@vendor__libc-0.2.162//:libc", # cfg(unix) + ], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [ + "@vendor__libc-0.2.162//:libc", # cfg(unix) + ], + "@rules_rust//rust/platform:armv7-linux-androideabi": [ + "@vendor__libc-0.2.162//:libc", # cfg(unix) + ], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [ + "@vendor__libc-0.2.162//:libc", # cfg(unix) + ], + "@rules_rust//rust/platform:i686-apple-darwin": [ + "@vendor__libc-0.2.162//:libc", # cfg(unix) + ], + "@rules_rust//rust/platform:i686-linux-android": [ + "@vendor__libc-0.2.162//:libc", # cfg(unix) + ], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [ + "@vendor__windows-targets-0.52.6//:windows_targets", # cfg(windows) + ], + "@rules_rust//rust/platform:i686-unknown-freebsd": [ + "@vendor__libc-0.2.162//:libc", # cfg(unix) + ], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [ + "@vendor__libc-0.2.162//:libc", # cfg(unix) + ], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [ + "@vendor__libc-0.2.162//:libc", # cfg(unix) + ], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [ + "@vendor__libc-0.2.162//:libc", # cfg(unix) + ], + "@rules_rust//rust/platform:x86_64-apple-darwin": [ + "@vendor__libc-0.2.162//:libc", # cfg(unix) + ], + "@rules_rust//rust/platform:x86_64-apple-ios": [ + "@vendor__libc-0.2.162//:libc", # cfg(unix) + ], + "@rules_rust//rust/platform:x86_64-fuchsia": [ + "@vendor__libc-0.2.162//:libc", # cfg(unix) + ], + "@rules_rust//rust/platform:x86_64-linux-android": [ + "@vendor__libc-0.2.162//:libc", # cfg(unix) + ], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [ + "@vendor__windows-targets-0.52.6//:windows_targets", # cfg(windows) + ], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [ + "@vendor__libc-0.2.162//:libc", # cfg(unix) + ], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [ + "@vendor__libc-0.2.162//:libc", # cfg(unix) + ], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [ + "@vendor__libc-0.2.162//:libc", # cfg(unix) + ], + "//conditions:default": [], + }), +) + +cargo_build_script( + name = "_bs", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + "**/*.rs", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_name = "build_script_build", + crate_root = "build.rs", + data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + edition = "2021", + pkg_name = "parking_lot_core", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=parking_lot_core", + "manual", + "noclippy", + "norustfmt", + ], + version = "0.9.10", + visibility = ["//visibility:private"], +) + +alias( + name = "build_script_build", + actual = ":_bs", + tags = ["manual"], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.pear-0.2.9.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.pear-0.2.9.bazel new file mode 100644 index 000000000000..9dd42d9ba13c --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.pear-0.2.9.bazel @@ -0,0 +1,93 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "pear", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "color", + "default", + "yansi", + ], + crate_root = "src/lib.rs", + edition = "2018", + proc_macro_deps = [ + "@vendor__pear_codegen-0.2.9//:pear_codegen", + ], + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=pear", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.2.9", + deps = [ + "@vendor__inlinable_string-0.1.15//:inlinable_string", + "@vendor__yansi-1.0.1//:yansi", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.pear_codegen-0.2.9.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.pear_codegen-0.2.9.bazel new file mode 100644 index 000000000000..3028decaf06b --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.pear_codegen-0.2.9.bazel @@ -0,0 +1,87 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_proc_macro") + +package(default_visibility = ["//visibility:public"]) + +rust_proc_macro( + name = "pear_codegen", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2018", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=pear_codegen", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.2.9", + deps = [ + "@vendor__proc-macro2-1.0.89//:proc_macro2", + "@vendor__proc-macro2-diagnostics-0.10.1//:proc_macro2_diagnostics", + "@vendor__quote-1.0.37//:quote", + "@vendor__syn-2.0.87//:syn", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.perf-event-0.4.7.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.perf-event-0.4.7.bazel new file mode 100644 index 000000000000..7d62f68f92af --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.perf-event-0.4.7.bazel @@ -0,0 +1,85 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "perf_event", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2018", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=perf-event", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.4.7", + deps = [ + "@vendor__libc-0.2.162//:libc", + "@vendor__perf-event-open-sys-1.0.1//:perf_event_open_sys", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.perf-event-open-sys-1.0.1.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.perf-event-open-sys-1.0.1.bazel new file mode 100644 index 000000000000..2dfe6b455dab --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.perf-event-open-sys-1.0.1.bazel @@ -0,0 +1,84 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "perf_event_open_sys", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2018", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=perf-event-open-sys", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "1.0.1", + deps = [ + "@vendor__libc-0.2.162//:libc", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.petgraph-0.6.5.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.petgraph-0.6.5.bazel new file mode 100644 index 000000000000..eca79ef49488 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.petgraph-0.6.5.bazel @@ -0,0 +1,91 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "petgraph", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "default", + "graphmap", + "matrix_graph", + "stable_graph", + ], + crate_root = "src/lib.rs", + edition = "2018", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=petgraph", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.6.5", + deps = [ + "@vendor__fixedbitset-0.4.2//:fixedbitset", + "@vendor__indexmap-2.6.0//:indexmap", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.pin-project-lite-0.2.15.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.pin-project-lite-0.2.15.bazel new file mode 100644 index 000000000000..3c03acccb597 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.pin-project-lite-0.2.15.bazel @@ -0,0 +1,81 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "pin_project_lite", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2018", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=pin-project-lite", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.2.15", +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.powerfmt-0.2.0.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.powerfmt-0.2.0.bazel new file mode 100644 index 000000000000..464f5db6126d --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.powerfmt-0.2.0.bazel @@ -0,0 +1,81 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "powerfmt", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=powerfmt", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.2.0", +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ppv-lite86-0.2.20.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ppv-lite86-0.2.20.bazel new file mode 100644 index 000000000000..4bce7c6187fa --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ppv-lite86-0.2.20.bazel @@ -0,0 +1,88 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "ppv_lite86", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "simd", + "std", + ], + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=ppv-lite86", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.2.20", + deps = [ + "@vendor__zerocopy-0.7.35//:zerocopy", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.proc-macro2-1.0.89.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.proc-macro2-1.0.89.bazel new file mode 100644 index 000000000000..bc7bf5f6e44a --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.proc-macro2-1.0.89.bazel @@ -0,0 +1,149 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//cargo:defs.bzl", "cargo_build_script") +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "proc_macro2", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "default", + "proc-macro", + ], + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=proc-macro2", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "1.0.89", + deps = [ + "@vendor__proc-macro2-1.0.89//:build_script_build", + "@vendor__unicode-ident-1.0.13//:unicode_ident", + ], +) + +cargo_build_script( + name = "_bs", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + "**/*.rs", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "default", + "proc-macro", + ], + crate_name = "build_script_build", + crate_root = "build.rs", + data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + edition = "2021", + pkg_name = "proc-macro2", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=proc-macro2", + "manual", + "noclippy", + "norustfmt", + ], + version = "1.0.89", + visibility = ["//visibility:private"], +) + +alias( + name = "build_script_build", + actual = ":_bs", + tags = ["manual"], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.proc-macro2-diagnostics-0.10.1.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.proc-macro2-diagnostics-0.10.1.bazel new file mode 100644 index 000000000000..8e5c6f135db2 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.proc-macro2-diagnostics-0.10.1.bazel @@ -0,0 +1,157 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//cargo:defs.bzl", "cargo_build_script") +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "proc_macro2_diagnostics", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "colors", + "default", + "yansi", + ], + crate_root = "src/lib.rs", + edition = "2018", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=proc-macro2-diagnostics", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.10.1", + deps = [ + "@vendor__proc-macro2-1.0.89//:proc_macro2", + "@vendor__proc-macro2-diagnostics-0.10.1//:build_script_build", + "@vendor__quote-1.0.37//:quote", + "@vendor__syn-2.0.87//:syn", + "@vendor__yansi-1.0.1//:yansi", + ], +) + +cargo_build_script( + name = "_bs", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + "**/*.rs", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "colors", + "default", + "yansi", + ], + crate_name = "build_script_build", + crate_root = "build.rs", + data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + edition = "2018", + pkg_name = "proc-macro2-diagnostics", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=proc-macro2-diagnostics", + "manual", + "noclippy", + "norustfmt", + ], + version = "0.10.1", + visibility = ["//visibility:private"], + deps = [ + "@vendor__version_check-0.9.5//:version_check", + ], +) + +alias( + name = "build_script_build", + actual = ":_bs", + tags = ["manual"], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.quote-1.0.37.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.quote-1.0.37.bazel new file mode 100644 index 000000000000..2ad19e547c17 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.quote-1.0.37.bazel @@ -0,0 +1,88 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "quote", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "default", + "proc-macro", + ], + crate_root = "src/lib.rs", + edition = "2018", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=quote", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "1.0.37", + deps = [ + "@vendor__proc-macro2-1.0.89//:proc_macro2", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra-ap-rustc_abi-0.63.0.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra-ap-rustc_abi-0.63.0.bazel new file mode 100644 index 000000000000..8cb5c012bd65 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra-ap-rustc_abi-0.63.0.bazel @@ -0,0 +1,89 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "ra_ap_rustc_abi", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + aliases = { + "@vendor__ra-ap-rustc_index-0.63.0//:ra_ap_rustc_index": "rustc_index", + }, + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=ra-ap-rustc_abi", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.63.0", + deps = [ + "@vendor__bitflags-2.6.0//:bitflags", + "@vendor__ra-ap-rustc_index-0.63.0//:ra_ap_rustc_index", + "@vendor__tracing-0.1.40//:tracing", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra-ap-rustc_index-0.63.0.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra-ap-rustc_index-0.63.0.bazel new file mode 100644 index 000000000000..c9036e9112e8 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra-ap-rustc_index-0.63.0.bazel @@ -0,0 +1,91 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "ra_ap_rustc_index", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + aliases = { + "@vendor__ra-ap-rustc_index_macros-0.63.0//:ra_ap_rustc_index_macros": "rustc_index_macros", + }, + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2021", + proc_macro_deps = [ + "@vendor__ra-ap-rustc_index_macros-0.63.0//:ra_ap_rustc_index_macros", + ], + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=ra-ap-rustc_index", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.63.0", + deps = [ + "@vendor__arrayvec-0.7.6//:arrayvec", + "@vendor__smallvec-1.13.2//:smallvec", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra-ap-rustc_index_macros-0.63.0.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra-ap-rustc_index_macros-0.63.0.bazel new file mode 100644 index 000000000000..99bc76323f3f --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra-ap-rustc_index_macros-0.63.0.bazel @@ -0,0 +1,86 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_proc_macro") + +package(default_visibility = ["//visibility:public"]) + +rust_proc_macro( + name = "ra_ap_rustc_index_macros", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=ra-ap-rustc_index_macros", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.63.0", + deps = [ + "@vendor__proc-macro2-1.0.89//:proc_macro2", + "@vendor__quote-1.0.37//:quote", + "@vendor__syn-2.0.87//:syn", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra-ap-rustc_lexer-0.63.0.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra-ap-rustc_lexer-0.63.0.bazel new file mode 100644 index 000000000000..b0dc0fbb8223 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra-ap-rustc_lexer-0.63.0.bazel @@ -0,0 +1,85 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "ra_ap_rustc_lexer", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=ra-ap-rustc_lexer", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.63.0", + deps = [ + "@vendor__unicode-properties-0.1.3//:unicode_properties", + "@vendor__unicode-xid-0.2.6//:unicode_xid", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra-ap-rustc_parse_format-0.63.0.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra-ap-rustc_parse_format-0.63.0.bazel new file mode 100644 index 000000000000..8b9700233ebf --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra-ap-rustc_parse_format-0.63.0.bazel @@ -0,0 +1,89 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "ra_ap_rustc_parse_format", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + aliases = { + "@vendor__ra-ap-rustc_index-0.63.0//:ra_ap_rustc_index": "rustc_index", + "@vendor__ra-ap-rustc_lexer-0.63.0//:ra_ap_rustc_lexer": "rustc_lexer", + }, + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=ra-ap-rustc_parse_format", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.63.0", + deps = [ + "@vendor__ra-ap-rustc_index-0.63.0//:ra_ap_rustc_index", + "@vendor__ra-ap-rustc_lexer-0.63.0//:ra_ap_rustc_lexer", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra-ap-rustc_pattern_analysis-0.63.0.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra-ap-rustc_pattern_analysis-0.63.0.bazel new file mode 100644 index 000000000000..29456d75bd9a --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra-ap-rustc_pattern_analysis-0.63.0.bazel @@ -0,0 +1,91 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "ra_ap_rustc_pattern_analysis", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + aliases = { + "@vendor__ra-ap-rustc_index-0.63.0//:ra_ap_rustc_index": "rustc_index", + }, + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=ra-ap-rustc_pattern_analysis", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.63.0", + deps = [ + "@vendor__ra-ap-rustc_index-0.63.0//:ra_ap_rustc_index", + "@vendor__rustc-hash-1.1.0//:rustc_hash", + "@vendor__rustc_apfloat-0.2.1-llvm-462a31f5a5ab//:rustc_apfloat", + "@vendor__smallvec-1.13.2//:smallvec", + "@vendor__tracing-0.1.40//:tracing", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_base_db-0.0.232.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_base_db-0.0.232.bazel new file mode 100644 index 000000000000..ac62e9fa6e8b --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_base_db-0.0.232.bazel @@ -0,0 +1,104 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "ra_ap_base_db", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + aliases = { + "@vendor__ra_ap_cfg-0.0.232//:ra_ap_cfg": "cfg", + "@vendor__ra_ap_intern-0.0.232//:ra_ap_intern": "intern", + "@vendor__ra_ap_span-0.0.232//:ra_ap_span": "span", + "@vendor__ra_ap_stdx-0.0.232//:ra_ap_stdx": "stdx", + "@vendor__ra_ap_syntax-0.0.232//:ra_ap_syntax": "syntax", + "@vendor__ra_ap_vfs-0.0.232//:ra_ap_vfs": "vfs", + }, + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=ra_ap_base_db", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.0.232", + deps = [ + "@vendor__la-arena-0.3.1//:la_arena", + "@vendor__lz4_flex-0.11.3//:lz4_flex", + "@vendor__ra_ap_cfg-0.0.232//:ra_ap_cfg", + "@vendor__ra_ap_intern-0.0.232//:ra_ap_intern", + "@vendor__ra_ap_salsa-0.0.232//:salsa", + "@vendor__ra_ap_span-0.0.232//:ra_ap_span", + "@vendor__ra_ap_stdx-0.0.232//:ra_ap_stdx", + "@vendor__ra_ap_syntax-0.0.232//:ra_ap_syntax", + "@vendor__ra_ap_vfs-0.0.232//:ra_ap_vfs", + "@vendor__rustc-hash-1.1.0//:rustc_hash", + "@vendor__semver-1.0.23//:semver", + "@vendor__tracing-0.1.40//:tracing", + "@vendor__triomphe-0.1.14//:triomphe", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_cfg-0.0.232.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_cfg-0.0.232.bazel new file mode 100644 index 000000000000..4a40dd49384e --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_cfg-0.0.232.bazel @@ -0,0 +1,93 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "ra_ap_cfg", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + aliases = { + "@vendor__ra_ap_intern-0.0.232//:ra_ap_intern": "intern", + "@vendor__ra_ap_tt-0.0.232//:ra_ap_tt": "tt", + }, + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "tt", + ], + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=ra_ap_cfg", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.0.232", + deps = [ + "@vendor__ra_ap_intern-0.0.232//:ra_ap_intern", + "@vendor__ra_ap_tt-0.0.232//:ra_ap_tt", + "@vendor__rustc-hash-1.1.0//:rustc_hash", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_hir-0.0.232.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_hir-0.0.232.bazel new file mode 100644 index 000000000000..c5ed2d5e99c2 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_hir-0.0.232.bazel @@ -0,0 +1,112 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "ra_ap_hir", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + aliases = { + "@vendor__ra_ap_base_db-0.0.232//:ra_ap_base_db": "base_db", + "@vendor__ra_ap_cfg-0.0.232//:ra_ap_cfg": "cfg", + "@vendor__ra_ap_hir_def-0.0.232//:ra_ap_hir_def": "hir_def", + "@vendor__ra_ap_hir_expand-0.0.232//:ra_ap_hir_expand": "hir_expand", + "@vendor__ra_ap_hir_ty-0.0.232//:ra_ap_hir_ty": "hir_ty", + "@vendor__ra_ap_intern-0.0.232//:ra_ap_intern": "intern", + "@vendor__ra_ap_span-0.0.232//:ra_ap_span": "span", + "@vendor__ra_ap_stdx-0.0.232//:ra_ap_stdx": "stdx", + "@vendor__ra_ap_syntax-0.0.232//:ra_ap_syntax": "syntax", + "@vendor__ra_ap_tt-0.0.232//:ra_ap_tt": "tt", + }, + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=ra_ap_hir", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.0.232", + deps = [ + "@vendor__arrayvec-0.7.6//:arrayvec", + "@vendor__either-1.13.0//:either", + "@vendor__itertools-0.12.1//:itertools", + "@vendor__ra_ap_base_db-0.0.232//:ra_ap_base_db", + "@vendor__ra_ap_cfg-0.0.232//:ra_ap_cfg", + "@vendor__ra_ap_hir_def-0.0.232//:ra_ap_hir_def", + "@vendor__ra_ap_hir_expand-0.0.232//:ra_ap_hir_expand", + "@vendor__ra_ap_hir_ty-0.0.232//:ra_ap_hir_ty", + "@vendor__ra_ap_intern-0.0.232//:ra_ap_intern", + "@vendor__ra_ap_span-0.0.232//:ra_ap_span", + "@vendor__ra_ap_stdx-0.0.232//:ra_ap_stdx", + "@vendor__ra_ap_syntax-0.0.232//:ra_ap_syntax", + "@vendor__ra_ap_tt-0.0.232//:ra_ap_tt", + "@vendor__rustc-hash-1.1.0//:rustc_hash", + "@vendor__smallvec-1.13.2//:smallvec", + "@vendor__tracing-0.1.40//:tracing", + "@vendor__triomphe-0.1.14//:triomphe", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_hir_def-0.0.232.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_hir_def-0.0.232.bazel new file mode 100644 index 000000000000..692d67bd783f --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_hir_def-0.0.232.bazel @@ -0,0 +1,123 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "ra_ap_hir_def", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + aliases = { + "@vendor__ra_ap_base_db-0.0.232//:ra_ap_base_db": "base_db", + "@vendor__ra_ap_cfg-0.0.232//:ra_ap_cfg": "cfg", + "@vendor__ra_ap_hir_expand-0.0.232//:ra_ap_hir_expand": "hir_expand", + "@vendor__ra_ap_intern-0.0.232//:ra_ap_intern": "intern", + "@vendor__ra_ap_limit-0.0.232//:ra_ap_limit": "limit", + "@vendor__ra_ap_mbe-0.0.232//:ra_ap_mbe": "mbe", + "@vendor__ra_ap_span-0.0.232//:ra_ap_span": "span", + "@vendor__ra_ap_stdx-0.0.232//:ra_ap_stdx": "stdx", + "@vendor__ra_ap_syntax-0.0.232//:ra_ap_syntax": "syntax", + "@vendor__ra_ap_tt-0.0.232//:ra_ap_tt": "tt", + }, + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=ra_ap_hir_def", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.0.232", + deps = [ + "@vendor__arrayvec-0.7.6//:arrayvec", + "@vendor__bitflags-2.6.0//:bitflags", + "@vendor__cov-mark-2.0.0//:cov_mark", + "@vendor__dashmap-5.5.3//:dashmap", + "@vendor__drop_bomb-0.1.5//:drop_bomb", + "@vendor__either-1.13.0//:either", + "@vendor__fst-0.4.7//:fst", + "@vendor__hashbrown-0.14.5//:hashbrown", + "@vendor__indexmap-2.6.0//:indexmap", + "@vendor__itertools-0.12.1//:itertools", + "@vendor__la-arena-0.3.1//:la_arena", + "@vendor__ra-ap-rustc_abi-0.63.0//:ra_ap_rustc_abi", + "@vendor__ra-ap-rustc_parse_format-0.63.0//:ra_ap_rustc_parse_format", + "@vendor__ra_ap_base_db-0.0.232//:ra_ap_base_db", + "@vendor__ra_ap_cfg-0.0.232//:ra_ap_cfg", + "@vendor__ra_ap_hir_expand-0.0.232//:ra_ap_hir_expand", + "@vendor__ra_ap_intern-0.0.232//:ra_ap_intern", + "@vendor__ra_ap_limit-0.0.232//:ra_ap_limit", + "@vendor__ra_ap_mbe-0.0.232//:ra_ap_mbe", + "@vendor__ra_ap_span-0.0.232//:ra_ap_span", + "@vendor__ra_ap_stdx-0.0.232//:ra_ap_stdx", + "@vendor__ra_ap_syntax-0.0.232//:ra_ap_syntax", + "@vendor__ra_ap_tt-0.0.232//:ra_ap_tt", + "@vendor__rustc-hash-1.1.0//:rustc_hash", + "@vendor__rustc_apfloat-0.2.1-llvm-462a31f5a5ab//:rustc_apfloat", + "@vendor__smallvec-1.13.2//:smallvec", + "@vendor__tracing-0.1.40//:tracing", + "@vendor__triomphe-0.1.14//:triomphe", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_hir_expand-0.0.232.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_hir_expand-0.0.232.bazel new file mode 100644 index 000000000000..63bbc0bcce94 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_hir_expand-0.0.232.bazel @@ -0,0 +1,116 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "ra_ap_hir_expand", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + aliases = { + "@vendor__ra_ap_base_db-0.0.232//:ra_ap_base_db": "base_db", + "@vendor__ra_ap_cfg-0.0.232//:ra_ap_cfg": "cfg", + "@vendor__ra_ap_intern-0.0.232//:ra_ap_intern": "intern", + "@vendor__ra_ap_limit-0.0.232//:ra_ap_limit": "limit", + "@vendor__ra_ap_mbe-0.0.232//:ra_ap_mbe": "mbe", + "@vendor__ra_ap_parser-0.0.232//:ra_ap_parser": "parser", + "@vendor__ra_ap_span-0.0.232//:ra_ap_span": "span", + "@vendor__ra_ap_stdx-0.0.232//:ra_ap_stdx": "stdx", + "@vendor__ra_ap_syntax-0.0.232//:ra_ap_syntax": "syntax", + "@vendor__ra_ap_syntax-bridge-0.0.232//:ra_ap_syntax_bridge": "syntax_bridge", + "@vendor__ra_ap_tt-0.0.232//:ra_ap_tt": "tt", + }, + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=ra_ap_hir_expand", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.0.232", + deps = [ + "@vendor__cov-mark-2.0.0//:cov_mark", + "@vendor__either-1.13.0//:either", + "@vendor__hashbrown-0.14.5//:hashbrown", + "@vendor__itertools-0.12.1//:itertools", + "@vendor__la-arena-0.3.1//:la_arena", + "@vendor__ra_ap_base_db-0.0.232//:ra_ap_base_db", + "@vendor__ra_ap_cfg-0.0.232//:ra_ap_cfg", + "@vendor__ra_ap_intern-0.0.232//:ra_ap_intern", + "@vendor__ra_ap_limit-0.0.232//:ra_ap_limit", + "@vendor__ra_ap_mbe-0.0.232//:ra_ap_mbe", + "@vendor__ra_ap_parser-0.0.232//:ra_ap_parser", + "@vendor__ra_ap_span-0.0.232//:ra_ap_span", + "@vendor__ra_ap_stdx-0.0.232//:ra_ap_stdx", + "@vendor__ra_ap_syntax-0.0.232//:ra_ap_syntax", + "@vendor__ra_ap_syntax-bridge-0.0.232//:ra_ap_syntax_bridge", + "@vendor__ra_ap_tt-0.0.232//:ra_ap_tt", + "@vendor__rustc-hash-1.1.0//:rustc_hash", + "@vendor__smallvec-1.13.2//:smallvec", + "@vendor__tracing-0.1.40//:tracing", + "@vendor__triomphe-0.1.14//:triomphe", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_hir_ty-0.0.232.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_hir_ty-0.0.232.bazel new file mode 100644 index 000000000000..2ab7288dddb6 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_hir_ty-0.0.232.bazel @@ -0,0 +1,127 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "ra_ap_hir_ty", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + aliases = { + "@vendor__ra_ap_base_db-0.0.232//:ra_ap_base_db": "base_db", + "@vendor__ra_ap_hir_def-0.0.232//:ra_ap_hir_def": "hir_def", + "@vendor__ra_ap_hir_expand-0.0.232//:ra_ap_hir_expand": "hir_expand", + "@vendor__ra_ap_intern-0.0.232//:ra_ap_intern": "intern", + "@vendor__ra_ap_limit-0.0.232//:ra_ap_limit": "limit", + "@vendor__ra_ap_span-0.0.232//:ra_ap_span": "span", + "@vendor__ra_ap_stdx-0.0.232//:ra_ap_stdx": "stdx", + "@vendor__ra_ap_syntax-0.0.232//:ra_ap_syntax": "syntax", + }, + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2021", + proc_macro_deps = [ + "@vendor__chalk-derive-0.98.0//:chalk_derive", + ], + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=ra_ap_hir_ty", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.0.232", + deps = [ + "@vendor__arrayvec-0.7.6//:arrayvec", + "@vendor__bitflags-2.6.0//:bitflags", + "@vendor__chalk-ir-0.98.0//:chalk_ir", + "@vendor__chalk-recursive-0.98.0//:chalk_recursive", + "@vendor__chalk-solve-0.98.0//:chalk_solve", + "@vendor__cov-mark-2.0.0//:cov_mark", + "@vendor__either-1.13.0//:either", + "@vendor__ena-0.14.3//:ena", + "@vendor__indexmap-2.6.0//:indexmap", + "@vendor__itertools-0.12.1//:itertools", + "@vendor__la-arena-0.3.1//:la_arena", + "@vendor__nohash-hasher-0.2.0//:nohash_hasher", + "@vendor__oorandom-11.1.4//:oorandom", + "@vendor__ra-ap-rustc_abi-0.63.0//:ra_ap_rustc_abi", + "@vendor__ra-ap-rustc_index-0.63.0//:ra_ap_rustc_index", + "@vendor__ra-ap-rustc_pattern_analysis-0.63.0//:ra_ap_rustc_pattern_analysis", + "@vendor__ra_ap_base_db-0.0.232//:ra_ap_base_db", + "@vendor__ra_ap_hir_def-0.0.232//:ra_ap_hir_def", + "@vendor__ra_ap_hir_expand-0.0.232//:ra_ap_hir_expand", + "@vendor__ra_ap_intern-0.0.232//:ra_ap_intern", + "@vendor__ra_ap_limit-0.0.232//:ra_ap_limit", + "@vendor__ra_ap_span-0.0.232//:ra_ap_span", + "@vendor__ra_ap_stdx-0.0.232//:ra_ap_stdx", + "@vendor__ra_ap_syntax-0.0.232//:ra_ap_syntax", + "@vendor__rustc-hash-1.1.0//:rustc_hash", + "@vendor__rustc_apfloat-0.2.1-llvm-462a31f5a5ab//:rustc_apfloat", + "@vendor__scoped-tls-1.0.1//:scoped_tls", + "@vendor__smallvec-1.13.2//:smallvec", + "@vendor__tracing-0.1.40//:tracing", + "@vendor__triomphe-0.1.14//:triomphe", + "@vendor__typed-arena-2.0.2//:typed_arena", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_ide_db-0.0.232.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_ide_db-0.0.232.bazel new file mode 100644 index 000000000000..c9a42c265093 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_ide_db-0.0.232.bazel @@ -0,0 +1,118 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "ra_ap_ide_db", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + aliases = { + "@vendor__ra_ap_base_db-0.0.232//:ra_ap_base_db": "base_db", + "@vendor__ra_ap_hir-0.0.232//:ra_ap_hir": "hir", + "@vendor__ra_ap_limit-0.0.232//:ra_ap_limit": "limit", + "@vendor__ra_ap_parser-0.0.232//:ra_ap_parser": "parser", + "@vendor__ra_ap_profile-0.0.232//:ra_ap_profile": "profile", + "@vendor__ra_ap_span-0.0.232//:ra_ap_span": "span", + "@vendor__ra_ap_stdx-0.0.232//:ra_ap_stdx": "stdx", + "@vendor__ra_ap_syntax-0.0.232//:ra_ap_syntax": "syntax", + "@vendor__ra_ap_text_edit-0.0.232//:ra_ap_text_edit": "text_edit", + }, + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=ra_ap_ide_db", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.0.232", + deps = [ + "@vendor__arrayvec-0.7.6//:arrayvec", + "@vendor__bitflags-2.6.0//:bitflags", + "@vendor__cov-mark-2.0.0//:cov_mark", + "@vendor__crossbeam-channel-0.5.13//:crossbeam_channel", + "@vendor__either-1.13.0//:either", + "@vendor__fst-0.4.7//:fst", + "@vendor__indexmap-2.6.0//:indexmap", + "@vendor__itertools-0.12.1//:itertools", + "@vendor__line-index-0.1.2//:line_index", + "@vendor__memchr-2.7.4//:memchr", + "@vendor__nohash-hasher-0.2.0//:nohash_hasher", + "@vendor__ra_ap_base_db-0.0.232//:ra_ap_base_db", + "@vendor__ra_ap_hir-0.0.232//:ra_ap_hir", + "@vendor__ra_ap_limit-0.0.232//:ra_ap_limit", + "@vendor__ra_ap_parser-0.0.232//:ra_ap_parser", + "@vendor__ra_ap_profile-0.0.232//:ra_ap_profile", + "@vendor__ra_ap_span-0.0.232//:ra_ap_span", + "@vendor__ra_ap_stdx-0.0.232//:ra_ap_stdx", + "@vendor__ra_ap_syntax-0.0.232//:ra_ap_syntax", + "@vendor__ra_ap_text_edit-0.0.232//:ra_ap_text_edit", + "@vendor__rayon-1.10.0//:rayon", + "@vendor__rustc-hash-1.1.0//:rustc_hash", + "@vendor__tracing-0.1.40//:tracing", + "@vendor__triomphe-0.1.14//:triomphe", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_intern-0.0.232.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_intern-0.0.232.bazel new file mode 100644 index 000000000000..a45f61128322 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_intern-0.0.232.bazel @@ -0,0 +1,88 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "ra_ap_intern", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=ra_ap_intern", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.0.232", + deps = [ + "@vendor__dashmap-5.5.3//:dashmap", + "@vendor__hashbrown-0.14.5//:hashbrown", + "@vendor__rustc-hash-1.1.0//:rustc_hash", + "@vendor__sptr-0.3.2//:sptr", + "@vendor__triomphe-0.1.14//:triomphe", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_limit-0.0.232.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_limit-0.0.232.bazel new file mode 100644 index 000000000000..dae361476ace --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_limit-0.0.232.bazel @@ -0,0 +1,81 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "ra_ap_limit", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=ra_ap_limit", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.0.232", +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_load-cargo-0.0.232.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_load-cargo-0.0.232.bazel new file mode 100644 index 000000000000..bd587db5731a --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_load-cargo-0.0.232.bazel @@ -0,0 +1,109 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "ra_ap_load_cargo", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + aliases = { + "@vendor__ra_ap_hir_expand-0.0.232//:ra_ap_hir_expand": "hir_expand", + "@vendor__ra_ap_ide_db-0.0.232//:ra_ap_ide_db": "ide_db", + "@vendor__ra_ap_intern-0.0.232//:ra_ap_intern": "intern", + "@vendor__ra_ap_paths-0.0.232//:ra_ap_paths": "paths", + "@vendor__ra_ap_proc_macro_api-0.0.232//:ra_ap_proc_macro_api": "proc_macro_api", + "@vendor__ra_ap_project_model-0.0.232//:ra_ap_project_model": "project_model", + "@vendor__ra_ap_span-0.0.232//:ra_ap_span": "span", + "@vendor__ra_ap_tt-0.0.232//:ra_ap_tt": "tt", + "@vendor__ra_ap_vfs-0.0.232//:ra_ap_vfs": "vfs", + "@vendor__ra_ap_vfs-notify-0.0.232//:ra_ap_vfs_notify": "vfs_notify", + }, + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=ra_ap_load-cargo", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.0.232", + deps = [ + "@vendor__anyhow-1.0.93//:anyhow", + "@vendor__crossbeam-channel-0.5.13//:crossbeam_channel", + "@vendor__itertools-0.12.1//:itertools", + "@vendor__ra_ap_hir_expand-0.0.232//:ra_ap_hir_expand", + "@vendor__ra_ap_ide_db-0.0.232//:ra_ap_ide_db", + "@vendor__ra_ap_intern-0.0.232//:ra_ap_intern", + "@vendor__ra_ap_paths-0.0.232//:ra_ap_paths", + "@vendor__ra_ap_proc_macro_api-0.0.232//:ra_ap_proc_macro_api", + "@vendor__ra_ap_project_model-0.0.232//:ra_ap_project_model", + "@vendor__ra_ap_span-0.0.232//:ra_ap_span", + "@vendor__ra_ap_tt-0.0.232//:ra_ap_tt", + "@vendor__ra_ap_vfs-0.0.232//:ra_ap_vfs", + "@vendor__ra_ap_vfs-notify-0.0.232//:ra_ap_vfs_notify", + "@vendor__tracing-0.1.40//:tracing", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_mbe-0.0.232.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_mbe-0.0.232.bazel new file mode 100644 index 000000000000..daed6a0e2bcb --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_mbe-0.0.232.bazel @@ -0,0 +1,104 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "ra_ap_mbe", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + aliases = { + "@vendor__ra_ap_intern-0.0.232//:ra_ap_intern": "intern", + "@vendor__ra_ap_parser-0.0.232//:ra_ap_parser": "parser", + "@vendor__ra_ap_span-0.0.232//:ra_ap_span": "span", + "@vendor__ra_ap_stdx-0.0.232//:ra_ap_stdx": "stdx", + "@vendor__ra_ap_syntax-0.0.232//:ra_ap_syntax": "syntax", + "@vendor__ra_ap_syntax-bridge-0.0.232//:ra_ap_syntax_bridge": "syntax_bridge", + "@vendor__ra_ap_tt-0.0.232//:ra_ap_tt": "tt", + }, + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=ra_ap_mbe", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.0.232", + deps = [ + "@vendor__arrayvec-0.7.6//:arrayvec", + "@vendor__cov-mark-2.0.0//:cov_mark", + "@vendor__ra_ap_intern-0.0.232//:ra_ap_intern", + "@vendor__ra_ap_parser-0.0.232//:ra_ap_parser", + "@vendor__ra_ap_span-0.0.232//:ra_ap_span", + "@vendor__ra_ap_stdx-0.0.232//:ra_ap_stdx", + "@vendor__ra_ap_syntax-0.0.232//:ra_ap_syntax", + "@vendor__ra_ap_syntax-bridge-0.0.232//:ra_ap_syntax_bridge", + "@vendor__ra_ap_tt-0.0.232//:ra_ap_tt", + "@vendor__rustc-hash-1.1.0//:rustc_hash", + "@vendor__smallvec-1.13.2//:smallvec", + "@vendor__tracing-0.1.40//:tracing", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_parser-0.0.232.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_parser-0.0.232.bazel new file mode 100644 index 000000000000..d512c568421c --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_parser-0.0.232.bazel @@ -0,0 +1,94 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "ra_ap_parser", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + aliases = { + "@vendor__ra_ap_limit-0.0.232//:ra_ap_limit": "limit", + }, + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "default", + "tracing", + ], + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=ra_ap_parser", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.0.232", + deps = [ + "@vendor__drop_bomb-0.1.5//:drop_bomb", + "@vendor__ra-ap-rustc_lexer-0.63.0//:ra_ap_rustc_lexer", + "@vendor__ra_ap_limit-0.0.232//:ra_ap_limit", + "@vendor__tracing-0.1.40//:tracing", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_paths-0.0.232.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_paths-0.0.232.bazel new file mode 100644 index 000000000000..631643fbc6be --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_paths-0.0.232.bazel @@ -0,0 +1,88 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "ra_ap_paths", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "serde1", + ], + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=ra_ap_paths", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.0.232", + deps = [ + "@vendor__camino-1.1.9//:camino", + "@vendor__serde-1.0.214//:serde", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_proc_macro_api-0.0.232.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_proc_macro_api-0.0.232.bazel new file mode 100644 index 000000000000..d1f5d480d719 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_proc_macro_api-0.0.232.bazel @@ -0,0 +1,102 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "ra_ap_proc_macro_api", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + aliases = { + "@vendor__ra_ap_base_db-0.0.232//:ra_ap_base_db": "base_db", + "@vendor__ra_ap_intern-0.0.232//:ra_ap_intern": "intern", + "@vendor__ra_ap_paths-0.0.232//:ra_ap_paths": "paths", + "@vendor__ra_ap_span-0.0.232//:ra_ap_span": "span", + "@vendor__ra_ap_stdx-0.0.232//:ra_ap_stdx": "stdx", + "@vendor__ra_ap_tt-0.0.232//:ra_ap_tt": "tt", + }, + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=ra_ap_proc_macro_api", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.0.232", + deps = [ + "@vendor__indexmap-2.6.0//:indexmap", + "@vendor__ra_ap_base_db-0.0.232//:ra_ap_base_db", + "@vendor__ra_ap_intern-0.0.232//:ra_ap_intern", + "@vendor__ra_ap_paths-0.0.232//:ra_ap_paths", + "@vendor__ra_ap_span-0.0.232//:ra_ap_span", + "@vendor__ra_ap_stdx-0.0.232//:ra_ap_stdx", + "@vendor__ra_ap_tt-0.0.232//:ra_ap_tt", + "@vendor__rustc-hash-1.1.0//:rustc_hash", + "@vendor__serde-1.0.214//:serde", + "@vendor__serde_json-1.0.132//:serde_json", + "@vendor__tracing-0.1.40//:tracing", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_profile-0.0.232.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_profile-0.0.232.bazel new file mode 100644 index 000000000000..b91c889ab5c3 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_profile-0.0.232.bazel @@ -0,0 +1,123 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "ra_ap_profile", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=ra_ap_profile", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.0.232", + deps = [ + "@vendor__cfg-if-1.0.0//:cfg_if", + "@vendor__libc-0.2.162//:libc", + ] + select({ + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [ + "@vendor__windows-sys-0.52.0//:windows_sys", # cfg(windows) + ], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [ + "@vendor__perf-event-0.4.7//:perf_event", # cfg(target_os = "linux") + ], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [ + "@vendor__perf-event-0.4.7//:perf_event", # cfg(target_os = "linux") + ], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [ + "@vendor__perf-event-0.4.7//:perf_event", # cfg(target_os = "linux") + ], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [ + "@vendor__perf-event-0.4.7//:perf_event", # cfg(target_os = "linux") + ], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [ + "@vendor__windows-sys-0.52.0//:windows_sys", # cfg(windows) + ], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [ + "@vendor__perf-event-0.4.7//:perf_event", # cfg(target_os = "linux") + ], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [ + "@vendor__perf-event-0.4.7//:perf_event", # cfg(target_os = "linux") + ], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [ + "@vendor__perf-event-0.4.7//:perf_event", # cfg(target_os = "linux") + ], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [ + "@vendor__windows-sys-0.52.0//:windows_sys", # cfg(windows) + ], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [ + "@vendor__perf-event-0.4.7//:perf_event", # cfg(target_os = "linux") + ], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [ + "@vendor__perf-event-0.4.7//:perf_event", # cfg(target_os = "linux") + ], + "//conditions:default": [], + }), +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_project_model-0.0.232.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_project_model-0.0.232.bazel new file mode 100644 index 000000000000..6f6f3bb303a4 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_project_model-0.0.232.bazel @@ -0,0 +1,109 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "ra_ap_project_model", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + aliases = { + "@vendor__ra_ap_base_db-0.0.232//:ra_ap_base_db": "base_db", + "@vendor__ra_ap_cfg-0.0.232//:ra_ap_cfg": "cfg", + "@vendor__ra_ap_intern-0.0.232//:ra_ap_intern": "intern", + "@vendor__ra_ap_paths-0.0.232//:ra_ap_paths": "paths", + "@vendor__ra_ap_span-0.0.232//:ra_ap_span": "span", + "@vendor__ra_ap_stdx-0.0.232//:ra_ap_stdx": "stdx", + "@vendor__ra_ap_toolchain-0.0.232//:ra_ap_toolchain": "toolchain", + }, + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=ra_ap_project_model", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.0.232", + deps = [ + "@vendor__anyhow-1.0.93//:anyhow", + "@vendor__cargo_metadata-0.18.1//:cargo_metadata", + "@vendor__itertools-0.12.1//:itertools", + "@vendor__la-arena-0.3.1//:la_arena", + "@vendor__ra_ap_base_db-0.0.232//:ra_ap_base_db", + "@vendor__ra_ap_cfg-0.0.232//:ra_ap_cfg", + "@vendor__ra_ap_intern-0.0.232//:ra_ap_intern", + "@vendor__ra_ap_paths-0.0.232//:ra_ap_paths", + "@vendor__ra_ap_span-0.0.232//:ra_ap_span", + "@vendor__ra_ap_stdx-0.0.232//:ra_ap_stdx", + "@vendor__ra_ap_toolchain-0.0.232//:ra_ap_toolchain", + "@vendor__rustc-hash-1.1.0//:rustc_hash", + "@vendor__semver-1.0.23//:semver", + "@vendor__serde-1.0.214//:serde", + "@vendor__serde_json-1.0.132//:serde_json", + "@vendor__tracing-0.1.40//:tracing", + "@vendor__triomphe-0.1.14//:triomphe", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_salsa-0.0.232.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_salsa-0.0.232.bazel new file mode 100644 index 000000000000..b448b6c1919b --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_salsa-0.0.232.bazel @@ -0,0 +1,95 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "salsa", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2021", + proc_macro_deps = [ + "@vendor__ra_ap_salsa-macros-0.0.232//:salsa_macros", + ], + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=ra_ap_salsa", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.0.232", + deps = [ + "@vendor__indexmap-2.6.0//:indexmap", + "@vendor__itertools-0.12.1//:itertools", + "@vendor__lock_api-0.4.12//:lock_api", + "@vendor__oorandom-11.1.4//:oorandom", + "@vendor__parking_lot-0.12.3//:parking_lot", + "@vendor__rustc-hash-1.1.0//:rustc_hash", + "@vendor__smallvec-1.13.2//:smallvec", + "@vendor__tracing-0.1.40//:tracing", + "@vendor__triomphe-0.1.14//:triomphe", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_salsa-macros-0.0.232.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_salsa-macros-0.0.232.bazel new file mode 100644 index 000000000000..c5eba6cdaa2b --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_salsa-macros-0.0.232.bazel @@ -0,0 +1,87 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_proc_macro") + +package(default_visibility = ["//visibility:public"]) + +rust_proc_macro( + name = "salsa_macros", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=ra_ap_salsa-macros", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.0.232", + deps = [ + "@vendor__heck-0.4.1//:heck", + "@vendor__proc-macro2-1.0.89//:proc_macro2", + "@vendor__quote-1.0.37//:quote", + "@vendor__syn-2.0.87//:syn", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_span-0.0.232.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_span-0.0.232.bazel new file mode 100644 index 000000000000..83cd6321f379 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_span-0.0.232.bazel @@ -0,0 +1,96 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "ra_ap_span", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + aliases = { + "@vendor__ra_ap_stdx-0.0.232//:ra_ap_stdx": "stdx", + "@vendor__ra_ap_syntax-0.0.232//:ra_ap_syntax": "syntax", + "@vendor__ra_ap_vfs-0.0.232//:ra_ap_vfs": "vfs", + }, + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=ra_ap_span", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.0.232", + deps = [ + "@vendor__hashbrown-0.14.5//:hashbrown", + "@vendor__la-arena-0.3.1//:la_arena", + "@vendor__ra_ap_salsa-0.0.232//:salsa", + "@vendor__ra_ap_stdx-0.0.232//:ra_ap_stdx", + "@vendor__ra_ap_syntax-0.0.232//:ra_ap_syntax", + "@vendor__ra_ap_vfs-0.0.232//:ra_ap_vfs", + "@vendor__rustc-hash-1.1.0//:rustc_hash", + "@vendor__text-size-1.1.1//:text_size", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_stdx-0.0.232.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_stdx-0.0.232.bazel new file mode 100644 index 000000000000..d342495ff508 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_stdx-0.0.232.bazel @@ -0,0 +1,102 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "ra_ap_stdx", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=ra_ap_stdx", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.0.232", + deps = [ + "@vendor__always-assert-0.2.0//:always_assert", + "@vendor__crossbeam-channel-0.5.13//:crossbeam_channel", + "@vendor__itertools-0.12.1//:itertools", + "@vendor__jod-thread-0.1.2//:jod_thread", + "@vendor__libc-0.2.162//:libc", + ] + select({ + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [ + "@vendor__miow-0.6.0//:miow", # cfg(windows) + "@vendor__windows-sys-0.52.0//:windows_sys", # cfg(windows) + ], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [ + "@vendor__miow-0.6.0//:miow", # cfg(windows) + "@vendor__windows-sys-0.52.0//:windows_sys", # cfg(windows) + ], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [ + "@vendor__miow-0.6.0//:miow", # cfg(windows) + "@vendor__windows-sys-0.52.0//:windows_sys", # cfg(windows) + ], + "//conditions:default": [], + }), +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_syntax-0.0.232.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_syntax-0.0.232.bazel new file mode 100644 index 000000000000..47005eb05673 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_syntax-0.0.232.bazel @@ -0,0 +1,101 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "ra_ap_syntax", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + aliases = { + "@vendor__ra_ap_parser-0.0.232//:ra_ap_parser": "parser", + "@vendor__ra_ap_stdx-0.0.232//:ra_ap_stdx": "stdx", + "@vendor__ra_ap_text_edit-0.0.232//:ra_ap_text_edit": "text_edit", + }, + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=ra_ap_syntax", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.0.232", + deps = [ + "@vendor__cov-mark-2.0.0//:cov_mark", + "@vendor__either-1.13.0//:either", + "@vendor__indexmap-2.6.0//:indexmap", + "@vendor__itertools-0.12.1//:itertools", + "@vendor__ra-ap-rustc_lexer-0.63.0//:ra_ap_rustc_lexer", + "@vendor__ra_ap_parser-0.0.232//:ra_ap_parser", + "@vendor__ra_ap_stdx-0.0.232//:ra_ap_stdx", + "@vendor__ra_ap_text_edit-0.0.232//:ra_ap_text_edit", + "@vendor__rowan-0.15.15//:rowan", + "@vendor__rustc-hash-1.1.0//:rustc_hash", + "@vendor__smol_str-0.2.2//:smol_str", + "@vendor__tracing-0.1.40//:tracing", + "@vendor__triomphe-0.1.14//:triomphe", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_syntax-bridge-0.0.232.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_syntax-bridge-0.0.232.bazel new file mode 100644 index 000000000000..5cf3b23802fb --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_syntax-bridge-0.0.232.bazel @@ -0,0 +1,99 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "ra_ap_syntax_bridge", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + aliases = { + "@vendor__ra_ap_intern-0.0.232//:ra_ap_intern": "intern", + "@vendor__ra_ap_parser-0.0.232//:ra_ap_parser": "parser", + "@vendor__ra_ap_span-0.0.232//:ra_ap_span": "span", + "@vendor__ra_ap_stdx-0.0.232//:ra_ap_stdx": "stdx", + "@vendor__ra_ap_syntax-0.0.232//:ra_ap_syntax": "syntax", + "@vendor__ra_ap_tt-0.0.232//:ra_ap_tt": "tt", + }, + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=ra_ap_syntax-bridge", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.0.232", + deps = [ + "@vendor__ra_ap_intern-0.0.232//:ra_ap_intern", + "@vendor__ra_ap_parser-0.0.232//:ra_ap_parser", + "@vendor__ra_ap_span-0.0.232//:ra_ap_span", + "@vendor__ra_ap_stdx-0.0.232//:ra_ap_stdx", + "@vendor__ra_ap_syntax-0.0.232//:ra_ap_syntax", + "@vendor__ra_ap_tt-0.0.232//:ra_ap_tt", + "@vendor__rustc-hash-1.1.0//:rustc_hash", + "@vendor__tracing-0.1.40//:tracing", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_text_edit-0.0.232.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_text_edit-0.0.232.bazel new file mode 100644 index 000000000000..7631c485b7c5 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_text_edit-0.0.232.bazel @@ -0,0 +1,85 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "ra_ap_text_edit", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=ra_ap_text_edit", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.0.232", + deps = [ + "@vendor__itertools-0.12.1//:itertools", + "@vendor__text-size-1.1.1//:text_size", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_toolchain-0.0.232.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_toolchain-0.0.232.bazel new file mode 100644 index 000000000000..badcaa2f8123 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_toolchain-0.0.232.bazel @@ -0,0 +1,85 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "ra_ap_toolchain", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=ra_ap_toolchain", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.0.232", + deps = [ + "@vendor__camino-1.1.9//:camino", + "@vendor__home-0.5.9//:home", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_tt-0.0.232.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_tt-0.0.232.bazel new file mode 100644 index 000000000000..bfd3751c49b0 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_tt-0.0.232.bazel @@ -0,0 +1,92 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "ra_ap_tt", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + aliases = { + "@vendor__ra_ap_intern-0.0.232//:ra_ap_intern": "intern", + "@vendor__ra_ap_stdx-0.0.232//:ra_ap_stdx": "stdx", + }, + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=ra_ap_tt", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.0.232", + deps = [ + "@vendor__arrayvec-0.7.6//:arrayvec", + "@vendor__ra-ap-rustc_lexer-0.63.0//:ra_ap_rustc_lexer", + "@vendor__ra_ap_intern-0.0.232//:ra_ap_intern", + "@vendor__ra_ap_stdx-0.0.232//:ra_ap_stdx", + "@vendor__text-size-1.1.1//:text_size", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_vfs-0.0.232.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_vfs-0.0.232.bazel new file mode 100644 index 000000000000..99585402a00f --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_vfs-0.0.232.bazel @@ -0,0 +1,95 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "ra_ap_vfs", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + aliases = { + "@vendor__ra_ap_paths-0.0.232//:ra_ap_paths": "paths", + "@vendor__ra_ap_stdx-0.0.232//:ra_ap_stdx": "stdx", + }, + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=ra_ap_vfs", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.0.232", + deps = [ + "@vendor__crossbeam-channel-0.5.13//:crossbeam_channel", + "@vendor__fst-0.4.7//:fst", + "@vendor__indexmap-2.6.0//:indexmap", + "@vendor__nohash-hasher-0.2.0//:nohash_hasher", + "@vendor__ra_ap_paths-0.0.232//:ra_ap_paths", + "@vendor__ra_ap_stdx-0.0.232//:ra_ap_stdx", + "@vendor__rustc-hash-1.1.0//:rustc_hash", + "@vendor__tracing-0.1.40//:tracing", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_vfs-notify-0.0.232.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_vfs-notify-0.0.232.bazel new file mode 100644 index 000000000000..b9587c0142ac --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_vfs-notify-0.0.232.bazel @@ -0,0 +1,97 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "ra_ap_vfs_notify", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + aliases = { + "@vendor__ra_ap_paths-0.0.232//:ra_ap_paths": "paths", + "@vendor__ra_ap_stdx-0.0.232//:ra_ap_stdx": "stdx", + "@vendor__ra_ap_vfs-0.0.232//:ra_ap_vfs": "vfs", + }, + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=ra_ap_vfs-notify", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.0.232", + deps = [ + "@vendor__crossbeam-channel-0.5.13//:crossbeam_channel", + "@vendor__notify-6.1.1//:notify", + "@vendor__ra_ap_paths-0.0.232//:ra_ap_paths", + "@vendor__ra_ap_stdx-0.0.232//:ra_ap_stdx", + "@vendor__ra_ap_vfs-0.0.232//:ra_ap_vfs", + "@vendor__rayon-1.10.0//:rayon", + "@vendor__rustc-hash-1.1.0//:rustc_hash", + "@vendor__tracing-0.1.40//:tracing", + "@vendor__walkdir-2.5.0//:walkdir", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.rand-0.8.5.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.rand-0.8.5.bazel new file mode 100644 index 000000000000..43642b336b3c --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.rand-0.8.5.bazel @@ -0,0 +1,168 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "rand", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "alloc", + "default", + "getrandom", + "libc", + "rand_chacha", + "std", + "std_rng", + ], + crate_root = "src/lib.rs", + edition = "2018", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=rand", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.8.5", + deps = [ + "@vendor__rand_chacha-0.3.1//:rand_chacha", + "@vendor__rand_core-0.6.4//:rand_core", + ] + select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [ + "@vendor__libc-0.2.162//:libc", # aarch64-apple-darwin + ], + "@rules_rust//rust/platform:aarch64-apple-ios": [ + "@vendor__libc-0.2.162//:libc", # aarch64-apple-ios + ], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [ + "@vendor__libc-0.2.162//:libc", # aarch64-apple-ios-sim + ], + "@rules_rust//rust/platform:aarch64-fuchsia": [ + "@vendor__libc-0.2.162//:libc", # aarch64-fuchsia + ], + "@rules_rust//rust/platform:aarch64-linux-android": [ + "@vendor__libc-0.2.162//:libc", # aarch64-linux-android + ], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [ + "@vendor__libc-0.2.162//:libc", # aarch64-unknown-linux-gnu + ], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [ + "@vendor__libc-0.2.162//:libc", # aarch64-unknown-linux-gnu, aarch64-unknown-nixos-gnu + ], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [ + "@vendor__libc-0.2.162//:libc", # aarch64-unknown-nto-qnx710 + ], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [ + "@vendor__libc-0.2.162//:libc", # arm-unknown-linux-gnueabi + ], + "@rules_rust//rust/platform:armv7-linux-androideabi": [ + "@vendor__libc-0.2.162//:libc", # armv7-linux-androideabi + ], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [ + "@vendor__libc-0.2.162//:libc", # armv7-unknown-linux-gnueabi + ], + "@rules_rust//rust/platform:i686-apple-darwin": [ + "@vendor__libc-0.2.162//:libc", # i686-apple-darwin + ], + "@rules_rust//rust/platform:i686-linux-android": [ + "@vendor__libc-0.2.162//:libc", # i686-linux-android + ], + "@rules_rust//rust/platform:i686-unknown-freebsd": [ + "@vendor__libc-0.2.162//:libc", # i686-unknown-freebsd + ], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [ + "@vendor__libc-0.2.162//:libc", # i686-unknown-linux-gnu + ], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [ + "@vendor__libc-0.2.162//:libc", # powerpc-unknown-linux-gnu + ], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [ + "@vendor__libc-0.2.162//:libc", # s390x-unknown-linux-gnu + ], + "@rules_rust//rust/platform:x86_64-apple-darwin": [ + "@vendor__libc-0.2.162//:libc", # x86_64-apple-darwin + ], + "@rules_rust//rust/platform:x86_64-apple-ios": [ + "@vendor__libc-0.2.162//:libc", # x86_64-apple-ios + ], + "@rules_rust//rust/platform:x86_64-fuchsia": [ + "@vendor__libc-0.2.162//:libc", # x86_64-fuchsia + ], + "@rules_rust//rust/platform:x86_64-linux-android": [ + "@vendor__libc-0.2.162//:libc", # x86_64-linux-android + ], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [ + "@vendor__libc-0.2.162//:libc", # x86_64-unknown-freebsd + ], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [ + "@vendor__libc-0.2.162//:libc", # x86_64-unknown-linux-gnu + ], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [ + "@vendor__libc-0.2.162//:libc", # x86_64-unknown-linux-gnu, x86_64-unknown-nixos-gnu + ], + "//conditions:default": [], + }), +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.rand_chacha-0.3.1.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.rand_chacha-0.3.1.bazel new file mode 100644 index 000000000000..b09d36249e52 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.rand_chacha-0.3.1.bazel @@ -0,0 +1,88 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "rand_chacha", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "std", + ], + crate_root = "src/lib.rs", + edition = "2018", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=rand_chacha", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.3.1", + deps = [ + "@vendor__ppv-lite86-0.2.20//:ppv_lite86", + "@vendor__rand_core-0.6.4//:rand_core", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.rand_core-0.6.4.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.rand_core-0.6.4.bazel new file mode 100644 index 000000000000..8fa9c34407cc --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.rand_core-0.6.4.bazel @@ -0,0 +1,89 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "rand_core", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "alloc", + "getrandom", + "std", + ], + crate_root = "src/lib.rs", + edition = "2018", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=rand_core", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.6.4", + deps = [ + "@vendor__getrandom-0.2.15//:getrandom", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.rayon-1.10.0.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.rayon-1.10.0.bazel new file mode 100644 index 000000000000..c6083af9cd98 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.rayon-1.10.0.bazel @@ -0,0 +1,85 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "rayon", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=rayon", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "1.10.0", + deps = [ + "@vendor__either-1.13.0//:either", + "@vendor__rayon-core-1.12.1//:rayon_core", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.rayon-core-1.12.1.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.rayon-core-1.12.1.bazel new file mode 100644 index 000000000000..316412a436e6 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.rayon-core-1.12.1.bazel @@ -0,0 +1,143 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//cargo:defs.bzl", "cargo_build_script") +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "rayon_core", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=rayon-core", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "1.12.1", + deps = [ + "@vendor__crossbeam-deque-0.8.5//:crossbeam_deque", + "@vendor__crossbeam-utils-0.8.20//:crossbeam_utils", + "@vendor__rayon-core-1.12.1//:build_script_build", + ], +) + +cargo_build_script( + name = "_bs", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + "**/*.rs", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_name = "build_script_build", + crate_root = "build.rs", + data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + edition = "2021", + links = "rayon-core", + pkg_name = "rayon-core", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=rayon-core", + "manual", + "noclippy", + "norustfmt", + ], + version = "1.12.1", + visibility = ["//visibility:private"], +) + +alias( + name = "build_script_build", + actual = ":_bs", + tags = ["manual"], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.redox_syscall-0.5.7.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.redox_syscall-0.5.7.bazel new file mode 100644 index 000000000000..2d8499e0e2b2 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.redox_syscall-0.5.7.bazel @@ -0,0 +1,84 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "syscall", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=redox_syscall", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.5.7", + deps = [ + "@vendor__bitflags-2.6.0//:bitflags", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.regex-1.11.1.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.regex-1.11.1.bazel new file mode 100644 index 000000000000..b0d29b8bfe4d --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.regex-1.11.1.bazel @@ -0,0 +1,106 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "regex", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "default", + "perf", + "perf-backtrack", + "perf-cache", + "perf-dfa", + "perf-inline", + "perf-literal", + "perf-onepass", + "std", + "unicode", + "unicode-age", + "unicode-bool", + "unicode-case", + "unicode-gencat", + "unicode-perl", + "unicode-script", + "unicode-segment", + ], + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=regex", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "1.11.1", + deps = [ + "@vendor__aho-corasick-1.1.3//:aho_corasick", + "@vendor__memchr-2.7.4//:memchr", + "@vendor__regex-automata-0.4.8//:regex_automata", + "@vendor__regex-syntax-0.8.5//:regex_syntax", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.regex-automata-0.1.10.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.regex-automata-0.1.10.bazel new file mode 100644 index 000000000000..867e12eb4583 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.regex-automata-0.1.10.bazel @@ -0,0 +1,89 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "regex_automata", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "default", + "regex-syntax", + "std", + ], + crate_root = "src/lib.rs", + edition = "2015", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=regex-automata", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.1.10", + deps = [ + "@vendor__regex-syntax-0.6.29//:regex_syntax", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.regex-automata-0.4.8.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.regex-automata-0.4.8.bazel new file mode 100644 index 000000000000..c6fad9e5ccf2 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.regex-automata-0.4.8.bazel @@ -0,0 +1,112 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "regex_automata", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "alloc", + "dfa-onepass", + "hybrid", + "meta", + "nfa", + "nfa-backtrack", + "nfa-pikevm", + "nfa-thompson", + "perf", + "perf-inline", + "perf-literal", + "perf-literal-multisubstring", + "perf-literal-substring", + "std", + "syntax", + "unicode", + "unicode-age", + "unicode-bool", + "unicode-case", + "unicode-gencat", + "unicode-perl", + "unicode-script", + "unicode-segment", + "unicode-word-boundary", + ], + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=regex-automata", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.4.8", + deps = [ + "@vendor__aho-corasick-1.1.3//:aho_corasick", + "@vendor__memchr-2.7.4//:memchr", + "@vendor__regex-syntax-0.8.5//:regex_syntax", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.regex-syntax-0.6.29.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.regex-syntax-0.6.29.bazel new file mode 100644 index 000000000000..4529a872538d --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.regex-syntax-0.6.29.bazel @@ -0,0 +1,92 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "regex_syntax", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "default", + "unicode", + "unicode-age", + "unicode-bool", + "unicode-case", + "unicode-gencat", + "unicode-perl", + "unicode-script", + "unicode-segment", + ], + crate_root = "src/lib.rs", + edition = "2018", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=regex-syntax", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.6.29", +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.regex-syntax-0.8.5.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.regex-syntax-0.8.5.bazel new file mode 100644 index 000000000000..09fce246fd78 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.regex-syntax-0.8.5.bazel @@ -0,0 +1,93 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "regex_syntax", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "default", + "std", + "unicode", + "unicode-age", + "unicode-bool", + "unicode-case", + "unicode-gencat", + "unicode-perl", + "unicode-script", + "unicode-segment", + ], + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=regex-syntax", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.8.5", +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.rowan-0.15.15.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.rowan-0.15.15.bazel new file mode 100644 index 000000000000..07e2458214ae --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.rowan-0.15.15.bazel @@ -0,0 +1,88 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "rowan", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=rowan", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.15.15", + deps = [ + "@vendor__countme-3.0.1//:countme", + "@vendor__hashbrown-0.14.5//:hashbrown", + "@vendor__memoffset-0.9.1//:memoffset", + "@vendor__rustc-hash-1.1.0//:rustc_hash", + "@vendor__text-size-1.1.1//:text_size", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.rustc-hash-1.1.0.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.rustc-hash-1.1.0.bazel new file mode 100644 index 000000000000..4ee3580af2ad --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.rustc-hash-1.1.0.bazel @@ -0,0 +1,85 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "rustc_hash", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "default", + "std", + ], + crate_root = "src/lib.rs", + edition = "2015", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=rustc-hash", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "1.1.0", +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.rustc_apfloat-0.2.1+llvm-462a31f5a5ab.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.rustc_apfloat-0.2.1+llvm-462a31f5a5ab.bazel new file mode 100644 index 000000000000..faa9d8b2eb8d --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.rustc_apfloat-0.2.1+llvm-462a31f5a5ab.bazel @@ -0,0 +1,142 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//cargo:defs.bzl", "cargo_build_script") +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "rustc_apfloat", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=rustc_apfloat", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.2.1+llvm-462a31f5a5ab", + deps = [ + "@vendor__bitflags-1.3.2//:bitflags", + "@vendor__rustc_apfloat-0.2.1-llvm-462a31f5a5ab//:build_script_build", + "@vendor__smallvec-1.13.2//:smallvec", + ], +) + +cargo_build_script( + name = "_bs", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + "**/*.rs", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_name = "build_script_build", + crate_root = "build.rs", + data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + edition = "2021", + pkg_name = "rustc_apfloat", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=rustc_apfloat", + "manual", + "noclippy", + "norustfmt", + ], + version = "0.2.1+llvm-462a31f5a5ab", + visibility = ["//visibility:private"], +) + +alias( + name = "build_script_build", + actual = ":_bs", + tags = ["manual"], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ryu-1.0.18.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ryu-1.0.18.bazel new file mode 100644 index 000000000000..54e5b8ecdb7e --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ryu-1.0.18.bazel @@ -0,0 +1,81 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "ryu", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2018", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=ryu", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "1.0.18", +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.same-file-1.0.6.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.same-file-1.0.6.bazel new file mode 100644 index 000000000000..ad1ad30c0e4f --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.same-file-1.0.6.bazel @@ -0,0 +1,93 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "same_file", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2018", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=same-file", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "1.0.6", + deps = select({ + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [ + "@vendor__winapi-util-0.1.9//:winapi_util", # cfg(windows) + ], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [ + "@vendor__winapi-util-0.1.9//:winapi_util", # cfg(windows) + ], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [ + "@vendor__winapi-util-0.1.9//:winapi_util", # cfg(windows) + ], + "//conditions:default": [], + }), +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.scoped-tls-1.0.1.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.scoped-tls-1.0.1.bazel new file mode 100644 index 000000000000..7cf73361b512 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.scoped-tls-1.0.1.bazel @@ -0,0 +1,81 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "scoped_tls", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2015", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=scoped-tls", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "1.0.1", +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.scopeguard-1.2.0.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.scopeguard-1.2.0.bazel new file mode 100644 index 000000000000..2a0cc72698e2 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.scopeguard-1.2.0.bazel @@ -0,0 +1,81 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "scopeguard", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2015", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=scopeguard", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "1.2.0", +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.semver-1.0.23.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.semver-1.0.23.bazel new file mode 100644 index 000000000000..58420e8e9641 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.semver-1.0.23.bazel @@ -0,0 +1,151 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//cargo:defs.bzl", "cargo_build_script") +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "semver", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "default", + "serde", + "std", + ], + crate_root = "src/lib.rs", + edition = "2018", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=semver", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "1.0.23", + deps = [ + "@vendor__semver-1.0.23//:build_script_build", + "@vendor__serde-1.0.214//:serde", + ], +) + +cargo_build_script( + name = "_bs", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + "**/*.rs", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "default", + "serde", + "std", + ], + crate_name = "build_script_build", + crate_root = "build.rs", + data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + edition = "2018", + pkg_name = "semver", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=semver", + "manual", + "noclippy", + "norustfmt", + ], + version = "1.0.23", + visibility = ["//visibility:private"], +) + +alias( + name = "build_script_build", + actual = ":_bs", + tags = ["manual"], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.serde-1.0.214.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.serde-1.0.214.bazel new file mode 100644 index 000000000000..fd0cc658253d --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.serde-1.0.214.bazel @@ -0,0 +1,157 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//cargo:defs.bzl", "cargo_build_script") +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "serde", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "alloc", + "default", + "derive", + "serde_derive", + "std", + ], + crate_root = "src/lib.rs", + edition = "2018", + proc_macro_deps = [ + "@vendor__serde_derive-1.0.214//:serde_derive", + ], + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=serde", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "1.0.214", + deps = [ + "@vendor__serde-1.0.214//:build_script_build", + ], +) + +cargo_build_script( + name = "_bs", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + "**/*.rs", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "alloc", + "default", + "derive", + "serde_derive", + "std", + ], + crate_name = "build_script_build", + crate_root = "build.rs", + data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + edition = "2018", + pkg_name = "serde", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=serde", + "manual", + "noclippy", + "norustfmt", + ], + version = "1.0.214", + visibility = ["//visibility:private"], +) + +alias( + name = "build_script_build", + actual = ":_bs", + tags = ["manual"], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.serde_derive-1.0.214.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.serde_derive-1.0.214.bazel new file mode 100644 index 000000000000..1fd8a0312cee --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.serde_derive-1.0.214.bazel @@ -0,0 +1,89 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_proc_macro") + +package(default_visibility = ["//visibility:public"]) + +rust_proc_macro( + name = "serde_derive", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "default", + ], + crate_root = "src/lib.rs", + edition = "2015", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=serde_derive", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "1.0.214", + deps = [ + "@vendor__proc-macro2-1.0.89//:proc_macro2", + "@vendor__quote-1.0.37//:quote", + "@vendor__syn-2.0.87//:syn", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.serde_json-1.0.132.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.serde_json-1.0.132.bazel new file mode 100644 index 000000000000..ecbae32eeafa --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.serde_json-1.0.132.bazel @@ -0,0 +1,154 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//cargo:defs.bzl", "cargo_build_script") +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "serde_json", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "default", + "std", + "unbounded_depth", + ], + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=serde_json", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "1.0.132", + deps = [ + "@vendor__itoa-1.0.11//:itoa", + "@vendor__memchr-2.7.4//:memchr", + "@vendor__ryu-1.0.18//:ryu", + "@vendor__serde-1.0.214//:serde", + "@vendor__serde_json-1.0.132//:build_script_build", + ], +) + +cargo_build_script( + name = "_bs", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + "**/*.rs", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "default", + "std", + "unbounded_depth", + ], + crate_name = "build_script_build", + crate_root = "build.rs", + data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + edition = "2021", + pkg_name = "serde_json", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=serde_json", + "manual", + "noclippy", + "norustfmt", + ], + version = "1.0.132", + visibility = ["//visibility:private"], +) + +alias( + name = "build_script_build", + actual = ":_bs", + tags = ["manual"], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.serde_with-3.11.0.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.serde_with-3.11.0.bazel new file mode 100644 index 000000000000..d1fc0675a770 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.serde_with-3.11.0.bazel @@ -0,0 +1,94 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "serde_with", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "alloc", + "default", + "macros", + "std", + ], + crate_root = "src/lib.rs", + edition = "2021", + proc_macro_deps = [ + "@vendor__serde_derive-1.0.214//:serde_derive", + "@vendor__serde_with_macros-3.11.0//:serde_with_macros", + ], + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=serde_with", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "3.11.0", + deps = [ + "@vendor__serde-1.0.214//:serde", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.serde_with_macros-3.11.0.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.serde_with_macros-3.11.0.bazel new file mode 100644 index 000000000000..43340411b31c --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.serde_with_macros-3.11.0.bazel @@ -0,0 +1,87 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_proc_macro") + +package(default_visibility = ["//visibility:public"]) + +rust_proc_macro( + name = "serde_with_macros", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=serde_with_macros", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "3.11.0", + deps = [ + "@vendor__darling-0.20.10//:darling", + "@vendor__proc-macro2-1.0.89//:proc_macro2", + "@vendor__quote-1.0.37//:quote", + "@vendor__syn-2.0.87//:syn", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.serde_yaml-0.9.34+deprecated.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.serde_yaml-0.9.34+deprecated.bazel new file mode 100644 index 000000000000..3f19e37ec9de --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.serde_yaml-0.9.34+deprecated.bazel @@ -0,0 +1,88 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "serde_yaml", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=serde_yaml", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.9.34+deprecated", + deps = [ + "@vendor__indexmap-2.6.0//:indexmap", + "@vendor__itoa-1.0.11//:itoa", + "@vendor__ryu-1.0.18//:ryu", + "@vendor__serde-1.0.214//:serde", + "@vendor__unsafe-libyaml-0.2.11//:unsafe_libyaml", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.sharded-slab-0.1.7.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.sharded-slab-0.1.7.bazel new file mode 100644 index 000000000000..17768dd035ff --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.sharded-slab-0.1.7.bazel @@ -0,0 +1,84 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "sharded_slab", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2018", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=sharded-slab", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.1.7", + deps = [ + "@vendor__lazy_static-1.5.0//:lazy_static", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.shlex-1.3.0.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.shlex-1.3.0.bazel new file mode 100644 index 000000000000..cf421704016f --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.shlex-1.3.0.bazel @@ -0,0 +1,85 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "shlex", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "default", + "std", + ], + crate_root = "src/lib.rs", + edition = "2015", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=shlex", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "1.3.0", +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.smallvec-1.13.2.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.smallvec-1.13.2.bazel new file mode 100644 index 000000000000..cae068592b62 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.smallvec-1.13.2.bazel @@ -0,0 +1,86 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "smallvec", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "const_generics", + "const_new", + "union", + ], + crate_root = "src/lib.rs", + edition = "2018", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=smallvec", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "1.13.2", +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.smol_str-0.2.2.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.smol_str-0.2.2.bazel new file mode 100644 index 000000000000..233563672c47 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.smol_str-0.2.2.bazel @@ -0,0 +1,85 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "smol_str", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "default", + "std", + ], + crate_root = "src/lib.rs", + edition = "2018", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=smol_str", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.2.2", +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.sptr-0.3.2.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.sptr-0.3.2.bazel new file mode 100644 index 000000000000..02668d79d1e9 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.sptr-0.3.2.bazel @@ -0,0 +1,84 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "sptr", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "default", + ], + crate_root = "src/lib.rs", + edition = "2018", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=sptr", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.3.2", +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.stable_deref_trait-1.2.0.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.stable_deref_trait-1.2.0.bazel new file mode 100644 index 000000000000..688de934736d --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.stable_deref_trait-1.2.0.bazel @@ -0,0 +1,81 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "stable_deref_trait", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2015", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=stable_deref_trait", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "1.2.0", +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.stderrlog-0.6.0.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.stderrlog-0.6.0.bazel new file mode 100644 index 000000000000..31bb87464304 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.stderrlog-0.6.0.bazel @@ -0,0 +1,93 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "stderrlog", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "chrono", + "default", + "timestamps", + ], + crate_root = "src/lib.rs", + edition = "2018", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=stderrlog", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.6.0", + deps = [ + "@vendor__chrono-0.4.38//:chrono", + "@vendor__is-terminal-0.4.13//:is_terminal", + "@vendor__log-0.4.22//:log", + "@vendor__termcolor-1.1.3//:termcolor", + "@vendor__thread_local-1.1.8//:thread_local", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.streaming-iterator-0.1.9.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.streaming-iterator-0.1.9.bazel new file mode 100644 index 000000000000..fa231c4bc044 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.streaming-iterator-0.1.9.bazel @@ -0,0 +1,81 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "streaming_iterator", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=streaming-iterator", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.1.9", +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.strsim-0.11.1.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.strsim-0.11.1.bazel new file mode 100644 index 000000000000..5438e273e7eb --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.strsim-0.11.1.bazel @@ -0,0 +1,81 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "strsim", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2015", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=strsim", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.11.1", +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.syn-2.0.87.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.syn-2.0.87.bazel new file mode 100644 index 000000000000..34f75db30a5f --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.syn-2.0.87.bazel @@ -0,0 +1,98 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "syn", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "clone-impls", + "default", + "derive", + "extra-traits", + "full", + "parsing", + "printing", + "proc-macro", + "visit", + "visit-mut", + ], + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=syn", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "2.0.87", + deps = [ + "@vendor__proc-macro2-1.0.89//:proc_macro2", + "@vendor__quote-1.0.37//:quote", + "@vendor__unicode-ident-1.0.13//:unicode_ident", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.synstructure-0.13.1.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.synstructure-0.13.1.bazel new file mode 100644 index 000000000000..76017bcc7c00 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.synstructure-0.13.1.bazel @@ -0,0 +1,90 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "synstructure", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "default", + "proc-macro", + ], + crate_root = "src/lib.rs", + edition = "2018", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=synstructure", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.13.1", + deps = [ + "@vendor__proc-macro2-1.0.89//:proc_macro2", + "@vendor__quote-1.0.37//:quote", + "@vendor__syn-2.0.87//:syn", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.termcolor-1.1.3.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.termcolor-1.1.3.bazel new file mode 100644 index 000000000000..2c6b1ee1d965 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.termcolor-1.1.3.bazel @@ -0,0 +1,93 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "termcolor", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2018", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=termcolor", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "1.1.3", + deps = select({ + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [ + "@vendor__winapi-util-0.1.9//:winapi_util", # cfg(windows) + ], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [ + "@vendor__winapi-util-0.1.9//:winapi_util", # cfg(windows) + ], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [ + "@vendor__winapi-util-0.1.9//:winapi_util", # cfg(windows) + ], + "//conditions:default": [], + }), +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.text-size-1.1.1.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.text-size-1.1.1.bazel new file mode 100644 index 000000000000..d82fe4af768e --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.text-size-1.1.1.bazel @@ -0,0 +1,81 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "text_size", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2018", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=text-size", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "1.1.1", +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.thiserror-1.0.69.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.thiserror-1.0.69.bazel new file mode 100644 index 000000000000..5fba245ae6a5 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.thiserror-1.0.69.bazel @@ -0,0 +1,143 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//cargo:defs.bzl", "cargo_build_script") +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "thiserror", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2021", + proc_macro_deps = [ + "@vendor__thiserror-impl-1.0.69//:thiserror_impl", + ], + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=thiserror", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "1.0.69", + deps = [ + "@vendor__thiserror-1.0.69//:build_script_build", + ], +) + +cargo_build_script( + name = "_bs", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + "**/*.rs", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_name = "build_script_build", + crate_root = "build.rs", + data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + edition = "2021", + pkg_name = "thiserror", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=thiserror", + "manual", + "noclippy", + "norustfmt", + ], + version = "1.0.69", + visibility = ["//visibility:private"], +) + +alias( + name = "build_script_build", + actual = ":_bs", + tags = ["manual"], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.thiserror-impl-1.0.69.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.thiserror-impl-1.0.69.bazel new file mode 100644 index 000000000000..c6691c479159 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.thiserror-impl-1.0.69.bazel @@ -0,0 +1,86 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_proc_macro") + +package(default_visibility = ["//visibility:public"]) + +rust_proc_macro( + name = "thiserror_impl", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=thiserror-impl", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "1.0.69", + deps = [ + "@vendor__proc-macro2-1.0.89//:proc_macro2", + "@vendor__quote-1.0.37//:quote", + "@vendor__syn-2.0.87//:syn", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.thread_local-1.1.8.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.thread_local-1.1.8.bazel new file mode 100644 index 000000000000..e2e0fbb50c17 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.thread_local-1.1.8.bazel @@ -0,0 +1,85 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "thread_local", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=thread_local", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "1.1.8", + deps = [ + "@vendor__cfg-if-1.0.0//:cfg_if", + "@vendor__once_cell-1.20.2//:once_cell", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.time-0.3.36.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.time-0.3.36.bazel new file mode 100644 index 000000000000..535fc15525fe --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.time-0.3.36.bazel @@ -0,0 +1,87 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "time", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=time", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.3.36", + deps = [ + "@vendor__deranged-0.3.11//:deranged", + "@vendor__num-conv-0.1.0//:num_conv", + "@vendor__powerfmt-0.2.0//:powerfmt", + "@vendor__time-core-0.1.2//:time_core", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.time-core-0.1.2.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.time-core-0.1.2.bazel new file mode 100644 index 000000000000..e81d00355d34 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.time-core-0.1.2.bazel @@ -0,0 +1,81 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "time_core", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=time-core", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.1.2", +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.time-macros-0.2.18.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.time-macros-0.2.18.bazel new file mode 100644 index 000000000000..e1ad5edd6f5e --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.time-macros-0.2.18.bazel @@ -0,0 +1,85 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_proc_macro") + +package(default_visibility = ["//visibility:public"]) + +rust_proc_macro( + name = "time_macros", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=time-macros", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.2.18", + deps = [ + "@vendor__num-conv-0.1.0//:num_conv", + "@vendor__time-core-0.1.2//:time_core", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.tracing-0.1.40.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.tracing-0.1.40.bazel new file mode 100644 index 000000000000..d16d281f94c4 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.tracing-0.1.40.bazel @@ -0,0 +1,94 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "tracing", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "attributes", + "default", + "std", + "tracing-attributes", + ], + crate_root = "src/lib.rs", + edition = "2018", + proc_macro_deps = [ + "@vendor__tracing-attributes-0.1.27//:tracing_attributes", + ], + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=tracing", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.1.40", + deps = [ + "@vendor__pin-project-lite-0.2.15//:pin_project_lite", + "@vendor__tracing-core-0.1.32//:tracing_core", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.tracing-attributes-0.1.27.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.tracing-attributes-0.1.27.bazel new file mode 100644 index 000000000000..a2e0bb0ba1e7 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.tracing-attributes-0.1.27.bazel @@ -0,0 +1,86 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_proc_macro") + +package(default_visibility = ["//visibility:public"]) + +rust_proc_macro( + name = "tracing_attributes", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2018", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=tracing-attributes", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.1.27", + deps = [ + "@vendor__proc-macro2-1.0.89//:proc_macro2", + "@vendor__quote-1.0.37//:quote", + "@vendor__syn-2.0.87//:syn", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.tracing-core-0.1.32.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.tracing-core-0.1.32.bazel new file mode 100644 index 000000000000..485a23a3ac39 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.tracing-core-0.1.32.bazel @@ -0,0 +1,89 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "tracing_core", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "default", + "once_cell", + "std", + ], + crate_root = "src/lib.rs", + edition = "2018", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=tracing-core", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.1.32", + deps = [ + "@vendor__once_cell-1.20.2//:once_cell", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.tracing-log-0.2.0.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.tracing-log-0.2.0.bazel new file mode 100644 index 000000000000..ab07ec6d70c4 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.tracing-log-0.2.0.bazel @@ -0,0 +1,90 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "tracing_log", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "log-tracer", + "std", + ], + crate_root = "src/lib.rs", + edition = "2018", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=tracing-log", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.2.0", + deps = [ + "@vendor__log-0.4.22//:log", + "@vendor__once_cell-1.20.2//:once_cell", + "@vendor__tracing-core-0.1.32//:tracing_core", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.tracing-subscriber-0.3.18.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.tracing-subscriber-0.3.18.bazel new file mode 100644 index 000000000000..810d1a29c471 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.tracing-subscriber-0.3.18.bazel @@ -0,0 +1,111 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "tracing_subscriber", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "alloc", + "ansi", + "default", + "env-filter", + "fmt", + "matchers", + "nu-ansi-term", + "once_cell", + "regex", + "registry", + "sharded-slab", + "smallvec", + "std", + "thread_local", + "tracing", + "tracing-log", + ], + crate_root = "src/lib.rs", + edition = "2018", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=tracing-subscriber", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.3.18", + deps = [ + "@vendor__matchers-0.1.0//:matchers", + "@vendor__nu-ansi-term-0.46.0//:nu_ansi_term", + "@vendor__once_cell-1.20.2//:once_cell", + "@vendor__regex-1.11.1//:regex", + "@vendor__sharded-slab-0.1.7//:sharded_slab", + "@vendor__smallvec-1.13.2//:smallvec", + "@vendor__thread_local-1.1.8//:thread_local", + "@vendor__tracing-0.1.40//:tracing", + "@vendor__tracing-core-0.1.32//:tracing_core", + "@vendor__tracing-log-0.2.0//:tracing_log", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.tree-sitter-0.24.4.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.tree-sitter-0.24.4.bazel new file mode 100644 index 000000000000..52310271a2d4 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.tree-sitter-0.24.4.bazel @@ -0,0 +1,156 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//cargo:defs.bzl", "cargo_build_script") +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "tree_sitter", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "default", + "std", + ], + crate_root = "binding_rust/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=tree-sitter", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.24.4", + deps = [ + "@vendor__regex-1.11.1//:regex", + "@vendor__regex-syntax-0.8.5//:regex_syntax", + "@vendor__streaming-iterator-0.1.9//:streaming_iterator", + "@vendor__tree-sitter-0.24.4//:build_script_build", + "@vendor__tree-sitter-language-0.1.2//:tree_sitter_language", + ], +) + +cargo_build_script( + name = "_bs", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + "**/*.rs", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "default", + "std", + ], + crate_name = "build_script_build", + crate_root = "binding_rust/build.rs", + data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + edition = "2021", + links = "tree-sitter", + pkg_name = "tree-sitter", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=tree-sitter", + "manual", + "noclippy", + "norustfmt", + ], + version = "0.24.4", + visibility = ["//visibility:private"], + deps = [ + "@vendor__cc-1.1.37//:cc", + ], +) + +alias( + name = "build_script_build", + actual = ":_bs", + tags = ["manual"], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.tree-sitter-embedded-template-0.23.2.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.tree-sitter-embedded-template-0.23.2.bazel new file mode 100644 index 000000000000..685c6225efec --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.tree-sitter-embedded-template-0.23.2.bazel @@ -0,0 +1,144 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//cargo:defs.bzl", "cargo_build_script") +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "tree_sitter_embedded_template", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "bindings/rust/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=tree-sitter-embedded-template", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.23.2", + deps = [ + "@vendor__tree-sitter-embedded-template-0.23.2//:build_script_build", + "@vendor__tree-sitter-language-0.1.2//:tree_sitter_language", + ], +) + +cargo_build_script( + name = "_bs", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + "**/*.rs", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_name = "build_script_build", + crate_root = "bindings/rust/build.rs", + data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + edition = "2021", + pkg_name = "tree-sitter-embedded-template", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=tree-sitter-embedded-template", + "manual", + "noclippy", + "norustfmt", + ], + version = "0.23.2", + visibility = ["//visibility:private"], + deps = [ + "@vendor__cc-1.1.37//:cc", + ], +) + +alias( + name = "build_script_build", + actual = ":_bs", + tags = ["manual"], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.tree-sitter-json-0.24.8.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.tree-sitter-json-0.24.8.bazel new file mode 100644 index 000000000000..62920260f9c5 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.tree-sitter-json-0.24.8.bazel @@ -0,0 +1,144 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//cargo:defs.bzl", "cargo_build_script") +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "tree_sitter_json", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "bindings/rust/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=tree-sitter-json", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.24.8", + deps = [ + "@vendor__tree-sitter-json-0.24.8//:build_script_build", + "@vendor__tree-sitter-language-0.1.2//:tree_sitter_language", + ], +) + +cargo_build_script( + name = "_bs", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + "**/*.rs", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_name = "build_script_build", + crate_root = "bindings/rust/build.rs", + data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + edition = "2021", + pkg_name = "tree-sitter-json", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=tree-sitter-json", + "manual", + "noclippy", + "norustfmt", + ], + version = "0.24.8", + visibility = ["//visibility:private"], + deps = [ + "@vendor__cc-1.1.37//:cc", + ], +) + +alias( + name = "build_script_build", + actual = ":_bs", + tags = ["manual"], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.tree-sitter-language-0.1.2.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.tree-sitter-language-0.1.2.bazel new file mode 100644 index 000000000000..fe13d9985d1e --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.tree-sitter-language-0.1.2.bazel @@ -0,0 +1,81 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "tree_sitter_language", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "language.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=tree-sitter-language", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.1.2", +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.tree-sitter-ql-0.23.1.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.tree-sitter-ql-0.23.1.bazel new file mode 100644 index 000000000000..565196ce5416 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.tree-sitter-ql-0.23.1.bazel @@ -0,0 +1,144 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//cargo:defs.bzl", "cargo_build_script") +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "tree_sitter_ql", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "bindings/rust/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=tree-sitter-ql", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.23.1", + deps = [ + "@vendor__tree-sitter-language-0.1.2//:tree_sitter_language", + "@vendor__tree-sitter-ql-0.23.1//:build_script_build", + ], +) + +cargo_build_script( + name = "_bs", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + "**/*.rs", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_name = "build_script_build", + crate_root = "bindings/rust/build.rs", + data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + edition = "2021", + pkg_name = "tree-sitter-ql", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=tree-sitter-ql", + "manual", + "noclippy", + "norustfmt", + ], + version = "0.23.1", + visibility = ["//visibility:private"], + deps = [ + "@vendor__cc-1.1.37//:cc", + ], +) + +alias( + name = "build_script_build", + actual = ":_bs", + tags = ["manual"], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.tree-sitter-ruby-0.23.1.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.tree-sitter-ruby-0.23.1.bazel new file mode 100644 index 000000000000..d1d0d52eb1f6 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.tree-sitter-ruby-0.23.1.bazel @@ -0,0 +1,144 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//cargo:defs.bzl", "cargo_build_script") +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "tree_sitter_ruby", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "bindings/rust/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=tree-sitter-ruby", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.23.1", + deps = [ + "@vendor__tree-sitter-language-0.1.2//:tree_sitter_language", + "@vendor__tree-sitter-ruby-0.23.1//:build_script_build", + ], +) + +cargo_build_script( + name = "_bs", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + "**/*.rs", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_name = "build_script_build", + crate_root = "bindings/rust/build.rs", + data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + edition = "2021", + pkg_name = "tree-sitter-ruby", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=tree-sitter-ruby", + "manual", + "noclippy", + "norustfmt", + ], + version = "0.23.1", + visibility = ["//visibility:private"], + deps = [ + "@vendor__cc-1.1.37//:cc", + ], +) + +alias( + name = "build_script_build", + actual = ":_bs", + tags = ["manual"], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.triomphe-0.1.14.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.triomphe-0.1.14.bazel new file mode 100644 index 000000000000..2c1e5e96383c --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.triomphe-0.1.14.bazel @@ -0,0 +1,91 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "triomphe", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "default", + "serde", + "stable_deref_trait", + "std", + ], + crate_root = "src/lib.rs", + edition = "2015", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=triomphe", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.1.14", + deps = [ + "@vendor__serde-1.0.214//:serde", + "@vendor__stable_deref_trait-1.2.0//:stable_deref_trait", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.typed-arena-2.0.2.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.typed-arena-2.0.2.bazel new file mode 100644 index 000000000000..1ea77086ca50 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.typed-arena-2.0.2.bazel @@ -0,0 +1,85 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "typed_arena", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "default", + "std", + ], + crate_root = "src/lib.rs", + edition = "2015", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=typed-arena", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "2.0.2", +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.uncased-0.9.10.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.uncased-0.9.10.bazel new file mode 100644 index 000000000000..45484bd698c0 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.uncased-0.9.10.bazel @@ -0,0 +1,151 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//cargo:defs.bzl", "cargo_build_script") +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "uncased", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "alloc", + "default", + ], + crate_root = "src/lib.rs", + edition = "2018", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=uncased", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.9.10", + deps = [ + "@vendor__uncased-0.9.10//:build_script_build", + ], +) + +cargo_build_script( + name = "_bs", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + "**/*.rs", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "alloc", + "default", + ], + crate_name = "build_script_build", + crate_root = "build.rs", + data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + edition = "2018", + pkg_name = "uncased", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=uncased", + "manual", + "noclippy", + "norustfmt", + ], + version = "0.9.10", + visibility = ["//visibility:private"], + deps = [ + "@vendor__version_check-0.9.5//:version_check", + ], +) + +alias( + name = "build_script_build", + actual = ":_bs", + tags = ["manual"], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ungrammar-1.16.1.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ungrammar-1.16.1.bazel new file mode 100644 index 000000000000..c166cb1f235f --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ungrammar-1.16.1.bazel @@ -0,0 +1,81 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "ungrammar", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2018", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=ungrammar", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "1.16.1", +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.unicode-ident-1.0.13.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.unicode-ident-1.0.13.bazel new file mode 100644 index 000000000000..b01e16bb2598 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.unicode-ident-1.0.13.bazel @@ -0,0 +1,81 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "unicode_ident", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2018", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=unicode-ident", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "1.0.13", +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.unicode-properties-0.1.3.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.unicode-properties-0.1.3.bazel new file mode 100644 index 000000000000..5b4c5999de1b --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.unicode-properties-0.1.3.bazel @@ -0,0 +1,84 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "unicode_properties", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "emoji", + ], + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=unicode-properties", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.1.3", +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.unicode-xid-0.2.6.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.unicode-xid-0.2.6.bazel new file mode 100644 index 000000000000..827752aff403 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.unicode-xid-0.2.6.bazel @@ -0,0 +1,84 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "unicode_xid", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "default", + ], + crate_root = "src/lib.rs", + edition = "2015", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=unicode-xid", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.2.6", +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.unsafe-libyaml-0.2.11.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.unsafe-libyaml-0.2.11.bazel new file mode 100644 index 000000000000..55de8b565f8d --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.unsafe-libyaml-0.2.11.bazel @@ -0,0 +1,81 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "unsafe_libyaml", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=unsafe-libyaml", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.2.11", +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.utf8parse-0.2.2.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.utf8parse-0.2.2.bazel new file mode 100644 index 000000000000..9a22c856c81b --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.utf8parse-0.2.2.bazel @@ -0,0 +1,84 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "utf8parse", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "default", + ], + crate_root = "src/lib.rs", + edition = "2018", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=utf8parse", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.2.2", +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.valuable-0.1.0.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.valuable-0.1.0.bazel new file mode 100644 index 000000000000..d0e4eefd53c3 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.valuable-0.1.0.bazel @@ -0,0 +1,140 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//cargo:defs.bzl", "cargo_build_script") +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "valuable", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2018", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=valuable", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.1.0", + deps = [ + "@vendor__valuable-0.1.0//:build_script_build", + ], +) + +cargo_build_script( + name = "_bs", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + "**/*.rs", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_name = "build_script_build", + crate_root = "build.rs", + data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + edition = "2018", + pkg_name = "valuable", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=valuable", + "manual", + "noclippy", + "norustfmt", + ], + version = "0.1.0", + visibility = ["//visibility:private"], +) + +alias( + name = "build_script_build", + actual = ":_bs", + tags = ["manual"], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.version_check-0.9.5.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.version_check-0.9.5.bazel new file mode 100644 index 000000000000..ba27035debd7 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.version_check-0.9.5.bazel @@ -0,0 +1,81 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "version_check", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2015", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=version_check", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.9.5", +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.walkdir-2.5.0.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.walkdir-2.5.0.bazel new file mode 100644 index 000000000000..cffec8311289 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.walkdir-2.5.0.bazel @@ -0,0 +1,95 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "walkdir", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2018", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=walkdir", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "2.5.0", + deps = [ + "@vendor__same-file-1.0.6//:same_file", + ] + select({ + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [ + "@vendor__winapi-util-0.1.9//:winapi_util", # cfg(windows) + ], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [ + "@vendor__winapi-util-0.1.9//:winapi_util", # cfg(windows) + ], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [ + "@vendor__winapi-util-0.1.9//:winapi_util", # cfg(windows) + ], + "//conditions:default": [], + }), +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.wasi-0.11.0+wasi-snapshot-preview1.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.wasi-0.11.0+wasi-snapshot-preview1.bazel new file mode 100644 index 000000000000..c082e00c09be --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.wasi-0.11.0+wasi-snapshot-preview1.bazel @@ -0,0 +1,81 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "wasi", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2018", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=wasi", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.11.0+wasi-snapshot-preview1", +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.wasm-bindgen-0.2.95.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.wasm-bindgen-0.2.95.bazel new file mode 100644 index 000000000000..eaa584866e3c --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.wasm-bindgen-0.2.95.bazel @@ -0,0 +1,155 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//cargo:defs.bzl", "cargo_build_script") +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "wasm_bindgen", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "default", + "spans", + "std", + ], + crate_root = "src/lib.rs", + edition = "2021", + proc_macro_deps = [ + "@vendor__wasm-bindgen-macro-0.2.95//:wasm_bindgen_macro", + ], + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=wasm-bindgen", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.2.95", + deps = [ + "@vendor__cfg-if-1.0.0//:cfg_if", + "@vendor__once_cell-1.20.2//:once_cell", + "@vendor__wasm-bindgen-0.2.95//:build_script_build", + ], +) + +cargo_build_script( + name = "_bs", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + "**/*.rs", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "default", + "spans", + "std", + ], + crate_name = "build_script_build", + crate_root = "build.rs", + data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + edition = "2021", + pkg_name = "wasm-bindgen", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=wasm-bindgen", + "manual", + "noclippy", + "norustfmt", + ], + version = "0.2.95", + visibility = ["//visibility:private"], +) + +alias( + name = "build_script_build", + actual = ":_bs", + tags = ["manual"], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.wasm-bindgen-backend-0.2.95.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.wasm-bindgen-backend-0.2.95.bazel new file mode 100644 index 000000000000..553672da95da --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.wasm-bindgen-backend-0.2.95.bazel @@ -0,0 +1,93 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "wasm_bindgen_backend", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "spans", + ], + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=wasm-bindgen-backend", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.2.95", + deps = [ + "@vendor__bumpalo-3.16.0//:bumpalo", + "@vendor__log-0.4.22//:log", + "@vendor__once_cell-1.20.2//:once_cell", + "@vendor__proc-macro2-1.0.89//:proc_macro2", + "@vendor__quote-1.0.37//:quote", + "@vendor__syn-2.0.87//:syn", + "@vendor__wasm-bindgen-shared-0.2.95//:wasm_bindgen_shared", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.wasm-bindgen-macro-0.2.95.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.wasm-bindgen-macro-0.2.95.bazel new file mode 100644 index 000000000000..f080cde71597 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.wasm-bindgen-macro-0.2.95.bazel @@ -0,0 +1,88 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_proc_macro") + +package(default_visibility = ["//visibility:public"]) + +rust_proc_macro( + name = "wasm_bindgen_macro", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "spans", + ], + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=wasm-bindgen-macro", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.2.95", + deps = [ + "@vendor__quote-1.0.37//:quote", + "@vendor__wasm-bindgen-macro-support-0.2.95//:wasm_bindgen_macro_support", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.wasm-bindgen-macro-support-0.2.95.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.wasm-bindgen-macro-support-0.2.95.bazel new file mode 100644 index 000000000000..e6d3ef62cc51 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.wasm-bindgen-macro-support-0.2.95.bazel @@ -0,0 +1,91 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "wasm_bindgen_macro_support", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "spans", + ], + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=wasm-bindgen-macro-support", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.2.95", + deps = [ + "@vendor__proc-macro2-1.0.89//:proc_macro2", + "@vendor__quote-1.0.37//:quote", + "@vendor__syn-2.0.87//:syn", + "@vendor__wasm-bindgen-backend-0.2.95//:wasm_bindgen_backend", + "@vendor__wasm-bindgen-shared-0.2.95//:wasm_bindgen_shared", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.wasm-bindgen-shared-0.2.95.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.wasm-bindgen-shared-0.2.95.bazel new file mode 100644 index 000000000000..70dec9f570b4 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.wasm-bindgen-shared-0.2.95.bazel @@ -0,0 +1,141 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//cargo:defs.bzl", "cargo_build_script") +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "wasm_bindgen_shared", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=wasm-bindgen-shared", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.2.95", + deps = [ + "@vendor__wasm-bindgen-shared-0.2.95//:build_script_build", + ], +) + +cargo_build_script( + name = "_bs", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + "**/*.rs", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_name = "build_script_build", + crate_root = "build.rs", + data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + edition = "2021", + links = "wasm_bindgen", + pkg_name = "wasm-bindgen-shared", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=wasm-bindgen-shared", + "manual", + "noclippy", + "norustfmt", + ], + version = "0.2.95", + visibility = ["//visibility:private"], +) + +alias( + name = "build_script_build", + actual = ":_bs", + tags = ["manual"], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.winapi-0.3.9.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.winapi-0.3.9.bazel new file mode 100644 index 000000000000..10f4ecf603d4 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.winapi-0.3.9.bazel @@ -0,0 +1,154 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//cargo:defs.bzl", "cargo_build_script") +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "winapi", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "consoleapi", + "errhandlingapi", + "fileapi", + "handleapi", + "processenv", + ], + crate_root = "src/lib.rs", + edition = "2015", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=winapi", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.3.9", + deps = [ + "@vendor__winapi-0.3.9//:build_script_build", + ], +) + +cargo_build_script( + name = "_bs", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + "**/*.rs", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "consoleapi", + "errhandlingapi", + "fileapi", + "handleapi", + "processenv", + ], + crate_name = "build_script_build", + crate_root = "build.rs", + data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + edition = "2015", + pkg_name = "winapi", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=winapi", + "manual", + "noclippy", + "norustfmt", + ], + version = "0.3.9", + visibility = ["//visibility:private"], +) + +alias( + name = "build_script_build", + actual = ":_bs", + tags = ["manual"], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.winapi-i686-pc-windows-gnu-0.4.0.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.winapi-i686-pc-windows-gnu-0.4.0.bazel new file mode 100644 index 000000000000..92d9e803f15d --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.winapi-i686-pc-windows-gnu-0.4.0.bazel @@ -0,0 +1,140 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//cargo:defs.bzl", "cargo_build_script") +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "winapi_i686_pc_windows_gnu", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2015", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=winapi-i686-pc-windows-gnu", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.4.0", + deps = [ + "@vendor__winapi-i686-pc-windows-gnu-0.4.0//:build_script_build", + ], +) + +cargo_build_script( + name = "_bs", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + "**/*.rs", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_name = "build_script_build", + crate_root = "build.rs", + data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + edition = "2015", + pkg_name = "winapi-i686-pc-windows-gnu", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=winapi-i686-pc-windows-gnu", + "manual", + "noclippy", + "norustfmt", + ], + version = "0.4.0", + visibility = ["//visibility:private"], +) + +alias( + name = "build_script_build", + actual = ":_bs", + tags = ["manual"], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.winapi-util-0.1.9.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.winapi-util-0.1.9.bazel new file mode 100644 index 000000000000..c45eda5259bf --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.winapi-util-0.1.9.bazel @@ -0,0 +1,93 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "winapi_util", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=winapi-util", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.1.9", + deps = select({ + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [ + "@vendor__windows-sys-0.59.0//:windows_sys", # cfg(windows) + ], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [ + "@vendor__windows-sys-0.59.0//:windows_sys", # cfg(windows) + ], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [ + "@vendor__windows-sys-0.59.0//:windows_sys", # cfg(windows) + ], + "//conditions:default": [], + }), +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.winapi-x86_64-pc-windows-gnu-0.4.0.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.winapi-x86_64-pc-windows-gnu-0.4.0.bazel new file mode 100644 index 000000000000..a61db1e2c0a4 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.winapi-x86_64-pc-windows-gnu-0.4.0.bazel @@ -0,0 +1,140 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//cargo:defs.bzl", "cargo_build_script") +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "winapi_x86_64_pc_windows_gnu", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2015", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=winapi-x86_64-pc-windows-gnu", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.4.0", + deps = [ + "@vendor__winapi-x86_64-pc-windows-gnu-0.4.0//:build_script_build", + ], +) + +cargo_build_script( + name = "_bs", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + "**/*.rs", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_name = "build_script_build", + crate_root = "build.rs", + data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + edition = "2015", + pkg_name = "winapi-x86_64-pc-windows-gnu", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=winapi-x86_64-pc-windows-gnu", + "manual", + "noclippy", + "norustfmt", + ], + version = "0.4.0", + visibility = ["//visibility:private"], +) + +alias( + name = "build_script_build", + actual = ":_bs", + tags = ["manual"], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.windows-core-0.52.0.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.windows-core-0.52.0.bazel new file mode 100644 index 000000000000..c89284531c53 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.windows-core-0.52.0.bazel @@ -0,0 +1,84 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "windows_core", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=windows-core", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.52.0", + deps = [ + "@vendor__windows-targets-0.52.6//:windows_targets", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.windows-sys-0.48.0.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.windows-sys-0.48.0.bazel new file mode 100644 index 000000000000..a79e1aab2723 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.windows-sys-0.48.0.bazel @@ -0,0 +1,99 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "windows_sys", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "Win32", + "Win32_Foundation", + "Win32_Networking", + "Win32_Networking_WinSock", + "Win32_Security", + "Win32_Storage", + "Win32_Storage_FileSystem", + "Win32_System", + "Win32_System_IO", + "Win32_System_Pipes", + "Win32_System_Threading", + "Win32_System_WindowsProgramming", + "default", + ], + crate_root = "src/lib.rs", + edition = "2018", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=windows-sys", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.48.0", + deps = [ + "@vendor__windows-targets-0.48.5//:windows_targets", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.windows-sys-0.52.0.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.windows-sys-0.52.0.bazel new file mode 100644 index 000000000000..bd961408e72c --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.windows-sys-0.52.0.bazel @@ -0,0 +1,98 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "windows_sys", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "Win32", + "Win32_Foundation", + "Win32_Storage", + "Win32_Storage_FileSystem", + "Win32_System", + "Win32_System_Com", + "Win32_System_Console", + "Win32_System_ProcessStatus", + "Win32_System_Threading", + "Win32_UI", + "Win32_UI_Shell", + "default", + ], + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=windows-sys", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.52.0", + deps = [ + "@vendor__windows-targets-0.52.6//:windows_targets", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.windows-sys-0.59.0.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.windows-sys-0.59.0.bazel new file mode 100644 index 000000000000..eea0d44c815a --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.windows-sys-0.59.0.bazel @@ -0,0 +1,94 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "windows_sys", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "Win32", + "Win32_Foundation", + "Win32_Storage", + "Win32_Storage_FileSystem", + "Win32_System", + "Win32_System_Console", + "Win32_System_SystemInformation", + "default", + ], + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=windows-sys", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.59.0", + deps = [ + "@vendor__windows-targets-0.52.6//:windows_targets", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.windows-targets-0.48.5.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.windows-targets-0.48.5.bazel new file mode 100644 index 000000000000..a17193b75d2d --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.windows-targets-0.48.5.bazel @@ -0,0 +1,102 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "windows_targets", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2018", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=windows-targets", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.48.5", + deps = select({ + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [ + "@vendor__windows_aarch64_msvc-0.48.5//:windows_aarch64_msvc", # cfg(all(target_arch = "aarch64", target_env = "msvc", not(windows_raw_dylib))) + ], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [ + "@vendor__windows_i686_msvc-0.48.5//:windows_i686_msvc", # cfg(all(target_arch = "x86", target_env = "msvc", not(windows_raw_dylib))) + ], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [ + "@vendor__windows_i686_gnu-0.48.5//:windows_i686_gnu", # cfg(all(target_arch = "x86", target_env = "gnu", not(windows_raw_dylib))) + ], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [ + "@vendor__windows_x86_64_msvc-0.48.5//:windows_x86_64_msvc", # cfg(all(target_arch = "x86_64", target_env = "msvc", not(windows_raw_dylib))) + ], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [ + "@vendor__windows_x86_64_gnu-0.48.5//:windows_x86_64_gnu", # cfg(all(target_arch = "x86_64", target_env = "gnu", not(target_abi = "llvm"), not(windows_raw_dylib))) + ], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [ + "@vendor__windows_x86_64_gnu-0.48.5//:windows_x86_64_gnu", # cfg(all(target_arch = "x86_64", target_env = "gnu", not(target_abi = "llvm"), not(windows_raw_dylib))) + ], + "//conditions:default": [], + }), +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.windows-targets-0.52.6.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.windows-targets-0.52.6.bazel new file mode 100644 index 000000000000..bd39f4b679f2 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.windows-targets-0.52.6.bazel @@ -0,0 +1,102 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "windows_targets", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=windows-targets", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.52.6", + deps = select({ + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [ + "@vendor__windows_aarch64_msvc-0.52.6//:windows_aarch64_msvc", # cfg(all(target_arch = "aarch64", target_env = "msvc", not(windows_raw_dylib))) + ], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [ + "@vendor__windows_i686_msvc-0.52.6//:windows_i686_msvc", # cfg(all(target_arch = "x86", target_env = "msvc", not(windows_raw_dylib))) + ], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [ + "@vendor__windows_i686_gnu-0.52.6//:windows_i686_gnu", # cfg(all(target_arch = "x86", target_env = "gnu", not(target_abi = "llvm"), not(windows_raw_dylib))) + ], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [ + "@vendor__windows_x86_64_msvc-0.52.6//:windows_x86_64_msvc", # cfg(all(any(target_arch = "x86_64", target_arch = "arm64ec"), target_env = "msvc", not(windows_raw_dylib))) + ], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [ + "@vendor__windows_x86_64_gnu-0.52.6//:windows_x86_64_gnu", # cfg(all(target_arch = "x86_64", target_env = "gnu", not(target_abi = "llvm"), not(windows_raw_dylib))) + ], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [ + "@vendor__windows_x86_64_gnu-0.52.6//:windows_x86_64_gnu", # cfg(all(target_arch = "x86_64", target_env = "gnu", not(target_abi = "llvm"), not(windows_raw_dylib))) + ], + "//conditions:default": [], + }), +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.windows_aarch64_gnullvm-0.48.5.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.windows_aarch64_gnullvm-0.48.5.bazel new file mode 100644 index 000000000000..74cff769894f --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.windows_aarch64_gnullvm-0.48.5.bazel @@ -0,0 +1,140 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//cargo:defs.bzl", "cargo_build_script") +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "windows_aarch64_gnullvm", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2018", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=windows_aarch64_gnullvm", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.48.5", + deps = [ + "@vendor__windows_aarch64_gnullvm-0.48.5//:build_script_build", + ], +) + +cargo_build_script( + name = "_bs", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + "**/*.rs", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_name = "build_script_build", + crate_root = "build.rs", + data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + edition = "2018", + pkg_name = "windows_aarch64_gnullvm", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=windows_aarch64_gnullvm", + "manual", + "noclippy", + "norustfmt", + ], + version = "0.48.5", + visibility = ["//visibility:private"], +) + +alias( + name = "build_script_build", + actual = ":_bs", + tags = ["manual"], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.windows_aarch64_gnullvm-0.52.6.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.windows_aarch64_gnullvm-0.52.6.bazel new file mode 100644 index 000000000000..3322fe443709 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.windows_aarch64_gnullvm-0.52.6.bazel @@ -0,0 +1,140 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//cargo:defs.bzl", "cargo_build_script") +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "windows_aarch64_gnullvm", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=windows_aarch64_gnullvm", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.52.6", + deps = [ + "@vendor__windows_aarch64_gnullvm-0.52.6//:build_script_build", + ], +) + +cargo_build_script( + name = "_bs", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + "**/*.rs", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_name = "build_script_build", + crate_root = "build.rs", + data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + edition = "2021", + pkg_name = "windows_aarch64_gnullvm", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=windows_aarch64_gnullvm", + "manual", + "noclippy", + "norustfmt", + ], + version = "0.52.6", + visibility = ["//visibility:private"], +) + +alias( + name = "build_script_build", + actual = ":_bs", + tags = ["manual"], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.windows_aarch64_msvc-0.48.5.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.windows_aarch64_msvc-0.48.5.bazel new file mode 100644 index 000000000000..9509b0112dd5 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.windows_aarch64_msvc-0.48.5.bazel @@ -0,0 +1,140 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//cargo:defs.bzl", "cargo_build_script") +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "windows_aarch64_msvc", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2018", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=windows_aarch64_msvc", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.48.5", + deps = [ + "@vendor__windows_aarch64_msvc-0.48.5//:build_script_build", + ], +) + +cargo_build_script( + name = "_bs", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + "**/*.rs", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_name = "build_script_build", + crate_root = "build.rs", + data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + edition = "2018", + pkg_name = "windows_aarch64_msvc", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=windows_aarch64_msvc", + "manual", + "noclippy", + "norustfmt", + ], + version = "0.48.5", + visibility = ["//visibility:private"], +) + +alias( + name = "build_script_build", + actual = ":_bs", + tags = ["manual"], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.windows_aarch64_msvc-0.52.6.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.windows_aarch64_msvc-0.52.6.bazel new file mode 100644 index 000000000000..e74cb2741f3e --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.windows_aarch64_msvc-0.52.6.bazel @@ -0,0 +1,140 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//cargo:defs.bzl", "cargo_build_script") +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "windows_aarch64_msvc", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=windows_aarch64_msvc", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.52.6", + deps = [ + "@vendor__windows_aarch64_msvc-0.52.6//:build_script_build", + ], +) + +cargo_build_script( + name = "_bs", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + "**/*.rs", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_name = "build_script_build", + crate_root = "build.rs", + data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + edition = "2021", + pkg_name = "windows_aarch64_msvc", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=windows_aarch64_msvc", + "manual", + "noclippy", + "norustfmt", + ], + version = "0.52.6", + visibility = ["//visibility:private"], +) + +alias( + name = "build_script_build", + actual = ":_bs", + tags = ["manual"], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.windows_i686_gnu-0.48.5.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.windows_i686_gnu-0.48.5.bazel new file mode 100644 index 000000000000..3aa488a183ec --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.windows_i686_gnu-0.48.5.bazel @@ -0,0 +1,140 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//cargo:defs.bzl", "cargo_build_script") +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "windows_i686_gnu", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2018", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=windows_i686_gnu", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.48.5", + deps = [ + "@vendor__windows_i686_gnu-0.48.5//:build_script_build", + ], +) + +cargo_build_script( + name = "_bs", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + "**/*.rs", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_name = "build_script_build", + crate_root = "build.rs", + data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + edition = "2018", + pkg_name = "windows_i686_gnu", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=windows_i686_gnu", + "manual", + "noclippy", + "norustfmt", + ], + version = "0.48.5", + visibility = ["//visibility:private"], +) + +alias( + name = "build_script_build", + actual = ":_bs", + tags = ["manual"], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.windows_i686_gnu-0.52.6.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.windows_i686_gnu-0.52.6.bazel new file mode 100644 index 000000000000..e515f8144171 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.windows_i686_gnu-0.52.6.bazel @@ -0,0 +1,140 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//cargo:defs.bzl", "cargo_build_script") +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "windows_i686_gnu", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=windows_i686_gnu", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.52.6", + deps = [ + "@vendor__windows_i686_gnu-0.52.6//:build_script_build", + ], +) + +cargo_build_script( + name = "_bs", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + "**/*.rs", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_name = "build_script_build", + crate_root = "build.rs", + data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + edition = "2021", + pkg_name = "windows_i686_gnu", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=windows_i686_gnu", + "manual", + "noclippy", + "norustfmt", + ], + version = "0.52.6", + visibility = ["//visibility:private"], +) + +alias( + name = "build_script_build", + actual = ":_bs", + tags = ["manual"], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.windows_i686_gnullvm-0.52.6.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.windows_i686_gnullvm-0.52.6.bazel new file mode 100644 index 000000000000..7655df700571 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.windows_i686_gnullvm-0.52.6.bazel @@ -0,0 +1,140 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//cargo:defs.bzl", "cargo_build_script") +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "windows_i686_gnullvm", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=windows_i686_gnullvm", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.52.6", + deps = [ + "@vendor__windows_i686_gnullvm-0.52.6//:build_script_build", + ], +) + +cargo_build_script( + name = "_bs", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + "**/*.rs", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_name = "build_script_build", + crate_root = "build.rs", + data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + edition = "2021", + pkg_name = "windows_i686_gnullvm", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=windows_i686_gnullvm", + "manual", + "noclippy", + "norustfmt", + ], + version = "0.52.6", + visibility = ["//visibility:private"], +) + +alias( + name = "build_script_build", + actual = ":_bs", + tags = ["manual"], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.windows_i686_msvc-0.48.5.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.windows_i686_msvc-0.48.5.bazel new file mode 100644 index 000000000000..9ae12425fe85 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.windows_i686_msvc-0.48.5.bazel @@ -0,0 +1,140 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//cargo:defs.bzl", "cargo_build_script") +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "windows_i686_msvc", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2018", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=windows_i686_msvc", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.48.5", + deps = [ + "@vendor__windows_i686_msvc-0.48.5//:build_script_build", + ], +) + +cargo_build_script( + name = "_bs", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + "**/*.rs", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_name = "build_script_build", + crate_root = "build.rs", + data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + edition = "2018", + pkg_name = "windows_i686_msvc", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=windows_i686_msvc", + "manual", + "noclippy", + "norustfmt", + ], + version = "0.48.5", + visibility = ["//visibility:private"], +) + +alias( + name = "build_script_build", + actual = ":_bs", + tags = ["manual"], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.windows_i686_msvc-0.52.6.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.windows_i686_msvc-0.52.6.bazel new file mode 100644 index 000000000000..cbff46f7d990 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.windows_i686_msvc-0.52.6.bazel @@ -0,0 +1,140 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//cargo:defs.bzl", "cargo_build_script") +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "windows_i686_msvc", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=windows_i686_msvc", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.52.6", + deps = [ + "@vendor__windows_i686_msvc-0.52.6//:build_script_build", + ], +) + +cargo_build_script( + name = "_bs", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + "**/*.rs", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_name = "build_script_build", + crate_root = "build.rs", + data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + edition = "2021", + pkg_name = "windows_i686_msvc", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=windows_i686_msvc", + "manual", + "noclippy", + "norustfmt", + ], + version = "0.52.6", + visibility = ["//visibility:private"], +) + +alias( + name = "build_script_build", + actual = ":_bs", + tags = ["manual"], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.windows_x86_64_gnu-0.48.5.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.windows_x86_64_gnu-0.48.5.bazel new file mode 100644 index 000000000000..a19b5366df4f --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.windows_x86_64_gnu-0.48.5.bazel @@ -0,0 +1,140 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//cargo:defs.bzl", "cargo_build_script") +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "windows_x86_64_gnu", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2018", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=windows_x86_64_gnu", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.48.5", + deps = [ + "@vendor__windows_x86_64_gnu-0.48.5//:build_script_build", + ], +) + +cargo_build_script( + name = "_bs", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + "**/*.rs", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_name = "build_script_build", + crate_root = "build.rs", + data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + edition = "2018", + pkg_name = "windows_x86_64_gnu", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=windows_x86_64_gnu", + "manual", + "noclippy", + "norustfmt", + ], + version = "0.48.5", + visibility = ["//visibility:private"], +) + +alias( + name = "build_script_build", + actual = ":_bs", + tags = ["manual"], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.windows_x86_64_gnu-0.52.6.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.windows_x86_64_gnu-0.52.6.bazel new file mode 100644 index 000000000000..72eb1be73a25 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.windows_x86_64_gnu-0.52.6.bazel @@ -0,0 +1,140 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//cargo:defs.bzl", "cargo_build_script") +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "windows_x86_64_gnu", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=windows_x86_64_gnu", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.52.6", + deps = [ + "@vendor__windows_x86_64_gnu-0.52.6//:build_script_build", + ], +) + +cargo_build_script( + name = "_bs", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + "**/*.rs", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_name = "build_script_build", + crate_root = "build.rs", + data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + edition = "2021", + pkg_name = "windows_x86_64_gnu", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=windows_x86_64_gnu", + "manual", + "noclippy", + "norustfmt", + ], + version = "0.52.6", + visibility = ["//visibility:private"], +) + +alias( + name = "build_script_build", + actual = ":_bs", + tags = ["manual"], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.windows_x86_64_gnullvm-0.48.5.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.windows_x86_64_gnullvm-0.48.5.bazel new file mode 100644 index 000000000000..0a98facdb2fa --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.windows_x86_64_gnullvm-0.48.5.bazel @@ -0,0 +1,140 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//cargo:defs.bzl", "cargo_build_script") +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "windows_x86_64_gnullvm", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2018", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=windows_x86_64_gnullvm", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.48.5", + deps = [ + "@vendor__windows_x86_64_gnullvm-0.48.5//:build_script_build", + ], +) + +cargo_build_script( + name = "_bs", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + "**/*.rs", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_name = "build_script_build", + crate_root = "build.rs", + data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + edition = "2018", + pkg_name = "windows_x86_64_gnullvm", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=windows_x86_64_gnullvm", + "manual", + "noclippy", + "norustfmt", + ], + version = "0.48.5", + visibility = ["//visibility:private"], +) + +alias( + name = "build_script_build", + actual = ":_bs", + tags = ["manual"], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.windows_x86_64_gnullvm-0.52.6.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.windows_x86_64_gnullvm-0.52.6.bazel new file mode 100644 index 000000000000..390fb2d463ab --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.windows_x86_64_gnullvm-0.52.6.bazel @@ -0,0 +1,140 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//cargo:defs.bzl", "cargo_build_script") +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "windows_x86_64_gnullvm", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=windows_x86_64_gnullvm", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.52.6", + deps = [ + "@vendor__windows_x86_64_gnullvm-0.52.6//:build_script_build", + ], +) + +cargo_build_script( + name = "_bs", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + "**/*.rs", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_name = "build_script_build", + crate_root = "build.rs", + data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + edition = "2021", + pkg_name = "windows_x86_64_gnullvm", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=windows_x86_64_gnullvm", + "manual", + "noclippy", + "norustfmt", + ], + version = "0.52.6", + visibility = ["//visibility:private"], +) + +alias( + name = "build_script_build", + actual = ":_bs", + tags = ["manual"], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.windows_x86_64_msvc-0.48.5.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.windows_x86_64_msvc-0.48.5.bazel new file mode 100644 index 000000000000..992d264d66c0 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.windows_x86_64_msvc-0.48.5.bazel @@ -0,0 +1,140 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//cargo:defs.bzl", "cargo_build_script") +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "windows_x86_64_msvc", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2018", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=windows_x86_64_msvc", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.48.5", + deps = [ + "@vendor__windows_x86_64_msvc-0.48.5//:build_script_build", + ], +) + +cargo_build_script( + name = "_bs", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + "**/*.rs", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_name = "build_script_build", + crate_root = "build.rs", + data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + edition = "2018", + pkg_name = "windows_x86_64_msvc", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=windows_x86_64_msvc", + "manual", + "noclippy", + "norustfmt", + ], + version = "0.48.5", + visibility = ["//visibility:private"], +) + +alias( + name = "build_script_build", + actual = ":_bs", + tags = ["manual"], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.windows_x86_64_msvc-0.52.6.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.windows_x86_64_msvc-0.52.6.bazel new file mode 100644 index 000000000000..a163b4a60671 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.windows_x86_64_msvc-0.52.6.bazel @@ -0,0 +1,140 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//cargo:defs.bzl", "cargo_build_script") +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "windows_x86_64_msvc", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=windows_x86_64_msvc", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.52.6", + deps = [ + "@vendor__windows_x86_64_msvc-0.52.6//:build_script_build", + ], +) + +cargo_build_script( + name = "_bs", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + "**/*.rs", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_name = "build_script_build", + crate_root = "build.rs", + data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + edition = "2021", + pkg_name = "windows_x86_64_msvc", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=windows_x86_64_msvc", + "manual", + "noclippy", + "norustfmt", + ], + version = "0.52.6", + visibility = ["//visibility:private"], +) + +alias( + name = "build_script_build", + actual = ":_bs", + tags = ["manual"], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.yansi-1.0.1.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.yansi-1.0.1.bazel new file mode 100644 index 000000000000..29767f6e4a3c --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.yansi-1.0.1.bazel @@ -0,0 +1,86 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "yansi", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "alloc", + "default", + "std", + ], + crate_root = "src/lib.rs", + edition = "2021", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=yansi", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "1.0.1", +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.zerocopy-0.7.35.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.zerocopy-0.7.35.bazel new file mode 100644 index 000000000000..f31a09f1e23f --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.zerocopy-0.7.35.bazel @@ -0,0 +1,94 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "zerocopy", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "byteorder", + "default", + "derive", + "simd", + "zerocopy-derive", + ], + crate_root = "src/lib.rs", + edition = "2018", + proc_macro_deps = [ + "@vendor__zerocopy-derive-0.7.35//:zerocopy_derive", + ], + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=zerocopy", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.7.35", + deps = [ + "@vendor__byteorder-1.5.0//:byteorder", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.zerocopy-derive-0.7.35.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.zerocopy-derive-0.7.35.bazel new file mode 100644 index 000000000000..cab5ffc54d9c --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.zerocopy-derive-0.7.35.bazel @@ -0,0 +1,86 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//rust:defs.bzl", "rust_proc_macro") + +package(default_visibility = ["//visibility:public"]) + +rust_proc_macro( + name = "zerocopy_derive", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2018", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=zerocopy-derive", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-fuchsia": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasi": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-fuchsia": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.7.35", + deps = [ + "@vendor__proc-macro2-1.0.89//:proc_macro2", + "@vendor__quote-1.0.37//:quote", + "@vendor__syn-2.0.87//:syn", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/alias_rules.bzl b/misc/bazel/3rdparty/tree_sitter_extractors_deps/alias_rules.bzl new file mode 100644 index 000000000000..14b04c12728a --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/alias_rules.bzl @@ -0,0 +1,47 @@ +"""Alias that transitions its target to `compilation_mode=opt`. Use `transition_alias="opt"` to enable.""" + +load("@rules_cc//cc:defs.bzl", "CcInfo") +load("@rules_rust//rust:rust_common.bzl", "COMMON_PROVIDERS") + +def _transition_alias_impl(ctx): + # `ctx.attr.actual` is a list of 1 item due to the transition + providers = [ctx.attr.actual[0][provider] for provider in COMMON_PROVIDERS] + if CcInfo in ctx.attr.actual[0]: + providers.append(ctx.attr.actual[0][CcInfo]) + return providers + +def _change_compilation_mode(compilation_mode): + def _change_compilation_mode_impl(_settings, _attr): + return { + "//command_line_option:compilation_mode": compilation_mode, + } + + return transition( + implementation = _change_compilation_mode_impl, + inputs = [], + outputs = [ + "//command_line_option:compilation_mode", + ], + ) + +def _transition_alias_rule(compilation_mode): + return rule( + implementation = _transition_alias_impl, + provides = COMMON_PROVIDERS, + attrs = { + "actual": attr.label( + mandatory = True, + doc = "`rust_library()` target to transition to `compilation_mode=opt`.", + providers = COMMON_PROVIDERS, + cfg = _change_compilation_mode(compilation_mode), + ), + "_allowlist_function_transition": attr.label( + default = "@bazel_tools//tools/allowlists/function_transition_allowlist", + ), + }, + doc = "Transitions a Rust library crate to the `compilation_mode=opt`.", + ) + +transition_alias_dbg = _transition_alias_rule("dbg") +transition_alias_fastbuild = _transition_alias_rule("fastbuild") +transition_alias_opt = _transition_alias_rule("opt") diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/crates.bzl b/misc/bazel/3rdparty/tree_sitter_extractors_deps/crates.bzl new file mode 100644 index 000000000000..932b9ce66d0b --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/crates.bzl @@ -0,0 +1,32 @@ +############################################################################### +# @generated +# This file is auto-generated by the cargo-bazel tool. +# +# DO NOT MODIFY: Local changes may be replaced in future executions. +############################################################################### +"""Rules for defining repositories for remote `crates_vendor` repositories""" + +load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe") + +# buildifier: disable=bzl-visibility +load("@rules_rust//crate_universe/private:crates_vendor.bzl", "crates_vendor_remote_repository") + +# buildifier: disable=bzl-visibility +load("//misc/bazel/3rdparty/tree_sitter_extractors_deps:defs.bzl", _crate_repositories = "crate_repositories") + +def crate_repositories(): + """Generates repositories for vendored crates. + + Returns: + A list of repos visible to the module through the module extension. + """ + maybe( + crates_vendor_remote_repository, + name = "vendor", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.bazel"), + defs_module = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:defs.bzl"), + ) + + direct_deps = [struct(repo = "vendor", is_dev_dep = False)] + direct_deps.extend(_crate_repositories()) + return direct_deps diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/defs.bzl b/misc/bazel/3rdparty/tree_sitter_extractors_deps/defs.bzl new file mode 100644 index 000000000000..86344386015e --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/defs.bzl @@ -0,0 +1,3354 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### +""" +# `crates_repository` API + +- [aliases](#aliases) +- [crate_deps](#crate_deps) +- [all_crate_deps](#all_crate_deps) +- [crate_repositories](#crate_repositories) + +""" + +load("@bazel_skylib//lib:selects.bzl", "selects") +load("@bazel_tools//tools/build_defs/repo:git.bzl", "new_git_repository") +load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") +load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe") + +############################################################################### +# MACROS API +############################################################################### + +# An identifier that represent common dependencies (unconditional). +_COMMON_CONDITION = "" + +def _flatten_dependency_maps(all_dependency_maps): + """Flatten a list of dependency maps into one dictionary. + + Dependency maps have the following structure: + + ```python + DEPENDENCIES_MAP = { + # The first key in the map is a Bazel package + # name of the workspace this file is defined in. + "workspace_member_package": { + + # Not all dependencies are supported for all platforms. + # the condition key is the condition required to be true + # on the host platform. + "condition": { + + # An alias to a crate target. # The label of the crate target the + # Aliases are only crate names. # package name refers to. + "package_name": "@full//:label", + } + } + } + ``` + + Args: + all_dependency_maps (list): A list of dicts as described above + + Returns: + dict: A dictionary as described above + """ + dependencies = {} + + for workspace_deps_map in all_dependency_maps: + for pkg_name, conditional_deps_map in workspace_deps_map.items(): + if pkg_name not in dependencies: + non_frozen_map = dict() + for key, values in conditional_deps_map.items(): + non_frozen_map.update({key: dict(values.items())}) + dependencies.setdefault(pkg_name, non_frozen_map) + continue + + for condition, deps_map in conditional_deps_map.items(): + # If the condition has not been recorded, do so and continue + if condition not in dependencies[pkg_name]: + dependencies[pkg_name].setdefault(condition, dict(deps_map.items())) + continue + + # Alert on any miss-matched dependencies + inconsistent_entries = [] + for crate_name, crate_label in deps_map.items(): + existing = dependencies[pkg_name][condition].get(crate_name) + if existing and existing != crate_label: + inconsistent_entries.append((crate_name, existing, crate_label)) + dependencies[pkg_name][condition].update({crate_name: crate_label}) + + return dependencies + +def crate_deps(deps, package_name = None): + """Finds the fully qualified label of the requested crates for the package where this macro is called. + + Args: + deps (list): The desired list of crate targets. + package_name (str, optional): The package name of the set of dependencies to look up. + Defaults to `native.package_name()`. + + Returns: + list: A list of labels to generated rust targets (str) + """ + + if not deps: + return [] + + if package_name == None: + package_name = native.package_name() + + # Join both sets of dependencies + dependencies = _flatten_dependency_maps([ + _NORMAL_DEPENDENCIES, + _NORMAL_DEV_DEPENDENCIES, + _PROC_MACRO_DEPENDENCIES, + _PROC_MACRO_DEV_DEPENDENCIES, + _BUILD_DEPENDENCIES, + _BUILD_PROC_MACRO_DEPENDENCIES, + ]).pop(package_name, {}) + + # Combine all conditional packages so we can easily index over a flat list + # TODO: Perhaps this should actually return select statements and maintain + # the conditionals of the dependencies + flat_deps = {} + for deps_set in dependencies.values(): + for crate_name, crate_label in deps_set.items(): + flat_deps.update({crate_name: crate_label}) + + missing_crates = [] + crate_targets = [] + for crate_target in deps: + if crate_target not in flat_deps: + missing_crates.append(crate_target) + else: + crate_targets.append(flat_deps[crate_target]) + + if missing_crates: + fail("Could not find crates `{}` among dependencies of `{}`. Available dependencies were `{}`".format( + missing_crates, + package_name, + dependencies, + )) + + return crate_targets + +def all_crate_deps( + normal = False, + normal_dev = False, + proc_macro = False, + proc_macro_dev = False, + build = False, + build_proc_macro = False, + package_name = None): + """Finds the fully qualified label of all requested direct crate dependencies \ + for the package where this macro is called. + + If no parameters are set, all normal dependencies are returned. Setting any one flag will + otherwise impact the contents of the returned list. + + Args: + normal (bool, optional): If True, normal dependencies are included in the + output list. + normal_dev (bool, optional): If True, normal dev dependencies will be + included in the output list.. + proc_macro (bool, optional): If True, proc_macro dependencies are included + in the output list. + proc_macro_dev (bool, optional): If True, dev proc_macro dependencies are + included in the output list. + build (bool, optional): If True, build dependencies are included + in the output list. + build_proc_macro (bool, optional): If True, build proc_macro dependencies are + included in the output list. + package_name (str, optional): The package name of the set of dependencies to look up. + Defaults to `native.package_name()` when unset. + + Returns: + list: A list of labels to generated rust targets (str) + """ + + if package_name == None: + package_name = native.package_name() + + # Determine the relevant maps to use + all_dependency_maps = [] + if normal: + all_dependency_maps.append(_NORMAL_DEPENDENCIES) + if normal_dev: + all_dependency_maps.append(_NORMAL_DEV_DEPENDENCIES) + if proc_macro: + all_dependency_maps.append(_PROC_MACRO_DEPENDENCIES) + if proc_macro_dev: + all_dependency_maps.append(_PROC_MACRO_DEV_DEPENDENCIES) + if build: + all_dependency_maps.append(_BUILD_DEPENDENCIES) + if build_proc_macro: + all_dependency_maps.append(_BUILD_PROC_MACRO_DEPENDENCIES) + + # Default to always using normal dependencies + if not all_dependency_maps: + all_dependency_maps.append(_NORMAL_DEPENDENCIES) + + dependencies = _flatten_dependency_maps(all_dependency_maps).pop(package_name, None) + + if not dependencies: + if dependencies == None: + fail("Tried to get all_crate_deps for package " + package_name + " but that package had no Cargo.toml file") + else: + return [] + + crate_deps = list(dependencies.pop(_COMMON_CONDITION, {}).values()) + for condition, deps in dependencies.items(): + crate_deps += selects.with_or({ + tuple(_CONDITIONS[condition]): deps.values(), + "//conditions:default": [], + }) + + return crate_deps + +def aliases( + normal = False, + normal_dev = False, + proc_macro = False, + proc_macro_dev = False, + build = False, + build_proc_macro = False, + package_name = None): + """Produces a map of Crate alias names to their original label + + If no dependency kinds are specified, `normal` and `proc_macro` are used by default. + Setting any one flag will otherwise determine the contents of the returned dict. + + Args: + normal (bool, optional): If True, normal dependencies are included in the + output list. + normal_dev (bool, optional): If True, normal dev dependencies will be + included in the output list.. + proc_macro (bool, optional): If True, proc_macro dependencies are included + in the output list. + proc_macro_dev (bool, optional): If True, dev proc_macro dependencies are + included in the output list. + build (bool, optional): If True, build dependencies are included + in the output list. + build_proc_macro (bool, optional): If True, build proc_macro dependencies are + included in the output list. + package_name (str, optional): The package name of the set of dependencies to look up. + Defaults to `native.package_name()` when unset. + + Returns: + dict: The aliases of all associated packages + """ + if package_name == None: + package_name = native.package_name() + + # Determine the relevant maps to use + all_aliases_maps = [] + if normal: + all_aliases_maps.append(_NORMAL_ALIASES) + if normal_dev: + all_aliases_maps.append(_NORMAL_DEV_ALIASES) + if proc_macro: + all_aliases_maps.append(_PROC_MACRO_ALIASES) + if proc_macro_dev: + all_aliases_maps.append(_PROC_MACRO_DEV_ALIASES) + if build: + all_aliases_maps.append(_BUILD_ALIASES) + if build_proc_macro: + all_aliases_maps.append(_BUILD_PROC_MACRO_ALIASES) + + # Default to always using normal aliases + if not all_aliases_maps: + all_aliases_maps.append(_NORMAL_ALIASES) + all_aliases_maps.append(_PROC_MACRO_ALIASES) + + aliases = _flatten_dependency_maps(all_aliases_maps).pop(package_name, None) + + if not aliases: + return dict() + + common_items = aliases.pop(_COMMON_CONDITION, {}).items() + + # If there are only common items in the dictionary, immediately return them + if not len(aliases.keys()) == 1: + return dict(common_items) + + # Build a single select statement where each conditional has accounted for the + # common set of aliases. + crate_aliases = {"//conditions:default": dict(common_items)} + for condition, deps in aliases.items(): + condition_triples = _CONDITIONS[condition] + for triple in condition_triples: + if triple in crate_aliases: + crate_aliases[triple].update(deps) + else: + crate_aliases.update({triple: dict(deps.items() + common_items)}) + + return select(crate_aliases) + +############################################################################### +# WORKSPACE MEMBER DEPS AND ALIASES +############################################################################### + +_NORMAL_DEPENDENCIES = { + "ruby/extractor": { + _COMMON_CONDITION: { + "clap": Label("@vendor__clap-4.5.20//:clap"), + "encoding": Label("@vendor__encoding-0.2.33//:encoding"), + "lazy_static": Label("@vendor__lazy_static-1.5.0//:lazy_static"), + "rayon": Label("@vendor__rayon-1.10.0//:rayon"), + "regex": Label("@vendor__regex-1.11.1//:regex"), + "tracing": Label("@vendor__tracing-0.1.40//:tracing"), + "tracing-subscriber": Label("@vendor__tracing-subscriber-0.3.18//:tracing_subscriber"), + "tree-sitter": Label("@vendor__tree-sitter-0.24.4//:tree_sitter"), + "tree-sitter-embedded-template": Label("@vendor__tree-sitter-embedded-template-0.23.2//:tree_sitter_embedded_template"), + "tree-sitter-ruby": Label("@vendor__tree-sitter-ruby-0.23.1//:tree_sitter_ruby"), + }, + }, + "rust/ast-generator": { + _COMMON_CONDITION: { + "itertools": Label("@vendor__itertools-0.10.5//:itertools"), + "proc-macro2": Label("@vendor__proc-macro2-1.0.89//:proc_macro2"), + "quote": Label("@vendor__quote-1.0.37//:quote"), + "ungrammar": Label("@vendor__ungrammar-1.16.1//:ungrammar"), + }, + }, + "rust/extractor": { + _COMMON_CONDITION: { + "anyhow": Label("@vendor__anyhow-1.0.93//:anyhow"), + "argfile": Label("@vendor__argfile-0.2.1//:argfile"), + "clap": Label("@vendor__clap-4.5.20//:clap"), + "figment": Label("@vendor__figment-0.10.19//:figment"), + "glob": Label("@vendor__glob-0.3.1//:glob"), + "itertools": Label("@vendor__itertools-0.13.0//:itertools"), + "log": Label("@vendor__log-0.4.22//:log"), + "num-traits": Label("@vendor__num-traits-0.2.19//:num_traits"), + "ra_ap_base_db": Label("@vendor__ra_ap_base_db-0.0.232//:ra_ap_base_db"), + "ra_ap_hir": Label("@vendor__ra_ap_hir-0.0.232//:ra_ap_hir"), + "ra_ap_hir_def": Label("@vendor__ra_ap_hir_def-0.0.232//:ra_ap_hir_def"), + "ra_ap_hir_expand": Label("@vendor__ra_ap_hir_expand-0.0.232//:ra_ap_hir_expand"), + "ra_ap_ide_db": Label("@vendor__ra_ap_ide_db-0.0.232//:ra_ap_ide_db"), + "ra_ap_load-cargo": Label("@vendor__ra_ap_load-cargo-0.0.232//:ra_ap_load_cargo"), + "ra_ap_parser": Label("@vendor__ra_ap_parser-0.0.232//:ra_ap_parser"), + "ra_ap_paths": Label("@vendor__ra_ap_paths-0.0.232//:ra_ap_paths"), + "ra_ap_project_model": Label("@vendor__ra_ap_project_model-0.0.232//:ra_ap_project_model"), + "ra_ap_span": Label("@vendor__ra_ap_span-0.0.232//:ra_ap_span"), + "ra_ap_syntax": Label("@vendor__ra_ap_syntax-0.0.232//:ra_ap_syntax"), + "ra_ap_vfs": Label("@vendor__ra_ap_vfs-0.0.232//:ra_ap_vfs"), + "serde": Label("@vendor__serde-1.0.214//:serde"), + "serde_with": Label("@vendor__serde_with-3.11.0//:serde_with"), + "stderrlog": Label("@vendor__stderrlog-0.6.0//:stderrlog"), + "triomphe": Label("@vendor__triomphe-0.1.14//:triomphe"), + }, + }, + "rust/extractor/macros": { + _COMMON_CONDITION: { + "quote": Label("@vendor__quote-1.0.37//:quote"), + "syn": Label("@vendor__syn-2.0.87//:syn"), + }, + }, + "shared/tree-sitter-extractor": { + _COMMON_CONDITION: { + "chrono": Label("@vendor__chrono-0.4.38//:chrono"), + "encoding": Label("@vendor__encoding-0.2.33//:encoding"), + "flate2": Label("@vendor__flate2-1.0.34//:flate2"), + "globset": Label("@vendor__globset-0.4.15//:globset"), + "lazy_static": Label("@vendor__lazy_static-1.5.0//:lazy_static"), + "num_cpus": Label("@vendor__num_cpus-1.16.0//:num_cpus"), + "rayon": Label("@vendor__rayon-1.10.0//:rayon"), + "regex": Label("@vendor__regex-1.11.1//:regex"), + "serde": Label("@vendor__serde-1.0.214//:serde"), + "serde_json": Label("@vendor__serde_json-1.0.132//:serde_json"), + "tracing": Label("@vendor__tracing-0.1.40//:tracing"), + "tracing-subscriber": Label("@vendor__tracing-subscriber-0.3.18//:tracing_subscriber"), + "tree-sitter": Label("@vendor__tree-sitter-0.24.4//:tree_sitter"), + }, + }, +} + +_NORMAL_ALIASES = { + "ruby/extractor": { + _COMMON_CONDITION: { + }, + }, + "rust/ast-generator": { + _COMMON_CONDITION: { + }, + }, + "rust/extractor": { + _COMMON_CONDITION: { + }, + }, + "rust/extractor/macros": { + _COMMON_CONDITION: { + }, + }, + "shared/tree-sitter-extractor": { + _COMMON_CONDITION: { + }, + }, +} + +_NORMAL_DEV_DEPENDENCIES = { + "ruby/extractor": { + }, + "rust/ast-generator": { + }, + "rust/extractor": { + }, + "rust/extractor/macros": { + }, + "shared/tree-sitter-extractor": { + _COMMON_CONDITION: { + "rand": Label("@vendor__rand-0.8.5//:rand"), + "tree-sitter-json": Label("@vendor__tree-sitter-json-0.24.8//:tree_sitter_json"), + "tree-sitter-ql": Label("@vendor__tree-sitter-ql-0.23.1//:tree_sitter_ql"), + }, + }, +} + +_NORMAL_DEV_ALIASES = { + "ruby/extractor": { + }, + "rust/ast-generator": { + }, + "rust/extractor": { + }, + "rust/extractor/macros": { + }, + "shared/tree-sitter-extractor": { + _COMMON_CONDITION: { + }, + }, +} + +_PROC_MACRO_DEPENDENCIES = { + "ruby/extractor": { + }, + "rust/ast-generator": { + }, + "rust/extractor": { + }, + "rust/extractor/macros": { + }, + "shared/tree-sitter-extractor": { + }, +} + +_PROC_MACRO_ALIASES = { + "ruby/extractor": { + }, + "rust/ast-generator": { + }, + "rust/extractor": { + }, + "rust/extractor/macros": { + }, + "shared/tree-sitter-extractor": { + }, +} + +_PROC_MACRO_DEV_DEPENDENCIES = { + "ruby/extractor": { + }, + "rust/ast-generator": { + }, + "rust/extractor": { + }, + "rust/extractor/macros": { + }, + "shared/tree-sitter-extractor": { + }, +} + +_PROC_MACRO_DEV_ALIASES = { + "ruby/extractor": { + }, + "rust/ast-generator": { + }, + "rust/extractor": { + }, + "rust/extractor/macros": { + }, + "shared/tree-sitter-extractor": { + _COMMON_CONDITION: { + }, + }, +} + +_BUILD_DEPENDENCIES = { + "ruby/extractor": { + }, + "rust/ast-generator": { + }, + "rust/extractor": { + }, + "rust/extractor/macros": { + }, + "shared/tree-sitter-extractor": { + }, +} + +_BUILD_ALIASES = { + "ruby/extractor": { + }, + "rust/ast-generator": { + }, + "rust/extractor": { + }, + "rust/extractor/macros": { + }, + "shared/tree-sitter-extractor": { + }, +} + +_BUILD_PROC_MACRO_DEPENDENCIES = { + "ruby/extractor": { + }, + "rust/ast-generator": { + }, + "rust/extractor": { + }, + "rust/extractor/macros": { + }, + "shared/tree-sitter-extractor": { + }, +} + +_BUILD_PROC_MACRO_ALIASES = { + "ruby/extractor": { + }, + "rust/ast-generator": { + }, + "rust/extractor": { + }, + "rust/extractor/macros": { + }, + "shared/tree-sitter-extractor": { + }, +} + +_CONDITIONS = { + "aarch64-apple-darwin": ["@rules_rust//rust/platform:aarch64-apple-darwin"], + "aarch64-apple-ios": ["@rules_rust//rust/platform:aarch64-apple-ios"], + "aarch64-apple-ios-sim": ["@rules_rust//rust/platform:aarch64-apple-ios-sim"], + "aarch64-fuchsia": ["@rules_rust//rust/platform:aarch64-fuchsia"], + "aarch64-linux-android": ["@rules_rust//rust/platform:aarch64-linux-android"], + "aarch64-pc-windows-gnullvm": [], + "aarch64-pc-windows-msvc": ["@rules_rust//rust/platform:aarch64-pc-windows-msvc"], + "aarch64-unknown-linux-gnu": ["@rules_rust//rust/platform:aarch64-unknown-linux-gnu", "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu"], + "aarch64-unknown-nixos-gnu": ["@rules_rust//rust/platform:aarch64-unknown-nixos-gnu"], + "aarch64-unknown-nto-qnx710": ["@rules_rust//rust/platform:aarch64-unknown-nto-qnx710"], + "arm-unknown-linux-gnueabi": ["@rules_rust//rust/platform:arm-unknown-linux-gnueabi"], + "armv7-linux-androideabi": ["@rules_rust//rust/platform:armv7-linux-androideabi"], + "armv7-unknown-linux-gnueabi": ["@rules_rust//rust/platform:armv7-unknown-linux-gnueabi"], + "cfg(all(any(target_arch = \"x86_64\", target_arch = \"arm64ec\"), target_env = \"msvc\", not(windows_raw_dylib)))": ["@rules_rust//rust/platform:x86_64-pc-windows-msvc"], + "cfg(all(target_arch = \"aarch64\", target_env = \"msvc\", not(windows_raw_dylib)))": ["@rules_rust//rust/platform:aarch64-pc-windows-msvc"], + "cfg(all(target_arch = \"wasm32\", target_os = \"unknown\"))": ["@rules_rust//rust/platform:wasm32-unknown-unknown"], + "cfg(all(target_arch = \"x86\", target_env = \"gnu\", not(target_abi = \"llvm\"), not(windows_raw_dylib)))": ["@rules_rust//rust/platform:i686-unknown-linux-gnu"], + "cfg(all(target_arch = \"x86\", target_env = \"gnu\", not(windows_raw_dylib)))": ["@rules_rust//rust/platform:i686-unknown-linux-gnu"], + "cfg(all(target_arch = \"x86\", target_env = \"msvc\", not(windows_raw_dylib)))": ["@rules_rust//rust/platform:i686-pc-windows-msvc"], + "cfg(all(target_arch = \"x86_64\", target_env = \"gnu\", not(target_abi = \"llvm\"), not(windows_raw_dylib)))": ["@rules_rust//rust/platform:x86_64-unknown-linux-gnu", "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu"], + "cfg(all(target_arch = \"x86_64\", target_env = \"msvc\", not(windows_raw_dylib)))": ["@rules_rust//rust/platform:x86_64-pc-windows-msvc"], + "cfg(any(target_os = \"freebsd\", target_os = \"openbsd\", target_os = \"netbsd\", target_os = \"dragonflybsd\"))": ["@rules_rust//rust/platform:i686-unknown-freebsd", "@rules_rust//rust/platform:x86_64-unknown-freebsd"], + "cfg(any(target_os = \"linux\", target_os = \"android\"))": ["@rules_rust//rust/platform:aarch64-linux-android", "@rules_rust//rust/platform:aarch64-unknown-linux-gnu", "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu", "@rules_rust//rust/platform:arm-unknown-linux-gnueabi", "@rules_rust//rust/platform:armv7-linux-androideabi", "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi", "@rules_rust//rust/platform:i686-linux-android", "@rules_rust//rust/platform:i686-unknown-linux-gnu", "@rules_rust//rust/platform:powerpc-unknown-linux-gnu", "@rules_rust//rust/platform:s390x-unknown-linux-gnu", "@rules_rust//rust/platform:x86_64-linux-android", "@rules_rust//rust/platform:x86_64-unknown-linux-gnu", "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu"], + "cfg(any(target_os = \"macos\", target_os = \"ios\"))": ["@rules_rust//rust/platform:aarch64-apple-darwin", "@rules_rust//rust/platform:aarch64-apple-ios", "@rules_rust//rust/platform:aarch64-apple-ios-sim", "@rules_rust//rust/platform:i686-apple-darwin", "@rules_rust//rust/platform:x86_64-apple-darwin", "@rules_rust//rust/platform:x86_64-apple-ios"], + "cfg(any(target_pointer_width = \"8\", target_pointer_width = \"16\", target_pointer_width = \"32\"))": ["@rules_rust//rust/platform:arm-unknown-linux-gnueabi", "@rules_rust//rust/platform:armv7-linux-androideabi", "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi", "@rules_rust//rust/platform:i686-apple-darwin", "@rules_rust//rust/platform:i686-linux-android", "@rules_rust//rust/platform:i686-pc-windows-msvc", "@rules_rust//rust/platform:i686-unknown-freebsd", "@rules_rust//rust/platform:i686-unknown-linux-gnu", "@rules_rust//rust/platform:powerpc-unknown-linux-gnu", "@rules_rust//rust/platform:riscv32imc-unknown-none-elf", "@rules_rust//rust/platform:thumbv7em-none-eabi", "@rules_rust//rust/platform:thumbv8m.main-none-eabi", "@rules_rust//rust/platform:wasm32-unknown-unknown", "@rules_rust//rust/platform:wasm32-wasi"], + "cfg(any(unix, target_os = \"wasi\"))": ["@rules_rust//rust/platform:aarch64-apple-darwin", "@rules_rust//rust/platform:aarch64-apple-ios", "@rules_rust//rust/platform:aarch64-apple-ios-sim", "@rules_rust//rust/platform:aarch64-fuchsia", "@rules_rust//rust/platform:aarch64-linux-android", "@rules_rust//rust/platform:aarch64-unknown-linux-gnu", "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu", "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710", "@rules_rust//rust/platform:arm-unknown-linux-gnueabi", "@rules_rust//rust/platform:armv7-linux-androideabi", "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi", "@rules_rust//rust/platform:i686-apple-darwin", "@rules_rust//rust/platform:i686-linux-android", "@rules_rust//rust/platform:i686-unknown-freebsd", "@rules_rust//rust/platform:i686-unknown-linux-gnu", "@rules_rust//rust/platform:powerpc-unknown-linux-gnu", "@rules_rust//rust/platform:s390x-unknown-linux-gnu", "@rules_rust//rust/platform:wasm32-wasi", "@rules_rust//rust/platform:x86_64-apple-darwin", "@rules_rust//rust/platform:x86_64-apple-ios", "@rules_rust//rust/platform:x86_64-fuchsia", "@rules_rust//rust/platform:x86_64-linux-android", "@rules_rust//rust/platform:x86_64-unknown-freebsd", "@rules_rust//rust/platform:x86_64-unknown-linux-gnu", "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu"], + "cfg(not(windows))": ["@rules_rust//rust/platform:aarch64-apple-darwin", "@rules_rust//rust/platform:aarch64-apple-ios", "@rules_rust//rust/platform:aarch64-apple-ios-sim", "@rules_rust//rust/platform:aarch64-fuchsia", "@rules_rust//rust/platform:aarch64-linux-android", "@rules_rust//rust/platform:aarch64-unknown-linux-gnu", "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu", "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710", "@rules_rust//rust/platform:arm-unknown-linux-gnueabi", "@rules_rust//rust/platform:armv7-linux-androideabi", "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi", "@rules_rust//rust/platform:i686-apple-darwin", "@rules_rust//rust/platform:i686-linux-android", "@rules_rust//rust/platform:i686-unknown-freebsd", "@rules_rust//rust/platform:i686-unknown-linux-gnu", "@rules_rust//rust/platform:powerpc-unknown-linux-gnu", "@rules_rust//rust/platform:riscv32imc-unknown-none-elf", "@rules_rust//rust/platform:riscv64gc-unknown-none-elf", "@rules_rust//rust/platform:s390x-unknown-linux-gnu", "@rules_rust//rust/platform:thumbv7em-none-eabi", "@rules_rust//rust/platform:thumbv8m.main-none-eabi", "@rules_rust//rust/platform:wasm32-unknown-unknown", "@rules_rust//rust/platform:wasm32-wasi", "@rules_rust//rust/platform:x86_64-apple-darwin", "@rules_rust//rust/platform:x86_64-apple-ios", "@rules_rust//rust/platform:x86_64-fuchsia", "@rules_rust//rust/platform:x86_64-linux-android", "@rules_rust//rust/platform:x86_64-unknown-freebsd", "@rules_rust//rust/platform:x86_64-unknown-linux-gnu", "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu", "@rules_rust//rust/platform:x86_64-unknown-none"], + "cfg(target_os = \"android\")": ["@rules_rust//rust/platform:aarch64-linux-android", "@rules_rust//rust/platform:armv7-linux-androideabi", "@rules_rust//rust/platform:i686-linux-android", "@rules_rust//rust/platform:x86_64-linux-android"], + "cfg(target_os = \"haiku\")": [], + "cfg(target_os = \"hermit\")": [], + "cfg(target_os = \"linux\")": ["@rules_rust//rust/platform:aarch64-unknown-linux-gnu", "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu", "@rules_rust//rust/platform:arm-unknown-linux-gnueabi", "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi", "@rules_rust//rust/platform:i686-unknown-linux-gnu", "@rules_rust//rust/platform:powerpc-unknown-linux-gnu", "@rules_rust//rust/platform:s390x-unknown-linux-gnu", "@rules_rust//rust/platform:x86_64-unknown-linux-gnu", "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu"], + "cfg(target_os = \"macos\")": ["@rules_rust//rust/platform:aarch64-apple-darwin", "@rules_rust//rust/platform:i686-apple-darwin", "@rules_rust//rust/platform:x86_64-apple-darwin"], + "cfg(target_os = \"redox\")": [], + "cfg(target_os = \"wasi\")": ["@rules_rust//rust/platform:wasm32-wasi"], + "cfg(target_os = \"windows\")": ["@rules_rust//rust/platform:aarch64-pc-windows-msvc", "@rules_rust//rust/platform:i686-pc-windows-msvc", "@rules_rust//rust/platform:x86_64-pc-windows-msvc"], + "cfg(unix)": ["@rules_rust//rust/platform:aarch64-apple-darwin", "@rules_rust//rust/platform:aarch64-apple-ios", "@rules_rust//rust/platform:aarch64-apple-ios-sim", "@rules_rust//rust/platform:aarch64-fuchsia", "@rules_rust//rust/platform:aarch64-linux-android", "@rules_rust//rust/platform:aarch64-unknown-linux-gnu", "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu", "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710", "@rules_rust//rust/platform:arm-unknown-linux-gnueabi", "@rules_rust//rust/platform:armv7-linux-androideabi", "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi", "@rules_rust//rust/platform:i686-apple-darwin", "@rules_rust//rust/platform:i686-linux-android", "@rules_rust//rust/platform:i686-unknown-freebsd", "@rules_rust//rust/platform:i686-unknown-linux-gnu", "@rules_rust//rust/platform:powerpc-unknown-linux-gnu", "@rules_rust//rust/platform:s390x-unknown-linux-gnu", "@rules_rust//rust/platform:x86_64-apple-darwin", "@rules_rust//rust/platform:x86_64-apple-ios", "@rules_rust//rust/platform:x86_64-fuchsia", "@rules_rust//rust/platform:x86_64-linux-android", "@rules_rust//rust/platform:x86_64-unknown-freebsd", "@rules_rust//rust/platform:x86_64-unknown-linux-gnu", "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu"], + "cfg(windows)": ["@rules_rust//rust/platform:aarch64-pc-windows-msvc", "@rules_rust//rust/platform:i686-pc-windows-msvc", "@rules_rust//rust/platform:x86_64-pc-windows-msvc"], + "i686-apple-darwin": ["@rules_rust//rust/platform:i686-apple-darwin"], + "i686-linux-android": ["@rules_rust//rust/platform:i686-linux-android"], + "i686-pc-windows-gnu": [], + "i686-pc-windows-gnullvm": [], + "i686-pc-windows-msvc": ["@rules_rust//rust/platform:i686-pc-windows-msvc"], + "i686-unknown-freebsd": ["@rules_rust//rust/platform:i686-unknown-freebsd"], + "i686-unknown-linux-gnu": ["@rules_rust//rust/platform:i686-unknown-linux-gnu"], + "powerpc-unknown-linux-gnu": ["@rules_rust//rust/platform:powerpc-unknown-linux-gnu"], + "riscv32imc-unknown-none-elf": ["@rules_rust//rust/platform:riscv32imc-unknown-none-elf"], + "riscv64gc-unknown-none-elf": ["@rules_rust//rust/platform:riscv64gc-unknown-none-elf"], + "s390x-unknown-linux-gnu": ["@rules_rust//rust/platform:s390x-unknown-linux-gnu"], + "thumbv7em-none-eabi": ["@rules_rust//rust/platform:thumbv7em-none-eabi"], + "thumbv8m.main-none-eabi": ["@rules_rust//rust/platform:thumbv8m.main-none-eabi"], + "wasm32-unknown-unknown": ["@rules_rust//rust/platform:wasm32-unknown-unknown"], + "wasm32-wasi": ["@rules_rust//rust/platform:wasm32-wasi"], + "x86_64-apple-darwin": ["@rules_rust//rust/platform:x86_64-apple-darwin"], + "x86_64-apple-ios": ["@rules_rust//rust/platform:x86_64-apple-ios"], + "x86_64-fuchsia": ["@rules_rust//rust/platform:x86_64-fuchsia"], + "x86_64-linux-android": ["@rules_rust//rust/platform:x86_64-linux-android"], + "x86_64-pc-windows-gnu": [], + "x86_64-pc-windows-gnullvm": [], + "x86_64-pc-windows-msvc": ["@rules_rust//rust/platform:x86_64-pc-windows-msvc"], + "x86_64-unknown-freebsd": ["@rules_rust//rust/platform:x86_64-unknown-freebsd"], + "x86_64-unknown-linux-gnu": ["@rules_rust//rust/platform:x86_64-unknown-linux-gnu", "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu"], + "x86_64-unknown-nixos-gnu": ["@rules_rust//rust/platform:x86_64-unknown-nixos-gnu"], + "x86_64-unknown-none": ["@rules_rust//rust/platform:x86_64-unknown-none"], +} + +############################################################################### + +def crate_repositories(): + """A macro for defining repositories for all generated crates. + + Returns: + A list of repos visible to the module through the module extension. + """ + maybe( + http_archive, + name = "vendor__adler2-2.0.0", + sha256 = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627", + type = "tar.gz", + urls = ["https://static.crates.io/crates/adler2/2.0.0/download"], + strip_prefix = "adler2-2.0.0", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.adler2-2.0.0.bazel"), + ) + + maybe( + http_archive, + name = "vendor__aho-corasick-1.1.3", + sha256 = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916", + type = "tar.gz", + urls = ["https://static.crates.io/crates/aho-corasick/1.1.3/download"], + strip_prefix = "aho-corasick-1.1.3", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.aho-corasick-1.1.3.bazel"), + ) + + maybe( + http_archive, + name = "vendor__always-assert-0.2.0", + sha256 = "a1078fa1ce1e34b1872d8611ad921196d76bdd7027e949fbe31231abde201892", + type = "tar.gz", + urls = ["https://static.crates.io/crates/always-assert/0.2.0/download"], + strip_prefix = "always-assert-0.2.0", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.always-assert-0.2.0.bazel"), + ) + + maybe( + http_archive, + name = "vendor__android-tzdata-0.1.1", + sha256 = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0", + type = "tar.gz", + urls = ["https://static.crates.io/crates/android-tzdata/0.1.1/download"], + strip_prefix = "android-tzdata-0.1.1", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.android-tzdata-0.1.1.bazel"), + ) + + maybe( + http_archive, + name = "vendor__android_system_properties-0.1.5", + sha256 = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311", + type = "tar.gz", + urls = ["https://static.crates.io/crates/android_system_properties/0.1.5/download"], + strip_prefix = "android_system_properties-0.1.5", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.android_system_properties-0.1.5.bazel"), + ) + + maybe( + http_archive, + name = "vendor__anstream-0.6.18", + sha256 = "8acc5369981196006228e28809f761875c0327210a891e941f4c683b3a99529b", + type = "tar.gz", + urls = ["https://static.crates.io/crates/anstream/0.6.18/download"], + strip_prefix = "anstream-0.6.18", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.anstream-0.6.18.bazel"), + ) + + maybe( + http_archive, + name = "vendor__anstyle-1.0.10", + sha256 = "55cc3b69f167a1ef2e161439aa98aed94e6028e5f9a59be9a6ffb47aef1651f9", + type = "tar.gz", + urls = ["https://static.crates.io/crates/anstyle/1.0.10/download"], + strip_prefix = "anstyle-1.0.10", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.anstyle-1.0.10.bazel"), + ) + + maybe( + http_archive, + name = "vendor__anstyle-parse-0.2.6", + sha256 = "3b2d16507662817a6a20a9ea92df6652ee4f94f914589377d69f3b21bc5798a9", + type = "tar.gz", + urls = ["https://static.crates.io/crates/anstyle-parse/0.2.6/download"], + strip_prefix = "anstyle-parse-0.2.6", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.anstyle-parse-0.2.6.bazel"), + ) + + maybe( + http_archive, + name = "vendor__anstyle-query-1.1.2", + sha256 = "79947af37f4177cfead1110013d678905c37501914fba0efea834c3fe9a8d60c", + type = "tar.gz", + urls = ["https://static.crates.io/crates/anstyle-query/1.1.2/download"], + strip_prefix = "anstyle-query-1.1.2", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.anstyle-query-1.1.2.bazel"), + ) + + maybe( + http_archive, + name = "vendor__anstyle-wincon-3.0.6", + sha256 = "2109dbce0e72be3ec00bed26e6a7479ca384ad226efdd66db8fa2e3a38c83125", + type = "tar.gz", + urls = ["https://static.crates.io/crates/anstyle-wincon/3.0.6/download"], + strip_prefix = "anstyle-wincon-3.0.6", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.anstyle-wincon-3.0.6.bazel"), + ) + + maybe( + http_archive, + name = "vendor__anyhow-1.0.93", + sha256 = "4c95c10ba0b00a02636238b814946408b1322d5ac4760326e6fb8ec956d85775", + type = "tar.gz", + urls = ["https://static.crates.io/crates/anyhow/1.0.93/download"], + strip_prefix = "anyhow-1.0.93", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.anyhow-1.0.93.bazel"), + ) + + maybe( + http_archive, + name = "vendor__argfile-0.2.1", + sha256 = "0a1cc0ba69de57db40674c66f7cf2caee3981ddef084388482c95c0e2133e5e8", + type = "tar.gz", + urls = ["https://static.crates.io/crates/argfile/0.2.1/download"], + strip_prefix = "argfile-0.2.1", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.argfile-0.2.1.bazel"), + ) + + maybe( + http_archive, + name = "vendor__arrayvec-0.7.6", + sha256 = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50", + type = "tar.gz", + urls = ["https://static.crates.io/crates/arrayvec/0.7.6/download"], + strip_prefix = "arrayvec-0.7.6", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.arrayvec-0.7.6.bazel"), + ) + + maybe( + http_archive, + name = "vendor__atomic-0.6.0", + sha256 = "8d818003e740b63afc82337e3160717f4f63078720a810b7b903e70a5d1d2994", + type = "tar.gz", + urls = ["https://static.crates.io/crates/atomic/0.6.0/download"], + strip_prefix = "atomic-0.6.0", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.atomic-0.6.0.bazel"), + ) + + maybe( + http_archive, + name = "vendor__autocfg-1.4.0", + sha256 = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26", + type = "tar.gz", + urls = ["https://static.crates.io/crates/autocfg/1.4.0/download"], + strip_prefix = "autocfg-1.4.0", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.autocfg-1.4.0.bazel"), + ) + + maybe( + http_archive, + name = "vendor__base64-0.22.1", + sha256 = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6", + type = "tar.gz", + urls = ["https://static.crates.io/crates/base64/0.22.1/download"], + strip_prefix = "base64-0.22.1", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.base64-0.22.1.bazel"), + ) + + maybe( + http_archive, + name = "vendor__bitflags-1.3.2", + sha256 = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a", + type = "tar.gz", + urls = ["https://static.crates.io/crates/bitflags/1.3.2/download"], + strip_prefix = "bitflags-1.3.2", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.bitflags-1.3.2.bazel"), + ) + + maybe( + http_archive, + name = "vendor__bitflags-2.6.0", + sha256 = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de", + type = "tar.gz", + urls = ["https://static.crates.io/crates/bitflags/2.6.0/download"], + strip_prefix = "bitflags-2.6.0", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.bitflags-2.6.0.bazel"), + ) + + maybe( + http_archive, + name = "vendor__bstr-1.10.0", + sha256 = "40723b8fb387abc38f4f4a37c09073622e41dd12327033091ef8950659e6dc0c", + type = "tar.gz", + urls = ["https://static.crates.io/crates/bstr/1.10.0/download"], + strip_prefix = "bstr-1.10.0", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.bstr-1.10.0.bazel"), + ) + + maybe( + http_archive, + name = "vendor__bumpalo-3.16.0", + sha256 = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c", + type = "tar.gz", + urls = ["https://static.crates.io/crates/bumpalo/3.16.0/download"], + strip_prefix = "bumpalo-3.16.0", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.bumpalo-3.16.0.bazel"), + ) + + maybe( + http_archive, + name = "vendor__bytemuck-1.19.0", + sha256 = "8334215b81e418a0a7bdb8ef0849474f40bb10c8b71f1c4ed315cff49f32494d", + type = "tar.gz", + urls = ["https://static.crates.io/crates/bytemuck/1.19.0/download"], + strip_prefix = "bytemuck-1.19.0", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.bytemuck-1.19.0.bazel"), + ) + + maybe( + http_archive, + name = "vendor__byteorder-1.5.0", + sha256 = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b", + type = "tar.gz", + urls = ["https://static.crates.io/crates/byteorder/1.5.0/download"], + strip_prefix = "byteorder-1.5.0", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.byteorder-1.5.0.bazel"), + ) + + maybe( + http_archive, + name = "vendor__camino-1.1.9", + sha256 = "8b96ec4966b5813e2c0507c1f86115c8c5abaadc3980879c3424042a02fd1ad3", + type = "tar.gz", + urls = ["https://static.crates.io/crates/camino/1.1.9/download"], + strip_prefix = "camino-1.1.9", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.camino-1.1.9.bazel"), + ) + + maybe( + http_archive, + name = "vendor__cargo-platform-0.1.8", + sha256 = "24b1f0365a6c6bb4020cd05806fd0d33c44d38046b8bd7f0e40814b9763cabfc", + type = "tar.gz", + urls = ["https://static.crates.io/crates/cargo-platform/0.1.8/download"], + strip_prefix = "cargo-platform-0.1.8", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.cargo-platform-0.1.8.bazel"), + ) + + maybe( + http_archive, + name = "vendor__cargo_metadata-0.18.1", + sha256 = "2d886547e41f740c616ae73108f6eb70afe6d940c7bc697cb30f13daec073037", + type = "tar.gz", + urls = ["https://static.crates.io/crates/cargo_metadata/0.18.1/download"], + strip_prefix = "cargo_metadata-0.18.1", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.cargo_metadata-0.18.1.bazel"), + ) + + maybe( + http_archive, + name = "vendor__cc-1.1.37", + sha256 = "40545c26d092346d8a8dab71ee48e7685a7a9cba76e634790c215b41a4a7b4cf", + type = "tar.gz", + urls = ["https://static.crates.io/crates/cc/1.1.37/download"], + strip_prefix = "cc-1.1.37", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.cc-1.1.37.bazel"), + ) + + maybe( + http_archive, + name = "vendor__cfg-if-1.0.0", + sha256 = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd", + type = "tar.gz", + urls = ["https://static.crates.io/crates/cfg-if/1.0.0/download"], + strip_prefix = "cfg-if-1.0.0", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.cfg-if-1.0.0.bazel"), + ) + + maybe( + http_archive, + name = "vendor__chalk-derive-0.98.0", + sha256 = "9426c8fd0fe61c3da880b801d3b510524df17843a8f9ec1f5b9cec24fb7412df", + type = "tar.gz", + urls = ["https://static.crates.io/crates/chalk-derive/0.98.0/download"], + strip_prefix = "chalk-derive-0.98.0", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.chalk-derive-0.98.0.bazel"), + ) + + maybe( + http_archive, + name = "vendor__chalk-ir-0.98.0", + sha256 = "d5f2eb1cd6054da221bd1ac0197fb2fe5e2caf3dcb93619398fc1433f8f09093", + type = "tar.gz", + urls = ["https://static.crates.io/crates/chalk-ir/0.98.0/download"], + strip_prefix = "chalk-ir-0.98.0", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.chalk-ir-0.98.0.bazel"), + ) + + maybe( + http_archive, + name = "vendor__chalk-recursive-0.98.0", + sha256 = "129dc03458f71cfb9c3cd621c9c68166a94e87b85b16ccd29af015d7ff9a1c61", + type = "tar.gz", + urls = ["https://static.crates.io/crates/chalk-recursive/0.98.0/download"], + strip_prefix = "chalk-recursive-0.98.0", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.chalk-recursive-0.98.0.bazel"), + ) + + maybe( + http_archive, + name = "vendor__chalk-solve-0.98.0", + sha256 = "d7e8a8c1e928f98cdf227b868416ef21dcd8cc3c61b347576d783713444d41c8", + type = "tar.gz", + urls = ["https://static.crates.io/crates/chalk-solve/0.98.0/download"], + strip_prefix = "chalk-solve-0.98.0", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.chalk-solve-0.98.0.bazel"), + ) + + maybe( + http_archive, + name = "vendor__chrono-0.4.38", + sha256 = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401", + type = "tar.gz", + urls = ["https://static.crates.io/crates/chrono/0.4.38/download"], + strip_prefix = "chrono-0.4.38", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.chrono-0.4.38.bazel"), + ) + + maybe( + http_archive, + name = "vendor__clap-4.5.20", + sha256 = "b97f376d85a664d5837dbae44bf546e6477a679ff6610010f17276f686d867e8", + type = "tar.gz", + urls = ["https://static.crates.io/crates/clap/4.5.20/download"], + strip_prefix = "clap-4.5.20", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.clap-4.5.20.bazel"), + ) + + maybe( + http_archive, + name = "vendor__clap_builder-4.5.20", + sha256 = "19bc80abd44e4bed93ca373a0704ccbd1b710dc5749406201bb018272808dc54", + type = "tar.gz", + urls = ["https://static.crates.io/crates/clap_builder/4.5.20/download"], + strip_prefix = "clap_builder-4.5.20", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.clap_builder-4.5.20.bazel"), + ) + + maybe( + http_archive, + name = "vendor__clap_derive-4.5.18", + sha256 = "4ac6a0c7b1a9e9a5186361f67dfa1b88213572f427fb9ab038efb2bd8c582dab", + type = "tar.gz", + urls = ["https://static.crates.io/crates/clap_derive/4.5.18/download"], + strip_prefix = "clap_derive-4.5.18", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.clap_derive-4.5.18.bazel"), + ) + + maybe( + http_archive, + name = "vendor__clap_lex-0.7.2", + sha256 = "1462739cb27611015575c0c11df5df7601141071f07518d56fcc1be504cbec97", + type = "tar.gz", + urls = ["https://static.crates.io/crates/clap_lex/0.7.2/download"], + strip_prefix = "clap_lex-0.7.2", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.clap_lex-0.7.2.bazel"), + ) + + maybe( + http_archive, + name = "vendor__colorchoice-1.0.3", + sha256 = "5b63caa9aa9397e2d9480a9b13673856c78d8ac123288526c37d7839f2a86990", + type = "tar.gz", + urls = ["https://static.crates.io/crates/colorchoice/1.0.3/download"], + strip_prefix = "colorchoice-1.0.3", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.colorchoice-1.0.3.bazel"), + ) + + maybe( + http_archive, + name = "vendor__core-foundation-sys-0.8.7", + sha256 = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b", + type = "tar.gz", + urls = ["https://static.crates.io/crates/core-foundation-sys/0.8.7/download"], + strip_prefix = "core-foundation-sys-0.8.7", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.core-foundation-sys-0.8.7.bazel"), + ) + + maybe( + http_archive, + name = "vendor__countme-3.0.1", + sha256 = "7704b5fdd17b18ae31c4c1da5a2e0305a2bf17b5249300a9ee9ed7b72114c636", + type = "tar.gz", + urls = ["https://static.crates.io/crates/countme/3.0.1/download"], + strip_prefix = "countme-3.0.1", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.countme-3.0.1.bazel"), + ) + + maybe( + http_archive, + name = "vendor__cov-mark-2.0.0", + sha256 = "0570650661aa447e7335f1d5e4f499d8e58796e617bedc9267d971e51c8b49d4", + type = "tar.gz", + urls = ["https://static.crates.io/crates/cov-mark/2.0.0/download"], + strip_prefix = "cov-mark-2.0.0", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.cov-mark-2.0.0.bazel"), + ) + + maybe( + http_archive, + name = "vendor__crc32fast-1.4.2", + sha256 = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3", + type = "tar.gz", + urls = ["https://static.crates.io/crates/crc32fast/1.4.2/download"], + strip_prefix = "crc32fast-1.4.2", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.crc32fast-1.4.2.bazel"), + ) + + maybe( + http_archive, + name = "vendor__crossbeam-channel-0.5.13", + sha256 = "33480d6946193aa8033910124896ca395333cae7e2d1113d1fef6c3272217df2", + type = "tar.gz", + urls = ["https://static.crates.io/crates/crossbeam-channel/0.5.13/download"], + strip_prefix = "crossbeam-channel-0.5.13", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.crossbeam-channel-0.5.13.bazel"), + ) + + maybe( + http_archive, + name = "vendor__crossbeam-deque-0.8.5", + sha256 = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d", + type = "tar.gz", + urls = ["https://static.crates.io/crates/crossbeam-deque/0.8.5/download"], + strip_prefix = "crossbeam-deque-0.8.5", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.crossbeam-deque-0.8.5.bazel"), + ) + + maybe( + http_archive, + name = "vendor__crossbeam-epoch-0.9.18", + sha256 = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e", + type = "tar.gz", + urls = ["https://static.crates.io/crates/crossbeam-epoch/0.9.18/download"], + strip_prefix = "crossbeam-epoch-0.9.18", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.crossbeam-epoch-0.9.18.bazel"), + ) + + maybe( + http_archive, + name = "vendor__crossbeam-utils-0.8.20", + sha256 = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80", + type = "tar.gz", + urls = ["https://static.crates.io/crates/crossbeam-utils/0.8.20/download"], + strip_prefix = "crossbeam-utils-0.8.20", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.crossbeam-utils-0.8.20.bazel"), + ) + + maybe( + http_archive, + name = "vendor__darling-0.20.10", + sha256 = "6f63b86c8a8826a49b8c21f08a2d07338eec8d900540f8630dc76284be802989", + type = "tar.gz", + urls = ["https://static.crates.io/crates/darling/0.20.10/download"], + strip_prefix = "darling-0.20.10", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.darling-0.20.10.bazel"), + ) + + maybe( + http_archive, + name = "vendor__darling_core-0.20.10", + sha256 = "95133861a8032aaea082871032f5815eb9e98cef03fa916ab4500513994df9e5", + type = "tar.gz", + urls = ["https://static.crates.io/crates/darling_core/0.20.10/download"], + strip_prefix = "darling_core-0.20.10", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.darling_core-0.20.10.bazel"), + ) + + maybe( + http_archive, + name = "vendor__darling_macro-0.20.10", + sha256 = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806", + type = "tar.gz", + urls = ["https://static.crates.io/crates/darling_macro/0.20.10/download"], + strip_prefix = "darling_macro-0.20.10", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.darling_macro-0.20.10.bazel"), + ) + + maybe( + http_archive, + name = "vendor__dashmap-5.5.3", + sha256 = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856", + type = "tar.gz", + urls = ["https://static.crates.io/crates/dashmap/5.5.3/download"], + strip_prefix = "dashmap-5.5.3", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.dashmap-5.5.3.bazel"), + ) + + maybe( + http_archive, + name = "vendor__deranged-0.3.11", + sha256 = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4", + type = "tar.gz", + urls = ["https://static.crates.io/crates/deranged/0.3.11/download"], + strip_prefix = "deranged-0.3.11", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.deranged-0.3.11.bazel"), + ) + + maybe( + http_archive, + name = "vendor__drop_bomb-0.1.5", + sha256 = "9bda8e21c04aca2ae33ffc2fd8c23134f3cac46db123ba97bd9d3f3b8a4a85e1", + type = "tar.gz", + urls = ["https://static.crates.io/crates/drop_bomb/0.1.5/download"], + strip_prefix = "drop_bomb-0.1.5", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.drop_bomb-0.1.5.bazel"), + ) + + maybe( + http_archive, + name = "vendor__either-1.13.0", + sha256 = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0", + type = "tar.gz", + urls = ["https://static.crates.io/crates/either/1.13.0/download"], + strip_prefix = "either-1.13.0", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.either-1.13.0.bazel"), + ) + + maybe( + http_archive, + name = "vendor__ena-0.14.3", + sha256 = "3d248bdd43ce613d87415282f69b9bb99d947d290b10962dd6c56233312c2ad5", + type = "tar.gz", + urls = ["https://static.crates.io/crates/ena/0.14.3/download"], + strip_prefix = "ena-0.14.3", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.ena-0.14.3.bazel"), + ) + + maybe( + http_archive, + name = "vendor__encoding-0.2.33", + sha256 = "6b0d943856b990d12d3b55b359144ff341533e516d94098b1d3fc1ac666d36ec", + type = "tar.gz", + urls = ["https://static.crates.io/crates/encoding/0.2.33/download"], + strip_prefix = "encoding-0.2.33", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.encoding-0.2.33.bazel"), + ) + + maybe( + http_archive, + name = "vendor__encoding-index-japanese-1.20141219.5", + sha256 = "04e8b2ff42e9a05335dbf8b5c6f7567e5591d0d916ccef4e0b1710d32a0d0c91", + type = "tar.gz", + urls = ["https://static.crates.io/crates/encoding-index-japanese/1.20141219.5/download"], + strip_prefix = "encoding-index-japanese-1.20141219.5", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.encoding-index-japanese-1.20141219.5.bazel"), + ) + + maybe( + http_archive, + name = "vendor__encoding-index-korean-1.20141219.5", + sha256 = "4dc33fb8e6bcba213fe2f14275f0963fd16f0a02c878e3095ecfdf5bee529d81", + type = "tar.gz", + urls = ["https://static.crates.io/crates/encoding-index-korean/1.20141219.5/download"], + strip_prefix = "encoding-index-korean-1.20141219.5", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.encoding-index-korean-1.20141219.5.bazel"), + ) + + maybe( + http_archive, + name = "vendor__encoding-index-simpchinese-1.20141219.5", + sha256 = "d87a7194909b9118fc707194baa434a4e3b0fb6a5a757c73c3adb07aa25031f7", + type = "tar.gz", + urls = ["https://static.crates.io/crates/encoding-index-simpchinese/1.20141219.5/download"], + strip_prefix = "encoding-index-simpchinese-1.20141219.5", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.encoding-index-simpchinese-1.20141219.5.bazel"), + ) + + maybe( + http_archive, + name = "vendor__encoding-index-singlebyte-1.20141219.5", + sha256 = "3351d5acffb224af9ca265f435b859c7c01537c0849754d3db3fdf2bfe2ae84a", + type = "tar.gz", + urls = ["https://static.crates.io/crates/encoding-index-singlebyte/1.20141219.5/download"], + strip_prefix = "encoding-index-singlebyte-1.20141219.5", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.encoding-index-singlebyte-1.20141219.5.bazel"), + ) + + maybe( + http_archive, + name = "vendor__encoding-index-tradchinese-1.20141219.5", + sha256 = "fd0e20d5688ce3cab59eb3ef3a2083a5c77bf496cb798dc6fcdb75f323890c18", + type = "tar.gz", + urls = ["https://static.crates.io/crates/encoding-index-tradchinese/1.20141219.5/download"], + strip_prefix = "encoding-index-tradchinese-1.20141219.5", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.encoding-index-tradchinese-1.20141219.5.bazel"), + ) + + maybe( + http_archive, + name = "vendor__encoding_index_tests-0.1.4", + sha256 = "a246d82be1c9d791c5dfde9a2bd045fc3cbba3fa2b11ad558f27d01712f00569", + type = "tar.gz", + urls = ["https://static.crates.io/crates/encoding_index_tests/0.1.4/download"], + strip_prefix = "encoding_index_tests-0.1.4", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.encoding_index_tests-0.1.4.bazel"), + ) + + maybe( + http_archive, + name = "vendor__equivalent-1.0.1", + sha256 = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5", + type = "tar.gz", + urls = ["https://static.crates.io/crates/equivalent/1.0.1/download"], + strip_prefix = "equivalent-1.0.1", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.equivalent-1.0.1.bazel"), + ) + + maybe( + http_archive, + name = "vendor__figment-0.10.19", + sha256 = "8cb01cd46b0cf372153850f4c6c272d9cbea2da513e07538405148f95bd789f3", + type = "tar.gz", + urls = ["https://static.crates.io/crates/figment/0.10.19/download"], + strip_prefix = "figment-0.10.19", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.figment-0.10.19.bazel"), + ) + + maybe( + http_archive, + name = "vendor__filetime-0.2.25", + sha256 = "35c0522e981e68cbfa8c3f978441a5f34b30b96e146b33cd3359176b50fe8586", + type = "tar.gz", + urls = ["https://static.crates.io/crates/filetime/0.2.25/download"], + strip_prefix = "filetime-0.2.25", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.filetime-0.2.25.bazel"), + ) + + maybe( + http_archive, + name = "vendor__fixedbitset-0.4.2", + sha256 = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80", + type = "tar.gz", + urls = ["https://static.crates.io/crates/fixedbitset/0.4.2/download"], + strip_prefix = "fixedbitset-0.4.2", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.fixedbitset-0.4.2.bazel"), + ) + + maybe( + http_archive, + name = "vendor__flate2-1.0.34", + sha256 = "a1b589b4dc103969ad3cf85c950899926ec64300a1a46d76c03a6072957036f0", + type = "tar.gz", + urls = ["https://static.crates.io/crates/flate2/1.0.34/download"], + strip_prefix = "flate2-1.0.34", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.flate2-1.0.34.bazel"), + ) + + maybe( + http_archive, + name = "vendor__fnv-1.0.7", + sha256 = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1", + type = "tar.gz", + urls = ["https://static.crates.io/crates/fnv/1.0.7/download"], + strip_prefix = "fnv-1.0.7", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.fnv-1.0.7.bazel"), + ) + + maybe( + http_archive, + name = "vendor__fs-err-2.11.0", + sha256 = "88a41f105fe1d5b6b34b2055e3dc59bb79b46b48b2040b9e6c7b4b5de097aa41", + type = "tar.gz", + urls = ["https://static.crates.io/crates/fs-err/2.11.0/download"], + strip_prefix = "fs-err-2.11.0", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.fs-err-2.11.0.bazel"), + ) + + maybe( + http_archive, + name = "vendor__fsevent-sys-4.1.0", + sha256 = "76ee7a02da4d231650c7cea31349b889be2f45ddb3ef3032d2ec8185f6313fd2", + type = "tar.gz", + urls = ["https://static.crates.io/crates/fsevent-sys/4.1.0/download"], + strip_prefix = "fsevent-sys-4.1.0", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.fsevent-sys-4.1.0.bazel"), + ) + + maybe( + http_archive, + name = "vendor__fst-0.4.7", + sha256 = "7ab85b9b05e3978cc9a9cf8fea7f01b494e1a09ed3037e16ba39edc7a29eb61a", + type = "tar.gz", + urls = ["https://static.crates.io/crates/fst/0.4.7/download"], + strip_prefix = "fst-0.4.7", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.fst-0.4.7.bazel"), + ) + + maybe( + http_archive, + name = "vendor__getrandom-0.2.15", + sha256 = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7", + type = "tar.gz", + urls = ["https://static.crates.io/crates/getrandom/0.2.15/download"], + strip_prefix = "getrandom-0.2.15", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.getrandom-0.2.15.bazel"), + ) + + maybe( + http_archive, + name = "vendor__glob-0.3.1", + sha256 = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b", + type = "tar.gz", + urls = ["https://static.crates.io/crates/glob/0.3.1/download"], + strip_prefix = "glob-0.3.1", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.glob-0.3.1.bazel"), + ) + + maybe( + http_archive, + name = "vendor__globset-0.4.15", + sha256 = "15f1ce686646e7f1e19bf7d5533fe443a45dbfb990e00629110797578b42fb19", + type = "tar.gz", + urls = ["https://static.crates.io/crates/globset/0.4.15/download"], + strip_prefix = "globset-0.4.15", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.globset-0.4.15.bazel"), + ) + + maybe( + http_archive, + name = "vendor__hashbrown-0.12.3", + sha256 = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888", + type = "tar.gz", + urls = ["https://static.crates.io/crates/hashbrown/0.12.3/download"], + strip_prefix = "hashbrown-0.12.3", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.hashbrown-0.12.3.bazel"), + ) + + maybe( + http_archive, + name = "vendor__hashbrown-0.14.5", + sha256 = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1", + type = "tar.gz", + urls = ["https://static.crates.io/crates/hashbrown/0.14.5/download"], + strip_prefix = "hashbrown-0.14.5", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.hashbrown-0.14.5.bazel"), + ) + + maybe( + http_archive, + name = "vendor__hashbrown-0.15.1", + sha256 = "3a9bfc1af68b1726ea47d3d5109de126281def866b33970e10fbab11b5dafab3", + type = "tar.gz", + urls = ["https://static.crates.io/crates/hashbrown/0.15.1/download"], + strip_prefix = "hashbrown-0.15.1", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.hashbrown-0.15.1.bazel"), + ) + + maybe( + http_archive, + name = "vendor__heck-0.4.1", + sha256 = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8", + type = "tar.gz", + urls = ["https://static.crates.io/crates/heck/0.4.1/download"], + strip_prefix = "heck-0.4.1", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.heck-0.4.1.bazel"), + ) + + maybe( + http_archive, + name = "vendor__heck-0.5.0", + sha256 = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea", + type = "tar.gz", + urls = ["https://static.crates.io/crates/heck/0.5.0/download"], + strip_prefix = "heck-0.5.0", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.heck-0.5.0.bazel"), + ) + + maybe( + http_archive, + name = "vendor__hermit-abi-0.3.9", + sha256 = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024", + type = "tar.gz", + urls = ["https://static.crates.io/crates/hermit-abi/0.3.9/download"], + strip_prefix = "hermit-abi-0.3.9", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.hermit-abi-0.3.9.bazel"), + ) + + maybe( + http_archive, + name = "vendor__hermit-abi-0.4.0", + sha256 = "fbf6a919d6cf397374f7dfeeea91d974c7c0a7221d0d0f4f20d859d329e53fcc", + type = "tar.gz", + urls = ["https://static.crates.io/crates/hermit-abi/0.4.0/download"], + strip_prefix = "hermit-abi-0.4.0", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.hermit-abi-0.4.0.bazel"), + ) + + maybe( + http_archive, + name = "vendor__hex-0.4.3", + sha256 = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70", + type = "tar.gz", + urls = ["https://static.crates.io/crates/hex/0.4.3/download"], + strip_prefix = "hex-0.4.3", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.hex-0.4.3.bazel"), + ) + + maybe( + http_archive, + name = "vendor__home-0.5.9", + sha256 = "e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5", + type = "tar.gz", + urls = ["https://static.crates.io/crates/home/0.5.9/download"], + strip_prefix = "home-0.5.9", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.home-0.5.9.bazel"), + ) + + maybe( + http_archive, + name = "vendor__iana-time-zone-0.1.61", + sha256 = "235e081f3925a06703c2d0117ea8b91f042756fd6e7a6e5d901e8ca1a996b220", + type = "tar.gz", + urls = ["https://static.crates.io/crates/iana-time-zone/0.1.61/download"], + strip_prefix = "iana-time-zone-0.1.61", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.iana-time-zone-0.1.61.bazel"), + ) + + maybe( + http_archive, + name = "vendor__iana-time-zone-haiku-0.1.2", + sha256 = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f", + type = "tar.gz", + urls = ["https://static.crates.io/crates/iana-time-zone-haiku/0.1.2/download"], + strip_prefix = "iana-time-zone-haiku-0.1.2", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.iana-time-zone-haiku-0.1.2.bazel"), + ) + + maybe( + http_archive, + name = "vendor__ident_case-1.0.1", + sha256 = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39", + type = "tar.gz", + urls = ["https://static.crates.io/crates/ident_case/1.0.1/download"], + strip_prefix = "ident_case-1.0.1", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.ident_case-1.0.1.bazel"), + ) + + maybe( + http_archive, + name = "vendor__indexmap-1.9.3", + sha256 = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99", + type = "tar.gz", + urls = ["https://static.crates.io/crates/indexmap/1.9.3/download"], + strip_prefix = "indexmap-1.9.3", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.indexmap-1.9.3.bazel"), + ) + + maybe( + http_archive, + name = "vendor__indexmap-2.6.0", + sha256 = "707907fe3c25f5424cce2cb7e1cbcafee6bdbe735ca90ef77c29e84591e5b9da", + type = "tar.gz", + urls = ["https://static.crates.io/crates/indexmap/2.6.0/download"], + strip_prefix = "indexmap-2.6.0", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.indexmap-2.6.0.bazel"), + ) + + maybe( + http_archive, + name = "vendor__inlinable_string-0.1.15", + sha256 = "c8fae54786f62fb2918dcfae3d568594e50eb9b5c25bf04371af6fe7516452fb", + type = "tar.gz", + urls = ["https://static.crates.io/crates/inlinable_string/0.1.15/download"], + strip_prefix = "inlinable_string-0.1.15", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.inlinable_string-0.1.15.bazel"), + ) + + maybe( + http_archive, + name = "vendor__inotify-0.9.6", + sha256 = "f8069d3ec154eb856955c1c0fbffefbf5f3c40a104ec912d4797314c1801abff", + type = "tar.gz", + urls = ["https://static.crates.io/crates/inotify/0.9.6/download"], + strip_prefix = "inotify-0.9.6", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.inotify-0.9.6.bazel"), + ) + + maybe( + http_archive, + name = "vendor__inotify-sys-0.1.5", + sha256 = "e05c02b5e89bff3b946cedeca278abc628fe811e604f027c45a8aa3cf793d0eb", + type = "tar.gz", + urls = ["https://static.crates.io/crates/inotify-sys/0.1.5/download"], + strip_prefix = "inotify-sys-0.1.5", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.inotify-sys-0.1.5.bazel"), + ) + + maybe( + http_archive, + name = "vendor__is-terminal-0.4.13", + sha256 = "261f68e344040fbd0edea105bef17c66edf46f984ddb1115b775ce31be948f4b", + type = "tar.gz", + urls = ["https://static.crates.io/crates/is-terminal/0.4.13/download"], + strip_prefix = "is-terminal-0.4.13", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.is-terminal-0.4.13.bazel"), + ) + + maybe( + http_archive, + name = "vendor__is_terminal_polyfill-1.70.1", + sha256 = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf", + type = "tar.gz", + urls = ["https://static.crates.io/crates/is_terminal_polyfill/1.70.1/download"], + strip_prefix = "is_terminal_polyfill-1.70.1", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.is_terminal_polyfill-1.70.1.bazel"), + ) + + maybe( + http_archive, + name = "vendor__itertools-0.10.5", + sha256 = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473", + type = "tar.gz", + urls = ["https://static.crates.io/crates/itertools/0.10.5/download"], + strip_prefix = "itertools-0.10.5", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.itertools-0.10.5.bazel"), + ) + + maybe( + http_archive, + name = "vendor__itertools-0.12.1", + sha256 = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569", + type = "tar.gz", + urls = ["https://static.crates.io/crates/itertools/0.12.1/download"], + strip_prefix = "itertools-0.12.1", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.itertools-0.12.1.bazel"), + ) + + maybe( + http_archive, + name = "vendor__itertools-0.13.0", + sha256 = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186", + type = "tar.gz", + urls = ["https://static.crates.io/crates/itertools/0.13.0/download"], + strip_prefix = "itertools-0.13.0", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.itertools-0.13.0.bazel"), + ) + + maybe( + http_archive, + name = "vendor__itoa-1.0.11", + sha256 = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b", + type = "tar.gz", + urls = ["https://static.crates.io/crates/itoa/1.0.11/download"], + strip_prefix = "itoa-1.0.11", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.itoa-1.0.11.bazel"), + ) + + maybe( + http_archive, + name = "vendor__jod-thread-0.1.2", + sha256 = "8b23360e99b8717f20aaa4598f5a6541efbe30630039fbc7706cf954a87947ae", + type = "tar.gz", + urls = ["https://static.crates.io/crates/jod-thread/0.1.2/download"], + strip_prefix = "jod-thread-0.1.2", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.jod-thread-0.1.2.bazel"), + ) + + maybe( + http_archive, + name = "vendor__js-sys-0.3.72", + sha256 = "6a88f1bda2bd75b0452a14784937d796722fdebfe50df998aeb3f0b7603019a9", + type = "tar.gz", + urls = ["https://static.crates.io/crates/js-sys/0.3.72/download"], + strip_prefix = "js-sys-0.3.72", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.js-sys-0.3.72.bazel"), + ) + + maybe( + http_archive, + name = "vendor__kqueue-1.0.8", + sha256 = "7447f1ca1b7b563588a205fe93dea8df60fd981423a768bc1c0ded35ed147d0c", + type = "tar.gz", + urls = ["https://static.crates.io/crates/kqueue/1.0.8/download"], + strip_prefix = "kqueue-1.0.8", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.kqueue-1.0.8.bazel"), + ) + + maybe( + http_archive, + name = "vendor__kqueue-sys-1.0.4", + sha256 = "ed9625ffda8729b85e45cf04090035ac368927b8cebc34898e7c120f52e4838b", + type = "tar.gz", + urls = ["https://static.crates.io/crates/kqueue-sys/1.0.4/download"], + strip_prefix = "kqueue-sys-1.0.4", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.kqueue-sys-1.0.4.bazel"), + ) + + maybe( + http_archive, + name = "vendor__la-arena-0.3.1", + sha256 = "3752f229dcc5a481d60f385fa479ff46818033d881d2d801aa27dffcfb5e8306", + type = "tar.gz", + urls = ["https://static.crates.io/crates/la-arena/0.3.1/download"], + strip_prefix = "la-arena-0.3.1", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.la-arena-0.3.1.bazel"), + ) + + maybe( + http_archive, + name = "vendor__lazy_static-1.5.0", + sha256 = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe", + type = "tar.gz", + urls = ["https://static.crates.io/crates/lazy_static/1.5.0/download"], + strip_prefix = "lazy_static-1.5.0", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.lazy_static-1.5.0.bazel"), + ) + + maybe( + http_archive, + name = "vendor__libc-0.2.162", + sha256 = "18d287de67fe55fd7e1581fe933d965a5a9477b38e949cfa9f8574ef01506398", + type = "tar.gz", + urls = ["https://static.crates.io/crates/libc/0.2.162/download"], + strip_prefix = "libc-0.2.162", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.libc-0.2.162.bazel"), + ) + + maybe( + http_archive, + name = "vendor__libredox-0.1.3", + sha256 = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d", + type = "tar.gz", + urls = ["https://static.crates.io/crates/libredox/0.1.3/download"], + strip_prefix = "libredox-0.1.3", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.libredox-0.1.3.bazel"), + ) + + maybe( + http_archive, + name = "vendor__line-index-0.1.2", + sha256 = "3e27e0ed5a392a7f5ba0b3808a2afccff16c64933312c84b57618b49d1209bd2", + type = "tar.gz", + urls = ["https://static.crates.io/crates/line-index/0.1.2/download"], + strip_prefix = "line-index-0.1.2", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.line-index-0.1.2.bazel"), + ) + + maybe( + http_archive, + name = "vendor__lock_api-0.4.12", + sha256 = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17", + type = "tar.gz", + urls = ["https://static.crates.io/crates/lock_api/0.4.12/download"], + strip_prefix = "lock_api-0.4.12", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.lock_api-0.4.12.bazel"), + ) + + maybe( + http_archive, + name = "vendor__log-0.4.22", + sha256 = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24", + type = "tar.gz", + urls = ["https://static.crates.io/crates/log/0.4.22/download"], + strip_prefix = "log-0.4.22", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.log-0.4.22.bazel"), + ) + + maybe( + http_archive, + name = "vendor__lz4_flex-0.11.3", + sha256 = "75761162ae2b0e580d7e7c390558127e5f01b4194debd6221fd8c207fc80e3f5", + type = "tar.gz", + urls = ["https://static.crates.io/crates/lz4_flex/0.11.3/download"], + strip_prefix = "lz4_flex-0.11.3", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.lz4_flex-0.11.3.bazel"), + ) + + maybe( + http_archive, + name = "vendor__matchers-0.1.0", + sha256 = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558", + type = "tar.gz", + urls = ["https://static.crates.io/crates/matchers/0.1.0/download"], + strip_prefix = "matchers-0.1.0", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.matchers-0.1.0.bazel"), + ) + + maybe( + http_archive, + name = "vendor__memchr-2.7.4", + sha256 = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3", + type = "tar.gz", + urls = ["https://static.crates.io/crates/memchr/2.7.4/download"], + strip_prefix = "memchr-2.7.4", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.memchr-2.7.4.bazel"), + ) + + maybe( + http_archive, + name = "vendor__memoffset-0.9.1", + sha256 = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a", + type = "tar.gz", + urls = ["https://static.crates.io/crates/memoffset/0.9.1/download"], + strip_prefix = "memoffset-0.9.1", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.memoffset-0.9.1.bazel"), + ) + + maybe( + http_archive, + name = "vendor__miniz_oxide-0.8.0", + sha256 = "e2d80299ef12ff69b16a84bb182e3b9df68b5a91574d3d4fa6e41b65deec4df1", + type = "tar.gz", + urls = ["https://static.crates.io/crates/miniz_oxide/0.8.0/download"], + strip_prefix = "miniz_oxide-0.8.0", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.miniz_oxide-0.8.0.bazel"), + ) + + maybe( + http_archive, + name = "vendor__mio-0.8.11", + sha256 = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c", + type = "tar.gz", + urls = ["https://static.crates.io/crates/mio/0.8.11/download"], + strip_prefix = "mio-0.8.11", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.mio-0.8.11.bazel"), + ) + + maybe( + http_archive, + name = "vendor__miow-0.6.0", + sha256 = "359f76430b20a79f9e20e115b3428614e654f04fab314482fc0fda0ebd3c6044", + type = "tar.gz", + urls = ["https://static.crates.io/crates/miow/0.6.0/download"], + strip_prefix = "miow-0.6.0", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.miow-0.6.0.bazel"), + ) + + maybe( + http_archive, + name = "vendor__nohash-hasher-0.2.0", + sha256 = "2bf50223579dc7cdcfb3bfcacf7069ff68243f8c363f62ffa99cf000a6b9c451", + type = "tar.gz", + urls = ["https://static.crates.io/crates/nohash-hasher/0.2.0/download"], + strip_prefix = "nohash-hasher-0.2.0", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.nohash-hasher-0.2.0.bazel"), + ) + + maybe( + http_archive, + name = "vendor__notify-6.1.1", + sha256 = "6205bd8bb1e454ad2e27422015fb5e4f2bcc7e08fa8f27058670d208324a4d2d", + type = "tar.gz", + urls = ["https://static.crates.io/crates/notify/6.1.1/download"], + strip_prefix = "notify-6.1.1", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.notify-6.1.1.bazel"), + ) + + maybe( + http_archive, + name = "vendor__nu-ansi-term-0.46.0", + sha256 = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84", + type = "tar.gz", + urls = ["https://static.crates.io/crates/nu-ansi-term/0.46.0/download"], + strip_prefix = "nu-ansi-term-0.46.0", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.nu-ansi-term-0.46.0.bazel"), + ) + + maybe( + http_archive, + name = "vendor__num-conv-0.1.0", + sha256 = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9", + type = "tar.gz", + urls = ["https://static.crates.io/crates/num-conv/0.1.0/download"], + strip_prefix = "num-conv-0.1.0", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.num-conv-0.1.0.bazel"), + ) + + maybe( + http_archive, + name = "vendor__num-traits-0.2.19", + sha256 = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841", + type = "tar.gz", + urls = ["https://static.crates.io/crates/num-traits/0.2.19/download"], + strip_prefix = "num-traits-0.2.19", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.num-traits-0.2.19.bazel"), + ) + + maybe( + http_archive, + name = "vendor__num_cpus-1.16.0", + sha256 = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43", + type = "tar.gz", + urls = ["https://static.crates.io/crates/num_cpus/1.16.0/download"], + strip_prefix = "num_cpus-1.16.0", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.num_cpus-1.16.0.bazel"), + ) + + maybe( + http_archive, + name = "vendor__once_cell-1.20.2", + sha256 = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775", + type = "tar.gz", + urls = ["https://static.crates.io/crates/once_cell/1.20.2/download"], + strip_prefix = "once_cell-1.20.2", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.once_cell-1.20.2.bazel"), + ) + + maybe( + http_archive, + name = "vendor__oorandom-11.1.4", + sha256 = "b410bbe7e14ab526a0e86877eb47c6996a2bd7746f027ba551028c925390e4e9", + type = "tar.gz", + urls = ["https://static.crates.io/crates/oorandom/11.1.4/download"], + strip_prefix = "oorandom-11.1.4", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.oorandom-11.1.4.bazel"), + ) + + maybe( + http_archive, + name = "vendor__os_str_bytes-7.0.0", + sha256 = "7ac44c994af577c799b1b4bd80dc214701e349873ad894d6cdf96f4f7526e0b9", + type = "tar.gz", + urls = ["https://static.crates.io/crates/os_str_bytes/7.0.0/download"], + strip_prefix = "os_str_bytes-7.0.0", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.os_str_bytes-7.0.0.bazel"), + ) + + maybe( + http_archive, + name = "vendor__overload-0.1.1", + sha256 = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39", + type = "tar.gz", + urls = ["https://static.crates.io/crates/overload/0.1.1/download"], + strip_prefix = "overload-0.1.1", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.overload-0.1.1.bazel"), + ) + + maybe( + http_archive, + name = "vendor__parking_lot-0.12.3", + sha256 = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27", + type = "tar.gz", + urls = ["https://static.crates.io/crates/parking_lot/0.12.3/download"], + strip_prefix = "parking_lot-0.12.3", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.parking_lot-0.12.3.bazel"), + ) + + maybe( + http_archive, + name = "vendor__parking_lot_core-0.9.10", + sha256 = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8", + type = "tar.gz", + urls = ["https://static.crates.io/crates/parking_lot_core/0.9.10/download"], + strip_prefix = "parking_lot_core-0.9.10", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.parking_lot_core-0.9.10.bazel"), + ) + + maybe( + http_archive, + name = "vendor__pear-0.2.9", + sha256 = "bdeeaa00ce488657faba8ebf44ab9361f9365a97bd39ffb8a60663f57ff4b467", + type = "tar.gz", + urls = ["https://static.crates.io/crates/pear/0.2.9/download"], + strip_prefix = "pear-0.2.9", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.pear-0.2.9.bazel"), + ) + + maybe( + http_archive, + name = "vendor__pear_codegen-0.2.9", + sha256 = "4bab5b985dc082b345f812b7df84e1bef27e7207b39e448439ba8bd69c93f147", + type = "tar.gz", + urls = ["https://static.crates.io/crates/pear_codegen/0.2.9/download"], + strip_prefix = "pear_codegen-0.2.9", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.pear_codegen-0.2.9.bazel"), + ) + + maybe( + http_archive, + name = "vendor__perf-event-0.4.7", + sha256 = "5396562cd2eaa828445d6d34258ae21ee1eb9d40fe626ca7f51c8dccb4af9d66", + type = "tar.gz", + urls = ["https://static.crates.io/crates/perf-event/0.4.7/download"], + strip_prefix = "perf-event-0.4.7", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.perf-event-0.4.7.bazel"), + ) + + maybe( + http_archive, + name = "vendor__perf-event-open-sys-1.0.1", + sha256 = "ce9bedf5da2c234fdf2391ede2b90fabf585355f33100689bc364a3ea558561a", + type = "tar.gz", + urls = ["https://static.crates.io/crates/perf-event-open-sys/1.0.1/download"], + strip_prefix = "perf-event-open-sys-1.0.1", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.perf-event-open-sys-1.0.1.bazel"), + ) + + maybe( + http_archive, + name = "vendor__petgraph-0.6.5", + sha256 = "b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db", + type = "tar.gz", + urls = ["https://static.crates.io/crates/petgraph/0.6.5/download"], + strip_prefix = "petgraph-0.6.5", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.petgraph-0.6.5.bazel"), + ) + + maybe( + http_archive, + name = "vendor__pin-project-lite-0.2.15", + sha256 = "915a1e146535de9163f3987b8944ed8cf49a18bb0056bcebcdcece385cece4ff", + type = "tar.gz", + urls = ["https://static.crates.io/crates/pin-project-lite/0.2.15/download"], + strip_prefix = "pin-project-lite-0.2.15", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.pin-project-lite-0.2.15.bazel"), + ) + + maybe( + http_archive, + name = "vendor__powerfmt-0.2.0", + sha256 = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391", + type = "tar.gz", + urls = ["https://static.crates.io/crates/powerfmt/0.2.0/download"], + strip_prefix = "powerfmt-0.2.0", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.powerfmt-0.2.0.bazel"), + ) + + maybe( + http_archive, + name = "vendor__ppv-lite86-0.2.20", + sha256 = "77957b295656769bb8ad2b6a6b09d897d94f05c41b069aede1fcdaa675eaea04", + type = "tar.gz", + urls = ["https://static.crates.io/crates/ppv-lite86/0.2.20/download"], + strip_prefix = "ppv-lite86-0.2.20", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.ppv-lite86-0.2.20.bazel"), + ) + + maybe( + http_archive, + name = "vendor__proc-macro2-1.0.89", + sha256 = "f139b0662de085916d1fb67d2b4169d1addddda1919e696f3252b740b629986e", + type = "tar.gz", + urls = ["https://static.crates.io/crates/proc-macro2/1.0.89/download"], + strip_prefix = "proc-macro2-1.0.89", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.proc-macro2-1.0.89.bazel"), + ) + + maybe( + http_archive, + name = "vendor__proc-macro2-diagnostics-0.10.1", + sha256 = "af066a9c399a26e020ada66a034357a868728e72cd426f3adcd35f80d88d88c8", + type = "tar.gz", + urls = ["https://static.crates.io/crates/proc-macro2-diagnostics/0.10.1/download"], + strip_prefix = "proc-macro2-diagnostics-0.10.1", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.proc-macro2-diagnostics-0.10.1.bazel"), + ) + + maybe( + http_archive, + name = "vendor__quote-1.0.37", + sha256 = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af", + type = "tar.gz", + urls = ["https://static.crates.io/crates/quote/1.0.37/download"], + strip_prefix = "quote-1.0.37", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.quote-1.0.37.bazel"), + ) + + maybe( + http_archive, + name = "vendor__ra-ap-rustc_abi-0.63.0", + sha256 = "b011c39d409940a890414e3a7b239762ac16d88029ad71b050a8374831b93790", + type = "tar.gz", + urls = ["https://static.crates.io/crates/ra-ap-rustc_abi/0.63.0/download"], + strip_prefix = "ra-ap-rustc_abi-0.63.0", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.ra-ap-rustc_abi-0.63.0.bazel"), + ) + + maybe( + http_archive, + name = "vendor__ra-ap-rustc_index-0.63.0", + sha256 = "9027acdee649b0b27eb10b7db5be833efee3362d394935c5eed8f0745a9d43ce", + type = "tar.gz", + urls = ["https://static.crates.io/crates/ra-ap-rustc_index/0.63.0/download"], + strip_prefix = "ra-ap-rustc_index-0.63.0", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.ra-ap-rustc_index-0.63.0.bazel"), + ) + + maybe( + http_archive, + name = "vendor__ra-ap-rustc_index_macros-0.63.0", + sha256 = "540b86dc0384141ac8e825fc2874cd44bffd4277d99d8ec63ee416f1a98d5997", + type = "tar.gz", + urls = ["https://static.crates.io/crates/ra-ap-rustc_index_macros/0.63.0/download"], + strip_prefix = "ra-ap-rustc_index_macros-0.63.0", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.ra-ap-rustc_index_macros-0.63.0.bazel"), + ) + + maybe( + http_archive, + name = "vendor__ra-ap-rustc_lexer-0.63.0", + sha256 = "3bdf98bb457b47b9ae4aeebf867d0ca440c86925e0b6381658c4a02589748c9d", + type = "tar.gz", + urls = ["https://static.crates.io/crates/ra-ap-rustc_lexer/0.63.0/download"], + strip_prefix = "ra-ap-rustc_lexer-0.63.0", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.ra-ap-rustc_lexer-0.63.0.bazel"), + ) + + maybe( + http_archive, + name = "vendor__ra-ap-rustc_parse_format-0.63.0", + sha256 = "e8fe3556ab6311bb775220563a300e2bf62ec56404521fe0c511a583937683d5", + type = "tar.gz", + urls = ["https://static.crates.io/crates/ra-ap-rustc_parse_format/0.63.0/download"], + strip_prefix = "ra-ap-rustc_parse_format-0.63.0", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.ra-ap-rustc_parse_format-0.63.0.bazel"), + ) + + maybe( + http_archive, + name = "vendor__ra-ap-rustc_pattern_analysis-0.63.0", + sha256 = "1709080fdeb5db630e1c2644026c2962aaa32416cd92f0190c04b0c21e114b91", + type = "tar.gz", + urls = ["https://static.crates.io/crates/ra-ap-rustc_pattern_analysis/0.63.0/download"], + strip_prefix = "ra-ap-rustc_pattern_analysis-0.63.0", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.ra-ap-rustc_pattern_analysis-0.63.0.bazel"), + ) + + maybe( + http_archive, + name = "vendor__ra_ap_base_db-0.0.232", + sha256 = "3bcb25fbab872d3f85798739db011212a98444e55163d71edb1dfdb509e616b3", + type = "tar.gz", + urls = ["https://static.crates.io/crates/ra_ap_base_db/0.0.232/download"], + strip_prefix = "ra_ap_base_db-0.0.232", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.ra_ap_base_db-0.0.232.bazel"), + ) + + maybe( + http_archive, + name = "vendor__ra_ap_cfg-0.0.232", + sha256 = "fbec14556d01bf34fb795d70941f929ed4c024dee11be9c99c712ea92225a20b", + type = "tar.gz", + urls = ["https://static.crates.io/crates/ra_ap_cfg/0.0.232/download"], + strip_prefix = "ra_ap_cfg-0.0.232", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.ra_ap_cfg-0.0.232.bazel"), + ) + + maybe( + http_archive, + name = "vendor__ra_ap_hir-0.0.232", + sha256 = "c7c38520eb4770af561c34b908431f4e548c3282093cf3daf3c6e566d99a2937", + type = "tar.gz", + urls = ["https://static.crates.io/crates/ra_ap_hir/0.0.232/download"], + strip_prefix = "ra_ap_hir-0.0.232", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.ra_ap_hir-0.0.232.bazel"), + ) + + maybe( + http_archive, + name = "vendor__ra_ap_hir_def-0.0.232", + sha256 = "f00b546cacca816b94a12d51df076d50965d6bae411fd68f9024420bfa026e7b", + type = "tar.gz", + urls = ["https://static.crates.io/crates/ra_ap_hir_def/0.0.232/download"], + strip_prefix = "ra_ap_hir_def-0.0.232", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.ra_ap_hir_def-0.0.232.bazel"), + ) + + maybe( + http_archive, + name = "vendor__ra_ap_hir_expand-0.0.232", + sha256 = "b6c9675e1331dadf43cbc807ae39d2c289b8ba2af33a8e197c0927d926a6610d", + type = "tar.gz", + urls = ["https://static.crates.io/crates/ra_ap_hir_expand/0.0.232/download"], + strip_prefix = "ra_ap_hir_expand-0.0.232", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.ra_ap_hir_expand-0.0.232.bazel"), + ) + + maybe( + http_archive, + name = "vendor__ra_ap_hir_ty-0.0.232", + sha256 = "e308aa1b956137c82547a8b46eb60c6ee295628322e00aa5266a1ea5ea8e522e", + type = "tar.gz", + urls = ["https://static.crates.io/crates/ra_ap_hir_ty/0.0.232/download"], + strip_prefix = "ra_ap_hir_ty-0.0.232", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.ra_ap_hir_ty-0.0.232.bazel"), + ) + + maybe( + http_archive, + name = "vendor__ra_ap_ide_db-0.0.232", + sha256 = "95ea9c17702025001c1672ab23bf9be3cf40785376c0f368a10fe812db1327eb", + type = "tar.gz", + urls = ["https://static.crates.io/crates/ra_ap_ide_db/0.0.232/download"], + strip_prefix = "ra_ap_ide_db-0.0.232", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.ra_ap_ide_db-0.0.232.bazel"), + ) + + maybe( + http_archive, + name = "vendor__ra_ap_intern-0.0.232", + sha256 = "78e0928f2c403ebea95f97a38a720900216ea896212347e893a37ae7c1419030", + type = "tar.gz", + urls = ["https://static.crates.io/crates/ra_ap_intern/0.0.232/download"], + strip_prefix = "ra_ap_intern-0.0.232", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.ra_ap_intern-0.0.232.bazel"), + ) + + maybe( + http_archive, + name = "vendor__ra_ap_limit-0.0.232", + sha256 = "60972e02e4dfe05b2755e09a6b11b27db8a47cea01cd2697e77a34c4cf60b31c", + type = "tar.gz", + urls = ["https://static.crates.io/crates/ra_ap_limit/0.0.232/download"], + strip_prefix = "ra_ap_limit-0.0.232", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.ra_ap_limit-0.0.232.bazel"), + ) + + maybe( + http_archive, + name = "vendor__ra_ap_load-cargo-0.0.232", + sha256 = "82e6f24b61f1ef1f3a756493d1fb7e711b69b2e4d5f4746fcb959313dfd41471", + type = "tar.gz", + urls = ["https://static.crates.io/crates/ra_ap_load-cargo/0.0.232/download"], + strip_prefix = "ra_ap_load-cargo-0.0.232", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.ra_ap_load-cargo-0.0.232.bazel"), + ) + + maybe( + http_archive, + name = "vendor__ra_ap_mbe-0.0.232", + sha256 = "714a0997373ff65e7748e7768186598c6831e95f71639f66c3f79ef591c9d496", + type = "tar.gz", + urls = ["https://static.crates.io/crates/ra_ap_mbe/0.0.232/download"], + strip_prefix = "ra_ap_mbe-0.0.232", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.ra_ap_mbe-0.0.232.bazel"), + ) + + maybe( + http_archive, + name = "vendor__ra_ap_parser-0.0.232", + sha256 = "8da0314db93eabbd2b92e13907690782688cfc8aaaf42b8e6726e7f5b338c2e3", + type = "tar.gz", + urls = ["https://static.crates.io/crates/ra_ap_parser/0.0.232/download"], + strip_prefix = "ra_ap_parser-0.0.232", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.ra_ap_parser-0.0.232.bazel"), + ) + + maybe( + http_archive, + name = "vendor__ra_ap_paths-0.0.232", + sha256 = "2cc084003225204a9e5e50957a565f1cc23ebef18cd779f31563a8d2180f8940", + type = "tar.gz", + urls = ["https://static.crates.io/crates/ra_ap_paths/0.0.232/download"], + strip_prefix = "ra_ap_paths-0.0.232", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.ra_ap_paths-0.0.232.bazel"), + ) + + maybe( + http_archive, + name = "vendor__ra_ap_proc_macro_api-0.0.232", + sha256 = "809670622e93f105abc60ea0cb371cfaff990beae7ce534b127fb39b423b4b92", + type = "tar.gz", + urls = ["https://static.crates.io/crates/ra_ap_proc_macro_api/0.0.232/download"], + strip_prefix = "ra_ap_proc_macro_api-0.0.232", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.ra_ap_proc_macro_api-0.0.232.bazel"), + ) + + maybe( + http_archive, + name = "vendor__ra_ap_profile-0.0.232", + sha256 = "572193d698a8bc4245463688d10f20932ab04940d5b6c32be457bc45dc1e6ab0", + type = "tar.gz", + urls = ["https://static.crates.io/crates/ra_ap_profile/0.0.232/download"], + strip_prefix = "ra_ap_profile-0.0.232", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.ra_ap_profile-0.0.232.bazel"), + ) + + maybe( + http_archive, + name = "vendor__ra_ap_project_model-0.0.232", + sha256 = "db83d1844c74b22c110c4b8e8f2519be2b1723964008527281a11c3398749756", + type = "tar.gz", + urls = ["https://static.crates.io/crates/ra_ap_project_model/0.0.232/download"], + strip_prefix = "ra_ap_project_model-0.0.232", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.ra_ap_project_model-0.0.232.bazel"), + ) + + maybe( + http_archive, + name = "vendor__ra_ap_salsa-0.0.232", + sha256 = "370b302873eeafd07ccc6a714fc9395cae11e385955ccb78081093ee3b86f94e", + type = "tar.gz", + urls = ["https://static.crates.io/crates/ra_ap_salsa/0.0.232/download"], + strip_prefix = "ra_ap_salsa-0.0.232", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.ra_ap_salsa-0.0.232.bazel"), + ) + + maybe( + http_archive, + name = "vendor__ra_ap_salsa-macros-0.0.232", + sha256 = "414ff383af5abdb731917ca46c1a0f6b291278430736fe1ff2430a8548206a62", + type = "tar.gz", + urls = ["https://static.crates.io/crates/ra_ap_salsa-macros/0.0.232/download"], + strip_prefix = "ra_ap_salsa-macros-0.0.232", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.ra_ap_salsa-macros-0.0.232.bazel"), + ) + + maybe( + http_archive, + name = "vendor__ra_ap_span-0.0.232", + sha256 = "e1b982f799c7a8051219902ff5c1974ee353ac6ca2aa5b17ab0e3db9b8d8a7bf", + type = "tar.gz", + urls = ["https://static.crates.io/crates/ra_ap_span/0.0.232/download"], + strip_prefix = "ra_ap_span-0.0.232", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.ra_ap_span-0.0.232.bazel"), + ) + + maybe( + http_archive, + name = "vendor__ra_ap_stdx-0.0.232", + sha256 = "bb63ff9d6b11b4553fc0835f16705975258905e3b1230fcf1ddbf24c46aff69d", + type = "tar.gz", + urls = ["https://static.crates.io/crates/ra_ap_stdx/0.0.232/download"], + strip_prefix = "ra_ap_stdx-0.0.232", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.ra_ap_stdx-0.0.232.bazel"), + ) + + maybe( + http_archive, + name = "vendor__ra_ap_syntax-0.0.232", + sha256 = "f1ac12decfd5cadd880177316fc16afc1f2c67f241f6290b51fd6f222e2bd4d5", + type = "tar.gz", + urls = ["https://static.crates.io/crates/ra_ap_syntax/0.0.232/download"], + strip_prefix = "ra_ap_syntax-0.0.232", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.ra_ap_syntax-0.0.232.bazel"), + ) + + maybe( + http_archive, + name = "vendor__ra_ap_syntax-bridge-0.0.232", + sha256 = "8d57ec874cf6d45d25ce5d63dbfdf60912d5a33138855c4ab7e4314cfd01f6fa", + type = "tar.gz", + urls = ["https://static.crates.io/crates/ra_ap_syntax-bridge/0.0.232/download"], + strip_prefix = "ra_ap_syntax-bridge-0.0.232", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.ra_ap_syntax-bridge-0.0.232.bazel"), + ) + + maybe( + http_archive, + name = "vendor__ra_ap_text_edit-0.0.232", + sha256 = "7cb72ee1901baec556f4f2ef77e287d749ac0e973f063990672d6207b076aeac", + type = "tar.gz", + urls = ["https://static.crates.io/crates/ra_ap_text_edit/0.0.232/download"], + strip_prefix = "ra_ap_text_edit-0.0.232", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.ra_ap_text_edit-0.0.232.bazel"), + ) + + maybe( + http_archive, + name = "vendor__ra_ap_toolchain-0.0.232", + sha256 = "897200f5ab09335a77e9c8344fd8d5fd67f312c402179a378613421b4dec8d8f", + type = "tar.gz", + urls = ["https://static.crates.io/crates/ra_ap_toolchain/0.0.232/download"], + strip_prefix = "ra_ap_toolchain-0.0.232", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.ra_ap_toolchain-0.0.232.bazel"), + ) + + maybe( + http_archive, + name = "vendor__ra_ap_tt-0.0.232", + sha256 = "a9730313c495e88a89ee33f6e34205a92652d9c9a5061ebaed59436058a33000", + type = "tar.gz", + urls = ["https://static.crates.io/crates/ra_ap_tt/0.0.232/download"], + strip_prefix = "ra_ap_tt-0.0.232", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.ra_ap_tt-0.0.232.bazel"), + ) + + maybe( + http_archive, + name = "vendor__ra_ap_vfs-0.0.232", + sha256 = "d833eaa5422de9bb51ab1841fe505ed00fb51e64cce397e21de6c324bbcbffa0", + type = "tar.gz", + urls = ["https://static.crates.io/crates/ra_ap_vfs/0.0.232/download"], + strip_prefix = "ra_ap_vfs-0.0.232", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.ra_ap_vfs-0.0.232.bazel"), + ) + + maybe( + http_archive, + name = "vendor__ra_ap_vfs-notify-0.0.232", + sha256 = "388ea8af458d6f06ed6b67c8e3dcf634a798cb3f4e62df51bd6be00c2b219bca", + type = "tar.gz", + urls = ["https://static.crates.io/crates/ra_ap_vfs-notify/0.0.232/download"], + strip_prefix = "ra_ap_vfs-notify-0.0.232", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.ra_ap_vfs-notify-0.0.232.bazel"), + ) + + maybe( + http_archive, + name = "vendor__rand-0.8.5", + sha256 = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404", + type = "tar.gz", + urls = ["https://static.crates.io/crates/rand/0.8.5/download"], + strip_prefix = "rand-0.8.5", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.rand-0.8.5.bazel"), + ) + + maybe( + http_archive, + name = "vendor__rand_chacha-0.3.1", + sha256 = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88", + type = "tar.gz", + urls = ["https://static.crates.io/crates/rand_chacha/0.3.1/download"], + strip_prefix = "rand_chacha-0.3.1", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.rand_chacha-0.3.1.bazel"), + ) + + maybe( + http_archive, + name = "vendor__rand_core-0.6.4", + sha256 = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c", + type = "tar.gz", + urls = ["https://static.crates.io/crates/rand_core/0.6.4/download"], + strip_prefix = "rand_core-0.6.4", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.rand_core-0.6.4.bazel"), + ) + + maybe( + http_archive, + name = "vendor__rayon-1.10.0", + sha256 = "b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa", + type = "tar.gz", + urls = ["https://static.crates.io/crates/rayon/1.10.0/download"], + strip_prefix = "rayon-1.10.0", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.rayon-1.10.0.bazel"), + ) + + maybe( + http_archive, + name = "vendor__rayon-core-1.12.1", + sha256 = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2", + type = "tar.gz", + urls = ["https://static.crates.io/crates/rayon-core/1.12.1/download"], + strip_prefix = "rayon-core-1.12.1", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.rayon-core-1.12.1.bazel"), + ) + + maybe( + http_archive, + name = "vendor__redox_syscall-0.5.7", + sha256 = "9b6dfecf2c74bce2466cabf93f6664d6998a69eb21e39f4207930065b27b771f", + type = "tar.gz", + urls = ["https://static.crates.io/crates/redox_syscall/0.5.7/download"], + strip_prefix = "redox_syscall-0.5.7", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.redox_syscall-0.5.7.bazel"), + ) + + maybe( + http_archive, + name = "vendor__regex-1.11.1", + sha256 = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191", + type = "tar.gz", + urls = ["https://static.crates.io/crates/regex/1.11.1/download"], + strip_prefix = "regex-1.11.1", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.regex-1.11.1.bazel"), + ) + + maybe( + http_archive, + name = "vendor__regex-automata-0.1.10", + sha256 = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132", + type = "tar.gz", + urls = ["https://static.crates.io/crates/regex-automata/0.1.10/download"], + strip_prefix = "regex-automata-0.1.10", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.regex-automata-0.1.10.bazel"), + ) + + maybe( + http_archive, + name = "vendor__regex-automata-0.4.8", + sha256 = "368758f23274712b504848e9d5a6f010445cc8b87a7cdb4d7cbee666c1288da3", + type = "tar.gz", + urls = ["https://static.crates.io/crates/regex-automata/0.4.8/download"], + strip_prefix = "regex-automata-0.4.8", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.regex-automata-0.4.8.bazel"), + ) + + maybe( + http_archive, + name = "vendor__regex-syntax-0.6.29", + sha256 = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1", + type = "tar.gz", + urls = ["https://static.crates.io/crates/regex-syntax/0.6.29/download"], + strip_prefix = "regex-syntax-0.6.29", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.regex-syntax-0.6.29.bazel"), + ) + + maybe( + http_archive, + name = "vendor__regex-syntax-0.8.5", + sha256 = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c", + type = "tar.gz", + urls = ["https://static.crates.io/crates/regex-syntax/0.8.5/download"], + strip_prefix = "regex-syntax-0.8.5", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.regex-syntax-0.8.5.bazel"), + ) + + maybe( + http_archive, + name = "vendor__rowan-0.15.15", + sha256 = "32a58fa8a7ccff2aec4f39cc45bf5f985cec7125ab271cf681c279fd00192b49", + type = "tar.gz", + urls = ["https://static.crates.io/crates/rowan/0.15.15/download"], + strip_prefix = "rowan-0.15.15", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.rowan-0.15.15.bazel"), + ) + + maybe( + http_archive, + name = "vendor__rustc-hash-1.1.0", + sha256 = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2", + type = "tar.gz", + urls = ["https://static.crates.io/crates/rustc-hash/1.1.0/download"], + strip_prefix = "rustc-hash-1.1.0", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.rustc-hash-1.1.0.bazel"), + ) + + maybe( + new_git_repository, + name = "vendor__rustc_apfloat-0.2.1-llvm-462a31f5a5ab", + commit = "096d585100636bc2e9f09d7eefec38c5b334d47b", + init_submodules = True, + remote = "https://github.com/redsun82/rustc_apfloat.git", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.rustc_apfloat-0.2.1+llvm-462a31f5a5ab.bazel"), + ) + + maybe( + http_archive, + name = "vendor__ryu-1.0.18", + sha256 = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f", + type = "tar.gz", + urls = ["https://static.crates.io/crates/ryu/1.0.18/download"], + strip_prefix = "ryu-1.0.18", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.ryu-1.0.18.bazel"), + ) + + maybe( + http_archive, + name = "vendor__same-file-1.0.6", + sha256 = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502", + type = "tar.gz", + urls = ["https://static.crates.io/crates/same-file/1.0.6/download"], + strip_prefix = "same-file-1.0.6", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.same-file-1.0.6.bazel"), + ) + + maybe( + http_archive, + name = "vendor__scoped-tls-1.0.1", + sha256 = "e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294", + type = "tar.gz", + urls = ["https://static.crates.io/crates/scoped-tls/1.0.1/download"], + strip_prefix = "scoped-tls-1.0.1", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.scoped-tls-1.0.1.bazel"), + ) + + maybe( + http_archive, + name = "vendor__scopeguard-1.2.0", + sha256 = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49", + type = "tar.gz", + urls = ["https://static.crates.io/crates/scopeguard/1.2.0/download"], + strip_prefix = "scopeguard-1.2.0", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.scopeguard-1.2.0.bazel"), + ) + + maybe( + http_archive, + name = "vendor__semver-1.0.23", + sha256 = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b", + type = "tar.gz", + urls = ["https://static.crates.io/crates/semver/1.0.23/download"], + strip_prefix = "semver-1.0.23", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.semver-1.0.23.bazel"), + ) + + maybe( + http_archive, + name = "vendor__serde-1.0.214", + sha256 = "f55c3193aca71c12ad7890f1785d2b73e1b9f63a0bbc353c08ef26fe03fc56b5", + type = "tar.gz", + urls = ["https://static.crates.io/crates/serde/1.0.214/download"], + strip_prefix = "serde-1.0.214", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.serde-1.0.214.bazel"), + ) + + maybe( + http_archive, + name = "vendor__serde_derive-1.0.214", + sha256 = "de523f781f095e28fa605cdce0f8307e451cc0fd14e2eb4cd2e98a355b147766", + type = "tar.gz", + urls = ["https://static.crates.io/crates/serde_derive/1.0.214/download"], + strip_prefix = "serde_derive-1.0.214", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.serde_derive-1.0.214.bazel"), + ) + + maybe( + http_archive, + name = "vendor__serde_json-1.0.132", + sha256 = "d726bfaff4b320266d395898905d0eba0345aae23b54aee3a737e260fd46db03", + type = "tar.gz", + urls = ["https://static.crates.io/crates/serde_json/1.0.132/download"], + strip_prefix = "serde_json-1.0.132", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.serde_json-1.0.132.bazel"), + ) + + maybe( + http_archive, + name = "vendor__serde_with-3.11.0", + sha256 = "8e28bdad6db2b8340e449f7108f020b3b092e8583a9e3fb82713e1d4e71fe817", + type = "tar.gz", + urls = ["https://static.crates.io/crates/serde_with/3.11.0/download"], + strip_prefix = "serde_with-3.11.0", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.serde_with-3.11.0.bazel"), + ) + + maybe( + http_archive, + name = "vendor__serde_with_macros-3.11.0", + sha256 = "9d846214a9854ef724f3da161b426242d8de7c1fc7de2f89bb1efcb154dca79d", + type = "tar.gz", + urls = ["https://static.crates.io/crates/serde_with_macros/3.11.0/download"], + strip_prefix = "serde_with_macros-3.11.0", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.serde_with_macros-3.11.0.bazel"), + ) + + maybe( + http_archive, + name = "vendor__serde_yaml-0.9.34-deprecated", + sha256 = "6a8b1a1a2ebf674015cc02edccce75287f1a0130d394307b36743c2f5d504b47", + type = "tar.gz", + urls = ["https://static.crates.io/crates/serde_yaml/0.9.34+deprecated/download"], + strip_prefix = "serde_yaml-0.9.34+deprecated", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.serde_yaml-0.9.34+deprecated.bazel"), + ) + + maybe( + http_archive, + name = "vendor__sharded-slab-0.1.7", + sha256 = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6", + type = "tar.gz", + urls = ["https://static.crates.io/crates/sharded-slab/0.1.7/download"], + strip_prefix = "sharded-slab-0.1.7", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.sharded-slab-0.1.7.bazel"), + ) + + maybe( + http_archive, + name = "vendor__shlex-1.3.0", + sha256 = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64", + type = "tar.gz", + urls = ["https://static.crates.io/crates/shlex/1.3.0/download"], + strip_prefix = "shlex-1.3.0", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.shlex-1.3.0.bazel"), + ) + + maybe( + http_archive, + name = "vendor__smallvec-1.13.2", + sha256 = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67", + type = "tar.gz", + urls = ["https://static.crates.io/crates/smallvec/1.13.2/download"], + strip_prefix = "smallvec-1.13.2", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.smallvec-1.13.2.bazel"), + ) + + maybe( + http_archive, + name = "vendor__smol_str-0.2.2", + sha256 = "dd538fb6910ac1099850255cf94a94df6551fbdd602454387d0adb2d1ca6dead", + type = "tar.gz", + urls = ["https://static.crates.io/crates/smol_str/0.2.2/download"], + strip_prefix = "smol_str-0.2.2", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.smol_str-0.2.2.bazel"), + ) + + maybe( + http_archive, + name = "vendor__sptr-0.3.2", + sha256 = "3b9b39299b249ad65f3b7e96443bad61c02ca5cd3589f46cb6d610a0fd6c0d6a", + type = "tar.gz", + urls = ["https://static.crates.io/crates/sptr/0.3.2/download"], + strip_prefix = "sptr-0.3.2", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.sptr-0.3.2.bazel"), + ) + + maybe( + http_archive, + name = "vendor__stable_deref_trait-1.2.0", + sha256 = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3", + type = "tar.gz", + urls = ["https://static.crates.io/crates/stable_deref_trait/1.2.0/download"], + strip_prefix = "stable_deref_trait-1.2.0", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.stable_deref_trait-1.2.0.bazel"), + ) + + maybe( + http_archive, + name = "vendor__stderrlog-0.6.0", + sha256 = "61c910772f992ab17d32d6760e167d2353f4130ed50e796752689556af07dc6b", + type = "tar.gz", + urls = ["https://static.crates.io/crates/stderrlog/0.6.0/download"], + strip_prefix = "stderrlog-0.6.0", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.stderrlog-0.6.0.bazel"), + ) + + maybe( + http_archive, + name = "vendor__streaming-iterator-0.1.9", + sha256 = "2b2231b7c3057d5e4ad0156fb3dc807d900806020c5ffa3ee6ff2c8c76fb8520", + type = "tar.gz", + urls = ["https://static.crates.io/crates/streaming-iterator/0.1.9/download"], + strip_prefix = "streaming-iterator-0.1.9", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.streaming-iterator-0.1.9.bazel"), + ) + + maybe( + http_archive, + name = "vendor__strsim-0.11.1", + sha256 = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f", + type = "tar.gz", + urls = ["https://static.crates.io/crates/strsim/0.11.1/download"], + strip_prefix = "strsim-0.11.1", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.strsim-0.11.1.bazel"), + ) + + maybe( + http_archive, + name = "vendor__syn-2.0.87", + sha256 = "25aa4ce346d03a6dcd68dd8b4010bcb74e54e62c90c573f394c46eae99aba32d", + type = "tar.gz", + urls = ["https://static.crates.io/crates/syn/2.0.87/download"], + strip_prefix = "syn-2.0.87", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.syn-2.0.87.bazel"), + ) + + maybe( + http_archive, + name = "vendor__synstructure-0.13.1", + sha256 = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971", + type = "tar.gz", + urls = ["https://static.crates.io/crates/synstructure/0.13.1/download"], + strip_prefix = "synstructure-0.13.1", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.synstructure-0.13.1.bazel"), + ) + + maybe( + http_archive, + name = "vendor__termcolor-1.1.3", + sha256 = "bab24d30b911b2376f3a13cc2cd443142f0c81dda04c118693e35b3835757755", + type = "tar.gz", + urls = ["https://static.crates.io/crates/termcolor/1.1.3/download"], + strip_prefix = "termcolor-1.1.3", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.termcolor-1.1.3.bazel"), + ) + + maybe( + http_archive, + name = "vendor__text-size-1.1.1", + sha256 = "f18aa187839b2bdb1ad2fa35ead8c4c2976b64e4363c386d45ac0f7ee85c9233", + type = "tar.gz", + urls = ["https://static.crates.io/crates/text-size/1.1.1/download"], + strip_prefix = "text-size-1.1.1", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.text-size-1.1.1.bazel"), + ) + + maybe( + http_archive, + name = "vendor__thiserror-1.0.69", + sha256 = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52", + type = "tar.gz", + urls = ["https://static.crates.io/crates/thiserror/1.0.69/download"], + strip_prefix = "thiserror-1.0.69", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.thiserror-1.0.69.bazel"), + ) + + maybe( + http_archive, + name = "vendor__thiserror-impl-1.0.69", + sha256 = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1", + type = "tar.gz", + urls = ["https://static.crates.io/crates/thiserror-impl/1.0.69/download"], + strip_prefix = "thiserror-impl-1.0.69", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.thiserror-impl-1.0.69.bazel"), + ) + + maybe( + http_archive, + name = "vendor__thread_local-1.1.8", + sha256 = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c", + type = "tar.gz", + urls = ["https://static.crates.io/crates/thread_local/1.1.8/download"], + strip_prefix = "thread_local-1.1.8", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.thread_local-1.1.8.bazel"), + ) + + maybe( + http_archive, + name = "vendor__time-0.3.36", + sha256 = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885", + type = "tar.gz", + urls = ["https://static.crates.io/crates/time/0.3.36/download"], + strip_prefix = "time-0.3.36", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.time-0.3.36.bazel"), + ) + + maybe( + http_archive, + name = "vendor__time-core-0.1.2", + sha256 = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3", + type = "tar.gz", + urls = ["https://static.crates.io/crates/time-core/0.1.2/download"], + strip_prefix = "time-core-0.1.2", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.time-core-0.1.2.bazel"), + ) + + maybe( + http_archive, + name = "vendor__time-macros-0.2.18", + sha256 = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf", + type = "tar.gz", + urls = ["https://static.crates.io/crates/time-macros/0.2.18/download"], + strip_prefix = "time-macros-0.2.18", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.time-macros-0.2.18.bazel"), + ) + + maybe( + http_archive, + name = "vendor__tracing-0.1.40", + sha256 = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef", + type = "tar.gz", + urls = ["https://static.crates.io/crates/tracing/0.1.40/download"], + strip_prefix = "tracing-0.1.40", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.tracing-0.1.40.bazel"), + ) + + maybe( + http_archive, + name = "vendor__tracing-attributes-0.1.27", + sha256 = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7", + type = "tar.gz", + urls = ["https://static.crates.io/crates/tracing-attributes/0.1.27/download"], + strip_prefix = "tracing-attributes-0.1.27", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.tracing-attributes-0.1.27.bazel"), + ) + + maybe( + http_archive, + name = "vendor__tracing-core-0.1.32", + sha256 = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54", + type = "tar.gz", + urls = ["https://static.crates.io/crates/tracing-core/0.1.32/download"], + strip_prefix = "tracing-core-0.1.32", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.tracing-core-0.1.32.bazel"), + ) + + maybe( + http_archive, + name = "vendor__tracing-log-0.2.0", + sha256 = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3", + type = "tar.gz", + urls = ["https://static.crates.io/crates/tracing-log/0.2.0/download"], + strip_prefix = "tracing-log-0.2.0", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.tracing-log-0.2.0.bazel"), + ) + + maybe( + http_archive, + name = "vendor__tracing-subscriber-0.3.18", + sha256 = "ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b", + type = "tar.gz", + urls = ["https://static.crates.io/crates/tracing-subscriber/0.3.18/download"], + strip_prefix = "tracing-subscriber-0.3.18", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.tracing-subscriber-0.3.18.bazel"), + ) + + maybe( + http_archive, + name = "vendor__tree-sitter-0.24.4", + sha256 = "b67baf55e7e1b6806063b1e51041069c90afff16afcbbccd278d899f9d84bca4", + type = "tar.gz", + urls = ["https://static.crates.io/crates/tree-sitter/0.24.4/download"], + strip_prefix = "tree-sitter-0.24.4", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.tree-sitter-0.24.4.bazel"), + ) + + maybe( + http_archive, + name = "vendor__tree-sitter-embedded-template-0.23.2", + sha256 = "790063ef14e5b67556abc0b3be0ed863fb41d65ee791cf8c0b20eb42a1fa46af", + type = "tar.gz", + urls = ["https://static.crates.io/crates/tree-sitter-embedded-template/0.23.2/download"], + strip_prefix = "tree-sitter-embedded-template-0.23.2", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.tree-sitter-embedded-template-0.23.2.bazel"), + ) + + maybe( + http_archive, + name = "vendor__tree-sitter-json-0.24.8", + sha256 = "4d727acca406c0020cffc6cf35516764f36c8e3dc4408e5ebe2cb35a947ec471", + type = "tar.gz", + urls = ["https://static.crates.io/crates/tree-sitter-json/0.24.8/download"], + strip_prefix = "tree-sitter-json-0.24.8", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.tree-sitter-json-0.24.8.bazel"), + ) + + maybe( + http_archive, + name = "vendor__tree-sitter-language-0.1.2", + sha256 = "e8ddffe35a0e5eeeadf13ff7350af564c6e73993a24db62caee1822b185c2600", + type = "tar.gz", + urls = ["https://static.crates.io/crates/tree-sitter-language/0.1.2/download"], + strip_prefix = "tree-sitter-language-0.1.2", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.tree-sitter-language-0.1.2.bazel"), + ) + + maybe( + http_archive, + name = "vendor__tree-sitter-ql-0.23.1", + sha256 = "80b7bcaf39acefbb199417a6ec2fd0c038083ba115da3e4f4426c820dc76d386", + type = "tar.gz", + urls = ["https://static.crates.io/crates/tree-sitter-ql/0.23.1/download"], + strip_prefix = "tree-sitter-ql-0.23.1", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.tree-sitter-ql-0.23.1.bazel"), + ) + + maybe( + http_archive, + name = "vendor__tree-sitter-ruby-0.23.1", + sha256 = "be0484ea4ef6bb9c575b4fdabde7e31340a8d2dbc7d52b321ac83da703249f95", + type = "tar.gz", + urls = ["https://static.crates.io/crates/tree-sitter-ruby/0.23.1/download"], + strip_prefix = "tree-sitter-ruby-0.23.1", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.tree-sitter-ruby-0.23.1.bazel"), + ) + + maybe( + http_archive, + name = "vendor__triomphe-0.1.14", + sha256 = "ef8f7726da4807b58ea5c96fdc122f80702030edc33b35aff9190a51148ccc85", + type = "tar.gz", + urls = ["https://static.crates.io/crates/triomphe/0.1.14/download"], + strip_prefix = "triomphe-0.1.14", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.triomphe-0.1.14.bazel"), + ) + + maybe( + http_archive, + name = "vendor__typed-arena-2.0.2", + sha256 = "6af6ae20167a9ece4bcb41af5b80f8a1f1df981f6391189ce00fd257af04126a", + type = "tar.gz", + urls = ["https://static.crates.io/crates/typed-arena/2.0.2/download"], + strip_prefix = "typed-arena-2.0.2", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.typed-arena-2.0.2.bazel"), + ) + + maybe( + http_archive, + name = "vendor__uncased-0.9.10", + sha256 = "e1b88fcfe09e89d3866a5c11019378088af2d24c3fbd4f0543f96b479ec90697", + type = "tar.gz", + urls = ["https://static.crates.io/crates/uncased/0.9.10/download"], + strip_prefix = "uncased-0.9.10", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.uncased-0.9.10.bazel"), + ) + + maybe( + http_archive, + name = "vendor__ungrammar-1.16.1", + sha256 = "a3e5df347f0bf3ec1d670aad6ca5c6a1859cd9ea61d2113125794654ccced68f", + type = "tar.gz", + urls = ["https://static.crates.io/crates/ungrammar/1.16.1/download"], + strip_prefix = "ungrammar-1.16.1", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.ungrammar-1.16.1.bazel"), + ) + + maybe( + http_archive, + name = "vendor__unicode-ident-1.0.13", + sha256 = "e91b56cd4cadaeb79bbf1a5645f6b4f8dc5bde8834ad5894a8db35fda9efa1fe", + type = "tar.gz", + urls = ["https://static.crates.io/crates/unicode-ident/1.0.13/download"], + strip_prefix = "unicode-ident-1.0.13", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.unicode-ident-1.0.13.bazel"), + ) + + maybe( + http_archive, + name = "vendor__unicode-properties-0.1.3", + sha256 = "e70f2a8b45122e719eb623c01822704c4e0907e7e426a05927e1a1cfff5b75d0", + type = "tar.gz", + urls = ["https://static.crates.io/crates/unicode-properties/0.1.3/download"], + strip_prefix = "unicode-properties-0.1.3", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.unicode-properties-0.1.3.bazel"), + ) + + maybe( + http_archive, + name = "vendor__unicode-xid-0.2.6", + sha256 = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853", + type = "tar.gz", + urls = ["https://static.crates.io/crates/unicode-xid/0.2.6/download"], + strip_prefix = "unicode-xid-0.2.6", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.unicode-xid-0.2.6.bazel"), + ) + + maybe( + http_archive, + name = "vendor__unsafe-libyaml-0.2.11", + sha256 = "673aac59facbab8a9007c7f6108d11f63b603f7cabff99fabf650fea5c32b861", + type = "tar.gz", + urls = ["https://static.crates.io/crates/unsafe-libyaml/0.2.11/download"], + strip_prefix = "unsafe-libyaml-0.2.11", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.unsafe-libyaml-0.2.11.bazel"), + ) + + maybe( + http_archive, + name = "vendor__utf8parse-0.2.2", + sha256 = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821", + type = "tar.gz", + urls = ["https://static.crates.io/crates/utf8parse/0.2.2/download"], + strip_prefix = "utf8parse-0.2.2", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.utf8parse-0.2.2.bazel"), + ) + + maybe( + http_archive, + name = "vendor__valuable-0.1.0", + sha256 = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d", + type = "tar.gz", + urls = ["https://static.crates.io/crates/valuable/0.1.0/download"], + strip_prefix = "valuable-0.1.0", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.valuable-0.1.0.bazel"), + ) + + maybe( + http_archive, + name = "vendor__version_check-0.9.5", + sha256 = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a", + type = "tar.gz", + urls = ["https://static.crates.io/crates/version_check/0.9.5/download"], + strip_prefix = "version_check-0.9.5", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.version_check-0.9.5.bazel"), + ) + + maybe( + http_archive, + name = "vendor__walkdir-2.5.0", + sha256 = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b", + type = "tar.gz", + urls = ["https://static.crates.io/crates/walkdir/2.5.0/download"], + strip_prefix = "walkdir-2.5.0", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.walkdir-2.5.0.bazel"), + ) + + maybe( + http_archive, + name = "vendor__wasi-0.11.0-wasi-snapshot-preview1", + sha256 = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423", + type = "tar.gz", + urls = ["https://static.crates.io/crates/wasi/0.11.0+wasi-snapshot-preview1/download"], + strip_prefix = "wasi-0.11.0+wasi-snapshot-preview1", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.wasi-0.11.0+wasi-snapshot-preview1.bazel"), + ) + + maybe( + http_archive, + name = "vendor__wasm-bindgen-0.2.95", + sha256 = "128d1e363af62632b8eb57219c8fd7877144af57558fb2ef0368d0087bddeb2e", + type = "tar.gz", + urls = ["https://static.crates.io/crates/wasm-bindgen/0.2.95/download"], + strip_prefix = "wasm-bindgen-0.2.95", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.wasm-bindgen-0.2.95.bazel"), + ) + + maybe( + http_archive, + name = "vendor__wasm-bindgen-backend-0.2.95", + sha256 = "cb6dd4d3ca0ddffd1dd1c9c04f94b868c37ff5fac97c30b97cff2d74fce3a358", + type = "tar.gz", + urls = ["https://static.crates.io/crates/wasm-bindgen-backend/0.2.95/download"], + strip_prefix = "wasm-bindgen-backend-0.2.95", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.wasm-bindgen-backend-0.2.95.bazel"), + ) + + maybe( + http_archive, + name = "vendor__wasm-bindgen-macro-0.2.95", + sha256 = "e79384be7f8f5a9dd5d7167216f022090cf1f9ec128e6e6a482a2cb5c5422c56", + type = "tar.gz", + urls = ["https://static.crates.io/crates/wasm-bindgen-macro/0.2.95/download"], + strip_prefix = "wasm-bindgen-macro-0.2.95", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.wasm-bindgen-macro-0.2.95.bazel"), + ) + + maybe( + http_archive, + name = "vendor__wasm-bindgen-macro-support-0.2.95", + sha256 = "26c6ab57572f7a24a4985830b120de1594465e5d500f24afe89e16b4e833ef68", + type = "tar.gz", + urls = ["https://static.crates.io/crates/wasm-bindgen-macro-support/0.2.95/download"], + strip_prefix = "wasm-bindgen-macro-support-0.2.95", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.wasm-bindgen-macro-support-0.2.95.bazel"), + ) + + maybe( + http_archive, + name = "vendor__wasm-bindgen-shared-0.2.95", + sha256 = "65fc09f10666a9f147042251e0dda9c18f166ff7de300607007e96bdebc1068d", + type = "tar.gz", + urls = ["https://static.crates.io/crates/wasm-bindgen-shared/0.2.95/download"], + strip_prefix = "wasm-bindgen-shared-0.2.95", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.wasm-bindgen-shared-0.2.95.bazel"), + ) + + maybe( + http_archive, + name = "vendor__winapi-0.3.9", + sha256 = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419", + type = "tar.gz", + urls = ["https://static.crates.io/crates/winapi/0.3.9/download"], + strip_prefix = "winapi-0.3.9", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.winapi-0.3.9.bazel"), + ) + + maybe( + http_archive, + name = "vendor__winapi-i686-pc-windows-gnu-0.4.0", + sha256 = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6", + type = "tar.gz", + urls = ["https://static.crates.io/crates/winapi-i686-pc-windows-gnu/0.4.0/download"], + strip_prefix = "winapi-i686-pc-windows-gnu-0.4.0", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.winapi-i686-pc-windows-gnu-0.4.0.bazel"), + ) + + maybe( + http_archive, + name = "vendor__winapi-util-0.1.9", + sha256 = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb", + type = "tar.gz", + urls = ["https://static.crates.io/crates/winapi-util/0.1.9/download"], + strip_prefix = "winapi-util-0.1.9", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.winapi-util-0.1.9.bazel"), + ) + + maybe( + http_archive, + name = "vendor__winapi-x86_64-pc-windows-gnu-0.4.0", + sha256 = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f", + type = "tar.gz", + urls = ["https://static.crates.io/crates/winapi-x86_64-pc-windows-gnu/0.4.0/download"], + strip_prefix = "winapi-x86_64-pc-windows-gnu-0.4.0", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.winapi-x86_64-pc-windows-gnu-0.4.0.bazel"), + ) + + maybe( + http_archive, + name = "vendor__windows-core-0.52.0", + sha256 = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9", + type = "tar.gz", + urls = ["https://static.crates.io/crates/windows-core/0.52.0/download"], + strip_prefix = "windows-core-0.52.0", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.windows-core-0.52.0.bazel"), + ) + + maybe( + http_archive, + name = "vendor__windows-sys-0.48.0", + sha256 = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9", + type = "tar.gz", + urls = ["https://static.crates.io/crates/windows-sys/0.48.0/download"], + strip_prefix = "windows-sys-0.48.0", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.windows-sys-0.48.0.bazel"), + ) + + maybe( + http_archive, + name = "vendor__windows-sys-0.52.0", + sha256 = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d", + type = "tar.gz", + urls = ["https://static.crates.io/crates/windows-sys/0.52.0/download"], + strip_prefix = "windows-sys-0.52.0", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.windows-sys-0.52.0.bazel"), + ) + + maybe( + http_archive, + name = "vendor__windows-sys-0.59.0", + sha256 = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b", + type = "tar.gz", + urls = ["https://static.crates.io/crates/windows-sys/0.59.0/download"], + strip_prefix = "windows-sys-0.59.0", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.windows-sys-0.59.0.bazel"), + ) + + maybe( + http_archive, + name = "vendor__windows-targets-0.48.5", + sha256 = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c", + type = "tar.gz", + urls = ["https://static.crates.io/crates/windows-targets/0.48.5/download"], + strip_prefix = "windows-targets-0.48.5", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.windows-targets-0.48.5.bazel"), + ) + + maybe( + http_archive, + name = "vendor__windows-targets-0.52.6", + sha256 = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973", + type = "tar.gz", + urls = ["https://static.crates.io/crates/windows-targets/0.52.6/download"], + strip_prefix = "windows-targets-0.52.6", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.windows-targets-0.52.6.bazel"), + ) + + maybe( + http_archive, + name = "vendor__windows_aarch64_gnullvm-0.48.5", + sha256 = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8", + type = "tar.gz", + urls = ["https://static.crates.io/crates/windows_aarch64_gnullvm/0.48.5/download"], + strip_prefix = "windows_aarch64_gnullvm-0.48.5", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.windows_aarch64_gnullvm-0.48.5.bazel"), + ) + + maybe( + http_archive, + name = "vendor__windows_aarch64_gnullvm-0.52.6", + sha256 = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3", + type = "tar.gz", + urls = ["https://static.crates.io/crates/windows_aarch64_gnullvm/0.52.6/download"], + strip_prefix = "windows_aarch64_gnullvm-0.52.6", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.windows_aarch64_gnullvm-0.52.6.bazel"), + ) + + maybe( + http_archive, + name = "vendor__windows_aarch64_msvc-0.48.5", + sha256 = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc", + type = "tar.gz", + urls = ["https://static.crates.io/crates/windows_aarch64_msvc/0.48.5/download"], + strip_prefix = "windows_aarch64_msvc-0.48.5", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.windows_aarch64_msvc-0.48.5.bazel"), + ) + + maybe( + http_archive, + name = "vendor__windows_aarch64_msvc-0.52.6", + sha256 = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469", + type = "tar.gz", + urls = ["https://static.crates.io/crates/windows_aarch64_msvc/0.52.6/download"], + strip_prefix = "windows_aarch64_msvc-0.52.6", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.windows_aarch64_msvc-0.52.6.bazel"), + ) + + maybe( + http_archive, + name = "vendor__windows_i686_gnu-0.48.5", + sha256 = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e", + type = "tar.gz", + urls = ["https://static.crates.io/crates/windows_i686_gnu/0.48.5/download"], + strip_prefix = "windows_i686_gnu-0.48.5", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.windows_i686_gnu-0.48.5.bazel"), + ) + + maybe( + http_archive, + name = "vendor__windows_i686_gnu-0.52.6", + sha256 = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b", + type = "tar.gz", + urls = ["https://static.crates.io/crates/windows_i686_gnu/0.52.6/download"], + strip_prefix = "windows_i686_gnu-0.52.6", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.windows_i686_gnu-0.52.6.bazel"), + ) + + maybe( + http_archive, + name = "vendor__windows_i686_gnullvm-0.52.6", + sha256 = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66", + type = "tar.gz", + urls = ["https://static.crates.io/crates/windows_i686_gnullvm/0.52.6/download"], + strip_prefix = "windows_i686_gnullvm-0.52.6", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.windows_i686_gnullvm-0.52.6.bazel"), + ) + + maybe( + http_archive, + name = "vendor__windows_i686_msvc-0.48.5", + sha256 = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406", + type = "tar.gz", + urls = ["https://static.crates.io/crates/windows_i686_msvc/0.48.5/download"], + strip_prefix = "windows_i686_msvc-0.48.5", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.windows_i686_msvc-0.48.5.bazel"), + ) + + maybe( + http_archive, + name = "vendor__windows_i686_msvc-0.52.6", + sha256 = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66", + type = "tar.gz", + urls = ["https://static.crates.io/crates/windows_i686_msvc/0.52.6/download"], + strip_prefix = "windows_i686_msvc-0.52.6", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.windows_i686_msvc-0.52.6.bazel"), + ) + + maybe( + http_archive, + name = "vendor__windows_x86_64_gnu-0.48.5", + sha256 = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e", + type = "tar.gz", + urls = ["https://static.crates.io/crates/windows_x86_64_gnu/0.48.5/download"], + strip_prefix = "windows_x86_64_gnu-0.48.5", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.windows_x86_64_gnu-0.48.5.bazel"), + ) + + maybe( + http_archive, + name = "vendor__windows_x86_64_gnu-0.52.6", + sha256 = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78", + type = "tar.gz", + urls = ["https://static.crates.io/crates/windows_x86_64_gnu/0.52.6/download"], + strip_prefix = "windows_x86_64_gnu-0.52.6", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.windows_x86_64_gnu-0.52.6.bazel"), + ) + + maybe( + http_archive, + name = "vendor__windows_x86_64_gnullvm-0.48.5", + sha256 = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc", + type = "tar.gz", + urls = ["https://static.crates.io/crates/windows_x86_64_gnullvm/0.48.5/download"], + strip_prefix = "windows_x86_64_gnullvm-0.48.5", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.windows_x86_64_gnullvm-0.48.5.bazel"), + ) + + maybe( + http_archive, + name = "vendor__windows_x86_64_gnullvm-0.52.6", + sha256 = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d", + type = "tar.gz", + urls = ["https://static.crates.io/crates/windows_x86_64_gnullvm/0.52.6/download"], + strip_prefix = "windows_x86_64_gnullvm-0.52.6", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.windows_x86_64_gnullvm-0.52.6.bazel"), + ) + + maybe( + http_archive, + name = "vendor__windows_x86_64_msvc-0.48.5", + sha256 = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538", + type = "tar.gz", + urls = ["https://static.crates.io/crates/windows_x86_64_msvc/0.48.5/download"], + strip_prefix = "windows_x86_64_msvc-0.48.5", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.windows_x86_64_msvc-0.48.5.bazel"), + ) + + maybe( + http_archive, + name = "vendor__windows_x86_64_msvc-0.52.6", + sha256 = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec", + type = "tar.gz", + urls = ["https://static.crates.io/crates/windows_x86_64_msvc/0.52.6/download"], + strip_prefix = "windows_x86_64_msvc-0.52.6", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.windows_x86_64_msvc-0.52.6.bazel"), + ) + + maybe( + http_archive, + name = "vendor__yansi-1.0.1", + sha256 = "cfe53a6657fd280eaa890a3bc59152892ffa3e30101319d168b781ed6529b049", + type = "tar.gz", + urls = ["https://static.crates.io/crates/yansi/1.0.1/download"], + strip_prefix = "yansi-1.0.1", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.yansi-1.0.1.bazel"), + ) + + maybe( + http_archive, + name = "vendor__zerocopy-0.7.35", + sha256 = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0", + type = "tar.gz", + urls = ["https://static.crates.io/crates/zerocopy/0.7.35/download"], + strip_prefix = "zerocopy-0.7.35", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.zerocopy-0.7.35.bazel"), + ) + + maybe( + http_archive, + name = "vendor__zerocopy-derive-0.7.35", + sha256 = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e", + type = "tar.gz", + urls = ["https://static.crates.io/crates/zerocopy-derive/0.7.35/download"], + strip_prefix = "zerocopy-derive-0.7.35", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.zerocopy-derive-0.7.35.bazel"), + ) + + return [ + struct(repo = "vendor__anyhow-1.0.93", is_dev_dep = False), + struct(repo = "vendor__argfile-0.2.1", is_dev_dep = False), + struct(repo = "vendor__chrono-0.4.38", is_dev_dep = False), + struct(repo = "vendor__clap-4.5.20", is_dev_dep = False), + struct(repo = "vendor__encoding-0.2.33", is_dev_dep = False), + struct(repo = "vendor__figment-0.10.19", is_dev_dep = False), + struct(repo = "vendor__flate2-1.0.34", is_dev_dep = False), + struct(repo = "vendor__glob-0.3.1", is_dev_dep = False), + struct(repo = "vendor__globset-0.4.15", is_dev_dep = False), + struct(repo = "vendor__itertools-0.10.5", is_dev_dep = False), + struct(repo = "vendor__itertools-0.13.0", is_dev_dep = False), + struct(repo = "vendor__lazy_static-1.5.0", is_dev_dep = False), + struct(repo = "vendor__log-0.4.22", is_dev_dep = False), + struct(repo = "vendor__num-traits-0.2.19", is_dev_dep = False), + struct(repo = "vendor__num_cpus-1.16.0", is_dev_dep = False), + struct(repo = "vendor__proc-macro2-1.0.89", is_dev_dep = False), + struct(repo = "vendor__quote-1.0.37", is_dev_dep = False), + struct(repo = "vendor__ra_ap_base_db-0.0.232", is_dev_dep = False), + struct(repo = "vendor__ra_ap_hir-0.0.232", is_dev_dep = False), + struct(repo = "vendor__ra_ap_hir_def-0.0.232", is_dev_dep = False), + struct(repo = "vendor__ra_ap_hir_expand-0.0.232", is_dev_dep = False), + struct(repo = "vendor__ra_ap_ide_db-0.0.232", is_dev_dep = False), + struct(repo = "vendor__ra_ap_load-cargo-0.0.232", is_dev_dep = False), + struct(repo = "vendor__ra_ap_parser-0.0.232", is_dev_dep = False), + struct(repo = "vendor__ra_ap_paths-0.0.232", is_dev_dep = False), + struct(repo = "vendor__ra_ap_project_model-0.0.232", is_dev_dep = False), + struct(repo = "vendor__ra_ap_span-0.0.232", is_dev_dep = False), + struct(repo = "vendor__ra_ap_syntax-0.0.232", is_dev_dep = False), + struct(repo = "vendor__ra_ap_vfs-0.0.232", is_dev_dep = False), + struct(repo = "vendor__rayon-1.10.0", is_dev_dep = False), + struct(repo = "vendor__regex-1.11.1", is_dev_dep = False), + struct(repo = "vendor__serde-1.0.214", is_dev_dep = False), + struct(repo = "vendor__serde_json-1.0.132", is_dev_dep = False), + struct(repo = "vendor__serde_with-3.11.0", is_dev_dep = False), + struct(repo = "vendor__stderrlog-0.6.0", is_dev_dep = False), + struct(repo = "vendor__syn-2.0.87", is_dev_dep = False), + struct(repo = "vendor__tracing-0.1.40", is_dev_dep = False), + struct(repo = "vendor__tracing-subscriber-0.3.18", is_dev_dep = False), + struct(repo = "vendor__tree-sitter-0.24.4", is_dev_dep = False), + struct(repo = "vendor__tree-sitter-embedded-template-0.23.2", is_dev_dep = False), + struct(repo = "vendor__tree-sitter-ruby-0.23.1", is_dev_dep = False), + struct(repo = "vendor__triomphe-0.1.14", is_dev_dep = False), + struct(repo = "vendor__ungrammar-1.16.1", is_dev_dep = False), + struct(repo = "vendor__rand-0.8.5", is_dev_dep = True), + struct(repo = "vendor__tree-sitter-json-0.24.8", is_dev_dep = True), + struct(repo = "vendor__tree-sitter-ql-0.23.1", is_dev_dep = True), + ] diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_extension.bzl b/misc/bazel/3rdparty/tree_sitter_extractors_extension.bzl new file mode 100644 index 000000000000..bdf3e6866ac6 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_extension.bzl @@ -0,0 +1,15 @@ +"""Module extensions for using vendored crates with bzlmod""" + +load("//misc/bazel/3rdparty/tree_sitter_extractors_deps:defs.bzl", _crate_repositories = "crate_repositories") + +def _crate_repositories_impl(module_ctx): + direct_deps = _crate_repositories() + return module_ctx.extension_metadata( + root_module_direct_deps = [repo.repo for repo in direct_deps], + root_module_direct_dev_deps = [], + ) + +# short name to address Windows path length issues +r = module_extension( + implementation = _crate_repositories_impl, +) diff --git a/misc/bazel/3rdparty/update_cargo_deps.sh b/misc/bazel/3rdparty/update_cargo_deps.sh new file mode 100755 index 000000000000..5f265b6be452 --- /dev/null +++ b/misc/bazel/3rdparty/update_cargo_deps.sh @@ -0,0 +1,12 @@ +#! /usr/bin/env bash + +SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) + +( + cd "$SCRIPT_DIR" || exit 1 + cd ../../../ + time bazel run //misc/bazel/3rdparty:vendor_py_deps + bazel mod tidy + time bazel run //misc/bazel/3rdparty:vendor_tree_sitter_extractors + bazel mod tidy +) diff --git a/python/extractor/tsg-python/BUILD.bazel b/python/extractor/tsg-python/BUILD.bazel index 8afaef6a4d77..30786ffcd3d2 100644 --- a/python/extractor/tsg-python/BUILD.bazel +++ b/python/extractor/tsg-python/BUILD.bazel @@ -1,5 +1,5 @@ -load("@py_deps//:defs.bzl", "aliases", "all_crate_deps") load("//misc/bazel:rust.bzl", "codeql_rust_binary") +load("//misc/bazel/3rdparty/py_deps:defs.bzl", "aliases", "all_crate_deps") codeql_rust_binary( name = "tsg-python", @@ -14,3 +14,8 @@ codeql_rust_binary( normal = True, ) + ["//python/extractor/tsg-python/tsp"], ) + +exports_files([ + "Cargo.toml", + "Cargo.lock", +]) diff --git a/python/extractor/tsg-python/Cargo.toml b/python/extractor/tsg-python/Cargo.toml index 6585b1b9d52f..ffb361761016 100644 --- a/python/extractor/tsg-python/Cargo.toml +++ b/python/extractor/tsg-python/Cargo.toml @@ -6,6 +6,7 @@ version = "0.1.0" authors = ["Taus Brock-Nannestad "] edition = "2021" +# When updating these dependencies, run `misc/bazel/3rdparty/update_cargo_deps.sh` [dependencies] anyhow = "1.0" regex = "1" diff --git a/python/extractor/tsg-python/tsp/BUILD.bazel b/python/extractor/tsg-python/tsp/BUILD.bazel index 1f7ec006c657..f45d8f7f41f4 100644 --- a/python/extractor/tsg-python/tsp/BUILD.bazel +++ b/python/extractor/tsg-python/tsp/BUILD.bazel @@ -1,6 +1,6 @@ -load("@py_deps//:defs.bzl", "aliases", "all_crate_deps") load("@rules_rust//cargo:defs.bzl", "cargo_build_script") load("@rules_rust//rust:defs.bzl", "rust_library") +load("//misc/bazel/3rdparty/py_deps:defs.bzl", "aliases", "all_crate_deps") package(default_visibility = ["//visibility:public"]) @@ -36,3 +36,5 @@ rust_library( normal = True, ), ) + +exports_files(["Cargo.toml"]) diff --git a/python/extractor/tsg-python/tsp/Cargo.toml b/python/extractor/tsg-python/tsp/Cargo.toml index 995f39a3bd99..ccbb4b558c3a 100644 --- a/python/extractor/tsg-python/tsp/Cargo.toml +++ b/python/extractor/tsg-python/tsp/Cargo.toml @@ -24,6 +24,7 @@ include = [ [lib] path = "bindings/rust/lib.rs" +## When updating these dependencies, run `misc/bazel/3rdparty/update_cargo_deps.sh` [dependencies] tree-sitter = ">= 0.20, < 0.21" diff --git a/ruby/extractor/BUILD.bazel b/ruby/extractor/BUILD.bazel index 158f1c91e4c4..8c22b4775f29 100644 --- a/ruby/extractor/BUILD.bazel +++ b/ruby/extractor/BUILD.bazel @@ -1,5 +1,7 @@ -load("@tree_sitter_extractors_deps//:defs.bzl", "aliases", "all_crate_deps") load("//misc/bazel:rust.bzl", "codeql_rust_binary") +load("//misc/bazel/3rdparty/tree_sitter_extractors_deps:defs.bzl", "aliases", "all_crate_deps") + +exports_files(["Cargo.toml"]) codeql_rust_binary( name = "extractor", diff --git a/ruby/extractor/Cargo.toml b/ruby/extractor/Cargo.toml index 1328eb6b12c8..1e9166413a6d 100644 --- a/ruby/extractor/Cargo.toml +++ b/ruby/extractor/Cargo.toml @@ -5,6 +5,7 @@ version = "0.1.0" authors = ["GitHub"] edition = "2021" +# When updating these dependencies, run `misc/bazel/3rdparty/update_cargo_deps.sh` [dependencies] tree-sitter = ">= 0.23.0" tree-sitter-embedded-template = "0.23.2" diff --git a/rust/ast-generator/BUILD.bazel b/rust/ast-generator/BUILD.bazel index 2449dfa1d325..63724e4fe728 100644 --- a/rust/ast-generator/BUILD.bazel +++ b/rust/ast-generator/BUILD.bazel @@ -1,5 +1,5 @@ -load("@tree_sitter_extractors_deps//:defs.bzl", "aliases", "all_crate_deps") load("//misc/bazel:rust.bzl", "codeql_rust_binary") +load("//misc/bazel/3rdparty/tree_sitter_extractors_deps:defs.bzl", "aliases", "all_crate_deps") codeql_rust_binary( name = "ast-generator", @@ -14,8 +14,4 @@ codeql_rust_binary( ), ) -filegroup( - name = "manifest", - srcs = ["Cargo.toml"], - visibility = ["//rust:__subpackages__"], -) +exports_files(["Cargo.toml"]) diff --git a/rust/ast-generator/Cargo.toml b/rust/ast-generator/Cargo.toml index c04619f5d4f9..e52aac450ab4 100644 --- a/rust/ast-generator/Cargo.toml +++ b/rust/ast-generator/Cargo.toml @@ -3,6 +3,7 @@ name = "ast-generator" version = "0.1.0" edition = "2021" +# When updating these dependencies, run `misc/bazel/3rdparty/update_cargo_deps.sh` [dependencies] ungrammar = "1.16.1" proc-macro2 = "1.0.33" diff --git a/rust/codegen/BUILD.bazel b/rust/codegen/BUILD.bazel index ba9f2565b70e..fbac3d04619f 100644 --- a/rust/codegen/BUILD.bazel +++ b/rust/codegen/BUILD.bazel @@ -2,7 +2,7 @@ load("@bazel_skylib//rules:native_binary.bzl", "native_binary") _args = [ "//rust/ast-generator", - "//rust/ast-generator:manifest", + "//rust/ast-generator:Cargo.toml", "//misc/codegen", "//rust:codegen-conf", ] diff --git a/rust/extractor/BUILD.bazel b/rust/extractor/BUILD.bazel index a5d99e82584e..124895b149c6 100644 --- a/rust/extractor/BUILD.bazel +++ b/rust/extractor/BUILD.bazel @@ -1,5 +1,7 @@ -load("@tree_sitter_extractors_deps//:defs.bzl", "aliases", "all_crate_deps") load("//misc/bazel:rust.bzl", "codeql_rust_binary") +load("//misc/bazel/3rdparty/tree_sitter_extractors_deps:defs.bzl", "aliases", "all_crate_deps") + +exports_files(["Cargo.toml"]) codeql_rust_binary( name = "extractor", diff --git a/rust/extractor/Cargo.toml b/rust/extractor/Cargo.toml index 2cb4e70fc7dd..d6d8519b1a84 100644 --- a/rust/extractor/Cargo.toml +++ b/rust/extractor/Cargo.toml @@ -3,6 +3,7 @@ name = "codeql-rust" version = "0.1.0" edition = "2021" +# When updating these dependencies, run `misc/bazel/3rdparty/update_cargo_deps.sh` [dependencies] anyhow = "1.0.86" clap = { version = "4.5.16", features = ["derive"] } diff --git a/rust/extractor/macros/BUILD.bazel b/rust/extractor/macros/BUILD.bazel index 4ddfb14a171f..73392b257657 100644 --- a/rust/extractor/macros/BUILD.bazel +++ b/rust/extractor/macros/BUILD.bazel @@ -1,5 +1,7 @@ load("@rules_rust//rust:defs.bzl", "rust_proc_macro") -load("@tree_sitter_extractors_deps//:defs.bzl", "aliases", "all_crate_deps") +load("//misc/bazel/3rdparty/tree_sitter_extractors_deps:defs.bzl", "aliases", "all_crate_deps") + +exports_files(["Cargo.toml"]) rust_proc_macro( name = "rust_extractor_macros", diff --git a/rust/extractor/macros/Cargo.toml b/rust/extractor/macros/Cargo.toml index d4d10bc3bde2..50c865a63730 100644 --- a/rust/extractor/macros/Cargo.toml +++ b/rust/extractor/macros/Cargo.toml @@ -6,6 +6,7 @@ edition = "2021" [lib] proc-macro = true +# When updating these dependencies, run `misc/bazel/3rdparty/update_cargo_deps.sh` [dependencies] quote = "1.0.37" syn = { version = "2.0.77", features = ["full"] } diff --git a/shared/tree-sitter-extractor/BUILD.bazel b/shared/tree-sitter-extractor/BUILD.bazel index ac38c99ffccf..ee19d8e5c778 100644 --- a/shared/tree-sitter-extractor/BUILD.bazel +++ b/shared/tree-sitter-extractor/BUILD.bazel @@ -1,5 +1,7 @@ load("@rules_rust//rust:defs.bzl", "rust_library") -load("@tree_sitter_extractors_deps//:defs.bzl", "aliases", "all_crate_deps") +load("//misc/bazel/3rdparty/tree_sitter_extractors_deps:defs.bzl", "aliases", "all_crate_deps") + +exports_files(["Cargo.toml"]) rust_library( name = "codeql-extractor", diff --git a/shared/tree-sitter-extractor/Cargo.toml b/shared/tree-sitter-extractor/Cargo.toml index d15a165bfef0..f81616151525 100644 --- a/shared/tree-sitter-extractor/Cargo.toml +++ b/shared/tree-sitter-extractor/Cargo.toml @@ -4,6 +4,7 @@ version = "0.2.0" edition = "2021" authors = ["GitHub"] +# When updating these dependencies, run `misc/bazel/3rdparty/update_cargo_deps.sh` [dependencies] flate2 = "1.0" globset = "0.4" From df4b596180ae815baeb18451b26d450bce89c2b1 Mon Sep 17 00:00:00 2001 From: Napalys Date: Wed, 13 Nov 2024 13:06:33 +0100 Subject: [PATCH 161/347] Added toSpliced as part ArraySliceStep and ArraySpliceStep, fixed tests from 2d9bc43506725685502608a861a90a4e19f849a9 --- .../ql/lib/semmle/javascript/Arrays.qll | 11 +- .../library-tests/Arrays/DataFlow.expected | 3 + .../library-tests/Arrays/TaintFlow.expected | 3 + .../ql/test/library-tests/Arrays/arrays.js | 6 +- .../library-tests/Arrays/printAst.expected | 442 +++++++++++++----- 5 files changed, 350 insertions(+), 115 deletions(-) diff --git a/javascript/ql/lib/semmle/javascript/Arrays.qll b/javascript/ql/lib/semmle/javascript/Arrays.qll index bb49fc1fb372..19fbb4552b57 100644 --- a/javascript/ql/lib/semmle/javascript/Arrays.qll +++ b/javascript/ql/lib/semmle/javascript/Arrays.qll @@ -86,7 +86,8 @@ module ArrayTaintTracking { succ.(DataFlow::SourceNode).getAMethodCall("splice") = call or // `e = array.pop()`, `e = array.shift()`, or similar: if `array` is tainted, then so is `e`. - call.(DataFlow::MethodCallNode).calls(pred, ["pop", "shift", "slice", "splice", "at", "toSpliced"]) and + call.(DataFlow::MethodCallNode) + .calls(pred, ["pop", "shift", "slice", "splice", "at", "toSpliced"]) and succ = call or // `e = Array.from(x)`: if `x` is tainted, then so is `e`. @@ -283,7 +284,7 @@ private module ArrayDataFlow { private class ArraySpliceStep extends PreCallGraphStep { override predicate storeStep(DataFlow::Node element, DataFlow::SourceNode obj, string prop) { exists(DataFlow::MethodCallNode call | - call.getMethodName() = "splice" and + call.getMethodName() = ["splice", "toSpliced"] and prop = arrayElement() and element = call.getArgument(any(int i | i >= 2)) and call = obj.getAMethodCall() @@ -297,7 +298,7 @@ private module ArrayDataFlow { toProp = arrayElement() and // `array.splice(i, del, ...arr)` variant exists(DataFlow::MethodCallNode mcn | - mcn.getMethodName() = "splice" and + mcn.getMethodName() = ["splice", "toSpliced"] and pred = mcn.getASpreadArgument() and succ = mcn.getReceiver().getALocalSource() ) @@ -320,12 +321,12 @@ private module ArrayDataFlow { } /** - * A step for modeling that elements from an array `arr` also appear in the result from calling `slice`/`splice`/`filter`. + * A step for modeling that elements from an array `arr` also appear in the result from calling `slice`/`splice`/`filter`/`toSpliced`. */ private class ArraySliceStep extends PreCallGraphStep { override predicate loadStoreStep(DataFlow::Node pred, DataFlow::SourceNode succ, string prop) { exists(DataFlow::MethodCallNode call | - call.getMethodName() = ["slice", "splice", "filter"] and + call.getMethodName() = ["slice", "splice", "filter", "toSpliced"] and prop = arrayElement() and pred = call.getReceiver() and succ = call diff --git a/javascript/ql/test/library-tests/Arrays/DataFlow.expected b/javascript/ql/test/library-tests/Arrays/DataFlow.expected index 6de9bf77257a..4332f14c45e2 100644 --- a/javascript/ql/test/library-tests/Arrays/DataFlow.expected +++ b/javascript/ql/test/library-tests/Arrays/DataFlow.expected @@ -13,6 +13,7 @@ | arrays.js:2:16:2:23 | "source" | arrays.js:86:8:86:35 | arrayFi ... llback) | | arrays.js:2:16:2:23 | "source" | arrays.js:90:10:90:10 | x | | arrays.js:2:16:2:23 | "source" | arrays.js:93:8:93:17 | arr.at(-1) | +| arrays.js:2:16:2:23 | "source" | arrays.js:109:8:109:24 | arr8_spread.pop() | | arrays.js:18:22:18:29 | "source" | arrays.js:18:50:18:50 | e | | arrays.js:22:15:22:22 | "source" | arrays.js:23:8:23:17 | arr2.pop() | | arrays.js:25:15:25:22 | "source" | arrays.js:26:8:26:17 | arr3.pop() | @@ -22,3 +23,5 @@ | arrays.js:29:21:29:28 | "source" | arrays.js:50:8:50:17 | arr6.pop() | | arrays.js:33:37:33:44 | "source" | arrays.js:35:8:35:25 | arr4_variant.pop() | | arrays.js:53:4:53:11 | "source" | arrays.js:54:10:54:18 | ary.pop() | +| arrays.js:99:31:99:38 | "source" | arrays.js:100:8:100:17 | arr8.pop() | +| arrays.js:103:55:103:62 | "source" | arrays.js:105:8:105:25 | arr8_variant.pop() | diff --git a/javascript/ql/test/library-tests/Arrays/TaintFlow.expected b/javascript/ql/test/library-tests/Arrays/TaintFlow.expected index 6f62ae76f152..a531715bfb6b 100644 --- a/javascript/ql/test/library-tests/Arrays/TaintFlow.expected +++ b/javascript/ql/test/library-tests/Arrays/TaintFlow.expected @@ -14,6 +14,7 @@ | arrays.js:2:16:2:23 | "source" | arrays.js:86:8:86:35 | arrayFi ... llback) | | arrays.js:2:16:2:23 | "source" | arrays.js:90:10:90:10 | x | | arrays.js:2:16:2:23 | "source" | arrays.js:93:8:93:17 | arr.at(-1) | +| arrays.js:2:16:2:23 | "source" | arrays.js:109:8:109:24 | arr8_spread.pop() | | arrays.js:18:22:18:29 | "source" | arrays.js:18:50:18:50 | e | | arrays.js:22:15:22:22 | "source" | arrays.js:23:8:23:17 | arr2.pop() | | arrays.js:25:15:25:22 | "source" | arrays.js:26:8:26:17 | arr3.pop() | @@ -26,3 +27,5 @@ | arrays.js:53:4:53:11 | "source" | arrays.js:55:10:55:12 | ary | | arrays.js:95:9:95:16 | "source" | arrays.js:95:8:95:34 | ["sourc ... ) => x) | | arrays.js:96:9:96:16 | "source" | arrays.js:96:8:96:36 | ["sourc ... => !!x) | +| arrays.js:99:31:99:38 | "source" | arrays.js:100:8:100:17 | arr8.pop() | +| arrays.js:103:55:103:62 | "source" | arrays.js:105:8:105:25 | arr8_variant.pop() | diff --git a/javascript/ql/test/library-tests/Arrays/arrays.js b/javascript/ql/test/library-tests/Arrays/arrays.js index f7e91d4c6eb9..579741fa3aac 100644 --- a/javascript/ql/test/library-tests/Arrays/arrays.js +++ b/javascript/ql/test/library-tests/Arrays/arrays.js @@ -97,14 +97,14 @@ var arr8 = []; arr8 = arr8.toSpliced(0, 0, "source"); - sink(arr8.pop()); // NOT OK -- Should be considered tainted, but it is not + sink(arr8.pop()); // NOT OK var arr8_variant = []; arr8_variant = arr8_variant.toSpliced(0, 0, "safe", "source"); arr8_variant.pop(); - sink(arr8_variant.pop()); // NOT OK -- Should be considered tainted, but it is not + sink(arr8_variant.pop()); // NOT OK var arr8_spread = []; arr8_spread = arr8_spread.toSpliced(0, 0, ...arr); - sink(arr8_spread.pop()); // NOT OK -- Should be considered tainted, but it is not + sink(arr8_spread.pop()); // NOT OK }); diff --git a/javascript/ql/test/library-tests/Arrays/printAst.expected b/javascript/ql/test/library-tests/Arrays/printAst.expected index 2d0fdb458636..a7333b294853 100644 --- a/javascript/ql/test/library-tests/Arrays/printAst.expected +++ b/javascript/ql/test/library-tests/Arrays/printAst.expected @@ -1,9 +1,9 @@ nodes -| arrays.js:1:1:97:2 | [ParExpr] (functi ... T OK }) | semmle.label | [ParExpr] (functi ... T OK }) | -| arrays.js:1:1:97:3 | [ExprStmt] (functi ... OK }); | semmle.label | [ExprStmt] (functi ... OK }); | -| arrays.js:1:1:97:3 | [ExprStmt] (functi ... OK }); | semmle.order | 1 | -| arrays.js:1:2:97:1 | [FunctionExpr] functio ... OT OK } | semmle.label | [FunctionExpr] functio ... OT OK } | -| arrays.js:1:14:97:1 | [BlockStmt] { let ... OT OK } | semmle.label | [BlockStmt] { let ... OT OK } | +| arrays.js:1:1:110:2 | [ParExpr] (functi ... T OK }) | semmle.label | [ParExpr] (functi ... T OK }) | +| arrays.js:1:1:110:3 | [ExprStmt] (functi ... OK }); | semmle.label | [ExprStmt] (functi ... OK }); | +| arrays.js:1:1:110:3 | [ExprStmt] (functi ... OK }); | semmle.order | 1 | +| arrays.js:1:2:110:1 | [FunctionExpr] functio ... OT OK } | semmle.label | [FunctionExpr] functio ... OT OK } | +| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | semmle.label | [BlockStmt] { let ... OT OK } | | arrays.js:2:3:2:24 | [DeclStmt] let source = ... | semmle.label | [DeclStmt] let source = ... | | arrays.js:2:7:2:12 | [VarDecl] source | semmle.label | [VarDecl] source | | arrays.js:2:7:2:23 | [VariableDeclarator] source = "source" | semmle.label | [VariableDeclarator] source = "source" | @@ -417,6 +417,82 @@ nodes | arrays.js:96:33:96:35 | [UnaryExpr] !!x | semmle.label | [UnaryExpr] !!x | | arrays.js:96:34:96:35 | [UnaryExpr] !x | semmle.label | [UnaryExpr] !x | | arrays.js:96:35:96:35 | [VarRef] x | semmle.label | [VarRef] x | +| arrays.js:98:3:98:16 | [DeclStmt] var arr8 = ... | semmle.label | [DeclStmt] var arr8 = ... | +| arrays.js:98:7:98:10 | [VarDecl] arr8 | semmle.label | [VarDecl] arr8 | +| arrays.js:98:7:98:15 | [VariableDeclarator] arr8 = [] | semmle.label | [VariableDeclarator] arr8 = [] | +| arrays.js:98:14:98:15 | [ArrayExpr] [] | semmle.label | [ArrayExpr] [] | +| arrays.js:99:3:99:6 | [VarRef] arr8 | semmle.label | [VarRef] arr8 | +| arrays.js:99:3:99:39 | [AssignExpr] arr8 = ... ource") | semmle.label | [AssignExpr] arr8 = ... ource") | +| arrays.js:99:3:99:40 | [ExprStmt] arr8 = ... urce"); | semmle.label | [ExprStmt] arr8 = ... urce"); | +| arrays.js:99:10:99:13 | [VarRef] arr8 | semmle.label | [VarRef] arr8 | +| arrays.js:99:10:99:23 | [DotExpr] arr8.toSpliced | semmle.label | [DotExpr] arr8.toSpliced | +| arrays.js:99:10:99:39 | [MethodCallExpr] arr8.to ... ource") | semmle.label | [MethodCallExpr] arr8.to ... ource") | +| arrays.js:99:15:99:23 | [Label] toSpliced | semmle.label | [Label] toSpliced | +| arrays.js:99:25:99:25 | [Literal] 0 | semmle.label | [Literal] 0 | +| arrays.js:99:28:99:28 | [Literal] 0 | semmle.label | [Literal] 0 | +| arrays.js:99:31:99:38 | [Literal] "source" | semmle.label | [Literal] "source" | +| arrays.js:100:3:100:6 | [VarRef] sink | semmle.label | [VarRef] sink | +| arrays.js:100:3:100:18 | [CallExpr] sink(arr8.pop()) | semmle.label | [CallExpr] sink(arr8.pop()) | +| arrays.js:100:3:100:19 | [ExprStmt] sink(arr8.pop()); | semmle.label | [ExprStmt] sink(arr8.pop()); | +| arrays.js:100:8:100:11 | [VarRef] arr8 | semmle.label | [VarRef] arr8 | +| arrays.js:100:8:100:15 | [DotExpr] arr8.pop | semmle.label | [DotExpr] arr8.pop | +| arrays.js:100:8:100:17 | [MethodCallExpr] arr8.pop() | semmle.label | [MethodCallExpr] arr8.pop() | +| arrays.js:100:13:100:15 | [Label] pop | semmle.label | [Label] pop | +| arrays.js:102:3:102:24 | [DeclStmt] var arr8_variant = ... | semmle.label | [DeclStmt] var arr8_variant = ... | +| arrays.js:102:7:102:18 | [VarDecl] arr8_variant | semmle.label | [VarDecl] arr8_variant | +| arrays.js:102:7:102:23 | [VariableDeclarator] arr8_variant = [] | semmle.label | [VariableDeclarator] arr8_variant = [] | +| arrays.js:102:22:102:23 | [ArrayExpr] [] | semmle.label | [ArrayExpr] [] | +| arrays.js:103:3:103:14 | [VarRef] arr8_variant | semmle.label | [VarRef] arr8_variant | +| arrays.js:103:3:103:63 | [AssignExpr] arr8_va ... ource") | semmle.label | [AssignExpr] arr8_va ... ource") | +| arrays.js:103:3:103:64 | [ExprStmt] arr8_va ... urce"); | semmle.label | [ExprStmt] arr8_va ... urce"); | +| arrays.js:103:18:103:29 | [VarRef] arr8_variant | semmle.label | [VarRef] arr8_variant | +| arrays.js:103:18:103:39 | [DotExpr] arr8_va ... Spliced | semmle.label | [DotExpr] arr8_va ... Spliced | +| arrays.js:103:18:103:63 | [MethodCallExpr] arr8_va ... ource") | semmle.label | [MethodCallExpr] arr8_va ... ource") | +| arrays.js:103:31:103:39 | [Label] toSpliced | semmle.label | [Label] toSpliced | +| arrays.js:103:41:103:41 | [Literal] 0 | semmle.label | [Literal] 0 | +| arrays.js:103:44:103:44 | [Literal] 0 | semmle.label | [Literal] 0 | +| arrays.js:103:47:103:52 | [Literal] "safe" | semmle.label | [Literal] "safe" | +| arrays.js:103:55:103:62 | [Literal] "source" | semmle.label | [Literal] "source" | +| arrays.js:104:3:104:14 | [VarRef] arr8_variant | semmle.label | [VarRef] arr8_variant | +| arrays.js:104:3:104:18 | [DotExpr] arr8_variant.pop | semmle.label | [DotExpr] arr8_variant.pop | +| arrays.js:104:3:104:20 | [MethodCallExpr] arr8_variant.pop() | semmle.label | [MethodCallExpr] arr8_variant.pop() | +| arrays.js:104:3:104:21 | [ExprStmt] arr8_variant.pop(); | semmle.label | [ExprStmt] arr8_variant.pop(); | +| arrays.js:104:16:104:18 | [Label] pop | semmle.label | [Label] pop | +| arrays.js:105:3:105:6 | [VarRef] sink | semmle.label | [VarRef] sink | +| arrays.js:105:3:105:26 | [CallExpr] sink(ar ... .pop()) | semmle.label | [CallExpr] sink(ar ... .pop()) | +| arrays.js:105:3:105:27 | [ExprStmt] sink(ar ... pop()); | semmle.label | [ExprStmt] sink(ar ... pop()); | +| arrays.js:105:8:105:19 | [VarRef] arr8_variant | semmle.label | [VarRef] arr8_variant | +| arrays.js:105:8:105:23 | [DotExpr] arr8_variant.pop | semmle.label | [DotExpr] arr8_variant.pop | +| arrays.js:105:8:105:25 | [MethodCallExpr] arr8_variant.pop() | semmle.label | [MethodCallExpr] arr8_variant.pop() | +| arrays.js:105:21:105:23 | [Label] pop | semmle.label | [Label] pop | +| arrays.js:107:3:107:23 | [DeclStmt] var arr8_spread = ... | semmle.label | [DeclStmt] var arr8_spread = ... | +| arrays.js:107:7:107:17 | [VarDecl] arr8_spread | semmle.label | [VarDecl] arr8_spread | +| arrays.js:107:7:107:22 | [VariableDeclarator] arr8_spread = [] | semmle.label | [VariableDeclarator] arr8_spread = [] | +| arrays.js:107:21:107:22 | [ArrayExpr] [] | semmle.label | [ArrayExpr] [] | +| arrays.js:108:3:108:13 | [VarRef] arr8_spread | semmle.label | [VarRef] arr8_spread | +| arrays.js:108:3:108:51 | [AssignExpr] arr8_sp ... ...arr) | semmle.label | [AssignExpr] arr8_sp ... ...arr) | +| arrays.js:108:3:108:52 | [ExprStmt] arr8_sp ... ..arr); | semmle.label | [ExprStmt] arr8_sp ... ..arr); | +| arrays.js:108:17:108:27 | [VarRef] arr8_spread | semmle.label | [VarRef] arr8_spread | +| arrays.js:108:17:108:37 | [DotExpr] arr8_sp ... Spliced | semmle.label | [DotExpr] arr8_sp ... Spliced | +| arrays.js:108:17:108:51 | [MethodCallExpr] arr8_sp ... ...arr) | semmle.label | [MethodCallExpr] arr8_sp ... ...arr) | +| arrays.js:108:29:108:37 | [Label] toSpliced | semmle.label | [Label] toSpliced | +| arrays.js:108:39:108:39 | [Literal] 0 | semmle.label | [Literal] 0 | +| arrays.js:108:42:108:42 | [Literal] 0 | semmle.label | [Literal] 0 | +| arrays.js:108:45:108:50 | [SpreadElement] ...arr | semmle.label | [SpreadElement] ...arr | +| arrays.js:108:48:108:50 | [VarRef] arr | semmle.label | [VarRef] arr | +| arrays.js:109:3:109:6 | [VarRef] sink | semmle.label | [VarRef] sink | +| arrays.js:109:3:109:25 | [CallExpr] sink(ar ... .pop()) | semmle.label | [CallExpr] sink(ar ... .pop()) | +| arrays.js:109:3:109:26 | [ExprStmt] sink(ar ... pop()); | semmle.label | [ExprStmt] sink(ar ... pop()); | +| arrays.js:109:8:109:18 | [VarRef] arr8_spread | semmle.label | [VarRef] arr8_spread | +| arrays.js:109:8:109:22 | [DotExpr] arr8_spread.pop | semmle.label | [DotExpr] arr8_spread.pop | +| arrays.js:109:8:109:24 | [MethodCallExpr] arr8_spread.pop() | semmle.label | [MethodCallExpr] arr8_spread.pop() | +| arrays.js:109:20:109:22 | [Label] pop | semmle.label | [Label] pop | +| file://:0:0:0:0 | (Arguments) | semmle.label | (Arguments) | +| file://:0:0:0:0 | (Arguments) | semmle.label | (Arguments) | +| file://:0:0:0:0 | (Arguments) | semmle.label | (Arguments) | +| file://:0:0:0:0 | (Arguments) | semmle.label | (Arguments) | +| file://:0:0:0:0 | (Arguments) | semmle.label | (Arguments) | +| file://:0:0:0:0 | (Arguments) | semmle.label | (Arguments) | | file://:0:0:0:0 | (Arguments) | semmle.label | (Arguments) | | file://:0:0:0:0 | (Arguments) | semmle.label | (Arguments) | | file://:0:0:0:0 | (Arguments) | semmle.label | (Arguments) | @@ -476,108 +552,128 @@ nodes | file://:0:0:0:0 | (Parameters) | semmle.label | (Parameters) | | file://:0:0:0:0 | (Parameters) | semmle.label | (Parameters) | edges -| arrays.js:1:1:97:2 | [ParExpr] (functi ... T OK }) | arrays.js:1:2:97:1 | [FunctionExpr] functio ... OT OK } | semmle.label | 1 | -| arrays.js:1:1:97:2 | [ParExpr] (functi ... T OK }) | arrays.js:1:2:97:1 | [FunctionExpr] functio ... OT OK } | semmle.order | 1 | -| arrays.js:1:1:97:3 | [ExprStmt] (functi ... OK }); | arrays.js:1:1:97:2 | [ParExpr] (functi ... T OK }) | semmle.label | 1 | -| arrays.js:1:1:97:3 | [ExprStmt] (functi ... OK }); | arrays.js:1:1:97:2 | [ParExpr] (functi ... T OK }) | semmle.order | 1 | -| arrays.js:1:2:97:1 | [FunctionExpr] functio ... OT OK } | arrays.js:1:14:97:1 | [BlockStmt] { let ... OT OK } | semmle.label | 5 | -| arrays.js:1:2:97:1 | [FunctionExpr] functio ... OT OK } | arrays.js:1:14:97:1 | [BlockStmt] { let ... OT OK } | semmle.order | 5 | -| arrays.js:1:14:97:1 | [BlockStmt] { let ... OT OK } | arrays.js:2:3:2:24 | [DeclStmt] let source = ... | semmle.label | 1 | -| arrays.js:1:14:97:1 | [BlockStmt] { let ... OT OK } | arrays.js:2:3:2:24 | [DeclStmt] let source = ... | semmle.order | 1 | -| arrays.js:1:14:97:1 | [BlockStmt] { let ... OT OK } | arrays.js:4:3:4:28 | [DeclStmt] var obj = ... | semmle.label | 2 | -| arrays.js:1:14:97:1 | [BlockStmt] { let ... OT OK } | arrays.js:4:3:4:28 | [DeclStmt] var obj = ... | semmle.order | 2 | -| arrays.js:1:14:97:1 | [BlockStmt] { let ... OT OK } | arrays.js:5:3:5:16 | [ExprStmt] sink(obj.foo); | semmle.label | 3 | -| arrays.js:1:14:97:1 | [BlockStmt] { let ... OT OK } | arrays.js:5:3:5:16 | [ExprStmt] sink(obj.foo); | semmle.order | 3 | -| arrays.js:1:14:97:1 | [BlockStmt] { let ... OT OK } | arrays.js:7:3:7:15 | [DeclStmt] var arr = ... | semmle.label | 4 | -| arrays.js:1:14:97:1 | [BlockStmt] { let ... OT OK } | arrays.js:7:3:7:15 | [DeclStmt] var arr = ... | semmle.order | 4 | -| arrays.js:1:14:97:1 | [BlockStmt] { let ... OT OK } | arrays.js:8:3:8:19 | [ExprStmt] arr.push(source); | semmle.label | 5 | -| arrays.js:1:14:97:1 | [BlockStmt] { let ... OT OK } | arrays.js:8:3:8:19 | [ExprStmt] arr.push(source); | semmle.order | 5 | -| arrays.js:1:14:97:1 | [BlockStmt] { let ... OT OK } | arrays.js:10:3:12:3 | [ForStmt] for (va ... OK } | semmle.label | 6 | -| arrays.js:1:14:97:1 | [BlockStmt] { let ... OT OK } | arrays.js:10:3:12:3 | [ForStmt] for (va ... OK } | semmle.order | 6 | -| arrays.js:1:14:97:1 | [BlockStmt] { let ... OT OK } | arrays.js:15:3:15:30 | [ExprStmt] arr.for ... nk(e)); | semmle.label | 7 | -| arrays.js:1:14:97:1 | [BlockStmt] { let ... OT OK } | arrays.js:15:3:15:30 | [ExprStmt] arr.for ... nk(e)); | semmle.order | 7 | -| arrays.js:1:14:97:1 | [BlockStmt] { let ... OT OK } | arrays.js:16:3:16:26 | [ExprStmt] arr.map ... nk(e)); | semmle.label | 8 | -| arrays.js:1:14:97:1 | [BlockStmt] { let ... OT OK } | arrays.js:16:3:16:26 | [ExprStmt] arr.map ... nk(e)); | semmle.order | 8 | -| arrays.js:1:14:97:1 | [BlockStmt] { let ... OT OK } | arrays.js:18:3:18:53 | [ExprStmt] [1, 2, ... nk(e)); | semmle.label | 9 | -| arrays.js:1:14:97:1 | [BlockStmt] { let ... OT OK } | arrays.js:18:3:18:53 | [ExprStmt] [1, 2, ... nk(e)); | semmle.order | 9 | -| arrays.js:1:14:97:1 | [BlockStmt] { let ... OT OK } | arrays.js:20:3:20:18 | [ExprStmt] sink(arr.pop()); | semmle.label | 10 | -| arrays.js:1:14:97:1 | [BlockStmt] { let ... OT OK } | arrays.js:20:3:20:18 | [ExprStmt] sink(arr.pop()); | semmle.order | 10 | -| arrays.js:1:14:97:1 | [BlockStmt] { let ... OT OK } | arrays.js:22:3:22:24 | [DeclStmt] var arr2 = ... | semmle.label | 11 | -| arrays.js:1:14:97:1 | [BlockStmt] { let ... OT OK } | arrays.js:22:3:22:24 | [DeclStmt] var arr2 = ... | semmle.order | 11 | -| arrays.js:1:14:97:1 | [BlockStmt] { let ... OT OK } | arrays.js:23:3:23:19 | [ExprStmt] sink(arr2.pop()); | semmle.label | 12 | -| arrays.js:1:14:97:1 | [BlockStmt] { let ... OT OK } | arrays.js:23:3:23:19 | [ExprStmt] sink(arr2.pop()); | semmle.order | 12 | -| arrays.js:1:14:97:1 | [BlockStmt] { let ... OT OK } | arrays.js:25:3:25:24 | [DeclStmt] var arr3 = ... | semmle.label | 13 | -| arrays.js:1:14:97:1 | [BlockStmt] { let ... OT OK } | arrays.js:25:3:25:24 | [DeclStmt] var arr3 = ... | semmle.order | 13 | -| arrays.js:1:14:97:1 | [BlockStmt] { let ... OT OK } | arrays.js:26:3:26:19 | [ExprStmt] sink(arr3.pop()); | semmle.label | 14 | -| arrays.js:1:14:97:1 | [BlockStmt] { let ... OT OK } | arrays.js:26:3:26:19 | [ExprStmt] sink(arr3.pop()); | semmle.order | 14 | -| arrays.js:1:14:97:1 | [BlockStmt] { let ... OT OK } | arrays.js:28:3:28:16 | [DeclStmt] var arr4 = ... | semmle.label | 15 | -| arrays.js:1:14:97:1 | [BlockStmt] { let ... OT OK } | arrays.js:28:3:28:16 | [DeclStmt] var arr4 = ... | semmle.order | 15 | -| arrays.js:1:14:97:1 | [BlockStmt] { let ... OT OK } | arrays.js:29:3:29:30 | [ExprStmt] arr4.sp ... urce"); | semmle.label | 16 | -| arrays.js:1:14:97:1 | [BlockStmt] { let ... OT OK } | arrays.js:29:3:29:30 | [ExprStmt] arr4.sp ... urce"); | semmle.order | 16 | -| arrays.js:1:14:97:1 | [BlockStmt] { let ... OT OK } | arrays.js:30:3:30:19 | [ExprStmt] sink(arr4.pop()); | semmle.label | 17 | -| arrays.js:1:14:97:1 | [BlockStmt] { let ... OT OK } | arrays.js:30:3:30:19 | [ExprStmt] sink(arr4.pop()); | semmle.order | 17 | -| arrays.js:1:14:97:1 | [BlockStmt] { let ... OT OK } | arrays.js:32:3:32:24 | [DeclStmt] var arr4_variant = ... | semmle.label | 18 | -| arrays.js:1:14:97:1 | [BlockStmt] { let ... OT OK } | arrays.js:32:3:32:24 | [DeclStmt] var arr4_variant = ... | semmle.order | 18 | -| arrays.js:1:14:97:1 | [BlockStmt] { let ... OT OK } | arrays.js:33:3:33:46 | [ExprStmt] arr4_va ... urce"); | semmle.label | 19 | -| arrays.js:1:14:97:1 | [BlockStmt] { let ... OT OK } | arrays.js:33:3:33:46 | [ExprStmt] arr4_va ... urce"); | semmle.order | 19 | -| arrays.js:1:14:97:1 | [BlockStmt] { let ... OT OK } | arrays.js:34:3:34:21 | [ExprStmt] arr4_variant.pop(); | semmle.label | 20 | -| arrays.js:1:14:97:1 | [BlockStmt] { let ... OT OK } | arrays.js:34:3:34:21 | [ExprStmt] arr4_variant.pop(); | semmle.order | 20 | -| arrays.js:1:14:97:1 | [BlockStmt] { let ... OT OK } | arrays.js:35:3:35:27 | [ExprStmt] sink(ar ... pop()); | semmle.label | 21 | -| arrays.js:1:14:97:1 | [BlockStmt] { let ... OT OK } | arrays.js:35:3:35:27 | [ExprStmt] sink(ar ... pop()); | semmle.order | 21 | -| arrays.js:1:14:97:1 | [BlockStmt] { let ... OT OK } | arrays.js:37:3:37:23 | [DeclStmt] var arr4_spread = ... | semmle.label | 22 | -| arrays.js:1:14:97:1 | [BlockStmt] { let ... OT OK } | arrays.js:37:3:37:23 | [DeclStmt] var arr4_spread = ... | semmle.order | 22 | -| arrays.js:1:14:97:1 | [BlockStmt] { let ... OT OK } | arrays.js:38:3:38:35 | [ExprStmt] arr4_sp ... ..arr); | semmle.label | 23 | -| arrays.js:1:14:97:1 | [BlockStmt] { let ... OT OK } | arrays.js:38:3:38:35 | [ExprStmt] arr4_sp ... ..arr); | semmle.order | 23 | -| arrays.js:1:14:97:1 | [BlockStmt] { let ... OT OK } | arrays.js:39:3:39:26 | [ExprStmt] sink(ar ... pop()); | semmle.label | 24 | -| arrays.js:1:14:97:1 | [BlockStmt] { let ... OT OK } | arrays.js:39:3:39:26 | [ExprStmt] sink(ar ... pop()); | semmle.order | 24 | -| arrays.js:1:14:97:1 | [BlockStmt] { let ... OT OK } | arrays.js:41:3:41:29 | [DeclStmt] var arr5 = ... | semmle.label | 25 | -| arrays.js:1:14:97:1 | [BlockStmt] { let ... OT OK } | arrays.js:41:3:41:29 | [DeclStmt] var arr5 = ... | semmle.order | 25 | -| arrays.js:1:14:97:1 | [BlockStmt] { let ... OT OK } | arrays.js:42:3:42:19 | [ExprStmt] sink(arr5.pop()); | semmle.label | 26 | -| arrays.js:1:14:97:1 | [BlockStmt] { let ... OT OK } | arrays.js:42:3:42:19 | [ExprStmt] sink(arr5.pop()); | semmle.order | 26 | -| arrays.js:1:14:97:1 | [BlockStmt] { let ... OT OK } | arrays.js:44:3:44:28 | [ExprStmt] sink(ar ... pop()); | semmle.label | 27 | -| arrays.js:1:14:97:1 | [BlockStmt] { let ... OT OK } | arrays.js:44:3:44:28 | [ExprStmt] sink(ar ... pop()); | semmle.order | 27 | -| arrays.js:1:14:97:1 | [BlockStmt] { let ... OT OK } | arrays.js:46:3:46:16 | [DeclStmt] var arr6 = ... | semmle.label | 28 | -| arrays.js:1:14:97:1 | [BlockStmt] { let ... OT OK } | arrays.js:46:3:46:16 | [DeclStmt] var arr6 = ... | semmle.order | 28 | -| arrays.js:1:14:97:1 | [BlockStmt] { let ... OT OK } | arrays.js:47:3:49:3 | [ForStmt] for (va ... i]; } | semmle.label | 29 | -| arrays.js:1:14:97:1 | [BlockStmt] { let ... OT OK } | arrays.js:47:3:49:3 | [ForStmt] for (va ... i]; } | semmle.order | 29 | -| arrays.js:1:14:97:1 | [BlockStmt] { let ... OT OK } | arrays.js:50:3:50:19 | [ExprStmt] sink(arr6.pop()); | semmle.label | 30 | -| arrays.js:1:14:97:1 | [BlockStmt] { let ... OT OK } | arrays.js:50:3:50:19 | [ExprStmt] sink(arr6.pop()); | semmle.order | 30 | -| arrays.js:1:14:97:1 | [BlockStmt] { let ... OT OK } | arrays.js:53:3:56:5 | [ExprStmt] ["sourc ... . }); | semmle.label | 31 | -| arrays.js:1:14:97:1 | [BlockStmt] { let ... OT OK } | arrays.js:53:3:56:5 | [ExprStmt] ["sourc ... . }); | semmle.order | 31 | -| arrays.js:1:14:97:1 | [BlockStmt] { let ... OT OK } | arrays.js:58:3:58:15 | [ExprStmt] sink(arr[0]); | semmle.label | 32 | -| arrays.js:1:14:97:1 | [BlockStmt] { let ... OT OK } | arrays.js:58:3:58:15 | [ExprStmt] sink(arr[0]); | semmle.order | 32 | -| arrays.js:1:14:97:1 | [BlockStmt] { let ... OT OK } | arrays.js:60:3:62:3 | [ForOfStmt] for (co ... OK } | semmle.label | 33 | -| arrays.js:1:14:97:1 | [BlockStmt] { let ... OT OK } | arrays.js:60:3:62:3 | [ForOfStmt] for (co ... OK } | semmle.order | 33 | -| arrays.js:1:14:97:1 | [BlockStmt] { let ... OT OK } | arrays.js:64:3:66:3 | [ForOfStmt] for (co ... OK } | semmle.label | 34 | -| arrays.js:1:14:97:1 | [BlockStmt] { let ... OT OK } | arrays.js:64:3:66:3 | [ForOfStmt] for (co ... OK } | semmle.order | 34 | -| arrays.js:1:14:97:1 | [BlockStmt] { let ... OT OK } | arrays.js:68:3:70:3 | [ForOfStmt] for (co ... OK } | semmle.label | 35 | -| arrays.js:1:14:97:1 | [BlockStmt] { let ... OT OK } | arrays.js:68:3:70:3 | [ForOfStmt] for (co ... OK } | semmle.order | 35 | -| arrays.js:1:14:97:1 | [BlockStmt] { let ... OT OK } | arrays.js:72:3:72:16 | [DeclStmt] var arr7 = ... | semmle.label | 36 | -| arrays.js:1:14:97:1 | [BlockStmt] { let ... OT OK } | arrays.js:72:3:72:16 | [DeclStmt] var arr7 = ... | semmle.order | 36 | -| arrays.js:1:14:97:1 | [BlockStmt] { let ... OT OK } | arrays.js:73:3:73:20 | [ExprStmt] arr7.push(...arr); | semmle.label | 37 | -| arrays.js:1:14:97:1 | [BlockStmt] { let ... OT OK } | arrays.js:73:3:73:20 | [ExprStmt] arr7.push(...arr); | semmle.order | 37 | -| arrays.js:1:14:97:1 | [BlockStmt] { let ... OT OK } | arrays.js:74:3:76:3 | [ForOfStmt] for (co ... OK } | semmle.label | 38 | -| arrays.js:1:14:97:1 | [BlockStmt] { let ... OT OK } | arrays.js:74:3:76:3 | [ForOfStmt] for (co ... OK } | semmle.order | 38 | -| arrays.js:1:14:97:1 | [BlockStmt] { let ... OT OK } | arrays.js:78:3:78:42 | [DeclStmt] const arrayFrom = ... | semmle.label | 39 | -| arrays.js:1:14:97:1 | [BlockStmt] { let ... OT OK } | arrays.js:78:3:78:42 | [DeclStmt] const arrayFrom = ... | semmle.order | 39 | -| arrays.js:1:14:97:1 | [BlockStmt] { let ... OT OK } | arrays.js:79:3:81:3 | [ForOfStmt] for (co ... OK } | semmle.label | 40 | -| arrays.js:1:14:97:1 | [BlockStmt] { let ... OT OK } | arrays.js:79:3:81:3 | [ForOfStmt] for (co ... OK } | semmle.order | 40 | -| arrays.js:1:14:97:1 | [BlockStmt] { let ... OT OK } | arrays.js:83:3:83:31 | [ExprStmt] sink(ar ... back)); | semmle.label | 41 | -| arrays.js:1:14:97:1 | [BlockStmt] { let ... OT OK } | arrays.js:83:3:83:31 | [ExprStmt] sink(ar ... back)); | semmle.order | 41 | -| arrays.js:1:14:97:1 | [BlockStmt] { let ... OT OK } | arrays.js:85:3:85:42 | [DeclStmt] const arrayFind = ... | semmle.label | 42 | -| arrays.js:1:14:97:1 | [BlockStmt] { let ... OT OK } | arrays.js:85:3:85:42 | [DeclStmt] const arrayFind = ... | semmle.order | 42 | -| arrays.js:1:14:97:1 | [BlockStmt] { let ... OT OK } | arrays.js:86:3:86:37 | [ExprStmt] sink(ar ... back)); | semmle.label | 43 | -| arrays.js:1:14:97:1 | [BlockStmt] { let ... OT OK } | arrays.js:86:3:86:37 | [ExprStmt] sink(ar ... back)); | semmle.order | 43 | -| arrays.js:1:14:97:1 | [BlockStmt] { let ... OT OK } | arrays.js:88:3:88:31 | [DeclStmt] const uniq = ... | semmle.label | 44 | -| arrays.js:1:14:97:1 | [BlockStmt] { let ... OT OK } | arrays.js:88:3:88:31 | [DeclStmt] const uniq = ... | semmle.order | 44 | -| arrays.js:1:14:97:1 | [BlockStmt] { let ... OT OK } | arrays.js:89:3:91:3 | [ForOfStmt] for (co ... OK } | semmle.label | 45 | -| arrays.js:1:14:97:1 | [BlockStmt] { let ... OT OK } | arrays.js:89:3:91:3 | [ForOfStmt] for (co ... OK } | semmle.order | 45 | -| arrays.js:1:14:97:1 | [BlockStmt] { let ... OT OK } | arrays.js:93:3:93:19 | [ExprStmt] sink(arr.at(-1)); | semmle.label | 46 | -| arrays.js:1:14:97:1 | [BlockStmt] { let ... OT OK } | arrays.js:93:3:93:19 | [ExprStmt] sink(arr.at(-1)); | semmle.order | 46 | -| arrays.js:1:14:97:1 | [BlockStmt] { let ... OT OK } | arrays.js:95:3:95:36 | [ExprStmt] sink([" ... => x)); | semmle.label | 47 | -| arrays.js:1:14:97:1 | [BlockStmt] { let ... OT OK } | arrays.js:95:3:95:36 | [ExprStmt] sink([" ... => x)); | semmle.order | 47 | -| arrays.js:1:14:97:1 | [BlockStmt] { let ... OT OK } | arrays.js:96:3:96:38 | [ExprStmt] sink([" ... !!x)); | semmle.label | 48 | -| arrays.js:1:14:97:1 | [BlockStmt] { let ... OT OK } | arrays.js:96:3:96:38 | [ExprStmt] sink([" ... !!x)); | semmle.order | 48 | +| arrays.js:1:1:110:2 | [ParExpr] (functi ... T OK }) | arrays.js:1:2:110:1 | [FunctionExpr] functio ... OT OK } | semmle.label | 1 | +| arrays.js:1:1:110:2 | [ParExpr] (functi ... T OK }) | arrays.js:1:2:110:1 | [FunctionExpr] functio ... OT OK } | semmle.order | 1 | +| arrays.js:1:1:110:3 | [ExprStmt] (functi ... OK }); | arrays.js:1:1:110:2 | [ParExpr] (functi ... T OK }) | semmle.label | 1 | +| arrays.js:1:1:110:3 | [ExprStmt] (functi ... OK }); | arrays.js:1:1:110:2 | [ParExpr] (functi ... T OK }) | semmle.order | 1 | +| arrays.js:1:2:110:1 | [FunctionExpr] functio ... OT OK } | arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | semmle.label | 5 | +| arrays.js:1:2:110:1 | [FunctionExpr] functio ... OT OK } | arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | semmle.order | 5 | +| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:2:3:2:24 | [DeclStmt] let source = ... | semmle.label | 1 | +| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:2:3:2:24 | [DeclStmt] let source = ... | semmle.order | 1 | +| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:4:3:4:28 | [DeclStmt] var obj = ... | semmle.label | 2 | +| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:4:3:4:28 | [DeclStmt] var obj = ... | semmle.order | 2 | +| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:5:3:5:16 | [ExprStmt] sink(obj.foo); | semmle.label | 3 | +| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:5:3:5:16 | [ExprStmt] sink(obj.foo); | semmle.order | 3 | +| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:7:3:7:15 | [DeclStmt] var arr = ... | semmle.label | 4 | +| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:7:3:7:15 | [DeclStmt] var arr = ... | semmle.order | 4 | +| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:8:3:8:19 | [ExprStmt] arr.push(source); | semmle.label | 5 | +| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:8:3:8:19 | [ExprStmt] arr.push(source); | semmle.order | 5 | +| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:10:3:12:3 | [ForStmt] for (va ... OK } | semmle.label | 6 | +| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:10:3:12:3 | [ForStmt] for (va ... OK } | semmle.order | 6 | +| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:15:3:15:30 | [ExprStmt] arr.for ... nk(e)); | semmle.label | 7 | +| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:15:3:15:30 | [ExprStmt] arr.for ... nk(e)); | semmle.order | 7 | +| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:16:3:16:26 | [ExprStmt] arr.map ... nk(e)); | semmle.label | 8 | +| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:16:3:16:26 | [ExprStmt] arr.map ... nk(e)); | semmle.order | 8 | +| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:18:3:18:53 | [ExprStmt] [1, 2, ... nk(e)); | semmle.label | 9 | +| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:18:3:18:53 | [ExprStmt] [1, 2, ... nk(e)); | semmle.order | 9 | +| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:20:3:20:18 | [ExprStmt] sink(arr.pop()); | semmle.label | 10 | +| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:20:3:20:18 | [ExprStmt] sink(arr.pop()); | semmle.order | 10 | +| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:22:3:22:24 | [DeclStmt] var arr2 = ... | semmle.label | 11 | +| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:22:3:22:24 | [DeclStmt] var arr2 = ... | semmle.order | 11 | +| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:23:3:23:19 | [ExprStmt] sink(arr2.pop()); | semmle.label | 12 | +| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:23:3:23:19 | [ExprStmt] sink(arr2.pop()); | semmle.order | 12 | +| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:25:3:25:24 | [DeclStmt] var arr3 = ... | semmle.label | 13 | +| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:25:3:25:24 | [DeclStmt] var arr3 = ... | semmle.order | 13 | +| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:26:3:26:19 | [ExprStmt] sink(arr3.pop()); | semmle.label | 14 | +| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:26:3:26:19 | [ExprStmt] sink(arr3.pop()); | semmle.order | 14 | +| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:28:3:28:16 | [DeclStmt] var arr4 = ... | semmle.label | 15 | +| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:28:3:28:16 | [DeclStmt] var arr4 = ... | semmle.order | 15 | +| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:29:3:29:30 | [ExprStmt] arr4.sp ... urce"); | semmle.label | 16 | +| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:29:3:29:30 | [ExprStmt] arr4.sp ... urce"); | semmle.order | 16 | +| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:30:3:30:19 | [ExprStmt] sink(arr4.pop()); | semmle.label | 17 | +| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:30:3:30:19 | [ExprStmt] sink(arr4.pop()); | semmle.order | 17 | +| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:32:3:32:24 | [DeclStmt] var arr4_variant = ... | semmle.label | 18 | +| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:32:3:32:24 | [DeclStmt] var arr4_variant = ... | semmle.order | 18 | +| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:33:3:33:46 | [ExprStmt] arr4_va ... urce"); | semmle.label | 19 | +| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:33:3:33:46 | [ExprStmt] arr4_va ... urce"); | semmle.order | 19 | +| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:34:3:34:21 | [ExprStmt] arr4_variant.pop(); | semmle.label | 20 | +| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:34:3:34:21 | [ExprStmt] arr4_variant.pop(); | semmle.order | 20 | +| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:35:3:35:27 | [ExprStmt] sink(ar ... pop()); | semmle.label | 21 | +| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:35:3:35:27 | [ExprStmt] sink(ar ... pop()); | semmle.order | 21 | +| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:37:3:37:23 | [DeclStmt] var arr4_spread = ... | semmle.label | 22 | +| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:37:3:37:23 | [DeclStmt] var arr4_spread = ... | semmle.order | 22 | +| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:38:3:38:35 | [ExprStmt] arr4_sp ... ..arr); | semmle.label | 23 | +| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:38:3:38:35 | [ExprStmt] arr4_sp ... ..arr); | semmle.order | 23 | +| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:39:3:39:26 | [ExprStmt] sink(ar ... pop()); | semmle.label | 24 | +| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:39:3:39:26 | [ExprStmt] sink(ar ... pop()); | semmle.order | 24 | +| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:41:3:41:29 | [DeclStmt] var arr5 = ... | semmle.label | 25 | +| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:41:3:41:29 | [DeclStmt] var arr5 = ... | semmle.order | 25 | +| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:42:3:42:19 | [ExprStmt] sink(arr5.pop()); | semmle.label | 26 | +| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:42:3:42:19 | [ExprStmt] sink(arr5.pop()); | semmle.order | 26 | +| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:44:3:44:28 | [ExprStmt] sink(ar ... pop()); | semmle.label | 27 | +| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:44:3:44:28 | [ExprStmt] sink(ar ... pop()); | semmle.order | 27 | +| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:46:3:46:16 | [DeclStmt] var arr6 = ... | semmle.label | 28 | +| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:46:3:46:16 | [DeclStmt] var arr6 = ... | semmle.order | 28 | +| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:47:3:49:3 | [ForStmt] for (va ... i]; } | semmle.label | 29 | +| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:47:3:49:3 | [ForStmt] for (va ... i]; } | semmle.order | 29 | +| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:50:3:50:19 | [ExprStmt] sink(arr6.pop()); | semmle.label | 30 | +| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:50:3:50:19 | [ExprStmt] sink(arr6.pop()); | semmle.order | 30 | +| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:53:3:56:5 | [ExprStmt] ["sourc ... . }); | semmle.label | 31 | +| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:53:3:56:5 | [ExprStmt] ["sourc ... . }); | semmle.order | 31 | +| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:58:3:58:15 | [ExprStmt] sink(arr[0]); | semmle.label | 32 | +| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:58:3:58:15 | [ExprStmt] sink(arr[0]); | semmle.order | 32 | +| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:60:3:62:3 | [ForOfStmt] for (co ... OK } | semmle.label | 33 | +| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:60:3:62:3 | [ForOfStmt] for (co ... OK } | semmle.order | 33 | +| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:64:3:66:3 | [ForOfStmt] for (co ... OK } | semmle.label | 34 | +| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:64:3:66:3 | [ForOfStmt] for (co ... OK } | semmle.order | 34 | +| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:68:3:70:3 | [ForOfStmt] for (co ... OK } | semmle.label | 35 | +| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:68:3:70:3 | [ForOfStmt] for (co ... OK } | semmle.order | 35 | +| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:72:3:72:16 | [DeclStmt] var arr7 = ... | semmle.label | 36 | +| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:72:3:72:16 | [DeclStmt] var arr7 = ... | semmle.order | 36 | +| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:73:3:73:20 | [ExprStmt] arr7.push(...arr); | semmle.label | 37 | +| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:73:3:73:20 | [ExprStmt] arr7.push(...arr); | semmle.order | 37 | +| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:74:3:76:3 | [ForOfStmt] for (co ... OK } | semmle.label | 38 | +| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:74:3:76:3 | [ForOfStmt] for (co ... OK } | semmle.order | 38 | +| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:78:3:78:42 | [DeclStmt] const arrayFrom = ... | semmle.label | 39 | +| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:78:3:78:42 | [DeclStmt] const arrayFrom = ... | semmle.order | 39 | +| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:79:3:81:3 | [ForOfStmt] for (co ... OK } | semmle.label | 40 | +| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:79:3:81:3 | [ForOfStmt] for (co ... OK } | semmle.order | 40 | +| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:83:3:83:31 | [ExprStmt] sink(ar ... back)); | semmle.label | 41 | +| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:83:3:83:31 | [ExprStmt] sink(ar ... back)); | semmle.order | 41 | +| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:85:3:85:42 | [DeclStmt] const arrayFind = ... | semmle.label | 42 | +| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:85:3:85:42 | [DeclStmt] const arrayFind = ... | semmle.order | 42 | +| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:86:3:86:37 | [ExprStmt] sink(ar ... back)); | semmle.label | 43 | +| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:86:3:86:37 | [ExprStmt] sink(ar ... back)); | semmle.order | 43 | +| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:88:3:88:31 | [DeclStmt] const uniq = ... | semmle.label | 44 | +| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:88:3:88:31 | [DeclStmt] const uniq = ... | semmle.order | 44 | +| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:89:3:91:3 | [ForOfStmt] for (co ... OK } | semmle.label | 45 | +| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:89:3:91:3 | [ForOfStmt] for (co ... OK } | semmle.order | 45 | +| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:93:3:93:19 | [ExprStmt] sink(arr.at(-1)); | semmle.label | 46 | +| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:93:3:93:19 | [ExprStmt] sink(arr.at(-1)); | semmle.order | 46 | +| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:95:3:95:36 | [ExprStmt] sink([" ... => x)); | semmle.label | 47 | +| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:95:3:95:36 | [ExprStmt] sink([" ... => x)); | semmle.order | 47 | +| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:96:3:96:38 | [ExprStmt] sink([" ... !!x)); | semmle.label | 48 | +| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:96:3:96:38 | [ExprStmt] sink([" ... !!x)); | semmle.order | 48 | +| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:98:3:98:16 | [DeclStmt] var arr8 = ... | semmle.label | 49 | +| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:98:3:98:16 | [DeclStmt] var arr8 = ... | semmle.order | 49 | +| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:99:3:99:40 | [ExprStmt] arr8 = ... urce"); | semmle.label | 50 | +| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:99:3:99:40 | [ExprStmt] arr8 = ... urce"); | semmle.order | 50 | +| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:100:3:100:19 | [ExprStmt] sink(arr8.pop()); | semmle.label | 51 | +| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:100:3:100:19 | [ExprStmt] sink(arr8.pop()); | semmle.order | 51 | +| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:102:3:102:24 | [DeclStmt] var arr8_variant = ... | semmle.label | 52 | +| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:102:3:102:24 | [DeclStmt] var arr8_variant = ... | semmle.order | 52 | +| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:103:3:103:64 | [ExprStmt] arr8_va ... urce"); | semmle.label | 53 | +| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:103:3:103:64 | [ExprStmt] arr8_va ... urce"); | semmle.order | 53 | +| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:104:3:104:21 | [ExprStmt] arr8_variant.pop(); | semmle.label | 54 | +| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:104:3:104:21 | [ExprStmt] arr8_variant.pop(); | semmle.order | 54 | +| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:105:3:105:27 | [ExprStmt] sink(ar ... pop()); | semmle.label | 55 | +| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:105:3:105:27 | [ExprStmt] sink(ar ... pop()); | semmle.order | 55 | +| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:107:3:107:23 | [DeclStmt] var arr8_spread = ... | semmle.label | 56 | +| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:107:3:107:23 | [DeclStmt] var arr8_spread = ... | semmle.order | 56 | +| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:108:3:108:52 | [ExprStmt] arr8_sp ... ..arr); | semmle.label | 57 | +| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:108:3:108:52 | [ExprStmt] arr8_sp ... ..arr); | semmle.order | 57 | +| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:109:3:109:26 | [ExprStmt] sink(ar ... pop()); | semmle.label | 58 | +| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:109:3:109:26 | [ExprStmt] sink(ar ... pop()); | semmle.order | 58 | | arrays.js:2:3:2:24 | [DeclStmt] let source = ... | arrays.js:2:7:2:23 | [VariableDeclarator] source = "source" | semmle.label | 1 | | arrays.js:2:3:2:24 | [DeclStmt] let source = ... | arrays.js:2:7:2:23 | [VariableDeclarator] source = "source" | semmle.order | 1 | | arrays.js:2:7:2:23 | [VariableDeclarator] source = "source" | arrays.js:2:7:2:12 | [VarDecl] source | semmle.label | 1 | @@ -1288,6 +1384,112 @@ edges | arrays.js:96:33:96:35 | [UnaryExpr] !!x | arrays.js:96:34:96:35 | [UnaryExpr] !x | semmle.order | 1 | | arrays.js:96:34:96:35 | [UnaryExpr] !x | arrays.js:96:35:96:35 | [VarRef] x | semmle.label | 1 | | arrays.js:96:34:96:35 | [UnaryExpr] !x | arrays.js:96:35:96:35 | [VarRef] x | semmle.order | 1 | +| arrays.js:98:3:98:16 | [DeclStmt] var arr8 = ... | arrays.js:98:7:98:15 | [VariableDeclarator] arr8 = [] | semmle.label | 1 | +| arrays.js:98:3:98:16 | [DeclStmt] var arr8 = ... | arrays.js:98:7:98:15 | [VariableDeclarator] arr8 = [] | semmle.order | 1 | +| arrays.js:98:7:98:15 | [VariableDeclarator] arr8 = [] | arrays.js:98:7:98:10 | [VarDecl] arr8 | semmle.label | 1 | +| arrays.js:98:7:98:15 | [VariableDeclarator] arr8 = [] | arrays.js:98:7:98:10 | [VarDecl] arr8 | semmle.order | 1 | +| arrays.js:98:7:98:15 | [VariableDeclarator] arr8 = [] | arrays.js:98:14:98:15 | [ArrayExpr] [] | semmle.label | 2 | +| arrays.js:98:7:98:15 | [VariableDeclarator] arr8 = [] | arrays.js:98:14:98:15 | [ArrayExpr] [] | semmle.order | 2 | +| arrays.js:99:3:99:39 | [AssignExpr] arr8 = ... ource") | arrays.js:99:3:99:6 | [VarRef] arr8 | semmle.label | 1 | +| arrays.js:99:3:99:39 | [AssignExpr] arr8 = ... ource") | arrays.js:99:3:99:6 | [VarRef] arr8 | semmle.order | 1 | +| arrays.js:99:3:99:39 | [AssignExpr] arr8 = ... ource") | arrays.js:99:10:99:39 | [MethodCallExpr] arr8.to ... ource") | semmle.label | 2 | +| arrays.js:99:3:99:39 | [AssignExpr] arr8 = ... ource") | arrays.js:99:10:99:39 | [MethodCallExpr] arr8.to ... ource") | semmle.order | 2 | +| arrays.js:99:3:99:40 | [ExprStmt] arr8 = ... urce"); | arrays.js:99:3:99:39 | [AssignExpr] arr8 = ... ource") | semmle.label | 1 | +| arrays.js:99:3:99:40 | [ExprStmt] arr8 = ... urce"); | arrays.js:99:3:99:39 | [AssignExpr] arr8 = ... ource") | semmle.order | 1 | +| arrays.js:99:10:99:23 | [DotExpr] arr8.toSpliced | arrays.js:99:10:99:13 | [VarRef] arr8 | semmle.label | 1 | +| arrays.js:99:10:99:23 | [DotExpr] arr8.toSpliced | arrays.js:99:10:99:13 | [VarRef] arr8 | semmle.order | 1 | +| arrays.js:99:10:99:23 | [DotExpr] arr8.toSpliced | arrays.js:99:15:99:23 | [Label] toSpliced | semmle.label | 2 | +| arrays.js:99:10:99:23 | [DotExpr] arr8.toSpliced | arrays.js:99:15:99:23 | [Label] toSpliced | semmle.order | 2 | +| arrays.js:99:10:99:39 | [MethodCallExpr] arr8.to ... ource") | arrays.js:99:10:99:23 | [DotExpr] arr8.toSpliced | semmle.label | 0 | +| arrays.js:99:10:99:39 | [MethodCallExpr] arr8.to ... ource") | arrays.js:99:10:99:23 | [DotExpr] arr8.toSpliced | semmle.order | 0 | +| arrays.js:99:10:99:39 | [MethodCallExpr] arr8.to ... ource") | file://:0:0:0:0 | (Arguments) | semmle.label | 1 | +| arrays.js:99:10:99:39 | [MethodCallExpr] arr8.to ... ource") | file://:0:0:0:0 | (Arguments) | semmle.order | 1 | +| arrays.js:100:3:100:18 | [CallExpr] sink(arr8.pop()) | arrays.js:100:3:100:6 | [VarRef] sink | semmle.label | 0 | +| arrays.js:100:3:100:18 | [CallExpr] sink(arr8.pop()) | arrays.js:100:3:100:6 | [VarRef] sink | semmle.order | 0 | +| arrays.js:100:3:100:18 | [CallExpr] sink(arr8.pop()) | file://:0:0:0:0 | (Arguments) | semmle.label | 1 | +| arrays.js:100:3:100:18 | [CallExpr] sink(arr8.pop()) | file://:0:0:0:0 | (Arguments) | semmle.order | 1 | +| arrays.js:100:3:100:19 | [ExprStmt] sink(arr8.pop()); | arrays.js:100:3:100:18 | [CallExpr] sink(arr8.pop()) | semmle.label | 1 | +| arrays.js:100:3:100:19 | [ExprStmt] sink(arr8.pop()); | arrays.js:100:3:100:18 | [CallExpr] sink(arr8.pop()) | semmle.order | 1 | +| arrays.js:100:8:100:15 | [DotExpr] arr8.pop | arrays.js:100:8:100:11 | [VarRef] arr8 | semmle.label | 1 | +| arrays.js:100:8:100:15 | [DotExpr] arr8.pop | arrays.js:100:8:100:11 | [VarRef] arr8 | semmle.order | 1 | +| arrays.js:100:8:100:15 | [DotExpr] arr8.pop | arrays.js:100:13:100:15 | [Label] pop | semmle.label | 2 | +| arrays.js:100:8:100:15 | [DotExpr] arr8.pop | arrays.js:100:13:100:15 | [Label] pop | semmle.order | 2 | +| arrays.js:100:8:100:17 | [MethodCallExpr] arr8.pop() | arrays.js:100:8:100:15 | [DotExpr] arr8.pop | semmle.label | 0 | +| arrays.js:100:8:100:17 | [MethodCallExpr] arr8.pop() | arrays.js:100:8:100:15 | [DotExpr] arr8.pop | semmle.order | 0 | +| arrays.js:102:3:102:24 | [DeclStmt] var arr8_variant = ... | arrays.js:102:7:102:23 | [VariableDeclarator] arr8_variant = [] | semmle.label | 1 | +| arrays.js:102:3:102:24 | [DeclStmt] var arr8_variant = ... | arrays.js:102:7:102:23 | [VariableDeclarator] arr8_variant = [] | semmle.order | 1 | +| arrays.js:102:7:102:23 | [VariableDeclarator] arr8_variant = [] | arrays.js:102:7:102:18 | [VarDecl] arr8_variant | semmle.label | 1 | +| arrays.js:102:7:102:23 | [VariableDeclarator] arr8_variant = [] | arrays.js:102:7:102:18 | [VarDecl] arr8_variant | semmle.order | 1 | +| arrays.js:102:7:102:23 | [VariableDeclarator] arr8_variant = [] | arrays.js:102:22:102:23 | [ArrayExpr] [] | semmle.label | 2 | +| arrays.js:102:7:102:23 | [VariableDeclarator] arr8_variant = [] | arrays.js:102:22:102:23 | [ArrayExpr] [] | semmle.order | 2 | +| arrays.js:103:3:103:63 | [AssignExpr] arr8_va ... ource") | arrays.js:103:3:103:14 | [VarRef] arr8_variant | semmle.label | 1 | +| arrays.js:103:3:103:63 | [AssignExpr] arr8_va ... ource") | arrays.js:103:3:103:14 | [VarRef] arr8_variant | semmle.order | 1 | +| arrays.js:103:3:103:63 | [AssignExpr] arr8_va ... ource") | arrays.js:103:18:103:63 | [MethodCallExpr] arr8_va ... ource") | semmle.label | 2 | +| arrays.js:103:3:103:63 | [AssignExpr] arr8_va ... ource") | arrays.js:103:18:103:63 | [MethodCallExpr] arr8_va ... ource") | semmle.order | 2 | +| arrays.js:103:3:103:64 | [ExprStmt] arr8_va ... urce"); | arrays.js:103:3:103:63 | [AssignExpr] arr8_va ... ource") | semmle.label | 1 | +| arrays.js:103:3:103:64 | [ExprStmt] arr8_va ... urce"); | arrays.js:103:3:103:63 | [AssignExpr] arr8_va ... ource") | semmle.order | 1 | +| arrays.js:103:18:103:39 | [DotExpr] arr8_va ... Spliced | arrays.js:103:18:103:29 | [VarRef] arr8_variant | semmle.label | 1 | +| arrays.js:103:18:103:39 | [DotExpr] arr8_va ... Spliced | arrays.js:103:18:103:29 | [VarRef] arr8_variant | semmle.order | 1 | +| arrays.js:103:18:103:39 | [DotExpr] arr8_va ... Spliced | arrays.js:103:31:103:39 | [Label] toSpliced | semmle.label | 2 | +| arrays.js:103:18:103:39 | [DotExpr] arr8_va ... Spliced | arrays.js:103:31:103:39 | [Label] toSpliced | semmle.order | 2 | +| arrays.js:103:18:103:63 | [MethodCallExpr] arr8_va ... ource") | arrays.js:103:18:103:39 | [DotExpr] arr8_va ... Spliced | semmle.label | 0 | +| arrays.js:103:18:103:63 | [MethodCallExpr] arr8_va ... ource") | arrays.js:103:18:103:39 | [DotExpr] arr8_va ... Spliced | semmle.order | 0 | +| arrays.js:103:18:103:63 | [MethodCallExpr] arr8_va ... ource") | file://:0:0:0:0 | (Arguments) | semmle.label | 1 | +| arrays.js:103:18:103:63 | [MethodCallExpr] arr8_va ... ource") | file://:0:0:0:0 | (Arguments) | semmle.order | 1 | +| arrays.js:104:3:104:18 | [DotExpr] arr8_variant.pop | arrays.js:104:3:104:14 | [VarRef] arr8_variant | semmle.label | 1 | +| arrays.js:104:3:104:18 | [DotExpr] arr8_variant.pop | arrays.js:104:3:104:14 | [VarRef] arr8_variant | semmle.order | 1 | +| arrays.js:104:3:104:18 | [DotExpr] arr8_variant.pop | arrays.js:104:16:104:18 | [Label] pop | semmle.label | 2 | +| arrays.js:104:3:104:18 | [DotExpr] arr8_variant.pop | arrays.js:104:16:104:18 | [Label] pop | semmle.order | 2 | +| arrays.js:104:3:104:20 | [MethodCallExpr] arr8_variant.pop() | arrays.js:104:3:104:18 | [DotExpr] arr8_variant.pop | semmle.label | 0 | +| arrays.js:104:3:104:20 | [MethodCallExpr] arr8_variant.pop() | arrays.js:104:3:104:18 | [DotExpr] arr8_variant.pop | semmle.order | 0 | +| arrays.js:104:3:104:21 | [ExprStmt] arr8_variant.pop(); | arrays.js:104:3:104:20 | [MethodCallExpr] arr8_variant.pop() | semmle.label | 1 | +| arrays.js:104:3:104:21 | [ExprStmt] arr8_variant.pop(); | arrays.js:104:3:104:20 | [MethodCallExpr] arr8_variant.pop() | semmle.order | 1 | +| arrays.js:105:3:105:26 | [CallExpr] sink(ar ... .pop()) | arrays.js:105:3:105:6 | [VarRef] sink | semmle.label | 0 | +| arrays.js:105:3:105:26 | [CallExpr] sink(ar ... .pop()) | arrays.js:105:3:105:6 | [VarRef] sink | semmle.order | 0 | +| arrays.js:105:3:105:26 | [CallExpr] sink(ar ... .pop()) | file://:0:0:0:0 | (Arguments) | semmle.label | 1 | +| arrays.js:105:3:105:26 | [CallExpr] sink(ar ... .pop()) | file://:0:0:0:0 | (Arguments) | semmle.order | 1 | +| arrays.js:105:3:105:27 | [ExprStmt] sink(ar ... pop()); | arrays.js:105:3:105:26 | [CallExpr] sink(ar ... .pop()) | semmle.label | 1 | +| arrays.js:105:3:105:27 | [ExprStmt] sink(ar ... pop()); | arrays.js:105:3:105:26 | [CallExpr] sink(ar ... .pop()) | semmle.order | 1 | +| arrays.js:105:8:105:23 | [DotExpr] arr8_variant.pop | arrays.js:105:8:105:19 | [VarRef] arr8_variant | semmle.label | 1 | +| arrays.js:105:8:105:23 | [DotExpr] arr8_variant.pop | arrays.js:105:8:105:19 | [VarRef] arr8_variant | semmle.order | 1 | +| arrays.js:105:8:105:23 | [DotExpr] arr8_variant.pop | arrays.js:105:21:105:23 | [Label] pop | semmle.label | 2 | +| arrays.js:105:8:105:23 | [DotExpr] arr8_variant.pop | arrays.js:105:21:105:23 | [Label] pop | semmle.order | 2 | +| arrays.js:105:8:105:25 | [MethodCallExpr] arr8_variant.pop() | arrays.js:105:8:105:23 | [DotExpr] arr8_variant.pop | semmle.label | 0 | +| arrays.js:105:8:105:25 | [MethodCallExpr] arr8_variant.pop() | arrays.js:105:8:105:23 | [DotExpr] arr8_variant.pop | semmle.order | 0 | +| arrays.js:107:3:107:23 | [DeclStmt] var arr8_spread = ... | arrays.js:107:7:107:22 | [VariableDeclarator] arr8_spread = [] | semmle.label | 1 | +| arrays.js:107:3:107:23 | [DeclStmt] var arr8_spread = ... | arrays.js:107:7:107:22 | [VariableDeclarator] arr8_spread = [] | semmle.order | 1 | +| arrays.js:107:7:107:22 | [VariableDeclarator] arr8_spread = [] | arrays.js:107:7:107:17 | [VarDecl] arr8_spread | semmle.label | 1 | +| arrays.js:107:7:107:22 | [VariableDeclarator] arr8_spread = [] | arrays.js:107:7:107:17 | [VarDecl] arr8_spread | semmle.order | 1 | +| arrays.js:107:7:107:22 | [VariableDeclarator] arr8_spread = [] | arrays.js:107:21:107:22 | [ArrayExpr] [] | semmle.label | 2 | +| arrays.js:107:7:107:22 | [VariableDeclarator] arr8_spread = [] | arrays.js:107:21:107:22 | [ArrayExpr] [] | semmle.order | 2 | +| arrays.js:108:3:108:51 | [AssignExpr] arr8_sp ... ...arr) | arrays.js:108:3:108:13 | [VarRef] arr8_spread | semmle.label | 1 | +| arrays.js:108:3:108:51 | [AssignExpr] arr8_sp ... ...arr) | arrays.js:108:3:108:13 | [VarRef] arr8_spread | semmle.order | 1 | +| arrays.js:108:3:108:51 | [AssignExpr] arr8_sp ... ...arr) | arrays.js:108:17:108:51 | [MethodCallExpr] arr8_sp ... ...arr) | semmle.label | 2 | +| arrays.js:108:3:108:51 | [AssignExpr] arr8_sp ... ...arr) | arrays.js:108:17:108:51 | [MethodCallExpr] arr8_sp ... ...arr) | semmle.order | 2 | +| arrays.js:108:3:108:52 | [ExprStmt] arr8_sp ... ..arr); | arrays.js:108:3:108:51 | [AssignExpr] arr8_sp ... ...arr) | semmle.label | 1 | +| arrays.js:108:3:108:52 | [ExprStmt] arr8_sp ... ..arr); | arrays.js:108:3:108:51 | [AssignExpr] arr8_sp ... ...arr) | semmle.order | 1 | +| arrays.js:108:17:108:37 | [DotExpr] arr8_sp ... Spliced | arrays.js:108:17:108:27 | [VarRef] arr8_spread | semmle.label | 1 | +| arrays.js:108:17:108:37 | [DotExpr] arr8_sp ... Spliced | arrays.js:108:17:108:27 | [VarRef] arr8_spread | semmle.order | 1 | +| arrays.js:108:17:108:37 | [DotExpr] arr8_sp ... Spliced | arrays.js:108:29:108:37 | [Label] toSpliced | semmle.label | 2 | +| arrays.js:108:17:108:37 | [DotExpr] arr8_sp ... Spliced | arrays.js:108:29:108:37 | [Label] toSpliced | semmle.order | 2 | +| arrays.js:108:17:108:51 | [MethodCallExpr] arr8_sp ... ...arr) | arrays.js:108:17:108:37 | [DotExpr] arr8_sp ... Spliced | semmle.label | 0 | +| arrays.js:108:17:108:51 | [MethodCallExpr] arr8_sp ... ...arr) | arrays.js:108:17:108:37 | [DotExpr] arr8_sp ... Spliced | semmle.order | 0 | +| arrays.js:108:17:108:51 | [MethodCallExpr] arr8_sp ... ...arr) | file://:0:0:0:0 | (Arguments) | semmle.label | 1 | +| arrays.js:108:17:108:51 | [MethodCallExpr] arr8_sp ... ...arr) | file://:0:0:0:0 | (Arguments) | semmle.order | 1 | +| arrays.js:108:45:108:50 | [SpreadElement] ...arr | arrays.js:108:48:108:50 | [VarRef] arr | semmle.label | 1 | +| arrays.js:108:45:108:50 | [SpreadElement] ...arr | arrays.js:108:48:108:50 | [VarRef] arr | semmle.order | 1 | +| arrays.js:109:3:109:25 | [CallExpr] sink(ar ... .pop()) | arrays.js:109:3:109:6 | [VarRef] sink | semmle.label | 0 | +| arrays.js:109:3:109:25 | [CallExpr] sink(ar ... .pop()) | arrays.js:109:3:109:6 | [VarRef] sink | semmle.order | 0 | +| arrays.js:109:3:109:25 | [CallExpr] sink(ar ... .pop()) | file://:0:0:0:0 | (Arguments) | semmle.label | 1 | +| arrays.js:109:3:109:25 | [CallExpr] sink(ar ... .pop()) | file://:0:0:0:0 | (Arguments) | semmle.order | 1 | +| arrays.js:109:3:109:26 | [ExprStmt] sink(ar ... pop()); | arrays.js:109:3:109:25 | [CallExpr] sink(ar ... .pop()) | semmle.label | 1 | +| arrays.js:109:3:109:26 | [ExprStmt] sink(ar ... pop()); | arrays.js:109:3:109:25 | [CallExpr] sink(ar ... .pop()) | semmle.order | 1 | +| arrays.js:109:8:109:22 | [DotExpr] arr8_spread.pop | arrays.js:109:8:109:18 | [VarRef] arr8_spread | semmle.label | 1 | +| arrays.js:109:8:109:22 | [DotExpr] arr8_spread.pop | arrays.js:109:8:109:18 | [VarRef] arr8_spread | semmle.order | 1 | +| arrays.js:109:8:109:22 | [DotExpr] arr8_spread.pop | arrays.js:109:20:109:22 | [Label] pop | semmle.label | 2 | +| arrays.js:109:8:109:22 | [DotExpr] arr8_spread.pop | arrays.js:109:20:109:22 | [Label] pop | semmle.order | 2 | +| arrays.js:109:8:109:24 | [MethodCallExpr] arr8_spread.pop() | arrays.js:109:8:109:22 | [DotExpr] arr8_spread.pop | semmle.label | 0 | +| arrays.js:109:8:109:24 | [MethodCallExpr] arr8_spread.pop() | arrays.js:109:8:109:22 | [DotExpr] arr8_spread.pop | semmle.order | 0 | | file://:0:0:0:0 | (Arguments) | arrays.js:5:8:5:14 | [DotExpr] obj.foo | semmle.label | 0 | | file://:0:0:0:0 | (Arguments) | arrays.js:5:8:5:14 | [DotExpr] obj.foo | semmle.order | 0 | | file://:0:0:0:0 | (Arguments) | arrays.js:8:12:8:17 | [VarRef] source | semmle.label | 0 | @@ -1406,6 +1608,32 @@ edges | file://:0:0:0:0 | (Arguments) | arrays.js:96:8:96:36 | [MethodCallExpr] ["sourc ... => !!x) | semmle.order | 0 | | file://:0:0:0:0 | (Arguments) | arrays.js:96:26:96:35 | [ArrowFunctionExpr] (x) => !!x | semmle.label | 0 | | file://:0:0:0:0 | (Arguments) | arrays.js:96:26:96:35 | [ArrowFunctionExpr] (x) => !!x | semmle.order | 0 | +| file://:0:0:0:0 | (Arguments) | arrays.js:99:25:99:25 | [Literal] 0 | semmle.label | 0 | +| file://:0:0:0:0 | (Arguments) | arrays.js:99:25:99:25 | [Literal] 0 | semmle.order | 0 | +| file://:0:0:0:0 | (Arguments) | arrays.js:99:28:99:28 | [Literal] 0 | semmle.label | 1 | +| file://:0:0:0:0 | (Arguments) | arrays.js:99:28:99:28 | [Literal] 0 | semmle.order | 1 | +| file://:0:0:0:0 | (Arguments) | arrays.js:99:31:99:38 | [Literal] "source" | semmle.label | 2 | +| file://:0:0:0:0 | (Arguments) | arrays.js:99:31:99:38 | [Literal] "source" | semmle.order | 2 | +| file://:0:0:0:0 | (Arguments) | arrays.js:100:8:100:17 | [MethodCallExpr] arr8.pop() | semmle.label | 0 | +| file://:0:0:0:0 | (Arguments) | arrays.js:100:8:100:17 | [MethodCallExpr] arr8.pop() | semmle.order | 0 | +| file://:0:0:0:0 | (Arguments) | arrays.js:103:41:103:41 | [Literal] 0 | semmle.label | 0 | +| file://:0:0:0:0 | (Arguments) | arrays.js:103:41:103:41 | [Literal] 0 | semmle.order | 0 | +| file://:0:0:0:0 | (Arguments) | arrays.js:103:44:103:44 | [Literal] 0 | semmle.label | 1 | +| file://:0:0:0:0 | (Arguments) | arrays.js:103:44:103:44 | [Literal] 0 | semmle.order | 1 | +| file://:0:0:0:0 | (Arguments) | arrays.js:103:47:103:52 | [Literal] "safe" | semmle.label | 2 | +| file://:0:0:0:0 | (Arguments) | arrays.js:103:47:103:52 | [Literal] "safe" | semmle.order | 2 | +| file://:0:0:0:0 | (Arguments) | arrays.js:103:55:103:62 | [Literal] "source" | semmle.label | 3 | +| file://:0:0:0:0 | (Arguments) | arrays.js:103:55:103:62 | [Literal] "source" | semmle.order | 3 | +| file://:0:0:0:0 | (Arguments) | arrays.js:105:8:105:25 | [MethodCallExpr] arr8_variant.pop() | semmle.label | 0 | +| file://:0:0:0:0 | (Arguments) | arrays.js:105:8:105:25 | [MethodCallExpr] arr8_variant.pop() | semmle.order | 0 | +| file://:0:0:0:0 | (Arguments) | arrays.js:108:39:108:39 | [Literal] 0 | semmle.label | 0 | +| file://:0:0:0:0 | (Arguments) | arrays.js:108:39:108:39 | [Literal] 0 | semmle.order | 0 | +| file://:0:0:0:0 | (Arguments) | arrays.js:108:42:108:42 | [Literal] 0 | semmle.label | 1 | +| file://:0:0:0:0 | (Arguments) | arrays.js:108:42:108:42 | [Literal] 0 | semmle.order | 1 | +| file://:0:0:0:0 | (Arguments) | arrays.js:108:45:108:50 | [SpreadElement] ...arr | semmle.label | 2 | +| file://:0:0:0:0 | (Arguments) | arrays.js:108:45:108:50 | [SpreadElement] ...arr | semmle.order | 2 | +| file://:0:0:0:0 | (Arguments) | arrays.js:109:8:109:24 | [MethodCallExpr] arr8_spread.pop() | semmle.label | 0 | +| file://:0:0:0:0 | (Arguments) | arrays.js:109:8:109:24 | [MethodCallExpr] arr8_spread.pop() | semmle.order | 0 | | file://:0:0:0:0 | (Parameters) | arrays.js:15:16:15:16 | [SimpleParameter] e | semmle.label | 0 | | file://:0:0:0:0 | (Parameters) | arrays.js:15:16:15:16 | [SimpleParameter] e | semmle.order | 0 | | file://:0:0:0:0 | (Parameters) | arrays.js:16:12:16:12 | [SimpleParameter] e | semmle.label | 0 | From e7844e2855da2accbe508d328ed165eef776d024 Mon Sep 17 00:00:00 2001 From: Tamas Vajk Date: Wed, 13 Nov 2024 13:47:40 +0100 Subject: [PATCH 162/347] C#: Remove Semmle.Extraction project and move content to Semmle.Extraction.CSharp --- csharp/CSharp.sln | 2 -- .../BUILD.bazel | 2 +- .../NugetExeWrapper.cs | 4 +-- ...xtraction.CSharp.DependencyFetching.csproj | 2 +- .../Semmle.Extraction.CSharp/BUILD.bazel | 2 +- .../Semmle.Extraction.CSharp.csproj | 1 - .../_Base}/AssemblyScope.cs | 0 .../_Base}/Context.cs | 0 .../_Base}/CsProjFile.cs | 0 .../Entities/Base/CachedEntityFactory.cs | 0 .../Base/CachedEntityFactoryExtensions.cs | 0 .../_Base}/Entities/Base/CachedEntity`1.cs | 0 .../_Base}/Entities/Base/Entity.cs | 0 .../_Base}/Entities/Base/FreshEntity.cs | 0 .../_Base}/Entities/Base/IEntity.cs | 0 .../_Base}/Entities/Base/LabelledEntity.cs | 0 .../_Base}/Entities/Base/UnlabelledEntity.cs | 0 .../_Base}/Entities/ExtractionMessage.cs | 0 .../_Base}/Entities/File.cs | 0 .../_Base}/Entities/Folder.cs | 0 .../_Base}/Entities/GeneratedFile.cs | 0 .../_Base}/Entities/GeneratedLocation.cs | 0 .../_Base}/Entities/Location.cs | 0 .../_Base}/Entities/SourceLocation.cs | 0 .../_Base}/EscapingTextWriter.cs | 0 .../Extractor/BinaryLogExtractionContext.cs | 0 .../_Base}/Extractor/ExtractionContext.cs | 0 .../_Base}/Extractor/ExtractorMode.cs | 0 .../_Base}/FilePattern.cs | 0 .../_Base}/IExtractionScope.cs | 0 .../_Base}/Id.cs | 0 .../_Base}/InternalError.cs | 0 .../_Base}/LocationExtensions.cs | 0 .../_Base}/Message.cs | 0 .../_Base}/Options.cs | 0 .../_Base}/PathTransformer.cs | 0 .../_Base}/SourceScope.cs | 0 .../_Base}/TrapExtensions.cs | 0 .../_Base}/TrapStackBehaviour.cs | 0 .../_Base}/TrapWriter.cs | 0 .../_Base}/Tuple.cs | 0 .../_Base}/Tuples.cs | 0 .../Semmle.Extraction.Tests/BUILD.bazel | 1 - .../Semmle.Extraction.Tests.csproj | 1 - .../extractor/Semmle.Extraction/BUILD.bazel | 36 ------------------- .../Semmle.Extraction.csproj | 12 ------- .../Semmle.Extraction.ruleset | 12 ------- .../Semmle.Extraction/paket.references | 2 -- 48 files changed, 5 insertions(+), 72 deletions(-) rename csharp/extractor/{Semmle.Extraction => Semmle.Extraction.CSharp/_Base}/AssemblyScope.cs (100%) rename csharp/extractor/{Semmle.Extraction => Semmle.Extraction.CSharp/_Base}/Context.cs (100%) rename csharp/extractor/{Semmle.Extraction => Semmle.Extraction.CSharp/_Base}/CsProjFile.cs (100%) rename csharp/extractor/{Semmle.Extraction => Semmle.Extraction.CSharp/_Base}/Entities/Base/CachedEntityFactory.cs (100%) rename csharp/extractor/{Semmle.Extraction => Semmle.Extraction.CSharp/_Base}/Entities/Base/CachedEntityFactoryExtensions.cs (100%) rename csharp/extractor/{Semmle.Extraction => Semmle.Extraction.CSharp/_Base}/Entities/Base/CachedEntity`1.cs (100%) rename csharp/extractor/{Semmle.Extraction => Semmle.Extraction.CSharp/_Base}/Entities/Base/Entity.cs (100%) rename csharp/extractor/{Semmle.Extraction => Semmle.Extraction.CSharp/_Base}/Entities/Base/FreshEntity.cs (100%) rename csharp/extractor/{Semmle.Extraction => Semmle.Extraction.CSharp/_Base}/Entities/Base/IEntity.cs (100%) rename csharp/extractor/{Semmle.Extraction => Semmle.Extraction.CSharp/_Base}/Entities/Base/LabelledEntity.cs (100%) rename csharp/extractor/{Semmle.Extraction => Semmle.Extraction.CSharp/_Base}/Entities/Base/UnlabelledEntity.cs (100%) rename csharp/extractor/{Semmle.Extraction => Semmle.Extraction.CSharp/_Base}/Entities/ExtractionMessage.cs (100%) rename csharp/extractor/{Semmle.Extraction => Semmle.Extraction.CSharp/_Base}/Entities/File.cs (100%) rename csharp/extractor/{Semmle.Extraction => Semmle.Extraction.CSharp/_Base}/Entities/Folder.cs (100%) rename csharp/extractor/{Semmle.Extraction => Semmle.Extraction.CSharp/_Base}/Entities/GeneratedFile.cs (100%) rename csharp/extractor/{Semmle.Extraction => Semmle.Extraction.CSharp/_Base}/Entities/GeneratedLocation.cs (100%) rename csharp/extractor/{Semmle.Extraction => Semmle.Extraction.CSharp/_Base}/Entities/Location.cs (100%) rename csharp/extractor/{Semmle.Extraction => Semmle.Extraction.CSharp/_Base}/Entities/SourceLocation.cs (100%) rename csharp/extractor/{Semmle.Extraction => Semmle.Extraction.CSharp/_Base}/EscapingTextWriter.cs (100%) rename csharp/extractor/{Semmle.Extraction => Semmle.Extraction.CSharp/_Base}/Extractor/BinaryLogExtractionContext.cs (100%) rename csharp/extractor/{Semmle.Extraction => Semmle.Extraction.CSharp/_Base}/Extractor/ExtractionContext.cs (100%) rename csharp/extractor/{Semmle.Extraction => Semmle.Extraction.CSharp/_Base}/Extractor/ExtractorMode.cs (100%) rename csharp/extractor/{Semmle.Extraction => Semmle.Extraction.CSharp/_Base}/FilePattern.cs (100%) rename csharp/extractor/{Semmle.Extraction => Semmle.Extraction.CSharp/_Base}/IExtractionScope.cs (100%) rename csharp/extractor/{Semmle.Extraction => Semmle.Extraction.CSharp/_Base}/Id.cs (100%) rename csharp/extractor/{Semmle.Extraction => Semmle.Extraction.CSharp/_Base}/InternalError.cs (100%) rename csharp/extractor/{Semmle.Extraction => Semmle.Extraction.CSharp/_Base}/LocationExtensions.cs (100%) rename csharp/extractor/{Semmle.Extraction => Semmle.Extraction.CSharp/_Base}/Message.cs (100%) rename csharp/extractor/{Semmle.Extraction => Semmle.Extraction.CSharp/_Base}/Options.cs (100%) rename csharp/extractor/{Semmle.Extraction => Semmle.Extraction.CSharp/_Base}/PathTransformer.cs (100%) rename csharp/extractor/{Semmle.Extraction => Semmle.Extraction.CSharp/_Base}/SourceScope.cs (100%) rename csharp/extractor/{Semmle.Extraction => Semmle.Extraction.CSharp/_Base}/TrapExtensions.cs (100%) rename csharp/extractor/{Semmle.Extraction => Semmle.Extraction.CSharp/_Base}/TrapStackBehaviour.cs (100%) rename csharp/extractor/{Semmle.Extraction => Semmle.Extraction.CSharp/_Base}/TrapWriter.cs (100%) rename csharp/extractor/{Semmle.Extraction => Semmle.Extraction.CSharp/_Base}/Tuple.cs (100%) rename csharp/extractor/{Semmle.Extraction => Semmle.Extraction.CSharp/_Base}/Tuples.cs (100%) delete mode 100644 csharp/extractor/Semmle.Extraction/BUILD.bazel delete mode 100644 csharp/extractor/Semmle.Extraction/Semmle.Extraction.csproj delete mode 100644 csharp/extractor/Semmle.Extraction/Semmle.Extraction.ruleset delete mode 100644 csharp/extractor/Semmle.Extraction/paket.references diff --git a/csharp/CSharp.sln b/csharp/CSharp.sln index dddba01c6ed3..f4cde4624d45 100644 --- a/csharp/CSharp.sln +++ b/csharp/CSharp.sln @@ -4,8 +4,6 @@ VisualStudioVersion = 15.0.27130.2036 MinimumVisualStudioVersion = 10.0.40219.1 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Semmle.Util", "extractor\Semmle.Util\Semmle.Util.csproj", "{CDD7AD69-0FD8-40F0-A9DA-F1077A2A85D6}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Semmle.Extraction", "extractor\Semmle.Extraction\Semmle.Extraction.csproj", "{81EAAD75-4BE1-44E4-91DF-20778216DB64}" -EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Semmle.Extraction.CSharp", "extractor\Semmle.Extraction.CSharp\Semmle.Extraction.CSharp.csproj", "{C4D62DA0-B64B-440B-86DC-AB52318CB8BF}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Semmle.Extraction.CSharp.DependencyFetching", "extractor\Semmle.Extraction.CSharp.DependencyFetching\Semmle.Extraction.CSharp.DependencyFetching.csproj", "{541D1AC5-E42C-4AB2-A1A4-C2355CE2A2EF}" diff --git a/csharp/extractor/Semmle.Extraction.CSharp.DependencyFetching/BUILD.bazel b/csharp/extractor/Semmle.Extraction.CSharp.DependencyFetching/BUILD.bazel index 71f541540779..4be9954a2740 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp.DependencyFetching/BUILD.bazel +++ b/csharp/extractor/Semmle.Extraction.CSharp.DependencyFetching/BUILD.bazel @@ -14,7 +14,7 @@ codeql_csharp_library( nowarn = ["CA1822"], visibility = ["//csharp:__subpackages__"], deps = [ - "//csharp/extractor/Semmle.Extraction", + "//csharp/extractor/Semmle.Extraction.CSharp", "//csharp/extractor/Semmle.Util", ], ) diff --git a/csharp/extractor/Semmle.Extraction.CSharp.DependencyFetching/NugetExeWrapper.cs b/csharp/extractor/Semmle.Extraction.CSharp.DependencyFetching/NugetExeWrapper.cs index 0676042eb42f..c77daa8899c8 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp.DependencyFetching/NugetExeWrapper.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp.DependencyFetching/NugetExeWrapper.cs @@ -15,7 +15,7 @@ namespace Semmle.Extraction.CSharp.DependencyFetching internal class NugetExeWrapper : IDisposable { private readonly string? nugetExe; - private readonly Util.Logging.ILogger logger; + private readonly Semmle.Util.Logging.ILogger logger; public int PackageCount => fileProvider.PackagesConfigs.Count; @@ -33,7 +33,7 @@ internal class NugetExeWrapper : IDisposable /// /// Create the package manager for a specified source tree. /// - public NugetExeWrapper(FileProvider fileProvider, TemporaryDirectory packageDirectory, Util.Logging.ILogger logger) + public NugetExeWrapper(FileProvider fileProvider, TemporaryDirectory packageDirectory, Semmle.Util.Logging.ILogger logger) { this.fileProvider = fileProvider; this.packageDirectory = packageDirectory; diff --git a/csharp/extractor/Semmle.Extraction.CSharp.DependencyFetching/Semmle.Extraction.CSharp.DependencyFetching.csproj b/csharp/extractor/Semmle.Extraction.CSharp.DependencyFetching/Semmle.Extraction.CSharp.DependencyFetching.csproj index 82003c4dd142..424094c1ed6e 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp.DependencyFetching/Semmle.Extraction.CSharp.DependencyFetching.csproj +++ b/csharp/extractor/Semmle.Extraction.CSharp.DependencyFetching/Semmle.Extraction.CSharp.DependencyFetching.csproj @@ -5,7 +5,7 @@ - + diff --git a/csharp/extractor/Semmle.Extraction.CSharp/BUILD.bazel b/csharp/extractor/Semmle.Extraction.CSharp/BUILD.bazel index f5d36340bd63..0d15114bf814 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/BUILD.bazel +++ b/csharp/extractor/Semmle.Extraction.CSharp/BUILD.bazel @@ -6,6 +6,7 @@ load( codeql_csharp_library( name = "Semmle.Extraction.CSharp", srcs = glob([ + "_Base/**/*.cs", "Comments/**/*.cs", "Entities/**/*.cs", "Extractor/**/*.cs", @@ -16,7 +17,6 @@ codeql_csharp_library( allow_unsafe_blocks = True, visibility = ["//csharp:__subpackages__"], deps = [ - "//csharp/extractor/Semmle.Extraction", "//csharp/extractor/Semmle.Extraction.CSharp.Util", "//csharp/extractor/Semmle.Util", "@paket.main//basic.compilerlog.util", diff --git a/csharp/extractor/Semmle.Extraction.CSharp/Semmle.Extraction.CSharp.csproj b/csharp/extractor/Semmle.Extraction.CSharp/Semmle.Extraction.CSharp.csproj index 00a84ec3627a..3794d25df50c 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/Semmle.Extraction.CSharp.csproj +++ b/csharp/extractor/Semmle.Extraction.CSharp/Semmle.Extraction.CSharp.csproj @@ -1,7 +1,6 @@ - diff --git a/csharp/extractor/Semmle.Extraction/AssemblyScope.cs b/csharp/extractor/Semmle.Extraction.CSharp/_Base/AssemblyScope.cs similarity index 100% rename from csharp/extractor/Semmle.Extraction/AssemblyScope.cs rename to csharp/extractor/Semmle.Extraction.CSharp/_Base/AssemblyScope.cs diff --git a/csharp/extractor/Semmle.Extraction/Context.cs b/csharp/extractor/Semmle.Extraction.CSharp/_Base/Context.cs similarity index 100% rename from csharp/extractor/Semmle.Extraction/Context.cs rename to csharp/extractor/Semmle.Extraction.CSharp/_Base/Context.cs diff --git a/csharp/extractor/Semmle.Extraction/CsProjFile.cs b/csharp/extractor/Semmle.Extraction.CSharp/_Base/CsProjFile.cs similarity index 100% rename from csharp/extractor/Semmle.Extraction/CsProjFile.cs rename to csharp/extractor/Semmle.Extraction.CSharp/_Base/CsProjFile.cs diff --git a/csharp/extractor/Semmle.Extraction/Entities/Base/CachedEntityFactory.cs b/csharp/extractor/Semmle.Extraction.CSharp/_Base/Entities/Base/CachedEntityFactory.cs similarity index 100% rename from csharp/extractor/Semmle.Extraction/Entities/Base/CachedEntityFactory.cs rename to csharp/extractor/Semmle.Extraction.CSharp/_Base/Entities/Base/CachedEntityFactory.cs diff --git a/csharp/extractor/Semmle.Extraction/Entities/Base/CachedEntityFactoryExtensions.cs b/csharp/extractor/Semmle.Extraction.CSharp/_Base/Entities/Base/CachedEntityFactoryExtensions.cs similarity index 100% rename from csharp/extractor/Semmle.Extraction/Entities/Base/CachedEntityFactoryExtensions.cs rename to csharp/extractor/Semmle.Extraction.CSharp/_Base/Entities/Base/CachedEntityFactoryExtensions.cs diff --git a/csharp/extractor/Semmle.Extraction/Entities/Base/CachedEntity`1.cs b/csharp/extractor/Semmle.Extraction.CSharp/_Base/Entities/Base/CachedEntity`1.cs similarity index 100% rename from csharp/extractor/Semmle.Extraction/Entities/Base/CachedEntity`1.cs rename to csharp/extractor/Semmle.Extraction.CSharp/_Base/Entities/Base/CachedEntity`1.cs diff --git a/csharp/extractor/Semmle.Extraction/Entities/Base/Entity.cs b/csharp/extractor/Semmle.Extraction.CSharp/_Base/Entities/Base/Entity.cs similarity index 100% rename from csharp/extractor/Semmle.Extraction/Entities/Base/Entity.cs rename to csharp/extractor/Semmle.Extraction.CSharp/_Base/Entities/Base/Entity.cs diff --git a/csharp/extractor/Semmle.Extraction/Entities/Base/FreshEntity.cs b/csharp/extractor/Semmle.Extraction.CSharp/_Base/Entities/Base/FreshEntity.cs similarity index 100% rename from csharp/extractor/Semmle.Extraction/Entities/Base/FreshEntity.cs rename to csharp/extractor/Semmle.Extraction.CSharp/_Base/Entities/Base/FreshEntity.cs diff --git a/csharp/extractor/Semmle.Extraction/Entities/Base/IEntity.cs b/csharp/extractor/Semmle.Extraction.CSharp/_Base/Entities/Base/IEntity.cs similarity index 100% rename from csharp/extractor/Semmle.Extraction/Entities/Base/IEntity.cs rename to csharp/extractor/Semmle.Extraction.CSharp/_Base/Entities/Base/IEntity.cs diff --git a/csharp/extractor/Semmle.Extraction/Entities/Base/LabelledEntity.cs b/csharp/extractor/Semmle.Extraction.CSharp/_Base/Entities/Base/LabelledEntity.cs similarity index 100% rename from csharp/extractor/Semmle.Extraction/Entities/Base/LabelledEntity.cs rename to csharp/extractor/Semmle.Extraction.CSharp/_Base/Entities/Base/LabelledEntity.cs diff --git a/csharp/extractor/Semmle.Extraction/Entities/Base/UnlabelledEntity.cs b/csharp/extractor/Semmle.Extraction.CSharp/_Base/Entities/Base/UnlabelledEntity.cs similarity index 100% rename from csharp/extractor/Semmle.Extraction/Entities/Base/UnlabelledEntity.cs rename to csharp/extractor/Semmle.Extraction.CSharp/_Base/Entities/Base/UnlabelledEntity.cs diff --git a/csharp/extractor/Semmle.Extraction/Entities/ExtractionMessage.cs b/csharp/extractor/Semmle.Extraction.CSharp/_Base/Entities/ExtractionMessage.cs similarity index 100% rename from csharp/extractor/Semmle.Extraction/Entities/ExtractionMessage.cs rename to csharp/extractor/Semmle.Extraction.CSharp/_Base/Entities/ExtractionMessage.cs diff --git a/csharp/extractor/Semmle.Extraction/Entities/File.cs b/csharp/extractor/Semmle.Extraction.CSharp/_Base/Entities/File.cs similarity index 100% rename from csharp/extractor/Semmle.Extraction/Entities/File.cs rename to csharp/extractor/Semmle.Extraction.CSharp/_Base/Entities/File.cs diff --git a/csharp/extractor/Semmle.Extraction/Entities/Folder.cs b/csharp/extractor/Semmle.Extraction.CSharp/_Base/Entities/Folder.cs similarity index 100% rename from csharp/extractor/Semmle.Extraction/Entities/Folder.cs rename to csharp/extractor/Semmle.Extraction.CSharp/_Base/Entities/Folder.cs diff --git a/csharp/extractor/Semmle.Extraction/Entities/GeneratedFile.cs b/csharp/extractor/Semmle.Extraction.CSharp/_Base/Entities/GeneratedFile.cs similarity index 100% rename from csharp/extractor/Semmle.Extraction/Entities/GeneratedFile.cs rename to csharp/extractor/Semmle.Extraction.CSharp/_Base/Entities/GeneratedFile.cs diff --git a/csharp/extractor/Semmle.Extraction/Entities/GeneratedLocation.cs b/csharp/extractor/Semmle.Extraction.CSharp/_Base/Entities/GeneratedLocation.cs similarity index 100% rename from csharp/extractor/Semmle.Extraction/Entities/GeneratedLocation.cs rename to csharp/extractor/Semmle.Extraction.CSharp/_Base/Entities/GeneratedLocation.cs diff --git a/csharp/extractor/Semmle.Extraction/Entities/Location.cs b/csharp/extractor/Semmle.Extraction.CSharp/_Base/Entities/Location.cs similarity index 100% rename from csharp/extractor/Semmle.Extraction/Entities/Location.cs rename to csharp/extractor/Semmle.Extraction.CSharp/_Base/Entities/Location.cs diff --git a/csharp/extractor/Semmle.Extraction/Entities/SourceLocation.cs b/csharp/extractor/Semmle.Extraction.CSharp/_Base/Entities/SourceLocation.cs similarity index 100% rename from csharp/extractor/Semmle.Extraction/Entities/SourceLocation.cs rename to csharp/extractor/Semmle.Extraction.CSharp/_Base/Entities/SourceLocation.cs diff --git a/csharp/extractor/Semmle.Extraction/EscapingTextWriter.cs b/csharp/extractor/Semmle.Extraction.CSharp/_Base/EscapingTextWriter.cs similarity index 100% rename from csharp/extractor/Semmle.Extraction/EscapingTextWriter.cs rename to csharp/extractor/Semmle.Extraction.CSharp/_Base/EscapingTextWriter.cs diff --git a/csharp/extractor/Semmle.Extraction/Extractor/BinaryLogExtractionContext.cs b/csharp/extractor/Semmle.Extraction.CSharp/_Base/Extractor/BinaryLogExtractionContext.cs similarity index 100% rename from csharp/extractor/Semmle.Extraction/Extractor/BinaryLogExtractionContext.cs rename to csharp/extractor/Semmle.Extraction.CSharp/_Base/Extractor/BinaryLogExtractionContext.cs diff --git a/csharp/extractor/Semmle.Extraction/Extractor/ExtractionContext.cs b/csharp/extractor/Semmle.Extraction.CSharp/_Base/Extractor/ExtractionContext.cs similarity index 100% rename from csharp/extractor/Semmle.Extraction/Extractor/ExtractionContext.cs rename to csharp/extractor/Semmle.Extraction.CSharp/_Base/Extractor/ExtractionContext.cs diff --git a/csharp/extractor/Semmle.Extraction/Extractor/ExtractorMode.cs b/csharp/extractor/Semmle.Extraction.CSharp/_Base/Extractor/ExtractorMode.cs similarity index 100% rename from csharp/extractor/Semmle.Extraction/Extractor/ExtractorMode.cs rename to csharp/extractor/Semmle.Extraction.CSharp/_Base/Extractor/ExtractorMode.cs diff --git a/csharp/extractor/Semmle.Extraction/FilePattern.cs b/csharp/extractor/Semmle.Extraction.CSharp/_Base/FilePattern.cs similarity index 100% rename from csharp/extractor/Semmle.Extraction/FilePattern.cs rename to csharp/extractor/Semmle.Extraction.CSharp/_Base/FilePattern.cs diff --git a/csharp/extractor/Semmle.Extraction/IExtractionScope.cs b/csharp/extractor/Semmle.Extraction.CSharp/_Base/IExtractionScope.cs similarity index 100% rename from csharp/extractor/Semmle.Extraction/IExtractionScope.cs rename to csharp/extractor/Semmle.Extraction.CSharp/_Base/IExtractionScope.cs diff --git a/csharp/extractor/Semmle.Extraction/Id.cs b/csharp/extractor/Semmle.Extraction.CSharp/_Base/Id.cs similarity index 100% rename from csharp/extractor/Semmle.Extraction/Id.cs rename to csharp/extractor/Semmle.Extraction.CSharp/_Base/Id.cs diff --git a/csharp/extractor/Semmle.Extraction/InternalError.cs b/csharp/extractor/Semmle.Extraction.CSharp/_Base/InternalError.cs similarity index 100% rename from csharp/extractor/Semmle.Extraction/InternalError.cs rename to csharp/extractor/Semmle.Extraction.CSharp/_Base/InternalError.cs diff --git a/csharp/extractor/Semmle.Extraction/LocationExtensions.cs b/csharp/extractor/Semmle.Extraction.CSharp/_Base/LocationExtensions.cs similarity index 100% rename from csharp/extractor/Semmle.Extraction/LocationExtensions.cs rename to csharp/extractor/Semmle.Extraction.CSharp/_Base/LocationExtensions.cs diff --git a/csharp/extractor/Semmle.Extraction/Message.cs b/csharp/extractor/Semmle.Extraction.CSharp/_Base/Message.cs similarity index 100% rename from csharp/extractor/Semmle.Extraction/Message.cs rename to csharp/extractor/Semmle.Extraction.CSharp/_Base/Message.cs diff --git a/csharp/extractor/Semmle.Extraction/Options.cs b/csharp/extractor/Semmle.Extraction.CSharp/_Base/Options.cs similarity index 100% rename from csharp/extractor/Semmle.Extraction/Options.cs rename to csharp/extractor/Semmle.Extraction.CSharp/_Base/Options.cs diff --git a/csharp/extractor/Semmle.Extraction/PathTransformer.cs b/csharp/extractor/Semmle.Extraction.CSharp/_Base/PathTransformer.cs similarity index 100% rename from csharp/extractor/Semmle.Extraction/PathTransformer.cs rename to csharp/extractor/Semmle.Extraction.CSharp/_Base/PathTransformer.cs diff --git a/csharp/extractor/Semmle.Extraction/SourceScope.cs b/csharp/extractor/Semmle.Extraction.CSharp/_Base/SourceScope.cs similarity index 100% rename from csharp/extractor/Semmle.Extraction/SourceScope.cs rename to csharp/extractor/Semmle.Extraction.CSharp/_Base/SourceScope.cs diff --git a/csharp/extractor/Semmle.Extraction/TrapExtensions.cs b/csharp/extractor/Semmle.Extraction.CSharp/_Base/TrapExtensions.cs similarity index 100% rename from csharp/extractor/Semmle.Extraction/TrapExtensions.cs rename to csharp/extractor/Semmle.Extraction.CSharp/_Base/TrapExtensions.cs diff --git a/csharp/extractor/Semmle.Extraction/TrapStackBehaviour.cs b/csharp/extractor/Semmle.Extraction.CSharp/_Base/TrapStackBehaviour.cs similarity index 100% rename from csharp/extractor/Semmle.Extraction/TrapStackBehaviour.cs rename to csharp/extractor/Semmle.Extraction.CSharp/_Base/TrapStackBehaviour.cs diff --git a/csharp/extractor/Semmle.Extraction/TrapWriter.cs b/csharp/extractor/Semmle.Extraction.CSharp/_Base/TrapWriter.cs similarity index 100% rename from csharp/extractor/Semmle.Extraction/TrapWriter.cs rename to csharp/extractor/Semmle.Extraction.CSharp/_Base/TrapWriter.cs diff --git a/csharp/extractor/Semmle.Extraction/Tuple.cs b/csharp/extractor/Semmle.Extraction.CSharp/_Base/Tuple.cs similarity index 100% rename from csharp/extractor/Semmle.Extraction/Tuple.cs rename to csharp/extractor/Semmle.Extraction.CSharp/_Base/Tuple.cs diff --git a/csharp/extractor/Semmle.Extraction/Tuples.cs b/csharp/extractor/Semmle.Extraction.CSharp/_Base/Tuples.cs similarity index 100% rename from csharp/extractor/Semmle.Extraction/Tuples.cs rename to csharp/extractor/Semmle.Extraction.CSharp/_Base/Tuples.cs diff --git a/csharp/extractor/Semmle.Extraction.Tests/BUILD.bazel b/csharp/extractor/Semmle.Extraction.Tests/BUILD.bazel index dfdf41150ea8..df9799d3f959 100644 --- a/csharp/extractor/Semmle.Extraction.Tests/BUILD.bazel +++ b/csharp/extractor/Semmle.Extraction.Tests/BUILD.bazel @@ -9,7 +9,6 @@ codeql_xunit_test( "*.cs", ]), deps = [ - "//csharp/extractor/Semmle.Extraction", "//csharp/extractor/Semmle.Extraction.CSharp", "//csharp/extractor/Semmle.Extraction.CSharp.DependencyFetching", "//csharp/extractor/Semmle.Extraction.CSharp.Standalone:bin/Semmle.Extraction.CSharp.Standalone", diff --git a/csharp/extractor/Semmle.Extraction.Tests/Semmle.Extraction.Tests.csproj b/csharp/extractor/Semmle.Extraction.Tests/Semmle.Extraction.Tests.csproj index 60994237e152..d3940eb3df9f 100644 --- a/csharp/extractor/Semmle.Extraction.Tests/Semmle.Extraction.Tests.csproj +++ b/csharp/extractor/Semmle.Extraction.Tests/Semmle.Extraction.Tests.csproj @@ -4,7 +4,6 @@ - diff --git a/csharp/extractor/Semmle.Extraction/BUILD.bazel b/csharp/extractor/Semmle.Extraction/BUILD.bazel deleted file mode 100644 index 83dfb8235e88..000000000000 --- a/csharp/extractor/Semmle.Extraction/BUILD.bazel +++ /dev/null @@ -1,36 +0,0 @@ -load( - "//misc/bazel:csharp.bzl", - "codeql_csharp_library", -) - -config_setting( - name = "debug_build", - values = { - "compilation_mode": "dbg", - }, -) - -codeql_csharp_library( - name = "Semmle.Extraction", - srcs = glob([ - "Entities/**/*.cs", - "Extractor/**/*.cs", - "*.cs", - ]), - # enable via -c dbg on the bazel command line/in .bazelrc.local - defines = select({ - ":debug_build": [ - "TRACE", - "DEBUG", - "DEBUG_LABELS", - ], - "//conditions:default": [], - }), - internals_visible_to = ["Semmle.Extraction.CSharp"], - visibility = ["//csharp:__subpackages__"], - deps = [ - "//csharp/extractor/Semmle.Util", - "@paket.main//microsoft.build", - "@paket.main//microsoft.codeanalysis", - ], -) diff --git a/csharp/extractor/Semmle.Extraction/Semmle.Extraction.csproj b/csharp/extractor/Semmle.Extraction/Semmle.Extraction.csproj deleted file mode 100644 index 2173a50f2ad3..000000000000 --- a/csharp/extractor/Semmle.Extraction/Semmle.Extraction.csproj +++ /dev/null @@ -1,12 +0,0 @@ - - - - Semmle.Extraction.ruleset - - - - - - - - diff --git a/csharp/extractor/Semmle.Extraction/Semmle.Extraction.ruleset b/csharp/extractor/Semmle.Extraction/Semmle.Extraction.ruleset deleted file mode 100644 index 14df29e3653b..000000000000 --- a/csharp/extractor/Semmle.Extraction/Semmle.Extraction.ruleset +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - - \ No newline at end of file diff --git a/csharp/extractor/Semmle.Extraction/paket.references b/csharp/extractor/Semmle.Extraction/paket.references deleted file mode 100644 index 310fffb853f1..000000000000 --- a/csharp/extractor/Semmle.Extraction/paket.references +++ /dev/null @@ -1,2 +0,0 @@ -Microsoft.Build -Microsoft.CodeAnalysis From b7098b72a4b36759d0e4128c17cd9671972fa306 Mon Sep 17 00:00:00 2001 From: Tamas Vajk Date: Wed, 13 Nov 2024 14:24:08 +0100 Subject: [PATCH 163/347] Move location-like entities to the Semmle.Extraction.CSharp namespace --- .../Comments/CommentBlock.cs | 4 +- .../Comments/CommentProcessor.cs | 42 +++++++++---------- .../Entities/Assembly.cs | 4 +- .../Entities/Attribute.cs | 4 +- .../Entities/Base/CachedEntityFactory.cs | 0 .../Base/CachedEntityFactoryExtensions.cs | 0 .../Entities/Base/CachedEntity`1.cs | 0 .../{_Base => }/Entities/Base/Entity.cs | 0 .../{_Base => }/Entities/Base/FreshEntity.cs | 0 .../{_Base => }/Entities/Base/IEntity.cs | 0 .../Entities/Base/LabelledEntity.cs | 0 .../Entities/Base/UnlabelledEntity.cs | 0 .../Entities/CachedSymbol.cs | 4 +- .../Entities/Constructor.cs | 2 +- .../Entities/Expression.cs | 10 ++--- .../Entities/ExpressionInfo.cs | 4 +- .../Entities/ExpressionNodeInfo.cs | 4 +- .../Entities/Expressions/ArrayCreation.cs | 2 +- .../Entities/Expressions/Cast.cs | 2 +- .../Entities/Expressions/Default.cs | 2 +- .../Entities/Expressions/ImplicitCast.cs | 4 +- .../Entities/Expressions/Initializer.cs | 2 +- .../Entities/Expressions/Literal.cs | 6 +-- .../ObjectCreation/DateTimeObjectCreation.cs | 4 +- .../Entities/Expressions/This.cs | 2 +- .../Entities/Expressions/TypeAccess.cs | 2 +- .../Entities/Expressions/TypeOf.cs | 2 +- .../Expressions/VariableDeclaration.cs | 2 +- .../Entities/Field.cs | 2 +- .../Entities/IExpressionInfo.cs | 2 +- .../Entities/{ => Locations}/File.cs | 20 ++++++++- .../Entities => Entities/Locations}/Folder.cs | 12 +++--- .../Locations}/GeneratedFile.cs | 2 +- .../Locations}/GeneratedLocation.cs | 4 +- .../Locations}/Location.cs | 4 +- .../NonGeneratedSourceLocation.cs | 14 +++---- .../Locations}/SourceLocation.cs | 2 +- .../Entities/Method.cs | 2 +- .../Entities/Modifier.cs | 2 +- .../Entities/Namespace.cs | 2 +- .../Entities/Types/NamedType.cs | 2 +- .../Entities/Types/Nullability.cs | 2 +- .../Types/TypeParameterConstraints.cs | 3 +- .../Extractor/Context.cs | 12 +++--- .../Semmle.Extraction.CSharp/Tuples.cs | 10 ++--- .../Semmle.Extraction.CSharp/_Base/Context.cs | 12 +++--- .../_Base/Entities/File.cs | 29 ------------- .../_Base/{Entities => }/ExtractionMessage.cs | 0 .../Semmle.Extraction.CSharp/_Base/Message.cs | 4 +- .../Semmle.Extraction.CSharp/_Base/Tuples.cs | 10 ++--- 50 files changed, 122 insertions(+), 138 deletions(-) rename csharp/extractor/Semmle.Extraction.CSharp/{_Base => }/Entities/Base/CachedEntityFactory.cs (100%) rename csharp/extractor/Semmle.Extraction.CSharp/{_Base => }/Entities/Base/CachedEntityFactoryExtensions.cs (100%) rename csharp/extractor/Semmle.Extraction.CSharp/{_Base => }/Entities/Base/CachedEntity`1.cs (100%) rename csharp/extractor/Semmle.Extraction.CSharp/{_Base => }/Entities/Base/Entity.cs (100%) rename csharp/extractor/Semmle.Extraction.CSharp/{_Base => }/Entities/Base/FreshEntity.cs (100%) rename csharp/extractor/Semmle.Extraction.CSharp/{_Base => }/Entities/Base/IEntity.cs (100%) rename csharp/extractor/Semmle.Extraction.CSharp/{_Base => }/Entities/Base/LabelledEntity.cs (100%) rename csharp/extractor/Semmle.Extraction.CSharp/{_Base => }/Entities/Base/UnlabelledEntity.cs (100%) rename csharp/extractor/Semmle.Extraction.CSharp/Entities/{ => Locations}/File.cs (76%) rename csharp/extractor/Semmle.Extraction.CSharp/{_Base/Entities => Entities/Locations}/Folder.cs (63%) rename csharp/extractor/Semmle.Extraction.CSharp/{_Base/Entities => Entities/Locations}/GeneratedFile.cs (95%) rename csharp/extractor/Semmle.Extraction.CSharp/{_Base/Entities => Entities/Locations}/GeneratedLocation.cs (85%) rename csharp/extractor/Semmle.Extraction.CSharp/{_Base/Entities => Entities/Locations}/Location.cs (72%) rename csharp/extractor/Semmle.Extraction.CSharp/Entities/{ => Locations}/NonGeneratedSourceLocation.cs (78%) rename csharp/extractor/Semmle.Extraction.CSharp/{_Base/Entities => Entities/Locations}/SourceLocation.cs (84%) delete mode 100644 csharp/extractor/Semmle.Extraction.CSharp/_Base/Entities/File.cs rename csharp/extractor/Semmle.Extraction.CSharp/_Base/{Entities => }/ExtractionMessage.cs (100%) diff --git a/csharp/extractor/Semmle.Extraction.CSharp/Comments/CommentBlock.cs b/csharp/extractor/Semmle.Extraction.CSharp/Comments/CommentBlock.cs index 48dcd9f85a18..08db5bba0138 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/Comments/CommentBlock.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Comments/CommentBlock.cs @@ -12,7 +12,7 @@ internal class CommentBlock public IEnumerable CommentLines => lines; - public Location Location { get; private set; } + public Microsoft.CodeAnalysis.Location Location { get; private set; } public CommentBlock(CommentLine firstLine) { @@ -49,7 +49,7 @@ public void AddCommentLine(CommentLine line) { Location = !lines.Any() ? line.Location - : Location.Create( + : Microsoft.CodeAnalysis.Location.Create( line.Location.SourceTree!, new TextSpan(Location.SourceSpan.Start, line.Location.SourceSpan.End - Location.SourceSpan.Start)); diff --git a/csharp/extractor/Semmle.Extraction.CSharp/Comments/CommentProcessor.cs b/csharp/extractor/Semmle.Extraction.CSharp/Comments/CommentProcessor.cs index d8c9152bec11..6b6e363ba5f7 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/Comments/CommentProcessor.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Comments/CommentProcessor.cs @@ -19,10 +19,10 @@ public void AddComment(CommentLine comment) } // Comments sorted by location. - private readonly SortedDictionary comments = new SortedDictionary(new LocationComparer()); + private readonly SortedDictionary comments = new SortedDictionary(new LocationComparer()); // Program elements sorted by location. - private readonly SortedDictionary elements = new SortedDictionary(new LocationComparer()); + private readonly SortedDictionary elements = new SortedDictionary(new LocationComparer()); private readonly Dictionary duplicationGuardKeys = new Dictionary(); @@ -33,9 +33,9 @@ public void AddComment(CommentLine comment) return null; } - private class LocationComparer : IComparer + private class LocationComparer : IComparer { - public int Compare(Location? l1, Location? l2) => CommentProcessor.Compare(l1, l2); + public int Compare(Microsoft.CodeAnalysis.Location? l1, Microsoft.CodeAnalysis.Location? l2) => CommentProcessor.Compare(l1, l2); } /// @@ -44,7 +44,7 @@ private class LocationComparer : IComparer /// First location /// Second location /// <0 if l1 before l2, >0 if l1 after l2, else 0. - private static int Compare(Location? l1, Location? l2) + private static int Compare(Microsoft.CodeAnalysis.Location? l1, Microsoft.CodeAnalysis.Location? l2) { if (object.ReferenceEquals(l1, l2)) return 0; @@ -68,7 +68,7 @@ private static int Compare(Location? l1, Location? l2) /// The label of the element in the trap file. /// The duplication guard key of the element, if any. /// The location of the element. - public void AddElement(Label elementLabel, Key? duplicationGuardKey, Location? loc) + public void AddElement(Label elementLabel, Key? duplicationGuardKey, Microsoft.CodeAnalysis.Location? loc) { if (loc is not null && loc.IsInSource) elements[loc] = elementLabel; @@ -78,7 +78,7 @@ public void AddElement(Label elementLabel, Key? duplicationGuardKey, Location? l // Ensure that commentBlock and element refer to the same file // which can happen when processing multiple files. - private static void EnsureSameFile(Comments.CommentBlock commentBlock, ref KeyValuePair? element) + private static void EnsureSameFile(Comments.CommentBlock commentBlock, ref KeyValuePair? element) { if (element is not null && element.Value.Key.SourceTree != commentBlock.Location.SourceTree) element = null; @@ -96,9 +96,9 @@ private static void EnsureSameFile(Comments.CommentBlock commentBlock, ref KeyVa /// Output binding information. private void GenerateBindings( Comments.CommentBlock commentBlock, - KeyValuePair? previousElement, - KeyValuePair? nextElement, - KeyValuePair? parentElement, + KeyValuePair? previousElement, + KeyValuePair? nextElement, + KeyValuePair? parentElement, CommentBindingCallback callback ) { @@ -125,7 +125,7 @@ CommentBindingCallback callback } // Heuristic to decide which is the "best" element associated with the comment. - KeyValuePair? bestElement; + KeyValuePair? bestElement; if (previousElement is not null && previousElement.Value.Key.EndLine() == commentBlock.Location.StartLine()) { @@ -180,14 +180,14 @@ CommentBindingCallback callback private class ElementStack { // Invariant: the top of the stack must be contained by items below it. - private readonly Stack> elementStack = new Stack>(); + private readonly Stack> elementStack = new(); /// /// Add a new element to the stack. /// /// The stack is maintained. /// The new element to push. - public void Push(KeyValuePair value) + public void Push(KeyValuePair value) { // Maintain the invariant by popping existing elements while (elementStack.Count > 0 && !elementStack.Peek().Key.Contains(value.Key)) @@ -201,7 +201,7 @@ public void Push(KeyValuePair value) /// /// The location of the comment. /// An element completely containing l, or null if none found. - public KeyValuePair? FindParent(Location l) => + public KeyValuePair? FindParent(Microsoft.CodeAnalysis.Location l) => elementStack.Where(v => v.Key.Contains(l)).FirstOrNull(); /// @@ -209,7 +209,7 @@ public void Push(KeyValuePair value) /// /// The location of the comment. /// The element before l, or null. - public KeyValuePair? FindBefore(Location l) + public KeyValuePair? FindBefore(Microsoft.CodeAnalysis.Location l) { return elementStack .Where(v => v.Key.SourceSpan.End < l.SourceSpan.Start) @@ -222,7 +222,7 @@ public void Push(KeyValuePair value) /// The location of the comment. /// The next element. /// The next element. - public KeyValuePair? FindAfter(Location comment, KeyValuePair? next) + public KeyValuePair? FindAfter(Microsoft.CodeAnalysis.Location comment, KeyValuePair? next) { var p = FindParent(comment); return next.HasValue && p.HasValue && p.Value.Key.Before(next.Value.Key) ? null : next; @@ -233,7 +233,7 @@ public void Push(KeyValuePair value) private void GenerateBindings( Comments.CommentBlock block, ElementStack elementStack, - KeyValuePair? nextElement, + KeyValuePair? nextElement, CommentBindingCallback cb ) { @@ -259,8 +259,8 @@ CommentBindingCallback cb /// Where to send the results. /// true if there are more comments to process, false otherwise. private bool GenerateBindings( - IEnumerator> commentEnumerator, - KeyValuePair? nextElement, + IEnumerator> commentEnumerator, + KeyValuePair? nextElement, ElementStack elementStack, CommentBindingCallback cb ) @@ -319,8 +319,8 @@ public void GenerateBindings(CommentBindingCallback cb) var elementStack = new ElementStack(); - using IEnumerator> elementEnumerator = elements.GetEnumerator(); - using IEnumerator> commentEnumerator = comments.GetEnumerator(); + using IEnumerator> elementEnumerator = elements.GetEnumerator(); + using IEnumerator> commentEnumerator = comments.GetEnumerator(); if (!commentEnumerator.MoveNext()) { // There are no comments to process. diff --git a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Assembly.cs b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Assembly.cs index 0fa9422e08ca..ed13fb28a903 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Assembly.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Assembly.cs @@ -3,7 +3,7 @@ namespace Semmle.Extraction.CSharp.Entities { - internal class Assembly : Extraction.Entities.Location + internal class Assembly : Location { public override Context Context => (Context)base.Context; @@ -56,7 +56,7 @@ public override bool Equals(object? obj) return false; } - public static Extraction.Entities.Location Create(Context cx, Microsoft.CodeAnalysis.Location loc) => AssemblyConstructorFactory.Instance.CreateEntity(cx, loc, loc); + public static Location Create(Context cx, Microsoft.CodeAnalysis.Location loc) => AssemblyConstructorFactory.Instance.CreateEntity(cx, loc, loc); private class AssemblyConstructorFactory : CachedEntityFactory { diff --git a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Attribute.cs b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Attribute.cs index a70b84dde1df..e4799c05507f 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Attribute.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Attribute.cs @@ -151,9 +151,9 @@ private void ExtractArguments(TextWriter trapFile) public override Microsoft.CodeAnalysis.Location? ReportingLocation => attributeSyntax?.Name.GetLocation(); - private Semmle.Extraction.Entities.Location? location; + private Location? location; - private Semmle.Extraction.Entities.Location Location => + private Location Location => location ??= Context.CreateLocation(attributeSyntax is null ? entity.ReportingLocation : attributeSyntax.Name.GetLocation()); diff --git a/csharp/extractor/Semmle.Extraction.CSharp/_Base/Entities/Base/CachedEntityFactory.cs b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Base/CachedEntityFactory.cs similarity index 100% rename from csharp/extractor/Semmle.Extraction.CSharp/_Base/Entities/Base/CachedEntityFactory.cs rename to csharp/extractor/Semmle.Extraction.CSharp/Entities/Base/CachedEntityFactory.cs diff --git a/csharp/extractor/Semmle.Extraction.CSharp/_Base/Entities/Base/CachedEntityFactoryExtensions.cs b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Base/CachedEntityFactoryExtensions.cs similarity index 100% rename from csharp/extractor/Semmle.Extraction.CSharp/_Base/Entities/Base/CachedEntityFactoryExtensions.cs rename to csharp/extractor/Semmle.Extraction.CSharp/Entities/Base/CachedEntityFactoryExtensions.cs diff --git a/csharp/extractor/Semmle.Extraction.CSharp/_Base/Entities/Base/CachedEntity`1.cs b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Base/CachedEntity`1.cs similarity index 100% rename from csharp/extractor/Semmle.Extraction.CSharp/_Base/Entities/Base/CachedEntity`1.cs rename to csharp/extractor/Semmle.Extraction.CSharp/Entities/Base/CachedEntity`1.cs diff --git a/csharp/extractor/Semmle.Extraction.CSharp/_Base/Entities/Base/Entity.cs b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Base/Entity.cs similarity index 100% rename from csharp/extractor/Semmle.Extraction.CSharp/_Base/Entities/Base/Entity.cs rename to csharp/extractor/Semmle.Extraction.CSharp/Entities/Base/Entity.cs diff --git a/csharp/extractor/Semmle.Extraction.CSharp/_Base/Entities/Base/FreshEntity.cs b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Base/FreshEntity.cs similarity index 100% rename from csharp/extractor/Semmle.Extraction.CSharp/_Base/Entities/Base/FreshEntity.cs rename to csharp/extractor/Semmle.Extraction.CSharp/Entities/Base/FreshEntity.cs diff --git a/csharp/extractor/Semmle.Extraction.CSharp/_Base/Entities/Base/IEntity.cs b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Base/IEntity.cs similarity index 100% rename from csharp/extractor/Semmle.Extraction.CSharp/_Base/Entities/Base/IEntity.cs rename to csharp/extractor/Semmle.Extraction.CSharp/Entities/Base/IEntity.cs diff --git a/csharp/extractor/Semmle.Extraction.CSharp/_Base/Entities/Base/LabelledEntity.cs b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Base/LabelledEntity.cs similarity index 100% rename from csharp/extractor/Semmle.Extraction.CSharp/_Base/Entities/Base/LabelledEntity.cs rename to csharp/extractor/Semmle.Extraction.CSharp/Entities/Base/LabelledEntity.cs diff --git a/csharp/extractor/Semmle.Extraction.CSharp/_Base/Entities/Base/UnlabelledEntity.cs b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Base/UnlabelledEntity.cs similarity index 100% rename from csharp/extractor/Semmle.Extraction.CSharp/_Base/Entities/Base/UnlabelledEntity.cs rename to csharp/extractor/Semmle.Extraction.CSharp/Entities/Base/UnlabelledEntity.cs diff --git a/csharp/extractor/Semmle.Extraction.CSharp/Entities/CachedSymbol.cs b/csharp/extractor/Semmle.Extraction.CSharp/Entities/CachedSymbol.cs index 4a4d483ea372..ad5640b90e65 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/Entities/CachedSymbol.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Entities/CachedSymbol.cs @@ -89,7 +89,7 @@ protected void ExtractCompilerGenerated(TextWriter trapFile) /// public virtual Microsoft.CodeAnalysis.Location? FullLocation => Symbol.Locations.BestOrDefault(); - public virtual IEnumerable Locations + public virtual IEnumerable Locations { get { @@ -143,6 +143,6 @@ public ExpressionSyntax? ExpressionBody public override bool NeedsPopulation => Context.Defines(Symbol); - public Extraction.Entities.Location Location => Context.CreateLocation(ReportingLocation); + public Location Location => Context.CreateLocation(ReportingLocation); } } diff --git a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Constructor.cs b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Constructor.cs index 047a7b68ae6d..c3ce2bb6d29e 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Constructor.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Constructor.cs @@ -116,7 +116,7 @@ protected override void ExtractInitializers(TextWriter trapFile) } } - private void ExtractSourceInitializer(TextWriter trapFile, ITypeSymbol? type, IMethodSymbol? symbol, ArgumentListSyntax arguments, Location location) + private void ExtractSourceInitializer(TextWriter trapFile, ITypeSymbol? type, IMethodSymbol? symbol, ArgumentListSyntax arguments, Microsoft.CodeAnalysis.Location location) { var initInfo = new ExpressionInfo(Context, AnnotatedTypeSymbol.CreateNotAnnotated(type), diff --git a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Expression.cs b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Expression.cs index cdd2964ff216..f5021d38eeb5 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Expression.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Expression.cs @@ -15,7 +15,7 @@ internal class Expression : FreshEntity, IExpressionParentEntity { private readonly IExpressionInfo info; public AnnotatedTypeSymbol? Type { get; private set; } - public Extraction.Entities.Location Location { get; } + public Location Location { get; } public ExprKind Kind { get; } internal Expression(IExpressionInfo info, bool shouldPopulate = true) @@ -62,7 +62,7 @@ protected sealed override void Populate(TextWriter trapFile) type.PopulateGenerics(); } - public override Location? ReportingLocation => Location.Symbol; + public override Microsoft.CodeAnalysis.Location? ReportingLocation => Location.Symbol; internal void SetType(ITypeSymbol? type) { @@ -138,7 +138,7 @@ private static bool ContainsPattern(SyntaxNode node) => /// Creates a generated expression from a typed constant. /// public static Expression? CreateGenerated(Context cx, TypedConstant constant, IExpressionParentEntity parent, - int childIndex, Extraction.Entities.Location location) + int childIndex, Location location) { if (constant.IsNull || constant.Type is null) @@ -176,7 +176,7 @@ private static bool ContainsPattern(SyntaxNode node) => /// Creates a generated expression for a default argument value. /// public static Expression? CreateGenerated(Context cx, IParameterSymbol parameter, IExpressionParentEntity parent, - int childIndex, Extraction.Entities.Location location) + int childIndex, Location location) { if (!parameter.HasExplicitDefaultValue || parameter.Type is IErrorTypeSymbol) @@ -315,7 +315,7 @@ public static bool IsDynamic(Context cx, ExpressionSyntax node) /// /// Given `b` in `a?.b.c`, return `(a?.b, a?.b)`. - /// + /// /// Given `c` in `a?.b?.c.d`, return `(b?.c, a?.b?.c)`. /// /// A MemberBindingExpression. diff --git a/csharp/extractor/Semmle.Extraction.CSharp/Entities/ExpressionInfo.cs b/csharp/extractor/Semmle.Extraction.CSharp/Entities/ExpressionInfo.cs index 3474ad4a8183..8ebc0e2a0efa 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/Entities/ExpressionInfo.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Entities/ExpressionInfo.cs @@ -10,14 +10,14 @@ internal class ExpressionInfo : IExpressionInfo { public Context Context { get; } public AnnotatedTypeSymbol? Type { get; } - public Extraction.Entities.Location Location { get; } + public Location Location { get; } public ExprKind Kind { get; } public IExpressionParentEntity Parent { get; } public int Child { get; } public bool IsCompilerGenerated { get; } public string? ExprValue { get; } - public ExpressionInfo(Context cx, AnnotatedTypeSymbol? type, Extraction.Entities.Location location, ExprKind kind, + public ExpressionInfo(Context cx, AnnotatedTypeSymbol? type, Location location, ExprKind kind, IExpressionParentEntity parent, int child, bool isCompilerGenerated, string? value) { Context = cx; diff --git a/csharp/extractor/Semmle.Extraction.CSharp/Entities/ExpressionNodeInfo.cs b/csharp/extractor/Semmle.Extraction.CSharp/Entities/ExpressionNodeInfo.cs index a78f7e8c80b9..924382a55507 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/Entities/ExpressionNodeInfo.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Entities/ExpressionNodeInfo.cs @@ -115,9 +115,9 @@ public string? ExprValue } } - private Extraction.Entities.Location? cachedLocation; + private Location? cachedLocation; - public Extraction.Entities.Location Location + public Location Location { get { diff --git a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Expressions/ArrayCreation.cs b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Expressions/ArrayCreation.cs index 302bcaded39a..72993e2db010 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Expressions/ArrayCreation.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Expressions/ArrayCreation.cs @@ -88,7 +88,7 @@ private NormalArrayCreation(ExpressionNodeInfo info) : base(info) { } public static Expression Create(ExpressionNodeInfo info) => new NormalArrayCreation(info).TryPopulate(); - public static Expression CreateGenerated(Context cx, IExpressionParentEntity parent, int childIndex, ITypeSymbol type, IEnumerable items, Semmle.Extraction.Entities.Location location) + public static Expression CreateGenerated(Context cx, IExpressionParentEntity parent, int childIndex, ITypeSymbol type, IEnumerable items, Location location) { var info = new ExpressionInfo( cx, diff --git a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Expressions/Cast.cs b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Expressions/Cast.cs index 62e23e3b66dc..20a5dc611a31 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Expressions/Cast.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Expressions/Cast.cs @@ -32,7 +32,7 @@ protected override void PopulateExpression(TextWriter trapFile) public override Microsoft.CodeAnalysis.Location ReportingLocation => Syntax.GetLocation(); - public static Expression CreateGenerated(Context cx, IExpressionParentEntity parent, int childIndex, Microsoft.CodeAnalysis.ITypeSymbol type, object? value, Action createChild, Extraction.Entities.Location location) + public static Expression CreateGenerated(Context cx, IExpressionParentEntity parent, int childIndex, Microsoft.CodeAnalysis.ITypeSymbol type, object? value, Action createChild, Location location) { var info = new ExpressionInfo( cx, diff --git a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Expressions/Default.cs b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Expressions/Default.cs index 968f2e8f43b7..a7758e4243f9 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Expressions/Default.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Expressions/Default.cs @@ -15,7 +15,7 @@ protected override void PopulateExpression(TextWriter trapFile) TypeAccess.Create(Context, Syntax.Type, this, 0); } - public static Expression CreateGenerated(Context cx, IExpressionParentEntity parent, int childIndex, Extraction.Entities.Location location, string? value) + public static Expression CreateGenerated(Context cx, IExpressionParentEntity parent, int childIndex, Location location, string? value) { var info = new ExpressionInfo( cx, diff --git a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Expressions/ImplicitCast.cs b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Expressions/ImplicitCast.cs index 3e886a9c3ac9..b0508bf83b7e 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Expressions/ImplicitCast.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Expressions/ImplicitCast.cs @@ -55,7 +55,7 @@ private void AddOperatorCall(IMethodSymbol method) /// Creates a new generated expression with an implicit conversion added. /// public static Expression CreateGeneratedConversion(Context cx, IExpressionParentEntity parent, int childIndex, ITypeSymbol type, object value, - Extraction.Entities.Location location) + Location location) { ExpressionInfo create(ExprKind kind, string? v) => new ExpressionInfo( @@ -85,7 +85,7 @@ ExpressionInfo create(ExprKind kind, string? v) => /// Creates a new generated cast expression. /// public static Expression CreateGenerated(Context cx, IExpressionParentEntity parent, int childIndex, ITypeSymbol type, object value, - Extraction.Entities.Location location) + Location location) { var info = new ExpressionInfo(cx, AnnotatedTypeSymbol.CreateNotAnnotated(type), diff --git a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Expressions/Initializer.cs b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Expressions/Initializer.cs index cdc2e87798ec..92e2b910f992 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Expressions/Initializer.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Expressions/Initializer.cs @@ -36,7 +36,7 @@ protected override void PopulateExpression(TextWriter trapFile) } } - public static Expression CreateGenerated(Context cx, IExpressionParentEntity parent, int index, Extraction.Entities.Location location) + public static Expression CreateGenerated(Context cx, IExpressionParentEntity parent, int index, Location location) { var info = new ExpressionInfo( cx, diff --git a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Expressions/Literal.cs b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Expressions/Literal.cs index 72d54abf6c1a..d471839f97a3 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Expressions/Literal.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Expressions/Literal.cs @@ -37,7 +37,7 @@ private static ExprKind GetKind(ExpressionNodeInfo info) return GetExprKind(type, info.Node, info.Location, info.Context); } - private static ExprKind GetExprKind(ITypeSymbol? type, ExpressionSyntax? expr, Extraction.Entities.Location loc, Context context) + private static ExprKind GetExprKind(ITypeSymbol? type, ExpressionSyntax? expr, Location loc, Context context) { switch (type?.SpecialType) { @@ -87,7 +87,7 @@ private static ExprKind GetExprKind(ITypeSymbol? type, ExpressionSyntax? expr, E } public static Expression CreateGenerated(Context cx, IExpressionParentEntity parent, int childIndex, ITypeSymbol type, object? value, - Extraction.Entities.Location location) + Location location) { var kind = value is null ? ExprKind.NULL_LITERAL : GetExprKind(type, null, location, cx); var info = new ExpressionInfo( @@ -103,7 +103,7 @@ public static Expression CreateGenerated(Context cx, IExpressionParentEntity par return new Expression(info); } - public static Expression CreateGeneratedNullLiteral(Context cx, IExpressionParentEntity parent, int childIndex, Extraction.Entities.Location location) + public static Expression CreateGeneratedNullLiteral(Context cx, IExpressionParentEntity parent, int childIndex, Location location) { var info = new ExpressionInfo( cx, diff --git a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Expressions/ObjectCreation/DateTimeObjectCreation.cs b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Expressions/ObjectCreation/DateTimeObjectCreation.cs index 012a30d81cc4..98f7a8bce924 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Expressions/ObjectCreation/DateTimeObjectCreation.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Expressions/ObjectCreation/DateTimeObjectCreation.cs @@ -49,7 +49,7 @@ protected void PopulateExpression(TextWriter trapFile) // The `type` symbol must be a System.DateTime type and the value must be a System.DateTime object. // The expression that is being created is a call to the System.DateTime(long) constructor, where // the number of ticks from the `value` object is used as the argument to the constructor call. - public static Expression CreateGenerated(Context cx, IExpressionParentEntity parent, int childIndex, ITypeSymbol type, object? value, Extraction.Entities.Location location) + public static Expression CreateGenerated(Context cx, IExpressionParentEntity parent, int childIndex, ITypeSymbol type, object? value, Location location) { var constructorSymbol = GetDateTimeConstructor(type) ?? throw new InternalError("Could not find symbol for System.DateTime(long)"); var expr = new DateTimeObjectCreation(constructorSymbol, new ExpressionInfo( @@ -68,4 +68,4 @@ public static Expression CreateGenerated(Context cx, IExpressionParentEntity par return expr.TryPopulate(); } } -} \ No newline at end of file +} diff --git a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Expressions/This.cs b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Expressions/This.cs index 33f2ad9fbc78..53dfc84de094 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Expressions/This.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Expressions/This.cs @@ -7,7 +7,7 @@ internal class This : Expression { private This(IExpressionInfo info) : base(info) { } - public static This CreateImplicit(Context cx, ITypeSymbol @class, Extraction.Entities.Location loc, IExpressionParentEntity parent, int child) => + public static This CreateImplicit(Context cx, ITypeSymbol @class, Location loc, IExpressionParentEntity parent, int child) => new This(new ExpressionInfo(cx, AnnotatedTypeSymbol.CreateNotAnnotated(@class), loc, Kinds.ExprKind.THIS_ACCESS, parent, child, isCompilerGenerated: true, null)); public static This CreateExplicit(ExpressionNodeInfo info) => new This(info.SetKind(ExprKind.THIS_ACCESS)); diff --git a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Expressions/TypeAccess.cs b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Expressions/TypeAccess.cs index b4e678d8ab6b..55afd83318ef 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Expressions/TypeAccess.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Expressions/TypeAccess.cs @@ -35,7 +35,7 @@ protected override void PopulateExpression(TextWriter trapFile) public static Expression Create(ExpressionNodeInfo info) => new TypeAccess(info).TryPopulate(); - public static Expression CreateGenerated(Context cx, IExpressionParentEntity parent, int childIndex, Microsoft.CodeAnalysis.ITypeSymbol type, Extraction.Entities.Location location) + public static Expression CreateGenerated(Context cx, IExpressionParentEntity parent, int childIndex, Microsoft.CodeAnalysis.ITypeSymbol type, Location location) { var typeAccessInfo = new ExpressionInfo( cx, diff --git a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Expressions/TypeOf.cs b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Expressions/TypeOf.cs index b36c1e425a03..cb205d383ac0 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Expressions/TypeOf.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Expressions/TypeOf.cs @@ -17,7 +17,7 @@ protected override void PopulateExpression(TextWriter trapFile) TypeAccess.Create(Context, Syntax.Type, this, TypeAccessIndex); } - public static Expression CreateGenerated(Context cx, IExpressionParentEntity parent, int childIndex, Microsoft.CodeAnalysis.ITypeSymbol type, Extraction.Entities.Location location) + public static Expression CreateGenerated(Context cx, IExpressionParentEntity parent, int childIndex, Microsoft.CodeAnalysis.ITypeSymbol type, Location location) { var info = new ExpressionInfo( cx, diff --git a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Expressions/VariableDeclaration.cs b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Expressions/VariableDeclaration.cs index 5931feb070c0..c44f9e2b9468 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Expressions/VariableDeclaration.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Expressions/VariableDeclaration.cs @@ -13,7 +13,7 @@ internal class VariableDeclaration : Expression { private VariableDeclaration(IExpressionInfo info) : base(info) { } - public static VariableDeclaration Create(Context cx, ISymbol symbol, AnnotatedTypeSymbol? type, TypeSyntax? optionalSyntax, Extraction.Entities.Location exprLocation, bool isVar, IExpressionParentEntity parent, int child) + public static VariableDeclaration Create(Context cx, ISymbol symbol, AnnotatedTypeSymbol? type, TypeSyntax? optionalSyntax, Location exprLocation, bool isVar, IExpressionParentEntity parent, int child) { var ret = new VariableDeclaration(new ExpressionInfo(cx, type, exprLocation, ExprKind.LOCAL_VAR_DECL, parent, child, isCompilerGenerated: false, null)); cx.Try(null, null, () => diff --git a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Field.cs b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Field.cs index 4894da062e3f..d95c0944f0fb 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Field.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Field.cs @@ -105,7 +105,7 @@ public override void Populate(TextWriter trapFile) } } - private Expression AddInitializerAssignment(TextWriter trapFile, ExpressionSyntax initializer, Extraction.Entities.Location loc, + private Expression AddInitializerAssignment(TextWriter trapFile, ExpressionSyntax initializer, Location loc, string? constValue, ref int child) { var type = Symbol.GetAnnotatedType(); diff --git a/csharp/extractor/Semmle.Extraction.CSharp/Entities/IExpressionInfo.cs b/csharp/extractor/Semmle.Extraction.CSharp/Entities/IExpressionInfo.cs index ea43b19456cf..167ad8066718 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/Entities/IExpressionInfo.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Entities/IExpressionInfo.cs @@ -18,7 +18,7 @@ internal interface IExpressionInfo /// /// The location of the expression. /// - Extraction.Entities.Location Location { get; } + Location Location { get; } /// /// The kind of the expression. diff --git a/csharp/extractor/Semmle.Extraction.CSharp/Entities/File.cs b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Locations/File.cs similarity index 76% rename from csharp/extractor/Semmle.Extraction.CSharp/Entities/File.cs rename to csharp/extractor/Semmle.Extraction.CSharp/Entities/Locations/File.cs index bd2a7fbd181f..05b339edf013 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/Entities/File.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Locations/File.cs @@ -6,21 +6,37 @@ namespace Semmle.Extraction.CSharp.Entities { - internal class File : Extraction.Entities.File + public class File : Extraction.CachedEntity { + protected readonly string originalPath; + private readonly Lazy transformedPathLazy; + protected PathTransformer.ITransformedPath TransformedPath => transformedPathLazy.Value; public override Context Context => (Context)base.Context; + public override Microsoft.CodeAnalysis.Location? ReportingLocation => null; + + public override bool NeedsPopulation => true; protected File(Context cx, string path) : base(cx, path) { + originalPath = path; + var adjustedPath = BinaryLogExtractionContext.GetAdjustedPath(Context.ExtractionContext, originalPath) ?? path; + transformedPathLazy = new Lazy(() => Context.ExtractionContext.PathTransformer.Transform(adjustedPath)); } + public override void WriteId(EscapingTextWriter trapFile) + { + trapFile.Write(TransformedPath.DatabaseId); + trapFile.Write(";sourcefile"); + } + + public override void Populate(TextWriter trapFile) { trapFile.files(this, TransformedPath.Value); if (TransformedPath.ParentDirectory is PathTransformer.ITransformedPath dir) - trapFile.containerparent(Extraction.Entities.Folder.Create(Context, dir), this); + trapFile.containerparent(Folder.Create(Context, dir), this); var trees = Context.Compilation.SyntaxTrees.Where(t => t.FilePath == originalPath); diff --git a/csharp/extractor/Semmle.Extraction.CSharp/_Base/Entities/Folder.cs b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Locations/Folder.cs similarity index 63% rename from csharp/extractor/Semmle.Extraction.CSharp/_Base/Entities/Folder.cs rename to csharp/extractor/Semmle.Extraction.CSharp/Entities/Locations/Folder.cs index 465d545d9833..5d0fdc422b89 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/_Base/Entities/Folder.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Locations/Folder.cs @@ -1,10 +1,10 @@ using System.IO; -namespace Semmle.Extraction.Entities +namespace Semmle.Extraction.CSharp.Entities { - public sealed class Folder : CachedEntity + public sealed class Folder : Extraction.CachedEntity { - private Folder(Context cx, PathTransformer.ITransformedPath init) : base(cx, init) { } + private Folder(Extraction.Context cx, PathTransformer.ITransformedPath init) : base(cx, init) { } public override void Populate(TextWriter trapFile) { @@ -21,16 +21,16 @@ public override void WriteId(EscapingTextWriter trapFile) trapFile.Write(";folder"); } - public static Folder Create(Context cx, PathTransformer.ITransformedPath folder) => + public static Folder Create(Extraction.Context cx, PathTransformer.ITransformedPath folder) => FolderFactory.Instance.CreateEntity(cx, folder, folder); public override Microsoft.CodeAnalysis.Location? ReportingLocation => null; - private class FolderFactory : CachedEntityFactory + private class FolderFactory : Extraction.CachedEntityFactory { public static FolderFactory Instance { get; } = new FolderFactory(); - public override Folder Create(Context cx, PathTransformer.ITransformedPath init) => new Folder(cx, init); + public override Folder Create(Extraction.Context cx, PathTransformer.ITransformedPath init) => new Folder(cx, init); } public override int GetHashCode() => Symbol.GetHashCode(); diff --git a/csharp/extractor/Semmle.Extraction.CSharp/_Base/Entities/GeneratedFile.cs b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Locations/GeneratedFile.cs similarity index 95% rename from csharp/extractor/Semmle.Extraction.CSharp/_Base/Entities/GeneratedFile.cs rename to csharp/extractor/Semmle.Extraction.CSharp/Entities/Locations/GeneratedFile.cs index b4a771f53db1..5a62619fd060 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/_Base/Entities/GeneratedFile.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Locations/GeneratedFile.cs @@ -1,6 +1,6 @@ using System.IO; -namespace Semmle.Extraction.Entities +namespace Semmle.Extraction.CSharp.Entities { internal class GeneratedFile : File { diff --git a/csharp/extractor/Semmle.Extraction.CSharp/_Base/Entities/GeneratedLocation.cs b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Locations/GeneratedLocation.cs similarity index 85% rename from csharp/extractor/Semmle.Extraction.CSharp/_Base/Entities/GeneratedLocation.cs rename to csharp/extractor/Semmle.Extraction.CSharp/Entities/Locations/GeneratedLocation.cs index db552f7e4529..01059bdd8bf9 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/_Base/Entities/GeneratedLocation.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Locations/GeneratedLocation.cs @@ -1,6 +1,6 @@ using System.IO; -namespace Semmle.Extraction.Entities +namespace Semmle.Extraction.CSharp.Entities { public class GeneratedLocation : SourceLocation { @@ -28,7 +28,7 @@ public override void WriteId(EscapingTextWriter trapFile) public override bool Equals(object? obj) => obj is not null && obj.GetType() == typeof(GeneratedLocation); - public static GeneratedLocation Create(Context cx) => GeneratedLocationFactory.Instance.CreateEntity(cx, typeof(GeneratedLocation), null); + public static GeneratedLocation Create(Extraction.Context cx) => GeneratedLocationFactory.Instance.CreateEntity(cx, typeof(GeneratedLocation), null); private class GeneratedLocationFactory : CachedEntityFactory { diff --git a/csharp/extractor/Semmle.Extraction.CSharp/_Base/Entities/Location.cs b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Locations/Location.cs similarity index 72% rename from csharp/extractor/Semmle.Extraction.CSharp/_Base/Entities/Location.cs rename to csharp/extractor/Semmle.Extraction.CSharp/Entities/Locations/Location.cs index d77fb46544d5..0e67eac507b9 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/_Base/Entities/Location.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Locations/Location.cs @@ -1,7 +1,7 @@ -namespace Semmle.Extraction.Entities +namespace Semmle.Extraction.CSharp.Entities { #nullable disable warnings - public abstract class Location : CachedEntity + public abstract class Location : Extraction.CachedEntity { #nullable restore warnings protected Location(Context cx, Microsoft.CodeAnalysis.Location? init) diff --git a/csharp/extractor/Semmle.Extraction.CSharp/Entities/NonGeneratedSourceLocation.cs b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Locations/NonGeneratedSourceLocation.cs similarity index 78% rename from csharp/extractor/Semmle.Extraction.CSharp/Entities/NonGeneratedSourceLocation.cs rename to csharp/extractor/Semmle.Extraction.CSharp/Entities/Locations/NonGeneratedSourceLocation.cs index df41abd524d3..f0db29a606b4 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/Entities/NonGeneratedSourceLocation.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Locations/NonGeneratedSourceLocation.cs @@ -1,22 +1,20 @@ -using System; using System.IO; using Microsoft.CodeAnalysis; -using Semmle.Util.Logging; namespace Semmle.Extraction.CSharp.Entities { - internal class NonGeneratedSourceLocation : Extraction.Entities.SourceLocation + internal class NonGeneratedSourceLocation : SourceLocation { public override Context Context => (Context)base.Context; - protected NonGeneratedSourceLocation(Context cx, Location init) + protected NonGeneratedSourceLocation(Context cx, Microsoft.CodeAnalysis.Location init) : base(cx, init) { Position = init.GetLineSpan(); FileEntity = File.Create(Context, Position.Path); } - public static NonGeneratedSourceLocation Create(Context cx, Location loc) => SourceLocationFactory.Instance.CreateEntity(cx, loc, loc); + public static NonGeneratedSourceLocation Create(Context cx, Microsoft.CodeAnalysis.Location loc) => SourceLocationFactory.Instance.CreateEntity(cx, loc, loc); public override void Populate(TextWriter trapFile) { @@ -28,7 +26,7 @@ public override void Populate(TextWriter trapFile) if (mapped.HasMappedPath && mapped.IsValid) { var path = Context.TryAdjustRelativeMappedFilePath(mapped.Path, Position.Path); - var mappedLoc = Create(Context, Location.Create(path, default, mapped.Span)); + var mappedLoc = Create(Context, Microsoft.CodeAnalysis.Location.Create(path, default, mapped.Span)); trapFile.locations_mapped(this, mappedLoc); } @@ -58,11 +56,11 @@ public override void WriteId(EscapingTextWriter trapFile) trapFile.Write(Position.Span.End.Character); } - private class SourceLocationFactory : CachedEntityFactory + private class SourceLocationFactory : CachedEntityFactory { public static SourceLocationFactory Instance { get; } = new SourceLocationFactory(); - public override NonGeneratedSourceLocation Create(Context cx, Location init) => new NonGeneratedSourceLocation(cx, init); + public override NonGeneratedSourceLocation Create(Context cx, Microsoft.CodeAnalysis.Location init) => new NonGeneratedSourceLocation(cx, init); } } } diff --git a/csharp/extractor/Semmle.Extraction.CSharp/_Base/Entities/SourceLocation.cs b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Locations/SourceLocation.cs similarity index 84% rename from csharp/extractor/Semmle.Extraction.CSharp/_Base/Entities/SourceLocation.cs rename to csharp/extractor/Semmle.Extraction.CSharp/Entities/Locations/SourceLocation.cs index d126f5521658..382a4899a833 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/_Base/Entities/SourceLocation.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Locations/SourceLocation.cs @@ -1,4 +1,4 @@ -namespace Semmle.Extraction.Entities +namespace Semmle.Extraction.CSharp.Entities { public abstract class SourceLocation : Location { diff --git a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Method.cs b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Method.cs index c1a2082a3ba2..6890ca490847 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Method.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Method.cs @@ -290,7 +290,7 @@ public static void AddExplicitInterfaceQualifierToId(Context cx, EscapingTextWri public Method OriginalDefinition => Create(Context, Symbol.OriginalDefinition); - public override Location? FullLocation => ReportingLocation; + public override Microsoft.CodeAnalysis.Location? FullLocation => ReportingLocation; public override bool IsSourceDeclaration => Symbol.IsSourceDeclaration(); diff --git a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Modifier.cs b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Modifier.cs index 390311ca94b1..aa68593d7d3c 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Modifier.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Modifier.cs @@ -8,7 +8,7 @@ internal class Modifier : Extraction.CachedEntity private Modifier(Context cx, string init) : base(cx, init) { } - public override Location? ReportingLocation => null; + public override Microsoft.CodeAnalysis.Location? ReportingLocation => null; public override void WriteId(EscapingTextWriter trapFile) { diff --git a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Namespace.cs b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Namespace.cs index 874d8e1b69f3..e431ff0a7202 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Namespace.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Namespace.cs @@ -8,7 +8,7 @@ internal sealed class Namespace : CachedEntity private Namespace(Context cx, INamespaceSymbol init) : base(cx, init) { } - public override Location? ReportingLocation => null; + public override Microsoft.CodeAnalysis.Location? ReportingLocation => null; public override void Populate(TextWriter trapFile) { diff --git a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Types/NamedType.cs b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Types/NamedType.cs index 75a931e2266f..189a07f6f476 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Types/NamedType.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Types/NamedType.cs @@ -101,7 +101,7 @@ public override void Populate(TextWriter trapFile) public override IEnumerable TypeMentions => TypeArguments; - public override IEnumerable Locations + public override IEnumerable Locations { get { diff --git a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Types/Nullability.cs b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Types/Nullability.cs index 67a68958a0f4..9791f386a199 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Types/Nullability.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Types/Nullability.cs @@ -102,7 +102,7 @@ public NullabilityEntity(Context cx, Nullability init) : base(cx, init) { } - public override Location ReportingLocation => throw new System.NotImplementedException(); + public override Microsoft.CodeAnalysis.Location ReportingLocation => throw new System.NotImplementedException(); public override bool NeedsPopulation => true; diff --git a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Types/TypeParameterConstraints.cs b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Types/TypeParameterConstraints.cs index 8684c0b820d1..6f85759dee0f 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Types/TypeParameterConstraints.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Types/TypeParameterConstraints.cs @@ -49,7 +49,7 @@ public override void Populate(TextWriter trapFile) } } - public override Location? ReportingLocation => null; + public override Microsoft.CodeAnalysis.Location? ReportingLocation => null; public static TypeParameterConstraints Create(Context cx, TypeParameter p) => TypeParameterConstraintsFactory.Instance.CreateEntity(cx, (typeof(TypeParameterConstraints), p), p); @@ -62,4 +62,3 @@ private class TypeParameterConstraintsFactory : CachedEntityFactory - internal class Context : Extraction.Context + public class Context : Extraction.Context { /// /// The program database provided by Roslyn. @@ -117,17 +117,17 @@ public override void WithDuplicationGuard(Key key, Action a) } } - public override Extraction.Entities.Location CreateLocation() + public override Entities.Location CreateLocation() { return SourceTree is null - ? GeneratedLocation.Create(this) + ? Entities.GeneratedLocation.Create(this) : CreateLocation(Microsoft.CodeAnalysis.Location.Create(SourceTree, Microsoft.CodeAnalysis.Text.TextSpan.FromBounds(0, 0))); } - public override Extraction.Entities.Location CreateLocation(Microsoft.CodeAnalysis.Location? location) + public override Entities.Location CreateLocation(Microsoft.CodeAnalysis.Location? location) { return (location is null || location.Kind == LocationKind.None) - ? GeneratedLocation.Create(this) + ? Entities.GeneratedLocation.Create(this) : location.IsInSource ? Entities.NonGeneratedSourceLocation.Create(this, location) : Entities.Assembly.Create(this, location); @@ -145,7 +145,7 @@ public void BindComments(Entity entity, Microsoft.CodeAnalysis.Location? l) CommentGenerator.AddElement(entity.Label, duplicationGuardKey, l); } - protected override bool IsEntityDuplicationGuarded(IEntity entity, [NotNullWhen(true)] out Extraction.Entities.Location? loc) + protected override bool IsEntityDuplicationGuarded(IEntity entity, [NotNullWhen(true)] out Entities.Location? loc) { if (CreateLocation(entity.ReportingLocation) is Entities.NonGeneratedSourceLocation l) { diff --git a/csharp/extractor/Semmle.Extraction.CSharp/Tuples.cs b/csharp/extractor/Semmle.Extraction.CSharp/Tuples.cs index 49d08fc80ef7..e8215ce90b52 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/Tuples.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Tuples.cs @@ -17,7 +17,7 @@ namespace Semmle.Extraction.CSharp /// internal static class Tuples { - internal static void assemblies(this System.IO.TextWriter trapFile, Assembly assembly, Extraction.Entities.File file, string identifier, string name, string version) => + internal static void assemblies(this System.IO.TextWriter trapFile, Assembly assembly, Entities.File file, string identifier, string name, string version) => trapFile.WriteTuple("assemblies", assembly, file, identifier, name, version); internal static void accessor_location(this TextWriter trapFile, Accessor accessorKey, Location location) => @@ -74,10 +74,10 @@ internal static void compilation_expanded_args(this TextWriter trapFile, Compila internal static void compilation_info(this TextWriter trapFile, Compilation compilation, string infoKey, string infoValue) => trapFile.WriteTuple("compilation_info", compilation, infoKey, infoValue); - internal static void compilation_compiling_files(this TextWriter trapFile, Compilation compilation, int index, Extraction.Entities.File file) => + internal static void compilation_compiling_files(this TextWriter trapFile, Compilation compilation, int index, Entities.File file) => trapFile.WriteTuple("compilation_compiling_files", compilation, index, file); - internal static void compilation_referencing_files(this TextWriter trapFile, Compilation compilation, int index, Extraction.Entities.File file) => + internal static void compilation_referencing_files(this TextWriter trapFile, Compilation compilation, int index, Entities.File file) => trapFile.WriteTuple("compilation_referencing_files", compilation, index, file); internal static void compilation_finished(this TextWriter trapFile, Compilation compilation, float cpuSeconds, float elapsedSeconds) => @@ -398,7 +398,7 @@ internal static void pragma_warnings(this TextWriter trapFile, PragmaWarningDire internal static void pragma_warning_error_codes(this TextWriter trapFile, PragmaWarningDirective pragma, string errorCode, int child) => trapFile.WriteTuple("pragma_warning_error_codes", pragma, errorCode, child); - internal static void pragma_checksums(this TextWriter trapFile, PragmaChecksumDirective pragma, Extraction.Entities.File file, string guid, string bytes) => + internal static void pragma_checksums(this TextWriter trapFile, PragmaChecksumDirective pragma, Entities.File file, string guid, string bytes) => trapFile.WriteTuple("pragma_checksums", pragma, file, guid, bytes); internal static void directive_defines(this TextWriter trapFile, DefineDirective directive, string name) => @@ -422,7 +422,7 @@ internal static void directive_lines(this TextWriter trapFile, LineOrSpanDire internal static void directive_line_value(this TextWriter trapFile, LineDirective directive, int line) => trapFile.WriteTuple("directive_line_value", directive, line); - internal static void directive_line_file(this TextWriter trapFile, LineOrSpanDirective directive, Extraction.Entities.File file) where T : LineOrSpanDirectiveTriviaSyntax => + internal static void directive_line_file(this TextWriter trapFile, LineOrSpanDirective directive, Entities.File file) where T : LineOrSpanDirectiveTriviaSyntax => trapFile.WriteTuple("directive_line_file", directive, file); internal static void directive_line_offset(this TextWriter trapFile, LineSpanDirective directive, int offset) => diff --git a/csharp/extractor/Semmle.Extraction.CSharp/_Base/Context.cs b/csharp/extractor/Semmle.Extraction.CSharp/_Base/Context.cs index 8b7b750768c4..c3281e237250 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/_Base/Context.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/_Base/Context.cs @@ -326,7 +326,7 @@ private void Populate(ISymbol? optionalSymbol, CachedEntity entity) a(); } - protected virtual bool IsEntityDuplicationGuarded(IEntity entity, [NotNullWhen(returnValue: true)] out Entities.Location? loc) + protected virtual bool IsEntityDuplicationGuarded(IEntity entity, [NotNullWhen(returnValue: true)] out CSharp.Entities.Location? loc) { loc = null; return false; @@ -363,7 +363,7 @@ public virtual void WithDuplicationGuard(Key key, Action a) /// The location of the error. /// An optional stack trace of the error, or null. /// The severity of the error. - public void ExtractionError(string message, string? entityText, Entities.Location? location, string? stackTrace = null, Severity severity = Severity.Error) + public void ExtractionError(string message, string? entityText, CSharp.Entities.Location? location, string? stackTrace = null, Severity severity = Severity.Error) { var msg = new Message(message, entityText, location, stackTrace, severity); ExtractionError(msg); @@ -439,7 +439,7 @@ public void ModelError(ISymbol symbol, string msg) /// /// The location of the error. /// The error message. - public void ModelError(Entities.Location loc, string msg) + public void ModelError(CSharp.Entities.Location loc, string msg) { ReportError(new InternalError(loc.ReportingLocation, msg)); } @@ -491,10 +491,10 @@ public void Try(SyntaxNode? node, ISymbol? symbol, Action a) } } - public virtual Entities.Location CreateLocation() => - GeneratedLocation.Create(this); + public virtual CSharp.Entities.Location CreateLocation() => + CSharp.Entities.GeneratedLocation.Create(this); - public virtual Entities.Location CreateLocation(Microsoft.CodeAnalysis.Location? location) => + public virtual CSharp.Entities.Location CreateLocation(Microsoft.CodeAnalysis.Location? location) => CreateLocation(); } } diff --git a/csharp/extractor/Semmle.Extraction.CSharp/_Base/Entities/File.cs b/csharp/extractor/Semmle.Extraction.CSharp/_Base/Entities/File.cs deleted file mode 100644 index dda965920ae1..000000000000 --- a/csharp/extractor/Semmle.Extraction.CSharp/_Base/Entities/File.cs +++ /dev/null @@ -1,29 +0,0 @@ -using System; - -namespace Semmle.Extraction.Entities -{ - public abstract class File : CachedEntity - { - protected File(Context cx, string path) - : base(cx, path) - { - originalPath = path; - var adjustedPath = BinaryLogExtractionContext.GetAdjustedPath(Context.ExtractionContext, originalPath) ?? path; - transformedPathLazy = new Lazy(() => Context.ExtractionContext.PathTransformer.Transform(adjustedPath)); - } - - protected readonly string originalPath; - private readonly Lazy transformedPathLazy; - protected PathTransformer.ITransformedPath TransformedPath => transformedPathLazy.Value; - - public override bool NeedsPopulation => true; - - public override void WriteId(EscapingTextWriter trapFile) - { - trapFile.Write(TransformedPath.DatabaseId); - trapFile.Write(";sourcefile"); - } - - public override Microsoft.CodeAnalysis.Location? ReportingLocation => null; - } -} diff --git a/csharp/extractor/Semmle.Extraction.CSharp/_Base/Entities/ExtractionMessage.cs b/csharp/extractor/Semmle.Extraction.CSharp/_Base/ExtractionMessage.cs similarity index 100% rename from csharp/extractor/Semmle.Extraction.CSharp/_Base/Entities/ExtractionMessage.cs rename to csharp/extractor/Semmle.Extraction.CSharp/_Base/ExtractionMessage.cs diff --git a/csharp/extractor/Semmle.Extraction.CSharp/_Base/Message.cs b/csharp/extractor/Semmle.Extraction.CSharp/_Base/Message.cs index 7239c5880cb6..4e05a37eb6c8 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/_Base/Message.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/_Base/Message.cs @@ -14,9 +14,9 @@ public class Message public string Text { get; } public string? StackTrace { get; } public string? EntityText { get; } - public Entities.Location? Location { get; } + public CSharp.Entities.Location? Location { get; } - public Message(string text, string? entityText, Entities.Location? location, string? stackTrace = null, Severity severity = Severity.Error) + public Message(string text, string? entityText, CSharp.Entities.Location? location, string? stackTrace = null, Severity severity = Severity.Error) { Severity = severity; Text = text; diff --git a/csharp/extractor/Semmle.Extraction.CSharp/_Base/Tuples.cs b/csharp/extractor/Semmle.Extraction.CSharp/_Base/Tuples.cs index cddec9322863..fde03699f4ca 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/_Base/Tuples.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/_Base/Tuples.cs @@ -7,27 +7,27 @@ namespace Semmle.Extraction /// public static class Tuples { - public static void containerparent(this System.IO.TextWriter trapFile, Folder parent, IEntity child) + public static void containerparent(this System.IO.TextWriter trapFile, CSharp.Entities.Folder parent, IEntity child) { trapFile.WriteTuple("containerparent", parent, child); } - internal static void extractor_messages(this System.IO.TextWriter trapFile, ExtractionMessage error, Semmle.Util.Logging.Severity severity, string errorMessage, string entityText, Location location, string stackTrace) + internal static void extractor_messages(this System.IO.TextWriter trapFile, ExtractionMessage error, Semmle.Util.Logging.Severity severity, string errorMessage, string entityText, CSharp.Entities.Location location, string stackTrace) { trapFile.WriteTuple("extractor_messages", error, (int)severity, "C# extractor", errorMessage, entityText, location, stackTrace); } - public static void files(this System.IO.TextWriter trapFile, File file, string fullName) + public static void files(this System.IO.TextWriter trapFile, CSharp.Entities.File file, string fullName) { trapFile.WriteTuple("files", file, fullName); } - internal static void folders(this System.IO.TextWriter trapFile, Folder folder, string path) + internal static void folders(this System.IO.TextWriter trapFile, CSharp.Entities.Folder folder, string path) { trapFile.WriteTuple("folders", folder, path); } - public static void locations_default(this System.IO.TextWriter trapFile, SourceLocation label, Entities.File file, int startLine, int startCol, int endLine, int endCol) + public static void locations_default(this System.IO.TextWriter trapFile, CSharp.Entities.SourceLocation label, CSharp.Entities.File file, int startLine, int startCol, int endLine, int endCol) { trapFile.WriteTuple("locations_default", label, file, startLine, startCol, endLine, endCol); } From 46da5960ee430bb18cd0cf577ec856d2701f3c4e Mon Sep 17 00:00:00 2001 From: Tamas Vajk Date: Wed, 13 Nov 2024 14:28:04 +0100 Subject: [PATCH 164/347] Move extraction context classes to the Semmle.Extraction.CSharp namespace --- .../{_Base => }/Extractor/BinaryLogExtractionContext.cs | 2 +- .../{_Base => }/Extractor/ExtractionContext.cs | 2 +- .../{_Base => }/Extractor/ExtractorMode.cs | 2 +- .../extractor/Semmle.Extraction.CSharp/_Base/Context.cs | 8 ++++---- 4 files changed, 7 insertions(+), 7 deletions(-) rename csharp/extractor/Semmle.Extraction.CSharp/{_Base => }/Extractor/BinaryLogExtractionContext.cs (98%) rename csharp/extractor/Semmle.Extraction.CSharp/{_Base => }/Extractor/ExtractionContext.cs (98%) rename csharp/extractor/Semmle.Extraction.CSharp/{_Base => }/Extractor/ExtractorMode.cs (88%) diff --git a/csharp/extractor/Semmle.Extraction.CSharp/_Base/Extractor/BinaryLogExtractionContext.cs b/csharp/extractor/Semmle.Extraction.CSharp/Extractor/BinaryLogExtractionContext.cs similarity index 98% rename from csharp/extractor/Semmle.Extraction.CSharp/_Base/Extractor/BinaryLogExtractionContext.cs rename to csharp/extractor/Semmle.Extraction.CSharp/Extractor/BinaryLogExtractionContext.cs index 5e3ac901bb01..e4ad5f83e2a2 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/_Base/Extractor/BinaryLogExtractionContext.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Extractor/BinaryLogExtractionContext.cs @@ -4,7 +4,7 @@ using Microsoft.CodeAnalysis; using Semmle.Util.Logging; -namespace Semmle.Extraction +namespace Semmle.Extraction.CSharp { public class BinaryLogExtractionContext : ExtractionContext { diff --git a/csharp/extractor/Semmle.Extraction.CSharp/_Base/Extractor/ExtractionContext.cs b/csharp/extractor/Semmle.Extraction.CSharp/Extractor/ExtractionContext.cs similarity index 98% rename from csharp/extractor/Semmle.Extraction.CSharp/_Base/Extractor/ExtractionContext.cs rename to csharp/extractor/Semmle.Extraction.CSharp/Extractor/ExtractionContext.cs index 26b30ad004b2..619eb9953471 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/_Base/Extractor/ExtractionContext.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Extractor/ExtractionContext.cs @@ -2,7 +2,7 @@ using Semmle.Util.Logging; using CompilationInfo = (string key, string value); -namespace Semmle.Extraction +namespace Semmle.Extraction.CSharp { /// /// Implementation of the main extractor state. diff --git a/csharp/extractor/Semmle.Extraction.CSharp/_Base/Extractor/ExtractorMode.cs b/csharp/extractor/Semmle.Extraction.CSharp/Extractor/ExtractorMode.cs similarity index 88% rename from csharp/extractor/Semmle.Extraction.CSharp/_Base/Extractor/ExtractorMode.cs rename to csharp/extractor/Semmle.Extraction.CSharp/Extractor/ExtractorMode.cs index cc1f5cc04132..6729878e5639 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/_Base/Extractor/ExtractorMode.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Extractor/ExtractorMode.cs @@ -1,6 +1,6 @@ using System; -namespace Semmle.Extraction +namespace Semmle.Extraction.CSharp { /// /// The mode in which a file is extracted. diff --git a/csharp/extractor/Semmle.Extraction.CSharp/_Base/Context.cs b/csharp/extractor/Semmle.Extraction.CSharp/_Base/Context.cs index c3281e237250..a575fe4b823d 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/_Base/Context.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/_Base/Context.cs @@ -18,7 +18,7 @@ public class Context /// /// Access various extraction functions, e.g. logger, trap writer. /// - public ExtractionContext ExtractionContext { get; } + public CSharp.ExtractionContext ExtractionContext { get; } /// /// Access to the trap file. @@ -190,7 +190,7 @@ public void PopulateAll() } } - protected Context(ExtractionContext extractionContext, TrapWriter trapWriter, bool shouldAddAssemblyTrapPrefix = false) + protected Context(CSharp.ExtractionContext extractionContext, TrapWriter trapWriter, bool shouldAddAssemblyTrapPrefix = false) { ExtractionContext = extractionContext; TrapWriter = trapWriter; @@ -274,7 +274,7 @@ private void Populate(ISymbol? optionalSymbol, CachedEntity entity) bool duplicationGuard, deferred; - if (ExtractionContext.Mode is ExtractorMode.Standalone) + if (ExtractionContext.Mode is CSharp.ExtractorMode.Standalone) { duplicationGuard = false; deferred = false; @@ -408,7 +408,7 @@ private void ExtractionError(InternalError error) private void ReportError(InternalError error) { - if (!ExtractionContext.Mode.HasFlag(ExtractorMode.Standalone)) + if (!ExtractionContext.Mode.HasFlag(CSharp.ExtractorMode.Standalone)) throw error; ExtractionError(error); From 02bd2041118297ed667eef04a6624ccd7c79e61e Mon Sep 17 00:00:00 2001 From: Tamas Vajk Date: Wed, 13 Nov 2024 15:27:48 +0100 Subject: [PATCH 165/347] Move more classes to the Semmle.Extraction.CSharp namespace --- .../Semmle.Extraction.CSharp/BUILD.bazel | 2 + .../LocationExtensions.cs | 2 +- .../SymbolExtensions.cs | 0 .../Entities/Base/CachedEntityFactory.cs | 4 +- .../Entities/Base/CachedEntity`1.cs | 4 +- .../Entities/Base/Entity.cs | 1 + .../Entities/Base/FreshEntity.cs | 4 +- .../Entities/Base/IEntity.cs | 2 +- .../Entities/Base/LabelledEntity.cs | 6 +-- .../Entities/Base/UnlabelledEntity.cs | 4 +- .../{_Base => Entities}/ExtractionMessage.cs | 1 + .../{_Base => Extractor}/AssemblyScope.cs | 2 +- .../Options.cs => Extractor/CommonOptions.cs} | 2 +- .../{_Base => Extractor}/CsProjFile.cs | 2 +- .../{_Base => Extractor}/FilePattern.cs | 2 +- .../{_Base => Extractor}/IExtractionScope.cs | 2 +- .../{_Base => Extractor}/PathTransformer.cs | 2 +- .../{_Base => Extractor}/SourceScope.cs | 2 +- .../{_Base => Extractor}/TrapWriter.cs | 2 +- .../{_Base => }/InternalError.cs | 3 +- .../{_Base => Trap}/EscapingTextWriter.cs | 2 +- .../{_Base/Id.cs => Trap/Key.cs} | 43 +------------------ .../{_Base => Trap}/TrapExtensions.cs | 2 +- .../{_Base => Trap}/TrapStackBehaviour.cs | 2 +- .../{ => Trap}/Tuples.cs | 17 +++++++- .../Semmle.Extraction.CSharp/_Base/Context.cs | 9 ++-- .../Semmle.Extraction.CSharp/_Base/Message.cs | 9 ++-- .../Semmle.Extraction.CSharp/_Base/Tuple.cs | 36 ---------------- .../Semmle.Extraction.CSharp/_Base/Tuples.cs | 35 --------------- .../Semmle.Extraction.Tests/FilePattern.cs | 1 + .../Semmle.Extraction.Tests/Options.cs | 1 + .../PathTransformer.cs | 1 + 32 files changed, 59 insertions(+), 148 deletions(-) rename csharp/extractor/Semmle.Extraction.CSharp/{_Base => CodeAnalysisExtensions}/LocationExtensions.cs (98%) rename csharp/extractor/Semmle.Extraction.CSharp/{ => CodeAnalysisExtensions}/SymbolExtensions.cs (100%) rename csharp/extractor/Semmle.Extraction.CSharp/{_Base => Entities}/ExtractionMessage.cs (98%) rename csharp/extractor/Semmle.Extraction.CSharp/{_Base => Extractor}/AssemblyScope.cs (95%) rename csharp/extractor/Semmle.Extraction.CSharp/{_Base/Options.cs => Extractor/CommonOptions.cs} (99%) rename csharp/extractor/Semmle.Extraction.CSharp/{_Base => Extractor}/CsProjFile.cs (99%) rename csharp/extractor/Semmle.Extraction.CSharp/{_Base => Extractor}/FilePattern.cs (99%) rename csharp/extractor/Semmle.Extraction.CSharp/{_Base => Extractor}/IExtractionScope.cs (96%) rename csharp/extractor/Semmle.Extraction.CSharp/{_Base => Extractor}/PathTransformer.cs (99%) rename csharp/extractor/Semmle.Extraction.CSharp/{_Base => Extractor}/SourceScope.cs (93%) rename csharp/extractor/Semmle.Extraction.CSharp/{_Base => Extractor}/TrapWriter.cs (99%) rename csharp/extractor/Semmle.Extraction.CSharp/{_Base => }/InternalError.cs (95%) rename csharp/extractor/Semmle.Extraction.CSharp/{_Base => Trap}/EscapingTextWriter.cs (99%) rename csharp/extractor/Semmle.Extraction.CSharp/{_Base/Id.cs => Trap/Key.cs} (76%) rename csharp/extractor/Semmle.Extraction.CSharp/{_Base => Trap}/TrapExtensions.cs (99%) rename csharp/extractor/Semmle.Extraction.CSharp/{_Base => Trap}/TrapStackBehaviour.cs (95%) rename csharp/extractor/Semmle.Extraction.CSharp/{ => Trap}/Tuples.cs (96%) delete mode 100644 csharp/extractor/Semmle.Extraction.CSharp/_Base/Tuple.cs delete mode 100644 csharp/extractor/Semmle.Extraction.CSharp/_Base/Tuples.cs diff --git a/csharp/extractor/Semmle.Extraction.CSharp/BUILD.bazel b/csharp/extractor/Semmle.Extraction.CSharp/BUILD.bazel index 0d15114bf814..47e8ec48fd4c 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/BUILD.bazel +++ b/csharp/extractor/Semmle.Extraction.CSharp/BUILD.bazel @@ -7,11 +7,13 @@ codeql_csharp_library( name = "Semmle.Extraction.CSharp", srcs = glob([ "_Base/**/*.cs", + "CodeAnalysisExtensions/**/*.cs", "Comments/**/*.cs", "Entities/**/*.cs", "Extractor/**/*.cs", "Kinds/**/*.cs", "Populators/**/*.cs", + "Trap/**/*.cs", "*.cs", ]), allow_unsafe_blocks = True, diff --git a/csharp/extractor/Semmle.Extraction.CSharp/_Base/LocationExtensions.cs b/csharp/extractor/Semmle.Extraction.CSharp/CodeAnalysisExtensions/LocationExtensions.cs similarity index 98% rename from csharp/extractor/Semmle.Extraction.CSharp/_Base/LocationExtensions.cs rename to csharp/extractor/Semmle.Extraction.CSharp/CodeAnalysisExtensions/LocationExtensions.cs index f615fe659632..6d1d644e82ce 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/_Base/LocationExtensions.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/CodeAnalysisExtensions/LocationExtensions.cs @@ -3,7 +3,7 @@ using System.Linq; using Microsoft.CodeAnalysis; -namespace Semmle.Extraction +namespace Semmle.Extraction.CSharp { public static class LocationExtensions { diff --git a/csharp/extractor/Semmle.Extraction.CSharp/SymbolExtensions.cs b/csharp/extractor/Semmle.Extraction.CSharp/CodeAnalysisExtensions/SymbolExtensions.cs similarity index 100% rename from csharp/extractor/Semmle.Extraction.CSharp/SymbolExtensions.cs rename to csharp/extractor/Semmle.Extraction.CSharp/CodeAnalysisExtensions/SymbolExtensions.cs diff --git a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Base/CachedEntityFactory.cs b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Base/CachedEntityFactory.cs index 60c6a7cade17..d5c6da34f317 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Base/CachedEntityFactory.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Base/CachedEntityFactory.cs @@ -3,11 +3,11 @@ namespace Semmle.Extraction /// /// A factory for creating cached entities. /// - public abstract class CachedEntityFactory where TEntity : CachedEntity + public abstract class CachedEntityFactory where TEntity : Semmle.Extraction.CachedEntity { /// /// Initializes the entity, but does not generate any trap code. /// - public abstract TEntity Create(Context cx, TInit init); + public abstract TEntity Create(Semmle.Extraction.Context cx, TInit init); } } diff --git a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Base/CachedEntity`1.cs b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Base/CachedEntity`1.cs index 82ded71a9cd5..988f813c5198 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Base/CachedEntity`1.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Base/CachedEntity`1.cs @@ -9,7 +9,7 @@ namespace Semmle.Extraction /// /// The property is used as label in caching. /// - public abstract class CachedEntity : LabelledEntity + public abstract class CachedEntity : CSharp.LabelledEntity { protected CachedEntity(Context context) : base(context) { @@ -62,7 +62,7 @@ public override bool Equals(object? obj) return other?.GetType() == GetType() && Equals(other.Symbol, Symbol); } - public override TrapStackBehaviour TrapStackBehaviour => TrapStackBehaviour.NoLabel; + public override CSharp.TrapStackBehaviour TrapStackBehaviour => CSharp.TrapStackBehaviour.NoLabel; } /// diff --git a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Base/Entity.cs b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Base/Entity.cs index 9cd645ae1d41..335de82a9d39 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Base/Entity.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Base/Entity.cs @@ -1,6 +1,7 @@ using System; using System.IO; using Microsoft.CodeAnalysis; +using Semmle.Extraction.CSharp; namespace Semmle.Extraction { diff --git a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Base/FreshEntity.cs b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Base/FreshEntity.cs index 7ecdab8086ee..e4690e940c98 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Base/FreshEntity.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Base/FreshEntity.cs @@ -5,7 +5,7 @@ namespace Semmle.Extraction /// /// An entity which has a default "*" ID assigned to it. /// - public abstract class FreshEntity : UnlabelledEntity + public abstract class FreshEntity : CSharp.UnlabelledEntity { protected FreshEntity(Context cx) : base(cx) { @@ -33,6 +33,6 @@ public string DebugContents public override Microsoft.CodeAnalysis.Location? ReportingLocation => null; - public override TrapStackBehaviour TrapStackBehaviour => TrapStackBehaviour.NoLabel; + public override CSharp.TrapStackBehaviour TrapStackBehaviour => CSharp.TrapStackBehaviour.NoLabel; } } diff --git a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Base/IEntity.cs b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Base/IEntity.cs index 3700e61b22ea..d8d3c538e42c 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Base/IEntity.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Base/IEntity.cs @@ -1,7 +1,7 @@ using System.IO; using Microsoft.CodeAnalysis; -namespace Semmle.Extraction +namespace Semmle.Extraction.CSharp { /// /// Any program entity which has a corresponding label in the trap file. diff --git a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Base/LabelledEntity.cs b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Base/LabelledEntity.cs index 4694332fd52c..c268fcfabb03 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Base/LabelledEntity.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Base/LabelledEntity.cs @@ -1,8 +1,8 @@ -namespace Semmle.Extraction +namespace Semmle.Extraction.CSharp { - public abstract class LabelledEntity : Entity + public abstract class LabelledEntity : Semmle.Extraction.Entity { - protected LabelledEntity(Context cx) : base(cx) + protected LabelledEntity(Semmle.Extraction.Context cx) : base(cx) { } } diff --git a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Base/UnlabelledEntity.cs b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Base/UnlabelledEntity.cs index 2faf15689edc..61d3dc8527bf 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Base/UnlabelledEntity.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Base/UnlabelledEntity.cs @@ -1,8 +1,8 @@ -namespace Semmle.Extraction +namespace Semmle.Extraction.CSharp { public abstract class UnlabelledEntity : Entity { - protected UnlabelledEntity(Context cx) : base(cx) + protected UnlabelledEntity(Extraction.Context cx) : base(cx) { cx.AddFreshLabel(this); } diff --git a/csharp/extractor/Semmle.Extraction.CSharp/_Base/ExtractionMessage.cs b/csharp/extractor/Semmle.Extraction.CSharp/Entities/ExtractionMessage.cs similarity index 98% rename from csharp/extractor/Semmle.Extraction.CSharp/_Base/ExtractionMessage.cs rename to csharp/extractor/Semmle.Extraction.CSharp/Entities/ExtractionMessage.cs index 514ce433c0ac..e3a85037d285 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/_Base/ExtractionMessage.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Entities/ExtractionMessage.cs @@ -2,6 +2,7 @@ using System.IO; using System.Threading; using Semmle.Util; +using Semmle.Extraction.CSharp; namespace Semmle.Extraction.Entities { diff --git a/csharp/extractor/Semmle.Extraction.CSharp/_Base/AssemblyScope.cs b/csharp/extractor/Semmle.Extraction.CSharp/Extractor/AssemblyScope.cs similarity index 95% rename from csharp/extractor/Semmle.Extraction.CSharp/_Base/AssemblyScope.cs rename to csharp/extractor/Semmle.Extraction.CSharp/Extractor/AssemblyScope.cs index 27c9377bb30f..a09eba671c7a 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/_Base/AssemblyScope.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Extractor/AssemblyScope.cs @@ -1,6 +1,6 @@ using Microsoft.CodeAnalysis; -namespace Semmle.Extraction +namespace Semmle.Extraction.CSharp { /// /// The scope of symbols in an assembly. diff --git a/csharp/extractor/Semmle.Extraction.CSharp/_Base/Options.cs b/csharp/extractor/Semmle.Extraction.CSharp/Extractor/CommonOptions.cs similarity index 99% rename from csharp/extractor/Semmle.Extraction.CSharp/_Base/Options.cs rename to csharp/extractor/Semmle.Extraction.CSharp/Extractor/CommonOptions.cs index ba809e7cfcbc..3595096c1864 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/_Base/Options.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Extractor/CommonOptions.cs @@ -2,7 +2,7 @@ using Semmle.Util; using Semmle.Util.Logging; -namespace Semmle.Extraction +namespace Semmle.Extraction.CSharp { /// /// Represents the parsed state of the command line arguments. diff --git a/csharp/extractor/Semmle.Extraction.CSharp/_Base/CsProjFile.cs b/csharp/extractor/Semmle.Extraction.CSharp/Extractor/CsProjFile.cs similarity index 99% rename from csharp/extractor/Semmle.Extraction.CSharp/_Base/CsProjFile.cs rename to csharp/extractor/Semmle.Extraction.CSharp/Extractor/CsProjFile.cs index bed9d746996b..665eb0bf3462 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/_Base/CsProjFile.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Extractor/CsProjFile.cs @@ -4,7 +4,7 @@ using System.Linq; using System.Xml; -namespace Semmle.Extraction +namespace Semmle.Extraction.CSharp { /// /// Represents a .csproj file and reads information from it. diff --git a/csharp/extractor/Semmle.Extraction.CSharp/_Base/FilePattern.cs b/csharp/extractor/Semmle.Extraction.CSharp/Extractor/FilePattern.cs similarity index 99% rename from csharp/extractor/Semmle.Extraction.CSharp/_Base/FilePattern.cs rename to csharp/extractor/Semmle.Extraction.CSharp/Extractor/FilePattern.cs index 8c8e190a3ced..8220260369d7 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/_Base/FilePattern.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Extractor/FilePattern.cs @@ -6,7 +6,7 @@ using System.Text.RegularExpressions; using Semmle.Util; -namespace Semmle.Extraction +namespace Semmle.Extraction.CSharp { public sealed class InvalidFilePatternException : Exception { diff --git a/csharp/extractor/Semmle.Extraction.CSharp/_Base/IExtractionScope.cs b/csharp/extractor/Semmle.Extraction.CSharp/Extractor/IExtractionScope.cs similarity index 96% rename from csharp/extractor/Semmle.Extraction.CSharp/_Base/IExtractionScope.cs rename to csharp/extractor/Semmle.Extraction.CSharp/Extractor/IExtractionScope.cs index f12823b3f969..4a3ffe852e27 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/_Base/IExtractionScope.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Extractor/IExtractionScope.cs @@ -1,6 +1,6 @@ using Microsoft.CodeAnalysis; -namespace Semmle.Extraction +namespace Semmle.Extraction.CSharp { /// /// Defines which entities belong in the trap file diff --git a/csharp/extractor/Semmle.Extraction.CSharp/_Base/PathTransformer.cs b/csharp/extractor/Semmle.Extraction.CSharp/Extractor/PathTransformer.cs similarity index 99% rename from csharp/extractor/Semmle.Extraction.CSharp/_Base/PathTransformer.cs rename to csharp/extractor/Semmle.Extraction.CSharp/Extractor/PathTransformer.cs index e67d60b11df4..79108d10d52e 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/_Base/PathTransformer.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Extractor/PathTransformer.cs @@ -5,7 +5,7 @@ using Semmle.Util; using Semmle.Util.Logging; -namespace Semmle.Extraction +namespace Semmle.Extraction.CSharp { /// /// A class for interpreting path transformers specified using the environment diff --git a/csharp/extractor/Semmle.Extraction.CSharp/_Base/SourceScope.cs b/csharp/extractor/Semmle.Extraction.CSharp/Extractor/SourceScope.cs similarity index 93% rename from csharp/extractor/Semmle.Extraction.CSharp/_Base/SourceScope.cs rename to csharp/extractor/Semmle.Extraction.CSharp/Extractor/SourceScope.cs index 784dc8fdc938..6eff9c713cc6 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/_Base/SourceScope.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Extractor/SourceScope.cs @@ -2,7 +2,7 @@ using Microsoft.CodeAnalysis; -namespace Semmle.Extraction +namespace Semmle.Extraction.CSharp { /// diff --git a/csharp/extractor/Semmle.Extraction.CSharp/_Base/TrapWriter.cs b/csharp/extractor/Semmle.Extraction.CSharp/Extractor/TrapWriter.cs similarity index 99% rename from csharp/extractor/Semmle.Extraction.CSharp/_Base/TrapWriter.cs rename to csharp/extractor/Semmle.Extraction.CSharp/Extractor/TrapWriter.cs index f773207e6540..4830c3209c26 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/_Base/TrapWriter.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Extractor/TrapWriter.cs @@ -5,7 +5,7 @@ using Semmle.Util; using Semmle.Util.Logging; -namespace Semmle.Extraction +namespace Semmle.Extraction.CSharp { public interface ITrapEmitter { diff --git a/csharp/extractor/Semmle.Extraction.CSharp/_Base/InternalError.cs b/csharp/extractor/Semmle.Extraction.CSharp/InternalError.cs similarity index 95% rename from csharp/extractor/Semmle.Extraction.CSharp/_Base/InternalError.cs rename to csharp/extractor/Semmle.Extraction.CSharp/InternalError.cs index f162316618e8..7b42432be255 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/_Base/InternalError.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/InternalError.cs @@ -1,8 +1,7 @@ using System; -using System.Linq; using Microsoft.CodeAnalysis; -namespace Semmle.Extraction +namespace Semmle.Extraction.CSharp { /// /// Exception thrown whenever extraction encounters something unexpected. diff --git a/csharp/extractor/Semmle.Extraction.CSharp/_Base/EscapingTextWriter.cs b/csharp/extractor/Semmle.Extraction.CSharp/Trap/EscapingTextWriter.cs similarity index 99% rename from csharp/extractor/Semmle.Extraction.CSharp/_Base/EscapingTextWriter.cs rename to csharp/extractor/Semmle.Extraction.CSharp/Trap/EscapingTextWriter.cs index 2374b398843d..63f5e81c3586 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/_Base/EscapingTextWriter.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Trap/EscapingTextWriter.cs @@ -4,7 +4,7 @@ using System.Threading; using System.Threading.Tasks; -namespace Semmle.Extraction +namespace Semmle.Extraction.CSharp { /// /// A `TextWriter` object that wraps another `TextWriter` object, and which diff --git a/csharp/extractor/Semmle.Extraction.CSharp/_Base/Id.cs b/csharp/extractor/Semmle.Extraction.CSharp/Trap/Key.cs similarity index 76% rename from csharp/extractor/Semmle.Extraction.CSharp/_Base/Id.cs rename to csharp/extractor/Semmle.Extraction.CSharp/Trap/Key.cs index c66688f0760e..273da621dce2 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/_Base/Id.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Trap/Key.cs @@ -1,52 +1,13 @@ using System; using System.IO; -namespace Semmle.Extraction +namespace Semmle.Extraction.CSharp { - /// - /// An ID. Either a fresh ID (`*`), a key, or a label (https://semmle.com/wiki/display/IN/TRAP+Files): - /// - /// ``` - /// id ::= '*' | key | label - /// ``` - /// - public interface IId - { - /// - /// Appends this ID to the supplied trap builder. - /// - void AppendTo(TextWriter trapFile); - } - - /// - /// A fresh ID (`*`). - /// - public class FreshId : IId - { - private FreshId() { } - - /// - /// Gets the singleton instance. - /// - public static IId Instance { get; } = new FreshId(); - - public override string ToString() => "*"; - - public override bool Equals(object? obj) => obj?.GetType() == GetType(); - - public override int GetHashCode() => 0; - - public void AppendTo(TextWriter trapFile) - { - trapFile.Write('*'); - } - } - /// /// A key. Either a simple key, e.g. `@"bool A.M();method"`, or a compound key, e.g. /// `@"{0} {1}.M();method"` where `0` and `1` are both labels. /// - public class Key : IId + public class Key { private readonly StringWriter trapBuilder = new StringWriter(); diff --git a/csharp/extractor/Semmle.Extraction.CSharp/_Base/TrapExtensions.cs b/csharp/extractor/Semmle.Extraction.CSharp/Trap/TrapExtensions.cs similarity index 99% rename from csharp/extractor/Semmle.Extraction.CSharp/_Base/TrapExtensions.cs rename to csharp/extractor/Semmle.Extraction.CSharp/Trap/TrapExtensions.cs index 5c65e41f0ab7..787ba62e3e82 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/_Base/TrapExtensions.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Trap/TrapExtensions.cs @@ -2,7 +2,7 @@ using System.Collections.Generic; using System.IO; -namespace Semmle.Extraction +namespace Semmle.Extraction.CSharp { public static class TrapExtensions { diff --git a/csharp/extractor/Semmle.Extraction.CSharp/_Base/TrapStackBehaviour.cs b/csharp/extractor/Semmle.Extraction.CSharp/Trap/TrapStackBehaviour.cs similarity index 95% rename from csharp/extractor/Semmle.Extraction.CSharp/_Base/TrapStackBehaviour.cs rename to csharp/extractor/Semmle.Extraction.CSharp/Trap/TrapStackBehaviour.cs index 0966a4816afe..023170d18872 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/_Base/TrapStackBehaviour.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Trap/TrapStackBehaviour.cs @@ -1,4 +1,4 @@ -namespace Semmle.Extraction +namespace Semmle.Extraction.CSharp { /// /// How an entity behaves with respect to .push and .pop diff --git a/csharp/extractor/Semmle.Extraction.CSharp/Tuples.cs b/csharp/extractor/Semmle.Extraction.CSharp/Trap/Tuples.cs similarity index 96% rename from csharp/extractor/Semmle.Extraction.CSharp/Tuples.cs rename to csharp/extractor/Semmle.Extraction.CSharp/Trap/Tuples.cs index e8215ce90b52..092728d3be45 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/Tuples.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Trap/Tuples.cs @@ -17,7 +17,22 @@ namespace Semmle.Extraction.CSharp /// internal static class Tuples { - internal static void assemblies(this System.IO.TextWriter trapFile, Assembly assembly, Entities.File file, string identifier, string name, string version) => + public static void containerparent(this TextWriter trapFile, Folder parent, IEntity child) => + trapFile.WriteTuple("containerparent", parent, child); + + internal static void extractor_messages(this TextWriter trapFile, ExtractionMessage error, Semmle.Util.Logging.Severity severity, string errorMessage, string entityText, Location location, string stackTrace) => + trapFile.WriteTuple("extractor_messages", error, (int)severity, "C# extractor", errorMessage, entityText, location, stackTrace); + + public static void files(this TextWriter trapFile, Entities.File file, string fullName) => + trapFile.WriteTuple("files", file, fullName); + + internal static void folders(this TextWriter trapFile, Folder folder, string path) => + trapFile.WriteTuple("folders", folder, path); + + public static void locations_default(this TextWriter trapFile, SourceLocation label, Entities.File file, int startLine, int startCol, int endLine, int endCol) => + trapFile.WriteTuple("locations_default", label, file, startLine, startCol, endLine, endCol); + + internal static void assemblies(this TextWriter trapFile, Assembly assembly, Entities.File file, string identifier, string name, string version) => trapFile.WriteTuple("assemblies", assembly, file, identifier, name, version); internal static void accessor_location(this TextWriter trapFile, Accessor accessorKey, Location location) => diff --git a/csharp/extractor/Semmle.Extraction.CSharp/_Base/Context.cs b/csharp/extractor/Semmle.Extraction.CSharp/_Base/Context.cs index a575fe4b823d..cf53dd83abef 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/_Base/Context.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/_Base/Context.cs @@ -6,6 +6,7 @@ using Microsoft.CodeAnalysis; using Semmle.Util.Logging; using Semmle.Extraction.Entities; +using Semmle.Extraction.CSharp; namespace Semmle.Extraction { @@ -18,7 +19,7 @@ public class Context /// /// Access various extraction functions, e.g. logger, trap writer. /// - public CSharp.ExtractionContext ExtractionContext { get; } + public ExtractionContext ExtractionContext { get; } /// /// Access to the trap file. @@ -190,7 +191,7 @@ public void PopulateAll() } } - protected Context(CSharp.ExtractionContext extractionContext, TrapWriter trapWriter, bool shouldAddAssemblyTrapPrefix = false) + protected Context(ExtractionContext extractionContext, TrapWriter trapWriter, bool shouldAddAssemblyTrapPrefix = false) { ExtractionContext = extractionContext; TrapWriter = trapWriter; @@ -274,7 +275,7 @@ private void Populate(ISymbol? optionalSymbol, CachedEntity entity) bool duplicationGuard, deferred; - if (ExtractionContext.Mode is CSharp.ExtractorMode.Standalone) + if (ExtractionContext.Mode is ExtractorMode.Standalone) { duplicationGuard = false; deferred = false; @@ -408,7 +409,7 @@ private void ExtractionError(InternalError error) private void ReportError(InternalError error) { - if (!ExtractionContext.Mode.HasFlag(CSharp.ExtractorMode.Standalone)) + if (!ExtractionContext.Mode.HasFlag(ExtractorMode.Standalone)) throw error; ExtractionError(error); diff --git a/csharp/extractor/Semmle.Extraction.CSharp/_Base/Message.cs b/csharp/extractor/Semmle.Extraction.CSharp/_Base/Message.cs index 4e05a37eb6c8..e99255be6bf9 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/_Base/Message.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/_Base/Message.cs @@ -1,9 +1,8 @@ -using System.Linq; -using System.Text; +using System.Text; using Microsoft.CodeAnalysis; using Semmle.Util.Logging; -namespace Semmle.Extraction +namespace Semmle.Extraction.CSharp { /// /// Encapsulates information for a log message. @@ -25,12 +24,12 @@ public Message(string text, string? entityText, CSharp.Entities.Location? locati Location = location; } - public static Message Create(Context cx, string text, ISymbol symbol, string? stackTrace = null, Severity severity = Severity.Error) + public static Message Create(Extraction.Context cx, string text, ISymbol symbol, string? stackTrace = null, Severity severity = Severity.Error) { return new Message(text, symbol.ToString(), cx.CreateLocation(symbol.Locations.BestOrDefault()), stackTrace, severity); } - public static Message Create(Context cx, string text, SyntaxNode node, string? stackTrace = null, Severity severity = Severity.Error) + public static Message Create(Extraction.Context cx, string text, SyntaxNode node, string? stackTrace = null, Severity severity = Severity.Error) { return new Message(text, node.ToString(), cx.CreateLocation(node.GetLocation()), stackTrace, severity); } diff --git a/csharp/extractor/Semmle.Extraction.CSharp/_Base/Tuple.cs b/csharp/extractor/Semmle.Extraction.CSharp/_Base/Tuple.cs deleted file mode 100644 index bfe660926d6d..000000000000 --- a/csharp/extractor/Semmle.Extraction.CSharp/_Base/Tuple.cs +++ /dev/null @@ -1,36 +0,0 @@ -using System.IO; - -namespace Semmle.Extraction -{ - /// - /// A tuple represents a string of the form "a(b,c,d)". - /// - public struct Tuple : ITrapEmitter - { - private readonly string name; - private readonly object[] args; - - public Tuple(string name, params object[] args) - { - this.name = name; - this.args = args; - } - - /// - /// Constructs a unique string for this tuple. - /// - /// The trap file to write to. - public void EmitTrap(TextWriter trapFile) - { - trapFile.WriteTuple(name, args); - } - - public override string ToString() - { - // Only implemented for debugging purposes - using var writer = new StringWriter(); - EmitTrap(writer); - return writer.ToString(); - } - } -} diff --git a/csharp/extractor/Semmle.Extraction.CSharp/_Base/Tuples.cs b/csharp/extractor/Semmle.Extraction.CSharp/_Base/Tuples.cs deleted file mode 100644 index fde03699f4ca..000000000000 --- a/csharp/extractor/Semmle.Extraction.CSharp/_Base/Tuples.cs +++ /dev/null @@ -1,35 +0,0 @@ -using Semmle.Extraction.Entities; - -namespace Semmle.Extraction -{ - /// - /// Methods for creating DB tuples. - /// - public static class Tuples - { - public static void containerparent(this System.IO.TextWriter trapFile, CSharp.Entities.Folder parent, IEntity child) - { - trapFile.WriteTuple("containerparent", parent, child); - } - - internal static void extractor_messages(this System.IO.TextWriter trapFile, ExtractionMessage error, Semmle.Util.Logging.Severity severity, string errorMessage, string entityText, CSharp.Entities.Location location, string stackTrace) - { - trapFile.WriteTuple("extractor_messages", error, (int)severity, "C# extractor", errorMessage, entityText, location, stackTrace); - } - - public static void files(this System.IO.TextWriter trapFile, CSharp.Entities.File file, string fullName) - { - trapFile.WriteTuple("files", file, fullName); - } - - internal static void folders(this System.IO.TextWriter trapFile, CSharp.Entities.Folder folder, string path) - { - trapFile.WriteTuple("folders", folder, path); - } - - public static void locations_default(this System.IO.TextWriter trapFile, CSharp.Entities.SourceLocation label, CSharp.Entities.File file, int startLine, int startCol, int endLine, int endCol) - { - trapFile.WriteTuple("locations_default", label, file, startLine, startCol, endLine, endCol); - } - } -} diff --git a/csharp/extractor/Semmle.Extraction.Tests/FilePattern.cs b/csharp/extractor/Semmle.Extraction.Tests/FilePattern.cs index 9985a6f06c68..e4ed2721bf99 100644 --- a/csharp/extractor/Semmle.Extraction.Tests/FilePattern.cs +++ b/csharp/extractor/Semmle.Extraction.Tests/FilePattern.cs @@ -1,4 +1,5 @@ using Xunit; +using Semmle.Extraction.CSharp; namespace Semmle.Extraction.Tests { diff --git a/csharp/extractor/Semmle.Extraction.Tests/Options.cs b/csharp/extractor/Semmle.Extraction.Tests/Options.cs index 1978732ee07b..76a03996df0d 100644 --- a/csharp/extractor/Semmle.Extraction.Tests/Options.cs +++ b/csharp/extractor/Semmle.Extraction.Tests/Options.cs @@ -4,6 +4,7 @@ using System.Text.RegularExpressions; using Semmle.Util; using Semmle.Util.Logging; +using Semmle.Extraction.CSharp; namespace Semmle.Extraction.Tests { diff --git a/csharp/extractor/Semmle.Extraction.Tests/PathTransformer.cs b/csharp/extractor/Semmle.Extraction.Tests/PathTransformer.cs index e629c406457c..be73becd25d2 100644 --- a/csharp/extractor/Semmle.Extraction.Tests/PathTransformer.cs +++ b/csharp/extractor/Semmle.Extraction.Tests/PathTransformer.cs @@ -1,5 +1,6 @@ using Xunit; using Semmle.Util; +using Semmle.Extraction.CSharp; namespace Semmle.Extraction.Tests { From ed44358143be1ec4b0fb323f767552fd12b933bf Mon Sep 17 00:00:00 2001 From: Napalys Date: Wed, 13 Nov 2024 15:51:00 +0100 Subject: [PATCH 166/347] Added toSpliced test cases for mutation arrays --- .../TaintTracking/array-mutation.js | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/javascript/ql/test/library-tests/TaintTracking/array-mutation.js b/javascript/ql/test/library-tests/TaintTracking/array-mutation.js index cc581d34a253..2e1f523ad30e 100644 --- a/javascript/ql/test/library-tests/TaintTracking/array-mutation.js +++ b/javascript/ql/test/library-tests/TaintTracking/array-mutation.js @@ -38,4 +38,29 @@ function test(x, y) { let j = []; j[j.length] = source(); sink(j); // NOT OK + + let k = []; + let kSpliced = k.toSpliced(x, y, source()); + sink(k); // OK + sink(kSpliced); // NOT OK -- This should be caught, but it is not + + let l = []; + l = l.toSpliced(x, y, source()); + sink(l); // NOT OK -- This should be caught, but it is not + + let m = []; + m = m.toSpliced(q, source(), y); + sink(m); // OK + + let n = []; + n = n.toSpliced(source(), x); + sink(n); // OK + + let o = []; + o = o.toSpliced(x, source()); + sink(o); // OK + + let p = []; + p = p.toSpliced(source(), x, y); + sink(p); // OK } From a0cac46b465d9e4d3683fc9d1bf832696acc27d2 Mon Sep 17 00:00:00 2001 From: Tamas Vajk Date: Wed, 13 Nov 2024 15:53:49 +0100 Subject: [PATCH 167/347] Merge the two CachedEntityFactory classes --- .../CachedEntityFactory.cs | 19 ------------------- .../Entities/Base/CachedEntityFactory.cs | 9 +++------ .../Base/CachedEntityFactoryExtensions.cs | 2 +- .../Entities/Base/Entity.cs | 7 +++---- .../Entities/Base/LabelledEntity.cs | 2 +- .../Entities/CachedEntity.cs | 2 +- .../Entities/Locations/Folder.cs | 10 +++++----- .../Entities/Locations/GeneratedLocation.cs | 2 +- .../Semmle.Extraction.CSharp/_Base/Context.cs | 4 ++-- 9 files changed, 17 insertions(+), 40 deletions(-) delete mode 100644 csharp/extractor/Semmle.Extraction.CSharp/CachedEntityFactory.cs diff --git a/csharp/extractor/Semmle.Extraction.CSharp/CachedEntityFactory.cs b/csharp/extractor/Semmle.Extraction.CSharp/CachedEntityFactory.cs deleted file mode 100644 index 2673ed0d7ef3..000000000000 --- a/csharp/extractor/Semmle.Extraction.CSharp/CachedEntityFactory.cs +++ /dev/null @@ -1,19 +0,0 @@ -namespace Semmle.Extraction.CSharp -{ - /// - /// A factory for creating cached entities. - /// - internal abstract class CachedEntityFactory - : Extraction.CachedEntityFactory where TEntity : CachedEntity - { - /// - /// Initializes the entity, but does not generate any trap code. - /// - public sealed override TEntity Create(Extraction.Context cx, TInit init) - { - return Create((Context)cx, init); - } - - public abstract TEntity Create(Context cx, TInit init); - } -} diff --git a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Base/CachedEntityFactory.cs b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Base/CachedEntityFactory.cs index d5c6da34f317..68cb8a393b5e 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Base/CachedEntityFactory.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Base/CachedEntityFactory.cs @@ -1,13 +1,10 @@ -namespace Semmle.Extraction +namespace Semmle.Extraction.CSharp { /// /// A factory for creating cached entities. /// - public abstract class CachedEntityFactory where TEntity : Semmle.Extraction.CachedEntity + public abstract class CachedEntityFactory where TEntity : CachedEntity { - /// - /// Initializes the entity, but does not generate any trap code. - /// - public abstract TEntity Create(Semmle.Extraction.Context cx, TInit init); + public abstract TEntity Create(Context cx, TInit init); } } diff --git a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Base/CachedEntityFactoryExtensions.cs b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Base/CachedEntityFactoryExtensions.cs index f8a08298cca6..1101db458666 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Base/CachedEntityFactoryExtensions.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Base/CachedEntityFactoryExtensions.cs @@ -1,6 +1,6 @@ using Microsoft.CodeAnalysis; -namespace Semmle.Extraction +namespace Semmle.Extraction.CSharp { public static class CachedEntityFactoryExtensions { diff --git a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Base/Entity.cs b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Base/Entity.cs index 335de82a9d39..c699c965d931 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Base/Entity.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Base/Entity.cs @@ -1,15 +1,14 @@ using System; using System.IO; using Microsoft.CodeAnalysis; -using Semmle.Extraction.CSharp; -namespace Semmle.Extraction +namespace Semmle.Extraction.CSharp { public abstract class Entity : IEntity { - public virtual Context Context { get; } + public virtual Semmle.Extraction.Context Context { get; } - protected Entity(Context context) + protected Entity(Semmle.Extraction.Context context) { this.Context = context; } diff --git a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Base/LabelledEntity.cs b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Base/LabelledEntity.cs index c268fcfabb03..e664d82b2b8f 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Base/LabelledEntity.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Base/LabelledEntity.cs @@ -1,6 +1,6 @@ namespace Semmle.Extraction.CSharp { - public abstract class LabelledEntity : Semmle.Extraction.Entity + public abstract class LabelledEntity : Entity { protected LabelledEntity(Semmle.Extraction.Context cx) : base(cx) { diff --git a/csharp/extractor/Semmle.Extraction.CSharp/Entities/CachedEntity.cs b/csharp/extractor/Semmle.Extraction.CSharp/Entities/CachedEntity.cs index 603a1d822b19..149ed2e142ab 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/Entities/CachedEntity.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Entities/CachedEntity.cs @@ -1,6 +1,6 @@ namespace Semmle.Extraction.CSharp.Entities { - internal abstract class CachedEntity : Extraction.CachedEntity where T : notnull + public abstract class CachedEntity : Extraction.CachedEntity where T : notnull { public override Context Context => (Context)base.Context; diff --git a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Locations/Folder.cs b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Locations/Folder.cs index 5d0fdc422b89..bef3e23ee2b8 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Locations/Folder.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Locations/Folder.cs @@ -2,9 +2,9 @@ namespace Semmle.Extraction.CSharp.Entities { - public sealed class Folder : Extraction.CachedEntity + public sealed class Folder : CachedEntity { - private Folder(Extraction.Context cx, PathTransformer.ITransformedPath init) : base(cx, init) { } + private Folder(Context cx, PathTransformer.ITransformedPath init) : base(cx, init) { } public override void Populate(TextWriter trapFile) { @@ -21,16 +21,16 @@ public override void WriteId(EscapingTextWriter trapFile) trapFile.Write(";folder"); } - public static Folder Create(Extraction.Context cx, PathTransformer.ITransformedPath folder) => + public static Folder Create(Context cx, PathTransformer.ITransformedPath folder) => FolderFactory.Instance.CreateEntity(cx, folder, folder); public override Microsoft.CodeAnalysis.Location? ReportingLocation => null; - private class FolderFactory : Extraction.CachedEntityFactory + private class FolderFactory : CachedEntityFactory { public static FolderFactory Instance { get; } = new FolderFactory(); - public override Folder Create(Extraction.Context cx, PathTransformer.ITransformedPath init) => new Folder(cx, init); + public override Folder Create(Context cx, PathTransformer.ITransformedPath init) => new Folder(cx, init); } public override int GetHashCode() => Symbol.GetHashCode(); diff --git a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Locations/GeneratedLocation.cs b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Locations/GeneratedLocation.cs index 01059bdd8bf9..d12f1ca51e00 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Locations/GeneratedLocation.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Locations/GeneratedLocation.cs @@ -28,7 +28,7 @@ public override void WriteId(EscapingTextWriter trapFile) public override bool Equals(object? obj) => obj is not null && obj.GetType() == typeof(GeneratedLocation); - public static GeneratedLocation Create(Extraction.Context cx) => GeneratedLocationFactory.Instance.CreateEntity(cx, typeof(GeneratedLocation), null); + public static GeneratedLocation Create(Context cx) => GeneratedLocationFactory.Instance.CreateEntity(cx, typeof(GeneratedLocation), null); private class GeneratedLocationFactory : CachedEntityFactory { diff --git a/csharp/extractor/Semmle.Extraction.CSharp/_Base/Context.cs b/csharp/extractor/Semmle.Extraction.CSharp/_Base/Context.cs index cf53dd83abef..9d574f3d8b50 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/_Base/Context.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/_Base/Context.cs @@ -107,7 +107,7 @@ private TEntity CreateEntity(CachedEntityFactory - CSharp.Entities.GeneratedLocation.Create(this); + CSharp.Entities.GeneratedLocation.Create((CSharp.Context)this); public virtual CSharp.Entities.Location CreateLocation(Microsoft.CodeAnalysis.Location? location) => CreateLocation(); From 2df3d1b251691c4925c28b64cfd4962d73399bb5 Mon Sep 17 00:00:00 2001 From: Napalys Date: Wed, 13 Nov 2024 15:58:20 +0100 Subject: [PATCH 168/347] JS: Fix: Ensure toSpliced is flagged by taint tracking in test suite (ed44358143be1ec4b0fb323f767552fd12b933bf) --- javascript/ql/lib/semmle/javascript/Arrays.qll | 5 +++++ .../library-tests/TaintTracking/BasicTaintTracking.expected | 2 ++ .../ql/test/library-tests/TaintTracking/array-mutation.js | 4 ++-- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/javascript/ql/lib/semmle/javascript/Arrays.qll b/javascript/ql/lib/semmle/javascript/Arrays.qll index 19fbb4552b57..8cc21c8fc1a1 100644 --- a/javascript/ql/lib/semmle/javascript/Arrays.qll +++ b/javascript/ql/lib/semmle/javascript/Arrays.qll @@ -81,6 +81,11 @@ module ArrayTaintTracking { pred = call.getArgument(any(int i | i >= 2)) and succ.(DataFlow::SourceNode).getAMethodCall("splice") = call or + // `array.toSpliced(x, y, source())`: if `source()` is tainted, then so is the result of `toSpliced`, but not the original array. + call.(DataFlow::MethodCallNode).getMethodName() = "toSpliced" and + pred = call.getArgument(any(int i | i >= 2)) and + succ = call + or // `array.splice(i, del, ...e)`: if `e` is tainted, then so is `array`. pred = call.getASpreadArgument() and succ.(DataFlow::SourceNode).getAMethodCall("splice") = call diff --git a/javascript/ql/test/library-tests/TaintTracking/BasicTaintTracking.expected b/javascript/ql/test/library-tests/TaintTracking/BasicTaintTracking.expected index b527f892dd03..313c1e44675b 100644 --- a/javascript/ql/test/library-tests/TaintTracking/BasicTaintTracking.expected +++ b/javascript/ql/test/library-tests/TaintTracking/BasicTaintTracking.expected @@ -23,6 +23,8 @@ typeInferenceMismatch | array-mutation.js:31:33:31:40 | source() | array-mutation.js:32:8:32:8 | h | | array-mutation.js:35:36:35:43 | source() | array-mutation.js:36:8:36:8 | i | | array-mutation.js:39:17:39:24 | source() | array-mutation.js:40:8:40:8 | j | +| array-mutation.js:43:36:43:43 | source() | array-mutation.js:45:8:45:15 | kSpliced | +| array-mutation.js:48:25:48:32 | source() | array-mutation.js:49:8:49:8 | l | | arrays-init.js:2:16:2:23 | source() | arrays-init.js:17:8:17:13 | arr[1] | | arrays-init.js:2:16:2:23 | source() | arrays-init.js:22:8:22:13 | arr[6] | | arrays-init.js:2:16:2:23 | source() | arrays-init.js:27:8:27:13 | arr[0] | diff --git a/javascript/ql/test/library-tests/TaintTracking/array-mutation.js b/javascript/ql/test/library-tests/TaintTracking/array-mutation.js index 2e1f523ad30e..2d2868b4b7f4 100644 --- a/javascript/ql/test/library-tests/TaintTracking/array-mutation.js +++ b/javascript/ql/test/library-tests/TaintTracking/array-mutation.js @@ -42,11 +42,11 @@ function test(x, y) { let k = []; let kSpliced = k.toSpliced(x, y, source()); sink(k); // OK - sink(kSpliced); // NOT OK -- This should be caught, but it is not + sink(kSpliced); // NOT OK let l = []; l = l.toSpliced(x, y, source()); - sink(l); // NOT OK -- This should be caught, but it is not + sink(l); // NOT OK let m = []; m = m.toSpliced(q, source(), y); From cf90430ec0864c2452cce66b6cb29c320e0d2ff1 Mon Sep 17 00:00:00 2001 From: Napalys Date: Wed, 13 Nov 2024 17:07:17 +0100 Subject: [PATCH 169/347] JS: Add: Missing test case for splice spread operator --- .../library-tests/TaintTracking/BasicTaintTracking.expected | 1 + .../ql/test/library-tests/TaintTracking/array-mutation.js | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/javascript/ql/test/library-tests/TaintTracking/BasicTaintTracking.expected b/javascript/ql/test/library-tests/TaintTracking/BasicTaintTracking.expected index 313c1e44675b..6c82033c44b4 100644 --- a/javascript/ql/test/library-tests/TaintTracking/BasicTaintTracking.expected +++ b/javascript/ql/test/library-tests/TaintTracking/BasicTaintTracking.expected @@ -25,6 +25,7 @@ typeInferenceMismatch | array-mutation.js:39:17:39:24 | source() | array-mutation.js:40:8:40:8 | j | | array-mutation.js:43:36:43:43 | source() | array-mutation.js:45:8:45:15 | kSpliced | | array-mutation.js:48:25:48:32 | source() | array-mutation.js:49:8:49:8 | l | +| array-mutation.js:68:21:68:28 | source() | array-mutation.js:69:8:69:8 | q | | arrays-init.js:2:16:2:23 | source() | arrays-init.js:17:8:17:13 | arr[1] | | arrays-init.js:2:16:2:23 | source() | arrays-init.js:22:8:22:13 | arr[6] | | arrays-init.js:2:16:2:23 | source() | arrays-init.js:27:8:27:13 | arr[0] | diff --git a/javascript/ql/test/library-tests/TaintTracking/array-mutation.js b/javascript/ql/test/library-tests/TaintTracking/array-mutation.js index 2d2868b4b7f4..dc0ebcaf9203 100644 --- a/javascript/ql/test/library-tests/TaintTracking/array-mutation.js +++ b/javascript/ql/test/library-tests/TaintTracking/array-mutation.js @@ -63,4 +63,8 @@ function test(x, y) { let p = []; p = p.toSpliced(source(), x, y); sink(p); // OK + + let q = []; + q.splice(x, y, ...source()); + sink(q); // NOT OK } From 8512cb44ffa3e6718b2e7975553566a3a5e9c9bd Mon Sep 17 00:00:00 2001 From: Napalys Date: Wed, 13 Nov 2024 17:18:09 +0100 Subject: [PATCH 170/347] JS: Add: Test cases for toSpliced with spread operator --- .../ql/test/library-tests/TaintTracking/array-mutation.js | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/javascript/ql/test/library-tests/TaintTracking/array-mutation.js b/javascript/ql/test/library-tests/TaintTracking/array-mutation.js index dc0ebcaf9203..63be3137ea52 100644 --- a/javascript/ql/test/library-tests/TaintTracking/array-mutation.js +++ b/javascript/ql/test/library-tests/TaintTracking/array-mutation.js @@ -67,4 +67,11 @@ function test(x, y) { let q = []; q.splice(x, y, ...source()); sink(q); // NOT OK + + let r = []; + let rSpliced = r.toSpliced(x, y, ...source()); + sink(rSpliced); // NOT OK -- This should flagged but it is not + sink(r); // OK + r = r.toSpliced(x, y, ...source()); + sink(r); // NOT OK -- This should flagged but it is not } From 84234d59b9536f8a0e84a7ab88203606f689676d Mon Sep 17 00:00:00 2001 From: Napalys Date: Wed, 13 Nov 2024 17:21:34 +0100 Subject: [PATCH 171/347] JS: Fix: Ensure toSpliced with spread operator is flagged --- javascript/ql/lib/semmle/javascript/Arrays.qll | 5 +++++ .../library-tests/TaintTracking/BasicTaintTracking.expected | 2 ++ .../ql/test/library-tests/TaintTracking/array-mutation.js | 4 ++-- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/javascript/ql/lib/semmle/javascript/Arrays.qll b/javascript/ql/lib/semmle/javascript/Arrays.qll index 8cc21c8fc1a1..cf5ef0eb7bd6 100644 --- a/javascript/ql/lib/semmle/javascript/Arrays.qll +++ b/javascript/ql/lib/semmle/javascript/Arrays.qll @@ -90,6 +90,11 @@ module ArrayTaintTracking { pred = call.getASpreadArgument() and succ.(DataFlow::SourceNode).getAMethodCall("splice") = call or + // `array.toSpliced(i, del, ...e)`: if `e` is tainted, then so is the result of `toSpliced`, but not the original array. + pred = call.getASpreadArgument() and + call.(DataFlow::MethodCallNode).getMethodName() = "toSpliced" and + succ = call + or // `e = array.pop()`, `e = array.shift()`, or similar: if `array` is tainted, then so is `e`. call.(DataFlow::MethodCallNode) .calls(pred, ["pop", "shift", "slice", "splice", "at", "toSpliced"]) and diff --git a/javascript/ql/test/library-tests/TaintTracking/BasicTaintTracking.expected b/javascript/ql/test/library-tests/TaintTracking/BasicTaintTracking.expected index 6c82033c44b4..dbd8a54ba568 100644 --- a/javascript/ql/test/library-tests/TaintTracking/BasicTaintTracking.expected +++ b/javascript/ql/test/library-tests/TaintTracking/BasicTaintTracking.expected @@ -26,6 +26,8 @@ typeInferenceMismatch | array-mutation.js:43:36:43:43 | source() | array-mutation.js:45:8:45:15 | kSpliced | | array-mutation.js:48:25:48:32 | source() | array-mutation.js:49:8:49:8 | l | | array-mutation.js:68:21:68:28 | source() | array-mutation.js:69:8:69:8 | q | +| array-mutation.js:72:39:72:46 | source() | array-mutation.js:73:8:73:15 | rSpliced | +| array-mutation.js:75:28:75:35 | source() | array-mutation.js:76:8:76:8 | r | | arrays-init.js:2:16:2:23 | source() | arrays-init.js:17:8:17:13 | arr[1] | | arrays-init.js:2:16:2:23 | source() | arrays-init.js:22:8:22:13 | arr[6] | | arrays-init.js:2:16:2:23 | source() | arrays-init.js:27:8:27:13 | arr[0] | diff --git a/javascript/ql/test/library-tests/TaintTracking/array-mutation.js b/javascript/ql/test/library-tests/TaintTracking/array-mutation.js index 63be3137ea52..072355368456 100644 --- a/javascript/ql/test/library-tests/TaintTracking/array-mutation.js +++ b/javascript/ql/test/library-tests/TaintTracking/array-mutation.js @@ -70,8 +70,8 @@ function test(x, y) { let r = []; let rSpliced = r.toSpliced(x, y, ...source()); - sink(rSpliced); // NOT OK -- This should flagged but it is not + sink(rSpliced); // NOT OK sink(r); // OK r = r.toSpliced(x, y, ...source()); - sink(r); // NOT OK -- This should flagged but it is not + sink(r); // NOT OK } From 788a88aaca6719ca75a8ab008df8f283ba0a771a Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 14 Nov 2024 00:20:18 +0000 Subject: [PATCH 172/347] Add changed framework coverage reports --- java/documentation/library-coverage/coverage.csv | 2 +- java/documentation/library-coverage/coverage.rst | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/java/documentation/library-coverage/coverage.csv b/java/documentation/library-coverage/coverage.csv index fc3620ca4bc6..2f320721865f 100644 --- a/java/documentation/library-coverage/coverage.csv +++ b/java/documentation/library-coverage/coverage.csv @@ -79,7 +79,7 @@ jakarta.xml.bind.attachment,,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2, java.applet,,,11,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,11, java.awt,1,,3,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,3 java.beans,,,177,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,82,95 -java.io,66,1,225,,,,,,,,,22,,,,,,,,,,,,,,,44,,,,,,,,,,,,,,,,,,,,,,1,,202,23 +java.io,66,1,226,,,,,,,,,22,,,,,,,,,,,,,,,44,,,,,,,,,,,,,,,,,,,,,,1,,203,23 java.lang,38,3,783,,13,,,,,,1,,,,,,,,,,,,8,,,,11,,,4,,,1,,,,,,,,,,,,,,,3,,,506,277 java.math,,,9,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,9 java.net,23,3,347,,,,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,21,,,,,,,,,,,,,,3,248,99 diff --git a/java/documentation/library-coverage/coverage.rst b/java/documentation/library-coverage/coverage.rst index 3851cb041664..89f4700e987b 100644 --- a/java/documentation/library-coverage/coverage.rst +++ b/java/documentation/library-coverage/coverage.rst @@ -18,10 +18,10 @@ Java framework & library support `Google Guava `_,``com.google.common.*``,,730,43,9,,,,, JBoss Logging,``org.jboss.logging``,,,324,,,,,, `JSON-java `_,``org.json``,,236,,,,,,, - Java Standard Library,``java.*``,10,4621,259,99,,9,,,26 + Java Standard Library,``java.*``,10,4622,259,99,,9,,,26 Java extensions,"``javax.*``, ``jakarta.*``",69,4159,90,10,4,2,1,1,4 Kotlin Standard Library,``kotlin*``,,1849,16,14,,,,,2 `Spring `_,``org.springframework.*``,38,486,143,26,,28,14,,35 Others,"``actions.osgi``, ``antlr``, ``ch.ethz.ssh2``, ``cn.hutool.core.codec``, ``com.alibaba.druid.sql``, ``com.alibaba.fastjson2``, ``com.amazonaws.auth``, ``com.auth0.jwt.algorithms``, ``com.azure.identity``, ``com.esotericsoftware.kryo.io``, ``com.esotericsoftware.kryo5.io``, ``com.fasterxml.jackson.core``, ``com.fasterxml.jackson.databind``, ``com.google.gson``, ``com.hubspot.jinjava``, ``com.jcraft.jsch``, ``com.microsoft.sqlserver.jdbc``, ``com.mitchellbosecke.pebble``, ``com.mongodb``, ``com.opensymphony.xwork2``, ``com.rabbitmq.client``, ``com.sshtools.j2ssh.authentication``, ``com.sun.crypto.provider``, ``com.sun.jndi.ldap``, ``com.sun.net.httpserver``, ``com.sun.net.ssl``, ``com.sun.rowset``, ``com.sun.security.auth.module``, ``com.sun.security.ntlm``, ``com.sun.security.sasl.digest``, ``com.thoughtworks.xstream``, ``com.trilead.ssh2``, ``com.unboundid.ldap.sdk``, ``com.zaxxer.hikari``, ``flexjson``, ``freemarker.cache``, ``freemarker.template``, ``groovy.lang``, ``groovy.text``, ``groovy.util``, ``hudson``, ``io.jsonwebtoken``, ``io.netty.bootstrap``, ``io.netty.buffer``, ``io.netty.channel``, ``io.netty.handler.codec``, ``io.netty.handler.ssl``, ``io.netty.handler.stream``, ``io.netty.resolver``, ``io.netty.util``, ``io.undertow.server.handlers.resource``, ``javafx.scene.web``, ``jenkins``, ``jodd.json``, ``liquibase.database.jvm``, ``liquibase.statement.core``, ``net.lingala.zip4j``, ``net.schmizz.sshj``, ``net.sf.json``, ``net.sf.saxon.s9api``, ``ognl``, ``okhttp3``, ``org.acegisecurity``, ``org.antlr.runtime``, ``org.apache.commons.codec``, ``org.apache.commons.compress.archivers.tar``, ``org.apache.commons.exec``, ``org.apache.commons.httpclient.util``, ``org.apache.commons.jelly``, ``org.apache.commons.jexl2``, ``org.apache.commons.jexl3``, ``org.apache.commons.lang``, ``org.apache.commons.logging``, ``org.apache.commons.net``, ``org.apache.commons.ognl``, ``org.apache.cxf.catalog``, ``org.apache.cxf.common.classloader``, ``org.apache.cxf.common.jaxb``, ``org.apache.cxf.common.logging``, ``org.apache.cxf.configuration.jsse``, ``org.apache.cxf.helpers``, ``org.apache.cxf.resource``, ``org.apache.cxf.staxutils``, ``org.apache.cxf.tools.corba.utils``, ``org.apache.cxf.tools.util``, ``org.apache.cxf.transform``, ``org.apache.directory.ldap.client.api``, ``org.apache.hadoop.fs``, ``org.apache.hadoop.hive.metastore``, ``org.apache.hadoop.hive.ql.exec``, ``org.apache.hadoop.hive.ql.metadata``, ``org.apache.hc.client5.http.async.methods``, ``org.apache.hc.client5.http.classic.methods``, ``org.apache.hc.client5.http.fluent``, ``org.apache.hive.hcatalog.templeton``, ``org.apache.ibatis.jdbc``, ``org.apache.ibatis.mapping``, ``org.apache.log4j``, ``org.apache.shiro.authc``, ``org.apache.shiro.codec``, ``org.apache.shiro.jndi``, ``org.apache.shiro.mgt``, ``org.apache.sshd.client.session``, ``org.apache.struts.beanvalidation.validation.interceptor``, ``org.apache.struts2``, ``org.apache.tools.ant``, ``org.apache.tools.zip``, ``org.apache.velocity.app``, ``org.apache.velocity.runtime``, ``org.codehaus.cargo.container.installer``, ``org.codehaus.groovy.control``, ``org.dom4j``, ``org.eclipse.jetty.client``, ``org.fusesource.leveldbjni``, ``org.geogebra.web.full.main``, ``org.gradle.api.file``, ``org.hibernate``, ``org.influxdb``, ``org.jboss.vfs``, ``org.jdbi.v3.core``, ``org.jenkins.ui.icon``, ``org.jenkins.ui.symbol``, ``org.jooq``, ``org.keycloak.models.map.storage``, ``org.kohsuke.stapler``, ``org.lastaflute.web``, ``org.mvel2``, ``org.openjdk.jmh.runner.options``, ``org.owasp.esapi``, ``org.pac4j.jwt.config.encryption``, ``org.pac4j.jwt.config.signature``, ``org.scijava.log``, ``org.slf4j``, ``org.thymeleaf``, ``org.xml.sax``, ``org.xmlpull.v1``, ``org.yaml.snakeyaml``, ``play.libs.ws``, ``play.mvc``, ``ratpack.core.form``, ``ratpack.core.handling``, ``ratpack.core.http``, ``ratpack.exec``, ``ratpack.form``, ``ratpack.func``, ``ratpack.handling``, ``ratpack.http``, ``ratpack.util``, ``retrofit2``, ``software.amazon.awssdk.transfer.s3.model``, ``sun.jvmstat.perfdata.monitor.protocol.local``, ``sun.jvmstat.perfdata.monitor.protocol.rmi``, ``sun.misc``, ``sun.net.ftp``, ``sun.net.www.protocol.http``, ``sun.security.acl``, ``sun.security.jgss.krb5``, ``sun.security.krb5``, ``sun.security.pkcs``, ``sun.security.pkcs11``, ``sun.security.provider``, ``sun.security.ssl``, ``sun.security.x509``, ``sun.tools.jconsole``",133,10525,908,140,6,22,18,,208 - Totals,,312,26328,2635,404,16,128,33,1,409 + Totals,,312,26329,2635,404,16,128,33,1,409 From 90579947cf15d70b4b30350933beb44ab5ff7446 Mon Sep 17 00:00:00 2001 From: Tamas Vajk Date: Thu, 14 Nov 2024 09:06:22 +0100 Subject: [PATCH 173/347] Move all classes to the Semmle.Extraction.CSharp namespace --- .../Semmle.Extraction.CSharp/BUILD.bazel | 1 - .../{CachedEntity`1.cs => CachedEntity.cs} | 6 +- .../Entities/Base/CachedEntityFactory.cs | 2 +- .../Base/CachedEntityFactoryExtensions.cs | 4 +- .../Entities/{ => Base}/CachedSymbol.cs | 2 - .../Entities/Base/Entity.cs | 4 +- .../Entities/Base/FreshEntity.cs | 6 +- .../Entities/Base/LabelledEntity.cs | 2 +- .../Entities/Base/UnlabelledEntity.cs | 2 +- .../Entities/CachedEntity.cs | 12 - .../Entities/CommentLine.cs | 1 - .../Entities/Compilations/Compilation.cs | 1 - .../Entities/ExtractionMessage.cs | 5 +- .../Entities/Field.cs | 1 - .../Entities/FreshEntity.cs | 12 - .../Entities/Locations/File.cs | 2 +- .../Entities/Locations/Location.cs | 2 +- .../Entities/Modifier.cs | 2 +- .../Entities/Parameter.cs | 1 - .../Entities/Statement`1.cs | 1 - .../Statements/SyntheticEmptyBlock.cs | 1 - .../Extractor/Context.cs | 482 ++++++++++++++++- .../{_Base => Extractor}/Message.cs | 8 +- .../Semmle.Extraction.CSharp/Trap/Tuples.cs | 1 - .../Semmle.Extraction.CSharp/_Base/Context.cs | 501 ------------------ 25 files changed, 494 insertions(+), 568 deletions(-) rename csharp/extractor/Semmle.Extraction.CSharp/Entities/Base/{CachedEntity`1.cs => CachedEntity.cs} (92%) rename csharp/extractor/Semmle.Extraction.CSharp/Entities/{ => Base}/CachedSymbol.cs (98%) delete mode 100644 csharp/extractor/Semmle.Extraction.CSharp/Entities/CachedEntity.cs delete mode 100644 csharp/extractor/Semmle.Extraction.CSharp/Entities/FreshEntity.cs rename csharp/extractor/Semmle.Extraction.CSharp/{_Base => Extractor}/Message.cs (73%) delete mode 100644 csharp/extractor/Semmle.Extraction.CSharp/_Base/Context.cs diff --git a/csharp/extractor/Semmle.Extraction.CSharp/BUILD.bazel b/csharp/extractor/Semmle.Extraction.CSharp/BUILD.bazel index 47e8ec48fd4c..42495f63ed44 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/BUILD.bazel +++ b/csharp/extractor/Semmle.Extraction.CSharp/BUILD.bazel @@ -6,7 +6,6 @@ load( codeql_csharp_library( name = "Semmle.Extraction.CSharp", srcs = glob([ - "_Base/**/*.cs", "CodeAnalysisExtensions/**/*.cs", "Comments/**/*.cs", "Entities/**/*.cs", diff --git a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Base/CachedEntity`1.cs b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Base/CachedEntity.cs similarity index 92% rename from csharp/extractor/Semmle.Extraction.CSharp/Entities/Base/CachedEntity`1.cs rename to csharp/extractor/Semmle.Extraction.CSharp/Entities/Base/CachedEntity.cs index 988f813c5198..ed0a21bc0836 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Base/CachedEntity`1.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Base/CachedEntity.cs @@ -2,14 +2,14 @@ using System.IO; using Microsoft.CodeAnalysis; -namespace Semmle.Extraction +namespace Semmle.Extraction.CSharp.Entities { /// /// A cached entity. /// /// The property is used as label in caching. /// - public abstract class CachedEntity : CSharp.LabelledEntity + public abstract class CachedEntity : LabelledEntity { protected CachedEntity(Context context) : base(context) { @@ -62,7 +62,7 @@ public override bool Equals(object? obj) return other?.GetType() == GetType() && Equals(other.Symbol, Symbol); } - public override CSharp.TrapStackBehaviour TrapStackBehaviour => CSharp.TrapStackBehaviour.NoLabel; + public override TrapStackBehaviour TrapStackBehaviour => TrapStackBehaviour.NoLabel; } /// diff --git a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Base/CachedEntityFactory.cs b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Base/CachedEntityFactory.cs index 68cb8a393b5e..6753dce9c722 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Base/CachedEntityFactory.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Base/CachedEntityFactory.cs @@ -3,7 +3,7 @@ namespace Semmle.Extraction.CSharp /// /// A factory for creating cached entities. /// - public abstract class CachedEntityFactory where TEntity : CachedEntity + public abstract class CachedEntityFactory where TEntity : Entities.CachedEntity { public abstract TEntity Create(Context cx, TInit init); } diff --git a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Base/CachedEntityFactoryExtensions.cs b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Base/CachedEntityFactoryExtensions.cs index 1101db458666..d7ca1293e33c 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Base/CachedEntityFactoryExtensions.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Base/CachedEntityFactoryExtensions.cs @@ -16,7 +16,7 @@ public static class CachedEntityFactoryExtensions /// The initializer for the entity. /// The entity. public static TEntity CreateEntity(this CachedEntityFactory factory, Context cx, object cacheKey, TInit init) - where TEntity : CachedEntity => cx.CreateEntity(factory, cacheKey, init); + where TEntity : Entities.CachedEntity => cx.CreateEntity(factory, cacheKey, init); /// /// Creates and populates a new entity from an `ISymbol`, or returns the existing one @@ -30,6 +30,6 @@ public static TEntity CreateEntity(this CachedEntityFactoryThe entity. public static TEntity CreateEntityFromSymbol(this CachedEntityFactory factory, Context cx, TSymbol init) where TSymbol : ISymbol - where TEntity : CachedEntity => cx.CreateEntityFromSymbol(factory, init); + where TEntity : Entities.CachedEntity => cx.CreateEntityFromSymbol(factory, init); } } diff --git a/csharp/extractor/Semmle.Extraction.CSharp/Entities/CachedSymbol.cs b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Base/CachedSymbol.cs similarity index 98% rename from csharp/extractor/Semmle.Extraction.CSharp/Entities/CachedSymbol.cs rename to csharp/extractor/Semmle.Extraction.CSharp/Entities/Base/CachedSymbol.cs index ad5640b90e65..c39eb6076b57 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/Entities/CachedSymbol.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Base/CachedSymbol.cs @@ -1,8 +1,6 @@ using System.Collections.Generic; using System.IO; using System.Linq; -using System.Reflection.Metadata; -using System.Reflection.Metadata.Ecma335; using Microsoft.CodeAnalysis; using Microsoft.CodeAnalysis.CSharp.Syntax; diff --git a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Base/Entity.cs b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Base/Entity.cs index c699c965d931..16e656f3fba2 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Base/Entity.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Base/Entity.cs @@ -6,9 +6,9 @@ namespace Semmle.Extraction.CSharp { public abstract class Entity : IEntity { - public virtual Semmle.Extraction.Context Context { get; } + public virtual Context Context { get; } - protected Entity(Semmle.Extraction.Context context) + protected Entity(Context context) { this.Context = context; } diff --git a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Base/FreshEntity.cs b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Base/FreshEntity.cs index e4690e940c98..87776fa8c6b1 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Base/FreshEntity.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Base/FreshEntity.cs @@ -1,11 +1,11 @@ using System.IO; -namespace Semmle.Extraction +namespace Semmle.Extraction.CSharp.Entities { /// /// An entity which has a default "*" ID assigned to it. /// - public abstract class FreshEntity : CSharp.UnlabelledEntity + public abstract class FreshEntity : UnlabelledEntity { protected FreshEntity(Context cx) : base(cx) { @@ -33,6 +33,6 @@ public string DebugContents public override Microsoft.CodeAnalysis.Location? ReportingLocation => null; - public override CSharp.TrapStackBehaviour TrapStackBehaviour => CSharp.TrapStackBehaviour.NoLabel; + public override TrapStackBehaviour TrapStackBehaviour => TrapStackBehaviour.NoLabel; } } diff --git a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Base/LabelledEntity.cs b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Base/LabelledEntity.cs index e664d82b2b8f..e458c935b0ee 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Base/LabelledEntity.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Base/LabelledEntity.cs @@ -2,7 +2,7 @@ namespace Semmle.Extraction.CSharp { public abstract class LabelledEntity : Entity { - protected LabelledEntity(Semmle.Extraction.Context cx) : base(cx) + protected LabelledEntity(Context cx) : base(cx) { } } diff --git a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Base/UnlabelledEntity.cs b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Base/UnlabelledEntity.cs index 61d3dc8527bf..2bfcc35b274c 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Base/UnlabelledEntity.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Base/UnlabelledEntity.cs @@ -2,7 +2,7 @@ namespace Semmle.Extraction.CSharp { public abstract class UnlabelledEntity : Entity { - protected UnlabelledEntity(Extraction.Context cx) : base(cx) + protected UnlabelledEntity(Context cx) : base(cx) { cx.AddFreshLabel(this); } diff --git a/csharp/extractor/Semmle.Extraction.CSharp/Entities/CachedEntity.cs b/csharp/extractor/Semmle.Extraction.CSharp/Entities/CachedEntity.cs deleted file mode 100644 index 149ed2e142ab..000000000000 --- a/csharp/extractor/Semmle.Extraction.CSharp/Entities/CachedEntity.cs +++ /dev/null @@ -1,12 +0,0 @@ -namespace Semmle.Extraction.CSharp.Entities -{ - public abstract class CachedEntity : Extraction.CachedEntity where T : notnull - { - public override Context Context => (Context)base.Context; - - protected CachedEntity(Context context, T symbol) - : base(context, symbol) - { - } - } -} diff --git a/csharp/extractor/Semmle.Extraction.CSharp/Entities/CommentLine.cs b/csharp/extractor/Semmle.Extraction.CSharp/Entities/CommentLine.cs index 9029eb071d44..7638eefce125 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/Entities/CommentLine.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Entities/CommentLine.cs @@ -1,5 +1,4 @@ using System.IO; -using Semmle.Extraction.Entities; namespace Semmle.Extraction.CSharp.Entities { diff --git a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Compilations/Compilation.cs b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Compilations/Compilation.cs index ecb5d51d44d5..2c74775460da 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Compilations/Compilation.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Compilations/Compilation.cs @@ -3,7 +3,6 @@ using System.IO; using System.Linq; using Microsoft.CodeAnalysis; -using Semmle.Extraction.Entities; using Semmle.Util; namespace Semmle.Extraction.CSharp.Entities diff --git a/csharp/extractor/Semmle.Extraction.CSharp/Entities/ExtractionMessage.cs b/csharp/extractor/Semmle.Extraction.CSharp/Entities/ExtractionMessage.cs index e3a85037d285..f8a771ae6d0e 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/Entities/ExtractionMessage.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Entities/ExtractionMessage.cs @@ -2,9 +2,8 @@ using System.IO; using System.Threading; using Semmle.Util; -using Semmle.Extraction.CSharp; -namespace Semmle.Extraction.Entities +namespace Semmle.Extraction.CSharp.Entities { internal class ExtractionMessage : FreshEntity { @@ -41,7 +40,7 @@ protected override void Populate(TextWriter trapFile) if (val == limit + 1) { Context.ExtractionContext.Logger.LogWarning($"Stopped logging extractor messages after reaching {limit}"); - _ = new ExtractionMessage(Context, new Message($"Stopped logging extractor messages after reaching {limit}", null, null, null, Util.Logging.Severity.Warning), bypassLimit: true); + _ = new ExtractionMessage(Context, new Message($"Stopped logging extractor messages after reaching {limit}", null, null, null, Semmle.Util.Logging.Severity.Warning), bypassLimit: true); } return; } diff --git a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Field.cs b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Field.cs index d95c0944f0fb..0a91eb57ecdf 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Field.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Field.cs @@ -4,7 +4,6 @@ using Microsoft.CodeAnalysis; using Microsoft.CodeAnalysis.CSharp.Syntax; using Semmle.Extraction.CSharp.Entities.Expressions; -using Semmle.Extraction.Entities; using Semmle.Extraction.Kinds; namespace Semmle.Extraction.CSharp.Entities diff --git a/csharp/extractor/Semmle.Extraction.CSharp/Entities/FreshEntity.cs b/csharp/extractor/Semmle.Extraction.CSharp/Entities/FreshEntity.cs deleted file mode 100644 index 79144e109d41..000000000000 --- a/csharp/extractor/Semmle.Extraction.CSharp/Entities/FreshEntity.cs +++ /dev/null @@ -1,12 +0,0 @@ -namespace Semmle.Extraction.CSharp.Entities -{ - internal abstract class FreshEntity : Extraction.FreshEntity - { - public override Context Context => (Context)base.Context; - - protected FreshEntity(Context cx) - : base(cx) - { - } - } -} diff --git a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Locations/File.cs b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Locations/File.cs index 05b339edf013..f4b9d99af5bc 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Locations/File.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Locations/File.cs @@ -6,7 +6,7 @@ namespace Semmle.Extraction.CSharp.Entities { - public class File : Extraction.CachedEntity + public class File : CachedEntity { protected readonly string originalPath; private readonly Lazy transformedPathLazy; diff --git a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Locations/Location.cs b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Locations/Location.cs index 0e67eac507b9..9f9e15e33f33 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Locations/Location.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Locations/Location.cs @@ -1,7 +1,7 @@ namespace Semmle.Extraction.CSharp.Entities { #nullable disable warnings - public abstract class Location : Extraction.CachedEntity + public abstract class Location : CachedEntity { #nullable restore warnings protected Location(Context cx, Microsoft.CodeAnalysis.Location? init) diff --git a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Modifier.cs b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Modifier.cs index aa68593d7d3c..cb1bb6e930da 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Modifier.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Modifier.cs @@ -3,7 +3,7 @@ namespace Semmle.Extraction.CSharp.Entities { - internal class Modifier : Extraction.CachedEntity + internal class Modifier : CachedEntity { private Modifier(Context cx, string init) : base(cx, init) { } diff --git a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Parameter.cs b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Parameter.cs index 8c6a65ad5538..76d518776caa 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Parameter.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Parameter.cs @@ -4,7 +4,6 @@ using Microsoft.CodeAnalysis; using Microsoft.CodeAnalysis.CSharp.Syntax; using Semmle.Extraction.CSharp.Populators; -using Semmle.Extraction.Entities; namespace Semmle.Extraction.CSharp.Entities { diff --git a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Statement`1.cs b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Statement`1.cs index 0d7bdd31354b..3b16cfc31f0f 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Statement`1.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Statement`1.cs @@ -1,7 +1,6 @@ using System.IO; using Microsoft.CodeAnalysis.CSharp; using Semmle.Extraction.CSharp.Populators; -using Semmle.Extraction.Entities; namespace Semmle.Extraction.CSharp.Entities { diff --git a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Statements/SyntheticEmptyBlock.cs b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Statements/SyntheticEmptyBlock.cs index 670d338d2b3c..6d6ebba24fb9 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Statements/SyntheticEmptyBlock.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Statements/SyntheticEmptyBlock.cs @@ -1,7 +1,6 @@ using System.IO; using Microsoft.CodeAnalysis.CSharp; using Microsoft.CodeAnalysis.CSharp.Syntax; -using Semmle.Extraction.Entities; using Semmle.Extraction.Kinds; namespace Semmle.Extraction.CSharp.Entities.Statements diff --git a/csharp/extractor/Semmle.Extraction.CSharp/Extractor/Context.cs b/csharp/extractor/Semmle.Extraction.CSharp/Extractor/Context.cs index 4146cc810594..8d819d715f9f 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/Extractor/Context.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Extractor/Context.cs @@ -2,8 +2,9 @@ using System.Collections.Generic; using System.Diagnostics.CodeAnalysis; using System.IO; +using System.Linq; using Microsoft.CodeAnalysis; -using Semmle.Extraction.Entities; +using Semmle.Util.Logging; namespace Semmle.Extraction.CSharp { @@ -11,8 +12,453 @@ namespace Semmle.Extraction.CSharp /// State that needs to be available throughout the extraction process. /// There is one Context object per trap output file. /// - public class Context : Extraction.Context + public class Context { + /// + /// Access various extraction functions, e.g. logger, trap writer. + /// + public ExtractionContext ExtractionContext { get; } + + /// + /// Access to the trap file. + /// + public TrapWriter TrapWriter { get; } + + /// + /// Holds if assembly information should be prefixed to TRAP labels. + /// + public bool ShouldAddAssemblyTrapPrefix { get; } + + public IList TrapStackSuffix { get; } = new List(); + + private int GetNewId() => TrapWriter.IdCounter++; + + // A recursion guard against writing to the trap file whilst writing an id to the trap file. + private bool writingLabel = false; + + private readonly Queue labelQueue = []; + + protected void DefineLabel(IEntity entity) + { + if (writingLabel) + { + // Don't define a label whilst writing a label. + labelQueue.Enqueue(entity); + } + else + { + try + { + writingLabel = true; + entity.DefineLabel(TrapWriter.Writer); + } + finally + { + writingLabel = false; + if (labelQueue.Any()) + { + DefineLabel(labelQueue.Dequeue()); + } + } + } + } + +#if DEBUG_LABELS + private void CheckEntityHasUniqueLabel(string id, CachedEntity entity) + { + if (idLabelCache.ContainsKey(id)) + { + this.Extractor.Message(new Message("Label collision for " + id, entity.Label.ToString(), CreateLocation(entity.ReportingLocation), "", Severity.Warning)); + } + else + { + idLabelCache[id] = entity; + } + } +#endif + + protected Label GetNewLabel() => new Label(GetNewId()); + + internal TEntity CreateEntity(CachedEntityFactory factory, object cacheKey, TInit init) + where TEntity : Entities.CachedEntity => + cacheKey is ISymbol s ? CreateEntity(factory, s, init, symbolEntityCache) : CreateEntity(factory, cacheKey, init, objectEntityCache); + + internal TEntity CreateEntityFromSymbol(CachedEntityFactory factory, TSymbol init) + where TSymbol : ISymbol + where TEntity : Entities.CachedEntity => CreateEntity(factory, init, init, symbolEntityCache); + + + /// + /// Creates and populates a new entity, or returns the existing one from the cache. + /// + /// The entity factory. + /// The key used for caching. + /// The initializer for the entity. + /// The dictionary to use for caching. + /// The new/existing entity. + private TEntity CreateEntity(CachedEntityFactory factory, TCacheKey cacheKey, TInit init, IDictionary dictionary) + where TCacheKey : notnull + where TEntity : Entities.CachedEntity + { + if (dictionary.TryGetValue(cacheKey, out var cached)) + return (TEntity)cached; + + using (StackGuard) + { + var label = GetNewLabel(); + var entity = factory.Create(this, init); + entity.Label = label; + + dictionary[cacheKey] = entity; + + DefineLabel(entity); + if (entity.NeedsPopulation) + Populate(init as ISymbol, entity); + +#if DEBUG_LABELS + using var id = new EscapingTextWriter(); + entity.WriteQuotedId(id); + CheckEntityHasUniqueLabel(id.ToString(), entity); +#endif + + return entity; + } + } + + /// + /// Creates a fresh label with ID "*", and set it on the + /// supplied object. + /// + internal void AddFreshLabel(Entity entity) + { + entity.Label = GetNewLabel(); + entity.DefineFreshLabel(TrapWriter.Writer); + } + +#if DEBUG_LABELS + private readonly Dictionary idLabelCache = new Dictionary(); +#endif + + private readonly IDictionary objectEntityCache = new Dictionary(); + private readonly IDictionary symbolEntityCache = new Dictionary(10000, SymbolEqualityComparer.Default); + + /// + /// Queue of items to populate later. + /// The only reason for this is so that the call stack does not + /// grow indefinitely, causing a potential stack overflow. + /// + private readonly Queue populateQueue = new Queue(); + + /// + /// Enqueue the given action to be performed later. + /// + /// The action to run. + public void PopulateLater(Action a, bool preserveDuplicationKey = true) + { + var key = preserveDuplicationKey ? GetCurrentTagStackKey() : null; + if (key is not null) + { + // If we are currently executing with a duplication guard, then the same + // guard must be used for the deferred action + populateQueue.Enqueue(() => WithDuplicationGuard(key, a)); + } + else + { + populateQueue.Enqueue(a); + } + } + + /// + /// Runs the main populate loop until there's nothing left to populate. + /// + public void PopulateAll() + { + while (populateQueue.Any()) + { + try + { + populateQueue.Dequeue()(); + } + catch (InternalError ex) + { + ExtractionError(new Message(ex.Text, ex.EntityText, CreateLocation(ex.Location), ex.StackTrace)); + } + catch (Exception ex) // lgtm[cs/catch-of-all-exceptions] + { + ExtractionError($"Uncaught exception. {ex.Message}", null, CreateLocation(), ex.StackTrace); + } + } + } + + private int currentRecursiveDepth = 0; + private const int maxRecursiveDepth = 150; + + private void EnterScope() + { + if (currentRecursiveDepth >= maxRecursiveDepth) + throw new StackOverflowException($"Maximum nesting depth of {maxRecursiveDepth} exceeded"); + ++currentRecursiveDepth; + } + + private void ExitScope() + { + --currentRecursiveDepth; + } + + public IDisposable StackGuard => new ScopeGuard(this); + + private sealed class ScopeGuard : IDisposable + { + private readonly Context cx; + + public ScopeGuard(Context c) + { + cx = c; + cx.EnterScope(); + } + + public void Dispose() + { + cx.ExitScope(); + } + } + + private class PushEmitter : ITrapEmitter + { + private readonly Key key; + + public PushEmitter(Key key) + { + this.key = key; + } + + public void EmitTrap(TextWriter trapFile) + { + trapFile.Write(".push "); + key.AppendTo(trapFile); + trapFile.WriteLine(); + } + } + + private class PopEmitter : ITrapEmitter + { + public void EmitTrap(TextWriter trapFile) + { + trapFile.WriteLine(".pop"); + } + } + + private readonly Stack tagStack = new Stack(); + + /// + /// Populates an entity, handling the tag stack appropriately + /// + /// Symbol for reporting errors. + /// The entity to populate. + /// Thrown on invalid trap stack behaviour. + private void Populate(ISymbol? optionalSymbol, Entities.CachedEntity entity) + { + if (writingLabel) + { + // Don't write tuples etc if we're currently defining a label + PopulateLater(() => Populate(optionalSymbol, entity)); + return; + } + + bool duplicationGuard, deferred; + + if (ExtractionContext.Mode is ExtractorMode.Standalone) + { + duplicationGuard = false; + deferred = false; + } + else + { + switch (entity.TrapStackBehaviour) + { + case TrapStackBehaviour.NeedsLabel: + if (!tagStack.Any()) + ExtractionError("TagStack unexpectedly empty", optionalSymbol, entity); + duplicationGuard = false; + deferred = false; + break; + case TrapStackBehaviour.NoLabel: + duplicationGuard = false; + deferred = tagStack.Any(); + break; + case TrapStackBehaviour.OptionalLabel: + duplicationGuard = false; + deferred = false; + break; + case TrapStackBehaviour.PushesLabel: + duplicationGuard = true; + deferred = tagStack.Any(); + break; + default: + throw new InternalError("Unexpected TrapStackBehaviour"); + } + } + + var a = duplicationGuard && IsEntityDuplicationGuarded(entity, out var loc) + ? (() => + { + var args = new object[TrapStackSuffix.Count + 2]; + args[0] = entity; + args[1] = loc; + for (var i = 0; i < TrapStackSuffix.Count; i++) + { + args[i + 2] = TrapStackSuffix[i]; + } + WithDuplicationGuard(new Key(args), () => entity.Populate(TrapWriter.Writer)); + }) + : (Action)(() => this.Try(null, optionalSymbol, () => entity.Populate(TrapWriter.Writer))); + + if (deferred) + populateQueue.Enqueue(a); + else + a(); + } + + protected Key? GetCurrentTagStackKey() => tagStack.Count > 0 + ? tagStack.Peek() + : null; + + /// + /// Log an extraction error. + /// + /// The error message. + /// A textual representation of the failed entity. + /// The location of the error. + /// An optional stack trace of the error, or null. + /// The severity of the error. + public void ExtractionError(string message, string? entityText, Entities.Location? location, string? stackTrace = null, Severity severity = Severity.Error) + { + var msg = new Message(message, entityText, location, stackTrace, severity); + ExtractionError(msg); + } + + /// + /// Log an extraction error. + /// + /// The text of the message. + /// The symbol of the error, or null. + /// The entity of the error, or null. + private void ExtractionError(string message, ISymbol? optionalSymbol, Entity optionalEntity) + { + if (!(optionalSymbol is null)) + { + ExtractionError(message, optionalSymbol.ToDisplayString(), CreateLocation(optionalSymbol.Locations.BestOrDefault())); + } + else if (!(optionalEntity is null)) + { + ExtractionError(message, optionalEntity.Label.ToString(), CreateLocation(optionalEntity.ReportingLocation)); + } + else + { + ExtractionError(message, null, CreateLocation()); + } + } + + /// + /// Log an extraction message. + /// + /// The message to log. + private void ExtractionError(Message msg) + { + _ = new Entities.ExtractionMessage(this, msg); + ExtractionContext.Message(msg); + } + + private void ExtractionError(InternalError error) + { + ExtractionError(new Message(error.Message, error.EntityText, CreateLocation(error.Location), error.StackTrace, Severity.Error)); + } + + private void ReportError(InternalError error) + { + if (!ExtractionContext.Mode.HasFlag(ExtractorMode.Standalone)) + throw error; + + ExtractionError(error); + } + + /// + /// Signal an error in the program model. + /// + /// The syntax node causing the failure. + /// The error message. + public void ModelError(SyntaxNode node, string msg) + { + ReportError(new InternalError(node, msg)); + } + + /// + /// Signal an error in the program model. + /// + /// Symbol causing the error. + /// The error message. + public void ModelError(ISymbol symbol, string msg) + { + ReportError(new InternalError(symbol, msg)); + } + + /// + /// Signal an error in the program model. + /// + /// The location of the error. + /// The error message. + public void ModelError(CSharp.Entities.Location loc, string msg) + { + ReportError(new InternalError(loc.ReportingLocation, msg)); + } + + /// + /// Signal an error in the program model. + /// + /// The error message. + public void ModelError(string msg) + { + ReportError(new InternalError(msg)); + } + + /// + /// Tries the supplied action , and logs an uncaught + /// exception error if the action fails. + /// + /// Optional syntax node for error reporting. + /// Optional symbol for error reporting. + /// The action to perform. + public void Try(SyntaxNode? node, ISymbol? symbol, Action a) + { + try + { + a(); + } + catch (Exception ex) // lgtm[cs/catch-of-all-exceptions] + { + Message message; + + if (node is not null) + { + message = Message.Create(this, ex.Message, node, ex.StackTrace); + } + else if (symbol is not null) + { + message = Message.Create(this, ex.Message, symbol, ex.StackTrace); + } + else if (ex is InternalError ie) + { + message = new Message(ie.Text, ie.EntityText, CreateLocation(ie.Location), ex.StackTrace); + } + else + { + message = new Message($"Uncaught exception. {ex.Message}", null, CreateLocation(), ex.StackTrace); + } + + ExtractionError(message); + } + } + /// /// The program database provided by Roslyn. /// There's one per syntax tree, which makes things awkward. @@ -77,9 +523,11 @@ internal void CacheLambdaParameterSymbol(IParameterSymbol param, SyntaxNode synt internal CommentProcessor CommentGenerator { get; } = new CommentProcessor(); - public Context(ExtractionContext extractionContext, Compilation c, TrapWriter trapWriter, IExtractionScope scope, bool addAssemblyTrapPrefix) - : base(extractionContext, trapWriter, addAssemblyTrapPrefix) + public Context(ExtractionContext extractionContext, Compilation c, TrapWriter trapWriter, IExtractionScope scope, bool shouldAddAssemblyTrapPrefix = false) { + ExtractionContext = extractionContext; + TrapWriter = trapWriter; + ShouldAddAssemblyTrapPrefix = shouldAddAssemblyTrapPrefix; Compilation = c; this.scope = scope; } @@ -102,7 +550,11 @@ public bool Defines(ISymbol symbol) => !SymbolEqualityComparer.Default.Equals(symbol, symbol.OriginalDefinition) || scope.InScope(symbol); - public override void WithDuplicationGuard(Key key, Action a) + /// + /// Runs the given action , guarding for trap duplication + /// based on key . + /// + public void WithDuplicationGuard(Key key, Action a) { if (IsAssemblyScope) { @@ -113,18 +565,28 @@ public override void WithDuplicationGuard(Key key, Action a) } else { - base.WithDuplicationGuard(key, a); + tagStack.Push(key); + TrapWriter.Emit(new PushEmitter(key)); + try + { + a(); + } + finally + { + TrapWriter.Emit(new PopEmitter()); + tagStack.Pop(); + } } } - public override Entities.Location CreateLocation() + public Entities.Location CreateLocation() { return SourceTree is null ? Entities.GeneratedLocation.Create(this) : CreateLocation(Microsoft.CodeAnalysis.Location.Create(SourceTree, Microsoft.CodeAnalysis.Text.TextSpan.FromBounds(0, 0))); } - public override Entities.Location CreateLocation(Microsoft.CodeAnalysis.Location? location) + public Entities.Location CreateLocation(Microsoft.CodeAnalysis.Location? location) { return (location is null || location.Kind == LocationKind.None) ? Entities.GeneratedLocation.Create(this) @@ -145,7 +607,7 @@ public void BindComments(Entity entity, Microsoft.CodeAnalysis.Location? l) CommentGenerator.AddElement(entity.Label, duplicationGuardKey, l); } - protected override bool IsEntityDuplicationGuarded(IEntity entity, [NotNullWhen(true)] out Entities.Location? loc) + private bool IsEntityDuplicationGuarded(IEntity entity, [NotNullWhen(true)] out Entities.Location? loc) { if (CreateLocation(entity.ReportingLocation) is Entities.NonGeneratedSourceLocation l) { @@ -169,7 +631,7 @@ protected override bool IsEntityDuplicationGuarded(IEntity entity, [NotNullWhen( /// /// The entity to extract. /// True only on the first call for a particular entity. - internal bool ExtractGenerics(CachedEntity entity) + internal bool ExtractGenerics(CSharp.Entities.CachedEntity entity) { if (extractedGenerics.Contains(entity.Label)) { diff --git a/csharp/extractor/Semmle.Extraction.CSharp/_Base/Message.cs b/csharp/extractor/Semmle.Extraction.CSharp/Extractor/Message.cs similarity index 73% rename from csharp/extractor/Semmle.Extraction.CSharp/_Base/Message.cs rename to csharp/extractor/Semmle.Extraction.CSharp/Extractor/Message.cs index e99255be6bf9..4825c6c3fe1b 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/_Base/Message.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Extractor/Message.cs @@ -13,9 +13,9 @@ public class Message public string Text { get; } public string? StackTrace { get; } public string? EntityText { get; } - public CSharp.Entities.Location? Location { get; } + public Entities.Location? Location { get; } - public Message(string text, string? entityText, CSharp.Entities.Location? location, string? stackTrace = null, Severity severity = Severity.Error) + public Message(string text, string? entityText, Entities.Location? location, string? stackTrace = null, Severity severity = Severity.Error) { Severity = severity; Text = text; @@ -24,12 +24,12 @@ public Message(string text, string? entityText, CSharp.Entities.Location? locati Location = location; } - public static Message Create(Extraction.Context cx, string text, ISymbol symbol, string? stackTrace = null, Severity severity = Severity.Error) + public static Message Create(Context cx, string text, ISymbol symbol, string? stackTrace = null, Severity severity = Severity.Error) { return new Message(text, symbol.ToString(), cx.CreateLocation(symbol.Locations.BestOrDefault()), stackTrace, severity); } - public static Message Create(Extraction.Context cx, string text, SyntaxNode node, string? stackTrace = null, Severity severity = Severity.Error) + public static Message Create(Context cx, string text, SyntaxNode node, string? stackTrace = null, Severity severity = Severity.Error) { return new Message(text, node.ToString(), cx.CreateLocation(node.GetLocation()), stackTrace, severity); } diff --git a/csharp/extractor/Semmle.Extraction.CSharp/Trap/Tuples.cs b/csharp/extractor/Semmle.Extraction.CSharp/Trap/Tuples.cs index 092728d3be45..8960b6adb67f 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/Trap/Tuples.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Trap/Tuples.cs @@ -3,7 +3,6 @@ using Semmle.Util; using Semmle.Extraction.CSharp.Entities; using Semmle.Extraction.CSharp.Entities.Expressions; -using Semmle.Extraction.Entities; using Semmle.Extraction.Kinds; namespace Semmle.Extraction.CSharp diff --git a/csharp/extractor/Semmle.Extraction.CSharp/_Base/Context.cs b/csharp/extractor/Semmle.Extraction.CSharp/_Base/Context.cs deleted file mode 100644 index 9d574f3d8b50..000000000000 --- a/csharp/extractor/Semmle.Extraction.CSharp/_Base/Context.cs +++ /dev/null @@ -1,501 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Diagnostics.CodeAnalysis; -using System.IO; -using System.Linq; -using Microsoft.CodeAnalysis; -using Semmle.Util.Logging; -using Semmle.Extraction.Entities; -using Semmle.Extraction.CSharp; - -namespace Semmle.Extraction -{ - /// - /// State that needs to be available throughout the extraction process. - /// There is one Context object per trap output file. - /// - public class Context - { - /// - /// Access various extraction functions, e.g. logger, trap writer. - /// - public ExtractionContext ExtractionContext { get; } - - /// - /// Access to the trap file. - /// - public TrapWriter TrapWriter { get; } - - /// - /// Holds if assembly information should be prefixed to TRAP labels. - /// - public bool ShouldAddAssemblyTrapPrefix { get; } - - public IList TrapStackSuffix { get; } = new List(); - - private int GetNewId() => TrapWriter.IdCounter++; - - // A recursion guard against writing to the trap file whilst writing an id to the trap file. - private bool writingLabel = false; - - private readonly Queue labelQueue = []; - - protected void DefineLabel(IEntity entity) - { - if (writingLabel) - { - // Don't define a label whilst writing a label. - labelQueue.Enqueue(entity); - } - else - { - try - { - writingLabel = true; - entity.DefineLabel(TrapWriter.Writer); - } - finally - { - writingLabel = false; - if (labelQueue.Any()) - { - DefineLabel(labelQueue.Dequeue()); - } - } - } - } - -#if DEBUG_LABELS - private void CheckEntityHasUniqueLabel(string id, CachedEntity entity) - { - if (idLabelCache.ContainsKey(id)) - { - this.Extractor.Message(new Message("Label collision for " + id, entity.Label.ToString(), CreateLocation(entity.ReportingLocation), "", Severity.Warning)); - } - else - { - idLabelCache[id] = entity; - } - } -#endif - - protected Label GetNewLabel() => new Label(GetNewId()); - - internal TEntity CreateEntity(CachedEntityFactory factory, object cacheKey, TInit init) - where TEntity : CachedEntity => - cacheKey is ISymbol s ? CreateEntity(factory, s, init, symbolEntityCache) : CreateEntity(factory, cacheKey, init, objectEntityCache); - - internal TEntity CreateEntityFromSymbol(CachedEntityFactory factory, TSymbol init) - where TSymbol : ISymbol - where TEntity : CachedEntity => CreateEntity(factory, init, init, symbolEntityCache); - - /// - /// Creates and populates a new entity, or returns the existing one from the cache. - /// - /// The entity factory. - /// The key used for caching. - /// The initializer for the entity. - /// The dictionary to use for caching. - /// The new/existing entity. - private TEntity CreateEntity(CachedEntityFactory factory, TCacheKey cacheKey, TInit init, IDictionary dictionary) - where TCacheKey : notnull - where TEntity : CachedEntity - { - if (dictionary.TryGetValue(cacheKey, out var cached)) - return (TEntity)cached; - - using (StackGuard) - { - var label = GetNewLabel(); - var entity = factory.Create((CSharp.Context)this, init); - entity.Label = label; - - dictionary[cacheKey] = entity; - - DefineLabel(entity); - if (entity.NeedsPopulation) - Populate(init as ISymbol, entity); - -#if DEBUG_LABELS - using var id = new EscapingTextWriter(); - entity.WriteQuotedId(id); - CheckEntityHasUniqueLabel(id.ToString(), entity); -#endif - - return entity; - } - } - - /// - /// Creates a fresh label with ID "*", and set it on the - /// supplied object. - /// - internal void AddFreshLabel(Entity entity) - { - entity.Label = GetNewLabel(); - entity.DefineFreshLabel(TrapWriter.Writer); - } - -#if DEBUG_LABELS - private readonly Dictionary idLabelCache = new Dictionary(); -#endif - - private readonly IDictionary objectEntityCache = new Dictionary(); - private readonly IDictionary symbolEntityCache = new Dictionary(10000, SymbolEqualityComparer.Default); - - /// - /// Queue of items to populate later. - /// The only reason for this is so that the call stack does not - /// grow indefinitely, causing a potential stack overflow. - /// - private readonly Queue populateQueue = new Queue(); - - /// - /// Enqueue the given action to be performed later. - /// - /// The action to run. - public void PopulateLater(Action a, bool preserveDuplicationKey = true) - { - var key = preserveDuplicationKey ? GetCurrentTagStackKey() : null; - if (key is not null) - { - // If we are currently executing with a duplication guard, then the same - // guard must be used for the deferred action - populateQueue.Enqueue(() => WithDuplicationGuard(key, a)); - } - else - { - populateQueue.Enqueue(a); - } - } - - /// - /// Runs the main populate loop until there's nothing left to populate. - /// - public void PopulateAll() - { - while (populateQueue.Any()) - { - try - { - populateQueue.Dequeue()(); - } - catch (InternalError ex) - { - ExtractionError(new Message(ex.Text, ex.EntityText, CreateLocation(ex.Location), ex.StackTrace)); - } - catch (Exception ex) // lgtm[cs/catch-of-all-exceptions] - { - ExtractionError($"Uncaught exception. {ex.Message}", null, CreateLocation(), ex.StackTrace); - } - } - } - - protected Context(ExtractionContext extractionContext, TrapWriter trapWriter, bool shouldAddAssemblyTrapPrefix = false) - { - ExtractionContext = extractionContext; - TrapWriter = trapWriter; - ShouldAddAssemblyTrapPrefix = shouldAddAssemblyTrapPrefix; - } - - private int currentRecursiveDepth = 0; - private const int maxRecursiveDepth = 150; - - private void EnterScope() - { - if (currentRecursiveDepth >= maxRecursiveDepth) - throw new StackOverflowException($"Maximum nesting depth of {maxRecursiveDepth} exceeded"); - ++currentRecursiveDepth; - } - - private void ExitScope() - { - --currentRecursiveDepth; - } - - public IDisposable StackGuard => new ScopeGuard(this); - - private sealed class ScopeGuard : IDisposable - { - private readonly Context cx; - - public ScopeGuard(Context c) - { - cx = c; - cx.EnterScope(); - } - - public void Dispose() - { - cx.ExitScope(); - } - } - - private class PushEmitter : ITrapEmitter - { - private readonly Key key; - - public PushEmitter(Key key) - { - this.key = key; - } - - public void EmitTrap(TextWriter trapFile) - { - trapFile.Write(".push "); - key.AppendTo(trapFile); - trapFile.WriteLine(); - } - } - - private class PopEmitter : ITrapEmitter - { - public void EmitTrap(TextWriter trapFile) - { - trapFile.WriteLine(".pop"); - } - } - - private readonly Stack tagStack = new Stack(); - - /// - /// Populates an entity, handling the tag stack appropriately - /// - /// Symbol for reporting errors. - /// The entity to populate. - /// Thrown on invalid trap stack behaviour. - private void Populate(ISymbol? optionalSymbol, CachedEntity entity) - { - if (writingLabel) - { - // Don't write tuples etc if we're currently defining a label - PopulateLater(() => Populate(optionalSymbol, entity)); - return; - } - - bool duplicationGuard, deferred; - - if (ExtractionContext.Mode is ExtractorMode.Standalone) - { - duplicationGuard = false; - deferred = false; - } - else - { - switch (entity.TrapStackBehaviour) - { - case TrapStackBehaviour.NeedsLabel: - if (!tagStack.Any()) - ExtractionError("TagStack unexpectedly empty", optionalSymbol, entity); - duplicationGuard = false; - deferred = false; - break; - case TrapStackBehaviour.NoLabel: - duplicationGuard = false; - deferred = tagStack.Any(); - break; - case TrapStackBehaviour.OptionalLabel: - duplicationGuard = false; - deferred = false; - break; - case TrapStackBehaviour.PushesLabel: - duplicationGuard = true; - deferred = duplicationGuard && tagStack.Any(); - break; - default: - throw new InternalError("Unexpected TrapStackBehaviour"); - } - } - - var a = duplicationGuard && IsEntityDuplicationGuarded(entity, out var loc) - ? (() => - { - var args = new object[TrapStackSuffix.Count + 2]; - args[0] = entity; - args[1] = loc; - for (var i = 0; i < TrapStackSuffix.Count; i++) - { - args[i + 2] = TrapStackSuffix[i]; - } - WithDuplicationGuard(new Key(args), () => entity.Populate(TrapWriter.Writer)); - }) - : (Action)(() => this.Try(null, optionalSymbol, () => entity.Populate(TrapWriter.Writer))); - - if (deferred) - populateQueue.Enqueue(a); - else - a(); - } - - protected virtual bool IsEntityDuplicationGuarded(IEntity entity, [NotNullWhen(returnValue: true)] out CSharp.Entities.Location? loc) - { - loc = null; - return false; - } - - /// - /// Runs the given action , guarding for trap duplication - /// based on key . - /// - public virtual void WithDuplicationGuard(Key key, Action a) - { - tagStack.Push(key); - TrapWriter.Emit(new PushEmitter(key)); - try - { - a(); - } - finally - { - TrapWriter.Emit(new PopEmitter()); - tagStack.Pop(); - } - } - - protected Key? GetCurrentTagStackKey() => tagStack.Count > 0 - ? tagStack.Peek() - : null; - - /// - /// Log an extraction error. - /// - /// The error message. - /// A textual representation of the failed entity. - /// The location of the error. - /// An optional stack trace of the error, or null. - /// The severity of the error. - public void ExtractionError(string message, string? entityText, CSharp.Entities.Location? location, string? stackTrace = null, Severity severity = Severity.Error) - { - var msg = new Message(message, entityText, location, stackTrace, severity); - ExtractionError(msg); - } - - /// - /// Log an extraction error. - /// - /// The text of the message. - /// The symbol of the error, or null. - /// The entity of the error, or null. - private void ExtractionError(string message, ISymbol? optionalSymbol, Entity optionalEntity) - { - if (!(optionalSymbol is null)) - { - ExtractionError(message, optionalSymbol.ToDisplayString(), CreateLocation(optionalSymbol.Locations.BestOrDefault())); - } - else if (!(optionalEntity is null)) - { - ExtractionError(message, optionalEntity.Label.ToString(), CreateLocation(optionalEntity.ReportingLocation)); - } - else - { - ExtractionError(message, null, CreateLocation()); - } - } - - /// - /// Log an extraction message. - /// - /// The message to log. - private void ExtractionError(Message msg) - { - new ExtractionMessage(this, msg); - ExtractionContext.Message(msg); - } - - private void ExtractionError(InternalError error) - { - ExtractionError(new Message(error.Message, error.EntityText, CreateLocation(error.Location), error.StackTrace, Severity.Error)); - } - - private void ReportError(InternalError error) - { - if (!ExtractionContext.Mode.HasFlag(ExtractorMode.Standalone)) - throw error; - - ExtractionError(error); - } - - /// - /// Signal an error in the program model. - /// - /// The syntax node causing the failure. - /// The error message. - public void ModelError(SyntaxNode node, string msg) - { - ReportError(new InternalError(node, msg)); - } - - /// - /// Signal an error in the program model. - /// - /// Symbol causing the error. - /// The error message. - public void ModelError(ISymbol symbol, string msg) - { - ReportError(new InternalError(symbol, msg)); - } - - /// - /// Signal an error in the program model. - /// - /// The location of the error. - /// The error message. - public void ModelError(CSharp.Entities.Location loc, string msg) - { - ReportError(new InternalError(loc.ReportingLocation, msg)); - } - - /// - /// Signal an error in the program model. - /// - /// The error message. - public void ModelError(string msg) - { - ReportError(new InternalError(msg)); - } - - /// - /// Tries the supplied action , and logs an uncaught - /// exception error if the action fails. - /// - /// Optional syntax node for error reporting. - /// Optional symbol for error reporting. - /// The action to perform. - public void Try(SyntaxNode? node, ISymbol? symbol, Action a) - { - try - { - a(); - } - catch (Exception ex) // lgtm[cs/catch-of-all-exceptions] - { - Message message; - - if (node is not null) - { - message = Message.Create(this, ex.Message, node, ex.StackTrace); - } - else if (symbol is not null) - { - message = Message.Create(this, ex.Message, symbol, ex.StackTrace); - } - else if (ex is InternalError ie) - { - message = new Message(ie.Text, ie.EntityText, CreateLocation(ie.Location), ex.StackTrace); - } - else - { - message = new Message($"Uncaught exception. {ex.Message}", null, CreateLocation(), ex.StackTrace); - } - - ExtractionError(message); - } - } - - public virtual CSharp.Entities.Location CreateLocation() => - CSharp.Entities.GeneratedLocation.Create((CSharp.Context)this); - - public virtual CSharp.Entities.Location CreateLocation(Microsoft.CodeAnalysis.Location? location) => - CreateLocation(); - } -} From 0fa3ba6b4d3714a41a66a5d3124f696812c02744 Mon Sep 17 00:00:00 2001 From: Tamas Vajk Date: Thu, 14 Nov 2024 10:45:54 +0100 Subject: [PATCH 174/347] Code quality improvements --- csharp/extractor/Semmle.Extraction.CSharp/Entities/Assembly.cs | 2 -- .../extractor/Semmle.Extraction.CSharp/Entities/Base/Entity.cs | 2 +- .../Semmle.Extraction.CSharp/Entities/Locations/File.cs | 1 - .../Entities/Locations/NonGeneratedSourceLocation.cs | 2 -- 4 files changed, 1 insertion(+), 6 deletions(-) diff --git a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Assembly.cs b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Assembly.cs index ed13fb28a903..cc36e41ff588 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Assembly.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Assembly.cs @@ -5,8 +5,6 @@ namespace Semmle.Extraction.CSharp.Entities { internal class Assembly : Location { - public override Context Context => (Context)base.Context; - private readonly string assemblyPath; private readonly IAssemblySymbol assembly; private readonly bool isOutputAssembly; diff --git a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Base/Entity.cs b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Base/Entity.cs index 16e656f3fba2..ca1887b3be9c 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Base/Entity.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Base/Entity.cs @@ -6,7 +6,7 @@ namespace Semmle.Extraction.CSharp { public abstract class Entity : IEntity { - public virtual Context Context { get; } + public Context Context { get; } protected Entity(Context context) { diff --git a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Locations/File.cs b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Locations/File.cs index f4b9d99af5bc..61c4bb3e7cca 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Locations/File.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Locations/File.cs @@ -11,7 +11,6 @@ public class File : CachedEntity protected readonly string originalPath; private readonly Lazy transformedPathLazy; protected PathTransformer.ITransformedPath TransformedPath => transformedPathLazy.Value; - public override Context Context => (Context)base.Context; public override Microsoft.CodeAnalysis.Location? ReportingLocation => null; public override bool NeedsPopulation => true; diff --git a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Locations/NonGeneratedSourceLocation.cs b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Locations/NonGeneratedSourceLocation.cs index f0db29a606b4..69e9ea4e9dc7 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Locations/NonGeneratedSourceLocation.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Locations/NonGeneratedSourceLocation.cs @@ -5,8 +5,6 @@ namespace Semmle.Extraction.CSharp.Entities { internal class NonGeneratedSourceLocation : SourceLocation { - public override Context Context => (Context)base.Context; - protected NonGeneratedSourceLocation(Context cx, Microsoft.CodeAnalysis.Location init) : base(cx, init) { From c86bbbb063d030f8b97ff1eca768c69528fa8fc6 Mon Sep 17 00:00:00 2001 From: Jeroen Ketema Date: Thu, 14 Nov 2024 11:48:17 +0100 Subject: [PATCH 175/347] C++: Fix `cpp/guarded-free` FPs when there are other blocks depending on the guard --- cpp/ql/src/experimental/Best Practices/GuardedFree.ql | 3 ++- .../Best Practices/GuardedFree/GuardedFree.expected | 5 ----- .../query-tests/Best Practices/GuardedFree/test.cpp | 4 ++-- 3 files changed, 4 insertions(+), 8 deletions(-) diff --git a/cpp/ql/src/experimental/Best Practices/GuardedFree.ql b/cpp/ql/src/experimental/Best Practices/GuardedFree.ql index 2d504d9bc057..f47af783ac94 100644 --- a/cpp/ql/src/experimental/Best Practices/GuardedFree.ql +++ b/cpp/ql/src/experimental/Best Practices/GuardedFree.ql @@ -22,5 +22,6 @@ from GuardCondition gc, FreeCall fc, Variable v, BasicBlock bb where gc.ensuresEq(v.getAnAccess(), 0, bb, false) and fc.getArgument(0) = v.getAnAccess() and - bb = fc.getEnclosingStmt() + bb = fc.getEnclosingStmt() and + strictcount(BasicBlock bb2 | gc.ensuresEq(_, 0, bb2, _) | bb2) = 1 select gc, "unnecessary NULL check before call to $@", fc, "free" diff --git a/cpp/ql/test/experimental/query-tests/Best Practices/GuardedFree/GuardedFree.expected b/cpp/ql/test/experimental/query-tests/Best Practices/GuardedFree/GuardedFree.expected index 209bae407b82..f86ab67b08d0 100644 --- a/cpp/ql/test/experimental/query-tests/Best Practices/GuardedFree/GuardedFree.expected +++ b/cpp/ql/test/experimental/query-tests/Best Practices/GuardedFree/GuardedFree.expected @@ -1,10 +1,5 @@ | test.cpp:5:7:5:7 | x | unnecessary NULL check before call to $@ | test.cpp:6:5:6:8 | call to free | free | -| test.cpp:23:7:23:7 | x | unnecessary NULL check before call to $@ | test.cpp:26:5:26:8 | call to free | free | -| test.cpp:31:7:31:8 | ! ... | unnecessary NULL check before call to $@ | test.cpp:35:3:35:6 | call to free | free | | test.cpp:31:7:31:24 | ... \|\| ... | unnecessary NULL check before call to $@ | test.cpp:35:3:35:6 | call to free | free | -| test.cpp:31:8:31:8 | x | unnecessary NULL check before call to $@ | test.cpp:35:3:35:6 | call to free | free | | test.cpp:94:12:94:12 | x | unnecessary NULL check before call to $@ | test.cpp:94:3:94:13 | call to free | free | -| test.cpp:98:7:98:8 | ! ... | unnecessary NULL check before call to $@ | test.cpp:101:3:101:6 | call to free | free | -| test.cpp:98:8:98:8 | x | unnecessary NULL check before call to $@ | test.cpp:101:3:101:6 | call to free | free | | test.cpp:106:7:106:18 | ... != ... | unnecessary NULL check before call to $@ | test.cpp:107:5:107:8 | call to free | free | | test.cpp:113:7:113:18 | ... != ... | unnecessary NULL check before call to $@ | test.cpp:114:17:114:20 | call to free | free | diff --git a/cpp/ql/test/experimental/query-tests/Best Practices/GuardedFree/test.cpp b/cpp/ql/test/experimental/query-tests/Best Practices/GuardedFree/test.cpp index 12b1fb2364e7..da73ba2ca29d 100644 --- a/cpp/ql/test/experimental/query-tests/Best Practices/GuardedFree/test.cpp +++ b/cpp/ql/test/experimental/query-tests/Best Practices/GuardedFree/test.cpp @@ -20,7 +20,7 @@ void test2(int *x) { } void test3(int *x, bool b) { - if (x) { // GOOD [FALSE POSITIVE]: x is being accessed in the body of the if + if (x) { // GOOD: x is being accessed in the body of the if if (b) *x = 42; free(x); @@ -95,7 +95,7 @@ void test11(char *x) { } bool test12(char *x) { - if (!x) // GOOD [FALSE POSITIVE]: return value depends on x + if (!x) // GOOD: return value depends on x return false; free(x); From a31e983e9e548888bd6bb3187c71bc499bcd4ff2 Mon Sep 17 00:00:00 2001 From: Jeroen Ketema Date: Thu, 14 Nov 2024 12:47:29 +0100 Subject: [PATCH 176/347] C++: Also allow single statement blocks in `cpp/guarded-free` --- cpp/ql/src/experimental/Best Practices/GuardedFree.ql | 7 ++++++- .../Best Practices/GuardedFree/GuardedFree.expected | 5 +++++ .../query-tests/Best Practices/GuardedFree/test.cpp | 4 ++-- 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/cpp/ql/src/experimental/Best Practices/GuardedFree.ql b/cpp/ql/src/experimental/Best Practices/GuardedFree.ql index f47af783ac94..664352c929be 100644 --- a/cpp/ql/src/experimental/Best Practices/GuardedFree.ql +++ b/cpp/ql/src/experimental/Best Practices/GuardedFree.ql @@ -22,6 +22,11 @@ from GuardCondition gc, FreeCall fc, Variable v, BasicBlock bb where gc.ensuresEq(v.getAnAccess(), 0, bb, false) and fc.getArgument(0) = v.getAnAccess() and - bb = fc.getEnclosingStmt() and + bb = fc.getBasicBlock() and + ( + bb = fc.getEnclosingStmt() + or + strictcount(bb.(BlockStmt).getAStmt()) = 1 + ) and strictcount(BasicBlock bb2 | gc.ensuresEq(_, 0, bb2, _) | bb2) = 1 select gc, "unnecessary NULL check before call to $@", fc, "free" diff --git a/cpp/ql/test/experimental/query-tests/Best Practices/GuardedFree/GuardedFree.expected b/cpp/ql/test/experimental/query-tests/Best Practices/GuardedFree/GuardedFree.expected index f86ab67b08d0..d69551bbbc2d 100644 --- a/cpp/ql/test/experimental/query-tests/Best Practices/GuardedFree/GuardedFree.expected +++ b/cpp/ql/test/experimental/query-tests/Best Practices/GuardedFree/GuardedFree.expected @@ -1,5 +1,10 @@ | test.cpp:5:7:5:7 | x | unnecessary NULL check before call to $@ | test.cpp:6:5:6:8 | call to free | free | +| test.cpp:10:7:10:7 | x | unnecessary NULL check before call to $@ | test.cpp:11:5:11:8 | call to free | free | | test.cpp:31:7:31:24 | ... \|\| ... | unnecessary NULL check before call to $@ | test.cpp:35:3:35:6 | call to free | free | +| test.cpp:42:7:42:7 | x | unnecessary NULL check before call to $@ | test.cpp:43:5:43:8 | call to free | free | +| test.cpp:49:7:49:7 | x | unnecessary NULL check before call to $@ | test.cpp:50:5:50:8 | call to free | free | +| test.cpp:75:7:75:7 | x | unnecessary NULL check before call to $@ | test.cpp:76:5:76:14 | call to free | free | +| test.cpp:81:7:81:7 | x | unnecessary NULL check before call to $@ | test.cpp:85:5:85:8 | call to free | free | | test.cpp:94:12:94:12 | x | unnecessary NULL check before call to $@ | test.cpp:94:3:94:13 | call to free | free | | test.cpp:106:7:106:18 | ... != ... | unnecessary NULL check before call to $@ | test.cpp:107:5:107:8 | call to free | free | | test.cpp:113:7:113:18 | ... != ... | unnecessary NULL check before call to $@ | test.cpp:114:17:114:20 | call to free | free | diff --git a/cpp/ql/test/experimental/query-tests/Best Practices/GuardedFree/test.cpp b/cpp/ql/test/experimental/query-tests/Best Practices/GuardedFree/test.cpp index da73ba2ca29d..3f9f458867af 100644 --- a/cpp/ql/test/experimental/query-tests/Best Practices/GuardedFree/test.cpp +++ b/cpp/ql/test/experimental/query-tests/Best Practices/GuardedFree/test.cpp @@ -72,13 +72,13 @@ bool test8(char *x) { #endif void test9(char *x) { - if (x) { // GOOD: macro may make free behave unexpectedly when compiled differently + if (x) { // GOOD [FALSE POSITIVE]: macro may make free behave unexpectedly when compiled differently my_free(x); } } void test10(char *x) { - if (x) { // GOOD: #ifdef may make free behave unexpectedly when compiled differently + if (x) { // GOOD [FALSE POSITIVE]: #ifdef may make free behave unexpectedly when compiled differently #ifdef FOO free(x - 1); #else From 176acabd9dbfeef4ea9c3fe8261e77abfd9da8fd Mon Sep 17 00:00:00 2001 From: Jeroen Ketema Date: Thu, 14 Nov 2024 12:51:04 +0100 Subject: [PATCH 177/347] C++: Ignore `free` calls that are macro defined or `#if`/`#ifdef` guarded --- .../src/experimental/Best Practices/GuardedFree.ql | 14 +++++++++++++- .../GuardedFree/GuardedFree.expected | 3 --- .../Best Practices/GuardedFree/test.cpp | 6 +++--- 3 files changed, 16 insertions(+), 7 deletions(-) diff --git a/cpp/ql/src/experimental/Best Practices/GuardedFree.ql b/cpp/ql/src/experimental/Best Practices/GuardedFree.ql index 664352c929be..747181cd32ff 100644 --- a/cpp/ql/src/experimental/Best Practices/GuardedFree.ql +++ b/cpp/ql/src/experimental/Best Practices/GuardedFree.ql @@ -18,6 +18,17 @@ class FreeCall extends FunctionCall { FreeCall() { this.getTarget().hasGlobalName("free") } } +predicate isAffectedByMacro(FreeCall fc, BasicBlock bb) { + fc.isInMacroExpansion() + or + exists(PreprocessorBranch ppb, Location bbLoc, Location ppbLoc | + bbLoc = bb.(Stmt).getLocation() and ppbLoc = ppb.getLocation() + | + bbLoc.getStartLine() < ppbLoc.getStartLine() and + ppbLoc.getEndLine() < bbLoc.getEndLine() + ) +} + from GuardCondition gc, FreeCall fc, Variable v, BasicBlock bb where gc.ensuresEq(v.getAnAccess(), 0, bb, false) and @@ -28,5 +39,6 @@ where or strictcount(bb.(BlockStmt).getAStmt()) = 1 ) and - strictcount(BasicBlock bb2 | gc.ensuresEq(_, 0, bb2, _) | bb2) = 1 + strictcount(BasicBlock bb2 | gc.ensuresEq(_, 0, bb2, _) | bb2) = 1 and + not isAffectedByMacro(fc, bb) select gc, "unnecessary NULL check before call to $@", fc, "free" diff --git a/cpp/ql/test/experimental/query-tests/Best Practices/GuardedFree/GuardedFree.expected b/cpp/ql/test/experimental/query-tests/Best Practices/GuardedFree/GuardedFree.expected index d69551bbbc2d..3a6fdfe5403b 100644 --- a/cpp/ql/test/experimental/query-tests/Best Practices/GuardedFree/GuardedFree.expected +++ b/cpp/ql/test/experimental/query-tests/Best Practices/GuardedFree/GuardedFree.expected @@ -3,8 +3,5 @@ | test.cpp:31:7:31:24 | ... \|\| ... | unnecessary NULL check before call to $@ | test.cpp:35:3:35:6 | call to free | free | | test.cpp:42:7:42:7 | x | unnecessary NULL check before call to $@ | test.cpp:43:5:43:8 | call to free | free | | test.cpp:49:7:49:7 | x | unnecessary NULL check before call to $@ | test.cpp:50:5:50:8 | call to free | free | -| test.cpp:75:7:75:7 | x | unnecessary NULL check before call to $@ | test.cpp:76:5:76:14 | call to free | free | -| test.cpp:81:7:81:7 | x | unnecessary NULL check before call to $@ | test.cpp:85:5:85:8 | call to free | free | -| test.cpp:94:12:94:12 | x | unnecessary NULL check before call to $@ | test.cpp:94:3:94:13 | call to free | free | | test.cpp:106:7:106:18 | ... != ... | unnecessary NULL check before call to $@ | test.cpp:107:5:107:8 | call to free | free | | test.cpp:113:7:113:18 | ... != ... | unnecessary NULL check before call to $@ | test.cpp:114:17:114:20 | call to free | free | diff --git a/cpp/ql/test/experimental/query-tests/Best Practices/GuardedFree/test.cpp b/cpp/ql/test/experimental/query-tests/Best Practices/GuardedFree/test.cpp index 3f9f458867af..ee7b8c03150d 100644 --- a/cpp/ql/test/experimental/query-tests/Best Practices/GuardedFree/test.cpp +++ b/cpp/ql/test/experimental/query-tests/Best Practices/GuardedFree/test.cpp @@ -72,13 +72,13 @@ bool test8(char *x) { #endif void test9(char *x) { - if (x) { // GOOD [FALSE POSITIVE]: macro may make free behave unexpectedly when compiled differently + if (x) { // GOOD: macro may make free behave unexpectedly when compiled differently my_free(x); } } void test10(char *x) { - if (x) { // GOOD [FALSE POSITIVE]: #ifdef may make free behave unexpectedly when compiled differently + if (x) { // GOOD: #ifdef may make free behave unexpectedly when compiled differently #ifdef FOO free(x - 1); #else @@ -91,7 +91,7 @@ void test10(char *x) { if (x) free(x); void test11(char *x) { - TRY_FREE(x) // BAD + TRY_FREE(x) // BAD [NOT DETECTED] } bool test12(char *x) { From b581723a63e29cac3a39da01f069556c7f6e8a80 Mon Sep 17 00:00:00 2001 From: Jeroen Ketema Date: Thu, 14 Nov 2024 12:53:54 +0100 Subject: [PATCH 178/347] C++: Ignore complex guards and the comma operator --- cpp/ql/src/experimental/Best Practices/GuardedFree.ql | 4 +++- .../Best Practices/GuardedFree/GuardedFree.expected | 2 -- .../query-tests/Best Practices/GuardedFree/test.cpp | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/cpp/ql/src/experimental/Best Practices/GuardedFree.ql b/cpp/ql/src/experimental/Best Practices/GuardedFree.ql index 747181cd32ff..94bec38af9fd 100644 --- a/cpp/ql/src/experimental/Best Practices/GuardedFree.ql +++ b/cpp/ql/src/experimental/Best Practices/GuardedFree.ql @@ -40,5 +40,7 @@ where strictcount(bb.(BlockStmt).getAStmt()) = 1 ) and strictcount(BasicBlock bb2 | gc.ensuresEq(_, 0, bb2, _) | bb2) = 1 and - not isAffectedByMacro(fc, bb) + not isAffectedByMacro(fc, bb) and + not (gc instanceof BinaryOperation and not gc instanceof ComparisonOperation) and + not exists(CommaExpr c | c.getAChild*() = fc) select gc, "unnecessary NULL check before call to $@", fc, "free" diff --git a/cpp/ql/test/experimental/query-tests/Best Practices/GuardedFree/GuardedFree.expected b/cpp/ql/test/experimental/query-tests/Best Practices/GuardedFree/GuardedFree.expected index 3a6fdfe5403b..a9a189218c62 100644 --- a/cpp/ql/test/experimental/query-tests/Best Practices/GuardedFree/GuardedFree.expected +++ b/cpp/ql/test/experimental/query-tests/Best Practices/GuardedFree/GuardedFree.expected @@ -1,7 +1,5 @@ | test.cpp:5:7:5:7 | x | unnecessary NULL check before call to $@ | test.cpp:6:5:6:8 | call to free | free | | test.cpp:10:7:10:7 | x | unnecessary NULL check before call to $@ | test.cpp:11:5:11:8 | call to free | free | -| test.cpp:31:7:31:24 | ... \|\| ... | unnecessary NULL check before call to $@ | test.cpp:35:3:35:6 | call to free | free | | test.cpp:42:7:42:7 | x | unnecessary NULL check before call to $@ | test.cpp:43:5:43:8 | call to free | free | | test.cpp:49:7:49:7 | x | unnecessary NULL check before call to $@ | test.cpp:50:5:50:8 | call to free | free | | test.cpp:106:7:106:18 | ... != ... | unnecessary NULL check before call to $@ | test.cpp:107:5:107:8 | call to free | free | -| test.cpp:113:7:113:18 | ... != ... | unnecessary NULL check before call to $@ | test.cpp:114:17:114:20 | call to free | free | diff --git a/cpp/ql/test/experimental/query-tests/Best Practices/GuardedFree/test.cpp b/cpp/ql/test/experimental/query-tests/Best Practices/GuardedFree/test.cpp index ee7b8c03150d..d52bcef72d16 100644 --- a/cpp/ql/test/experimental/query-tests/Best Practices/GuardedFree/test.cpp +++ b/cpp/ql/test/experimental/query-tests/Best Practices/GuardedFree/test.cpp @@ -28,7 +28,7 @@ void test3(int *x, bool b) { } bool test4(char *x, char *y) { - if (!x || strcmp(x, y)) { // GOOD [FALSE POSITIVE]: x is being accessed in the guard and return value depends on x + if (!x || strcmp(x, y)) { // GOOD: x is being accessed in the guard and return value depends on x free(x); return true; } @@ -110,6 +110,6 @@ void test13(char *x) { void inspect(char *x); void test14(char *x) { - if (x != nullptr) // GOOD [FALSE POSITIVE]: x might be accessed in the first operand of the comma operator + if (x != nullptr) // GOOD: x might be accessed in the first operand of the comma operator inspect(x), free(x); } From 20685918bdbf54a16b403fa5c0842c5ee4bf8109 Mon Sep 17 00:00:00 2001 From: Jeroen Ketema Date: Thu, 14 Nov 2024 13:10:20 +0100 Subject: [PATCH 179/347] C++: Silence ql-for-ql warning --- cpp/ql/src/experimental/Best Practices/GuardedFree.ql | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/cpp/ql/src/experimental/Best Practices/GuardedFree.ql b/cpp/ql/src/experimental/Best Practices/GuardedFree.ql index 94bec38af9fd..94b179ac5eb8 100644 --- a/cpp/ql/src/experimental/Best Practices/GuardedFree.ql +++ b/cpp/ql/src/experimental/Best Practices/GuardedFree.ql @@ -18,9 +18,7 @@ class FreeCall extends FunctionCall { FreeCall() { this.getTarget().hasGlobalName("free") } } -predicate isAffectedByMacro(FreeCall fc, BasicBlock bb) { - fc.isInMacroExpansion() - or +predicate blockContainsPreprocessorBranches(BasicBlock bb) { exists(PreprocessorBranch ppb, Location bbLoc, Location ppbLoc | bbLoc = bb.(Stmt).getLocation() and ppbLoc = ppb.getLocation() | @@ -40,7 +38,8 @@ where strictcount(bb.(BlockStmt).getAStmt()) = 1 ) and strictcount(BasicBlock bb2 | gc.ensuresEq(_, 0, bb2, _) | bb2) = 1 and - not isAffectedByMacro(fc, bb) and + not fc.isInMacroExpansion() and + not blockContainsPreprocessorBranches(bb) and not (gc instanceof BinaryOperation and not gc instanceof ComparisonOperation) and not exists(CommaExpr c | c.getAChild*() = fc) select gc, "unnecessary NULL check before call to $@", fc, "free" From 52330e834cd768ea3ccd567c9032350eac6acf7e Mon Sep 17 00:00:00 2001 From: Napalys Date: Thu, 14 Nov 2024 15:26:34 +0100 Subject: [PATCH 180/347] JS: Add: Test case for checking if regex via using splice --- .../ql/test/library-tests/RegExp/IsRegex/IsRegex.expected | 2 ++ javascript/ql/test/library-tests/RegExp/IsRegex/IsRegex.ql | 4 ++++ javascript/ql/test/library-tests/RegExp/IsRegex/tst.js | 6 ++++++ 3 files changed, 12 insertions(+) create mode 100644 javascript/ql/test/library-tests/RegExp/IsRegex/IsRegex.expected create mode 100644 javascript/ql/test/library-tests/RegExp/IsRegex/IsRegex.ql create mode 100644 javascript/ql/test/library-tests/RegExp/IsRegex/tst.js diff --git a/javascript/ql/test/library-tests/RegExp/IsRegex/IsRegex.expected b/javascript/ql/test/library-tests/RegExp/IsRegex/IsRegex.expected new file mode 100644 index 000000000000..a79282e2c968 --- /dev/null +++ b/javascript/ql/test/library-tests/RegExp/IsRegex/IsRegex.expected @@ -0,0 +1,2 @@ +| tst.js:1:12:1:38 | '^http: ... le.com' | is a regular expression | +| tst.js:4:37:4:43 | 'regex' | is a regular expression | diff --git a/javascript/ql/test/library-tests/RegExp/IsRegex/IsRegex.ql b/javascript/ql/test/library-tests/RegExp/IsRegex/IsRegex.ql new file mode 100644 index 000000000000..0e57c8226604 --- /dev/null +++ b/javascript/ql/test/library-tests/RegExp/IsRegex/IsRegex.ql @@ -0,0 +1,4 @@ +import javascript + +from RegExpPatternSource regex +select regex, "is a regular expression" diff --git a/javascript/ql/test/library-tests/RegExp/IsRegex/tst.js b/javascript/ql/test/library-tests/RegExp/IsRegex/tst.js new file mode 100644 index 000000000000..d4699b6229f7 --- /dev/null +++ b/javascript/ql/test/library-tests/RegExp/IsRegex/tst.js @@ -0,0 +1,6 @@ +new RegExp('^http://test\.example.com'); // NOT OK + +function detectRegexViaSplice(string) { + let found = getMyThing().search('regex'); // NOT OK + arr.splice(found, 1); +}; From 2b0def1ed3e3aa313b4516001c7e2971cba990e4 Mon Sep 17 00:00:00 2001 From: Napalys Date: Thu, 14 Nov 2024 15:31:38 +0100 Subject: [PATCH 181/347] JS: Add: Test case for checking if regex via using toSpliced --- javascript/ql/test/library-tests/RegExp/IsRegex/tst.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/javascript/ql/test/library-tests/RegExp/IsRegex/tst.js b/javascript/ql/test/library-tests/RegExp/IsRegex/tst.js index d4699b6229f7..a8035cb3fc36 100644 --- a/javascript/ql/test/library-tests/RegExp/IsRegex/tst.js +++ b/javascript/ql/test/library-tests/RegExp/IsRegex/tst.js @@ -4,3 +4,8 @@ function detectRegexViaSplice(string) { let found = getMyThing().search('regex'); // NOT OK arr.splice(found, 1); }; + +function detectRegexViaToSpliced(string) { + let found = getMyThing().search('regex'); // NOT OK -- Should be marked as regular expression but it is not. + arr.toSpliced(found, 1); +}; From b333f523df77ff3c42cee64a054427fa8377070d Mon Sep 17 00:00:00 2001 From: Napalys Date: Thu, 14 Nov 2024 15:34:14 +0100 Subject: [PATCH 182/347] JS: Fix: now one can determine regex via Array.prototype.toSpliced function call. --- javascript/ql/lib/semmle/javascript/Regexp.qll | 2 +- .../ql/test/library-tests/RegExp/IsRegex/IsRegex.expected | 1 + javascript/ql/test/library-tests/RegExp/IsRegex/tst.js | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/javascript/ql/lib/semmle/javascript/Regexp.qll b/javascript/ql/lib/semmle/javascript/Regexp.qll index 27ad339c733e..a06b73e9530f 100644 --- a/javascript/ql/lib/semmle/javascript/Regexp.qll +++ b/javascript/ql/lib/semmle/javascript/Regexp.qll @@ -972,7 +972,7 @@ private predicate isUsedAsNumber(DataFlow::LocalSourceNode value) { or exists(DataFlow::CallNode call | call.getCalleeName() = - ["substring", "substr", "slice", "splice", "charAt", "charCodeAt", "codePointAt"] and + ["substring", "substr", "slice", "splice", "charAt", "charCodeAt", "codePointAt", "toSpliced"] and value.flowsTo(call.getAnArgument()) ) } diff --git a/javascript/ql/test/library-tests/RegExp/IsRegex/IsRegex.expected b/javascript/ql/test/library-tests/RegExp/IsRegex/IsRegex.expected index a79282e2c968..0fb07c050d46 100644 --- a/javascript/ql/test/library-tests/RegExp/IsRegex/IsRegex.expected +++ b/javascript/ql/test/library-tests/RegExp/IsRegex/IsRegex.expected @@ -1,2 +1,3 @@ | tst.js:1:12:1:38 | '^http: ... le.com' | is a regular expression | | tst.js:4:37:4:43 | 'regex' | is a regular expression | +| tst.js:9:37:9:43 | 'regex' | is a regular expression | diff --git a/javascript/ql/test/library-tests/RegExp/IsRegex/tst.js b/javascript/ql/test/library-tests/RegExp/IsRegex/tst.js index a8035cb3fc36..3776821f7851 100644 --- a/javascript/ql/test/library-tests/RegExp/IsRegex/tst.js +++ b/javascript/ql/test/library-tests/RegExp/IsRegex/tst.js @@ -6,6 +6,6 @@ function detectRegexViaSplice(string) { }; function detectRegexViaToSpliced(string) { - let found = getMyThing().search('regex'); // NOT OK -- Should be marked as regular expression but it is not. + let found = getMyThing().search('regex'); // NOT OK arr.toSpliced(found, 1); }; From efb34aea45331adabba07c5556b0ac4c77011b6e Mon Sep 17 00:00:00 2001 From: Owen Mansel-Chan Date: Thu, 14 Nov 2024 14:50:25 +0000 Subject: [PATCH 183/347] Fix bug in UnreachableBlocks --- java/ql/lib/semmle/code/java/controlflow/UnreachableBlocks.qll | 2 +- .../library-tests/unreachableblocks/UnreachableBlocks.expected | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/java/ql/lib/semmle/code/java/controlflow/UnreachableBlocks.qll b/java/ql/lib/semmle/code/java/controlflow/UnreachableBlocks.qll index 3145371561a7..08ab199af585 100644 --- a/java/ql/lib/semmle/code/java/controlflow/UnreachableBlocks.qll +++ b/java/ql/lib/semmle/code/java/controlflow/UnreachableBlocks.qll @@ -223,7 +223,7 @@ class UnreachableBasicBlock extends BasicBlock { // Not accessible from the successful case not constSwitchStmt.getMatchingCase().getBasicBlock().getABBSuccessor*() = failingCaseBlock and // Blocks dominated by the failing case block are unreachable - constSwitchStmt.getAFailingCase().getBasicBlock().bbDominates(this) + failingCaseBlock.bbDominates(this) ) } } diff --git a/java/ql/test/library-tests/unreachableblocks/UnreachableBlocks.expected b/java/ql/test/library-tests/unreachableblocks/UnreachableBlocks.expected index 35178b0a3493..6bd76ea4b96e 100644 --- a/java/ql/test/library-tests/unreachableblocks/UnreachableBlocks.expected +++ b/java/ql/test/library-tests/unreachableblocks/UnreachableBlocks.expected @@ -3,7 +3,6 @@ | unreachableblocks/Unreachable.java:12:22:14:3 | { ... } | | unreachableblocks/Unreachable.java:17:3:17:9 | case ... | | unreachableblocks/Unreachable.java:19:3:19:9 | case ... | -| unreachableblocks/Unreachable.java:22:3:22:9 | case ... | | unreachableblocks/Unreachable.java:24:3:24:9 | case ... | | unreachableblocks/Unreachable.java:26:3:26:10 | case ... | | unreachableblocks/Unreachable.java:27:3:27:10 | default | From bf0fba6c4944927af80f6a40559c83e618c10963 Mon Sep 17 00:00:00 2001 From: Owen Mansel-Chan Date: Thu, 14 Nov 2024 14:53:12 +0000 Subject: [PATCH 184/347] Refactor UnreachableBasicBlock to make it clearer --- .../code/java/controlflow/UnreachableBlocks.qll | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/java/ql/lib/semmle/code/java/controlflow/UnreachableBlocks.qll b/java/ql/lib/semmle/code/java/controlflow/UnreachableBlocks.qll index 08ab199af585..f34ace10d314 100644 --- a/java/ql/lib/semmle/code/java/controlflow/UnreachableBlocks.qll +++ b/java/ql/lib/semmle/code/java/controlflow/UnreachableBlocks.qll @@ -217,13 +217,15 @@ class UnreachableBasicBlock extends BasicBlock { not this instanceof CatchClause or // Switch statements with a constant comparison expression may have unreachable cases. - exists(ConstSwitchStmt constSwitchStmt, BasicBlock failingCaseBlock | - failingCaseBlock = constSwitchStmt.getAFailingCase().getBasicBlock() - | + exists(ConstSwitchStmt constSwitchStmt, BasicBlock unreachableCaseBlock | + // Not accessible from the switch expression + unreachableCaseBlock = constSwitchStmt.getAFailingCase().getBasicBlock() and // Not accessible from the successful case - not constSwitchStmt.getMatchingCase().getBasicBlock().getABBSuccessor*() = failingCaseBlock and - // Blocks dominated by the failing case block are unreachable - failingCaseBlock.bbDominates(this) + not constSwitchStmt.getMatchingCase().getBasicBlock().getABBSuccessor*() = + unreachableCaseBlock + | + // Blocks dominated by an unreachable case block are unreachable + unreachableCaseBlock.bbDominates(this) ) } } From ba239a1be06b17ffde85e6af8990312d8c4ea8d1 Mon Sep 17 00:00:00 2001 From: Owen Mansel-Chan Date: Thu, 14 Nov 2024 15:02:21 +0000 Subject: [PATCH 185/347] Add change note --- ...14-unreachable-basic-block-in-constant-switch-statement.md | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 java/ql/lib/change-notes/2024-11-14-unreachable-basic-block-in-constant-switch-statement.md diff --git a/java/ql/lib/change-notes/2024-11-14-unreachable-basic-block-in-constant-switch-statement.md b/java/ql/lib/change-notes/2024-11-14-unreachable-basic-block-in-constant-switch-statement.md new file mode 100644 index 000000000000..50df55a4c1a9 --- /dev/null +++ b/java/ql/lib/change-notes/2024-11-14-unreachable-basic-block-in-constant-switch-statement.md @@ -0,0 +1,4 @@ +--- +category: minorAnalysis +--- +* In a switch statement with a constant switch expression, all non-matching cases were being marked as unreachable, including those that can be reached by falling through from the matching case. This has now been fixed. From a40c1d50b8683a02b81f6a0dd1cd274c3fa778f7 Mon Sep 17 00:00:00 2001 From: Mathias Vorreiter Pedersen Date: Thu, 14 Nov 2024 16:12:17 +0000 Subject: [PATCH 186/347] C++: Add FP tests. --- .../MissingCheckScanf.expected | 12 ++++++++++ .../Critical/MissingCheckScanf/test.cpp | 24 +++++++++++++++++++ 2 files changed, 36 insertions(+) diff --git a/cpp/ql/test/query-tests/Critical/MissingCheckScanf/MissingCheckScanf.expected b/cpp/ql/test/query-tests/Critical/MissingCheckScanf/MissingCheckScanf.expected index dac8afd3fd31..7f8fef84451b 100644 --- a/cpp/ql/test/query-tests/Critical/MissingCheckScanf/MissingCheckScanf.expected +++ b/cpp/ql/test/query-tests/Critical/MissingCheckScanf/MissingCheckScanf.expected @@ -52,6 +52,9 @@ edges | test.cpp:541:39:541:40 | sscanf output argument | test.cpp:549:8:549:8 | e | provenance | | | test.cpp:541:43:541:44 | sscanf output argument | test.cpp:545:8:545:8 | f | provenance | | | test.cpp:541:43:541:44 | sscanf output argument | test.cpp:550:8:550:8 | f | provenance | | +| test.cpp:559:30:559:31 | scanf output argument | test.cpp:561:9:561:9 | i | provenance | | +| test.cpp:567:35:567:36 | scanf output argument | test.cpp:569:9:569:9 | i | provenance | | +| test.cpp:575:30:575:31 | scanf output argument | test.cpp:577:9:577:9 | i | provenance | | nodes | test.cpp:34:15:34:16 | scanf output argument | semmle.label | scanf output argument | | test.cpp:35:7:35:7 | i | semmle.label | i | @@ -154,6 +157,12 @@ nodes | test.cpp:548:8:548:8 | d | semmle.label | d | | test.cpp:549:8:549:8 | e | semmle.label | e | | test.cpp:550:8:550:8 | f | semmle.label | f | +| test.cpp:559:30:559:31 | scanf output argument | semmle.label | scanf output argument | +| test.cpp:561:9:561:9 | i | semmle.label | i | +| test.cpp:567:35:567:36 | scanf output argument | semmle.label | scanf output argument | +| test.cpp:569:9:569:9 | i | semmle.label | i | +| test.cpp:575:30:575:31 | scanf output argument | semmle.label | scanf output argument | +| test.cpp:577:9:577:9 | i | semmle.label | i | subpaths #select | test.cpp:35:7:35:7 | i | test.cpp:34:15:34:16 | scanf output argument | test.cpp:35:7:35:7 | i | This variable is read, but may not have been written. It should be guarded by a check that the $@ returns at least 1. | test.cpp:34:3:34:7 | call to scanf | call to scanf | @@ -177,3 +186,6 @@ subpaths | test.cpp:484:9:484:9 | i | test.cpp:480:25:480:26 | scanf output argument | test.cpp:484:9:484:9 | i | This variable is read, but may not have been written. It should be guarded by a check that the $@ returns at least 1. | test.cpp:480:13:480:17 | call to scanf | call to scanf | | test.cpp:495:8:495:8 | i | test.cpp:491:25:491:26 | scanf output argument | test.cpp:495:8:495:8 | i | This variable is read, but may not have been written. It should be guarded by a check that the $@ returns at least 1. | test.cpp:491:13:491:17 | call to scanf | call to scanf | | test.cpp:545:8:545:8 | f | test.cpp:541:43:541:44 | sscanf output argument | test.cpp:545:8:545:8 | f | This variable is read, but may not have been written. It should be guarded by a check that the $@ returns at least 3. | test.cpp:541:10:541:15 | call to sscanf | call to sscanf | +| test.cpp:561:9:561:9 | i | test.cpp:559:30:559:31 | scanf output argument | test.cpp:561:9:561:9 | i | This variable is read, but may not have been written. It should be guarded by a check that the $@ returns at least 1. | test.cpp:559:18:559:22 | call to scanf | call to scanf | +| test.cpp:569:9:569:9 | i | test.cpp:567:35:567:36 | scanf output argument | test.cpp:569:9:569:9 | i | This variable is read, but may not have been written. It should be guarded by a check that the $@ returns at least 1. | test.cpp:567:23:567:27 | call to scanf | call to scanf | +| test.cpp:577:9:577:9 | i | test.cpp:575:30:575:31 | scanf output argument | test.cpp:577:9:577:9 | i | This variable is read, but may not have been written. It should be guarded by a check that the $@ returns at least 1. | test.cpp:575:18:575:22 | call to scanf | call to scanf | diff --git a/cpp/ql/test/query-tests/Critical/MissingCheckScanf/test.cpp b/cpp/ql/test/query-tests/Critical/MissingCheckScanf/test.cpp index efc37060a554..ca6d2e881919 100644 --- a/cpp/ql/test/query-tests/Critical/MissingCheckScanf/test.cpp +++ b/cpp/ql/test/query-tests/Critical/MissingCheckScanf/test.cpp @@ -553,3 +553,27 @@ void switch_cases(const char *data) { break; } } + +void test_scanf_compared_right_away() { + int i; + bool success = scanf("%d", &i) == 1; + if(success) { + use(i); // GOOD [FALSE POSITIVE] + } +} + +void test_scanf_compared_in_conjunct_right(bool b) { + int i; + bool success = b && scanf("%d", &i) == 1; + if(success) { + use(i); // GOOD [FALSE POSITIVE] + } +} + +void test_scanf_compared_in_conjunct_left(bool b) { + int i; + bool success = scanf("%d", &i) == 1 && b; + if(success) { + use(i); // GOOD [FALSE POSITIVE] + } +} From db380692904c9ed545f7fc23383c2cda99efd46d Mon Sep 17 00:00:00 2001 From: Mathias Vorreiter Pedersen Date: Fri, 8 Nov 2024 12:49:18 +0000 Subject: [PATCH 187/347] C++: Use value numbering in IRGuards. --- .../semmle/code/cpp/controlflow/IRGuards.qll | 259 ++++++++++++------ 1 file changed, 170 insertions(+), 89 deletions(-) diff --git a/cpp/ql/lib/semmle/code/cpp/controlflow/IRGuards.qll b/cpp/ql/lib/semmle/code/cpp/controlflow/IRGuards.qll index 9b4d28430ff3..ee93a93f010c 100644 --- a/cpp/ql/lib/semmle/code/cpp/controlflow/IRGuards.qll +++ b/cpp/ql/lib/semmle/code/cpp/controlflow/IRGuards.qll @@ -5,6 +5,7 @@ import cpp import semmle.code.cpp.ir.IR +private import semmle.code.cpp.ir.ValueNumbering private import semmle.code.cpp.ir.implementation.raw.internal.TranslatedExpr private import semmle.code.cpp.ir.implementation.raw.internal.InstructionTag @@ -59,7 +60,74 @@ class MatchValue extends AbstractValue, TMatchValue { } /** - * A Boolean condition in the AST that guards one or more basic blocks. + * A value number such that at least one of the instructions is + * a `CompareInstruction`. + */ +private class CompareValueNumber extends ValueNumber { + CompareInstruction cmp; + + CompareValueNumber() { cmp = this.getAnInstruction() } + + /** Gets an `CompareInstruction` belonging to this value number. */ + CompareInstruction getCompareInstruction() { result = cmp } + + /** + * Gets the left and right operands of a `CompareInstruction` that + * belongs to this value number. + */ + predicate hasOperands(Operand left, Operand right) { + left = cmp.getLeftOperand() and + right = cmp.getRightOperand() + } +} + +private class CompareEQValueNumber extends CompareValueNumber { + override CompareEQInstruction cmp; +} + +private class CompareNEValueNumber extends CompareValueNumber { + override CompareNEInstruction cmp; +} + +private class CompareLTValueNumber extends CompareValueNumber { + override CompareLTInstruction cmp; +} + +private class CompareGTValueNumber extends CompareValueNumber { + override CompareGTInstruction cmp; +} + +private class CompareLEValueNumber extends CompareValueNumber { + override CompareLEInstruction cmp; +} + +private class CompareGEValueNumber extends CompareValueNumber { + override CompareGEInstruction cmp; +} + +/** + * A value number such that at least one of the instructions is an + * insruction that is used in a `SwitchInstruction`'s expression. + */ +private class ScrutineeValueNumber extends ValueNumber { + SwitchInstruction switch; + + pragma[nomagic] + ScrutineeValueNumber() { this.getAnInstruction() = switch.getExpression() } + + /** Gets an expression that belongs to this value number. */ + Operand getExpressionOperand() { result = switch.getExpressionOperand() } + + IRType getResultIRType() { result = switch.getExpression().getResultIRType() } + + Instruction getSuccessor(CaseEdge kind) { result = switch.getSuccessor(kind) } + + predicate isGLValue() { switch.getExpression().isGLValue() } // Is this ever true? +} + +/** + * A Boolean condition in the AST that guards one or more basic blocks. This includes + * operands of logical operators but not switch statements. */ cached class GuardCondition extends Expr { @@ -517,7 +585,7 @@ class IRGuardCondition extends Instruction { cached predicate comparesLt(Operand left, Operand right, int k, boolean isLessThan, boolean testIsTrue) { exists(BooleanValue value | - compares_lt(this, left, right, k, isLessThan, value) and + compares_lt(valueNumber(this), left, right, k, isLessThan, value) and value.getValue() = testIsTrue ) } @@ -528,7 +596,7 @@ class IRGuardCondition extends Instruction { */ cached predicate comparesLt(Operand op, int k, boolean isLessThan, AbstractValue value) { - compares_lt(this, op, k, isLessThan, value) + compares_lt(valueNumber(this), op, k, isLessThan, value) } /** @@ -538,7 +606,8 @@ class IRGuardCondition extends Instruction { cached predicate ensuresLt(Operand left, Operand right, int k, IRBlock block, boolean isLessThan) { exists(AbstractValue value | - compares_lt(this, left, right, k, isLessThan, value) and this.valueControls(block, value) + compares_lt(valueNumber(this), left, right, k, isLessThan, value) and + this.valueControls(block, value) ) } @@ -549,7 +618,8 @@ class IRGuardCondition extends Instruction { cached predicate ensuresLt(Operand op, int k, IRBlock block, boolean isLessThan) { exists(AbstractValue value | - compares_lt(this, op, k, isLessThan, value) and this.valueControls(block, value) + compares_lt(valueNumber(this), op, k, isLessThan, value) and + this.valueControls(block, value) ) } @@ -562,7 +632,7 @@ class IRGuardCondition extends Instruction { Operand left, Operand right, int k, IRBlock pred, IRBlock succ, boolean isLessThan ) { exists(AbstractValue value | - compares_lt(this, left, right, k, isLessThan, value) and + compares_lt(valueNumber(this), left, right, k, isLessThan, value) and this.valueControlsEdge(pred, succ, value) ) } @@ -574,7 +644,7 @@ class IRGuardCondition extends Instruction { cached predicate ensuresLtEdge(Operand left, int k, IRBlock pred, IRBlock succ, boolean isLessThan) { exists(AbstractValue value | - compares_lt(this, left, k, isLessThan, value) and + compares_lt(valueNumber(this), left, k, isLessThan, value) and this.valueControlsEdge(pred, succ, value) ) } @@ -583,7 +653,7 @@ class IRGuardCondition extends Instruction { cached predicate comparesEq(Operand left, Operand right, int k, boolean areEqual, boolean testIsTrue) { exists(BooleanValue value | - compares_eq(this, left, right, k, areEqual, value) and + compares_eq(valueNumber(this), left, right, k, areEqual, value) and value.getValue() = testIsTrue ) } @@ -591,7 +661,7 @@ class IRGuardCondition extends Instruction { /** Holds if (determined by this guard) `op == k` evaluates to `areEqual` if this expression evaluates to `value`. */ cached predicate comparesEq(Operand op, int k, boolean areEqual, AbstractValue value) { - unary_compares_eq(this, op, k, areEqual, false, value) + unary_compares_eq(valueNumber(this), op, k, areEqual, false, value) } /** @@ -601,7 +671,8 @@ class IRGuardCondition extends Instruction { cached predicate ensuresEq(Operand left, Operand right, int k, IRBlock block, boolean areEqual) { exists(AbstractValue value | - compares_eq(this, left, right, k, areEqual, value) and this.valueControls(block, value) + compares_eq(valueNumber(this), left, right, k, areEqual, value) and + this.valueControls(block, value) ) } @@ -612,7 +683,8 @@ class IRGuardCondition extends Instruction { cached predicate ensuresEq(Operand op, int k, IRBlock block, boolean areEqual) { exists(AbstractValue value | - unary_compares_eq(this, op, k, areEqual, false, value) and this.valueControls(block, value) + unary_compares_eq(valueNumber(this), op, k, areEqual, false, value) and + this.valueControls(block, value) ) } @@ -625,7 +697,7 @@ class IRGuardCondition extends Instruction { Operand left, Operand right, int k, IRBlock pred, IRBlock succ, boolean areEqual ) { exists(AbstractValue value | - compares_eq(this, left, right, k, areEqual, value) and + compares_eq(valueNumber(this), left, right, k, areEqual, value) and this.valueControlsEdge(pred, succ, value) ) } @@ -637,7 +709,7 @@ class IRGuardCondition extends Instruction { cached predicate ensuresEqEdge(Operand op, int k, IRBlock pred, IRBlock succ, boolean areEqual) { exists(AbstractValue value | - unary_compares_eq(this, op, k, areEqual, false, value) and + unary_compares_eq(valueNumber(this), op, k, areEqual, false, value) and this.valueControlsEdge(pred, succ, value) ) } @@ -740,7 +812,7 @@ private Instruction getBranchForCondition(Instruction guard) { * Beware making mistaken logical implications here relating `areEqual` and `testIsTrue`. */ private predicate compares_eq( - Instruction test, Operand left, Operand right, int k, boolean areEqual, AbstractValue value + ValueNumber test, Operand left, Operand right, int k, boolean areEqual, AbstractValue value ) { /* The simple case where the test *is* the comparison so areEqual = testIsTrue xor eq. */ exists(AbstractValue v | simple_comparison_eq(test, left, right, k, v) | @@ -758,11 +830,12 @@ private predicate compares_eq( complex_eq(test, left, right, k, areEqual, value) or /* (x is true => (left == right + k)) => (!x is false => (left == right + k)) */ - exists(AbstractValue dual | value = dual.getDualValue() | - compares_eq(test.(LogicalNotInstruction).getUnary(), left, right, k, areEqual, dual) + exists(AbstractValue dual | + value = dual.getDualValue() and + compares_eq(test.(LogicalNotValueNumber).getUnary(), left, right, k, areEqual, dual) ) or - compares_eq(test.(BuiltinExpectCallInstruction).getCondition(), left, right, k, areEqual, value) + compares_eq(test.(BuiltinExpectCallValueNumber).getCondition(), left, right, k, areEqual, value) } /** @@ -801,12 +874,10 @@ private predicate compares_eq( * latter. */ private predicate unary_compares_eq( - Instruction test, Operand op, int k, boolean areEqual, boolean inNonZeroCase, AbstractValue value + ValueNumber test, Operand op, int k, boolean areEqual, boolean inNonZeroCase, AbstractValue value ) { /* The simple case where the test *is* the comparison so areEqual = testIsTrue xor eq. */ - exists(AbstractValue v | - unary_simple_comparison_eq(test, k, inNonZeroCase, v) and op.getDef() = test - | + exists(AbstractValue v | unary_simple_comparison_eq(test, op, k, inNonZeroCase, v) | areEqual = true and value = v or areEqual = false and value = v.getDualValue() @@ -817,7 +888,7 @@ private predicate unary_compares_eq( /* (x is true => (op == k)) => (!x is false => (op == k)) */ exists(AbstractValue dual, boolean inNonZeroCase0 | value = dual.getDualValue() and - unary_compares_eq(test.(LogicalNotInstruction).getUnary(), op, k, inNonZeroCase0, areEqual, dual) + unary_compares_eq(test.(LogicalNotValueNumber).getUnary(), op, k, inNonZeroCase0, areEqual, dual) | k = 0 and inNonZeroCase = inNonZeroCase0 or @@ -827,43 +898,40 @@ private predicate unary_compares_eq( // ((test is `areEqual` => op == const + k2) and const == `k1`) => // test is `areEqual` => op == k1 + k2 inNonZeroCase = false and - exists(int k1, int k2, ConstantInstruction const | + exists(int k1, int k2, Instruction const | compares_eq(test, op, const.getAUse(), k2, areEqual, value) and int_value(const) = k1 and k = k1 + k2 ) or - unary_compares_eq(test.(BuiltinExpectCallInstruction).getCondition(), op, k, areEqual, + unary_compares_eq(test.(BuiltinExpectCallValueNumber).getCondition(), op, k, areEqual, inNonZeroCase, value) } /** Rearrange various simple comparisons into `left == right + k` form. */ private predicate simple_comparison_eq( - CompareInstruction cmp, Operand left, Operand right, int k, AbstractValue value + CompareValueNumber cmp, Operand left, Operand right, int k, AbstractValue value ) { - left = cmp.getLeftOperand() and - cmp instanceof CompareEQInstruction and - right = cmp.getRightOperand() and + cmp instanceof CompareEQValueNumber and + cmp.hasOperands(left, right) and k = 0 and value.(BooleanValue).getValue() = true or - left = cmp.getLeftOperand() and - cmp instanceof CompareNEInstruction and - right = cmp.getRightOperand() and + cmp instanceof CompareNEValueNumber and + cmp.hasOperands(left, right) and k = 0 and value.(BooleanValue).getValue() = false } -/** - * Rearrange various simple comparisons into `op == k` form. - */ +/** Rearrange various simple comparisons into `op == k` form. */ private predicate unary_simple_comparison_eq( - Instruction test, int k, boolean inNonZeroCase, AbstractValue value + ValueNumber test, Operand op, int k, boolean inNonZeroCase, AbstractValue value ) { - exists(SwitchInstruction switch, CaseEdge case | - test = switch.getExpression() and + exists(CaseEdge case, ScrutineeValueNumber scrutinee | + scrutinee = test and + op = scrutinee.getExpressionOperand() and case = value.(MatchValue).getCase() and - exists(switch.getSuccessor(case)) and + exists(scrutinee.getSuccessor(case)) and case.getValue().toInt() = k and inNonZeroCase = false ) @@ -897,7 +965,7 @@ private predicate unary_simple_comparison_eq( not test.isGLValue() and not simple_comparison_eq(test, _, _, _, _) and not simple_comparison_lt(test, _, _, _) and - not test = any(SwitchInstruction switch).getExpression() and + op = test.getExpressionOperand() and ( test.getResultIRType() instanceof IRAddressType or test.getResultIRType() instanceof IRIntegerType or @@ -926,29 +994,47 @@ private class BuiltinExpectCallInstruction extends CallInstruction { } } +private class BuiltinExpectCallValueNumber extends ValueNumber { + BuiltinExpectCallInstruction instr; + + BuiltinExpectCallValueNumber() { this.getAnInstruction() = instr } + + ValueNumber getCondition() { result.getAnInstruction() = instr.getCondition() } + + Operand getAUse() { result = instr.getAUse() } +} + +private class LogicalNotValueNumber extends ValueNumber { + LogicalNotInstruction instr; + + LogicalNotValueNumber() { this.getAnInstruction() = instr } + + ValueNumber getUnary() { result.getAnInstruction() = instr.getUnary() } +} + /** * Holds if `left == right + k` is `areEqual` if `cmp` evaluates to `value`, * and `cmp` is an instruction that compares the value of * `__builtin_expect(left == right + k, _)` to `0`. */ private predicate builtin_expect_eq( - CompareInstruction cmp, Operand left, Operand right, int k, boolean areEqual, AbstractValue value + CompareValueNumber cmp, Operand left, Operand right, int k, boolean areEqual, AbstractValue value ) { - exists(BuiltinExpectCallInstruction call, Instruction const, AbstractValue innerValue | + exists(BuiltinExpectCallValueNumber call, Instruction const, AbstractValue innerValue | int_value(const) = 0 and cmp.hasOperands(call.getAUse(), const.getAUse()) and compares_eq(call.getCondition(), left, right, k, areEqual, innerValue) | - cmp instanceof CompareNEInstruction and + cmp instanceof CompareNEValueNumber and value = innerValue or - cmp instanceof CompareEQInstruction and + cmp instanceof CompareEQValueNumber and value.getDualValue() = innerValue ) } private predicate complex_eq( - CompareInstruction cmp, Operand left, Operand right, int k, boolean areEqual, AbstractValue value + ValueNumber cmp, Operand left, Operand right, int k, boolean areEqual, AbstractValue value ) { sub_eq(cmp, left, right, k, areEqual, value) or @@ -962,24 +1048,24 @@ private predicate complex_eq( * an instruction that compares the value of `__builtin_expect(op == k, _)` to `0`. */ private predicate unary_builtin_expect_eq( - CompareInstruction cmp, Operand op, int k, boolean areEqual, boolean inNonZeroCase, + CompareValueNumber cmp, Operand op, int k, boolean areEqual, boolean inNonZeroCase, AbstractValue value ) { - exists(BuiltinExpectCallInstruction call, Instruction const, AbstractValue innerValue | + exists(BuiltinExpectCallValueNumber call, Instruction const, AbstractValue innerValue | int_value(const) = 0 and cmp.hasOperands(call.getAUse(), const.getAUse()) and unary_compares_eq(call.getCondition(), op, k, areEqual, inNonZeroCase, innerValue) | - cmp instanceof CompareNEInstruction and + cmp instanceof CompareNEValueNumber and value = innerValue or - cmp instanceof CompareEQInstruction and + cmp instanceof CompareEQValueNumber and value.getDualValue() = innerValue ) } private predicate unary_complex_eq( - Instruction test, Operand op, int k, boolean areEqual, boolean inNonZeroCase, AbstractValue value + ValueNumber test, Operand op, int k, boolean areEqual, boolean inNonZeroCase, AbstractValue value ) { unary_sub_eq(test, op, k, areEqual, inNonZeroCase, value) or @@ -995,7 +1081,7 @@ private predicate unary_complex_eq( /** Holds if `left < right + k` evaluates to `isLt` given that test is `testIsTrue`. */ private predicate compares_lt( - Instruction test, Operand left, Operand right, int k, boolean isLt, AbstractValue value + ValueNumber test, Operand left, Operand right, int k, boolean isLt, AbstractValue value ) { /* In the simple case, the test is the comparison, so isLt = testIsTrue */ simple_comparison_lt(test, left, right, k) and @@ -1007,24 +1093,25 @@ private predicate compares_lt( exists(boolean isGe | isLt = isGe.booleanNot() | compares_ge(test, left, right, k, isGe, value)) or /* (x is true => (left < right + k)) => (!x is false => (left < right + k)) */ - exists(AbstractValue dual | value = dual.getDualValue() | - compares_lt(test.(LogicalNotInstruction).getUnary(), left, right, k, isLt, dual) + exists(AbstractValue dual | + value = dual.getDualValue() and + compares_lt(test.(LogicalNotValueNumber).getUnary(), left, right, k, isLt, dual) ) } /** Holds if `op < k` evaluates to `isLt` given that `test` evaluates to `value`. */ -private predicate compares_lt(Instruction test, Operand op, int k, boolean isLt, AbstractValue value) { - unary_simple_comparison_lt(test, k, isLt, value) and - op.getDef() = test +private predicate compares_lt(ValueNumber test, Operand op, int k, boolean isLt, AbstractValue value) { + unary_simple_comparison_lt(test, op, k, isLt, value) or complex_lt(test, op, k, isLt, value) or /* (x is true => (op < k)) => (!x is false => (op < k)) */ - exists(AbstractValue dual | value = dual.getDualValue() | - compares_lt(test.(LogicalNotInstruction).getUnary(), op, k, isLt, dual) + exists(AbstractValue dual | + value = dual.getDualValue() and + compares_lt(test.(LogicalNotValueNumber).getUnary(), op, k, isLt, dual) ) or - exists(int k1, int k2, ConstantInstruction const | + exists(int k1, int k2, Instruction const | compares_lt(test, op, const.getAUse(), k2, isLt, value) and int_value(const) = k1 and k = k1 + k2 @@ -1033,42 +1120,38 @@ private predicate compares_lt(Instruction test, Operand op, int k, boolean isLt, /** `(a < b + k) => (b > a - k) => (b >= a + (1-k))` */ private predicate compares_ge( - Instruction test, Operand left, Operand right, int k, boolean isGe, AbstractValue value + ValueNumber test, Operand left, Operand right, int k, boolean isGe, AbstractValue value ) { exists(int onemk | k = 1 - onemk | compares_lt(test, right, left, onemk, isGe, value)) } /** Rearrange various simple comparisons into `left < right + k` form. */ -private predicate simple_comparison_lt(CompareInstruction cmp, Operand left, Operand right, int k) { - left = cmp.getLeftOperand() and - cmp instanceof CompareLTInstruction and - right = cmp.getRightOperand() and +private predicate simple_comparison_lt(CompareValueNumber cmp, Operand left, Operand right, int k) { + cmp.hasOperands(left, right) and + cmp instanceof CompareLTValueNumber and k = 0 or - left = cmp.getLeftOperand() and - cmp instanceof CompareLEInstruction and - right = cmp.getRightOperand() and + cmp.hasOperands(left, right) and + cmp instanceof CompareLEValueNumber and k = 1 or - right = cmp.getLeftOperand() and - cmp instanceof CompareGTInstruction and - left = cmp.getRightOperand() and + cmp.hasOperands(right, left) and + cmp instanceof CompareGTValueNumber and k = 0 or - right = cmp.getLeftOperand() and - cmp instanceof CompareGEInstruction and - left = cmp.getRightOperand() and + cmp.hasOperands(right, left) and + cmp instanceof CompareGEValueNumber and k = 1 } /** Rearrange various simple comparisons into `op < k` form. */ private predicate unary_simple_comparison_lt( - Instruction test, int k, boolean isLt, AbstractValue value + ScrutineeValueNumber test, Operand op, int k, boolean isLt, AbstractValue value ) { - exists(SwitchInstruction switch, CaseEdge case | - test = switch.getExpression() and + exists(CaseEdge case | + test.getExpressionOperand() = op and case = value.(MatchValue).getCase() and - exists(switch.getSuccessor(case)) and + exists(test.getSuccessor(case)) and case.getMaxValue() > case.getMinValue() | // op <= k => op < k - 1 @@ -1081,7 +1164,7 @@ private predicate unary_simple_comparison_lt( } private predicate complex_lt( - CompareInstruction cmp, Operand left, Operand right, int k, boolean isLt, AbstractValue value + ValueNumber cmp, Operand left, Operand right, int k, boolean isLt, AbstractValue value ) { sub_lt(cmp, left, right, k, isLt, value) or @@ -1089,7 +1172,7 @@ private predicate complex_lt( } private predicate complex_lt( - Instruction test, Operand left, int k, boolean isLt, AbstractValue value + ValueNumber test, Operand left, int k, boolean isLt, AbstractValue value ) { sub_lt(test, left, k, isLt, value) or @@ -1099,7 +1182,7 @@ private predicate complex_lt( // left - x < right + c => left < right + (c+x) // left < (right - x) + c => left < right + (c-x) private predicate sub_lt( - CompareInstruction cmp, Operand left, Operand right, int k, boolean isLt, AbstractValue value + ValueNumber cmp, Operand left, Operand right, int k, boolean isLt, AbstractValue value ) { exists(SubInstruction lhs, int c, int x | compares_lt(cmp, lhs.getAUse(), right, c, isLt, value) and @@ -1130,7 +1213,7 @@ private predicate sub_lt( ) } -private predicate sub_lt(Instruction test, Operand left, int k, boolean isLt, AbstractValue value) { +private predicate sub_lt(ValueNumber test, Operand left, int k, boolean isLt, AbstractValue value) { exists(SubInstruction lhs, int c, int x | compares_lt(test, lhs.getAUse(), c, isLt, value) and left = lhs.getLeftOperand() and @@ -1149,7 +1232,7 @@ private predicate sub_lt(Instruction test, Operand left, int k, boolean isLt, Ab // left + x < right + c => left < right + (c-x) // left < (right + x) + c => left < right + (c+x) private predicate add_lt( - CompareInstruction cmp, Operand left, Operand right, int k, boolean isLt, AbstractValue value + ValueNumber cmp, Operand left, Operand right, int k, boolean isLt, AbstractValue value ) { exists(AddInstruction lhs, int c, int x | compares_lt(cmp, lhs.getAUse(), right, c, isLt, value) and @@ -1192,7 +1275,7 @@ private predicate add_lt( ) } -private predicate add_lt(Instruction test, Operand left, int k, boolean isLt, AbstractValue value) { +private predicate add_lt(ValueNumber test, Operand left, int k, boolean isLt, AbstractValue value) { exists(AddInstruction lhs, int c, int x | compares_lt(test, lhs.getAUse(), c, isLt, value) and ( @@ -1217,7 +1300,7 @@ private predicate add_lt(Instruction test, Operand left, int k, boolean isLt, Ab // left - x == right + c => left == right + (c+x) // left == (right - x) + c => left == right + (c-x) private predicate sub_eq( - CompareInstruction cmp, Operand left, Operand right, int k, boolean areEqual, AbstractValue value + ValueNumber cmp, Operand left, Operand right, int k, boolean areEqual, AbstractValue value ) { exists(SubInstruction lhs, int c, int x | compares_eq(cmp, lhs.getAUse(), right, c, areEqual, value) and @@ -1250,7 +1333,7 @@ private predicate sub_eq( // op - x == c => op == (c+x) private predicate unary_sub_eq( - Instruction test, Operand op, int k, boolean areEqual, boolean inNonZeroCase, AbstractValue value + ValueNumber test, Operand op, int k, boolean areEqual, boolean inNonZeroCase, AbstractValue value ) { inNonZeroCase = false and exists(SubInstruction sub, int c, int x | @@ -1272,7 +1355,7 @@ private predicate unary_sub_eq( // left + x == right + c => left == right + (c-x) // left == (right + x) + c => left == right + (c+x) private predicate add_eq( - CompareInstruction cmp, Operand left, Operand right, int k, boolean areEqual, AbstractValue value + ValueNumber cmp, Operand left, Operand right, int k, boolean areEqual, AbstractValue value ) { exists(AddInstruction lhs, int c, int x | compares_eq(cmp, lhs.getAUse(), right, c, areEqual, value) and @@ -1317,7 +1400,7 @@ private predicate add_eq( // left + x == right + c => left == right + (c-x) private predicate unary_add_eq( - Instruction test, Operand left, int k, boolean areEqual, boolean inNonZeroCase, + ValueNumber test, Operand left, int k, boolean areEqual, boolean inNonZeroCase, AbstractValue value ) { inNonZeroCase = false and @@ -1351,6 +1434,4 @@ private class IntegerOrPointerConstantInstruction extends ConstantInstruction { } /** The int value of integer constant expression. */ -private int int_value(Instruction i) { - result = i.(IntegerOrPointerConstantInstruction).getValue().toInt() -} +private int int_value(IntegerOrPointerConstantInstruction i) { result = i.getValue().toInt() } From 442968c3c2b685b2b2217c3374dc764653d286f2 Mon Sep 17 00:00:00 2001 From: Mathias Vorreiter Pedersen Date: Thu, 14 Nov 2024 13:36:10 +0000 Subject: [PATCH 188/347] C++: Properly restrict 'unary_simple_comparison_eq'. --- .../semmle/code/cpp/controlflow/IRGuards.qll | 92 +++++++++++-------- 1 file changed, 55 insertions(+), 37 deletions(-) diff --git a/cpp/ql/lib/semmle/code/cpp/controlflow/IRGuards.qll b/cpp/ql/lib/semmle/code/cpp/controlflow/IRGuards.qll index ee93a93f010c..edb5275b3c3f 100644 --- a/cpp/ql/lib/semmle/code/cpp/controlflow/IRGuards.qll +++ b/cpp/ql/lib/semmle/code/cpp/controlflow/IRGuards.qll @@ -923,6 +923,55 @@ private predicate simple_comparison_eq( value.(BooleanValue).getValue() = false } +/** + * Holds if `op` is an operand that is eventually used in a unary comparison + * with a constant. + */ +private predicate isRelevantUnaryComparisonOperand(Operand op) { + // Base case: `op` is an operand of a `CompareEQInstruction` or `CompareNEInstruction`, + // and the other operand is a constant. + exists(CompareInstruction eq, Instruction instr | + eq.hasOperands(op, instr.getAUse()) and + exists(int_value(instr)) + | + eq instanceof CompareEQInstruction + or + eq instanceof CompareNEInstruction + ) + or + // C doesn't have int-to-bool conversions, so `if(x)` will just generate: + // r2_1(glval) = VariableAddress[x] + // r2_2(int) = Load[x] : &:r2_1, m1_6 + // v2_3(void) = ConditionalBranch : r2_2 + exists(ConditionalBranchInstruction branch | branch.getConditionOperand() = op) + or + // If `!x` is a relevant unary comparison then so is `x`. + exists(LogicalNotInstruction logicalNot | + isRelevantUnaryComparisonOperand(unique( | | logicalNot.getAUse())) and + logicalNot.getUnaryOperand() = op + ) + or + // If `y` is a relevant unary comparison and `y = x` then so is `x`. + not op.isDefinitionInexact() and + exists(CopyInstruction copy | + isRelevantUnaryComparisonOperand(unique( | | copy.getAUse())) and + op = copy.getSourceValueOperand() + ) + or + // If phi(x1, x2) is a relevant unary comparison then so is `x1` and `x2`. + not op.isDefinitionInexact() and + exists(PhiInstruction phi | + isRelevantUnaryComparisonOperand(unique( | | phi.getAUse())) and + op = phi.getAnInputOperand() + ) + or + // If `__builtin_expect(x)` is a relevant unary comparison then so is `x`. + exists(BuiltinExpectCallInstruction call | + isRelevantUnaryComparisonOperand(unique( | | call.getAUse())) and + op = call.getConditionOperand() + ) +} + /** Rearrange various simple comparisons into `op == k` form. */ private predicate unary_simple_comparison_eq( ValueNumber test, Operand op, int k, boolean inNonZeroCase, AbstractValue value @@ -936,41 +985,8 @@ private predicate unary_simple_comparison_eq( inNonZeroCase = false ) or - // Any instruction with an integral type could potentially be part of a - // check for nullness when used in a guard. So we include all integral - // typed instructions here. However, since some of these instructions are - // already included as guards in other cases, we exclude those here. - // These are instructions that compute a binary equality or inequality - // relation. For example, the following: - // ```cpp - // if(a == b + 42) { ... } - // ``` - // generates the following IR: - // ``` - // r1(glval) = VariableAddress[a] : - // r2(int) = Load[a] : &:r1, m1 - // r3(glval) = VariableAddress[b] : - // r4(int) = Load[b] : &:r3, m2 - // r5(int) = Constant[42] : - // r6(int) = Add : r4, r5 - // r7(bool) = CompareEQ : r2, r6 - // v1(void) = ConditionalBranch : r7 - // ``` - // and since `r7` is an integral typed instruction this predicate could - // include a case for when `r7` evaluates to true (in which case we would - // infer that `r6` was non-zero, and a case for when `r7` evaluates to false - // (in which case we would infer that `r6` was zero). - // However, since `a == b + 42` is already supported when reasoning about - // binary equalities we exclude those cases here. - not test.isGLValue() and - not simple_comparison_eq(test, _, _, _, _) and - not simple_comparison_lt(test, _, _, _) and - op = test.getExpressionOperand() and - ( - test.getResultIRType() instanceof IRAddressType or - test.getResultIRType() instanceof IRIntegerType or - test.getResultIRType() instanceof IRBooleanType - ) and + isRelevantUnaryComparisonOperand(op) and + op.getDef() = test.getAnInstruction() and ( k = 1 and value.(BooleanValue).getValue() = true and @@ -987,10 +1003,12 @@ private class BuiltinExpectCallInstruction extends CallInstruction { BuiltinExpectCallInstruction() { this.getStaticCallTarget().hasName("__builtin_expect") } /** Gets the condition of this call. */ - Instruction getCondition() { + Instruction getCondition() { result = this.getConditionOperand().getDef() } + + Operand getConditionOperand() { // The first parameter of `__builtin_expect` has type `long`. So we skip // the conversion when inferring guards. - result = this.getArgument(0).(ConvertInstruction).getUnary() + result = this.getArgument(0).(ConvertInstruction).getUnaryOperand() } } From bb85aa2fc90614c4dec566c61d64220ff1d8ba6d Mon Sep 17 00:00:00 2001 From: Mathias Vorreiter Pedersen Date: Thu, 14 Nov 2024 13:42:05 +0000 Subject: [PATCH 189/347] C++: Accept test changes. --- .../rangeanalysis/RangeAnalysis.expected | 1 + .../rangeanalysis/rangeanalysis/test.cpp | 2 +- .../controlflow/guards-ir/tests.expected | 318 ++++++++++++++++++ .../controlflow/guards/GuardsCompare.expected | 58 ++++ .../controlflow/guards/GuardsEnsure.expected | 111 ++++++ .../MissingCheckScanf.expected | 1 - .../Critical/MissingCheckScanf/test.cpp | 2 +- 7 files changed, 490 insertions(+), 3 deletions(-) diff --git a/cpp/ql/test/experimental/library-tests/rangeanalysis/rangeanalysis/RangeAnalysis.expected b/cpp/ql/test/experimental/library-tests/rangeanalysis/rangeanalysis/RangeAnalysis.expected index 106313c87079..15125038d19c 100644 --- a/cpp/ql/test/experimental/library-tests/rangeanalysis/rangeanalysis/RangeAnalysis.expected +++ b/cpp/ql/test/experimental/library-tests/rangeanalysis/rangeanalysis/RangeAnalysis.expected @@ -17,6 +17,7 @@ | test.cpp:49:12:49:12 | Load: x | test.cpp:46:22:46:22 | ValueNumberBound | -1 | true | CompareLT: ... < ... | test.cpp:48:9:48:13 | test.cpp:48:9:48:13 | | test.cpp:49:12:49:12 | Load: x | test.cpp:46:29:46:29 | ValueNumberBound | -2 | true | CompareLT: ... < ... | test.cpp:48:9:48:13 | test.cpp:48:9:48:13 | | test.cpp:54:12:54:12 | Load: x | test.cpp:46:22:46:22 | ValueNumberBound | -1 | true | CompareLT: ... < ... | test.cpp:52:7:52:11 | test.cpp:52:7:52:11 | +| test.cpp:54:12:54:12 | Load: x | test.cpp:46:29:46:29 | ValueNumberBound | -2 | true | CompareLT: ... < ... | test.cpp:52:7:52:11 | test.cpp:52:7:52:11 | | test.cpp:62:10:62:13 | Load: iter | test.cpp:60:17:60:17 | ValueNumberBound | 0 | false | NoReason | file://:0:0:0:0 | file://:0:0:0:0 | | test.cpp:62:10:62:13 | Load: iter | test.cpp:60:17:60:17 | ValueNumberBound | 3 | true | CompareLT: ... < ... | test.cpp:61:32:61:51 | test.cpp:61:32:61:51 | | test.cpp:62:10:62:13 | Load: iter | test.cpp:61:39:61:51 | ValueNumberBound | -1 | true | CompareLT: ... < ... | test.cpp:61:32:61:51 | test.cpp:61:32:61:51 | diff --git a/cpp/ql/test/experimental/library-tests/rangeanalysis/rangeanalysis/test.cpp b/cpp/ql/test/experimental/library-tests/rangeanalysis/rangeanalysis/test.cpp index 87653c2fa43d..6b241fc42f77 100644 --- a/cpp/ql/test/experimental/library-tests/rangeanalysis/rangeanalysis/test.cpp +++ b/cpp/ql/test/experimental/library-tests/rangeanalysis/rangeanalysis/test.cpp @@ -51,7 +51,7 @@ int test5(int x, int y, int z) { } if (x < y) { if (y < z) { - sink(x); // x < z is not inferred here + sink(x); // x < z is inferred here } } } diff --git a/cpp/ql/test/library-tests/controlflow/guards-ir/tests.expected b/cpp/ql/test/library-tests/controlflow/guards-ir/tests.expected index d097fa7dfa67..24ce995f8133 100644 --- a/cpp/ql/test/library-tests/controlflow/guards-ir/tests.expected +++ b/cpp/ql/test/library-tests/controlflow/guards-ir/tests.expected @@ -42,6 +42,8 @@ astGuards astGuardsCompare | 7 | 0 < x+0 when ... > ... is true | | 7 | 0 >= x+0 when ... > ... is false | +| 7 | ... > ... != 0 when ... > ... is true | +| 7 | ... > ... == 0 when ... > ... is false | | 7 | x < 0+1 when ... > ... is false | | 7 | x >= 0+1 when ... > ... is true | | 17 | 0 < x+1 when ... < ... is false | @@ -50,6 +52,12 @@ astGuardsCompare | 17 | 1 < y+0 when ... && ... is true | | 17 | 1 < y+0 when ... > ... is true | | 17 | 1 >= y+0 when ... > ... is false | +| 17 | ... < ... != 0 when ... && ... is true | +| 17 | ... < ... != 0 when ... < ... is true | +| 17 | ... < ... == 0 when ... < ... is false | +| 17 | ... > ... != 0 when ... && ... is true | +| 17 | ... > ... != 0 when ... > ... is true | +| 17 | ... > ... == 0 when ... > ... is false | | 17 | x < 0+0 when ... && ... is true | | 17 | x < 0+0 when ... < ... is true | | 17 | x >= 0+0 when ... < ... is false | @@ -60,30 +68,42 @@ astGuardsCompare | 18 | call to get == 0 when call to get is false | | 26 | 0 < x+0 when ... > ... is true | | 26 | 0 >= x+0 when ... > ... is false | +| 26 | ... > ... != 0 when ... > ... is true | +| 26 | ... > ... == 0 when ... > ... is false | | 26 | x < 0+1 when ... > ... is false | | 26 | x >= 0+1 when ... > ... is true | | 31 | - ... != x+0 when ... == ... is false | | 31 | - ... == x+0 when ... == ... is true | +| 31 | ... == ... != 0 when ... == ... is true | +| 31 | ... == ... == 0 when ... == ... is false | | 31 | x != -1 when ... == ... is false | | 31 | x != - ...+0 when ... == ... is false | | 31 | x == -1 when ... == ... is true | | 31 | x == - ...+0 when ... == ... is true | | 34 | 10 < j+1 when ... < ... is false | | 34 | 10 >= j+1 when ... < ... is true | +| 34 | ... < ... != 0 when ... < ... is true | +| 34 | ... < ... == 0 when ... < ... is false | | 34 | j < 10+0 when ... < ... is true | | 34 | j >= 10+0 when ... < ... is false | | 42 | 10 < j+1 when ... < ... is false | | 42 | 10 >= j+1 when ... < ... is true | +| 42 | ... < ... != 0 when ... < ... is true | +| 42 | ... < ... == 0 when ... < ... is false | | 42 | call to getABool != 0 when call to getABool is true | | 42 | call to getABool == 0 when call to getABool is false | | 42 | j < 10+0 when ... < ... is true | | 42 | j >= 10+0 when ... < ... is false | | 44 | 0 < z+0 when ... > ... is true | | 44 | 0 >= z+0 when ... > ... is false | +| 44 | ... > ... != 0 when ... > ... is true | +| 44 | ... > ... == 0 when ... > ... is false | | 44 | z < 0+1 when ... > ... is false | | 44 | z >= 0+1 when ... > ... is true | | 45 | 0 < y+0 when ... > ... is true | | 45 | 0 >= y+0 when ... > ... is false | +| 45 | ... > ... != 0 when ... > ... is true | +| 45 | ... > ... == 0 when ... > ... is false | | 45 | y < 0+1 when ... > ... is false | | 45 | y >= 0+1 when ... > ... is true | | 58 | 0 != x+0 when ... == ... is false | @@ -92,6 +112,12 @@ astGuardsCompare | 58 | 0 < y+1 when ... \|\| ... is false | | 58 | 0 == x+0 when ... == ... is true | | 58 | 0 >= y+1 when ... < ... is true | +| 58 | ... < ... != 0 when ... < ... is true | +| 58 | ... < ... == 0 when ... < ... is false | +| 58 | ... < ... == 0 when ... \|\| ... is false | +| 58 | ... == ... != 0 when ... == ... is true | +| 58 | ... == ... == 0 when ... == ... is false | +| 58 | ... == ... == 0 when ... \|\| ... is false | | 58 | x != 0 when ... == ... is false | | 58 | x != 0 when ... \|\| ... is false | | 58 | x != 0+0 when ... == ... is false | @@ -103,6 +129,8 @@ astGuardsCompare | 58 | y >= 0+0 when ... \|\| ... is false | | 75 | 0 != x+0 when ... == ... is false | | 75 | 0 == x+0 when ... == ... is true | +| 75 | ... == ... != 0 when ... == ... is true | +| 75 | ... == ... == 0 when ... == ... is false | | 75 | x != 0 when ... == ... is false | | 75 | x != 0+0 when ... == ... is false | | 75 | x == 0 when ... == ... is true | @@ -113,6 +141,12 @@ astGuardsCompare | 85 | 0 == x+0 when ... && ... is true | | 85 | 0 == x+0 when ... == ... is true | | 85 | 0 == y+0 when ... != ... is false | +| 85 | ... != ... != 0 when ... != ... is true | +| 85 | ... != ... != 0 when ... && ... is true | +| 85 | ... != ... == 0 when ... != ... is false | +| 85 | ... == ... != 0 when ... && ... is true | +| 85 | ... == ... != 0 when ... == ... is true | +| 85 | ... == ... == 0 when ... == ... is false | | 85 | x != 0 when ... == ... is false | | 85 | x != 0+0 when ... == ... is false | | 85 | x == 0 when ... && ... is true | @@ -127,12 +161,16 @@ astGuardsCompare | 85 | y == 0+0 when ... != ... is false | | 94 | 0 != x+0 when ... != ... is true | | 94 | 0 == x+0 when ... != ... is false | +| 94 | ... != ... != 0 when ... != ... is true | +| 94 | ... != ... == 0 when ... != ... is false | | 94 | x != 0 when ... != ... is true | | 94 | x != 0+0 when ... != ... is true | | 94 | x == 0 when ... != ... is false | | 94 | x == 0+0 when ... != ... is false | | 102 | 10 < j+1 when ... < ... is false | | 102 | 10 >= j+1 when ... < ... is true | +| 102 | ... < ... != 0 when ... < ... is true | +| 102 | ... < ... == 0 when ... < ... is false | | 102 | j < 10+0 when ... < ... is true | | 102 | j >= 10+0 when ... < ... is false | | 109 | 0 != x+0 when ... == ... is false | @@ -141,6 +179,12 @@ astGuardsCompare | 109 | 0 < y+1 when ... \|\| ... is false | | 109 | 0 == x+0 when ... == ... is true | | 109 | 0 >= y+1 when ... < ... is true | +| 109 | ... < ... != 0 when ... < ... is true | +| 109 | ... < ... == 0 when ... < ... is false | +| 109 | ... < ... == 0 when ... \|\| ... is false | +| 109 | ... == ... != 0 when ... == ... is true | +| 109 | ... == ... == 0 when ... == ... is false | +| 109 | ... == ... == 0 when ... \|\| ... is false | | 109 | x != 0 when ... == ... is false | | 109 | x != 0 when ... \|\| ... is false | | 109 | x != 0+0 when ... == ... is false | @@ -173,6 +217,8 @@ astGuardsCompare | 152 | y == 0 when y is false | | 156 | ... + ... != x+0 when ... == ... is false | | 156 | ... + ... == x+0 when ... == ... is true | +| 156 | ... == ... != 0 when ... == ... is true | +| 156 | ... == ... == 0 when ... == ... is false | | 156 | x != ... + ...+0 when ... == ... is false | | 156 | x != y+42 when ... == ... is false | | 156 | x == ... + ...+0 when ... == ... is true | @@ -181,6 +227,8 @@ astGuardsCompare | 156 | y == x+-42 when ... == ... is true | | 159 | ... - ... != x+0 when ... == ... is false | | 159 | ... - ... == x+0 when ... == ... is true | +| 159 | ... == ... != 0 when ... == ... is true | +| 159 | ... == ... == 0 when ... == ... is false | | 159 | x != ... - ...+0 when ... == ... is false | | 159 | x != y+-42 when ... == ... is false | | 159 | x == ... - ...+0 when ... == ... is true | @@ -189,6 +237,8 @@ astGuardsCompare | 159 | y == x+42 when ... == ... is true | | 162 | ... + ... < x+1 when ... < ... is false | | 162 | ... + ... >= x+1 when ... < ... is true | +| 162 | ... < ... != 0 when ... < ... is true | +| 162 | ... < ... == 0 when ... < ... is false | | 162 | x < ... + ...+0 when ... < ... is true | | 162 | x < y+42 when ... < ... is true | | 162 | x >= ... + ...+0 when ... < ... is false | @@ -197,6 +247,8 @@ astGuardsCompare | 162 | y >= x+-41 when ... < ... is true | | 165 | ... - ... < x+1 when ... < ... is false | | 165 | ... - ... >= x+1 when ... < ... is true | +| 165 | ... < ... != 0 when ... < ... is true | +| 165 | ... < ... == 0 when ... < ... is false | | 165 | x < ... - ...+0 when ... < ... is true | | 165 | x < y+-42 when ... < ... is true | | 165 | x >= ... - ...+0 when ... < ... is false | @@ -205,6 +257,8 @@ astGuardsCompare | 165 | y >= x+43 when ... < ... is true | | 175 | 0 != call to foo+0 when ... == ... is false | | 175 | 0 == call to foo+0 when ... == ... is true | +| 175 | ... == ... != 0 when ... == ... is true | +| 175 | ... == ... == 0 when ... == ... is false | | 175 | call to foo != 0 when ... == ... is false | | 175 | call to foo != 0+0 when ... == ... is false | | 175 | call to foo == 0 when ... == ... is true | @@ -414,10 +468,20 @@ astGuardsEnsure | test.c:75:9:75:14 | ... == ... | test.c:75:9:75:9 | x | == | test.c:75:14:75:14 | 0 | 0 | 75 | 77 | | test.c:75:9:75:14 | ... == ... | test.c:75:14:75:14 | 0 | != | test.c:75:9:75:9 | x | 0 | 78 | 79 | | test.c:75:9:75:14 | ... == ... | test.c:75:14:75:14 | 0 | == | test.c:75:9:75:9 | x | 0 | 75 | 77 | +| test.c:75:9:75:14 | ... == ... | test.c:85:8:85:8 | x | != | test.c:85:13:85:13 | 0 | 0 | 78 | 79 | +| test.c:75:9:75:14 | ... == ... | test.c:85:8:85:8 | x | == | test.c:85:13:85:13 | 0 | 0 | 75 | 77 | +| test.c:75:9:75:14 | ... == ... | test.c:85:13:85:13 | 0 | != | test.c:85:8:85:8 | x | 0 | 78 | 79 | +| test.c:75:9:75:14 | ... == ... | test.c:85:13:85:13 | 0 | == | test.c:85:8:85:8 | x | 0 | 75 | 77 | +| test.c:85:8:85:13 | ... == ... | test.c:75:9:75:9 | x | == | test.c:75:14:75:14 | 0 | 0 | 85 | 85 | +| test.c:85:8:85:13 | ... == ... | test.c:75:9:75:9 | x | == | test.c:75:14:75:14 | 0 | 0 | 86 | 86 | +| test.c:85:8:85:13 | ... == ... | test.c:75:14:75:14 | 0 | == | test.c:75:9:75:9 | x | 0 | 85 | 85 | +| test.c:85:8:85:13 | ... == ... | test.c:75:14:75:14 | 0 | == | test.c:75:9:75:9 | x | 0 | 86 | 86 | | test.c:85:8:85:13 | ... == ... | test.c:85:8:85:8 | x | == | test.c:85:13:85:13 | 0 | 0 | 85 | 85 | | test.c:85:8:85:13 | ... == ... | test.c:85:8:85:8 | x | == | test.c:85:13:85:13 | 0 | 0 | 86 | 86 | | test.c:85:8:85:13 | ... == ... | test.c:85:13:85:13 | 0 | == | test.c:85:8:85:8 | x | 0 | 85 | 85 | | test.c:85:8:85:13 | ... == ... | test.c:85:13:85:13 | 0 | == | test.c:85:8:85:8 | x | 0 | 86 | 86 | +| test.c:85:8:85:23 | ... && ... | test.c:75:9:75:9 | x | == | test.c:75:14:75:14 | 0 | 0 | 86 | 86 | +| test.c:85:8:85:23 | ... && ... | test.c:75:14:75:14 | 0 | == | test.c:75:9:75:9 | x | 0 | 86 | 86 | | test.c:85:8:85:23 | ... && ... | test.c:85:8:85:8 | x | == | test.c:85:13:85:13 | 0 | 0 | 86 | 86 | | test.c:85:8:85:23 | ... && ... | test.c:85:13:85:13 | 0 | == | test.c:85:8:85:8 | x | 0 | 86 | 86 | | test.c:85:8:85:23 | ... && ... | test.c:85:18:85:18 | y | != | test.c:85:23:85:23 | 0 | 0 | 86 | 86 | @@ -491,16 +555,81 @@ astGuardsEnsure | test.cpp:31:7:31:13 | ... == ... | test.cpp:31:12:31:13 | - ... | == | test.cpp:31:7:31:7 | x | 0 | 30 | 30 | | test.cpp:31:7:31:13 | ... == ... | test.cpp:31:12:31:13 | - ... | == | test.cpp:31:7:31:7 | x | 0 | 31 | 32 | astGuardsEnsure_const +| test.c:7:9:7:13 | ... > ... | test.c:7:9:7:13 | ... > ... | != | 0 | 7 | 9 | +| test.c:7:9:7:13 | ... > ... | test.c:7:9:7:13 | ... > ... | == | 0 | 10 | 11 | +| test.c:17:8:17:12 | ... < ... | test.c:17:8:17:12 | ... < ... | != | 0 | 17 | 17 | +| test.c:17:8:17:12 | ... < ... | test.c:17:8:17:12 | ... < ... | != | 0 | 18 | 18 | +| test.c:17:8:17:21 | ... && ... | test.c:17:8:17:12 | ... < ... | != | 0 | 18 | 18 | +| test.c:17:8:17:21 | ... && ... | test.c:17:17:17:21 | ... > ... | != | 0 | 18 | 18 | +| test.c:17:17:17:21 | ... > ... | test.c:17:17:17:21 | ... > ... | != | 0 | 18 | 18 | +| test.c:26:11:26:15 | ... > ... | test.c:26:11:26:15 | ... > ... | != | 0 | 26 | 28 | +| test.c:26:11:26:15 | ... > ... | test.c:26:11:26:15 | ... > ... | == | 0 | 2 | 2 | +| test.c:26:11:26:15 | ... > ... | test.c:26:11:26:15 | ... > ... | == | 0 | 31 | 34 | +| test.c:26:11:26:15 | ... > ... | test.c:26:11:26:15 | ... > ... | == | 0 | 34 | 34 | +| test.c:26:11:26:15 | ... > ... | test.c:26:11:26:15 | ... > ... | == | 0 | 39 | 42 | +| test.c:26:11:26:15 | ... > ... | test.c:26:11:26:15 | ... > ... | == | 0 | 42 | 42 | +| test.c:26:11:26:15 | ... > ... | test.c:26:11:26:15 | ... > ... | == | 0 | 42 | 44 | +| test.c:26:11:26:15 | ... > ... | test.c:26:11:26:15 | ... > ... | == | 0 | 45 | 45 | +| test.c:26:11:26:15 | ... > ... | test.c:26:11:26:15 | ... > ... | == | 0 | 45 | 47 | +| test.c:26:11:26:15 | ... > ... | test.c:26:11:26:15 | ... > ... | == | 0 | 51 | 53 | +| test.c:26:11:26:15 | ... > ... | test.c:26:11:26:15 | ... > ... | == | 0 | 56 | 58 | +| test.c:26:11:26:15 | ... > ... | test.c:26:11:26:15 | ... > ... | == | 0 | 58 | 58 | +| test.c:26:11:26:15 | ... > ... | test.c:26:11:26:15 | ... > ... | == | 0 | 58 | 66 | +| test.c:26:11:26:15 | ... > ... | test.c:26:11:26:15 | ... > ... | == | 0 | 62 | 62 | +| test.c:34:16:34:21 | ... < ... | test.c:34:16:34:21 | ... < ... | != | 0 | 34 | 34 | +| test.c:34:16:34:21 | ... < ... | test.c:34:16:34:21 | ... < ... | == | 0 | 2 | 2 | +| test.c:34:16:34:21 | ... < ... | test.c:34:16:34:21 | ... < ... | == | 0 | 39 | 42 | +| test.c:34:16:34:21 | ... < ... | test.c:34:16:34:21 | ... < ... | == | 0 | 42 | 42 | +| test.c:34:16:34:21 | ... < ... | test.c:34:16:34:21 | ... < ... | == | 0 | 42 | 44 | +| test.c:34:16:34:21 | ... < ... | test.c:34:16:34:21 | ... < ... | == | 0 | 45 | 45 | +| test.c:34:16:34:21 | ... < ... | test.c:34:16:34:21 | ... < ... | == | 0 | 45 | 47 | +| test.c:34:16:34:21 | ... < ... | test.c:34:16:34:21 | ... < ... | == | 0 | 51 | 53 | +| test.c:34:16:34:21 | ... < ... | test.c:34:16:34:21 | ... < ... | == | 0 | 56 | 58 | +| test.c:34:16:34:21 | ... < ... | test.c:34:16:34:21 | ... < ... | == | 0 | 58 | 58 | +| test.c:34:16:34:21 | ... < ... | test.c:34:16:34:21 | ... < ... | == | 0 | 58 | 66 | +| test.c:34:16:34:21 | ... < ... | test.c:34:16:34:21 | ... < ... | == | 0 | 62 | 62 | +| test.c:42:16:42:21 | ... < ... | test.c:42:16:42:21 | ... < ... | != | 0 | 42 | 42 | +| test.c:42:16:42:21 | ... < ... | test.c:42:16:42:21 | ... < ... | != | 0 | 42 | 44 | +| test.c:42:16:42:21 | ... < ... | test.c:42:16:42:21 | ... < ... | != | 0 | 45 | 45 | +| test.c:42:16:42:21 | ... < ... | test.c:42:16:42:21 | ... < ... | != | 0 | 45 | 47 | +| test.c:42:16:42:21 | ... < ... | test.c:42:16:42:21 | ... < ... | != | 0 | 51 | 53 | +| test.c:44:12:44:16 | ... > ... | test.c:44:12:44:16 | ... > ... | != | 0 | 45 | 45 | +| test.c:44:12:44:16 | ... > ... | test.c:44:12:44:16 | ... > ... | != | 0 | 45 | 47 | +| test.c:44:12:44:16 | ... > ... | test.c:44:12:44:16 | ... > ... | == | 0 | 42 | 42 | +| test.c:44:12:44:16 | ... > ... | test.c:44:12:44:16 | ... > ... | == | 0 | 51 | 53 | +| test.c:45:16:45:20 | ... > ... | test.c:45:16:45:20 | ... > ... | != | 0 | 45 | 47 | | test.c:58:9:58:14 | ... == ... | test.c:58:9:58:9 | x | != | 0 | 58 | 58 | | test.c:58:9:58:14 | ... == ... | test.c:58:9:58:9 | x | != | 0 | 62 | 62 | +| test.c:58:9:58:14 | ... == ... | test.c:58:9:58:14 | ... == ... | == | 0 | 58 | 58 | +| test.c:58:9:58:14 | ... == ... | test.c:58:9:58:14 | ... == ... | == | 0 | 62 | 62 | | test.c:58:9:58:23 | ... \|\| ... | test.c:58:9:58:9 | x | != | 0 | 62 | 62 | +| test.c:58:9:58:23 | ... \|\| ... | test.c:58:9:58:14 | ... == ... | == | 0 | 62 | 62 | +| test.c:58:9:58:23 | ... \|\| ... | test.c:58:19:58:23 | ... < ... | == | 0 | 62 | 62 | +| test.c:58:19:58:23 | ... < ... | test.c:58:19:58:23 | ... < ... | == | 0 | 62 | 62 | | test.c:75:9:75:14 | ... == ... | test.c:75:9:75:9 | x | != | 0 | 78 | 79 | | test.c:75:9:75:14 | ... == ... | test.c:75:9:75:9 | x | == | 0 | 75 | 77 | +| test.c:75:9:75:14 | ... == ... | test.c:75:9:75:14 | ... == ... | != | 0 | 75 | 77 | +| test.c:75:9:75:14 | ... == ... | test.c:75:9:75:14 | ... == ... | == | 0 | 78 | 79 | +| test.c:75:9:75:14 | ... == ... | test.c:85:8:85:8 | x | != | 0 | 78 | 79 | +| test.c:75:9:75:14 | ... == ... | test.c:85:8:85:8 | x | == | 0 | 75 | 77 | +| test.c:75:9:75:14 | ... == ... | test.c:85:8:85:13 | ... == ... | != | 0 | 75 | 77 | +| test.c:75:9:75:14 | ... == ... | test.c:85:8:85:13 | ... == ... | == | 0 | 78 | 79 | +| test.c:85:8:85:13 | ... == ... | test.c:75:9:75:9 | x | == | 0 | 85 | 85 | +| test.c:85:8:85:13 | ... == ... | test.c:75:9:75:9 | x | == | 0 | 86 | 86 | +| test.c:85:8:85:13 | ... == ... | test.c:75:9:75:14 | ... == ... | != | 0 | 85 | 85 | +| test.c:85:8:85:13 | ... == ... | test.c:75:9:75:14 | ... == ... | != | 0 | 86 | 86 | | test.c:85:8:85:13 | ... == ... | test.c:85:8:85:8 | x | == | 0 | 85 | 85 | | test.c:85:8:85:13 | ... == ... | test.c:85:8:85:8 | x | == | 0 | 86 | 86 | +| test.c:85:8:85:13 | ... == ... | test.c:85:8:85:13 | ... == ... | != | 0 | 85 | 85 | +| test.c:85:8:85:13 | ... == ... | test.c:85:8:85:13 | ... == ... | != | 0 | 86 | 86 | +| test.c:85:8:85:23 | ... && ... | test.c:75:9:75:9 | x | == | 0 | 86 | 86 | +| test.c:85:8:85:23 | ... && ... | test.c:75:9:75:14 | ... == ... | != | 0 | 86 | 86 | | test.c:85:8:85:23 | ... && ... | test.c:85:8:85:8 | x | == | 0 | 86 | 86 | +| test.c:85:8:85:23 | ... && ... | test.c:85:8:85:13 | ... == ... | != | 0 | 86 | 86 | | test.c:85:8:85:23 | ... && ... | test.c:85:18:85:18 | y | != | 0 | 86 | 86 | +| test.c:85:8:85:23 | ... && ... | test.c:85:18:85:23 | ... != ... | != | 0 | 86 | 86 | | test.c:85:18:85:23 | ... != ... | test.c:85:18:85:18 | y | != | 0 | 86 | 86 | +| test.c:85:18:85:23 | ... != ... | test.c:85:18:85:23 | ... != ... | != | 0 | 86 | 86 | | test.c:94:11:94:16 | ... != ... | test.c:94:11:94:11 | x | != | 0 | 94 | 96 | | test.c:94:11:94:16 | ... != ... | test.c:94:11:94:11 | x | == | 0 | 70 | 70 | | test.c:94:11:94:16 | ... != ... | test.c:94:11:94:11 | x | == | 0 | 99 | 102 | @@ -509,16 +638,41 @@ astGuardsEnsure_const | test.c:94:11:94:16 | ... != ... | test.c:94:11:94:11 | x | == | 0 | 109 | 109 | | test.c:94:11:94:16 | ... != ... | test.c:94:11:94:11 | x | == | 0 | 109 | 117 | | test.c:94:11:94:16 | ... != ... | test.c:94:11:94:11 | x | == | 0 | 113 | 113 | +| test.c:94:11:94:16 | ... != ... | test.c:94:11:94:16 | ... != ... | != | 0 | 94 | 96 | +| test.c:94:11:94:16 | ... != ... | test.c:94:11:94:16 | ... != ... | == | 0 | 70 | 70 | +| test.c:94:11:94:16 | ... != ... | test.c:94:11:94:16 | ... != ... | == | 0 | 99 | 102 | +| test.c:94:11:94:16 | ... != ... | test.c:94:11:94:16 | ... != ... | == | 0 | 102 | 102 | +| test.c:94:11:94:16 | ... != ... | test.c:94:11:94:16 | ... != ... | == | 0 | 107 | 109 | +| test.c:94:11:94:16 | ... != ... | test.c:94:11:94:16 | ... != ... | == | 0 | 109 | 109 | +| test.c:94:11:94:16 | ... != ... | test.c:94:11:94:16 | ... != ... | == | 0 | 109 | 117 | +| test.c:94:11:94:16 | ... != ... | test.c:94:11:94:16 | ... != ... | == | 0 | 113 | 113 | +| test.c:102:16:102:21 | ... < ... | test.c:102:16:102:21 | ... < ... | != | 0 | 102 | 102 | +| test.c:102:16:102:21 | ... < ... | test.c:102:16:102:21 | ... < ... | == | 0 | 70 | 70 | +| test.c:102:16:102:21 | ... < ... | test.c:102:16:102:21 | ... < ... | == | 0 | 107 | 109 | +| test.c:102:16:102:21 | ... < ... | test.c:102:16:102:21 | ... < ... | == | 0 | 109 | 109 | +| test.c:102:16:102:21 | ... < ... | test.c:102:16:102:21 | ... < ... | == | 0 | 109 | 117 | +| test.c:102:16:102:21 | ... < ... | test.c:102:16:102:21 | ... < ... | == | 0 | 113 | 113 | | test.c:109:9:109:14 | ... == ... | test.c:109:9:109:9 | x | != | 0 | 109 | 109 | | test.c:109:9:109:14 | ... == ... | test.c:109:9:109:9 | x | != | 0 | 113 | 113 | +| test.c:109:9:109:14 | ... == ... | test.c:109:9:109:14 | ... == ... | == | 0 | 109 | 109 | +| test.c:109:9:109:14 | ... == ... | test.c:109:9:109:14 | ... == ... | == | 0 | 113 | 113 | | test.c:109:9:109:23 | ... \|\| ... | test.c:109:9:109:9 | x | != | 0 | 113 | 113 | +| test.c:109:9:109:23 | ... \|\| ... | test.c:109:9:109:14 | ... == ... | == | 0 | 113 | 113 | +| test.c:109:9:109:23 | ... \|\| ... | test.c:109:19:109:23 | ... < ... | == | 0 | 113 | 113 | +| test.c:109:19:109:23 | ... < ... | test.c:109:19:109:23 | ... < ... | == | 0 | 113 | 113 | | test.c:126:7:126:7 | 1 | test.c:126:7:126:7 | 1 | != | 0 | 126 | 126 | | test.c:126:7:126:7 | 1 | test.c:126:7:126:7 | 1 | != | 0 | 126 | 128 | | test.c:126:7:126:7 | 1 | test.c:126:7:126:7 | 1 | != | 0 | 131 | 131 | | test.c:126:7:126:7 | 1 | test.c:126:7:126:7 | 1 | != | 0 | 131 | 132 | | test.c:126:7:126:7 | 1 | test.c:126:7:126:7 | 1 | != | 0 | 134 | 123 | +| test.c:126:7:126:7 | 1 | test.c:127:9:127:9 | 1 | != | 0 | 126 | 126 | +| test.c:126:7:126:7 | 1 | test.c:127:9:127:9 | 1 | != | 0 | 126 | 128 | +| test.c:126:7:126:7 | 1 | test.c:127:9:127:9 | 1 | != | 0 | 131 | 131 | +| test.c:126:7:126:7 | 1 | test.c:127:9:127:9 | 1 | != | 0 | 131 | 132 | +| test.c:126:7:126:7 | 1 | test.c:127:9:127:9 | 1 | != | 0 | 134 | 123 | | test.c:126:7:126:28 | ... && ... | test.c:126:7:126:7 | 1 | != | 0 | 126 | 128 | | test.c:126:7:126:28 | ... && ... | test.c:126:12:126:26 | call to test3_condition | != | 0 | 126 | 128 | +| test.c:126:7:126:28 | ... && ... | test.c:127:9:127:9 | 1 | != | 0 | 126 | 128 | | test.c:126:12:126:26 | call to test3_condition | test.c:126:12:126:26 | call to test3_condition | != | 0 | 126 | 128 | | test.c:131:7:131:7 | b | test.c:131:7:131:7 | b | != | 0 | 131 | 132 | | test.c:137:7:137:7 | 0 | test.c:137:7:137:7 | 0 | == | 0 | 142 | 136 | @@ -529,8 +683,14 @@ astGuardsEnsure_const | test.c:152:10:152:15 | ... && ... | test.c:152:10:152:10 | x | != | 0 | 151 | 152 | | test.c:152:10:152:15 | ... && ... | test.c:152:15:152:15 | y | != | 0 | 151 | 152 | | test.c:152:15:152:15 | y | test.c:152:15:152:15 | y | != | 0 | 151 | 152 | +| test.c:156:9:156:19 | ... == ... | test.c:156:9:156:19 | ... == ... | != | 0 | 156 | 157 | +| test.c:159:9:159:19 | ... == ... | test.c:159:9:159:19 | ... == ... | != | 0 | 159 | 160 | +| test.c:162:9:162:18 | ... < ... | test.c:162:9:162:18 | ... < ... | != | 0 | 162 | 163 | +| test.c:165:9:165:18 | ... < ... | test.c:165:9:165:18 | ... < ... | != | 0 | 165 | 166 | | test.c:175:13:175:32 | ... == ... | test.c:175:13:175:15 | call to foo | != | 0 | 175 | 175 | | test.c:175:13:175:32 | ... == ... | test.c:175:13:175:15 | call to foo | == | 0 | 175 | 175 | +| test.c:175:13:175:32 | ... == ... | test.c:175:13:175:32 | ... == ... | != | 0 | 175 | 175 | +| test.c:175:13:175:32 | ... == ... | test.c:175:13:175:32 | ... == ... | == | 0 | 175 | 175 | | test.c:181:9:181:9 | x | test.c:181:9:181:9 | x | != | 0 | 181 | 182 | | test.c:181:9:181:9 | x | test.c:181:9:181:9 | x | != | 0 | 186 | 180 | | test.c:181:9:181:9 | x | test.c:181:9:181:9 | x | == | 0 | 183 | 184 | @@ -539,6 +699,10 @@ astGuardsEnsure_const | test.cpp:31:7:31:13 | ... == ... | test.cpp:31:7:31:7 | x | != | -1 | 34 | 34 | | test.cpp:31:7:31:13 | ... == ... | test.cpp:31:7:31:7 | x | == | -1 | 30 | 30 | | test.cpp:31:7:31:13 | ... == ... | test.cpp:31:7:31:7 | x | == | -1 | 31 | 32 | +| test.cpp:31:7:31:13 | ... == ... | test.cpp:31:7:31:13 | ... == ... | != | 0 | 30 | 30 | +| test.cpp:31:7:31:13 | ... == ... | test.cpp:31:7:31:13 | ... == ... | != | 0 | 31 | 32 | +| test.cpp:31:7:31:13 | ... == ... | test.cpp:31:7:31:13 | ... == ... | == | 0 | 30 | 30 | +| test.cpp:31:7:31:13 | ... == ... | test.cpp:31:7:31:13 | ... == ... | == | 0 | 34 | 34 | | test.cpp:42:13:42:20 | call to getABool | test.cpp:42:13:42:20 | call to getABool | != | 0 | 43 | 45 | | test.cpp:42:13:42:20 | call to getABool | test.cpp:42:13:42:20 | call to getABool | == | 0 | 53 | 53 | irGuards @@ -579,6 +743,8 @@ irGuards irGuardsCompare | 7 | 0 < x+0 when CompareGT: ... > ... is true | | 7 | 0 >= x+0 when CompareGT: ... > ... is false | +| 7 | ... > ... != 0 when CompareGT: ... > ... is true | +| 7 | ... > ... == 0 when CompareGT: ... > ... is false | | 7 | x < 0+1 when CompareGT: ... > ... is false | | 7 | x < 1 when CompareGT: ... > ... is false | | 7 | x >= 0+1 when CompareGT: ... > ... is true | @@ -587,6 +753,10 @@ irGuardsCompare | 17 | 0 >= x+1 when CompareLT: ... < ... is true | | 17 | 1 < y+0 when CompareGT: ... > ... is true | | 17 | 1 >= y+0 when CompareGT: ... > ... is false | +| 17 | ... < ... != 0 when CompareLT: ... < ... is true | +| 17 | ... < ... == 0 when CompareLT: ... < ... is false | +| 17 | ... > ... != 0 when CompareGT: ... > ... is true | +| 17 | ... > ... == 0 when CompareGT: ... > ... is false | | 17 | x < 0 when CompareLT: ... < ... is true | | 17 | x < 0+0 when CompareLT: ... < ... is true | | 17 | x >= 0 when CompareLT: ... < ... is false | @@ -599,24 +769,32 @@ irGuardsCompare | 18 | call to get == 0 when CompareNE: (bool)... is false | | 26 | 0 < x+0 when CompareGT: ... > ... is true | | 26 | 0 >= x+0 when CompareGT: ... > ... is false | +| 26 | ... > ... != 0 when CompareGT: ... > ... is true | +| 26 | ... > ... == 0 when CompareGT: ... > ... is false | | 26 | x < 0+1 when CompareGT: ... > ... is false | | 26 | x < 1 when CompareGT: ... > ... is false | | 26 | x >= 0+1 when CompareGT: ... > ... is true | | 26 | x >= 1 when CompareGT: ... > ... is true | | 31 | - ... != x+0 when CompareEQ: ... == ... is false | | 31 | - ... == x+0 when CompareEQ: ... == ... is true | +| 31 | ... == ... != 0 when CompareEQ: ... == ... is true | +| 31 | ... == ... == 0 when CompareEQ: ... == ... is false | | 31 | x != -1 when CompareEQ: ... == ... is false | | 31 | x != - ...+0 when CompareEQ: ... == ... is false | | 31 | x == -1 when CompareEQ: ... == ... is true | | 31 | x == - ...+0 when CompareEQ: ... == ... is true | | 34 | 10 < j+1 when CompareLT: ... < ... is false | | 34 | 10 >= j+1 when CompareLT: ... < ... is true | +| 34 | ... < ... != 0 when CompareLT: ... < ... is true | +| 34 | ... < ... == 0 when CompareLT: ... < ... is false | | 34 | j < 10 when CompareLT: ... < ... is true | | 34 | j < 10+0 when CompareLT: ... < ... is true | | 34 | j >= 10 when CompareLT: ... < ... is false | | 34 | j >= 10+0 when CompareLT: ... < ... is false | | 42 | 10 < j+1 when CompareLT: ... < ... is false | | 42 | 10 >= j+1 when CompareLT: ... < ... is true | +| 42 | ... < ... != 0 when CompareLT: ... < ... is true | +| 42 | ... < ... == 0 when CompareLT: ... < ... is false | | 42 | call to getABool != 0 when Call: call to getABool is true | | 42 | call to getABool == 0 when Call: call to getABool is false | | 42 | j < 10 when CompareLT: ... < ... is true | @@ -625,12 +803,16 @@ irGuardsCompare | 42 | j >= 10+0 when CompareLT: ... < ... is false | | 44 | 0 < z+0 when CompareGT: ... > ... is true | | 44 | 0 >= z+0 when CompareGT: ... > ... is false | +| 44 | ... > ... != 0 when CompareGT: ... > ... is true | +| 44 | ... > ... == 0 when CompareGT: ... > ... is false | | 44 | z < 0+1 when CompareGT: ... > ... is false | | 44 | z < 1 when CompareGT: ... > ... is false | | 44 | z >= 0+1 when CompareGT: ... > ... is true | | 44 | z >= 1 when CompareGT: ... > ... is true | | 45 | 0 < y+0 when CompareGT: ... > ... is true | | 45 | 0 >= y+0 when CompareGT: ... > ... is false | +| 45 | ... > ... != 0 when CompareGT: ... > ... is true | +| 45 | ... > ... == 0 when CompareGT: ... > ... is false | | 45 | y < 0+1 when CompareGT: ... > ... is false | | 45 | y < 1 when CompareGT: ... > ... is false | | 45 | y >= 0+1 when CompareGT: ... > ... is true | @@ -639,6 +821,10 @@ irGuardsCompare | 58 | 0 < y+1 when CompareLT: ... < ... is false | | 58 | 0 == x+0 when CompareEQ: ... == ... is true | | 58 | 0 >= y+1 when CompareLT: ... < ... is true | +| 58 | ... < ... != 0 when CompareLT: ... < ... is true | +| 58 | ... < ... == 0 when CompareLT: ... < ... is false | +| 58 | ... == ... != 0 when CompareEQ: ... == ... is true | +| 58 | ... == ... == 0 when CompareEQ: ... == ... is false | | 58 | x != 0 when CompareEQ: ... == ... is false | | 58 | x != 0+0 when CompareEQ: ... == ... is false | | 58 | x == 0 when CompareEQ: ... == ... is true | @@ -649,6 +835,8 @@ irGuardsCompare | 58 | y >= 0+0 when CompareLT: ... < ... is false | | 75 | 0 != x+0 when CompareEQ: ... == ... is false | | 75 | 0 == x+0 when CompareEQ: ... == ... is true | +| 75 | ... == ... != 0 when CompareEQ: ... == ... is true | +| 75 | ... == ... == 0 when CompareEQ: ... == ... is false | | 75 | x != 0 when CompareEQ: ... == ... is false | | 75 | x != 0+0 when CompareEQ: ... == ... is false | | 75 | x == 0 when CompareEQ: ... == ... is true | @@ -657,6 +845,10 @@ irGuardsCompare | 85 | 0 != y+0 when CompareNE: ... != ... is true | | 85 | 0 == x+0 when CompareEQ: ... == ... is true | | 85 | 0 == y+0 when CompareNE: ... != ... is false | +| 85 | ... != ... != 0 when CompareNE: ... != ... is true | +| 85 | ... != ... == 0 when CompareNE: ... != ... is false | +| 85 | ... == ... != 0 when CompareEQ: ... == ... is true | +| 85 | ... == ... == 0 when CompareEQ: ... == ... is false | | 85 | x != 0 when CompareEQ: ... == ... is false | | 85 | x != 0+0 when CompareEQ: ... == ... is false | | 85 | x == 0 when CompareEQ: ... == ... is true | @@ -667,12 +859,16 @@ irGuardsCompare | 85 | y == 0+0 when CompareNE: ... != ... is false | | 94 | 0 != x+0 when CompareNE: ... != ... is true | | 94 | 0 == x+0 when CompareNE: ... != ... is false | +| 94 | ... != ... != 0 when CompareNE: ... != ... is true | +| 94 | ... != ... == 0 when CompareNE: ... != ... is false | | 94 | x != 0 when CompareNE: ... != ... is true | | 94 | x != 0+0 when CompareNE: ... != ... is true | | 94 | x == 0 when CompareNE: ... != ... is false | | 94 | x == 0+0 when CompareNE: ... != ... is false | | 102 | 10 < j+1 when CompareLT: ... < ... is false | | 102 | 10 >= j+1 when CompareLT: ... < ... is true | +| 102 | ... < ... != 0 when CompareLT: ... < ... is true | +| 102 | ... < ... == 0 when CompareLT: ... < ... is false | | 102 | j < 10 when CompareLT: ... < ... is true | | 102 | j < 10+0 when CompareLT: ... < ... is true | | 102 | j >= 10 when CompareLT: ... < ... is false | @@ -681,6 +877,10 @@ irGuardsCompare | 109 | 0 < y+1 when CompareLT: ... < ... is false | | 109 | 0 == x+0 when CompareEQ: ... == ... is true | | 109 | 0 >= y+1 when CompareLT: ... < ... is true | +| 109 | ... < ... != 0 when CompareLT: ... < ... is true | +| 109 | ... < ... == 0 when CompareLT: ... < ... is false | +| 109 | ... == ... != 0 when CompareEQ: ... == ... is true | +| 109 | ... == ... == 0 when CompareEQ: ... == ... is false | | 109 | x != 0 when CompareEQ: ... == ... is false | | 109 | x != 0+0 when CompareEQ: ... == ... is false | | 109 | x == 0 when CompareEQ: ... == ... is true | @@ -708,6 +908,8 @@ irGuardsCompare | 152 | y == 0 when Load: y is false | | 156 | ... + ... != x+0 when CompareEQ: ... == ... is false | | 156 | ... + ... == x+0 when CompareEQ: ... == ... is true | +| 156 | ... == ... != 0 when CompareEQ: ... == ... is true | +| 156 | ... == ... == 0 when CompareEQ: ... == ... is false | | 156 | x != ... + ...+0 when CompareEQ: ... == ... is false | | 156 | x != y+42 when CompareEQ: ... == ... is false | | 156 | x == ... + ...+0 when CompareEQ: ... == ... is true | @@ -716,6 +918,8 @@ irGuardsCompare | 156 | y == x+-42 when CompareEQ: ... == ... is true | | 159 | ... - ... != x+0 when CompareEQ: ... == ... is false | | 159 | ... - ... == x+0 when CompareEQ: ... == ... is true | +| 159 | ... == ... != 0 when CompareEQ: ... == ... is true | +| 159 | ... == ... == 0 when CompareEQ: ... == ... is false | | 159 | x != ... - ...+0 when CompareEQ: ... == ... is false | | 159 | x != y+-42 when CompareEQ: ... == ... is false | | 159 | x == ... - ...+0 when CompareEQ: ... == ... is true | @@ -724,6 +928,8 @@ irGuardsCompare | 159 | y == x+42 when CompareEQ: ... == ... is true | | 162 | ... + ... < x+1 when CompareLT: ... < ... is false | | 162 | ... + ... >= x+1 when CompareLT: ... < ... is true | +| 162 | ... < ... != 0 when CompareLT: ... < ... is true | +| 162 | ... < ... == 0 when CompareLT: ... < ... is false | | 162 | x < ... + ...+0 when CompareLT: ... < ... is true | | 162 | x < y+42 when CompareLT: ... < ... is true | | 162 | x >= ... + ...+0 when CompareLT: ... < ... is false | @@ -732,6 +938,8 @@ irGuardsCompare | 162 | y >= x+-41 when CompareLT: ... < ... is true | | 165 | ... - ... < x+1 when CompareLT: ... < ... is false | | 165 | ... - ... >= x+1 when CompareLT: ... < ... is true | +| 165 | ... < ... != 0 when CompareLT: ... < ... is true | +| 165 | ... < ... == 0 when CompareLT: ... < ... is false | | 165 | x < ... - ...+0 when CompareLT: ... < ... is true | | 165 | x < y+-42 when CompareLT: ... < ... is true | | 165 | x >= ... - ...+0 when CompareLT: ... < ... is false | @@ -740,6 +948,8 @@ irGuardsCompare | 165 | y >= x+43 when CompareLT: ... < ... is true | | 175 | 0 != call to foo+0 when CompareEQ: ... == ... is false | | 175 | 0 == call to foo+0 when CompareEQ: ... == ... is true | +| 175 | ... == ... != 0 when CompareEQ: ... == ... is true | +| 175 | ... == ... == 0 when CompareEQ: ... == ... is false | | 175 | call to foo != 0 when CompareEQ: ... == ... is false | | 175 | call to foo != 0+0 when CompareEQ: ... == ... is false | | 175 | call to foo == 0 when CompareEQ: ... == ... is true | @@ -930,6 +1140,14 @@ irGuardsEnsure | test.c:75:9:75:14 | CompareEQ: ... == ... | test.c:75:9:75:9 | Load: x | == | test.c:75:14:75:14 | Constant: 0 | 0 | 76 | 76 | | test.c:75:9:75:14 | CompareEQ: ... == ... | test.c:75:14:75:14 | Constant: 0 | != | test.c:75:9:75:9 | Load: x | 0 | 79 | 79 | | test.c:75:9:75:14 | CompareEQ: ... == ... | test.c:75:14:75:14 | Constant: 0 | == | test.c:75:9:75:9 | Load: x | 0 | 76 | 76 | +| test.c:75:9:75:14 | CompareEQ: ... == ... | test.c:85:8:85:8 | Load: x | != | test.c:85:13:85:13 | Constant: 0 | 0 | 79 | 79 | +| test.c:75:9:75:14 | CompareEQ: ... == ... | test.c:85:8:85:8 | Load: x | == | test.c:85:13:85:13 | Constant: 0 | 0 | 76 | 76 | +| test.c:75:9:75:14 | CompareEQ: ... == ... | test.c:85:13:85:13 | Constant: 0 | != | test.c:85:8:85:8 | Load: x | 0 | 79 | 79 | +| test.c:75:9:75:14 | CompareEQ: ... == ... | test.c:85:13:85:13 | Constant: 0 | == | test.c:85:8:85:8 | Load: x | 0 | 76 | 76 | +| test.c:85:8:85:13 | CompareEQ: ... == ... | test.c:75:9:75:9 | Load: x | == | test.c:75:14:75:14 | Constant: 0 | 0 | 85 | 85 | +| test.c:85:8:85:13 | CompareEQ: ... == ... | test.c:75:9:75:9 | Load: x | == | test.c:75:14:75:14 | Constant: 0 | 0 | 86 | 86 | +| test.c:85:8:85:13 | CompareEQ: ... == ... | test.c:75:14:75:14 | Constant: 0 | == | test.c:75:9:75:9 | Load: x | 0 | 85 | 85 | +| test.c:85:8:85:13 | CompareEQ: ... == ... | test.c:75:14:75:14 | Constant: 0 | == | test.c:75:9:75:9 | Load: x | 0 | 86 | 86 | | test.c:85:8:85:13 | CompareEQ: ... == ... | test.c:85:8:85:8 | Load: x | == | test.c:85:13:85:13 | Constant: 0 | 0 | 85 | 85 | | test.c:85:8:85:13 | CompareEQ: ... == ... | test.c:85:8:85:8 | Load: x | == | test.c:85:13:85:13 | Constant: 0 | 0 | 86 | 86 | | test.c:85:8:85:13 | CompareEQ: ... == ... | test.c:85:13:85:13 | Constant: 0 | == | test.c:85:8:85:8 | Load: x | 0 | 85 | 85 | @@ -1003,9 +1221,14 @@ irGuardsEnsure irGuardsEnsure_const | test.c:7:9:7:13 | CompareGT: ... > ... | test.c:7:9:7:9 | Load: x | < | 1 | 11 | 11 | | test.c:7:9:7:13 | CompareGT: ... > ... | test.c:7:9:7:9 | Load: x | >= | 1 | 8 | 8 | +| test.c:7:9:7:13 | CompareGT: ... > ... | test.c:7:9:7:13 | CompareGT: ... > ... | != | 0 | 8 | 8 | +| test.c:7:9:7:13 | CompareGT: ... > ... | test.c:7:9:7:13 | CompareGT: ... > ... | == | 0 | 11 | 11 | | test.c:17:8:17:12 | CompareLT: ... < ... | test.c:17:8:17:8 | Load: x | < | 0 | 17 | 17 | | test.c:17:8:17:12 | CompareLT: ... < ... | test.c:17:8:17:8 | Load: x | < | 0 | 18 | 18 | +| test.c:17:8:17:12 | CompareLT: ... < ... | test.c:17:8:17:12 | CompareLT: ... < ... | != | 0 | 17 | 17 | +| test.c:17:8:17:12 | CompareLT: ... < ... | test.c:17:8:17:12 | CompareLT: ... < ... | != | 0 | 18 | 18 | | test.c:17:17:17:21 | CompareGT: ... > ... | test.c:17:17:17:17 | Load: y | >= | 2 | 18 | 18 | +| test.c:17:17:17:21 | CompareGT: ... > ... | test.c:17:17:17:21 | CompareGT: ... > ... | != | 0 | 18 | 18 | | test.c:26:11:26:15 | CompareGT: ... > ... | test.c:26:11:26:11 | Load: x | < | 1 | 2 | 2 | | test.c:26:11:26:15 | CompareGT: ... > ... | test.c:26:11:26:11 | Load: x | < | 1 | 31 | 31 | | test.c:26:11:26:15 | CompareGT: ... > ... | test.c:26:11:26:11 | Load: x | < | 1 | 34 | 34 | @@ -1021,6 +1244,21 @@ irGuardsEnsure_const | test.c:26:11:26:15 | CompareGT: ... > ... | test.c:26:11:26:11 | Load: x | < | 1 | 59 | 59 | | test.c:26:11:26:15 | CompareGT: ... > ... | test.c:26:11:26:11 | Load: x | < | 1 | 62 | 62 | | test.c:26:11:26:15 | CompareGT: ... > ... | test.c:26:11:26:11 | Load: x | >= | 1 | 27 | 27 | +| test.c:26:11:26:15 | CompareGT: ... > ... | test.c:26:11:26:15 | CompareGT: ... > ... | != | 0 | 27 | 27 | +| test.c:26:11:26:15 | CompareGT: ... > ... | test.c:26:11:26:15 | CompareGT: ... > ... | == | 0 | 2 | 2 | +| test.c:26:11:26:15 | CompareGT: ... > ... | test.c:26:11:26:15 | CompareGT: ... > ... | == | 0 | 31 | 31 | +| test.c:26:11:26:15 | CompareGT: ... > ... | test.c:26:11:26:15 | CompareGT: ... > ... | == | 0 | 34 | 34 | +| test.c:26:11:26:15 | CompareGT: ... > ... | test.c:26:11:26:15 | CompareGT: ... > ... | == | 0 | 35 | 35 | +| test.c:26:11:26:15 | CompareGT: ... > ... | test.c:26:11:26:15 | CompareGT: ... > ... | == | 0 | 39 | 39 | +| test.c:26:11:26:15 | CompareGT: ... > ... | test.c:26:11:26:15 | CompareGT: ... > ... | == | 0 | 42 | 42 | +| test.c:26:11:26:15 | CompareGT: ... > ... | test.c:26:11:26:15 | CompareGT: ... > ... | == | 0 | 43 | 43 | +| test.c:26:11:26:15 | CompareGT: ... > ... | test.c:26:11:26:15 | CompareGT: ... > ... | == | 0 | 45 | 45 | +| test.c:26:11:26:15 | CompareGT: ... > ... | test.c:26:11:26:15 | CompareGT: ... > ... | == | 0 | 46 | 46 | +| test.c:26:11:26:15 | CompareGT: ... > ... | test.c:26:11:26:15 | CompareGT: ... > ... | == | 0 | 52 | 52 | +| test.c:26:11:26:15 | CompareGT: ... > ... | test.c:26:11:26:15 | CompareGT: ... > ... | == | 0 | 56 | 56 | +| test.c:26:11:26:15 | CompareGT: ... > ... | test.c:26:11:26:15 | CompareGT: ... > ... | == | 0 | 58 | 58 | +| test.c:26:11:26:15 | CompareGT: ... > ... | test.c:26:11:26:15 | CompareGT: ... > ... | == | 0 | 59 | 59 | +| test.c:26:11:26:15 | CompareGT: ... > ... | test.c:26:11:26:15 | CompareGT: ... > ... | == | 0 | 62 | 62 | | test.c:34:16:34:21 | CompareLT: ... < ... | test.c:34:16:34:16 | Load: j | < | 10 | 35 | 35 | | test.c:34:16:34:21 | CompareLT: ... < ... | test.c:34:16:34:16 | Load: j | >= | 10 | 2 | 2 | | test.c:34:16:34:21 | CompareLT: ... < ... | test.c:34:16:34:16 | Load: j | >= | 10 | 39 | 39 | @@ -1033,22 +1271,58 @@ irGuardsEnsure_const | test.c:34:16:34:21 | CompareLT: ... < ... | test.c:34:16:34:16 | Load: j | >= | 10 | 58 | 58 | | test.c:34:16:34:21 | CompareLT: ... < ... | test.c:34:16:34:16 | Load: j | >= | 10 | 59 | 59 | | test.c:34:16:34:21 | CompareLT: ... < ... | test.c:34:16:34:16 | Load: j | >= | 10 | 62 | 62 | +| test.c:34:16:34:21 | CompareLT: ... < ... | test.c:34:16:34:21 | CompareLT: ... < ... | != | 0 | 35 | 35 | +| test.c:34:16:34:21 | CompareLT: ... < ... | test.c:34:16:34:21 | CompareLT: ... < ... | == | 0 | 2 | 2 | +| test.c:34:16:34:21 | CompareLT: ... < ... | test.c:34:16:34:21 | CompareLT: ... < ... | == | 0 | 39 | 39 | +| test.c:34:16:34:21 | CompareLT: ... < ... | test.c:34:16:34:21 | CompareLT: ... < ... | == | 0 | 42 | 42 | +| test.c:34:16:34:21 | CompareLT: ... < ... | test.c:34:16:34:21 | CompareLT: ... < ... | == | 0 | 43 | 43 | +| test.c:34:16:34:21 | CompareLT: ... < ... | test.c:34:16:34:21 | CompareLT: ... < ... | == | 0 | 45 | 45 | +| test.c:34:16:34:21 | CompareLT: ... < ... | test.c:34:16:34:21 | CompareLT: ... < ... | == | 0 | 46 | 46 | +| test.c:34:16:34:21 | CompareLT: ... < ... | test.c:34:16:34:21 | CompareLT: ... < ... | == | 0 | 52 | 52 | +| test.c:34:16:34:21 | CompareLT: ... < ... | test.c:34:16:34:21 | CompareLT: ... < ... | == | 0 | 56 | 56 | +| test.c:34:16:34:21 | CompareLT: ... < ... | test.c:34:16:34:21 | CompareLT: ... < ... | == | 0 | 58 | 58 | +| test.c:34:16:34:21 | CompareLT: ... < ... | test.c:34:16:34:21 | CompareLT: ... < ... | == | 0 | 59 | 59 | +| test.c:34:16:34:21 | CompareLT: ... < ... | test.c:34:16:34:21 | CompareLT: ... < ... | == | 0 | 62 | 62 | | test.c:42:16:42:21 | CompareLT: ... < ... | test.c:42:16:42:16 | Load: j | < | 10 | 43 | 43 | | test.c:42:16:42:21 | CompareLT: ... < ... | test.c:42:16:42:16 | Load: j | < | 10 | 45 | 45 | | test.c:42:16:42:21 | CompareLT: ... < ... | test.c:42:16:42:16 | Load: j | < | 10 | 46 | 46 | | test.c:42:16:42:21 | CompareLT: ... < ... | test.c:42:16:42:16 | Load: j | < | 10 | 52 | 52 | +| test.c:42:16:42:21 | CompareLT: ... < ... | test.c:42:16:42:21 | CompareLT: ... < ... | != | 0 | 43 | 43 | +| test.c:42:16:42:21 | CompareLT: ... < ... | test.c:42:16:42:21 | CompareLT: ... < ... | != | 0 | 45 | 45 | +| test.c:42:16:42:21 | CompareLT: ... < ... | test.c:42:16:42:21 | CompareLT: ... < ... | != | 0 | 46 | 46 | +| test.c:42:16:42:21 | CompareLT: ... < ... | test.c:42:16:42:21 | CompareLT: ... < ... | != | 0 | 52 | 52 | | test.c:44:12:44:16 | CompareGT: ... > ... | test.c:44:12:44:12 | Load: z | < | 1 | 52 | 52 | | test.c:44:12:44:16 | CompareGT: ... > ... | test.c:44:12:44:12 | Load: z | >= | 1 | 45 | 45 | | test.c:44:12:44:16 | CompareGT: ... > ... | test.c:44:12:44:12 | Load: z | >= | 1 | 46 | 46 | +| test.c:44:12:44:16 | CompareGT: ... > ... | test.c:44:12:44:16 | CompareGT: ... > ... | != | 0 | 45 | 45 | +| test.c:44:12:44:16 | CompareGT: ... > ... | test.c:44:12:44:16 | CompareGT: ... > ... | != | 0 | 46 | 46 | +| test.c:44:12:44:16 | CompareGT: ... > ... | test.c:44:12:44:16 | CompareGT: ... > ... | == | 0 | 52 | 52 | | test.c:45:16:45:20 | CompareGT: ... > ... | test.c:45:16:45:16 | Load: y | >= | 1 | 46 | 46 | +| test.c:45:16:45:20 | CompareGT: ... > ... | test.c:45:16:45:20 | CompareGT: ... > ... | != | 0 | 46 | 46 | | test.c:58:9:58:14 | CompareEQ: ... == ... | test.c:58:9:58:9 | Load: x | != | 0 | 58 | 58 | | test.c:58:9:58:14 | CompareEQ: ... == ... | test.c:58:9:58:9 | Load: x | != | 0 | 62 | 62 | +| test.c:58:9:58:14 | CompareEQ: ... == ... | test.c:58:9:58:14 | CompareEQ: ... == ... | == | 0 | 58 | 58 | +| test.c:58:9:58:14 | CompareEQ: ... == ... | test.c:58:9:58:14 | CompareEQ: ... == ... | == | 0 | 62 | 62 | | test.c:58:19:58:23 | CompareLT: ... < ... | test.c:58:19:58:19 | Load: y | >= | 0 | 62 | 62 | +| test.c:58:19:58:23 | CompareLT: ... < ... | test.c:58:19:58:23 | CompareLT: ... < ... | == | 0 | 62 | 62 | | test.c:75:9:75:14 | CompareEQ: ... == ... | test.c:75:9:75:9 | Load: x | != | 0 | 79 | 79 | | test.c:75:9:75:14 | CompareEQ: ... == ... | test.c:75:9:75:9 | Load: x | == | 0 | 76 | 76 | +| test.c:75:9:75:14 | CompareEQ: ... == ... | test.c:75:9:75:14 | CompareEQ: ... == ... | != | 0 | 76 | 76 | +| test.c:75:9:75:14 | CompareEQ: ... == ... | test.c:75:9:75:14 | CompareEQ: ... == ... | == | 0 | 79 | 79 | +| test.c:75:9:75:14 | CompareEQ: ... == ... | test.c:85:8:85:8 | Load: x | != | 0 | 79 | 79 | +| test.c:75:9:75:14 | CompareEQ: ... == ... | test.c:85:8:85:8 | Load: x | == | 0 | 76 | 76 | +| test.c:75:9:75:14 | CompareEQ: ... == ... | test.c:85:8:85:13 | CompareEQ: ... == ... | != | 0 | 76 | 76 | +| test.c:75:9:75:14 | CompareEQ: ... == ... | test.c:85:8:85:13 | CompareEQ: ... == ... | == | 0 | 79 | 79 | +| test.c:85:8:85:13 | CompareEQ: ... == ... | test.c:75:9:75:9 | Load: x | == | 0 | 85 | 85 | +| test.c:85:8:85:13 | CompareEQ: ... == ... | test.c:75:9:75:9 | Load: x | == | 0 | 86 | 86 | +| test.c:85:8:85:13 | CompareEQ: ... == ... | test.c:75:9:75:14 | CompareEQ: ... == ... | != | 0 | 85 | 85 | +| test.c:85:8:85:13 | CompareEQ: ... == ... | test.c:75:9:75:14 | CompareEQ: ... == ... | != | 0 | 86 | 86 | | test.c:85:8:85:13 | CompareEQ: ... == ... | test.c:85:8:85:8 | Load: x | == | 0 | 85 | 85 | | test.c:85:8:85:13 | CompareEQ: ... == ... | test.c:85:8:85:8 | Load: x | == | 0 | 86 | 86 | +| test.c:85:8:85:13 | CompareEQ: ... == ... | test.c:85:8:85:13 | CompareEQ: ... == ... | != | 0 | 85 | 85 | +| test.c:85:8:85:13 | CompareEQ: ... == ... | test.c:85:8:85:13 | CompareEQ: ... == ... | != | 0 | 86 | 86 | | test.c:85:18:85:23 | CompareNE: ... != ... | test.c:85:18:85:18 | Load: y | != | 0 | 86 | 86 | +| test.c:85:18:85:23 | CompareNE: ... != ... | test.c:85:18:85:23 | CompareNE: ... != ... | != | 0 | 86 | 86 | | test.c:94:11:94:16 | CompareNE: ... != ... | test.c:94:11:94:11 | Load: x | != | 0 | 95 | 95 | | test.c:94:11:94:16 | CompareNE: ... != ... | test.c:94:11:94:11 | Load: x | == | 0 | 70 | 70 | | test.c:94:11:94:16 | CompareNE: ... != ... | test.c:94:11:94:11 | Load: x | == | 0 | 99 | 99 | @@ -1058,34 +1332,78 @@ irGuardsEnsure_const | test.c:94:11:94:16 | CompareNE: ... != ... | test.c:94:11:94:11 | Load: x | == | 0 | 109 | 109 | | test.c:94:11:94:16 | CompareNE: ... != ... | test.c:94:11:94:11 | Load: x | == | 0 | 110 | 110 | | test.c:94:11:94:16 | CompareNE: ... != ... | test.c:94:11:94:11 | Load: x | == | 0 | 113 | 113 | +| test.c:94:11:94:16 | CompareNE: ... != ... | test.c:94:11:94:16 | CompareNE: ... != ... | != | 0 | 95 | 95 | +| test.c:94:11:94:16 | CompareNE: ... != ... | test.c:94:11:94:16 | CompareNE: ... != ... | == | 0 | 70 | 70 | +| test.c:94:11:94:16 | CompareNE: ... != ... | test.c:94:11:94:16 | CompareNE: ... != ... | == | 0 | 99 | 99 | +| test.c:94:11:94:16 | CompareNE: ... != ... | test.c:94:11:94:16 | CompareNE: ... != ... | == | 0 | 102 | 102 | +| test.c:94:11:94:16 | CompareNE: ... != ... | test.c:94:11:94:16 | CompareNE: ... != ... | == | 0 | 103 | 103 | +| test.c:94:11:94:16 | CompareNE: ... != ... | test.c:94:11:94:16 | CompareNE: ... != ... | == | 0 | 107 | 107 | +| test.c:94:11:94:16 | CompareNE: ... != ... | test.c:94:11:94:16 | CompareNE: ... != ... | == | 0 | 109 | 109 | +| test.c:94:11:94:16 | CompareNE: ... != ... | test.c:94:11:94:16 | CompareNE: ... != ... | == | 0 | 110 | 110 | +| test.c:94:11:94:16 | CompareNE: ... != ... | test.c:94:11:94:16 | CompareNE: ... != ... | == | 0 | 113 | 113 | | test.c:102:16:102:21 | CompareLT: ... < ... | test.c:102:16:102:16 | Load: j | < | 10 | 103 | 103 | | test.c:102:16:102:21 | CompareLT: ... < ... | test.c:102:16:102:16 | Load: j | >= | 10 | 70 | 70 | | test.c:102:16:102:21 | CompareLT: ... < ... | test.c:102:16:102:16 | Load: j | >= | 10 | 107 | 107 | | test.c:102:16:102:21 | CompareLT: ... < ... | test.c:102:16:102:16 | Load: j | >= | 10 | 109 | 109 | | test.c:102:16:102:21 | CompareLT: ... < ... | test.c:102:16:102:16 | Load: j | >= | 10 | 110 | 110 | | test.c:102:16:102:21 | CompareLT: ... < ... | test.c:102:16:102:16 | Load: j | >= | 10 | 113 | 113 | +| test.c:102:16:102:21 | CompareLT: ... < ... | test.c:102:16:102:21 | CompareLT: ... < ... | != | 0 | 103 | 103 | +| test.c:102:16:102:21 | CompareLT: ... < ... | test.c:102:16:102:21 | CompareLT: ... < ... | == | 0 | 70 | 70 | +| test.c:102:16:102:21 | CompareLT: ... < ... | test.c:102:16:102:21 | CompareLT: ... < ... | == | 0 | 107 | 107 | +| test.c:102:16:102:21 | CompareLT: ... < ... | test.c:102:16:102:21 | CompareLT: ... < ... | == | 0 | 109 | 109 | +| test.c:102:16:102:21 | CompareLT: ... < ... | test.c:102:16:102:21 | CompareLT: ... < ... | == | 0 | 110 | 110 | +| test.c:102:16:102:21 | CompareLT: ... < ... | test.c:102:16:102:21 | CompareLT: ... < ... | == | 0 | 113 | 113 | | test.c:109:9:109:14 | CompareEQ: ... == ... | test.c:109:9:109:9 | Load: x | != | 0 | 109 | 109 | | test.c:109:9:109:14 | CompareEQ: ... == ... | test.c:109:9:109:9 | Load: x | != | 0 | 113 | 113 | +| test.c:109:9:109:14 | CompareEQ: ... == ... | test.c:109:9:109:14 | CompareEQ: ... == ... | == | 0 | 109 | 109 | +| test.c:109:9:109:14 | CompareEQ: ... == ... | test.c:109:9:109:14 | CompareEQ: ... == ... | == | 0 | 113 | 113 | | test.c:109:19:109:23 | CompareLT: ... < ... | test.c:109:19:109:19 | Load: y | >= | 0 | 113 | 113 | +| test.c:109:19:109:23 | CompareLT: ... < ... | test.c:109:19:109:23 | CompareLT: ... < ... | == | 0 | 113 | 113 | | test.c:126:7:126:7 | Constant: 1 | test.c:126:7:126:7 | Constant: 1 | != | 0 | 126 | 126 | | test.c:126:7:126:7 | Constant: 1 | test.c:126:7:126:7 | Constant: 1 | != | 0 | 127 | 127 | | test.c:126:7:126:7 | Constant: 1 | test.c:126:7:126:7 | Constant: 1 | != | 0 | 131 | 131 | | test.c:126:7:126:7 | Constant: 1 | test.c:126:7:126:7 | Constant: 1 | != | 0 | 132 | 132 | | test.c:126:7:126:7 | Constant: 1 | test.c:126:7:126:7 | Constant: 1 | != | 0 | 134 | 134 | +| test.c:126:7:126:7 | Constant: 1 | test.c:127:5:127:9 | Store: ... = ... | != | 0 | 126 | 126 | +| test.c:126:7:126:7 | Constant: 1 | test.c:127:5:127:9 | Store: ... = ... | != | 0 | 127 | 127 | +| test.c:126:7:126:7 | Constant: 1 | test.c:127:5:127:9 | Store: ... = ... | != | 0 | 131 | 131 | +| test.c:126:7:126:7 | Constant: 1 | test.c:127:5:127:9 | Store: ... = ... | != | 0 | 132 | 132 | +| test.c:126:7:126:7 | Constant: 1 | test.c:127:5:127:9 | Store: ... = ... | != | 0 | 134 | 134 | +| test.c:126:7:126:7 | Constant: 1 | test.c:127:9:127:9 | Constant: 1 | != | 0 | 126 | 126 | +| test.c:126:7:126:7 | Constant: 1 | test.c:127:9:127:9 | Constant: 1 | != | 0 | 127 | 127 | +| test.c:126:7:126:7 | Constant: 1 | test.c:127:9:127:9 | Constant: 1 | != | 0 | 131 | 131 | +| test.c:126:7:126:7 | Constant: 1 | test.c:127:9:127:9 | Constant: 1 | != | 0 | 132 | 132 | +| test.c:126:7:126:7 | Constant: 1 | test.c:127:9:127:9 | Constant: 1 | != | 0 | 134 | 134 | | test.c:126:12:126:26 | Call: call to test3_condition | test.c:126:12:126:26 | Call: call to test3_condition | != | 0 | 127 | 127 | | test.c:131:7:131:7 | Load: b | test.c:131:7:131:7 | Load: b | != | 0 | 132 | 132 | +| test.c:131:7:131:7 | Load: b | test.c:131:7:131:7 | Phi: b | != | 0 | 132 | 132 | | test.c:137:7:137:7 | Constant: 0 | test.c:137:7:137:7 | Constant: 0 | == | 0 | 142 | 142 | | test.c:146:7:146:8 | LogicalNot: ! ... | test.c:146:7:146:8 | LogicalNot: ! ... | != | 0 | 147 | 147 | +| test.c:146:8:146:8 | Load: x | test.c:145:16:145:16 | InitializeParameter: x | == | 0 | 147 | 147 | | test.c:146:8:146:8 | Load: x | test.c:146:8:146:8 | Load: x | == | 0 | 147 | 147 | +| test.c:152:10:152:10 | Load: x | test.c:151:16:151:16 | InitializeParameter: x | != | 0 | 152 | 152 | | test.c:152:10:152:10 | Load: x | test.c:152:10:152:10 | Load: x | != | 0 | 152 | 152 | +| test.c:152:15:152:15 | Load: y | test.c:151:23:151:23 | InitializeParameter: y | != | 0 | 152 | 152 | | test.c:152:15:152:15 | Load: y | test.c:152:15:152:15 | Load: y | != | 0 | 152 | 152 | +| test.c:156:9:156:19 | CompareEQ: ... == ... | test.c:156:9:156:19 | CompareEQ: ... == ... | != | 0 | 156 | 157 | +| test.c:159:9:159:19 | CompareEQ: ... == ... | test.c:159:9:159:19 | CompareEQ: ... == ... | != | 0 | 159 | 160 | +| test.c:162:9:162:18 | CompareLT: ... < ... | test.c:162:9:162:18 | CompareLT: ... < ... | != | 0 | 162 | 163 | +| test.c:165:9:165:18 | CompareLT: ... < ... | test.c:165:9:165:18 | CompareLT: ... < ... | != | 0 | 165 | 166 | | test.c:175:13:175:32 | CompareEQ: ... == ... | test.c:175:13:175:15 | Call: call to foo | != | 0 | 175 | 175 | | test.c:175:13:175:32 | CompareEQ: ... == ... | test.c:175:13:175:15 | Call: call to foo | == | 0 | 175 | 175 | +| test.c:175:13:175:32 | CompareEQ: ... == ... | test.c:175:13:175:32 | CompareEQ: ... == ... | != | 0 | 175 | 175 | +| test.c:175:13:175:32 | CompareEQ: ... == ... | test.c:175:13:175:32 | CompareEQ: ... == ... | == | 0 | 175 | 175 | +| test.c:181:9:181:9 | Load: x | test.c:180:20:180:20 | InitializeParameter: x | != | 0 | 182 | 182 | +| test.c:181:9:181:9 | Load: x | test.c:180:20:180:20 | InitializeParameter: x | == | 0 | 184 | 184 | | test.c:181:9:181:9 | Load: x | test.c:181:9:181:9 | Load: x | != | 0 | 182 | 182 | | test.c:181:9:181:9 | Load: x | test.c:181:9:181:9 | Load: x | == | 0 | 184 | 184 | | test.cpp:18:8:18:12 | CompareNE: (bool)... | test.cpp:18:8:18:10 | Call: call to get | != | 0 | 19 | 19 | +| test.cpp:18:8:18:12 | CompareNE: (bool)... | test.cpp:18:8:18:12 | CompareNE: (bool)... | != | 0 | 19 | 19 | | test.cpp:31:7:31:13 | CompareEQ: ... == ... | test.cpp:31:7:31:7 | Load: x | != | -1 | 34 | 34 | | test.cpp:31:7:31:13 | CompareEQ: ... == ... | test.cpp:31:7:31:7 | Load: x | == | -1 | 30 | 30 | | test.cpp:31:7:31:13 | CompareEQ: ... == ... | test.cpp:31:7:31:7 | Load: x | == | -1 | 32 | 32 | +| test.cpp:31:7:31:13 | CompareEQ: ... == ... | test.cpp:31:7:31:13 | CompareEQ: ... == ... | != | 0 | 30 | 30 | +| test.cpp:31:7:31:13 | CompareEQ: ... == ... | test.cpp:31:7:31:13 | CompareEQ: ... == ... | != | 0 | 32 | 32 | +| test.cpp:31:7:31:13 | CompareEQ: ... == ... | test.cpp:31:7:31:13 | CompareEQ: ... == ... | == | 0 | 34 | 34 | | test.cpp:42:13:42:20 | Call: call to getABool | test.cpp:42:13:42:20 | Call: call to getABool | != | 0 | 44 | 44 | | test.cpp:42:13:42:20 | Call: call to getABool | test.cpp:42:13:42:20 | Call: call to getABool | == | 0 | 53 | 53 | diff --git a/cpp/ql/test/library-tests/controlflow/guards/GuardsCompare.expected b/cpp/ql/test/library-tests/controlflow/guards/GuardsCompare.expected index 8480a1f86138..4f44591e0b81 100644 --- a/cpp/ql/test/library-tests/controlflow/guards/GuardsCompare.expected +++ b/cpp/ql/test/library-tests/controlflow/guards/GuardsCompare.expected @@ -1,5 +1,7 @@ | 7 | 0 < x+0 when ... > ... is true | | 7 | 0 >= x+0 when ... > ... is false | +| 7 | ... > ... != 0 when ... > ... is true | +| 7 | ... > ... == 0 when ... > ... is false | | 7 | x < 0+1 when ... > ... is false | | 7 | x < 1 when ... > ... is false | | 7 | x >= 0+1 when ... > ... is true | @@ -10,6 +12,12 @@ | 17 | 1 < y+0 when ... && ... is true | | 17 | 1 < y+0 when ... > ... is true | | 17 | 1 >= y+0 when ... > ... is false | +| 17 | ... < ... != 0 when ... && ... is true | +| 17 | ... < ... != 0 when ... < ... is true | +| 17 | ... < ... == 0 when ... < ... is false | +| 17 | ... > ... != 0 when ... && ... is true | +| 17 | ... > ... != 0 when ... > ... is true | +| 17 | ... > ... == 0 when ... > ... is false | | 17 | x < 0 when ... && ... is true | | 17 | x < 0 when ... < ... is true | | 17 | x < 0+0 when ... && ... is true | @@ -26,24 +34,32 @@ | 18 | call to get == 0 when call to get is false | | 26 | 0 < x+0 when ... > ... is true | | 26 | 0 >= x+0 when ... > ... is false | +| 26 | ... > ... != 0 when ... > ... is true | +| 26 | ... > ... == 0 when ... > ... is false | | 26 | x < 0+1 when ... > ... is false | | 26 | x < 1 when ... > ... is false | | 26 | x >= 0+1 when ... > ... is true | | 26 | x >= 1 when ... > ... is true | | 31 | - ... != x+0 when ... == ... is false | | 31 | - ... == x+0 when ... == ... is true | +| 31 | ... == ... != 0 when ... == ... is true | +| 31 | ... == ... == 0 when ... == ... is false | | 31 | x != -1 when ... == ... is false | | 31 | x != - ...+0 when ... == ... is false | | 31 | x == -1 when ... == ... is true | | 31 | x == - ...+0 when ... == ... is true | | 34 | 10 < j+1 when ... < ... is false | | 34 | 10 >= j+1 when ... < ... is true | +| 34 | ... < ... != 0 when ... < ... is true | +| 34 | ... < ... == 0 when ... < ... is false | | 34 | j < 10 when ... < ... is true | | 34 | j < 10+0 when ... < ... is true | | 34 | j >= 10 when ... < ... is false | | 34 | j >= 10+0 when ... < ... is false | | 42 | 10 < j+1 when ... < ... is false | | 42 | 10 >= j+1 when ... < ... is true | +| 42 | ... < ... != 0 when ... < ... is true | +| 42 | ... < ... == 0 when ... < ... is false | | 42 | call to getABool != 0 when call to getABool is true | | 42 | call to getABool == 0 when call to getABool is false | | 42 | j < 10 when ... < ... is true | @@ -52,12 +68,16 @@ | 42 | j >= 10+0 when ... < ... is false | | 44 | 0 < z+0 when ... > ... is true | | 44 | 0 >= z+0 when ... > ... is false | +| 44 | ... > ... != 0 when ... > ... is true | +| 44 | ... > ... == 0 when ... > ... is false | | 44 | z < 0+1 when ... > ... is false | | 44 | z < 1 when ... > ... is false | | 44 | z >= 0+1 when ... > ... is true | | 44 | z >= 1 when ... > ... is true | | 45 | 0 < y+0 when ... > ... is true | | 45 | 0 >= y+0 when ... > ... is false | +| 45 | ... > ... != 0 when ... > ... is true | +| 45 | ... > ... == 0 when ... > ... is false | | 45 | y < 0+1 when ... > ... is false | | 45 | y < 1 when ... > ... is false | | 45 | y >= 0+1 when ... > ... is true | @@ -68,6 +88,12 @@ | 58 | 0 < y+1 when ... \|\| ... is false | | 58 | 0 == x+0 when ... == ... is true | | 58 | 0 >= y+1 when ... < ... is true | +| 58 | ... < ... != 0 when ... < ... is true | +| 58 | ... < ... == 0 when ... < ... is false | +| 58 | ... < ... == 0 when ... \|\| ... is false | +| 58 | ... == ... != 0 when ... == ... is true | +| 58 | ... == ... == 0 when ... == ... is false | +| 58 | ... == ... == 0 when ... \|\| ... is false | | 58 | x != 0 when ... == ... is false | | 58 | x != 0 when ... \|\| ... is false | | 58 | x != 0+0 when ... == ... is false | @@ -89,6 +115,8 @@ | 74 | i >= 11 when i is Case[11..20] | | 75 | 0 != x+0 when ... == ... is false | | 75 | 0 == x+0 when ... == ... is true | +| 75 | ... == ... != 0 when ... == ... is true | +| 75 | ... == ... == 0 when ... == ... is false | | 75 | x != 0 when ... == ... is false | | 75 | x != 0+0 when ... == ... is false | | 75 | x == 0 when ... == ... is true | @@ -99,6 +127,12 @@ | 85 | 0 == x+0 when ... && ... is true | | 85 | 0 == x+0 when ... == ... is true | | 85 | 0 == y+0 when ... != ... is false | +| 85 | ... != ... != 0 when ... != ... is true | +| 85 | ... != ... != 0 when ... && ... is true | +| 85 | ... != ... == 0 when ... != ... is false | +| 85 | ... == ... != 0 when ... && ... is true | +| 85 | ... == ... != 0 when ... == ... is true | +| 85 | ... == ... == 0 when ... == ... is false | | 85 | x != 0 when ... == ... is false | | 85 | x != 0+0 when ... == ... is false | | 85 | x == 0 when ... && ... is true | @@ -115,18 +149,26 @@ | 93 | c == 0 when c is false | | 94 | 0 != x+0 when ... != ... is true | | 94 | 0 == x+0 when ... != ... is false | +| 94 | ... != ... != 0 when ... != ... is true | +| 94 | ... != ... == 0 when ... != ... is false | | 94 | x != 0 when ... != ... is true | | 94 | x != 0+0 when ... != ... is true | | 94 | x == 0 when ... != ... is false | | 94 | x == 0+0 when ... != ... is false | +| 99 | f != 0 when f is true | +| 99 | f == 0 when f is false | | 102 | 10 < j+1 when ... < ... is false | | 102 | 10 >= j+1 when ... < ... is true | +| 102 | ... < ... != 0 when ... < ... is true | +| 102 | ... < ... == 0 when ... < ... is false | | 102 | j < 10 when ... < ... is true | | 102 | j < 10+0 when ... < ... is true | | 102 | j >= 10 when ... < ... is false | | 102 | j >= 10+0 when ... < ... is false | | 105 | 0.0 != f+0 when ... != ... is true | | 105 | 0.0 == f+0 when ... != ... is false | +| 105 | ... != ... != 0 when ... != ... is true | +| 105 | ... != ... == 0 when ... != ... is false | | 105 | f != 0.0+0 when ... != ... is true | | 105 | f == 0.0+0 when ... != ... is false | | 109 | 0 != x+0 when ... == ... is false | @@ -135,6 +177,12 @@ | 109 | 0 < y+1 when ... \|\| ... is false | | 109 | 0 == x+0 when ... == ... is true | | 109 | 0 >= y+1 when ... < ... is true | +| 109 | ... < ... != 0 when ... < ... is true | +| 109 | ... < ... == 0 when ... < ... is false | +| 109 | ... < ... == 0 when ... \|\| ... is false | +| 109 | ... == ... != 0 when ... == ... is true | +| 109 | ... == ... == 0 when ... == ... is false | +| 109 | ... == ... == 0 when ... \|\| ... is false | | 109 | x != 0 when ... == ... is false | | 109 | x != 0 when ... \|\| ... is false | | 109 | x != 0+0 when ... == ... is false | @@ -149,6 +197,8 @@ | 109 | y >= 0+0 when ... \|\| ... is false | | 111 | 0.0 != i+0 when ... != ... is true | | 111 | 0.0 == i+0 when ... != ... is false | +| 111 | ... != ... != 0 when ... != ... is true | +| 111 | ... != ... == 0 when ... != ... is false | | 111 | i != 0.0+0 when ... != ... is true | | 111 | i == 0.0+0 when ... != ... is false | | 122 | b != 0 when b is true | @@ -166,6 +216,8 @@ | 126 | call to test3_condition == 0 when call to test3_condition is false | | 131 | ... + ... != a+0 when call to __builtin_expect is false | | 131 | ... + ... == a+0 when call to __builtin_expect is true | +| 131 | ... == ... != 0 when call to __builtin_expect is true | +| 131 | ... == ... == 0 when call to __builtin_expect is false | | 131 | a != ... + ...+0 when call to __builtin_expect is false | | 131 | a != b+42 when call to __builtin_expect is false | | 131 | a == ... + ...+0 when call to __builtin_expect is true | @@ -176,6 +228,8 @@ | 131 | b == a+-42 when call to __builtin_expect is true | | 131 | call to __builtin_expect != 0 when call to __builtin_expect is true | | 131 | call to __builtin_expect == 0 when call to __builtin_expect is false | +| 135 | ... != ... != 0 when call to __builtin_expect is true | +| 135 | ... != ... == 0 when call to __builtin_expect is false | | 135 | ... + ... != a+0 when call to __builtin_expect is true | | 135 | ... + ... == a+0 when call to __builtin_expect is false | | 135 | a != ... + ...+0 when call to __builtin_expect is true | @@ -190,6 +244,8 @@ | 137 | 0 == 0 when 0 is false | | 141 | 42 != a+0 when call to __builtin_expect is false | | 141 | 42 == a+0 when call to __builtin_expect is true | +| 141 | ... == ... != 0 when call to __builtin_expect is true | +| 141 | ... == ... == 0 when call to __builtin_expect is false | | 141 | a != 42 when call to __builtin_expect is false | | 141 | a != 42+0 when call to __builtin_expect is false | | 141 | a == 42 when call to __builtin_expect is true | @@ -198,6 +254,8 @@ | 141 | call to __builtin_expect == 0 when call to __builtin_expect is false | | 145 | 42 != a+0 when call to __builtin_expect is true | | 145 | 42 == a+0 when call to __builtin_expect is false | +| 145 | ... != ... != 0 when call to __builtin_expect is true | +| 145 | ... != ... == 0 when call to __builtin_expect is false | | 145 | a != 42 when call to __builtin_expect is true | | 145 | a != 42+0 when call to __builtin_expect is true | | 145 | a == 42 when call to __builtin_expect is false | diff --git a/cpp/ql/test/library-tests/controlflow/guards/GuardsEnsure.expected b/cpp/ql/test/library-tests/controlflow/guards/GuardsEnsure.expected index c520b48f94e4..c41cdfd6063d 100644 --- a/cpp/ql/test/library-tests/controlflow/guards/GuardsEnsure.expected +++ b/cpp/ql/test/library-tests/controlflow/guards/GuardsEnsure.expected @@ -99,10 +99,20 @@ binary | test.c:75:9:75:14 | ... == ... | test.c:75:9:75:9 | x | == | test.c:75:14:75:14 | 0 | 0 | 75 | 77 | | test.c:75:9:75:14 | ... == ... | test.c:75:14:75:14 | 0 | != | test.c:75:9:75:9 | x | 0 | 78 | 79 | | test.c:75:9:75:14 | ... == ... | test.c:75:14:75:14 | 0 | == | test.c:75:9:75:9 | x | 0 | 75 | 77 | +| test.c:75:9:75:14 | ... == ... | test.c:85:8:85:8 | x | != | test.c:85:13:85:13 | 0 | 0 | 78 | 79 | +| test.c:75:9:75:14 | ... == ... | test.c:85:8:85:8 | x | == | test.c:85:13:85:13 | 0 | 0 | 75 | 77 | +| test.c:75:9:75:14 | ... == ... | test.c:85:13:85:13 | 0 | != | test.c:85:8:85:8 | x | 0 | 78 | 79 | +| test.c:75:9:75:14 | ... == ... | test.c:85:13:85:13 | 0 | == | test.c:85:8:85:8 | x | 0 | 75 | 77 | +| test.c:85:8:85:13 | ... == ... | test.c:75:9:75:9 | x | == | test.c:75:14:75:14 | 0 | 0 | 85 | 85 | +| test.c:85:8:85:13 | ... == ... | test.c:75:9:75:9 | x | == | test.c:75:14:75:14 | 0 | 0 | 86 | 86 | +| test.c:85:8:85:13 | ... == ... | test.c:75:14:75:14 | 0 | == | test.c:75:9:75:9 | x | 0 | 85 | 85 | +| test.c:85:8:85:13 | ... == ... | test.c:75:14:75:14 | 0 | == | test.c:75:9:75:9 | x | 0 | 86 | 86 | | test.c:85:8:85:13 | ... == ... | test.c:85:8:85:8 | x | == | test.c:85:13:85:13 | 0 | 0 | 85 | 85 | | test.c:85:8:85:13 | ... == ... | test.c:85:8:85:8 | x | == | test.c:85:13:85:13 | 0 | 0 | 86 | 86 | | test.c:85:8:85:13 | ... == ... | test.c:85:13:85:13 | 0 | == | test.c:85:8:85:8 | x | 0 | 85 | 85 | | test.c:85:8:85:13 | ... == ... | test.c:85:13:85:13 | 0 | == | test.c:85:8:85:8 | x | 0 | 86 | 86 | +| test.c:85:8:85:23 | ... && ... | test.c:75:9:75:9 | x | == | test.c:75:14:75:14 | 0 | 0 | 86 | 86 | +| test.c:85:8:85:23 | ... && ... | test.c:75:14:75:14 | 0 | == | test.c:75:9:75:9 | x | 0 | 86 | 86 | | test.c:85:8:85:23 | ... && ... | test.c:85:8:85:8 | x | == | test.c:85:13:85:13 | 0 | 0 | 86 | 86 | | test.c:85:8:85:23 | ... && ... | test.c:85:13:85:13 | 0 | == | test.c:85:8:85:8 | x | 0 | 86 | 86 | | test.c:85:8:85:23 | ... && ... | test.c:85:18:85:18 | y | != | test.c:85:23:85:23 | 0 | 0 | 86 | 86 | @@ -174,11 +184,18 @@ binary unary | test.c:7:9:7:13 | ... > ... | test.c:7:9:7:9 | x | < | 1 | 10 | 11 | | test.c:7:9:7:13 | ... > ... | test.c:7:9:7:9 | x | >= | 1 | 7 | 9 | +| test.c:7:9:7:13 | ... > ... | test.c:7:9:7:13 | ... > ... | != | 0 | 7 | 9 | +| test.c:7:9:7:13 | ... > ... | test.c:7:9:7:13 | ... > ... | == | 0 | 10 | 11 | | test.c:17:8:17:12 | ... < ... | test.c:17:8:17:8 | x | < | 0 | 17 | 17 | | test.c:17:8:17:12 | ... < ... | test.c:17:8:17:8 | x | < | 0 | 18 | 18 | +| test.c:17:8:17:12 | ... < ... | test.c:17:8:17:12 | ... < ... | != | 0 | 17 | 17 | +| test.c:17:8:17:12 | ... < ... | test.c:17:8:17:12 | ... < ... | != | 0 | 18 | 18 | | test.c:17:8:17:21 | ... && ... | test.c:17:8:17:8 | x | < | 0 | 18 | 18 | +| test.c:17:8:17:21 | ... && ... | test.c:17:8:17:12 | ... < ... | != | 0 | 18 | 18 | | test.c:17:8:17:21 | ... && ... | test.c:17:17:17:17 | y | >= | 2 | 18 | 18 | +| test.c:17:8:17:21 | ... && ... | test.c:17:17:17:21 | ... > ... | != | 0 | 18 | 18 | | test.c:17:17:17:21 | ... > ... | test.c:17:17:17:17 | y | >= | 2 | 18 | 18 | +| test.c:17:17:17:21 | ... > ... | test.c:17:17:17:21 | ... > ... | != | 0 | 18 | 18 | | test.c:26:11:26:15 | ... > ... | test.c:26:11:26:11 | x | < | 1 | 2 | 2 | | test.c:26:11:26:15 | ... > ... | test.c:26:11:26:11 | x | < | 1 | 31 | 34 | | test.c:26:11:26:15 | ... > ... | test.c:26:11:26:11 | x | < | 1 | 34 | 34 | @@ -193,6 +210,20 @@ unary | test.c:26:11:26:15 | ... > ... | test.c:26:11:26:11 | x | < | 1 | 58 | 66 | | test.c:26:11:26:15 | ... > ... | test.c:26:11:26:11 | x | < | 1 | 62 | 62 | | test.c:26:11:26:15 | ... > ... | test.c:26:11:26:11 | x | >= | 1 | 26 | 28 | +| test.c:26:11:26:15 | ... > ... | test.c:26:11:26:15 | ... > ... | != | 0 | 26 | 28 | +| test.c:26:11:26:15 | ... > ... | test.c:26:11:26:15 | ... > ... | == | 0 | 2 | 2 | +| test.c:26:11:26:15 | ... > ... | test.c:26:11:26:15 | ... > ... | == | 0 | 31 | 34 | +| test.c:26:11:26:15 | ... > ... | test.c:26:11:26:15 | ... > ... | == | 0 | 34 | 34 | +| test.c:26:11:26:15 | ... > ... | test.c:26:11:26:15 | ... > ... | == | 0 | 39 | 42 | +| test.c:26:11:26:15 | ... > ... | test.c:26:11:26:15 | ... > ... | == | 0 | 42 | 42 | +| test.c:26:11:26:15 | ... > ... | test.c:26:11:26:15 | ... > ... | == | 0 | 42 | 44 | +| test.c:26:11:26:15 | ... > ... | test.c:26:11:26:15 | ... > ... | == | 0 | 45 | 45 | +| test.c:26:11:26:15 | ... > ... | test.c:26:11:26:15 | ... > ... | == | 0 | 45 | 47 | +| test.c:26:11:26:15 | ... > ... | test.c:26:11:26:15 | ... > ... | == | 0 | 51 | 53 | +| test.c:26:11:26:15 | ... > ... | test.c:26:11:26:15 | ... > ... | == | 0 | 56 | 58 | +| test.c:26:11:26:15 | ... > ... | test.c:26:11:26:15 | ... > ... | == | 0 | 58 | 58 | +| test.c:26:11:26:15 | ... > ... | test.c:26:11:26:15 | ... > ... | == | 0 | 58 | 66 | +| test.c:26:11:26:15 | ... > ... | test.c:26:11:26:15 | ... > ... | == | 0 | 62 | 62 | | test.c:34:16:34:21 | ... < ... | test.c:34:16:34:16 | j | < | 10 | 34 | 34 | | test.c:34:16:34:21 | ... < ... | test.c:34:16:34:16 | j | >= | 10 | 2 | 2 | | test.c:34:16:34:21 | ... < ... | test.c:34:16:34:16 | j | >= | 10 | 39 | 42 | @@ -205,28 +236,72 @@ unary | test.c:34:16:34:21 | ... < ... | test.c:34:16:34:16 | j | >= | 10 | 58 | 58 | | test.c:34:16:34:21 | ... < ... | test.c:34:16:34:16 | j | >= | 10 | 58 | 66 | | test.c:34:16:34:21 | ... < ... | test.c:34:16:34:16 | j | >= | 10 | 62 | 62 | +| test.c:34:16:34:21 | ... < ... | test.c:34:16:34:21 | ... < ... | != | 0 | 34 | 34 | +| test.c:34:16:34:21 | ... < ... | test.c:34:16:34:21 | ... < ... | == | 0 | 2 | 2 | +| test.c:34:16:34:21 | ... < ... | test.c:34:16:34:21 | ... < ... | == | 0 | 39 | 42 | +| test.c:34:16:34:21 | ... < ... | test.c:34:16:34:21 | ... < ... | == | 0 | 42 | 42 | +| test.c:34:16:34:21 | ... < ... | test.c:34:16:34:21 | ... < ... | == | 0 | 42 | 44 | +| test.c:34:16:34:21 | ... < ... | test.c:34:16:34:21 | ... < ... | == | 0 | 45 | 45 | +| test.c:34:16:34:21 | ... < ... | test.c:34:16:34:21 | ... < ... | == | 0 | 45 | 47 | +| test.c:34:16:34:21 | ... < ... | test.c:34:16:34:21 | ... < ... | == | 0 | 51 | 53 | +| test.c:34:16:34:21 | ... < ... | test.c:34:16:34:21 | ... < ... | == | 0 | 56 | 58 | +| test.c:34:16:34:21 | ... < ... | test.c:34:16:34:21 | ... < ... | == | 0 | 58 | 58 | +| test.c:34:16:34:21 | ... < ... | test.c:34:16:34:21 | ... < ... | == | 0 | 58 | 66 | +| test.c:34:16:34:21 | ... < ... | test.c:34:16:34:21 | ... < ... | == | 0 | 62 | 62 | | test.c:42:16:42:21 | ... < ... | test.c:42:16:42:16 | j | < | 10 | 42 | 42 | | test.c:42:16:42:21 | ... < ... | test.c:42:16:42:16 | j | < | 10 | 42 | 44 | | test.c:42:16:42:21 | ... < ... | test.c:42:16:42:16 | j | < | 10 | 45 | 45 | | test.c:42:16:42:21 | ... < ... | test.c:42:16:42:16 | j | < | 10 | 45 | 47 | | test.c:42:16:42:21 | ... < ... | test.c:42:16:42:16 | j | < | 10 | 51 | 53 | +| test.c:42:16:42:21 | ... < ... | test.c:42:16:42:21 | ... < ... | != | 0 | 42 | 42 | +| test.c:42:16:42:21 | ... < ... | test.c:42:16:42:21 | ... < ... | != | 0 | 42 | 44 | +| test.c:42:16:42:21 | ... < ... | test.c:42:16:42:21 | ... < ... | != | 0 | 45 | 45 | +| test.c:42:16:42:21 | ... < ... | test.c:42:16:42:21 | ... < ... | != | 0 | 45 | 47 | +| test.c:42:16:42:21 | ... < ... | test.c:42:16:42:21 | ... < ... | != | 0 | 51 | 53 | | test.c:44:12:44:16 | ... > ... | test.c:44:12:44:12 | z | < | 1 | 42 | 42 | | test.c:44:12:44:16 | ... > ... | test.c:44:12:44:12 | z | < | 1 | 51 | 53 | | test.c:44:12:44:16 | ... > ... | test.c:44:12:44:12 | z | >= | 1 | 45 | 45 | | test.c:44:12:44:16 | ... > ... | test.c:44:12:44:12 | z | >= | 1 | 45 | 47 | +| test.c:44:12:44:16 | ... > ... | test.c:44:12:44:16 | ... > ... | != | 0 | 45 | 45 | +| test.c:44:12:44:16 | ... > ... | test.c:44:12:44:16 | ... > ... | != | 0 | 45 | 47 | +| test.c:44:12:44:16 | ... > ... | test.c:44:12:44:16 | ... > ... | == | 0 | 42 | 42 | +| test.c:44:12:44:16 | ... > ... | test.c:44:12:44:16 | ... > ... | == | 0 | 51 | 53 | | test.c:45:16:45:20 | ... > ... | test.c:45:16:45:16 | y | >= | 1 | 45 | 47 | +| test.c:45:16:45:20 | ... > ... | test.c:45:16:45:20 | ... > ... | != | 0 | 45 | 47 | | test.c:58:9:58:14 | ... == ... | test.c:58:9:58:9 | x | != | 0 | 58 | 58 | | test.c:58:9:58:14 | ... == ... | test.c:58:9:58:9 | x | != | 0 | 62 | 62 | +| test.c:58:9:58:14 | ... == ... | test.c:58:9:58:14 | ... == ... | == | 0 | 58 | 58 | +| test.c:58:9:58:14 | ... == ... | test.c:58:9:58:14 | ... == ... | == | 0 | 62 | 62 | | test.c:58:9:58:23 | ... \|\| ... | test.c:58:9:58:9 | x | != | 0 | 62 | 62 | +| test.c:58:9:58:23 | ... \|\| ... | test.c:58:9:58:14 | ... == ... | == | 0 | 62 | 62 | | test.c:58:9:58:23 | ... \|\| ... | test.c:58:19:58:19 | y | >= | 0 | 62 | 62 | +| test.c:58:9:58:23 | ... \|\| ... | test.c:58:19:58:23 | ... < ... | == | 0 | 62 | 62 | | test.c:58:19:58:23 | ... < ... | test.c:58:19:58:19 | y | >= | 0 | 62 | 62 | +| test.c:58:19:58:23 | ... < ... | test.c:58:19:58:23 | ... < ... | == | 0 | 62 | 62 | | test.c:75:9:75:14 | ... == ... | test.c:75:9:75:9 | x | != | 0 | 78 | 79 | | test.c:75:9:75:14 | ... == ... | test.c:75:9:75:9 | x | == | 0 | 75 | 77 | +| test.c:75:9:75:14 | ... == ... | test.c:75:9:75:14 | ... == ... | != | 0 | 75 | 77 | +| test.c:75:9:75:14 | ... == ... | test.c:75:9:75:14 | ... == ... | == | 0 | 78 | 79 | +| test.c:75:9:75:14 | ... == ... | test.c:85:8:85:8 | x | != | 0 | 78 | 79 | +| test.c:75:9:75:14 | ... == ... | test.c:85:8:85:8 | x | == | 0 | 75 | 77 | +| test.c:75:9:75:14 | ... == ... | test.c:85:8:85:13 | ... == ... | != | 0 | 75 | 77 | +| test.c:75:9:75:14 | ... == ... | test.c:85:8:85:13 | ... == ... | == | 0 | 78 | 79 | +| test.c:85:8:85:13 | ... == ... | test.c:75:9:75:9 | x | == | 0 | 85 | 85 | +| test.c:85:8:85:13 | ... == ... | test.c:75:9:75:9 | x | == | 0 | 86 | 86 | +| test.c:85:8:85:13 | ... == ... | test.c:75:9:75:14 | ... == ... | != | 0 | 85 | 85 | +| test.c:85:8:85:13 | ... == ... | test.c:75:9:75:14 | ... == ... | != | 0 | 86 | 86 | | test.c:85:8:85:13 | ... == ... | test.c:85:8:85:8 | x | == | 0 | 85 | 85 | | test.c:85:8:85:13 | ... == ... | test.c:85:8:85:8 | x | == | 0 | 86 | 86 | +| test.c:85:8:85:13 | ... == ... | test.c:85:8:85:13 | ... == ... | != | 0 | 85 | 85 | +| test.c:85:8:85:13 | ... == ... | test.c:85:8:85:13 | ... == ... | != | 0 | 86 | 86 | +| test.c:85:8:85:23 | ... && ... | test.c:75:9:75:9 | x | == | 0 | 86 | 86 | +| test.c:85:8:85:23 | ... && ... | test.c:75:9:75:14 | ... == ... | != | 0 | 86 | 86 | | test.c:85:8:85:23 | ... && ... | test.c:85:8:85:8 | x | == | 0 | 86 | 86 | +| test.c:85:8:85:23 | ... && ... | test.c:85:8:85:13 | ... == ... | != | 0 | 86 | 86 | | test.c:85:8:85:23 | ... && ... | test.c:85:18:85:18 | y | != | 0 | 86 | 86 | +| test.c:85:8:85:23 | ... && ... | test.c:85:18:85:23 | ... != ... | != | 0 | 86 | 86 | | test.c:85:18:85:23 | ... != ... | test.c:85:18:85:18 | y | != | 0 | 86 | 86 | +| test.c:85:18:85:23 | ... != ... | test.c:85:18:85:23 | ... != ... | != | 0 | 86 | 86 | | test.c:94:11:94:16 | ... != ... | test.c:94:11:94:11 | x | != | 0 | 94 | 96 | | test.c:94:11:94:16 | ... != ... | test.c:94:11:94:11 | x | == | 0 | 70 | 70 | | test.c:94:11:94:16 | ... != ... | test.c:94:11:94:11 | x | == | 0 | 99 | 102 | @@ -235,24 +310,49 @@ unary | test.c:94:11:94:16 | ... != ... | test.c:94:11:94:11 | x | == | 0 | 109 | 109 | | test.c:94:11:94:16 | ... != ... | test.c:94:11:94:11 | x | == | 0 | 109 | 117 | | test.c:94:11:94:16 | ... != ... | test.c:94:11:94:11 | x | == | 0 | 113 | 113 | +| test.c:94:11:94:16 | ... != ... | test.c:94:11:94:16 | ... != ... | != | 0 | 94 | 96 | +| test.c:94:11:94:16 | ... != ... | test.c:94:11:94:16 | ... != ... | == | 0 | 70 | 70 | +| test.c:94:11:94:16 | ... != ... | test.c:94:11:94:16 | ... != ... | == | 0 | 99 | 102 | +| test.c:94:11:94:16 | ... != ... | test.c:94:11:94:16 | ... != ... | == | 0 | 102 | 102 | +| test.c:94:11:94:16 | ... != ... | test.c:94:11:94:16 | ... != ... | == | 0 | 107 | 109 | +| test.c:94:11:94:16 | ... != ... | test.c:94:11:94:16 | ... != ... | == | 0 | 109 | 109 | +| test.c:94:11:94:16 | ... != ... | test.c:94:11:94:16 | ... != ... | == | 0 | 109 | 117 | +| test.c:94:11:94:16 | ... != ... | test.c:94:11:94:16 | ... != ... | == | 0 | 113 | 113 | | test.c:102:16:102:21 | ... < ... | test.c:102:16:102:16 | j | < | 10 | 102 | 102 | | test.c:102:16:102:21 | ... < ... | test.c:102:16:102:16 | j | >= | 10 | 70 | 70 | | test.c:102:16:102:21 | ... < ... | test.c:102:16:102:16 | j | >= | 10 | 107 | 109 | | test.c:102:16:102:21 | ... < ... | test.c:102:16:102:16 | j | >= | 10 | 109 | 109 | | test.c:102:16:102:21 | ... < ... | test.c:102:16:102:16 | j | >= | 10 | 109 | 117 | | test.c:102:16:102:21 | ... < ... | test.c:102:16:102:16 | j | >= | 10 | 113 | 113 | +| test.c:102:16:102:21 | ... < ... | test.c:102:16:102:21 | ... < ... | != | 0 | 102 | 102 | +| test.c:102:16:102:21 | ... < ... | test.c:102:16:102:21 | ... < ... | == | 0 | 70 | 70 | +| test.c:102:16:102:21 | ... < ... | test.c:102:16:102:21 | ... < ... | == | 0 | 107 | 109 | +| test.c:102:16:102:21 | ... < ... | test.c:102:16:102:21 | ... < ... | == | 0 | 109 | 109 | +| test.c:102:16:102:21 | ... < ... | test.c:102:16:102:21 | ... < ... | == | 0 | 109 | 117 | +| test.c:102:16:102:21 | ... < ... | test.c:102:16:102:21 | ... < ... | == | 0 | 113 | 113 | | test.c:109:9:109:14 | ... == ... | test.c:109:9:109:9 | x | != | 0 | 109 | 109 | | test.c:109:9:109:14 | ... == ... | test.c:109:9:109:9 | x | != | 0 | 113 | 113 | +| test.c:109:9:109:14 | ... == ... | test.c:109:9:109:14 | ... == ... | == | 0 | 109 | 109 | +| test.c:109:9:109:14 | ... == ... | test.c:109:9:109:14 | ... == ... | == | 0 | 113 | 113 | | test.c:109:9:109:23 | ... \|\| ... | test.c:109:9:109:9 | x | != | 0 | 113 | 113 | +| test.c:109:9:109:23 | ... \|\| ... | test.c:109:9:109:14 | ... == ... | == | 0 | 113 | 113 | | test.c:109:9:109:23 | ... \|\| ... | test.c:109:19:109:19 | y | >= | 0 | 113 | 113 | +| test.c:109:9:109:23 | ... \|\| ... | test.c:109:19:109:23 | ... < ... | == | 0 | 113 | 113 | | test.c:109:19:109:23 | ... < ... | test.c:109:19:109:19 | y | >= | 0 | 113 | 113 | +| test.c:109:19:109:23 | ... < ... | test.c:109:19:109:23 | ... < ... | == | 0 | 113 | 113 | | test.c:126:7:126:7 | 1 | test.c:126:7:126:7 | 1 | != | 0 | 126 | 126 | | test.c:126:7:126:7 | 1 | test.c:126:7:126:7 | 1 | != | 0 | 126 | 128 | | test.c:126:7:126:7 | 1 | test.c:126:7:126:7 | 1 | != | 0 | 131 | 131 | | test.c:126:7:126:7 | 1 | test.c:126:7:126:7 | 1 | != | 0 | 131 | 132 | | test.c:126:7:126:7 | 1 | test.c:126:7:126:7 | 1 | != | 0 | 134 | 123 | +| test.c:126:7:126:7 | 1 | test.c:127:9:127:9 | 1 | != | 0 | 126 | 126 | +| test.c:126:7:126:7 | 1 | test.c:127:9:127:9 | 1 | != | 0 | 126 | 128 | +| test.c:126:7:126:7 | 1 | test.c:127:9:127:9 | 1 | != | 0 | 131 | 131 | +| test.c:126:7:126:7 | 1 | test.c:127:9:127:9 | 1 | != | 0 | 131 | 132 | +| test.c:126:7:126:7 | 1 | test.c:127:9:127:9 | 1 | != | 0 | 134 | 123 | | test.c:126:7:126:28 | ... && ... | test.c:126:7:126:7 | 1 | != | 0 | 126 | 128 | | test.c:126:7:126:28 | ... && ... | test.c:126:12:126:26 | call to test3_condition | != | 0 | 126 | 128 | +| test.c:126:7:126:28 | ... && ... | test.c:127:9:127:9 | 1 | != | 0 | 126 | 128 | | test.c:126:12:126:26 | call to test3_condition | test.c:126:12:126:26 | call to test3_condition | != | 0 | 126 | 128 | | test.c:131:7:131:7 | b | test.c:131:7:131:7 | b | != | 0 | 131 | 132 | | test.c:137:7:137:7 | 0 | test.c:137:7:137:7 | 0 | == | 0 | 142 | 136 | @@ -269,6 +369,10 @@ unary | test.cpp:31:7:31:13 | ... == ... | test.cpp:31:7:31:7 | x | != | -1 | 34 | 34 | | test.cpp:31:7:31:13 | ... == ... | test.cpp:31:7:31:7 | x | == | -1 | 30 | 30 | | test.cpp:31:7:31:13 | ... == ... | test.cpp:31:7:31:7 | x | == | -1 | 31 | 32 | +| test.cpp:31:7:31:13 | ... == ... | test.cpp:31:7:31:13 | ... == ... | != | 0 | 30 | 30 | +| test.cpp:31:7:31:13 | ... == ... | test.cpp:31:7:31:13 | ... == ... | != | 0 | 31 | 32 | +| test.cpp:31:7:31:13 | ... == ... | test.cpp:31:7:31:13 | ... == ... | == | 0 | 30 | 30 | +| test.cpp:31:7:31:13 | ... == ... | test.cpp:31:7:31:13 | ... == ... | == | 0 | 34 | 34 | | test.cpp:42:13:42:20 | call to getABool | test.cpp:42:13:42:20 | call to getABool | != | 0 | 43 | 45 | | test.cpp:42:13:42:20 | call to getABool | test.cpp:42:13:42:20 | call to getABool | == | 0 | 53 | 53 | | test.cpp:61:10:61:10 | i | test.cpp:61:10:61:10 | i | == | 0 | 62 | 64 | @@ -278,13 +382,20 @@ unary | test.cpp:74:10:74:10 | i | test.cpp:74:10:74:10 | i | >= | 0 | 75 | 77 | | test.cpp:74:10:74:10 | i | test.cpp:74:10:74:10 | i | >= | 11 | 78 | 79 | | test.cpp:93:6:93:6 | c | test.cpp:93:6:93:6 | c | != | 0 | 93 | 94 | +| test.cpp:99:6:99:6 | f | test.cpp:99:6:99:6 | f | != | 0 | 99 | 100 | +| test.cpp:105:6:105:14 | ... != ... | test.cpp:105:6:105:14 | ... != ... | != | 0 | 105 | 106 | +| test.cpp:111:6:111:14 | ... != ... | test.cpp:111:6:111:14 | ... != ... | != | 0 | 111 | 112 | | test.cpp:122:9:122:9 | b | test.cpp:122:9:122:9 | b | != | 0 | 123 | 125 | | test.cpp:122:9:122:9 | b | test.cpp:122:9:122:9 | b | != | 0 | 125 | 125 | | test.cpp:125:13:125:20 | ! ... | test.cpp:125:13:125:20 | ! ... | != | 0 | 125 | 125 | | test.cpp:125:14:125:17 | call to safe | test.cpp:125:14:125:17 | call to safe | == | 0 | 125 | 125 | | test.cpp:131:6:131:21 | call to __builtin_expect | test.cpp:131:6:131:21 | call to __builtin_expect | != | 0 | 131 | 132 | +| test.cpp:131:6:131:21 | call to __builtin_expect | test.cpp:131:23:131:33 | ... == ... | != | 0 | 131 | 132 | | test.cpp:135:6:135:21 | call to __builtin_expect | test.cpp:135:6:135:21 | call to __builtin_expect | != | 0 | 135 | 136 | +| test.cpp:135:6:135:21 | call to __builtin_expect | test.cpp:135:23:135:33 | ... != ... | != | 0 | 135 | 136 | | test.cpp:141:6:141:21 | call to __builtin_expect | test.cpp:141:6:141:21 | call to __builtin_expect | != | 0 | 141 | 142 | | test.cpp:141:6:141:21 | call to __builtin_expect | test.cpp:141:23:141:23 | a | == | 42 | 141 | 142 | +| test.cpp:141:6:141:21 | call to __builtin_expect | test.cpp:141:23:141:29 | ... == ... | != | 0 | 141 | 142 | | test.cpp:145:6:145:21 | call to __builtin_expect | test.cpp:145:6:145:21 | call to __builtin_expect | != | 0 | 145 | 146 | | test.cpp:145:6:145:21 | call to __builtin_expect | test.cpp:145:23:145:23 | a | != | 42 | 145 | 146 | +| test.cpp:145:6:145:21 | call to __builtin_expect | test.cpp:145:23:145:29 | ... != ... | != | 0 | 145 | 146 | diff --git a/cpp/ql/test/query-tests/Critical/MissingCheckScanf/MissingCheckScanf.expected b/cpp/ql/test/query-tests/Critical/MissingCheckScanf/MissingCheckScanf.expected index 7f8fef84451b..1edf3b1ae99f 100644 --- a/cpp/ql/test/query-tests/Critical/MissingCheckScanf/MissingCheckScanf.expected +++ b/cpp/ql/test/query-tests/Critical/MissingCheckScanf/MissingCheckScanf.expected @@ -186,6 +186,5 @@ subpaths | test.cpp:484:9:484:9 | i | test.cpp:480:25:480:26 | scanf output argument | test.cpp:484:9:484:9 | i | This variable is read, but may not have been written. It should be guarded by a check that the $@ returns at least 1. | test.cpp:480:13:480:17 | call to scanf | call to scanf | | test.cpp:495:8:495:8 | i | test.cpp:491:25:491:26 | scanf output argument | test.cpp:495:8:495:8 | i | This variable is read, but may not have been written. It should be guarded by a check that the $@ returns at least 1. | test.cpp:491:13:491:17 | call to scanf | call to scanf | | test.cpp:545:8:545:8 | f | test.cpp:541:43:541:44 | sscanf output argument | test.cpp:545:8:545:8 | f | This variable is read, but may not have been written. It should be guarded by a check that the $@ returns at least 3. | test.cpp:541:10:541:15 | call to sscanf | call to sscanf | -| test.cpp:561:9:561:9 | i | test.cpp:559:30:559:31 | scanf output argument | test.cpp:561:9:561:9 | i | This variable is read, but may not have been written. It should be guarded by a check that the $@ returns at least 1. | test.cpp:559:18:559:22 | call to scanf | call to scanf | | test.cpp:569:9:569:9 | i | test.cpp:567:35:567:36 | scanf output argument | test.cpp:569:9:569:9 | i | This variable is read, but may not have been written. It should be guarded by a check that the $@ returns at least 1. | test.cpp:567:23:567:27 | call to scanf | call to scanf | | test.cpp:577:9:577:9 | i | test.cpp:575:30:575:31 | scanf output argument | test.cpp:577:9:577:9 | i | This variable is read, but may not have been written. It should be guarded by a check that the $@ returns at least 1. | test.cpp:575:18:575:22 | call to scanf | call to scanf | diff --git a/cpp/ql/test/query-tests/Critical/MissingCheckScanf/test.cpp b/cpp/ql/test/query-tests/Critical/MissingCheckScanf/test.cpp index ca6d2e881919..9cfad40a1480 100644 --- a/cpp/ql/test/query-tests/Critical/MissingCheckScanf/test.cpp +++ b/cpp/ql/test/query-tests/Critical/MissingCheckScanf/test.cpp @@ -558,7 +558,7 @@ void test_scanf_compared_right_away() { int i; bool success = scanf("%d", &i) == 1; if(success) { - use(i); // GOOD [FALSE POSITIVE] + use(i); // GOOD } } From 6e7256f9d4a0c943c8deae1514730f68afea54d0 Mon Sep 17 00:00:00 2001 From: Mathias Vorreiter Pedersen Date: Thu, 14 Nov 2024 16:46:19 +0000 Subject: [PATCH 190/347] C++: Delete unused predicates. --- cpp/ql/lib/semmle/code/cpp/controlflow/IRGuards.qll | 4 ---- 1 file changed, 4 deletions(-) diff --git a/cpp/ql/lib/semmle/code/cpp/controlflow/IRGuards.qll b/cpp/ql/lib/semmle/code/cpp/controlflow/IRGuards.qll index edb5275b3c3f..26123ae563c4 100644 --- a/cpp/ql/lib/semmle/code/cpp/controlflow/IRGuards.qll +++ b/cpp/ql/lib/semmle/code/cpp/controlflow/IRGuards.qll @@ -118,11 +118,7 @@ private class ScrutineeValueNumber extends ValueNumber { /** Gets an expression that belongs to this value number. */ Operand getExpressionOperand() { result = switch.getExpressionOperand() } - IRType getResultIRType() { result = switch.getExpression().getResultIRType() } - Instruction getSuccessor(CaseEdge kind) { result = switch.getSuccessor(kind) } - - predicate isGLValue() { switch.getExpression().isGLValue() } // Is this ever true? } /** From 50b9702afd17a6bec97e6c707fd56b4f32cc7a16 Mon Sep 17 00:00:00 2001 From: Ian Lynagh Date: Thu, 14 Nov 2024 21:19:29 +0000 Subject: [PATCH 191/347] Go: Remove a redundant override --- go/ql/src/RedundantCode/RedundantExpr.ql | 4 ---- 1 file changed, 4 deletions(-) diff --git a/go/ql/src/RedundantCode/RedundantExpr.ql b/go/ql/src/RedundantCode/RedundantExpr.ql index eaf3d5be3d2d..c4b0ea912f53 100644 --- a/go/ql/src/RedundantCode/RedundantExpr.ql +++ b/go/ql/src/RedundantCode/RedundantExpr.ql @@ -71,10 +71,6 @@ class AverageExpr extends PotentiallyRedundantExpr, AddExpr { this.getLeftOperand().getKind() = this.getRightOperand().getKind() ) } - - override predicate operands(Expr left, Expr right) { - left = this.getLeftOperand() and right = this.getRightOperand() - } } /** Gets the hash of `nd`, which is the `i`th operand of `red`. */ From b10696c155edc6bccc58a0bf1471f77437cf7694 Mon Sep 17 00:00:00 2001 From: Mathias Vorreiter Pedersen Date: Thu, 14 Nov 2024 21:28:33 +0000 Subject: [PATCH 192/347] Update IRGuards.qll Co-authored-by: Jeroen Ketema <93738568+jketema@users.noreply.github.com> --- cpp/ql/lib/semmle/code/cpp/controlflow/IRGuards.qll | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cpp/ql/lib/semmle/code/cpp/controlflow/IRGuards.qll b/cpp/ql/lib/semmle/code/cpp/controlflow/IRGuards.qll index 26123ae563c4..0f8eccf4ee71 100644 --- a/cpp/ql/lib/semmle/code/cpp/controlflow/IRGuards.qll +++ b/cpp/ql/lib/semmle/code/cpp/controlflow/IRGuards.qll @@ -106,8 +106,8 @@ private class CompareGEValueNumber extends CompareValueNumber { } /** - * A value number such that at least one of the instructions is an - * insruction that is used in a `SwitchInstruction`'s expression. + * A value number such that at least one of the instructions provides + * the integer value controlling a `SwitchInstruction`. */ private class ScrutineeValueNumber extends ValueNumber { SwitchInstruction switch; From 229d40ad8b3a49df62daff1ff4ab2b4e55816e10 Mon Sep 17 00:00:00 2001 From: Mathias Vorreiter Pedersen Date: Thu, 14 Nov 2024 21:28:43 +0000 Subject: [PATCH 193/347] Update IRGuards.qll Co-authored-by: Jeroen Ketema <93738568+jketema@users.noreply.github.com> --- cpp/ql/lib/semmle/code/cpp/controlflow/IRGuards.qll | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cpp/ql/lib/semmle/code/cpp/controlflow/IRGuards.qll b/cpp/ql/lib/semmle/code/cpp/controlflow/IRGuards.qll index 0f8eccf4ee71..4620d68548d3 100644 --- a/cpp/ql/lib/semmle/code/cpp/controlflow/IRGuards.qll +++ b/cpp/ql/lib/semmle/code/cpp/controlflow/IRGuards.qll @@ -73,7 +73,7 @@ private class CompareValueNumber extends ValueNumber { /** * Gets the left and right operands of a `CompareInstruction` that - * belongs to this value number. + * belong to this value number. */ predicate hasOperands(Operand left, Operand right) { left = cmp.getLeftOperand() and From 42c193777687698c10d2faf2b32258f6bf7984b2 Mon Sep 17 00:00:00 2001 From: Mathias Vorreiter Pedersen Date: Thu, 14 Nov 2024 21:28:54 +0000 Subject: [PATCH 194/347] Update IRGuards.qll Co-authored-by: Jeroen Ketema <93738568+jketema@users.noreply.github.com> --- cpp/ql/lib/semmle/code/cpp/controlflow/IRGuards.qll | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cpp/ql/lib/semmle/code/cpp/controlflow/IRGuards.qll b/cpp/ql/lib/semmle/code/cpp/controlflow/IRGuards.qll index 4620d68548d3..84ff518977d7 100644 --- a/cpp/ql/lib/semmle/code/cpp/controlflow/IRGuards.qll +++ b/cpp/ql/lib/semmle/code/cpp/controlflow/IRGuards.qll @@ -68,7 +68,7 @@ private class CompareValueNumber extends ValueNumber { CompareValueNumber() { cmp = this.getAnInstruction() } - /** Gets an `CompareInstruction` belonging to this value number. */ + /** Gets a `CompareInstruction` belonging to this value number. */ CompareInstruction getCompareInstruction() { result = cmp } /** From da5573203ed5c3ed149a600006c219e856f7938e Mon Sep 17 00:00:00 2001 From: Tamas Vajk Date: Fri, 15 Nov 2024 08:35:21 +0100 Subject: [PATCH 195/347] C#: Consider the extraction of empty binlog files acceptable --- .../Semmle.Extraction.CSharp/Extractor/Extractor.cs | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/csharp/extractor/Semmle.Extraction.CSharp/Extractor/Extractor.cs b/csharp/extractor/Semmle.Extraction.CSharp/Extractor/Extractor.cs index a2cfa5669df0..50f673a71581 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/Extractor/Extractor.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Extractor/Extractor.cs @@ -161,7 +161,15 @@ static bool filter(CompilerCall compilerCall) var allCompilationData = reader.ReadAllCompilationData(filter); var allFailed = true; - logger.LogInfo($" Found {allCompilationData.Count} compilations in binary log"); + if (allCompilationData.Count == 0) + { + logger.LogWarning(" No compilations found in binary log."); + return ExitCode.Ok; + } + else + { + logger.LogInfo($" Found {allCompilationData.Count} compilations in binary log"); + } foreach (var compilationData in allCompilationData) { From 631a3770ec65fe0f29db54f9dc97b74440e222e9 Mon Sep 17 00:00:00 2001 From: Napalys Date: Fri, 15 Nov 2024 09:16:21 +0100 Subject: [PATCH 196/347] JS: Add: change notes --- .../ql/lib/change-notes/2024-11-15-toSpliced-support.md | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 javascript/ql/lib/change-notes/2024-11-15-toSpliced-support.md diff --git a/javascript/ql/lib/change-notes/2024-11-15-toSpliced-support.md b/javascript/ql/lib/change-notes/2024-11-15-toSpliced-support.md new file mode 100644 index 000000000000..a73955e5d2a0 --- /dev/null +++ b/javascript/ql/lib/change-notes/2024-11-15-toSpliced-support.md @@ -0,0 +1,4 @@ +--- +category: minorAnalysis +--- +Added taint-steps for `Array.prototype.toSpliced` From 9bf53f50fae3ae6d21de903023b5da447589ea3e Mon Sep 17 00:00:00 2001 From: Simon Friis Vindum Date: Fri, 15 Nov 2024 10:00:43 +0100 Subject: [PATCH 197/347] Rust: Get CFG scope and update expected results --- rust/ql/lib/codeql/rust/dataflow/internal/DataFlowImpl.qll | 2 +- .../MacroItems/CONSISTENCY/DataFlowConsistency.expected | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/rust/ql/lib/codeql/rust/dataflow/internal/DataFlowImpl.qll b/rust/ql/lib/codeql/rust/dataflow/internal/DataFlowImpl.qll index 33435b896238..8cc9d0339a72 100644 --- a/rust/ql/lib/codeql/rust/dataflow/internal/DataFlowImpl.qll +++ b/rust/ql/lib/codeql/rust/dataflow/internal/DataFlowImpl.qll @@ -129,7 +129,7 @@ module Node { override CfgNode getCfgNode() { result = n } - override CfgScope getCfgScope() { result = n.getAstNode().getEnclosingCallable() } + override CfgScope getCfgScope() { result = n.getAstNode().getEnclosingCfgScope() } override Location getLocation() { result = n.getAstNode().getLocation() } diff --git a/rust/ql/test/extractor-tests/generated/MacroItems/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/extractor-tests/generated/MacroItems/CONSISTENCY/DataFlowConsistency.expected index b4a463be52ce..76caaadfdfae 100644 --- a/rust/ql/test/extractor-tests/generated/MacroItems/CONSISTENCY/DataFlowConsistency.expected +++ b/rust/ql/test/extractor-tests/generated/MacroItems/CONSISTENCY/DataFlowConsistency.expected @@ -4,5 +4,6 @@ uniqueNodeLocation | file://:0:0:0:0 | BlockExpr | Node should have one location but has 0. | | file://:0:0:0:0 | Param | Node should have one location but has 0. | | file://:0:0:0:0 | PathExpr | Node should have one location but has 0. | +| file://:0:0:0:0 | path | Node should have one location but has 0. | missingLocation -| Nodes without location: 5 | +| Nodes without location: 6 | From e3b83bb4b4312229ace22fd95f3ed41cfd0db510 Mon Sep 17 00:00:00 2001 From: Tamas Vajk Date: Fri, 15 Nov 2024 10:19:33 +0100 Subject: [PATCH 198/347] Undo accidental comment removal --- .../Entities/Base/CachedEntityFactory.cs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Base/CachedEntityFactory.cs b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Base/CachedEntityFactory.cs index 6753dce9c722..fb8ce9cb7cf4 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Base/CachedEntityFactory.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Base/CachedEntityFactory.cs @@ -5,6 +5,9 @@ namespace Semmle.Extraction.CSharp /// public abstract class CachedEntityFactory where TEntity : Entities.CachedEntity { + /// + /// Initializes the entity, but does not generate any trap code. + /// public abstract TEntity Create(Context cx, TInit init); } } From f04fd5cdcc5c992fbb11947265378b853bc14c69 Mon Sep 17 00:00:00 2001 From: Napalys Date: Fri, 15 Nov 2024 10:27:44 +0100 Subject: [PATCH 199/347] JS: Add: Test case for Array.protype.with taint step --- javascript/ql/test/library-tests/TaintTracking/tst.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/javascript/ql/test/library-tests/TaintTracking/tst.js b/javascript/ql/test/library-tests/TaintTracking/tst.js index a5142e29685f..d02d80e7ac82 100644 --- a/javascript/ql/test/library-tests/TaintTracking/tst.js +++ b/javascript/ql/test/library-tests/TaintTracking/tst.js @@ -68,4 +68,8 @@ function test() { sink(x.toReversed()) // NOT OK const xReversed = x.toReversed(); sink(xReversed) // NOT OK + + sink(x.with()) // NOT OK -- Should be flagged as a taint sink, but it is not + const xWith = x.with(); + sink(xWith) // NOT OK -- Should be flagged as a taint sink, but it is not } From bed1f25b3f9f6be1dd2224cdc6800ea9d722c701 Mon Sep 17 00:00:00 2001 From: Napalys Date: Fri, 15 Nov 2024 10:35:34 +0100 Subject: [PATCH 200/347] JS: Fix: Now Array.prototype.with is properly flagged as taint step --- javascript/ql/lib/semmle/javascript/Arrays.qll | 2 +- .../library-tests/TaintTracking/BasicTaintTracking.expected | 2 ++ javascript/ql/test/library-tests/TaintTracking/tst.js | 4 ++-- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/javascript/ql/lib/semmle/javascript/Arrays.qll b/javascript/ql/lib/semmle/javascript/Arrays.qll index 933339b97882..7ce37130996a 100644 --- a/javascript/ql/lib/semmle/javascript/Arrays.qll +++ b/javascript/ql/lib/semmle/javascript/Arrays.qll @@ -477,7 +477,7 @@ private module ArrayLibraries { private class ImmutableArrayTransformStep extends TaintTracking::SharedTaintStep { override predicate heapStep(DataFlow::Node pred, DataFlow::Node succ) { exists(DataFlow::MethodCallNode call | - call.getMethodName() in ["toSorted", "toReversed"] and + call.getMethodName() in ["toSorted", "toReversed", "with"] and pred = call.getReceiver() and succ = call ) diff --git a/javascript/ql/test/library-tests/TaintTracking/BasicTaintTracking.expected b/javascript/ql/test/library-tests/TaintTracking/BasicTaintTracking.expected index 884657842058..f81405a32a2f 100644 --- a/javascript/ql/test/library-tests/TaintTracking/BasicTaintTracking.expected +++ b/javascript/ql/test/library-tests/TaintTracking/BasicTaintTracking.expected @@ -244,6 +244,8 @@ typeInferenceMismatch | tst.js:2:13:2:20 | source() | tst.js:66:10:66:16 | xSorted | | tst.js:2:13:2:20 | source() | tst.js:68:10:68:23 | x.toReversed() | | tst.js:2:13:2:20 | source() | tst.js:70:10:70:18 | xReversed | +| tst.js:2:13:2:20 | source() | tst.js:72:10:72:17 | x.with() | +| tst.js:2:13:2:20 | source() | tst.js:74:10:74:14 | xWith | | xml.js:5:18:5:25 | source() | xml.js:8:14:8:17 | text | | xml.js:12:17:12:24 | source() | xml.js:13:14:13:19 | result | | xml.js:23:18:23:25 | source() | xml.js:20:14:20:17 | attr | diff --git a/javascript/ql/test/library-tests/TaintTracking/tst.js b/javascript/ql/test/library-tests/TaintTracking/tst.js index d02d80e7ac82..13b4ea48d8dd 100644 --- a/javascript/ql/test/library-tests/TaintTracking/tst.js +++ b/javascript/ql/test/library-tests/TaintTracking/tst.js @@ -69,7 +69,7 @@ function test() { const xReversed = x.toReversed(); sink(xReversed) // NOT OK - sink(x.with()) // NOT OK -- Should be flagged as a taint sink, but it is not + sink(x.with()) // NOT OK const xWith = x.with(); - sink(xWith) // NOT OK -- Should be flagged as a taint sink, but it is not + sink(xWith) // NOT OK } From 7cb9d07f59110d53143f5d5ddc40c77ac4c64e9c Mon Sep 17 00:00:00 2001 From: Simon Friis Vindum Date: Fri, 15 Nov 2024 11:59:48 +0100 Subject: [PATCH 201/347] Rust: Fix default source and sink in inline flow test --- .../dataflow/barrier/inline-flow.expected | 3 ++- rust/ql/test/utils/InlineFlowTest.qll | 13 +++++++------ 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/rust/ql/test/library-tests/dataflow/barrier/inline-flow.expected b/rust/ql/test/library-tests/dataflow/barrier/inline-flow.expected index 9680f5cf3c76..c59ea4cc6703 100644 --- a/rust/ql/test/library-tests/dataflow/barrier/inline-flow.expected +++ b/rust/ql/test/library-tests/dataflow/barrier/inline-flow.expected @@ -1,9 +1,10 @@ models edges nodes +| main.rs:17:10:17:18 | CallExpr | semmle.label | CallExpr | subpaths testFailures -| main.rs:17:22:17:40 | Comment | Missing result: hasValueFlow=1 | | main.rs:22:14:22:32 | Comment | Missing result: hasValueFlow=1 | | main.rs:33:14:33:32 | Comment | Missing result: hasValueFlow=1 | #select +| main.rs:17:10:17:18 | CallExpr | main.rs:17:10:17:18 | CallExpr | main.rs:17:10:17:18 | CallExpr | $@ | main.rs:17:10:17:18 | CallExpr | CallExpr | diff --git a/rust/ql/test/utils/InlineFlowTest.qll b/rust/ql/test/utils/InlineFlowTest.qll index 487eb6543114..7c34acfdc68b 100644 --- a/rust/ql/test/utils/InlineFlowTest.qll +++ b/rust/ql/test/utils/InlineFlowTest.qll @@ -10,15 +10,16 @@ private import codeql.rust.dataflow.internal.DataFlowImpl private import codeql.rust.dataflow.internal.TaintTrackingImpl private import internal.InlineExpectationsTestImpl as InlineExpectationsTestImpl +// Holds if the target expression of `call` is a path and the string representation of the path is `name`. +private predicate callTargetName(CallExpr call, string name) { + call.getExpr().(PathExpr).getPath().toString() = name +} + private module FlowTestImpl implements InputSig { - predicate defaultSource(DataFlow::Node source) { - source.asExpr().(CallExpr).getExpr().toString() = "source" - } + predicate defaultSource(DataFlow::Node source) { callTargetName(source.asExpr(), "source") } predicate defaultSink(DataFlow::Node sink) { - any(CallExpr call | call = sink.asExpr() and call.getExpr().toString() = "sink") - .getArgList() - .getAnArg() = sink.asExpr() + any(CallExpr call | callTargetName(call, "sink")).getArgList().getAnArg() = sink.asExpr() } private string getSourceArgString(DataFlow::Node src) { From ea90698fc1d98acfd093677d4ba522fe7407f909 Mon Sep 17 00:00:00 2001 From: Napalys Date: Fri, 15 Nov 2024 13:35:28 +0100 Subject: [PATCH 202/347] JS: Add: Test case taint step for findLast --- javascript/ql/test/library-tests/Arrays/arrays.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/javascript/ql/test/library-tests/Arrays/arrays.js b/javascript/ql/test/library-tests/Arrays/arrays.js index 579741fa3aac..7b57f810330b 100644 --- a/javascript/ql/test/library-tests/Arrays/arrays.js +++ b/javascript/ql/test/library-tests/Arrays/arrays.js @@ -107,4 +107,6 @@ var arr8_spread = []; arr8_spread = arr8_spread.toSpliced(0, 0, ...arr); sink(arr8_spread.pop()); // NOT OK + + sink(arr.findLast(someCallback)); // NOT OK -- Should be flagged by the taint tracking rule, but it is not. }); From fcb65534a85cb87b448d93a2b6457f78fe8316ff Mon Sep 17 00:00:00 2001 From: Napalys Date: Fri, 15 Nov 2024 14:09:44 +0100 Subject: [PATCH 203/347] JS: Add: Array.protype.findLast as taint step --- .../ql/lib/semmle/javascript/Arrays.qll | 9 +- .../library-tests/Arrays/DataFlow.expected | 1 + .../library-tests/Arrays/TaintFlow.expected | 1 + .../ql/test/library-tests/Arrays/arrays.js | 2 +- .../library-tests/Arrays/printAst.expected | 284 ++++++++++-------- 5 files changed, 166 insertions(+), 131 deletions(-) diff --git a/javascript/ql/lib/semmle/javascript/Arrays.qll b/javascript/ql/lib/semmle/javascript/Arrays.qll index 7ce37130996a..f36f8af4c177 100644 --- a/javascript/ql/lib/semmle/javascript/Arrays.qll +++ b/javascript/ql/lib/semmle/javascript/Arrays.qll @@ -384,13 +384,16 @@ private module ArrayLibraries { } /** - * Gets a call to `Array.prototype.find` or a polyfill implementing the same functionality. + * Gets a call to `Array.prototype.find` or `Array.prototype.findLast` or a polyfill implementing the same functionality. */ DataFlow::CallNode arrayFindCall(DataFlow::Node array) { - result.(DataFlow::MethodCallNode).getMethodName() = "find" and + result.(DataFlow::MethodCallNode).getMethodName() in ["find", "findLast"] and array = result.getReceiver() or - result = DataFlow::moduleImport(["array.prototype.find", "array-find"]).getACall() and + result = + DataFlow::moduleImport([ + "array.prototype.find", "array-find", "array.prototype.findLast", "array-find-last" + ]).getACall() and array = result.getArgument(0) } diff --git a/javascript/ql/test/library-tests/Arrays/DataFlow.expected b/javascript/ql/test/library-tests/Arrays/DataFlow.expected index 4332f14c45e2..38a9316bfaa1 100644 --- a/javascript/ql/test/library-tests/Arrays/DataFlow.expected +++ b/javascript/ql/test/library-tests/Arrays/DataFlow.expected @@ -14,6 +14,7 @@ | arrays.js:2:16:2:23 | "source" | arrays.js:90:10:90:10 | x | | arrays.js:2:16:2:23 | "source" | arrays.js:93:8:93:17 | arr.at(-1) | | arrays.js:2:16:2:23 | "source" | arrays.js:109:8:109:24 | arr8_spread.pop() | +| arrays.js:2:16:2:23 | "source" | arrays.js:111:8:111:33 | arr.fin ... llback) | | arrays.js:18:22:18:29 | "source" | arrays.js:18:50:18:50 | e | | arrays.js:22:15:22:22 | "source" | arrays.js:23:8:23:17 | arr2.pop() | | arrays.js:25:15:25:22 | "source" | arrays.js:26:8:26:17 | arr3.pop() | diff --git a/javascript/ql/test/library-tests/Arrays/TaintFlow.expected b/javascript/ql/test/library-tests/Arrays/TaintFlow.expected index a531715bfb6b..53fbe4cf0c5e 100644 --- a/javascript/ql/test/library-tests/Arrays/TaintFlow.expected +++ b/javascript/ql/test/library-tests/Arrays/TaintFlow.expected @@ -15,6 +15,7 @@ | arrays.js:2:16:2:23 | "source" | arrays.js:90:10:90:10 | x | | arrays.js:2:16:2:23 | "source" | arrays.js:93:8:93:17 | arr.at(-1) | | arrays.js:2:16:2:23 | "source" | arrays.js:109:8:109:24 | arr8_spread.pop() | +| arrays.js:2:16:2:23 | "source" | arrays.js:111:8:111:33 | arr.fin ... llback) | | arrays.js:18:22:18:29 | "source" | arrays.js:18:50:18:50 | e | | arrays.js:22:15:22:22 | "source" | arrays.js:23:8:23:17 | arr2.pop() | | arrays.js:25:15:25:22 | "source" | arrays.js:26:8:26:17 | arr3.pop() | diff --git a/javascript/ql/test/library-tests/Arrays/arrays.js b/javascript/ql/test/library-tests/Arrays/arrays.js index 7b57f810330b..3ae7c6350199 100644 --- a/javascript/ql/test/library-tests/Arrays/arrays.js +++ b/javascript/ql/test/library-tests/Arrays/arrays.js @@ -108,5 +108,5 @@ arr8_spread = arr8_spread.toSpliced(0, 0, ...arr); sink(arr8_spread.pop()); // NOT OK - sink(arr.findLast(someCallback)); // NOT OK -- Should be flagged by the taint tracking rule, but it is not. + sink(arr.findLast(someCallback)); // NOT OK }); diff --git a/javascript/ql/test/library-tests/Arrays/printAst.expected b/javascript/ql/test/library-tests/Arrays/printAst.expected index a7333b294853..c00f46d8dad1 100644 --- a/javascript/ql/test/library-tests/Arrays/printAst.expected +++ b/javascript/ql/test/library-tests/Arrays/printAst.expected @@ -1,9 +1,9 @@ nodes -| arrays.js:1:1:110:2 | [ParExpr] (functi ... T OK }) | semmle.label | [ParExpr] (functi ... T OK }) | -| arrays.js:1:1:110:3 | [ExprStmt] (functi ... OK }); | semmle.label | [ExprStmt] (functi ... OK }); | -| arrays.js:1:1:110:3 | [ExprStmt] (functi ... OK }); | semmle.order | 1 | -| arrays.js:1:2:110:1 | [FunctionExpr] functio ... OT OK } | semmle.label | [FunctionExpr] functio ... OT OK } | -| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | semmle.label | [BlockStmt] { let ... OT OK } | +| arrays.js:1:1:112:2 | [ParExpr] (functi ... T OK }) | semmle.label | [ParExpr] (functi ... T OK }) | +| arrays.js:1:1:112:3 | [ExprStmt] (functi ... OK }); | semmle.label | [ExprStmt] (functi ... OK }); | +| arrays.js:1:1:112:3 | [ExprStmt] (functi ... OK }); | semmle.order | 1 | +| arrays.js:1:2:112:1 | [FunctionExpr] functio ... OT OK } | semmle.label | [FunctionExpr] functio ... OT OK } | +| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | semmle.label | [BlockStmt] { let ... OT OK } | | arrays.js:2:3:2:24 | [DeclStmt] let source = ... | semmle.label | [DeclStmt] let source = ... | | arrays.js:2:7:2:12 | [VarDecl] source | semmle.label | [VarDecl] source | | arrays.js:2:7:2:23 | [VariableDeclarator] source = "source" | semmle.label | [VariableDeclarator] source = "source" | @@ -487,6 +487,16 @@ nodes | arrays.js:109:8:109:22 | [DotExpr] arr8_spread.pop | semmle.label | [DotExpr] arr8_spread.pop | | arrays.js:109:8:109:24 | [MethodCallExpr] arr8_spread.pop() | semmle.label | [MethodCallExpr] arr8_spread.pop() | | arrays.js:109:20:109:22 | [Label] pop | semmle.label | [Label] pop | +| arrays.js:111:3:111:6 | [VarRef] sink | semmle.label | [VarRef] sink | +| arrays.js:111:3:111:34 | [CallExpr] sink(ar ... lback)) | semmle.label | [CallExpr] sink(ar ... lback)) | +| arrays.js:111:3:111:35 | [ExprStmt] sink(ar ... back)); | semmle.label | [ExprStmt] sink(ar ... back)); | +| arrays.js:111:8:111:10 | [VarRef] arr | semmle.label | [VarRef] arr | +| arrays.js:111:8:111:19 | [DotExpr] arr.findLast | semmle.label | [DotExpr] arr.findLast | +| arrays.js:111:8:111:33 | [MethodCallExpr] arr.fin ... llback) | semmle.label | [MethodCallExpr] arr.fin ... llback) | +| arrays.js:111:12:111:19 | [Label] findLast | semmle.label | [Label] findLast | +| arrays.js:111:21:111:32 | [VarRef] someCallback | semmle.label | [VarRef] someCallback | +| file://:0:0:0:0 | (Arguments) | semmle.label | (Arguments) | +| file://:0:0:0:0 | (Arguments) | semmle.label | (Arguments) | | file://:0:0:0:0 | (Arguments) | semmle.label | (Arguments) | | file://:0:0:0:0 | (Arguments) | semmle.label | (Arguments) | | file://:0:0:0:0 | (Arguments) | semmle.label | (Arguments) | @@ -552,128 +562,130 @@ nodes | file://:0:0:0:0 | (Parameters) | semmle.label | (Parameters) | | file://:0:0:0:0 | (Parameters) | semmle.label | (Parameters) | edges -| arrays.js:1:1:110:2 | [ParExpr] (functi ... T OK }) | arrays.js:1:2:110:1 | [FunctionExpr] functio ... OT OK } | semmle.label | 1 | -| arrays.js:1:1:110:2 | [ParExpr] (functi ... T OK }) | arrays.js:1:2:110:1 | [FunctionExpr] functio ... OT OK } | semmle.order | 1 | -| arrays.js:1:1:110:3 | [ExprStmt] (functi ... OK }); | arrays.js:1:1:110:2 | [ParExpr] (functi ... T OK }) | semmle.label | 1 | -| arrays.js:1:1:110:3 | [ExprStmt] (functi ... OK }); | arrays.js:1:1:110:2 | [ParExpr] (functi ... T OK }) | semmle.order | 1 | -| arrays.js:1:2:110:1 | [FunctionExpr] functio ... OT OK } | arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | semmle.label | 5 | -| arrays.js:1:2:110:1 | [FunctionExpr] functio ... OT OK } | arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | semmle.order | 5 | -| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:2:3:2:24 | [DeclStmt] let source = ... | semmle.label | 1 | -| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:2:3:2:24 | [DeclStmt] let source = ... | semmle.order | 1 | -| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:4:3:4:28 | [DeclStmt] var obj = ... | semmle.label | 2 | -| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:4:3:4:28 | [DeclStmt] var obj = ... | semmle.order | 2 | -| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:5:3:5:16 | [ExprStmt] sink(obj.foo); | semmle.label | 3 | -| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:5:3:5:16 | [ExprStmt] sink(obj.foo); | semmle.order | 3 | -| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:7:3:7:15 | [DeclStmt] var arr = ... | semmle.label | 4 | -| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:7:3:7:15 | [DeclStmt] var arr = ... | semmle.order | 4 | -| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:8:3:8:19 | [ExprStmt] arr.push(source); | semmle.label | 5 | -| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:8:3:8:19 | [ExprStmt] arr.push(source); | semmle.order | 5 | -| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:10:3:12:3 | [ForStmt] for (va ... OK } | semmle.label | 6 | -| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:10:3:12:3 | [ForStmt] for (va ... OK } | semmle.order | 6 | -| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:15:3:15:30 | [ExprStmt] arr.for ... nk(e)); | semmle.label | 7 | -| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:15:3:15:30 | [ExprStmt] arr.for ... nk(e)); | semmle.order | 7 | -| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:16:3:16:26 | [ExprStmt] arr.map ... nk(e)); | semmle.label | 8 | -| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:16:3:16:26 | [ExprStmt] arr.map ... nk(e)); | semmle.order | 8 | -| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:18:3:18:53 | [ExprStmt] [1, 2, ... nk(e)); | semmle.label | 9 | -| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:18:3:18:53 | [ExprStmt] [1, 2, ... nk(e)); | semmle.order | 9 | -| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:20:3:20:18 | [ExprStmt] sink(arr.pop()); | semmle.label | 10 | -| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:20:3:20:18 | [ExprStmt] sink(arr.pop()); | semmle.order | 10 | -| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:22:3:22:24 | [DeclStmt] var arr2 = ... | semmle.label | 11 | -| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:22:3:22:24 | [DeclStmt] var arr2 = ... | semmle.order | 11 | -| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:23:3:23:19 | [ExprStmt] sink(arr2.pop()); | semmle.label | 12 | -| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:23:3:23:19 | [ExprStmt] sink(arr2.pop()); | semmle.order | 12 | -| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:25:3:25:24 | [DeclStmt] var arr3 = ... | semmle.label | 13 | -| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:25:3:25:24 | [DeclStmt] var arr3 = ... | semmle.order | 13 | -| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:26:3:26:19 | [ExprStmt] sink(arr3.pop()); | semmle.label | 14 | -| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:26:3:26:19 | [ExprStmt] sink(arr3.pop()); | semmle.order | 14 | -| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:28:3:28:16 | [DeclStmt] var arr4 = ... | semmle.label | 15 | -| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:28:3:28:16 | [DeclStmt] var arr4 = ... | semmle.order | 15 | -| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:29:3:29:30 | [ExprStmt] arr4.sp ... urce"); | semmle.label | 16 | -| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:29:3:29:30 | [ExprStmt] arr4.sp ... urce"); | semmle.order | 16 | -| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:30:3:30:19 | [ExprStmt] sink(arr4.pop()); | semmle.label | 17 | -| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:30:3:30:19 | [ExprStmt] sink(arr4.pop()); | semmle.order | 17 | -| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:32:3:32:24 | [DeclStmt] var arr4_variant = ... | semmle.label | 18 | -| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:32:3:32:24 | [DeclStmt] var arr4_variant = ... | semmle.order | 18 | -| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:33:3:33:46 | [ExprStmt] arr4_va ... urce"); | semmle.label | 19 | -| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:33:3:33:46 | [ExprStmt] arr4_va ... urce"); | semmle.order | 19 | -| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:34:3:34:21 | [ExprStmt] arr4_variant.pop(); | semmle.label | 20 | -| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:34:3:34:21 | [ExprStmt] arr4_variant.pop(); | semmle.order | 20 | -| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:35:3:35:27 | [ExprStmt] sink(ar ... pop()); | semmle.label | 21 | -| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:35:3:35:27 | [ExprStmt] sink(ar ... pop()); | semmle.order | 21 | -| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:37:3:37:23 | [DeclStmt] var arr4_spread = ... | semmle.label | 22 | -| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:37:3:37:23 | [DeclStmt] var arr4_spread = ... | semmle.order | 22 | -| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:38:3:38:35 | [ExprStmt] arr4_sp ... ..arr); | semmle.label | 23 | -| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:38:3:38:35 | [ExprStmt] arr4_sp ... ..arr); | semmle.order | 23 | -| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:39:3:39:26 | [ExprStmt] sink(ar ... pop()); | semmle.label | 24 | -| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:39:3:39:26 | [ExprStmt] sink(ar ... pop()); | semmle.order | 24 | -| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:41:3:41:29 | [DeclStmt] var arr5 = ... | semmle.label | 25 | -| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:41:3:41:29 | [DeclStmt] var arr5 = ... | semmle.order | 25 | -| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:42:3:42:19 | [ExprStmt] sink(arr5.pop()); | semmle.label | 26 | -| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:42:3:42:19 | [ExprStmt] sink(arr5.pop()); | semmle.order | 26 | -| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:44:3:44:28 | [ExprStmt] sink(ar ... pop()); | semmle.label | 27 | -| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:44:3:44:28 | [ExprStmt] sink(ar ... pop()); | semmle.order | 27 | -| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:46:3:46:16 | [DeclStmt] var arr6 = ... | semmle.label | 28 | -| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:46:3:46:16 | [DeclStmt] var arr6 = ... | semmle.order | 28 | -| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:47:3:49:3 | [ForStmt] for (va ... i]; } | semmle.label | 29 | -| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:47:3:49:3 | [ForStmt] for (va ... i]; } | semmle.order | 29 | -| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:50:3:50:19 | [ExprStmt] sink(arr6.pop()); | semmle.label | 30 | -| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:50:3:50:19 | [ExprStmt] sink(arr6.pop()); | semmle.order | 30 | -| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:53:3:56:5 | [ExprStmt] ["sourc ... . }); | semmle.label | 31 | -| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:53:3:56:5 | [ExprStmt] ["sourc ... . }); | semmle.order | 31 | -| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:58:3:58:15 | [ExprStmt] sink(arr[0]); | semmle.label | 32 | -| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:58:3:58:15 | [ExprStmt] sink(arr[0]); | semmle.order | 32 | -| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:60:3:62:3 | [ForOfStmt] for (co ... OK } | semmle.label | 33 | -| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:60:3:62:3 | [ForOfStmt] for (co ... OK } | semmle.order | 33 | -| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:64:3:66:3 | [ForOfStmt] for (co ... OK } | semmle.label | 34 | -| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:64:3:66:3 | [ForOfStmt] for (co ... OK } | semmle.order | 34 | -| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:68:3:70:3 | [ForOfStmt] for (co ... OK } | semmle.label | 35 | -| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:68:3:70:3 | [ForOfStmt] for (co ... OK } | semmle.order | 35 | -| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:72:3:72:16 | [DeclStmt] var arr7 = ... | semmle.label | 36 | -| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:72:3:72:16 | [DeclStmt] var arr7 = ... | semmle.order | 36 | -| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:73:3:73:20 | [ExprStmt] arr7.push(...arr); | semmle.label | 37 | -| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:73:3:73:20 | [ExprStmt] arr7.push(...arr); | semmle.order | 37 | -| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:74:3:76:3 | [ForOfStmt] for (co ... OK } | semmle.label | 38 | -| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:74:3:76:3 | [ForOfStmt] for (co ... OK } | semmle.order | 38 | -| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:78:3:78:42 | [DeclStmt] const arrayFrom = ... | semmle.label | 39 | -| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:78:3:78:42 | [DeclStmt] const arrayFrom = ... | semmle.order | 39 | -| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:79:3:81:3 | [ForOfStmt] for (co ... OK } | semmle.label | 40 | -| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:79:3:81:3 | [ForOfStmt] for (co ... OK } | semmle.order | 40 | -| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:83:3:83:31 | [ExprStmt] sink(ar ... back)); | semmle.label | 41 | -| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:83:3:83:31 | [ExprStmt] sink(ar ... back)); | semmle.order | 41 | -| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:85:3:85:42 | [DeclStmt] const arrayFind = ... | semmle.label | 42 | -| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:85:3:85:42 | [DeclStmt] const arrayFind = ... | semmle.order | 42 | -| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:86:3:86:37 | [ExprStmt] sink(ar ... back)); | semmle.label | 43 | -| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:86:3:86:37 | [ExprStmt] sink(ar ... back)); | semmle.order | 43 | -| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:88:3:88:31 | [DeclStmt] const uniq = ... | semmle.label | 44 | -| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:88:3:88:31 | [DeclStmt] const uniq = ... | semmle.order | 44 | -| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:89:3:91:3 | [ForOfStmt] for (co ... OK } | semmle.label | 45 | -| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:89:3:91:3 | [ForOfStmt] for (co ... OK } | semmle.order | 45 | -| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:93:3:93:19 | [ExprStmt] sink(arr.at(-1)); | semmle.label | 46 | -| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:93:3:93:19 | [ExprStmt] sink(arr.at(-1)); | semmle.order | 46 | -| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:95:3:95:36 | [ExprStmt] sink([" ... => x)); | semmle.label | 47 | -| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:95:3:95:36 | [ExprStmt] sink([" ... => x)); | semmle.order | 47 | -| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:96:3:96:38 | [ExprStmt] sink([" ... !!x)); | semmle.label | 48 | -| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:96:3:96:38 | [ExprStmt] sink([" ... !!x)); | semmle.order | 48 | -| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:98:3:98:16 | [DeclStmt] var arr8 = ... | semmle.label | 49 | -| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:98:3:98:16 | [DeclStmt] var arr8 = ... | semmle.order | 49 | -| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:99:3:99:40 | [ExprStmt] arr8 = ... urce"); | semmle.label | 50 | -| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:99:3:99:40 | [ExprStmt] arr8 = ... urce"); | semmle.order | 50 | -| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:100:3:100:19 | [ExprStmt] sink(arr8.pop()); | semmle.label | 51 | -| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:100:3:100:19 | [ExprStmt] sink(arr8.pop()); | semmle.order | 51 | -| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:102:3:102:24 | [DeclStmt] var arr8_variant = ... | semmle.label | 52 | -| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:102:3:102:24 | [DeclStmt] var arr8_variant = ... | semmle.order | 52 | -| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:103:3:103:64 | [ExprStmt] arr8_va ... urce"); | semmle.label | 53 | -| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:103:3:103:64 | [ExprStmt] arr8_va ... urce"); | semmle.order | 53 | -| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:104:3:104:21 | [ExprStmt] arr8_variant.pop(); | semmle.label | 54 | -| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:104:3:104:21 | [ExprStmt] arr8_variant.pop(); | semmle.order | 54 | -| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:105:3:105:27 | [ExprStmt] sink(ar ... pop()); | semmle.label | 55 | -| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:105:3:105:27 | [ExprStmt] sink(ar ... pop()); | semmle.order | 55 | -| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:107:3:107:23 | [DeclStmt] var arr8_spread = ... | semmle.label | 56 | -| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:107:3:107:23 | [DeclStmt] var arr8_spread = ... | semmle.order | 56 | -| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:108:3:108:52 | [ExprStmt] arr8_sp ... ..arr); | semmle.label | 57 | -| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:108:3:108:52 | [ExprStmt] arr8_sp ... ..arr); | semmle.order | 57 | -| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:109:3:109:26 | [ExprStmt] sink(ar ... pop()); | semmle.label | 58 | -| arrays.js:1:14:110:1 | [BlockStmt] { let ... OT OK } | arrays.js:109:3:109:26 | [ExprStmt] sink(ar ... pop()); | semmle.order | 58 | +| arrays.js:1:1:112:2 | [ParExpr] (functi ... T OK }) | arrays.js:1:2:112:1 | [FunctionExpr] functio ... OT OK } | semmle.label | 1 | +| arrays.js:1:1:112:2 | [ParExpr] (functi ... T OK }) | arrays.js:1:2:112:1 | [FunctionExpr] functio ... OT OK } | semmle.order | 1 | +| arrays.js:1:1:112:3 | [ExprStmt] (functi ... OK }); | arrays.js:1:1:112:2 | [ParExpr] (functi ... T OK }) | semmle.label | 1 | +| arrays.js:1:1:112:3 | [ExprStmt] (functi ... OK }); | arrays.js:1:1:112:2 | [ParExpr] (functi ... T OK }) | semmle.order | 1 | +| arrays.js:1:2:112:1 | [FunctionExpr] functio ... OT OK } | arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | semmle.label | 5 | +| arrays.js:1:2:112:1 | [FunctionExpr] functio ... OT OK } | arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | semmle.order | 5 | +| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:2:3:2:24 | [DeclStmt] let source = ... | semmle.label | 1 | +| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:2:3:2:24 | [DeclStmt] let source = ... | semmle.order | 1 | +| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:4:3:4:28 | [DeclStmt] var obj = ... | semmle.label | 2 | +| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:4:3:4:28 | [DeclStmt] var obj = ... | semmle.order | 2 | +| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:5:3:5:16 | [ExprStmt] sink(obj.foo); | semmle.label | 3 | +| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:5:3:5:16 | [ExprStmt] sink(obj.foo); | semmle.order | 3 | +| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:7:3:7:15 | [DeclStmt] var arr = ... | semmle.label | 4 | +| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:7:3:7:15 | [DeclStmt] var arr = ... | semmle.order | 4 | +| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:8:3:8:19 | [ExprStmt] arr.push(source); | semmle.label | 5 | +| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:8:3:8:19 | [ExprStmt] arr.push(source); | semmle.order | 5 | +| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:10:3:12:3 | [ForStmt] for (va ... OK } | semmle.label | 6 | +| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:10:3:12:3 | [ForStmt] for (va ... OK } | semmle.order | 6 | +| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:15:3:15:30 | [ExprStmt] arr.for ... nk(e)); | semmle.label | 7 | +| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:15:3:15:30 | [ExprStmt] arr.for ... nk(e)); | semmle.order | 7 | +| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:16:3:16:26 | [ExprStmt] arr.map ... nk(e)); | semmle.label | 8 | +| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:16:3:16:26 | [ExprStmt] arr.map ... nk(e)); | semmle.order | 8 | +| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:18:3:18:53 | [ExprStmt] [1, 2, ... nk(e)); | semmle.label | 9 | +| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:18:3:18:53 | [ExprStmt] [1, 2, ... nk(e)); | semmle.order | 9 | +| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:20:3:20:18 | [ExprStmt] sink(arr.pop()); | semmle.label | 10 | +| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:20:3:20:18 | [ExprStmt] sink(arr.pop()); | semmle.order | 10 | +| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:22:3:22:24 | [DeclStmt] var arr2 = ... | semmle.label | 11 | +| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:22:3:22:24 | [DeclStmt] var arr2 = ... | semmle.order | 11 | +| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:23:3:23:19 | [ExprStmt] sink(arr2.pop()); | semmle.label | 12 | +| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:23:3:23:19 | [ExprStmt] sink(arr2.pop()); | semmle.order | 12 | +| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:25:3:25:24 | [DeclStmt] var arr3 = ... | semmle.label | 13 | +| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:25:3:25:24 | [DeclStmt] var arr3 = ... | semmle.order | 13 | +| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:26:3:26:19 | [ExprStmt] sink(arr3.pop()); | semmle.label | 14 | +| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:26:3:26:19 | [ExprStmt] sink(arr3.pop()); | semmle.order | 14 | +| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:28:3:28:16 | [DeclStmt] var arr4 = ... | semmle.label | 15 | +| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:28:3:28:16 | [DeclStmt] var arr4 = ... | semmle.order | 15 | +| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:29:3:29:30 | [ExprStmt] arr4.sp ... urce"); | semmle.label | 16 | +| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:29:3:29:30 | [ExprStmt] arr4.sp ... urce"); | semmle.order | 16 | +| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:30:3:30:19 | [ExprStmt] sink(arr4.pop()); | semmle.label | 17 | +| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:30:3:30:19 | [ExprStmt] sink(arr4.pop()); | semmle.order | 17 | +| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:32:3:32:24 | [DeclStmt] var arr4_variant = ... | semmle.label | 18 | +| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:32:3:32:24 | [DeclStmt] var arr4_variant = ... | semmle.order | 18 | +| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:33:3:33:46 | [ExprStmt] arr4_va ... urce"); | semmle.label | 19 | +| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:33:3:33:46 | [ExprStmt] arr4_va ... urce"); | semmle.order | 19 | +| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:34:3:34:21 | [ExprStmt] arr4_variant.pop(); | semmle.label | 20 | +| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:34:3:34:21 | [ExprStmt] arr4_variant.pop(); | semmle.order | 20 | +| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:35:3:35:27 | [ExprStmt] sink(ar ... pop()); | semmle.label | 21 | +| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:35:3:35:27 | [ExprStmt] sink(ar ... pop()); | semmle.order | 21 | +| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:37:3:37:23 | [DeclStmt] var arr4_spread = ... | semmle.label | 22 | +| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:37:3:37:23 | [DeclStmt] var arr4_spread = ... | semmle.order | 22 | +| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:38:3:38:35 | [ExprStmt] arr4_sp ... ..arr); | semmle.label | 23 | +| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:38:3:38:35 | [ExprStmt] arr4_sp ... ..arr); | semmle.order | 23 | +| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:39:3:39:26 | [ExprStmt] sink(ar ... pop()); | semmle.label | 24 | +| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:39:3:39:26 | [ExprStmt] sink(ar ... pop()); | semmle.order | 24 | +| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:41:3:41:29 | [DeclStmt] var arr5 = ... | semmle.label | 25 | +| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:41:3:41:29 | [DeclStmt] var arr5 = ... | semmle.order | 25 | +| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:42:3:42:19 | [ExprStmt] sink(arr5.pop()); | semmle.label | 26 | +| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:42:3:42:19 | [ExprStmt] sink(arr5.pop()); | semmle.order | 26 | +| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:44:3:44:28 | [ExprStmt] sink(ar ... pop()); | semmle.label | 27 | +| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:44:3:44:28 | [ExprStmt] sink(ar ... pop()); | semmle.order | 27 | +| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:46:3:46:16 | [DeclStmt] var arr6 = ... | semmle.label | 28 | +| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:46:3:46:16 | [DeclStmt] var arr6 = ... | semmle.order | 28 | +| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:47:3:49:3 | [ForStmt] for (va ... i]; } | semmle.label | 29 | +| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:47:3:49:3 | [ForStmt] for (va ... i]; } | semmle.order | 29 | +| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:50:3:50:19 | [ExprStmt] sink(arr6.pop()); | semmle.label | 30 | +| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:50:3:50:19 | [ExprStmt] sink(arr6.pop()); | semmle.order | 30 | +| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:53:3:56:5 | [ExprStmt] ["sourc ... . }); | semmle.label | 31 | +| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:53:3:56:5 | [ExprStmt] ["sourc ... . }); | semmle.order | 31 | +| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:58:3:58:15 | [ExprStmt] sink(arr[0]); | semmle.label | 32 | +| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:58:3:58:15 | [ExprStmt] sink(arr[0]); | semmle.order | 32 | +| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:60:3:62:3 | [ForOfStmt] for (co ... OK } | semmle.label | 33 | +| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:60:3:62:3 | [ForOfStmt] for (co ... OK } | semmle.order | 33 | +| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:64:3:66:3 | [ForOfStmt] for (co ... OK } | semmle.label | 34 | +| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:64:3:66:3 | [ForOfStmt] for (co ... OK } | semmle.order | 34 | +| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:68:3:70:3 | [ForOfStmt] for (co ... OK } | semmle.label | 35 | +| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:68:3:70:3 | [ForOfStmt] for (co ... OK } | semmle.order | 35 | +| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:72:3:72:16 | [DeclStmt] var arr7 = ... | semmle.label | 36 | +| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:72:3:72:16 | [DeclStmt] var arr7 = ... | semmle.order | 36 | +| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:73:3:73:20 | [ExprStmt] arr7.push(...arr); | semmle.label | 37 | +| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:73:3:73:20 | [ExprStmt] arr7.push(...arr); | semmle.order | 37 | +| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:74:3:76:3 | [ForOfStmt] for (co ... OK } | semmle.label | 38 | +| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:74:3:76:3 | [ForOfStmt] for (co ... OK } | semmle.order | 38 | +| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:78:3:78:42 | [DeclStmt] const arrayFrom = ... | semmle.label | 39 | +| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:78:3:78:42 | [DeclStmt] const arrayFrom = ... | semmle.order | 39 | +| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:79:3:81:3 | [ForOfStmt] for (co ... OK } | semmle.label | 40 | +| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:79:3:81:3 | [ForOfStmt] for (co ... OK } | semmle.order | 40 | +| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:83:3:83:31 | [ExprStmt] sink(ar ... back)); | semmle.label | 41 | +| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:83:3:83:31 | [ExprStmt] sink(ar ... back)); | semmle.order | 41 | +| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:85:3:85:42 | [DeclStmt] const arrayFind = ... | semmle.label | 42 | +| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:85:3:85:42 | [DeclStmt] const arrayFind = ... | semmle.order | 42 | +| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:86:3:86:37 | [ExprStmt] sink(ar ... back)); | semmle.label | 43 | +| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:86:3:86:37 | [ExprStmt] sink(ar ... back)); | semmle.order | 43 | +| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:88:3:88:31 | [DeclStmt] const uniq = ... | semmle.label | 44 | +| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:88:3:88:31 | [DeclStmt] const uniq = ... | semmle.order | 44 | +| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:89:3:91:3 | [ForOfStmt] for (co ... OK } | semmle.label | 45 | +| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:89:3:91:3 | [ForOfStmt] for (co ... OK } | semmle.order | 45 | +| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:93:3:93:19 | [ExprStmt] sink(arr.at(-1)); | semmle.label | 46 | +| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:93:3:93:19 | [ExprStmt] sink(arr.at(-1)); | semmle.order | 46 | +| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:95:3:95:36 | [ExprStmt] sink([" ... => x)); | semmle.label | 47 | +| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:95:3:95:36 | [ExprStmt] sink([" ... => x)); | semmle.order | 47 | +| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:96:3:96:38 | [ExprStmt] sink([" ... !!x)); | semmle.label | 48 | +| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:96:3:96:38 | [ExprStmt] sink([" ... !!x)); | semmle.order | 48 | +| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:98:3:98:16 | [DeclStmt] var arr8 = ... | semmle.label | 49 | +| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:98:3:98:16 | [DeclStmt] var arr8 = ... | semmle.order | 49 | +| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:99:3:99:40 | [ExprStmt] arr8 = ... urce"); | semmle.label | 50 | +| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:99:3:99:40 | [ExprStmt] arr8 = ... urce"); | semmle.order | 50 | +| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:100:3:100:19 | [ExprStmt] sink(arr8.pop()); | semmle.label | 51 | +| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:100:3:100:19 | [ExprStmt] sink(arr8.pop()); | semmle.order | 51 | +| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:102:3:102:24 | [DeclStmt] var arr8_variant = ... | semmle.label | 52 | +| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:102:3:102:24 | [DeclStmt] var arr8_variant = ... | semmle.order | 52 | +| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:103:3:103:64 | [ExprStmt] arr8_va ... urce"); | semmle.label | 53 | +| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:103:3:103:64 | [ExprStmt] arr8_va ... urce"); | semmle.order | 53 | +| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:104:3:104:21 | [ExprStmt] arr8_variant.pop(); | semmle.label | 54 | +| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:104:3:104:21 | [ExprStmt] arr8_variant.pop(); | semmle.order | 54 | +| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:105:3:105:27 | [ExprStmt] sink(ar ... pop()); | semmle.label | 55 | +| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:105:3:105:27 | [ExprStmt] sink(ar ... pop()); | semmle.order | 55 | +| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:107:3:107:23 | [DeclStmt] var arr8_spread = ... | semmle.label | 56 | +| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:107:3:107:23 | [DeclStmt] var arr8_spread = ... | semmle.order | 56 | +| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:108:3:108:52 | [ExprStmt] arr8_sp ... ..arr); | semmle.label | 57 | +| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:108:3:108:52 | [ExprStmt] arr8_sp ... ..arr); | semmle.order | 57 | +| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:109:3:109:26 | [ExprStmt] sink(ar ... pop()); | semmle.label | 58 | +| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:109:3:109:26 | [ExprStmt] sink(ar ... pop()); | semmle.order | 58 | +| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:111:3:111:35 | [ExprStmt] sink(ar ... back)); | semmle.label | 59 | +| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:111:3:111:35 | [ExprStmt] sink(ar ... back)); | semmle.order | 59 | | arrays.js:2:3:2:24 | [DeclStmt] let source = ... | arrays.js:2:7:2:23 | [VariableDeclarator] source = "source" | semmle.label | 1 | | arrays.js:2:3:2:24 | [DeclStmt] let source = ... | arrays.js:2:7:2:23 | [VariableDeclarator] source = "source" | semmle.order | 1 | | arrays.js:2:7:2:23 | [VariableDeclarator] source = "source" | arrays.js:2:7:2:12 | [VarDecl] source | semmle.label | 1 | @@ -1490,6 +1502,20 @@ edges | arrays.js:109:8:109:22 | [DotExpr] arr8_spread.pop | arrays.js:109:20:109:22 | [Label] pop | semmle.order | 2 | | arrays.js:109:8:109:24 | [MethodCallExpr] arr8_spread.pop() | arrays.js:109:8:109:22 | [DotExpr] arr8_spread.pop | semmle.label | 0 | | arrays.js:109:8:109:24 | [MethodCallExpr] arr8_spread.pop() | arrays.js:109:8:109:22 | [DotExpr] arr8_spread.pop | semmle.order | 0 | +| arrays.js:111:3:111:34 | [CallExpr] sink(ar ... lback)) | arrays.js:111:3:111:6 | [VarRef] sink | semmle.label | 0 | +| arrays.js:111:3:111:34 | [CallExpr] sink(ar ... lback)) | arrays.js:111:3:111:6 | [VarRef] sink | semmle.order | 0 | +| arrays.js:111:3:111:34 | [CallExpr] sink(ar ... lback)) | file://:0:0:0:0 | (Arguments) | semmle.label | 1 | +| arrays.js:111:3:111:34 | [CallExpr] sink(ar ... lback)) | file://:0:0:0:0 | (Arguments) | semmle.order | 1 | +| arrays.js:111:3:111:35 | [ExprStmt] sink(ar ... back)); | arrays.js:111:3:111:34 | [CallExpr] sink(ar ... lback)) | semmle.label | 1 | +| arrays.js:111:3:111:35 | [ExprStmt] sink(ar ... back)); | arrays.js:111:3:111:34 | [CallExpr] sink(ar ... lback)) | semmle.order | 1 | +| arrays.js:111:8:111:19 | [DotExpr] arr.findLast | arrays.js:111:8:111:10 | [VarRef] arr | semmle.label | 1 | +| arrays.js:111:8:111:19 | [DotExpr] arr.findLast | arrays.js:111:8:111:10 | [VarRef] arr | semmle.order | 1 | +| arrays.js:111:8:111:19 | [DotExpr] arr.findLast | arrays.js:111:12:111:19 | [Label] findLast | semmle.label | 2 | +| arrays.js:111:8:111:19 | [DotExpr] arr.findLast | arrays.js:111:12:111:19 | [Label] findLast | semmle.order | 2 | +| arrays.js:111:8:111:33 | [MethodCallExpr] arr.fin ... llback) | arrays.js:111:8:111:19 | [DotExpr] arr.findLast | semmle.label | 0 | +| arrays.js:111:8:111:33 | [MethodCallExpr] arr.fin ... llback) | arrays.js:111:8:111:19 | [DotExpr] arr.findLast | semmle.order | 0 | +| arrays.js:111:8:111:33 | [MethodCallExpr] arr.fin ... llback) | file://:0:0:0:0 | (Arguments) | semmle.label | 1 | +| arrays.js:111:8:111:33 | [MethodCallExpr] arr.fin ... llback) | file://:0:0:0:0 | (Arguments) | semmle.order | 1 | | file://:0:0:0:0 | (Arguments) | arrays.js:5:8:5:14 | [DotExpr] obj.foo | semmle.label | 0 | | file://:0:0:0:0 | (Arguments) | arrays.js:5:8:5:14 | [DotExpr] obj.foo | semmle.order | 0 | | file://:0:0:0:0 | (Arguments) | arrays.js:8:12:8:17 | [VarRef] source | semmle.label | 0 | @@ -1634,6 +1660,10 @@ edges | file://:0:0:0:0 | (Arguments) | arrays.js:108:45:108:50 | [SpreadElement] ...arr | semmle.order | 2 | | file://:0:0:0:0 | (Arguments) | arrays.js:109:8:109:24 | [MethodCallExpr] arr8_spread.pop() | semmle.label | 0 | | file://:0:0:0:0 | (Arguments) | arrays.js:109:8:109:24 | [MethodCallExpr] arr8_spread.pop() | semmle.order | 0 | +| file://:0:0:0:0 | (Arguments) | arrays.js:111:8:111:33 | [MethodCallExpr] arr.fin ... llback) | semmle.label | 0 | +| file://:0:0:0:0 | (Arguments) | arrays.js:111:8:111:33 | [MethodCallExpr] arr.fin ... llback) | semmle.order | 0 | +| file://:0:0:0:0 | (Arguments) | arrays.js:111:21:111:32 | [VarRef] someCallback | semmle.label | 0 | +| file://:0:0:0:0 | (Arguments) | arrays.js:111:21:111:32 | [VarRef] someCallback | semmle.order | 0 | | file://:0:0:0:0 | (Parameters) | arrays.js:15:16:15:16 | [SimpleParameter] e | semmle.label | 0 | | file://:0:0:0:0 | (Parameters) | arrays.js:15:16:15:16 | [SimpleParameter] e | semmle.order | 0 | | file://:0:0:0:0 | (Parameters) | arrays.js:16:12:16:12 | [SimpleParameter] e | semmle.label | 0 | From 7250099f6c20090acef04232277b095967f9e14f Mon Sep 17 00:00:00 2001 From: Napalys Date: Fri, 15 Nov 2024 14:42:11 +0100 Subject: [PATCH 204/347] JS: Add: Test cases use of returnless function in findLast and findLastIndex --- .../Statements/UseOfReturnlessFunction/tst.js | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/javascript/ql/test/query-tests/Statements/UseOfReturnlessFunction/tst.js b/javascript/ql/test/query-tests/Statements/UseOfReturnlessFunction/tst.js index dbedb3dee3cc..2b2b28d4b058 100644 --- a/javascript/ql/test/query-tests/Statements/UseOfReturnlessFunction/tst.js +++ b/javascript/ql/test/query-tests/Statements/UseOfReturnlessFunction/tst.js @@ -107,3 +107,13 @@ class Bar extends Foo { console.log(super()); // OK. } } + +() => { + let equals = (x, y) => { return x === y; }; + + var foo = [1,2,3].findLastIndex(n => { equals(n, 3); }) // NOT OK -- Currently not flagged, but should be. + console.log(foo); + + var foo = [1,2,3].findLast(n => { equals(n, 3); }) // NOT OK -- Currently not flagged, but should be. + console.log(foo); +} From a28fc8e77270614140fc2a0086d52f9f168832f5 Mon Sep 17 00:00:00 2001 From: Napalys Date: Fri, 15 Nov 2024 14:44:25 +0100 Subject: [PATCH 205/347] JS: Add: Use of returnless function support for findLast and findLastIndex --- javascript/ql/src/Statements/UseOfReturnlessFunction.ql | 2 +- .../UseOfReturnlessFunction/UseOfReturnlessFunction.expected | 2 ++ .../query-tests/Statements/UseOfReturnlessFunction/tst.js | 4 ++-- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/javascript/ql/src/Statements/UseOfReturnlessFunction.ql b/javascript/ql/src/Statements/UseOfReturnlessFunction.ql index ea5f2fb97558..818f0d922d48 100644 --- a/javascript/ql/src/Statements/UseOfReturnlessFunction.ql +++ b/javascript/ql/src/Statements/UseOfReturnlessFunction.ql @@ -114,7 +114,7 @@ predicate hasNonVoidCallbackMethod(string name) { name = [ "every", "filter", "find", "findIndex", "flatMap", "map", "reduce", "reduceRight", "some", - "sort" + "sort", "findLastIndex", "findLast" ] } diff --git a/javascript/ql/test/query-tests/Statements/UseOfReturnlessFunction/UseOfReturnlessFunction.expected b/javascript/ql/test/query-tests/Statements/UseOfReturnlessFunction/UseOfReturnlessFunction.expected index 1cbbd9faa5a3..dec3eea044d1 100644 --- a/javascript/ql/test/query-tests/Statements/UseOfReturnlessFunction/UseOfReturnlessFunction.expected +++ b/javascript/ql/test/query-tests/Statements/UseOfReturnlessFunction/UseOfReturnlessFunction.expected @@ -7,3 +7,5 @@ | tst.js:53:10:53:34 | bothOnl ... fects() | the $@ does not return anything, yet the return value is used. | tst.js:48:2:50:5 | functio ... )\\n } | function onlySideEffects2 | | tst.js:76:12:76:46 | [1,2,3] ... n, 3)}) | the $@ does not return anything, yet the return value from the call to filter is used. | tst.js:76:27:76:45 | n => {equals(n, 3)} | callback function | | tst.js:80:12:80:50 | filter( ... 3) } ) | the $@ does not return anything, yet the return value from the call to filter is used. | tst.js:80:28:80:48 | x => { ... x, 3) } | callback function | +| tst.js:114:12:114:56 | [1,2,3] ... 3); }) | the $@ does not return anything, yet the return value from the call to findLastIndex is used. | tst.js:114:34:114:55 | n => { ... , 3); } | callback function | +| tst.js:117:12:117:51 | [1,2,3] ... 3); }) | the $@ does not return anything, yet the return value from the call to findLast is used. | tst.js:117:29:117:50 | n => { ... , 3); } | callback function | diff --git a/javascript/ql/test/query-tests/Statements/UseOfReturnlessFunction/tst.js b/javascript/ql/test/query-tests/Statements/UseOfReturnlessFunction/tst.js index 2b2b28d4b058..7b9968115f5e 100644 --- a/javascript/ql/test/query-tests/Statements/UseOfReturnlessFunction/tst.js +++ b/javascript/ql/test/query-tests/Statements/UseOfReturnlessFunction/tst.js @@ -111,9 +111,9 @@ class Bar extends Foo { () => { let equals = (x, y) => { return x === y; }; - var foo = [1,2,3].findLastIndex(n => { equals(n, 3); }) // NOT OK -- Currently not flagged, but should be. + var foo = [1,2,3].findLastIndex(n => { equals(n, 3); }) // NOT OK console.log(foo); - var foo = [1,2,3].findLast(n => { equals(n, 3); }) // NOT OK -- Currently not flagged, but should be. + var foo = [1,2,3].findLast(n => { equals(n, 3); }) // NOT OK console.log(foo); } From c80bea33e527fe2a149c2cf54f2a23138eef370c Mon Sep 17 00:00:00 2001 From: Mathias Vorreiter Pedersen Date: Fri, 15 Nov 2024 14:20:12 +0000 Subject: [PATCH 206/347] C++: Stylistic fixes. --- cpp/ql/lib/semmle/code/cpp/controlflow/IRGuards.qll | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/cpp/ql/lib/semmle/code/cpp/controlflow/IRGuards.qll b/cpp/ql/lib/semmle/code/cpp/controlflow/IRGuards.qll index 84ff518977d7..522410977712 100644 --- a/cpp/ql/lib/semmle/code/cpp/controlflow/IRGuards.qll +++ b/cpp/ql/lib/semmle/code/cpp/controlflow/IRGuards.qll @@ -1107,8 +1107,7 @@ private predicate compares_lt( exists(boolean isGe | isLt = isGe.booleanNot() | compares_ge(test, left, right, k, isGe, value)) or /* (x is true => (left < right + k)) => (!x is false => (left < right + k)) */ - exists(AbstractValue dual | - value = dual.getDualValue() and + exists(AbstractValue dual | value = dual.getDualValue() | compares_lt(test.(LogicalNotValueNumber).getUnary(), left, right, k, isLt, dual) ) } @@ -1120,8 +1119,7 @@ private predicate compares_lt(ValueNumber test, Operand op, int k, boolean isLt, complex_lt(test, op, k, isLt, value) or /* (x is true => (op < k)) => (!x is false => (op < k)) */ - exists(AbstractValue dual | - value = dual.getDualValue() and + exists(AbstractValue dual | value = dual.getDualValue() | compares_lt(test.(LogicalNotValueNumber).getUnary(), op, k, isLt, dual) ) or From feea29b8fe267babb32a2ac834b659f38d01023f Mon Sep 17 00:00:00 2001 From: Mathias Vorreiter Pedersen Date: Fri, 15 Nov 2024 14:21:18 +0000 Subject: [PATCH 207/347] C++: Move classes. --- .../semmle/code/cpp/controlflow/IRGuards.qll | 36 +++++++++---------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/cpp/ql/lib/semmle/code/cpp/controlflow/IRGuards.qll b/cpp/ql/lib/semmle/code/cpp/controlflow/IRGuards.qll index 522410977712..8ea74686f050 100644 --- a/cpp/ql/lib/semmle/code/cpp/controlflow/IRGuards.qll +++ b/cpp/ql/lib/semmle/code/cpp/controlflow/IRGuards.qll @@ -121,6 +121,24 @@ private class ScrutineeValueNumber extends ValueNumber { Instruction getSuccessor(CaseEdge kind) { result = switch.getSuccessor(kind) } } +private class BuiltinExpectCallValueNumber extends ValueNumber { + BuiltinExpectCallInstruction instr; + + BuiltinExpectCallValueNumber() { this.getAnInstruction() = instr } + + ValueNumber getCondition() { result.getAnInstruction() = instr.getCondition() } + + Operand getAUse() { result = instr.getAUse() } +} + +private class LogicalNotValueNumber extends ValueNumber { + LogicalNotInstruction instr; + + LogicalNotValueNumber() { this.getAnInstruction() = instr } + + ValueNumber getUnary() { result.getAnInstruction() = instr.getUnary() } +} + /** * A Boolean condition in the AST that guards one or more basic blocks. This includes * operands of logical operators but not switch statements. @@ -1008,24 +1026,6 @@ private class BuiltinExpectCallInstruction extends CallInstruction { } } -private class BuiltinExpectCallValueNumber extends ValueNumber { - BuiltinExpectCallInstruction instr; - - BuiltinExpectCallValueNumber() { this.getAnInstruction() = instr } - - ValueNumber getCondition() { result.getAnInstruction() = instr.getCondition() } - - Operand getAUse() { result = instr.getAUse() } -} - -private class LogicalNotValueNumber extends ValueNumber { - LogicalNotInstruction instr; - - LogicalNotValueNumber() { this.getAnInstruction() = instr } - - ValueNumber getUnary() { result.getAnInstruction() = instr.getUnary() } -} - /** * Holds if `left == right + k` is `areEqual` if `cmp` evaluates to `value`, * and `cmp` is an instruction that compares the value of From 5f9d3d7b09270c33eed40a0994344696d8c92ad2 Mon Sep 17 00:00:00 2001 From: Mathias Vorreiter Pedersen Date: Fri, 15 Nov 2024 14:28:56 +0000 Subject: [PATCH 208/347] C++: Rename 'ScrutineeValueNumber' to 'SwitchConditionValueNumber'. --- .../lib/semmle/code/cpp/controlflow/IRGuards.qll | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/cpp/ql/lib/semmle/code/cpp/controlflow/IRGuards.qll b/cpp/ql/lib/semmle/code/cpp/controlflow/IRGuards.qll index 8ea74686f050..293a88348e49 100644 --- a/cpp/ql/lib/semmle/code/cpp/controlflow/IRGuards.qll +++ b/cpp/ql/lib/semmle/code/cpp/controlflow/IRGuards.qll @@ -109,11 +109,11 @@ private class CompareGEValueNumber extends CompareValueNumber { * A value number such that at least one of the instructions provides * the integer value controlling a `SwitchInstruction`. */ -private class ScrutineeValueNumber extends ValueNumber { +private class SwitchConditionValueNumber extends ValueNumber { SwitchInstruction switch; pragma[nomagic] - ScrutineeValueNumber() { this.getAnInstruction() = switch.getExpression() } + SwitchConditionValueNumber() { this.getAnInstruction() = switch.getExpression() } /** Gets an expression that belongs to this value number. */ Operand getExpressionOperand() { result = switch.getExpressionOperand() } @@ -990,11 +990,11 @@ private predicate isRelevantUnaryComparisonOperand(Operand op) { private predicate unary_simple_comparison_eq( ValueNumber test, Operand op, int k, boolean inNonZeroCase, AbstractValue value ) { - exists(CaseEdge case, ScrutineeValueNumber scrutinee | - scrutinee = test and - op = scrutinee.getExpressionOperand() and + exists(CaseEdge case, SwitchConditionValueNumber condition | + condition = test and + op = condition.getExpressionOperand() and case = value.(MatchValue).getCase() and - exists(scrutinee.getSuccessor(case)) and + exists(condition.getSuccessor(case)) and case.getValue().toInt() = k and inNonZeroCase = false ) @@ -1158,7 +1158,7 @@ private predicate simple_comparison_lt(CompareValueNumber cmp, Operand left, Ope /** Rearrange various simple comparisons into `op < k` form. */ private predicate unary_simple_comparison_lt( - ScrutineeValueNumber test, Operand op, int k, boolean isLt, AbstractValue value + SwitchConditionValueNumber test, Operand op, int k, boolean isLt, AbstractValue value ) { exists(CaseEdge case | test.getExpressionOperand() = op and From 459bb6ed04b6a59ab0b33519981095fc8c2a1aea Mon Sep 17 00:00:00 2001 From: Mathias Vorreiter Pedersen Date: Fri, 15 Nov 2024 14:43:04 +0000 Subject: [PATCH 209/347] Update cpp/ql/lib/semmle/code/cpp/controlflow/IRGuards.qll Co-authored-by: Jeroen Ketema <93738568+jketema@users.noreply.github.com> --- cpp/ql/lib/semmle/code/cpp/controlflow/IRGuards.qll | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cpp/ql/lib/semmle/code/cpp/controlflow/IRGuards.qll b/cpp/ql/lib/semmle/code/cpp/controlflow/IRGuards.qll index 293a88348e49..bf54dd98656c 100644 --- a/cpp/ql/lib/semmle/code/cpp/controlflow/IRGuards.qll +++ b/cpp/ql/lib/semmle/code/cpp/controlflow/IRGuards.qll @@ -972,7 +972,7 @@ private predicate isRelevantUnaryComparisonOperand(Operand op) { op = copy.getSourceValueOperand() ) or - // If phi(x1, x2) is a relevant unary comparison then so is `x1` and `x2`. + // If phi(x1, x2) is a relevant unary comparison then so are `x1` and `x2`. not op.isDefinitionInexact() and exists(PhiInstruction phi | isRelevantUnaryComparisonOperand(unique( | | phi.getAUse())) and From 409f2c1251c9a38d7d556435f244774fb857d753 Mon Sep 17 00:00:00 2001 From: Mathias Vorreiter Pedersen Date: Fri, 15 Nov 2024 15:20:04 +0000 Subject: [PATCH 210/347] C++: Make the formatting of conjunct when using 'getDualValue' consistent. --- cpp/ql/lib/semmle/code/cpp/controlflow/IRGuards.qll | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/cpp/ql/lib/semmle/code/cpp/controlflow/IRGuards.qll b/cpp/ql/lib/semmle/code/cpp/controlflow/IRGuards.qll index bf54dd98656c..63a660e462ee 100644 --- a/cpp/ql/lib/semmle/code/cpp/controlflow/IRGuards.qll +++ b/cpp/ql/lib/semmle/code/cpp/controlflow/IRGuards.qll @@ -844,8 +844,7 @@ private predicate compares_eq( complex_eq(test, left, right, k, areEqual, value) or /* (x is true => (left == right + k)) => (!x is false => (left == right + k)) */ - exists(AbstractValue dual | - value = dual.getDualValue() and + exists(AbstractValue dual | value = dual.getDualValue() | compares_eq(test.(LogicalNotValueNumber).getUnary(), left, right, k, areEqual, dual) ) or From 574596946200e59d755d88c769c4a1a7c9003ae8 Mon Sep 17 00:00:00 2001 From: Owen Mansel-Chan Date: Sat, 16 Nov 2024 19:34:23 +0000 Subject: [PATCH 211/347] Set subtypes=false when it has no meaning --- go/ql/lib/ext/archive.tar.model.yml | 4 +- go/ql/lib/ext/archive.zip.model.yml | 6 +- go/ql/lib/ext/bufio.model.yml | 16 ++-- go/ql/lib/ext/builtin.model.yml | 16 ++-- go/ql/lib/ext/bytes.model.yml | 76 +++++++++--------- go/ql/lib/ext/compress.bzip2.model.yml | 2 +- go/ql/lib/ext/compress.flate.model.yml | 4 +- go/ql/lib/ext/compress.gzip.model.yml | 2 +- go/ql/lib/ext/compress.lzw.model.yml | 2 +- go/ql/lib/ext/compress.zlib.model.yml | 4 +- go/ql/lib/ext/container.heap.model.yml | 6 +- go/ql/lib/ext/context.model.yml | 8 +- go/ql/lib/ext/crypto.rsa.model.yml | 4 +- go/ql/lib/ext/crypto.tls.model.yml | 6 +- go/ql/lib/ext/crypto.x509.model.yml | 2 +- go/ql/lib/ext/database.sql.model.yml | 2 +- go/ql/lib/ext/encoding.ascii85.model.yml | 4 +- go/ql/lib/ext/encoding.asn1.model.yml | 16 ++-- go/ql/lib/ext/encoding.base32.model.yml | 2 +- go/ql/lib/ext/encoding.base64.model.yml | 2 +- go/ql/lib/ext/encoding.binary.model.yml | 4 +- go/ql/lib/ext/encoding.csv.model.yml | 2 +- go/ql/lib/ext/encoding.gob.model.yml | 2 +- go/ql/lib/ext/encoding.hex.model.yml | 6 +- go/ql/lib/ext/encoding.json.model.yml | 14 ++-- go/ql/lib/ext/encoding.pem.model.yml | 6 +- go/ql/lib/ext/encoding.xml.model.yml | 16 ++-- go/ql/lib/ext/errors.model.yml | 6 +- go/ql/lib/ext/fmt.model.yml | 22 ++--- .../github.com.antchfx.htmlquery.model.yml | 8 +- .../github.com.antchfx.jsonquery.model.yml | 8 +- .../ext/github.com.antchfx.xmlquery.model.yml | 12 +-- .../ext/github.com.antchfx.xpath.model.yml | 8 +- ...ithub.com.beego.beego.core.utils.model.yml | 20 ++--- ...m.beego.beego.server.web.context.model.yml | 2 +- ...ithub.com.beego.beego.server.web.model.yml | 16 ++-- .../lib/ext/github.com.caarlos0.env.model.yml | 14 ++-- ...github.com.christrenkamp.goxpath.model.yml | 6 +- .../github.com.codeskyblue.go-sh.model.yml | 2 +- .../ext/github.com.couchbase.gocb.model.yml | 4 +- .../ext/github.com.cristalhq.jwt.model.yml | 2 +- .../ext/github.com.dgrijalva.jwt-go.model.yml | 14 ++-- .../github.com.evanphx.json-patch.model.yml | 8 +- go/ql/lib/ext/github.com.go-chi.chi.model.yml | 4 +- .../ext/github.com.go-chi.jwtauth.model.yml | 2 +- .../github.com.go-jose.go-jose.jwt.model.yml | 4 +- .../github.com.go-kit.kit.auth.jwt.model.yml | 2 +- .../github.com.go-xmlpath.xmlpath.model.yml | 4 +- .../ext/github.com.gobuffalo.envy.model.yml | 14 ++-- go/ql/lib/ext/github.com.gobwas.ws.model.yml | 4 +- .../ext/github.com.golang-jwt.jwt.model.yml | 18 ++--- ...github.com.golang.protobuf.proto.model.yml | 8 +- .../lib/ext/github.com.gorilla.mux.model.yml | 2 +- .../github.com.gorilla.websocket.model.yml | 2 +- ...github.com.hashicorp.go-envparse.model.yml | 2 +- .../ext/github.com.joho.godotenv.model.yml | 8 +- .../ext/github.com.json-iterator.go.model.yml | 4 +- ....com.kataras.iris.middleware.jwt.model.yml | 2 +- .../lib/ext/github.com.kataras.jwt.model.yml | 8 +- ...ub.com.kelseyhightower.envconfig.model.yml | 12 +-- .../github.com.lestrrat-go.jwx.jwk.model.yml | 2 +- .../ext/github.com.lestrrat-go.jwx.model.yml | 2 +- .../github.com.lestrrat.go-jwx.jwk.model.yml | 2 +- ...ithub.com.moovweb.gokogiri.xpath.model.yml | 2 +- ....com.santhosh-tekuri.xpathparser.model.yml | 4 +- ...endgrid.sendgrid-go.helpers.mail.model.yml | 2 +- .../ext/github.com.valyala.fasthttp.model.yml | 26 +++--- go/ql/lib/ext/go.uber.org.zap.model.yml | 22 ++--- .../ext/golang.org.x.net.context.model.yml | 8 +- go/ql/lib/ext/golang.org.x.net.html.model.yml | 18 ++--- ...google.golang.org.protobuf.proto.model.yml | 8 +- go/ql/lib/ext/gopkg.in.yaml.model.yml | 8 +- go/ql/lib/ext/html.model.yml | 4 +- go/ql/lib/ext/html.template.model.yml | 8 +- go/ql/lib/ext/io.fs.model.yml | 12 +-- go/ql/lib/ext/io.ioutil.model.yml | 16 ++-- go/ql/lib/ext/io.model.yml | 24 +++--- .../k8s.io.apimachinery.pkg.runtime.model.yml | 40 +++++----- go/ql/lib/ext/mime.model.yml | 4 +- go/ql/lib/ext/mime.multipart.model.yml | 2 +- go/ql/lib/ext/mime.quotedprintable.model.yml | 2 +- go/ql/lib/ext/net.http.httputil.model.yml | 12 +-- go/ql/lib/ext/net.http.model.yml | 20 ++--- go/ql/lib/ext/net.mail.model.yml | 6 +- go/ql/lib/ext/net.model.yml | 8 +- go/ql/lib/ext/net.textproto.model.yml | 10 +-- go/ql/lib/ext/net.url.model.yml | 18 ++--- go/ql/lib/ext/os.exec.model.yml | 4 +- go/ql/lib/ext/os.model.yml | 80 +++++++++---------- go/ql/lib/ext/path.filepath.model.yml | 26 +++--- go/ql/lib/ext/path.model.yml | 10 +-- go/ql/lib/ext/reflect.model.yml | 8 +- go/ql/lib/ext/regexp.model.yml | 16 ++-- go/ql/lib/ext/sort.model.yml | 2 +- go/ql/lib/ext/strconv.model.yml | 18 ++--- go/ql/lib/ext/strings.model.yml | 62 +++++++------- go/ql/lib/ext/sync.atomic.model.yml | 24 +++--- go/ql/lib/ext/syscall.model.yml | 24 +++--- go/ql/lib/ext/text.template.model.yml | 8 +- .../threat-models-flowtest1.ext.yml | 8 +- .../threat-models-flowtest2.ext.yml | 8 +- .../threat-models-flowtest3.ext.yml | 8 +- .../threat-models-flowtest4.ext.yml | 8 +- .../threat-models-flowtest5.ext.yml | 8 +- .../threat-models-flowtest6.ext.yml | 8 +- 105 files changed, 553 insertions(+), 553 deletions(-) diff --git a/go/ql/lib/ext/archive.tar.model.yml b/go/ql/lib/ext/archive.tar.model.yml index 82d4647323b9..f1212e35c022 100644 --- a/go/ql/lib/ext/archive.tar.model.yml +++ b/go/ql/lib/ext/archive.tar.model.yml @@ -3,8 +3,8 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["archive/tar", "", True, "FileInfoHeader", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["archive/tar", "", True, "NewReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["archive/tar", "", False, "FileInfoHeader", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["archive/tar", "", False, "NewReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["archive/tar", "Header", True, "FileInfo", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] - ["archive/tar", "Reader", True, "Next", "", "", "Argument[receiver]", "ReturnValue[0]", "taint", "manual"] - ["archive/tar", "Writer", True, "WriteHeader", "", "", "Argument[0]", "Argument[receiver]", "taint", "manual"] diff --git a/go/ql/lib/ext/archive.zip.model.yml b/go/ql/lib/ext/archive.zip.model.yml index 4749d5433c9f..17e2bb0bd789 100644 --- a/go/ql/lib/ext/archive.zip.model.yml +++ b/go/ql/lib/ext/archive.zip.model.yml @@ -3,9 +3,9 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["archive/zip", "", True, "FileInfoHeader", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["archive/zip", "", True, "NewReader", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["archive/zip", "", True, "OpenReader", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["archive/zip", "", False, "FileInfoHeader", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["archive/zip", "", False, "NewReader", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["archive/zip", "", False, "OpenReader", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - ["archive/zip", "File", True, "Open", "", "", "Argument[receiver]", "ReturnValue[0]", "taint", "manual"] - ["archive/zip", "File", True, "OpenRaw", "", "", "Argument[receiver]", "ReturnValue[0]", "taint", "manual"] - ["archive/zip", "Writer", True, "Copy", "", "", "Argument[0]", "Argument[receiver]", "taint", "manual"] diff --git a/go/ql/lib/ext/bufio.model.yml b/go/ql/lib/ext/bufio.model.yml index 1a7cbb4742de..e9dd22e66861 100644 --- a/go/ql/lib/ext/bufio.model.yml +++ b/go/ql/lib/ext/bufio.model.yml @@ -3,14 +3,14 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["bufio", "", True, "NewReadWriter", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["bufio", "", True, "NewReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["bufio", "", True, "NewReaderSize", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["bufio", "", True, "NewScanner", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["bufio", "", True, "ScanBytes", "", "", "Argument[0]", "ReturnValue[1]", "taint", "manual"] - - ["bufio", "", True, "ScanLines", "", "", "Argument[0]", "ReturnValue[1]", "taint", "manual"] - - ["bufio", "", True, "ScanRunes", "", "", "Argument[0]", "ReturnValue[1]", "taint", "manual"] - - ["bufio", "", True, "ScanWords", "", "", "Argument[0]", "ReturnValue[1]", "taint", "manual"] + - ["bufio", "", False, "NewReadWriter", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bufio", "", False, "NewReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bufio", "", False, "NewReaderSize", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bufio", "", False, "NewScanner", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bufio", "", False, "ScanBytes", "", "", "Argument[0]", "ReturnValue[1]", "taint", "manual"] + - ["bufio", "", False, "ScanLines", "", "", "Argument[0]", "ReturnValue[1]", "taint", "manual"] + - ["bufio", "", False, "ScanRunes", "", "", "Argument[0]", "ReturnValue[1]", "taint", "manual"] + - ["bufio", "", False, "ScanWords", "", "", "Argument[0]", "ReturnValue[1]", "taint", "manual"] - ["bufio", "Reader", True, "Peek", "", "", "Argument[receiver]", "ReturnValue[0]", "taint", "manual"] - ["bufio", "Reader", True, "ReadBytes", "", "", "Argument[receiver]", "ReturnValue[0]", "taint", "manual"] - ["bufio", "Reader", True, "ReadLine", "", "", "Argument[receiver]", "ReturnValue[0]", "taint", "manual"] diff --git a/go/ql/lib/ext/builtin.model.yml b/go/ql/lib/ext/builtin.model.yml index 22f5ac39d84e..816c89008a84 100644 --- a/go/ql/lib/ext/builtin.model.yml +++ b/go/ql/lib/ext/builtin.model.yml @@ -3,11 +3,11 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["", "", True, "append", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] # special case for when arg[0] has core type []byte and second argument has core type bytestring and is followed by ... - - ["", "", True, "append", "", "", "Argument[0].ArrayElement", "ReturnValue.ArrayElement", "value", "manual"] - - ["", "", True, "append", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] # special case for when arg[0] has core type []byte and second argument has core type bytestring and is followed by ... - - ["", "", True, "append", "", "", "Argument[1].ArrayElement", "ReturnValue.ArrayElement", "value", "manual"] - - ["", "", True, "copy", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] # special case for when arg[0] has core type []byte and second argument has core type bytestring - - ["", "", True, "copy", "", "", "Argument[1].ArrayElement", "Argument[0].ArrayElement", "value", "manual"] - - ["", "", True, "max", "", "", "Argument[0..1000]", "ReturnValue", "value", "manual"] - - ["", "", True, "min", "", "", "Argument[0..1000]", "ReturnValue", "value", "manual"] + - ["", "", False, "append", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] # special case for when arg[0] has core type []byte and second argument has core type bytestring and is followed by ... + - ["", "", False, "append", "", "", "Argument[0].ArrayElement", "ReturnValue.ArrayElement", "value", "manual"] + - ["", "", False, "append", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] # special case for when arg[0] has core type []byte and second argument has core type bytestring and is followed by ... + - ["", "", False, "append", "", "", "Argument[1].ArrayElement", "ReturnValue.ArrayElement", "value", "manual"] + - ["", "", False, "copy", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] # special case for when arg[0] has core type []byte and second argument has core type bytestring + - ["", "", False, "copy", "", "", "Argument[1].ArrayElement", "Argument[0].ArrayElement", "value", "manual"] + - ["", "", False, "max", "", "", "Argument[0..1000]", "ReturnValue", "value", "manual"] + - ["", "", False, "min", "", "", "Argument[0..1000]", "ReturnValue", "value", "manual"] diff --git a/go/ql/lib/ext/bytes.model.yml b/go/ql/lib/ext/bytes.model.yml index 03b4787e8670..762d0ca16ee6 100644 --- a/go/ql/lib/ext/bytes.model.yml +++ b/go/ql/lib/ext/bytes.model.yml @@ -3,44 +3,44 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["bytes", "", True, "Clone", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["bytes", "", True, "Cut", "", "", "Argument[0]", "ReturnValue[0..1]", "taint", "manual"] - - ["bytes", "", True, "CutPrefix", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["bytes", "", True, "CutSuffix", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["bytes", "", True, "Fields", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["bytes", "", True, "FieldsFunc", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["bytes", "", True, "Join", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] - - ["bytes", "", True, "Map", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] - - ["bytes", "", True, "NewBuffer", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["bytes", "", True, "NewBufferString", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["bytes", "", True, "NewReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["bytes", "", True, "Repeat", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["bytes", "", True, "Replace", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["bytes", "", True, "Replace", "", "", "Argument[2]", "ReturnValue", "taint", "manual"] - - ["bytes", "", True, "ReplaceAll", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["bytes", "", True, "ReplaceAll", "", "", "Argument[2]", "ReturnValue", "taint", "manual"] - - ["bytes", "", True, "Runes", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["bytes", "", True, "Split", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["bytes", "", True, "SplitAfter", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["bytes", "", True, "SplitAfterN", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["bytes", "", True, "SplitN", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["bytes", "", True, "Title", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["bytes", "", True, "ToLower", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["bytes", "", True, "ToLowerSpecial", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] - - ["bytes", "", True, "ToTitle", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["bytes", "", True, "ToTitleSpecial", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] - - ["bytes", "", True, "ToUpper", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["bytes", "", True, "ToUpperSpecial", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] - - ["bytes", "", True, "ToValidUTF8", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] - - ["bytes", "", True, "Trim", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["bytes", "", True, "TrimFunc", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["bytes", "", True, "TrimLeft", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["bytes", "", True, "TrimLeftFunc", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["bytes", "", True, "TrimPrefix", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["bytes", "", True, "TrimRight", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["bytes", "", True, "TrimRightFunc", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["bytes", "", True, "TrimSpace", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["bytes", "", True, "TrimSuffix", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bytes", "", False, "Clone", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bytes", "", False, "Cut", "", "", "Argument[0]", "ReturnValue[0..1]", "taint", "manual"] + - ["bytes", "", False, "CutPrefix", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["bytes", "", False, "CutSuffix", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["bytes", "", False, "Fields", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bytes", "", False, "FieldsFunc", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bytes", "", False, "Join", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] + - ["bytes", "", False, "Map", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] + - ["bytes", "", False, "NewBuffer", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bytes", "", False, "NewBufferString", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bytes", "", False, "NewReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bytes", "", False, "Repeat", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bytes", "", False, "Replace", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bytes", "", False, "Replace", "", "", "Argument[2]", "ReturnValue", "taint", "manual"] + - ["bytes", "", False, "ReplaceAll", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bytes", "", False, "ReplaceAll", "", "", "Argument[2]", "ReturnValue", "taint", "manual"] + - ["bytes", "", False, "Runes", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bytes", "", False, "Split", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bytes", "", False, "SplitAfter", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bytes", "", False, "SplitAfterN", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bytes", "", False, "SplitN", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bytes", "", False, "Title", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bytes", "", False, "ToLower", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bytes", "", False, "ToLowerSpecial", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] + - ["bytes", "", False, "ToTitle", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bytes", "", False, "ToTitleSpecial", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] + - ["bytes", "", False, "ToUpper", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bytes", "", False, "ToUpperSpecial", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] + - ["bytes", "", False, "ToValidUTF8", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] + - ["bytes", "", False, "Trim", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bytes", "", False, "TrimFunc", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bytes", "", False, "TrimLeft", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bytes", "", False, "TrimLeftFunc", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bytes", "", False, "TrimPrefix", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bytes", "", False, "TrimRight", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bytes", "", False, "TrimRightFunc", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bytes", "", False, "TrimSpace", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bytes", "", False, "TrimSuffix", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["bytes", "Buffer", True, "Bytes", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] - ["bytes", "Buffer", True, "Next", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] - ["bytes", "Buffer", True, "ReadBytes", "", "", "Argument[receiver]", "ReturnValue[0]", "taint", "manual"] diff --git a/go/ql/lib/ext/compress.bzip2.model.yml b/go/ql/lib/ext/compress.bzip2.model.yml index 4848caa1f69d..38719037de18 100644 --- a/go/ql/lib/ext/compress.bzip2.model.yml +++ b/go/ql/lib/ext/compress.bzip2.model.yml @@ -3,4 +3,4 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["compress/bzip2", "", True, "NewReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["compress/bzip2", "", False, "NewReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] diff --git a/go/ql/lib/ext/compress.flate.model.yml b/go/ql/lib/ext/compress.flate.model.yml index 7d5611782b2c..5b36372c8c09 100644 --- a/go/ql/lib/ext/compress.flate.model.yml +++ b/go/ql/lib/ext/compress.flate.model.yml @@ -3,7 +3,7 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["compress/flate", "", True, "NewReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["compress/flate", "", True, "NewReaderDict", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["compress/flate", "", False, "NewReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["compress/flate", "", False, "NewReaderDict", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["compress/flate", "Resetter", True, "Reset", "", "", "Argument[0]", "Argument[receiver]", "taint", "manual"] - ["compress/flate", "Writer", True, "Reset", "", "", "Argument[receiver]", "Argument[0]", "taint", "manual"] diff --git a/go/ql/lib/ext/compress.gzip.model.yml b/go/ql/lib/ext/compress.gzip.model.yml index eb0f7562c6a8..d3da545b4483 100644 --- a/go/ql/lib/ext/compress.gzip.model.yml +++ b/go/ql/lib/ext/compress.gzip.model.yml @@ -3,6 +3,6 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["compress/gzip", "", True, "NewReader", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["compress/gzip", "", False, "NewReader", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - ["compress/gzip", "Reader", True, "Reset", "", "", "Argument[0]", "Argument[receiver]", "taint", "manual"] - ["compress/gzip", "Writer", True, "Reset", "", "", "Argument[receiver]", "Argument[0]", "taint", "manual"] diff --git a/go/ql/lib/ext/compress.lzw.model.yml b/go/ql/lib/ext/compress.lzw.model.yml index 46077643d8ec..5db30e14ec36 100644 --- a/go/ql/lib/ext/compress.lzw.model.yml +++ b/go/ql/lib/ext/compress.lzw.model.yml @@ -3,4 +3,4 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["compress/lzw", "", True, "NewReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["compress/lzw", "", False, "NewReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] diff --git a/go/ql/lib/ext/compress.zlib.model.yml b/go/ql/lib/ext/compress.zlib.model.yml index de73d4e849a6..abd162c33923 100644 --- a/go/ql/lib/ext/compress.zlib.model.yml +++ b/go/ql/lib/ext/compress.zlib.model.yml @@ -3,7 +3,7 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["compress/zlib", "", True, "NewReader", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["compress/zlib", "", True, "NewReaderDict", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["compress/zlib", "", False, "NewReader", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["compress/zlib", "", False, "NewReaderDict", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - ["compress/zlib", "Resetter", True, "Reset", "", "", "Argument[0]", "Argument[receiver]", "taint", "manual"] - ["compress/zlib", "Writer", True, "Reset", "", "", "Argument[receiver]", "Argument[0]", "taint", "manual"] diff --git a/go/ql/lib/ext/container.heap.model.yml b/go/ql/lib/ext/container.heap.model.yml index 64501a41927a..57aabd12ea27 100644 --- a/go/ql/lib/ext/container.heap.model.yml +++ b/go/ql/lib/ext/container.heap.model.yml @@ -3,8 +3,8 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["container/heap", "", True, "Pop", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["container/heap", "", True, "Push", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - - ["container/heap", "", True, "Remove", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["container/heap", "", False, "Pop", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["container/heap", "", False, "Push", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] + - ["container/heap", "", False, "Remove", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["container/heap", "Interface", True, "Pop", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] - ["container/heap", "Interface", True, "Push", "", "", "Argument[0]", "Argument[receiver]", "taint", "manual"] diff --git a/go/ql/lib/ext/context.model.yml b/go/ql/lib/ext/context.model.yml index dc5cddecdc5b..b71adeb6b3c7 100644 --- a/go/ql/lib/ext/context.model.yml +++ b/go/ql/lib/ext/context.model.yml @@ -3,8 +3,8 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["context", "", True, "WithCancel", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["context", "", True, "WithDeadline", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["context", "", True, "WithTimeout", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["context", "", True, "WithValue", "", "", "Argument[0..2]", "ReturnValue", "taint", "manual"] + - ["context", "", False, "WithCancel", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["context", "", False, "WithDeadline", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["context", "", False, "WithTimeout", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["context", "", False, "WithValue", "", "", "Argument[0..2]", "ReturnValue", "taint", "manual"] - ["context", "Context", True, "Value", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] diff --git a/go/ql/lib/ext/crypto.rsa.model.yml b/go/ql/lib/ext/crypto.rsa.model.yml index 447fca7584ff..851251973a62 100644 --- a/go/ql/lib/ext/crypto.rsa.model.yml +++ b/go/ql/lib/ext/crypto.rsa.model.yml @@ -3,5 +3,5 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["crypto/rsa", "", True, "DecryptOAEP", "", "", "Argument[3]", "ReturnValue[0]", "taint", "manual"] - - ["crypto/rsa", "", True, "DecryptPKCS1v15", "", "", "Argument[2]", "ReturnValue[0]", "taint", "manual"] + - ["crypto/rsa", "", False, "DecryptOAEP", "", "", "Argument[3]", "ReturnValue[0]", "taint", "manual"] + - ["crypto/rsa", "", False, "DecryptPKCS1v15", "", "", "Argument[2]", "ReturnValue[0]", "taint", "manual"] diff --git a/go/ql/lib/ext/crypto.tls.model.yml b/go/ql/lib/ext/crypto.tls.model.yml index 26f15eefb32a..ecb4c8859946 100644 --- a/go/ql/lib/ext/crypto.tls.model.yml +++ b/go/ql/lib/ext/crypto.tls.model.yml @@ -3,6 +3,6 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["crypto/tls", "", True, "Client", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["crypto/tls", "", True, "NewListener", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["crypto/tls", "", True, "Server", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["crypto/tls", "", False, "Client", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["crypto/tls", "", False, "NewListener", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["crypto/tls", "", False, "Server", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] diff --git a/go/ql/lib/ext/crypto.x509.model.yml b/go/ql/lib/ext/crypto.x509.model.yml index ee389de2db0a..dd16777a75b7 100644 --- a/go/ql/lib/ext/crypto.x509.model.yml +++ b/go/ql/lib/ext/crypto.x509.model.yml @@ -3,4 +3,4 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["crypto/x509", "", True, "DecryptPEMBlock", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["crypto/x509", "", False, "DecryptPEMBlock", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] diff --git a/go/ql/lib/ext/database.sql.model.yml b/go/ql/lib/ext/database.sql.model.yml index 9d4d31aa0d1c..e1083f6e49a6 100644 --- a/go/ql/lib/ext/database.sql.model.yml +++ b/go/ql/lib/ext/database.sql.model.yml @@ -3,7 +3,7 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["database/sql", "", True, "Named", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] + - ["database/sql", "", False, "Named", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] - ["database/sql", "Conn", True, "PrepareContext", "", "", "Argument[1]", "ReturnValue[0]", "taint", "manual"] - ["database/sql", "DB", True, "Prepare", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - ["database/sql", "DB", True, "PrepareContext", "", "", "Argument[1]", "ReturnValue[0]", "taint", "manual"] diff --git a/go/ql/lib/ext/encoding.ascii85.model.yml b/go/ql/lib/ext/encoding.ascii85.model.yml index cd4b2ae258b9..51c15078176b 100644 --- a/go/ql/lib/ext/encoding.ascii85.model.yml +++ b/go/ql/lib/ext/encoding.ascii85.model.yml @@ -3,5 +3,5 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["encoding/ascii85", "", True, "Decode", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - - ["encoding/ascii85", "", True, "NewDecoder", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["encoding/ascii85", "", False, "Decode", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] + - ["encoding/ascii85", "", False, "NewDecoder", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] diff --git a/go/ql/lib/ext/encoding.asn1.model.yml b/go/ql/lib/ext/encoding.asn1.model.yml index e6443cadf1ff..e0c08cc216ef 100644 --- a/go/ql/lib/ext/encoding.asn1.model.yml +++ b/go/ql/lib/ext/encoding.asn1.model.yml @@ -3,11 +3,11 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["encoding/asn1", "", True, "Marshal", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["encoding/asn1", "", True, "MarshalWithParams", "", "", "Argument[0..1]", "ReturnValue[0]", "taint", "manual"] - - ["encoding/asn1", "", True, "Unmarshal", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] - - ["encoding/asn1", "", True, "Unmarshal", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["encoding/asn1", "", True, "UnmarshalWithParams", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] - - ["encoding/asn1", "", True, "UnmarshalWithParams", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["encoding/asn1", "", True, "UnmarshalWithParams", "", "", "Argument[2]", "Argument[1]", "taint", "manual"] - - ["encoding/asn1", "", True, "UnmarshalWithParams", "", "", "Argument[2]", "ReturnValue[0]", "taint", "manual"] + - ["encoding/asn1", "", False, "Marshal", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["encoding/asn1", "", False, "MarshalWithParams", "", "", "Argument[0..1]", "ReturnValue[0]", "taint", "manual"] + - ["encoding/asn1", "", False, "Unmarshal", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] + - ["encoding/asn1", "", False, "Unmarshal", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["encoding/asn1", "", False, "UnmarshalWithParams", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] + - ["encoding/asn1", "", False, "UnmarshalWithParams", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["encoding/asn1", "", False, "UnmarshalWithParams", "", "", "Argument[2]", "Argument[1]", "taint", "manual"] + - ["encoding/asn1", "", False, "UnmarshalWithParams", "", "", "Argument[2]", "ReturnValue[0]", "taint", "manual"] diff --git a/go/ql/lib/ext/encoding.base32.model.yml b/go/ql/lib/ext/encoding.base32.model.yml index 72830e6a5810..5cabdb05a414 100644 --- a/go/ql/lib/ext/encoding.base32.model.yml +++ b/go/ql/lib/ext/encoding.base32.model.yml @@ -3,6 +3,6 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["encoding/base32", "", True, "NewDecoder", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] + - ["encoding/base32", "", False, "NewDecoder", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] - ["encoding/base32", "Encoding", True, "Decode", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - ["encoding/base32", "Encoding", True, "DecodeString", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] diff --git a/go/ql/lib/ext/encoding.base64.model.yml b/go/ql/lib/ext/encoding.base64.model.yml index 81ff2247bfd0..1e199c5f4692 100644 --- a/go/ql/lib/ext/encoding.base64.model.yml +++ b/go/ql/lib/ext/encoding.base64.model.yml @@ -3,6 +3,6 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["encoding/base64", "", True, "NewDecoder", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] + - ["encoding/base64", "", False, "NewDecoder", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] - ["encoding/base64", "Encoding", True, "Decode", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - ["encoding/base64", "Encoding", True, "DecodeString", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] diff --git a/go/ql/lib/ext/encoding.binary.model.yml b/go/ql/lib/ext/encoding.binary.model.yml index c6131f014d63..34705c1364ed 100644 --- a/go/ql/lib/ext/encoding.binary.model.yml +++ b/go/ql/lib/ext/encoding.binary.model.yml @@ -3,5 +3,5 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["encoding/binary", "", True, "Read", "", "", "Argument[0]", "Argument[2]", "taint", "manual"] - - ["encoding/binary", "", True, "Write", "", "", "Argument[2]", "Argument[0]", "taint", "manual"] + - ["encoding/binary", "", False, "Read", "", "", "Argument[0]", "Argument[2]", "taint", "manual"] + - ["encoding/binary", "", False, "Write", "", "", "Argument[2]", "Argument[0]", "taint", "manual"] diff --git a/go/ql/lib/ext/encoding.csv.model.yml b/go/ql/lib/ext/encoding.csv.model.yml index 77f999798c4f..2f2611ad83a6 100644 --- a/go/ql/lib/ext/encoding.csv.model.yml +++ b/go/ql/lib/ext/encoding.csv.model.yml @@ -3,7 +3,7 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["encoding/csv", "", True, "NewReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["encoding/csv", "", False, "NewReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["encoding/csv", "Reader", True, "Read", "", "", "Argument[receiver]", "ReturnValue[0]", "taint", "manual"] - ["encoding/csv", "Reader", True, "ReadAll", "", "", "Argument[receiver]", "ReturnValue[0]", "taint", "manual"] - ["encoding/csv", "Writer", True, "Write", "", "", "Argument[0]", "Argument[receiver]", "taint", "manual"] diff --git a/go/ql/lib/ext/encoding.gob.model.yml b/go/ql/lib/ext/encoding.gob.model.yml index da44e80b3e83..c7ce389bd1c5 100644 --- a/go/ql/lib/ext/encoding.gob.model.yml +++ b/go/ql/lib/ext/encoding.gob.model.yml @@ -3,7 +3,7 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["encoding/gob", "", True, "NewDecoder", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["encoding/gob", "", False, "NewDecoder", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["encoding/gob", "Decoder", True, "Decode", "", "", "Argument[receiver]", "Argument[0]", "taint", "manual"] - ["encoding/gob", "Decoder", True, "DecodeValue", "", "", "Argument[receiver]", "Argument[0]", "taint", "manual"] - ["encoding/gob", "Encoder", True, "Encode", "", "", "Argument[0]", "Argument[receiver]", "taint", "manual"] diff --git a/go/ql/lib/ext/encoding.hex.model.yml b/go/ql/lib/ext/encoding.hex.model.yml index a081018a3c57..2c9dbdac031c 100644 --- a/go/ql/lib/ext/encoding.hex.model.yml +++ b/go/ql/lib/ext/encoding.hex.model.yml @@ -3,6 +3,6 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["encoding/hex", "", True, "Decode", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - - ["encoding/hex", "", True, "DecodeString", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["encoding/hex", "", True, "NewDecoder", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["encoding/hex", "", False, "Decode", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] + - ["encoding/hex", "", False, "DecodeString", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["encoding/hex", "", False, "NewDecoder", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] diff --git a/go/ql/lib/ext/encoding.json.model.yml b/go/ql/lib/ext/encoding.json.model.yml index 40812ff815b2..b820561fa95c 100644 --- a/go/ql/lib/ext/encoding.json.model.yml +++ b/go/ql/lib/ext/encoding.json.model.yml @@ -3,13 +3,13 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["encoding/json", "", True, "Compact", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - - ["encoding/json", "", True, "HTMLEscape", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - - ["encoding/json", "", True, "Indent", "", "", "Argument[1..3]", "Argument[0]", "taint", "manual"] - - ["encoding/json", "", True, "Marshal", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["encoding/json", "", True, "MarshalIndent", "", "", "Argument[0..2]", "ReturnValue[0]", "taint", "manual"] - - ["encoding/json", "", True, "NewDecoder", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["encoding/json", "", True, "Unmarshal", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] + - ["encoding/json", "", False, "Compact", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] + - ["encoding/json", "", False, "HTMLEscape", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] + - ["encoding/json", "", False, "Indent", "", "", "Argument[1..3]", "Argument[0]", "taint", "manual"] + - ["encoding/json", "", False, "Marshal", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["encoding/json", "", False, "MarshalIndent", "", "", "Argument[0..2]", "ReturnValue[0]", "taint", "manual"] + - ["encoding/json", "", False, "NewDecoder", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["encoding/json", "", False, "Unmarshal", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] - ["encoding/json", "Decoder", True, "Buffered", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] - ["encoding/json", "Decoder", True, "Decode", "", "", "Argument[receiver]", "Argument[0]", "taint", "manual"] - ["encoding/json", "Decoder", True, "Token", "", "", "Argument[receiver]", "ReturnValue[0]", "taint", "manual"] diff --git a/go/ql/lib/ext/encoding.pem.model.yml b/go/ql/lib/ext/encoding.pem.model.yml index 5ad944c14ad7..57c0f1fc662d 100644 --- a/go/ql/lib/ext/encoding.pem.model.yml +++ b/go/ql/lib/ext/encoding.pem.model.yml @@ -3,6 +3,6 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["encoding/pem", "", True, "Decode", "", "", "Argument[0]", "ReturnValue[0..1]", "taint", "manual"] - - ["encoding/pem", "", True, "Encode", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - - ["encoding/pem", "", True, "EncodeToMemory", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["encoding/pem", "", False, "Decode", "", "", "Argument[0]", "ReturnValue[0..1]", "taint", "manual"] + - ["encoding/pem", "", False, "Encode", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] + - ["encoding/pem", "", False, "EncodeToMemory", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] diff --git a/go/ql/lib/ext/encoding.xml.model.yml b/go/ql/lib/ext/encoding.xml.model.yml index f42878b4b456..40824a28c9eb 100644 --- a/go/ql/lib/ext/encoding.xml.model.yml +++ b/go/ql/lib/ext/encoding.xml.model.yml @@ -3,14 +3,14 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["encoding/xml", "", True, "CopyToken", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["encoding/xml", "", True, "Escape", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - - ["encoding/xml", "", True, "EscapeText", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - - ["encoding/xml", "", True, "Marshal", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["encoding/xml", "", True, "MarshalIndent", "", "", "Argument[0..2]", "ReturnValue[0]", "taint", "manual"] - - ["encoding/xml", "", True, "NewDecoder", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["encoding/xml", "", True, "NewTokenDecoder", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["encoding/xml", "", True, "Unmarshal", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] + - ["encoding/xml", "", False, "CopyToken", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["encoding/xml", "", False, "Escape", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] + - ["encoding/xml", "", False, "EscapeText", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] + - ["encoding/xml", "", False, "Marshal", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["encoding/xml", "", False, "MarshalIndent", "", "", "Argument[0..2]", "ReturnValue[0]", "taint", "manual"] + - ["encoding/xml", "", False, "NewDecoder", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["encoding/xml", "", False, "NewTokenDecoder", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["encoding/xml", "", False, "Unmarshal", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] - ["encoding/xml", "CharData", True, "Copy", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] - ["encoding/xml", "Comment", True, "Copy", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] - ["encoding/xml", "Decoder", True, "Decode", "", "", "Argument[receiver]", "Argument[0]", "taint", "manual"] diff --git a/go/ql/lib/ext/errors.model.yml b/go/ql/lib/ext/errors.model.yml index 3ef4b4545bb7..a94c8e558ff4 100644 --- a/go/ql/lib/ext/errors.model.yml +++ b/go/ql/lib/ext/errors.model.yml @@ -3,6 +3,6 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["errors", "", True, "As", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] - - ["errors", "", True, "New", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["errors", "", True, "Unwrap", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["errors", "", False, "As", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] + - ["errors", "", False, "New", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["errors", "", False, "Unwrap", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] diff --git a/go/ql/lib/ext/fmt.model.yml b/go/ql/lib/ext/fmt.model.yml index 5234b509933b..cad64ce0fdf6 100644 --- a/go/ql/lib/ext/fmt.model.yml +++ b/go/ql/lib/ext/fmt.model.yml @@ -8,14 +8,14 @@ extensions: - ["fmt", "ScanState", True, "Token", "", "", "Argument[receiver]", "ReturnValue[0]", "taint", "manual"] - ["fmt", "State", True, "Write", "", "", "Argument[0]", "Argument[receiver]", "taint", "manual"] - ["fmt", "Stringer", True, "String", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] - - ["fmt", "", True, "Append", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["fmt", "", True, "Append", "", "", "Argument[1].ArrayElement", "ReturnValue", "taint", "manual"] - - ["fmt", "", True, "Appendf", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["fmt", "", True, "Appendf", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] - - ["fmt", "", True, "Appendf", "", "", "Argument[2].ArrayElement", "ReturnValue", "taint", "manual"] - - ["fmt", "", True, "Appendln", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["fmt", "", True, "Appendln", "", "", "Argument[1].ArrayElement", "ReturnValue", "taint", "manual"] - - ["fmt", "", True, "Sprint", "", "", "Argument[0].ArrayElement", "ReturnValue", "taint", "manual"] - - ["fmt", "", True, "Sprintf", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["fmt", "", True, "Sprintf", "", "", "Argument[1].ArrayElement", "ReturnValue", "taint", "manual"] - - ["fmt", "", True, "Sprintln", "", "", "Argument[0].ArrayElement", "ReturnValue", "taint", "manual"] + - ["fmt", "", False, "Append", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["fmt", "", False, "Append", "", "", "Argument[1].ArrayElement", "ReturnValue", "taint", "manual"] + - ["fmt", "", False, "Appendf", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["fmt", "", False, "Appendf", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] + - ["fmt", "", False, "Appendf", "", "", "Argument[2].ArrayElement", "ReturnValue", "taint", "manual"] + - ["fmt", "", False, "Appendln", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["fmt", "", False, "Appendln", "", "", "Argument[1].ArrayElement", "ReturnValue", "taint", "manual"] + - ["fmt", "", False, "Sprint", "", "", "Argument[0].ArrayElement", "ReturnValue", "taint", "manual"] + - ["fmt", "", False, "Sprintf", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["fmt", "", False, "Sprintf", "", "", "Argument[1].ArrayElement", "ReturnValue", "taint", "manual"] + - ["fmt", "", False, "Sprintln", "", "", "Argument[0].ArrayElement", "ReturnValue", "taint", "manual"] diff --git a/go/ql/lib/ext/github.com.antchfx.htmlquery.model.yml b/go/ql/lib/ext/github.com.antchfx.htmlquery.model.yml index f8481e58cb99..14402f65a8c1 100644 --- a/go/ql/lib/ext/github.com.antchfx.htmlquery.model.yml +++ b/go/ql/lib/ext/github.com.antchfx.htmlquery.model.yml @@ -3,7 +3,7 @@ extensions: pack: codeql/go-all extensible: sinkModel data: - - ["github.com/antchfx/htmlquery", "", True, "Find", "", "", "Argument[1]", "xpath-injection", "manual"] - - ["github.com/antchfx/htmlquery", "", True, "FindOne", "", "", "Argument[1]", "xpath-injection", "manual"] - - ["github.com/antchfx/htmlquery", "", True, "Query", "", "", "Argument[1]", "xpath-injection", "manual"] - - ["github.com/antchfx/htmlquery", "", True, "QueryAll", "", "", "Argument[1]", "xpath-injection", "manual"] + - ["github.com/antchfx/htmlquery", "", False, "Find", "", "", "Argument[1]", "xpath-injection", "manual"] + - ["github.com/antchfx/htmlquery", "", False, "FindOne", "", "", "Argument[1]", "xpath-injection", "manual"] + - ["github.com/antchfx/htmlquery", "", False, "Query", "", "", "Argument[1]", "xpath-injection", "manual"] + - ["github.com/antchfx/htmlquery", "", False, "QueryAll", "", "", "Argument[1]", "xpath-injection", "manual"] diff --git a/go/ql/lib/ext/github.com.antchfx.jsonquery.model.yml b/go/ql/lib/ext/github.com.antchfx.jsonquery.model.yml index 436867a8ab5f..f50bbff2ff4d 100644 --- a/go/ql/lib/ext/github.com.antchfx.jsonquery.model.yml +++ b/go/ql/lib/ext/github.com.antchfx.jsonquery.model.yml @@ -3,7 +3,7 @@ extensions: pack: codeql/go-all extensible: sinkModel data: - - ["github.com/antchfx/jsonquery", "", True, "Find", "", "", "Argument[1]", "xpath-injection", "manual"] - - ["github.com/antchfx/jsonquery", "", True, "FindOne", "", "", "Argument[1]", "xpath-injection", "manual"] - - ["github.com/antchfx/jsonquery", "", True, "Query", "", "", "Argument[1]", "xpath-injection", "manual"] - - ["github.com/antchfx/jsonquery", "", True, "QueryAll", "", "", "Argument[1]", "xpath-injection", "manual"] + - ["github.com/antchfx/jsonquery", "", False, "Find", "", "", "Argument[1]", "xpath-injection", "manual"] + - ["github.com/antchfx/jsonquery", "", False, "FindOne", "", "", "Argument[1]", "xpath-injection", "manual"] + - ["github.com/antchfx/jsonquery", "", False, "Query", "", "", "Argument[1]", "xpath-injection", "manual"] + - ["github.com/antchfx/jsonquery", "", False, "QueryAll", "", "", "Argument[1]", "xpath-injection", "manual"] diff --git a/go/ql/lib/ext/github.com.antchfx.xmlquery.model.yml b/go/ql/lib/ext/github.com.antchfx.xmlquery.model.yml index 6da9327681d4..5a9eec5af7e0 100644 --- a/go/ql/lib/ext/github.com.antchfx.xmlquery.model.yml +++ b/go/ql/lib/ext/github.com.antchfx.xmlquery.model.yml @@ -3,11 +3,11 @@ extensions: pack: codeql/go-all extensible: sinkModel data: - - ["github.com/antchfx/xmlquery", "", True, "Find", "", "", "Argument[1]", "xpath-injection", "manual"] - - ["github.com/antchfx/xmlquery", "", True, "FindOne", "", "", "Argument[1]", "xpath-injection", "manual"] - - ["github.com/antchfx/xmlquery", "", True, "FindEach", "", "", "Argument[1]", "xpath-injection", "manual"] - - ["github.com/antchfx/xmlquery", "", True, "FindEachWithBreak", "", "", "Argument[1]", "xpath-injection", "manual"] - - ["github.com/antchfx/xmlquery", "", True, "Query", "", "", "Argument[1]", "xpath-injection", "manual"] - - ["github.com/antchfx/xmlquery", "", True, "QueryAll", "", "", "Argument[1]", "xpath-injection", "manual"] + - ["github.com/antchfx/xmlquery", "", False, "Find", "", "", "Argument[1]", "xpath-injection", "manual"] + - ["github.com/antchfx/xmlquery", "", False, "FindOne", "", "", "Argument[1]", "xpath-injection", "manual"] + - ["github.com/antchfx/xmlquery", "", False, "FindEach", "", "", "Argument[1]", "xpath-injection", "manual"] + - ["github.com/antchfx/xmlquery", "", False, "FindEachWithBreak", "", "", "Argument[1]", "xpath-injection", "manual"] + - ["github.com/antchfx/xmlquery", "", False, "Query", "", "", "Argument[1]", "xpath-injection", "manual"] + - ["github.com/antchfx/xmlquery", "", False, "QueryAll", "", "", "Argument[1]", "xpath-injection", "manual"] - ["github.com/antchfx/xmlquery", "Node", True, "SelectElement", "", "", "Argument[0]", "xpath-injection", "manual"] - ["github.com/antchfx/xmlquery", "Node", True, "SelectElements", "", "", "Argument[0]", "xpath-injection", "manual"] diff --git a/go/ql/lib/ext/github.com.antchfx.xpath.model.yml b/go/ql/lib/ext/github.com.antchfx.xpath.model.yml index dada694552f9..bb087f381adf 100644 --- a/go/ql/lib/ext/github.com.antchfx.xpath.model.yml +++ b/go/ql/lib/ext/github.com.antchfx.xpath.model.yml @@ -3,7 +3,7 @@ extensions: pack: codeql/go-all extensible: sinkModel data: - - ["github.com/antchfx/xpath", "", True, "Compile", "", "", "Argument[0]", "xpath-injection", "manual"] - - ["github.com/antchfx/xpath", "", True, "CompileWithNS", "", "", "Argument[0]", "xpath-injection", "manual"] - - ["github.com/antchfx/xpath", "", True, "MustCompile", "", "", "Argument[0]", "xpath-injection", "manual"] - - ["github.com/antchfx/xpath", "", True, "Select", "", "", "Argument[1]", "xpath-injection", "manual"] + - ["github.com/antchfx/xpath", "", False, "Compile", "", "", "Argument[0]", "xpath-injection", "manual"] + - ["github.com/antchfx/xpath", "", False, "CompileWithNS", "", "", "Argument[0]", "xpath-injection", "manual"] + - ["github.com/antchfx/xpath", "", False, "MustCompile", "", "", "Argument[0]", "xpath-injection", "manual"] + - ["github.com/antchfx/xpath", "", False, "Select", "", "", "Argument[1]", "xpath-injection", "manual"] diff --git a/go/ql/lib/ext/github.com.beego.beego.core.utils.model.yml b/go/ql/lib/ext/github.com.beego.beego.core.utils.model.yml index efcc6fd85d08..4eb0688e37e7 100644 --- a/go/ql/lib/ext/github.com.beego.beego.core.utils.model.yml +++ b/go/ql/lib/ext/github.com.beego.beego.core.utils.model.yml @@ -10,16 +10,16 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["group:beego-utils", "", True, "SliceChunk", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["group:beego-utils", "", True, "SliceDiff", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["group:beego-utils", "", True, "SliceFilter", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["group:beego-utils", "", True, "SliceIntersect", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] - - ["group:beego-utils", "", True, "SliceMerge", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] - - ["group:beego-utils", "", True, "SlicePad", "", "", "Argument[0..2]", "ReturnValue", "taint", "manual"] - - ["group:beego-utils", "", True, "SliceRand", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["group:beego-utils", "", True, "SliceReduce", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["group:beego-utils", "", True, "SliceShuffle", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["group:beego-utils", "", True, "SliceUnique", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["group:beego-utils", "", False, "SliceChunk", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["group:beego-utils", "", False, "SliceDiff", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["group:beego-utils", "", False, "SliceFilter", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["group:beego-utils", "", False, "SliceIntersect", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] + - ["group:beego-utils", "", False, "SliceMerge", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] + - ["group:beego-utils", "", False, "SlicePad", "", "", "Argument[0..2]", "ReturnValue", "taint", "manual"] + - ["group:beego-utils", "", False, "SliceRand", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["group:beego-utils", "", False, "SliceReduce", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["group:beego-utils", "", False, "SliceShuffle", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["group:beego-utils", "", False, "SliceUnique", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["group:beego-utils", "BeeMap", True, "Get", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] - ["group:beego-utils", "BeeMap", True, "Items", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] - ["group:beego-utils", "BeeMap", True, "Set", "", "", "Argument[1]", "Argument[receiver]", "taint", "manual"] diff --git a/go/ql/lib/ext/github.com.beego.beego.server.web.context.model.yml b/go/ql/lib/ext/github.com.beego.beego.server.web.context.model.yml index 97b66e585e76..da59cc203df1 100644 --- a/go/ql/lib/ext/github.com.beego.beego.server.web.context.model.yml +++ b/go/ql/lib/ext/github.com.beego.beego.server.web.context.model.yml @@ -18,7 +18,7 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["group:beego-context", "", True, "WriteBody", "", "", "Argument[2]", "Argument[1]", "taint", "manual"] + - ["group:beego-context", "", False, "WriteBody", "", "", "Argument[2]", "Argument[1]", "taint", "manual"] - addsTo: pack: codeql/go-all extensible: sourceModel diff --git a/go/ql/lib/ext/github.com.beego.beego.server.web.model.yml b/go/ql/lib/ext/github.com.beego.beego.server.web.model.yml index 6de91acfaf14..963000fffccd 100644 --- a/go/ql/lib/ext/github.com.beego.beego.server.web.model.yml +++ b/go/ql/lib/ext/github.com.beego.beego.server.web.model.yml @@ -11,7 +11,7 @@ extensions: extensible: sinkModel data: # path-injection - - ["group:beego", "", True, "Walk", "", "", "Argument[1]", "path-injection", "manual"] + - ["group:beego", "", False, "Walk", "", "", "Argument[1]", "path-injection", "manual"] - ["group:beego", "Controller", True, "SaveToFile", "", "", "Argument[1]", "path-injection", "manual"] - ["group:beego", "Controller", True, "SaveToFileWithBuffer", "", "", "Argument[1]", "path-injection", "manual"] # only exists in v2 - ["group:beego", "FileSystem", True, "Open", "", "", "Argument[0]", "path-injection", "manual"] @@ -21,13 +21,13 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["group:beego", "", True, "HTML2str", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["group:beego", "", True, "Htmlquote", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["group:beego", "", True, "Htmlunquote", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["group:beego", "", True, "MapGet", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["group:beego", "", True, "ParseForm", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] - - ["group:beego", "", True, "Str2html", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["group:beego", "", True, "Substr", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["group:beego", "", False, "HTML2str", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["group:beego", "", False, "Htmlquote", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["group:beego", "", False, "Htmlunquote", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["group:beego", "", False, "MapGet", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["group:beego", "", False, "ParseForm", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] + - ["group:beego", "", False, "Str2html", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["group:beego", "", False, "Substr", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - addsTo: pack: codeql/go-all extensible: sourceModel diff --git a/go/ql/lib/ext/github.com.caarlos0.env.model.yml b/go/ql/lib/ext/github.com.caarlos0.env.model.yml index cf5bbc1d0553..42f6380c3fa9 100644 --- a/go/ql/lib/ext/github.com.caarlos0.env.model.yml +++ b/go/ql/lib/ext/github.com.caarlos0.env.model.yml @@ -3,14 +3,14 @@ extensions: pack: codeql/go-all extensible: sourceModel data: - - ["github.com/caarlos0/env", "", True, "Parse", "", "", "Argument[0]", "environment", "manual"] - - ["github.com/caarlos0/env", "", True, "ParseAs", "", "", "ReturnValue[0]", "environment", "manual"] - - ["github.com/caarlos0/env", "", True, "ParseAsWithOptions", "", "", "ReturnValue[0]", "environment", "manual"] - - ["github.com/caarlos0/env", "", True, "ParseWithFuncs", "", "", "Argument[0]", "environment", "manual"] - - ["github.com/caarlos0/env", "", True, "ParseWithOptions", "", "", "Argument[0]", "environment", "manual"] + - ["github.com/caarlos0/env", "", False, "Parse", "", "", "Argument[0]", "environment", "manual"] + - ["github.com/caarlos0/env", "", False, "ParseAs", "", "", "ReturnValue[0]", "environment", "manual"] + - ["github.com/caarlos0/env", "", False, "ParseAsWithOptions", "", "", "ReturnValue[0]", "environment", "manual"] + - ["github.com/caarlos0/env", "", False, "ParseWithFuncs", "", "", "Argument[0]", "environment", "manual"] + - ["github.com/caarlos0/env", "", False, "ParseWithOptions", "", "", "Argument[0]", "environment", "manual"] - addsTo: pack: codeql/go-all extensible: summaryModel data: - - ["github.com/caarlos0/env", "", True, "Must", "", "", "Argument[0]", "ReturnValue", "value", "manual"] - - ["github.com/caarlos0/env", "", True, "ToMap", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["github.com/caarlos0/env", "", False, "Must", "", "", "Argument[0]", "ReturnValue", "value", "manual"] + - ["github.com/caarlos0/env", "", False, "ToMap", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] diff --git a/go/ql/lib/ext/github.com.christrenkamp.goxpath.model.yml b/go/ql/lib/ext/github.com.christrenkamp.goxpath.model.yml index 6e527dd5d68c..f5a4aeefb136 100644 --- a/go/ql/lib/ext/github.com.christrenkamp.goxpath.model.yml +++ b/go/ql/lib/ext/github.com.christrenkamp.goxpath.model.yml @@ -3,6 +3,6 @@ extensions: pack: codeql/go-all extensible: sinkModel data: - - ["github.com/ChrisTrenkamp/goxpath", "", True, "MustParse", "", "", "Argument[0]", "xpath-injection", "manual"] - - ["github.com/ChrisTrenkamp/goxpath", "", True, "Parse", "", "", "Argument[0]", "xpath-injection", "manual"] - - ["github.com/ChrisTrenkamp/goxpath", "", True, "ParseExec", "", "", "Argument[0]", "xpath-injection", "manual"] + - ["github.com/ChrisTrenkamp/goxpath", "", False, "MustParse", "", "", "Argument[0]", "xpath-injection", "manual"] + - ["github.com/ChrisTrenkamp/goxpath", "", False, "Parse", "", "", "Argument[0]", "xpath-injection", "manual"] + - ["github.com/ChrisTrenkamp/goxpath", "", False, "ParseExec", "", "", "Argument[0]", "xpath-injection", "manual"] diff --git a/go/ql/lib/ext/github.com.codeskyblue.go-sh.model.yml b/go/ql/lib/ext/github.com.codeskyblue.go-sh.model.yml index 2b6d9da1b383..fab0d5915ae0 100644 --- a/go/ql/lib/ext/github.com.codeskyblue.go-sh.model.yml +++ b/go/ql/lib/ext/github.com.codeskyblue.go-sh.model.yml @@ -3,7 +3,7 @@ extensions: pack: codeql/go-all extensible: sinkModel data: - - ["github.com/codeskyblue/go-sh", "", True, "Command", "", "", "Argument[0]", "command-injection", "manual"] + - ["github.com/codeskyblue/go-sh", "", False, "Command", "", "", "Argument[0]", "command-injection", "manual"] - ["github.com/codeskyblue/go-sh", "Session", True, "Call", "", "", "Argument[0]", "command-injection", "manual"] - ["github.com/codeskyblue/go-sh", "Session", True, "Command", "", "", "Argument[0]", "command-injection", "manual"] - ["github.com/codeskyblue/go-sh", "Session", True, "Exec", "", "", "Argument[0]", "command-injection", "manual"] diff --git a/go/ql/lib/ext/github.com.couchbase.gocb.model.yml b/go/ql/lib/ext/github.com.couchbase.gocb.model.yml index 71b11d268828..ff0a4c22c8de 100644 --- a/go/ql/lib/ext/github.com.couchbase.gocb.model.yml +++ b/go/ql/lib/ext/github.com.couchbase.gocb.model.yml @@ -10,8 +10,8 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["group:gocb", "", True, "NewAnalyticsQuery", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["group:gocb", "", True, "NewN1qlQuery", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["group:gocb", "", False, "NewAnalyticsQuery", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["group:gocb", "", False, "NewN1qlQuery", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["group:gocb", "AnalyticsQuery", True, "ContextId", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] - ["group:gocb", "AnalyticsQuery", True, "Deferred", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] - ["group:gocb", "AnalyticsQuery", True, "Pretty", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] diff --git a/go/ql/lib/ext/github.com.cristalhq.jwt.model.yml b/go/ql/lib/ext/github.com.cristalhq.jwt.model.yml index b4d2d3299a45..cdf84d232928 100644 --- a/go/ql/lib/ext/github.com.cristalhq.jwt.model.yml +++ b/go/ql/lib/ext/github.com.cristalhq.jwt.model.yml @@ -3,4 +3,4 @@ extensions: pack: codeql/go-all extensible: sinkModel data: - - ["github.com/cristalhq/jwt", "", True, "NewSignerHS", "", "", "Argument[1]", "credentials-key", "manual"] + - ["github.com/cristalhq/jwt", "", False, "NewSignerHS", "", "", "Argument[1]", "credentials-key", "manual"] diff --git a/go/ql/lib/ext/github.com.dgrijalva.jwt-go.model.yml b/go/ql/lib/ext/github.com.dgrijalva.jwt-go.model.yml index 04db1290669c..90b62a800dba 100644 --- a/go/ql/lib/ext/github.com.dgrijalva.jwt-go.model.yml +++ b/go/ql/lib/ext/github.com.dgrijalva.jwt-go.model.yml @@ -10,12 +10,12 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["github.com/dgrijalva/jwt-go", "", True, "Parse", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["github.com/dgrijalva/jwt-go", "", False, "Parse", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - ["github.com/dgrijalva/jwt-go", "Parser", True, "Parse", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["github.com/dgrijalva/jwt-go", "", True, "ParseWithClaims", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["github.com/dgrijalva/jwt-go", "", False, "ParseWithClaims", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - ["github.com/dgrijalva/jwt-go", "Parser", True, "ParseWithClaims", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["github.com/dgrijalva/jwt-go", "", True, "ParseECPrivateKeyFromPEM", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["github.com/dgrijalva/jwt-go", "", True, "ParseECPublicKeyFromPEM", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["github.com/dgrijalva/jwt-go", "", True, "ParseRSAPrivateKeyFromPEM", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["github.com/dgrijalva/jwt-go", "", True, "ParseRSAPrivateKeyFromPEMWithPassword", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["github.com/dgrijalva/jwt-go", "", True, "ParseRSAPublicKeyFromPEM", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["github.com/dgrijalva/jwt-go", "", False, "ParseECPrivateKeyFromPEM", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["github.com/dgrijalva/jwt-go", "", False, "ParseECPublicKeyFromPEM", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["github.com/dgrijalva/jwt-go", "", False, "ParseRSAPrivateKeyFromPEM", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["github.com/dgrijalva/jwt-go", "", False, "ParseRSAPrivateKeyFromPEMWithPassword", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["github.com/dgrijalva/jwt-go", "", False, "ParseRSAPublicKeyFromPEM", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] diff --git a/go/ql/lib/ext/github.com.evanphx.json-patch.model.yml b/go/ql/lib/ext/github.com.evanphx.json-patch.model.yml index 56649f8dc7f2..4824f521e4ef 100644 --- a/go/ql/lib/ext/github.com.evanphx.json-patch.model.yml +++ b/go/ql/lib/ext/github.com.evanphx.json-patch.model.yml @@ -3,10 +3,10 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["github.com/evanphx/json-patch", "", True, "CreateMergePatch", "", "", "Argument[0..1]", "ReturnValue[0]", "taint", "manual"] - - ["github.com/evanphx/json-patch", "", True, "DecodePatch", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["github.com/evanphx/json-patch", "", True, "MergeMergePatches", "", "", "Argument[0..1]", "ReturnValue[0]", "taint", "manual"] - - ["github.com/evanphx/json-patch", "", True, "MergePatch", "", "", "Argument[0..1]", "ReturnValue[0]", "taint", "manual"] + - ["github.com/evanphx/json-patch", "", False, "CreateMergePatch", "", "", "Argument[0..1]", "ReturnValue[0]", "taint", "manual"] + - ["github.com/evanphx/json-patch", "", False, "DecodePatch", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["github.com/evanphx/json-patch", "", False, "MergeMergePatches", "", "", "Argument[0..1]", "ReturnValue[0]", "taint", "manual"] + - ["github.com/evanphx/json-patch", "", False, "MergePatch", "", "", "Argument[0..1]", "ReturnValue[0]", "taint", "manual"] - ["github.com/evanphx/json-patch", "Patch", True, "Apply", "", "", "Argument[receiver]", "ReturnValue[0]", "taint", "manual"] - ["github.com/evanphx/json-patch", "Patch", True, "Apply", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - ["github.com/evanphx/json-patch", "Patch", True, "ApplyIndent", "", "", "Argument[receiver]", "ReturnValue[0]", "taint", "manual"] diff --git a/go/ql/lib/ext/github.com.go-chi.chi.model.yml b/go/ql/lib/ext/github.com.go-chi.chi.model.yml index 10cb0333aff7..c24e7ab2b4a2 100644 --- a/go/ql/lib/ext/github.com.go-chi.chi.model.yml +++ b/go/ql/lib/ext/github.com.go-chi.chi.model.yml @@ -3,6 +3,6 @@ extensions: pack: codeql/go-all extensible: sourceModel data: - - ["github.com/go-chi/chi", "", True, "URLParam", "", "", "ReturnValue", "remote", "manual"] - - ["github.com/go-chi/chi", "", True, "URLParamFromCtx", "", "", "ReturnValue", "remote", "manual"] + - ["github.com/go-chi/chi", "", False, "URLParam", "", "", "ReturnValue", "remote", "manual"] + - ["github.com/go-chi/chi", "", False, "URLParamFromCtx", "", "", "ReturnValue", "remote", "manual"] - ["github.com/go-chi/chi", "Context", True, "URLParam", "", "", "ReturnValue", "remote", "manual"] diff --git a/go/ql/lib/ext/github.com.go-chi.jwtauth.model.yml b/go/ql/lib/ext/github.com.go-chi.jwtauth.model.yml index eb9e54f171c7..7cfb1ff80f51 100644 --- a/go/ql/lib/ext/github.com.go-chi.jwtauth.model.yml +++ b/go/ql/lib/ext/github.com.go-chi.jwtauth.model.yml @@ -3,4 +3,4 @@ extensions: pack: codeql/go-all extensible: sinkModel data: - - ["github.com/go-chi/jwtauth", "", True, "New", "", "", "Argument[1]", "credentials-key", "manual"] + - ["github.com/go-chi/jwtauth", "", False, "New", "", "", "Argument[1]", "credentials-key", "manual"] diff --git a/go/ql/lib/ext/github.com.go-jose.go-jose.jwt.model.yml b/go/ql/lib/ext/github.com.go-jose.go-jose.jwt.model.yml index 33c9957a66b3..ba06d21a93ef 100644 --- a/go/ql/lib/ext/github.com.go-jose.go-jose.jwt.model.yml +++ b/go/ql/lib/ext/github.com.go-jose.go-jose.jwt.model.yml @@ -16,7 +16,7 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["group:go-jose/jwt", "", True, "ParseEncrypted", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["group:go-jose/jwt", "", True, "ParseSigned", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["group:go-jose/jwt", "", False, "ParseEncrypted", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["group:go-jose/jwt", "", False, "ParseSigned", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - ["group:go-jose/jwt", "NestedJSONWebToken", True, "ParseSignedAndEncrypted", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - ["group:go-jose/jwt", "NestedJSONWebToken", True, "Decrypt", "", "", "Argument[receiver]", "ReturnValue[0]", "taint", "manual"] diff --git a/go/ql/lib/ext/github.com.go-kit.kit.auth.jwt.model.yml b/go/ql/lib/ext/github.com.go-kit.kit.auth.jwt.model.yml index 9ed0791dc540..7a9da5bd4b06 100644 --- a/go/ql/lib/ext/github.com.go-kit.kit.auth.jwt.model.yml +++ b/go/ql/lib/ext/github.com.go-kit.kit.auth.jwt.model.yml @@ -3,4 +3,4 @@ extensions: pack: codeql/go-all extensible: sinkModel data: - - ["github.com/go-kit/kit/auth/jwt", "", True, "NewSigner", "", "", "Argument[1]", "credentials-key", "manual"] + - ["github.com/go-kit/kit/auth/jwt", "", False, "NewSigner", "", "", "Argument[1]", "credentials-key", "manual"] diff --git a/go/ql/lib/ext/github.com.go-xmlpath.xmlpath.model.yml b/go/ql/lib/ext/github.com.go-xmlpath.xmlpath.model.yml index bd002dd25c94..931e65f18326 100644 --- a/go/ql/lib/ext/github.com.go-xmlpath.xmlpath.model.yml +++ b/go/ql/lib/ext/github.com.go-xmlpath.xmlpath.model.yml @@ -14,5 +14,5 @@ extensions: pack: codeql/go-all extensible: sinkModel data: - - ["group:xmlpath", "", True, "Compile", "", "", "Argument[0]", "xpath-injection", "manual"] - - ["group:xmlpath", "", True, "MustCompile", "", "", "Argument[0]", "xpath-injection", "manual"] + - ["group:xmlpath", "", False, "Compile", "", "", "Argument[0]", "xpath-injection", "manual"] + - ["group:xmlpath", "", False, "MustCompile", "", "", "Argument[0]", "xpath-injection", "manual"] diff --git a/go/ql/lib/ext/github.com.gobuffalo.envy.model.yml b/go/ql/lib/ext/github.com.gobuffalo.envy.model.yml index a47dbca95997..1d0d890560d9 100644 --- a/go/ql/lib/ext/github.com.gobuffalo.envy.model.yml +++ b/go/ql/lib/ext/github.com.gobuffalo.envy.model.yml @@ -3,10 +3,10 @@ extensions: pack: codeql/go-all extensible: sourceModel data: - - ["github.com/gobuffalo/envy", "", True, "Environ", "", "", "ReturnValue", "environment", "manual"] - - ["github.com/gobuffalo/envy", "", True, "Get", "", "", "ReturnValue", "environment", "manual"] - - ["github.com/gobuffalo/envy", "", True, "GoBin", "", "", "ReturnValue", "environment", "manual"] - - ["github.com/gobuffalo/envy", "", True, "GoPath", "", "", "ReturnValue", "environment", "manual"] - - ["github.com/gobuffalo/envy", "", True, "GoPaths", "", "", "ReturnValue", "environment", "manual"] - - ["github.com/gobuffalo/envy", "", True, "Map", "", "", "ReturnValue", "environment", "manual"] - - ["github.com/gobuffalo/envy", "", True, "MustGet", "", "", "ReturnValue[0]", "environment", "manual"] + - ["github.com/gobuffalo/envy", "", False, "Environ", "", "", "ReturnValue", "environment", "manual"] + - ["github.com/gobuffalo/envy", "", False, "Get", "", "", "ReturnValue", "environment", "manual"] + - ["github.com/gobuffalo/envy", "", False, "GoBin", "", "", "ReturnValue", "environment", "manual"] + - ["github.com/gobuffalo/envy", "", False, "GoPath", "", "", "ReturnValue", "environment", "manual"] + - ["github.com/gobuffalo/envy", "", False, "GoPaths", "", "", "ReturnValue", "environment", "manual"] + - ["github.com/gobuffalo/envy", "", False, "Map", "", "", "ReturnValue", "environment", "manual"] + - ["github.com/gobuffalo/envy", "", False, "MustGet", "", "", "ReturnValue[0]", "environment", "manual"] diff --git a/go/ql/lib/ext/github.com.gobwas.ws.model.yml b/go/ql/lib/ext/github.com.gobwas.ws.model.yml index bb03c8220c88..fcaaee08d912 100644 --- a/go/ql/lib/ext/github.com.gobwas.ws.model.yml +++ b/go/ql/lib/ext/github.com.gobwas.ws.model.yml @@ -3,5 +3,5 @@ extensions: pack: codeql/go-all extensible: sourceModel data: - - ["github.com/gobwas/ws", "", True, "ReadFrame", "", "", "ReturnValue[0]", "remote", "manual"] - - ["github.com/gobwas/ws", "", True, "ReadHeader", "", "", "ReturnValue[0]", "remote", "manual"] + - ["github.com/gobwas/ws", "", False, "ReadFrame", "", "", "ReturnValue[0]", "remote", "manual"] + - ["github.com/gobwas/ws", "", False, "ReadHeader", "", "", "ReturnValue[0]", "remote", "manual"] diff --git a/go/ql/lib/ext/github.com.golang-jwt.jwt.model.yml b/go/ql/lib/ext/github.com.golang-jwt.jwt.model.yml index 3f6eaac89b6b..494c94709994 100644 --- a/go/ql/lib/ext/github.com.golang-jwt.jwt.model.yml +++ b/go/ql/lib/ext/github.com.golang-jwt.jwt.model.yml @@ -10,14 +10,14 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["github.com/golang-jwt/jwt", "", True, "Parse", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["github.com/golang-jwt/jwt", "", False, "Parse", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - ["github.com/golang-jwt/jwt", "Parser", True, "Parse", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["github.com/golang-jwt/jwt", "", True, "ParseWithClaims", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["github.com/golang-jwt/jwt", "", False, "ParseWithClaims", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - ["github.com/golang-jwt/jwt", "Parser", True, "ParseWithClaims", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["github.com/golang-jwt/jwt", "", True, "ParseECPrivateKeyFromPEM", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["github.com/golang-jwt/jwt", "", True, "ParseECPublicKeyFromPEM", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["github.com/golang-jwt/jwt", "", True, "ParseEdPrivateKeyFromPEM", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["github.com/golang-jwt/jwt", "", True, "ParseEdPublicKeyFromPEM", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["github.com/golang-jwt/jwt", "", True, "ParseRSAPrivateKeyFromPEM", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["github.com/golang-jwt/jwt", "", True, "ParseRSAPublicKeyFromPEM", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["github.com/golang-jwt/jwt", "", True, "RegisterSigningMethod", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["github.com/golang-jwt/jwt", "", False, "ParseECPrivateKeyFromPEM", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["github.com/golang-jwt/jwt", "", False, "ParseECPublicKeyFromPEM", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["github.com/golang-jwt/jwt", "", False, "ParseEdPrivateKeyFromPEM", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["github.com/golang-jwt/jwt", "", False, "ParseEdPublicKeyFromPEM", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["github.com/golang-jwt/jwt", "", False, "ParseRSAPrivateKeyFromPEM", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["github.com/golang-jwt/jwt", "", False, "ParseRSAPublicKeyFromPEM", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["github.com/golang-jwt/jwt", "", False, "RegisterSigningMethod", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] diff --git a/go/ql/lib/ext/github.com.golang.protobuf.proto.model.yml b/go/ql/lib/ext/github.com.golang.protobuf.proto.model.yml index 6daf9851e7da..8513d1198164 100644 --- a/go/ql/lib/ext/github.com.golang.protobuf.proto.model.yml +++ b/go/ql/lib/ext/github.com.golang.protobuf.proto.model.yml @@ -3,7 +3,7 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["github.com/golang/protobuf/proto", "", True, "Clone", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["github.com/golang/protobuf/proto", "", True, "Marshal", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["github.com/golang/protobuf/proto", "", True, "Merge", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - - ["github.com/golang/protobuf/proto", "", True, "Unmarshal", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] + - ["github.com/golang/protobuf/proto", "", False, "Clone", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["github.com/golang/protobuf/proto", "", False, "Marshal", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["github.com/golang/protobuf/proto", "", False, "Merge", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] + - ["github.com/golang/protobuf/proto", "", False, "Unmarshal", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] diff --git a/go/ql/lib/ext/github.com.gorilla.mux.model.yml b/go/ql/lib/ext/github.com.gorilla.mux.model.yml index 438abdf559a4..b97fc4d2c1d2 100644 --- a/go/ql/lib/ext/github.com.gorilla.mux.model.yml +++ b/go/ql/lib/ext/github.com.gorilla.mux.model.yml @@ -3,4 +3,4 @@ extensions: pack: codeql/go-all extensible: sourceModel data: - - ["github.com/gorilla/mux", "", True, "Vars", "", "", "ReturnValue", "remote", "manual"] # TODO: when sources can have access paths, use .MapValue (and .MapKey?) + - ["github.com/gorilla/mux", "", False, "Vars", "", "", "ReturnValue", "remote", "manual"] # TODO: when sources can have access paths, use .MapValue (and .MapKey?) diff --git a/go/ql/lib/ext/github.com.gorilla.websocket.model.yml b/go/ql/lib/ext/github.com.gorilla.websocket.model.yml index a4dafa18b0b2..3f03bba8a48c 100644 --- a/go/ql/lib/ext/github.com.gorilla.websocket.model.yml +++ b/go/ql/lib/ext/github.com.gorilla.websocket.model.yml @@ -3,6 +3,6 @@ extensions: pack: codeql/go-all extensible: sourceModel data: - - ["github.com/gorilla/websocket", "", True, "ReadJSON", "", "", "Argument[1]", "remote", "manual"] + - ["github.com/gorilla/websocket", "", False, "ReadJSON", "", "", "Argument[1]", "remote", "manual"] - ["github.com/gorilla/websocket", "Conn", True, "ReadJSON", "", "", "Argument[0]", "remote", "manual"] - ["github.com/gorilla/websocket", "Conn", True, "ReadMessage", "", "", "ReturnValue[1]", "remote", "manual"] diff --git a/go/ql/lib/ext/github.com.hashicorp.go-envparse.model.yml b/go/ql/lib/ext/github.com.hashicorp.go-envparse.model.yml index bd1303887ac8..73a178fbdcc8 100644 --- a/go/ql/lib/ext/github.com.hashicorp.go-envparse.model.yml +++ b/go/ql/lib/ext/github.com.hashicorp.go-envparse.model.yml @@ -3,4 +3,4 @@ extensions: pack: codeql/go-all extensible: sourceModel data: - - ["github.com/hashicorp/go-envparse", "", True, "Parse", "", "", "ReturnValue", "environment", "manual"] + - ["github.com/hashicorp/go-envparse", "", False, "Parse", "", "", "ReturnValue", "environment", "manual"] diff --git a/go/ql/lib/ext/github.com.joho.godotenv.model.yml b/go/ql/lib/ext/github.com.joho.godotenv.model.yml index 8221901f1cf7..8bd62c5dd0b1 100644 --- a/go/ql/lib/ext/github.com.joho.godotenv.model.yml +++ b/go/ql/lib/ext/github.com.joho.godotenv.model.yml @@ -3,7 +3,7 @@ extensions: pack: codeql/go-all extensible: sourceModel data: - - ["github.com/joho/godotenv", "", True, "Parse", "", "", "ReturnValue", "environment", "manual"] - - ["github.com/joho/godotenv", "", True, "Read", "", "", "ReturnValue", "environment", "manual"] - - ["github.com/joho/godotenv", "", True, "Unmarshal", "", "", "ReturnValue", "environment", "manual"] - - ["github.com/joho/godotenv", "", True, "UnmarshalBytes", "", "", "ReturnValue", "environment", "manual"] + - ["github.com/joho/godotenv", "", False, "Parse", "", "", "ReturnValue", "environment", "manual"] + - ["github.com/joho/godotenv", "", False, "Read", "", "", "ReturnValue", "environment", "manual"] + - ["github.com/joho/godotenv", "", False, "Unmarshal", "", "", "ReturnValue", "environment", "manual"] + - ["github.com/joho/godotenv", "", False, "UnmarshalBytes", "", "", "ReturnValue", "environment", "manual"] diff --git a/go/ql/lib/ext/github.com.json-iterator.go.model.yml b/go/ql/lib/ext/github.com.json-iterator.go.model.yml index f72ec191e063..bf974a171097 100644 --- a/go/ql/lib/ext/github.com.json-iterator.go.model.yml +++ b/go/ql/lib/ext/github.com.json-iterator.go.model.yml @@ -3,7 +3,7 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["github.com/json-iterator/go", "", True, "Unmarshal", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] - - ["github.com/json-iterator/go", "", True, "UnmarshalFromString", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] + - ["github.com/json-iterator/go", "", False, "Unmarshal", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] + - ["github.com/json-iterator/go", "", False, "UnmarshalFromString", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] - ["github.com/json-iterator/go", "API", True, "Unmarshal", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] - ["github.com/json-iterator/go", "API", True, "UnmarshalFromString", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] diff --git a/go/ql/lib/ext/github.com.kataras.iris.middleware.jwt.model.yml b/go/ql/lib/ext/github.com.kataras.iris.middleware.jwt.model.yml index 52e7beacaabb..5bcce412fd42 100644 --- a/go/ql/lib/ext/github.com.kataras.iris.middleware.jwt.model.yml +++ b/go/ql/lib/ext/github.com.kataras.iris.middleware.jwt.model.yml @@ -3,5 +3,5 @@ extensions: pack: codeql/go-all extensible: sinkModel data: - - ["github.com/kataras/iris/middleware/jwt", "", True, "NewSigner", "", "", "Argument[1]", "credentials-key", "manual"] + - ["github.com/kataras/iris/middleware/jwt", "", False, "NewSigner", "", "", "Argument[1]", "credentials-key", "manual"] - ["github.com/kataras/iris/middleware/jwt", "Signer", True, "Key", "", "", "", "credentials-key", "manual"] diff --git a/go/ql/lib/ext/github.com.kataras.jwt.model.yml b/go/ql/lib/ext/github.com.kataras.jwt.model.yml index ab87a7471755..3ecb1e0e577a 100644 --- a/go/ql/lib/ext/github.com.kataras.jwt.model.yml +++ b/go/ql/lib/ext/github.com.kataras.jwt.model.yml @@ -4,7 +4,7 @@ extensions: extensible: sinkModel data: - ["github.com/kataras/jwt", "Keys", True, "Register", "", "", "Argument[3]", "credentials-key", "manual"] - - ["github.com/kataras/jwt", "", True, "Sign", "", "", "Argument[1]", "credentials-key", "manual"] - - ["github.com/kataras/jwt", "", True, "SignEncrypted", "", "", "Argument[1]", "credentials-key", "manual"] - - ["github.com/kataras/jwt", "", True, "SignEncryptedWithHeader", "", "", "Argument[1]", "credentials-key", "manual"] - - ["github.com/kataras/jwt", "", True, "SignWithHeader", "", "", "Argument[1]", "credentials-key", "manual"] + - ["github.com/kataras/jwt", "", False, "Sign", "", "", "Argument[1]", "credentials-key", "manual"] + - ["github.com/kataras/jwt", "", False, "SignEncrypted", "", "", "Argument[1]", "credentials-key", "manual"] + - ["github.com/kataras/jwt", "", False, "SignEncryptedWithHeader", "", "", "Argument[1]", "credentials-key", "manual"] + - ["github.com/kataras/jwt", "", False, "SignWithHeader", "", "", "Argument[1]", "credentials-key", "manual"] diff --git a/go/ql/lib/ext/github.com.kelseyhightower.envconfig.model.yml b/go/ql/lib/ext/github.com.kelseyhightower.envconfig.model.yml index 84b2cfc1fc0a..3b1ba531849e 100644 --- a/go/ql/lib/ext/github.com.kelseyhightower.envconfig.model.yml +++ b/go/ql/lib/ext/github.com.kelseyhightower.envconfig.model.yml @@ -3,9 +3,9 @@ extensions: pack: codeql/go-all extensible: sourceModel data: - - ["github.com/kelseyhightower/envconfig", "", True, "CheckDisallowed", "", "", "Argument[1]", "environment", "manual"] - - ["github.com/kelseyhightower/envconfig", "", True, "MustProcess", "", "", "Argument[1]", "environment", "manual"] - - ["github.com/kelseyhightower/envconfig", "", True, "Process", "", "", "Argument[1]", "environment", "manual"] - - ["github.com/kelseyhightower/envconfig", "", True, "Usage", "", "", "Argument[1]", "environment", "manual"] - - ["github.com/kelseyhightower/envconfig", "", True, "Usagef", "", "", "Argument[1]", "environment", "manual"] - - ["github.com/kelseyhightower/envconfig", "", True, "Usaget", "", "", "Argument[1]", "environment", "manual"] + - ["github.com/kelseyhightower/envconfig", "", False, "CheckDisallowed", "", "", "Argument[1]", "environment", "manual"] + - ["github.com/kelseyhightower/envconfig", "", False, "MustProcess", "", "", "Argument[1]", "environment", "manual"] + - ["github.com/kelseyhightower/envconfig", "", False, "Process", "", "", "Argument[1]", "environment", "manual"] + - ["github.com/kelseyhightower/envconfig", "", False, "Usage", "", "", "Argument[1]", "environment", "manual"] + - ["github.com/kelseyhightower/envconfig", "", False, "Usagef", "", "", "Argument[1]", "environment", "manual"] + - ["github.com/kelseyhightower/envconfig", "", False, "Usaget", "", "", "Argument[1]", "environment", "manual"] diff --git a/go/ql/lib/ext/github.com.lestrrat-go.jwx.jwk.model.yml b/go/ql/lib/ext/github.com.lestrrat-go.jwx.jwk.model.yml index c395430db406..ed2b3f310539 100644 --- a/go/ql/lib/ext/github.com.lestrrat-go.jwx.jwk.model.yml +++ b/go/ql/lib/ext/github.com.lestrrat-go.jwx.jwk.model.yml @@ -3,4 +3,4 @@ extensions: pack: codeql/go-all extensible: sinkModel data: - - ["github.com/lestrrat-go/jwx/jwk", "", True, "New", "", "", "Argument[0]", "credentials-key", "manual"] + - ["github.com/lestrrat-go/jwx/jwk", "", False, "New", "", "", "Argument[0]", "credentials-key", "manual"] diff --git a/go/ql/lib/ext/github.com.lestrrat-go.jwx.model.yml b/go/ql/lib/ext/github.com.lestrrat-go.jwx.model.yml index 14a5cdd74827..78162bf4855a 100644 --- a/go/ql/lib/ext/github.com.lestrrat-go.jwx.model.yml +++ b/go/ql/lib/ext/github.com.lestrrat-go.jwx.model.yml @@ -3,4 +3,4 @@ extensions: pack: codeql/go-all extensible: sinkModel data: - - ["github.com/lestrrat-go/jwx", "", True, "New", "", "", "Argument[0]", "credentials-key", "manual"] + - ["github.com/lestrrat-go/jwx", "", False, "New", "", "", "Argument[0]", "credentials-key", "manual"] diff --git a/go/ql/lib/ext/github.com.lestrrat.go-jwx.jwk.model.yml b/go/ql/lib/ext/github.com.lestrrat.go-jwx.jwk.model.yml index f194e1ec93cc..e4d7fe43de69 100644 --- a/go/ql/lib/ext/github.com.lestrrat.go-jwx.jwk.model.yml +++ b/go/ql/lib/ext/github.com.lestrrat.go-jwx.jwk.model.yml @@ -3,4 +3,4 @@ extensions: pack: codeql/go-all extensible: sinkModel data: - - ["github.com/lestrrat/go-jwx/jwk", "", True, "New", "", "", "Argument[0]", "credentials-key", "manual"] + - ["github.com/lestrrat/go-jwx/jwk", "", False, "New", "", "", "Argument[0]", "credentials-key", "manual"] diff --git a/go/ql/lib/ext/github.com.moovweb.gokogiri.xpath.model.yml b/go/ql/lib/ext/github.com.moovweb.gokogiri.xpath.model.yml index 4bac7eb1c183..144f34e9dfc8 100644 --- a/go/ql/lib/ext/github.com.moovweb.gokogiri.xpath.model.yml +++ b/go/ql/lib/ext/github.com.moovweb.gokogiri.xpath.model.yml @@ -9,4 +9,4 @@ extensions: pack: codeql/go-all extensible: sinkModel data: - - ["group:gokogiri/xpath", "", True, "Compile", "", "", "Argument[0]", "xpath-injection", "manual"] + - ["group:gokogiri/xpath", "", False, "Compile", "", "", "Argument[0]", "xpath-injection", "manual"] diff --git a/go/ql/lib/ext/github.com.santhosh-tekuri.xpathparser.model.yml b/go/ql/lib/ext/github.com.santhosh-tekuri.xpathparser.model.yml index 8ac0e02cedfd..b99bedf38cc8 100644 --- a/go/ql/lib/ext/github.com.santhosh-tekuri.xpathparser.model.yml +++ b/go/ql/lib/ext/github.com.santhosh-tekuri.xpathparser.model.yml @@ -3,5 +3,5 @@ extensions: pack: codeql/go-all extensible: sinkModel data: - - ["github.com/santhosh-tekuri/xpathparser", "", True, "Parse", "", "", "Argument[0]", "xpath-injection", "manual"] - - ["github.com/santhosh-tekuri/xpathparser", "", True, "MustParse", "", "", "Argument[0]", "xpath-injection", "manual"] + - ["github.com/santhosh-tekuri/xpathparser", "", False, "Parse", "", "", "Argument[0]", "xpath-injection", "manual"] + - ["github.com/santhosh-tekuri/xpathparser", "", False, "MustParse", "", "", "Argument[0]", "xpath-injection", "manual"] diff --git a/go/ql/lib/ext/github.com.sendgrid.sendgrid-go.helpers.mail.model.yml b/go/ql/lib/ext/github.com.sendgrid.sendgrid-go.helpers.mail.model.yml index a84acc2624ec..ce8ac14ccfa5 100644 --- a/go/ql/lib/ext/github.com.sendgrid.sendgrid-go.helpers.mail.model.yml +++ b/go/ql/lib/ext/github.com.sendgrid.sendgrid-go.helpers.mail.model.yml @@ -3,4 +3,4 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["github.com/sendgrid/sendgrid-go/helpers/mail", "", True, "NewContent", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] + - ["github.com/sendgrid/sendgrid-go/helpers/mail", "", False, "NewContent", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] diff --git a/go/ql/lib/ext/github.com.valyala.fasthttp.model.yml b/go/ql/lib/ext/github.com.valyala.fasthttp.model.yml index 92ef0132a336..573825276281 100644 --- a/go/ql/lib/ext/github.com.valyala.fasthttp.model.yml +++ b/go/ql/lib/ext/github.com.valyala.fasthttp.model.yml @@ -4,14 +4,14 @@ extensions: extensible: sinkModel data: # request-forgery - - ["github.com/valyala/fasthttp", "", True, "Get", "", "", "Argument[1]", "request-forgery", "manual"] - - ["github.com/valyala/fasthttp", "", True, "GetDeadline", "", "", "Argument[1]", "request-forgery", "manual"] - - ["github.com/valyala/fasthttp", "", True, "GetTimeout", "", "", "Argument[1]", "request-forgery", "manual"] - - ["github.com/valyala/fasthttp", "", True, "Post", "", "", "Argument[1]", "request-forgery", "manual"] - - ["github.com/valyala/fasthttp", "", True, "Dial", "", "", "Argument[0]", "request-forgery[TCP Addr + Port]", "manual"] - - ["github.com/valyala/fasthttp", "", True, "DialDualStack", "", "", "Argument[0]", "request-forgery[TCP Addr + Port]", "manual"] - - ["github.com/valyala/fasthttp", "", True, "DialDualStackTimeout", "", "", "Argument[0]", "request-forgery[TCP Addr + Port]", "manual"] - - ["github.com/valyala/fasthttp", "", True, "DialTimeout", "", "", "Argument[0]", "request-forgery[TCP Addr + Port]", "manual"] + - ["github.com/valyala/fasthttp", "", False, "Get", "", "", "Argument[1]", "request-forgery", "manual"] + - ["github.com/valyala/fasthttp", "", False, "GetDeadline", "", "", "Argument[1]", "request-forgery", "manual"] + - ["github.com/valyala/fasthttp", "", False, "GetTimeout", "", "", "Argument[1]", "request-forgery", "manual"] + - ["github.com/valyala/fasthttp", "", False, "Post", "", "", "Argument[1]", "request-forgery", "manual"] + - ["github.com/valyala/fasthttp", "", False, "Dial", "", "", "Argument[0]", "request-forgery[TCP Addr + Port]", "manual"] + - ["github.com/valyala/fasthttp", "", False, "DialDualStack", "", "", "Argument[0]", "request-forgery[TCP Addr + Port]", "manual"] + - ["github.com/valyala/fasthttp", "", False, "DialDualStackTimeout", "", "", "Argument[0]", "request-forgery[TCP Addr + Port]", "manual"] + - ["github.com/valyala/fasthttp", "", False, "DialTimeout", "", "", "Argument[0]", "request-forgery[TCP Addr + Port]", "manual"] - ["github.com/valyala/fasthttp", "Client", True, "Get", "", "", "Argument[1]", "request-forgery", "manual"] - ["github.com/valyala/fasthttp", "Client", True, "GetDeadline", "", "", "Argument[1]", "request-forgery", "manual"] - ["github.com/valyala/fasthttp", "Client", True, "GetTimeout", "", "", "Argument[1]", "request-forgery", "manual"] @@ -30,11 +30,11 @@ extensions: - ["github.com/valyala/fasthttp", "TCPDialer", True, "DialDualStackTimeout", "", "", "Argument[0]", "request-forgery[TCP Addr + Port]", "manual"] - ["github.com/valyala/fasthttp", "TCPDialer", True, "DialTimeout", "", "", "Argument[0]", "request-forgery[TCP Addr + Port]", "manual"] # path-injection - - ["github.com/valyala/fasthttp", "", True, "SaveMultipartFile", "", "", "Argument[1]", "path-injection", "manual"] - - ["github.com/valyala/fasthttp", "", True, "ServeFile", "", "", "Argument[1]", "path-injection", "manual"] - - ["github.com/valyala/fasthttp", "", True, "ServeFileBytes", "", "", "Argument[1]", "path-injection", "manual"] - - ["github.com/valyala/fasthttp", "", True, "ServeFileBytesUncompressed", "", "", "Argument[1]", "path-injection", "manual"] - - ["github.com/valyala/fasthttp", "", True, "ServeFileUncompressed", "", "", "Argument[1]", "path-injection", "manual"] + - ["github.com/valyala/fasthttp", "", False, "SaveMultipartFile", "", "", "Argument[1]", "path-injection", "manual"] + - ["github.com/valyala/fasthttp", "", False, "ServeFile", "", "", "Argument[1]", "path-injection", "manual"] + - ["github.com/valyala/fasthttp", "", False, "ServeFileBytes", "", "", "Argument[1]", "path-injection", "manual"] + - ["github.com/valyala/fasthttp", "", False, "ServeFileBytesUncompressed", "", "", "Argument[1]", "path-injection", "manual"] + - ["github.com/valyala/fasthttp", "", False, "ServeFileUncompressed", "", "", "Argument[1]", "path-injection", "manual"] - ["github.com/valyala/fasthttp", "RequestCtx", True, "SendFile", "", "", "Argument[0]", "path-injection", "manual"] - ["github.com/valyala/fasthttp", "RequestCtx", True, "SendFileBytes", "", "", "Argument[0]", "path-injection", "manual"] - ["github.com/valyala/fasthttp", "Response", True, "SendFile", "", "", "Argument[0]", "path-injection", "manual"] diff --git a/go/ql/lib/ext/go.uber.org.zap.model.yml b/go/ql/lib/ext/go.uber.org.zap.model.yml index 7d5b2cb231d8..2ca7f7e8a804 100644 --- a/go/ql/lib/ext/go.uber.org.zap.model.yml +++ b/go/ql/lib/ext/go.uber.org.zap.model.yml @@ -3,14 +3,14 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["go.uber.org/zap", "", True, "Any", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] - - ["go.uber.org/zap", "", True, "Binary", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] - - ["go.uber.org/zap", "", True, "ByteString", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] - - ["go.uber.org/zap", "", True, "ByteStrings", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] - - ["go.uber.org/zap", "", True, "Error", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["go.uber.org/zap", "", True, "Errors", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] - - ["go.uber.org/zap", "", True, "NamedError", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] - - ["go.uber.org/zap", "", True, "Reflect", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] - - ["go.uber.org/zap", "", True, "String", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] - - ["go.uber.org/zap", "", True, "Stringp", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] - - ["go.uber.org/zap", "", True, "Strings", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] + - ["go.uber.org/zap", "", False, "Any", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] + - ["go.uber.org/zap", "", False, "Binary", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] + - ["go.uber.org/zap", "", False, "ByteString", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] + - ["go.uber.org/zap", "", False, "ByteStrings", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] + - ["go.uber.org/zap", "", False, "Error", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["go.uber.org/zap", "", False, "Errors", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] + - ["go.uber.org/zap", "", False, "NamedError", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] + - ["go.uber.org/zap", "", False, "Reflect", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] + - ["go.uber.org/zap", "", False, "String", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] + - ["go.uber.org/zap", "", False, "Stringp", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] + - ["go.uber.org/zap", "", False, "Strings", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] diff --git a/go/ql/lib/ext/golang.org.x.net.context.model.yml b/go/ql/lib/ext/golang.org.x.net.context.model.yml index d1036f56d29c..873de75761fb 100644 --- a/go/ql/lib/ext/golang.org.x.net.context.model.yml +++ b/go/ql/lib/ext/golang.org.x.net.context.model.yml @@ -3,8 +3,8 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["golang.org/x/net/context", "", True, "WithCancel", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["golang.org/x/net/context", "", True, "WithDeadline", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["golang.org/x/net/context", "", True, "WithTimeout", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["golang.org/x/net/context", "", True, "WithValue", "", "", "Argument[0..2]", "ReturnValue", "taint", "manual"] + - ["golang.org/x/net/context", "", False, "WithCancel", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["golang.org/x/net/context", "", False, "WithDeadline", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["golang.org/x/net/context", "", False, "WithTimeout", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["golang.org/x/net/context", "", False, "WithValue", "", "", "Argument[0..2]", "ReturnValue", "taint", "manual"] - ["golang.org/x/net/context", "Context", True, "Value", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] diff --git a/go/ql/lib/ext/golang.org.x.net.html.model.yml b/go/ql/lib/ext/golang.org.x.net.html.model.yml index d6be3e28a3aa..5633e8b3b408 100644 --- a/go/ql/lib/ext/golang.org.x.net.html.model.yml +++ b/go/ql/lib/ext/golang.org.x.net.html.model.yml @@ -3,15 +3,15 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["golang.org/x/net/html", "", True, "EscapeString", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["golang.org/x/net/html", "", True, "NewTokenizer", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["golang.org/x/net/html", "", True, "NewTokenizerFragment", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["golang.org/x/net/html", "", True, "Parse", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["golang.org/x/net/html", "", True, "ParseFragment", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["golang.org/x/net/html", "", True, "ParseFragmentWithOptions", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["golang.org/x/net/html", "", True, "ParseWithOptions", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["golang.org/x/net/html", "", True, "Render", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - - ["golang.org/x/net/html", "", True, "UnescapeString", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["golang.org/x/net/html", "", False, "EscapeString", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["golang.org/x/net/html", "", False, "NewTokenizer", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["golang.org/x/net/html", "", False, "NewTokenizerFragment", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["golang.org/x/net/html", "", False, "Parse", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["golang.org/x/net/html", "", False, "ParseFragment", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["golang.org/x/net/html", "", False, "ParseFragmentWithOptions", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["golang.org/x/net/html", "", False, "ParseWithOptions", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["golang.org/x/net/html", "", False, "Render", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] + - ["golang.org/x/net/html", "", False, "UnescapeString", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["golang.org/x/net/html", "Node", True, "AppendChild", "", "", "Argument[0]", "Argument[receiver]", "taint", "manual"] - ["golang.org/x/net/html", "Node", True, "InsertBefore", "", "", "Argument[0]", "Argument[receiver]", "taint", "manual"] - ["golang.org/x/net/html", "Tokenizer", True, "Buffered", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] diff --git a/go/ql/lib/ext/google.golang.org.protobuf.proto.model.yml b/go/ql/lib/ext/google.golang.org.protobuf.proto.model.yml index 5f25f73381d0..988559372565 100644 --- a/go/ql/lib/ext/google.golang.org.protobuf.proto.model.yml +++ b/go/ql/lib/ext/google.golang.org.protobuf.proto.model.yml @@ -3,10 +3,10 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["google.golang.org/protobuf/proto", "", True, "Clone", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["google.golang.org/protobuf/proto", "", True, "Marshal", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["google.golang.org/protobuf/proto", "", True, "Merge", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - - ["google.golang.org/protobuf/proto", "", True, "Unmarshal", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] + - ["google.golang.org/protobuf/proto", "", False, "Clone", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["google.golang.org/protobuf/proto", "", False, "Marshal", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["google.golang.org/protobuf/proto", "", False, "Merge", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] + - ["google.golang.org/protobuf/proto", "", False, "Unmarshal", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] - ["google.golang.org/protobuf/proto", "MarshalOptions", True, "Marshal", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - ["google.golang.org/protobuf/proto", "MarshalOptions", True, "MarshalAppend", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - ["google.golang.org/protobuf/proto", "MarshalOptions", True, "MarshalAppend", "", "", "Argument[1]", "ReturnValue[0]", "taint", "manual"] diff --git a/go/ql/lib/ext/gopkg.in.yaml.model.yml b/go/ql/lib/ext/gopkg.in.yaml.model.yml index 23af4bb12fed..34b973e67198 100644 --- a/go/ql/lib/ext/gopkg.in.yaml.model.yml +++ b/go/ql/lib/ext/gopkg.in.yaml.model.yml @@ -3,10 +3,10 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["gopkg.in/yaml", "", True, "Marshal", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["gopkg.in/yaml", "", True, "Unmarshal", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] - - ["gopkg.in/yaml", "", True, "UnmarshalStrict", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] - - ["gopkg.in/yaml", "", True, "NewDecoder", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["gopkg.in/yaml", "", False, "Marshal", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["gopkg.in/yaml", "", False, "Unmarshal", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] + - ["gopkg.in/yaml", "", False, "UnmarshalStrict", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] + - ["gopkg.in/yaml", "", False, "NewDecoder", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["gopkg.in/yaml", "Decoder", True, "Decode", "", "", "Argument[receiver]", "Argument[0]", "taint", "manual"] - ["gopkg.in/yaml", "Encoder", True, "Encode", "", "", "Argument[0]", "Argument[receiver]", "taint", "manual"] - ["gopkg.in/yaml", "Node", True, "Decode", "", "", "Argument[receiver]", "Argument[0]", "taint", "manual"] diff --git a/go/ql/lib/ext/html.model.yml b/go/ql/lib/ext/html.model.yml index 34003fb231fa..24d4e70152c2 100644 --- a/go/ql/lib/ext/html.model.yml +++ b/go/ql/lib/ext/html.model.yml @@ -3,5 +3,5 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["html", "", True, "EscapeString", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["html", "", True, "UnescapeString", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["html", "", False, "EscapeString", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["html", "", False, "UnescapeString", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] diff --git a/go/ql/lib/ext/html.template.model.yml b/go/ql/lib/ext/html.template.model.yml index 120ee2b304b0..0ee840c4eaed 100644 --- a/go/ql/lib/ext/html.template.model.yml +++ b/go/ql/lib/ext/html.template.model.yml @@ -3,9 +3,9 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["html/template", "", True, "HTMLEscape", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - - ["html/template", "", True, "HTMLEscapeString", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["html/template", "", True, "JSEscape", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - - ["html/template", "", True, "JSEscapeString", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["html/template", "", False, "HTMLEscape", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] + - ["html/template", "", False, "HTMLEscapeString", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["html/template", "", False, "JSEscape", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] + - ["html/template", "", False, "JSEscapeString", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["html/template", "Template", True, "Execute", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - ["html/template", "Template", True, "ExecuteTemplate", "", "", "Argument[2]", "Argument[0]", "taint", "manual"] diff --git a/go/ql/lib/ext/io.fs.model.yml b/go/ql/lib/ext/io.fs.model.yml index 9e9ae4f97a14..1b9be01aba91 100644 --- a/go/ql/lib/ext/io.fs.model.yml +++ b/go/ql/lib/ext/io.fs.model.yml @@ -3,11 +3,11 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["io/fs", "", True, "FileInfoToDirEntry", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["io/fs", "", True, "Glob", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["io/fs", "", True, "ReadDir", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["io/fs", "", True, "ReadFile", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["io/fs", "", True, "Sub", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["io/fs", "", False, "FileInfoToDirEntry", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["io/fs", "", False, "Glob", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["io/fs", "", False, "ReadDir", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["io/fs", "", False, "ReadFile", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["io/fs", "", False, "Sub", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - ["io/fs", "DirEntry", True, "Info", "", "", "Argument[receiver]", "ReturnValue[0]", "taint", "manual"] - ["io/fs", "DirEntry", True, "Name", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] - ["io/fs", "File", True, "Read", "", "", "Argument[receiver]", "Argument[0]", "taint", "manual"] @@ -20,6 +20,6 @@ extensions: pack: codeql/go-all extensible: sourceModel data: - - ["io/fs", "", True, "ReadFile", "", "", "ReturnValue[0]", "file", "manual"] + - ["io/fs", "", False, "ReadFile", "", "", "ReturnValue[0]", "file", "manual"] - ["io/fs", "ReadFileFS", True, "ReadFile", "", "", "ReturnValue[0]", "file", "manual"] - ["io/fs", "FS", True, "Open", "", "", "ReturnValue[0]", "file", "manual"] diff --git a/go/ql/lib/ext/io.ioutil.model.yml b/go/ql/lib/ext/io.ioutil.model.yml index 592e45fd9feb..d5fae77c1d4e 100644 --- a/go/ql/lib/ext/io.ioutil.model.yml +++ b/go/ql/lib/ext/io.ioutil.model.yml @@ -3,19 +3,19 @@ extensions: pack: codeql/go-all extensible: sinkModel data: - - ["io/ioutil", "", True, "ReadDir", "", "", "Argument[0]", "path-injection", "manual"] - - ["io/ioutil", "", True, "ReadFile", "", "", "Argument[0]", "path-injection", "manual"] - - ["io/ioutil", "", True, "TempDir", "", "", "Argument[0..1]", "path-injection", "manual"] - - ["io/ioutil", "", True, "TempFile", "", "", "Argument[0..1]", "path-injection", "manual"] - - ["io/ioutil", "", True, "WriteFile", "", "", "Argument[0]", "path-injection", "manual"] + - ["io/ioutil", "", False, "ReadDir", "", "", "Argument[0]", "path-injection", "manual"] + - ["io/ioutil", "", False, "ReadFile", "", "", "Argument[0]", "path-injection", "manual"] + - ["io/ioutil", "", False, "TempDir", "", "", "Argument[0..1]", "path-injection", "manual"] + - ["io/ioutil", "", False, "TempFile", "", "", "Argument[0..1]", "path-injection", "manual"] + - ["io/ioutil", "", False, "WriteFile", "", "", "Argument[0]", "path-injection", "manual"] - addsTo: pack: codeql/go-all extensible: summaryModel data: - - ["io/ioutil", "", True, "NopCloser", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["io/ioutil", "", True, "ReadAll", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["io/ioutil", "", False, "NopCloser", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["io/ioutil", "", False, "ReadAll", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - addsTo: pack: codeql/go-all extensible: sourceModel data: - - ["io/ioutil", "", True, "ReadFile", "", "", "ReturnValue[0]", "file", "manual"] + - ["io/ioutil", "", False, "ReadFile", "", "", "ReturnValue[0]", "file", "manual"] diff --git a/go/ql/lib/ext/io.model.yml b/go/ql/lib/ext/io.model.yml index 40256276ea82..d9c7190026d5 100644 --- a/go/ql/lib/ext/io.model.yml +++ b/go/ql/lib/ext/io.model.yml @@ -3,18 +3,18 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["io", "", True, "Copy", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - - ["io", "", True, "CopyBuffer", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - - ["io", "", True, "CopyN", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - - ["io", "", True, "LimitReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["io", "", True, "NewSectionReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["io", "", True, "NopCloser", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["io", "", True, "ReadAll", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["io", "", True, "ReadAtLeast", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] - - ["io", "", True, "ReadFull", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] - - ["io", "", True, "TeeReader", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] - - ["io", "", True, "TeeReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["io", "", True, "WriteString", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] + - ["io", "", False, "Copy", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] + - ["io", "", False, "CopyBuffer", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] + - ["io", "", False, "CopyN", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] + - ["io", "", False, "LimitReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["io", "", False, "NewSectionReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["io", "", False, "NopCloser", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["io", "", False, "ReadAll", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["io", "", False, "ReadAtLeast", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] + - ["io", "", False, "ReadFull", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] + - ["io", "", False, "TeeReader", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] + - ["io", "", False, "TeeReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["io", "", False, "WriteString", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - ["io", "Reader", True, "Read", "", "", "Argument[receiver]", "Argument[0]", "taint", "manual"] - ["io", "ReaderAt", True, "ReadAt", "", "", "Argument[receiver]", "Argument[0]", "taint", "manual"] - ["io", "ReaderFrom", True, "ReadFrom", "", "", "Argument[0]", "Argument[receiver]", "taint", "manual"] diff --git a/go/ql/lib/ext/k8s.io.apimachinery.pkg.runtime.model.yml b/go/ql/lib/ext/k8s.io.apimachinery.pkg.runtime.model.yml index f964e1afd423..e960b741ac79 100644 --- a/go/ql/lib/ext/k8s.io.apimachinery.pkg.runtime.model.yml +++ b/go/ql/lib/ext/k8s.io.apimachinery.pkg.runtime.model.yml @@ -3,26 +3,26 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["k8s.io/apimachinery/pkg/runtime", "", True, "Convert_Slice_string_To_Pointer_int64", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] - - ["k8s.io/apimachinery/pkg/runtime", "", True, "Convert_Slice_string_To_int", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] - - ["k8s.io/apimachinery/pkg/runtime", "", True, "Convert_Slice_string_To_int64", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] - - ["k8s.io/apimachinery/pkg/runtime", "", True, "Convert_Slice_string_To_string", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] - - ["k8s.io/apimachinery/pkg/runtime", "", True, "Convert_runtime_Object_To_runtime_RawExtension", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] - - ["k8s.io/apimachinery/pkg/runtime", "", True, "Convert_runtime_RawExtension_To_runtime_Object", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] - - ["k8s.io/apimachinery/pkg/runtime", "", True, "Convert_string_To_Pointer_int64", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] - - ["k8s.io/apimachinery/pkg/runtime", "", True, "Convert_string_To_int64", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] - - ["k8s.io/apimachinery/pkg/runtime", "", True, "Decode", "", "", "Argument[1]", "ReturnValue[0]", "taint", "manual"] - - ["k8s.io/apimachinery/pkg/runtime", "", True, "DecodeInto", "", "", "Argument[1]", "Argument[2]", "taint", "manual"] - - ["k8s.io/apimachinery/pkg/runtime", "", True, "DeepCopyJSON", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["k8s.io/apimachinery/pkg/runtime", "", True, "DeepCopyJSONValue", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["k8s.io/apimachinery/pkg/runtime", "", True, "Encode", "", "", "Argument[1]", "ReturnValue[0]", "taint", "manual"] - - ["k8s.io/apimachinery/pkg/runtime", "", True, "EncodeOrDie", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] - - ["k8s.io/apimachinery/pkg/runtime", "", True, "Field", "", "", "Argument[0]", "Argument[2]", "taint", "manual"] - - ["k8s.io/apimachinery/pkg/runtime", "", True, "FieldPtr", "", "", "Argument[0]", "Argument[2]", "taint", "manual"] - - ["k8s.io/apimachinery/pkg/runtime", "", True, "NewEncodable", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] - - ["k8s.io/apimachinery/pkg/runtime", "", True, "NewEncodableList", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] - - ["k8s.io/apimachinery/pkg/runtime", "", True, "SetField", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] - - ["k8s.io/apimachinery/pkg/runtime", "", True, "UseOrCreateObject", "", "", "Argument[3]", "ReturnValue[0]", "taint", "manual"] + - ["k8s.io/apimachinery/pkg/runtime", "", False, "Convert_Slice_string_To_Pointer_int64", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] + - ["k8s.io/apimachinery/pkg/runtime", "", False, "Convert_Slice_string_To_int", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] + - ["k8s.io/apimachinery/pkg/runtime", "", False, "Convert_Slice_string_To_int64", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] + - ["k8s.io/apimachinery/pkg/runtime", "", False, "Convert_Slice_string_To_string", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] + - ["k8s.io/apimachinery/pkg/runtime", "", False, "Convert_runtime_Object_To_runtime_RawExtension", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] + - ["k8s.io/apimachinery/pkg/runtime", "", False, "Convert_runtime_RawExtension_To_runtime_Object", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] + - ["k8s.io/apimachinery/pkg/runtime", "", False, "Convert_string_To_Pointer_int64", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] + - ["k8s.io/apimachinery/pkg/runtime", "", False, "Convert_string_To_int64", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] + - ["k8s.io/apimachinery/pkg/runtime", "", False, "Decode", "", "", "Argument[1]", "ReturnValue[0]", "taint", "manual"] + - ["k8s.io/apimachinery/pkg/runtime", "", False, "DecodeInto", "", "", "Argument[1]", "Argument[2]", "taint", "manual"] + - ["k8s.io/apimachinery/pkg/runtime", "", False, "DeepCopyJSON", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["k8s.io/apimachinery/pkg/runtime", "", False, "DeepCopyJSONValue", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["k8s.io/apimachinery/pkg/runtime", "", False, "Encode", "", "", "Argument[1]", "ReturnValue[0]", "taint", "manual"] + - ["k8s.io/apimachinery/pkg/runtime", "", False, "EncodeOrDie", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] + - ["k8s.io/apimachinery/pkg/runtime", "", False, "Field", "", "", "Argument[0]", "Argument[2]", "taint", "manual"] + - ["k8s.io/apimachinery/pkg/runtime", "", False, "FieldPtr", "", "", "Argument[0]", "Argument[2]", "taint", "manual"] + - ["k8s.io/apimachinery/pkg/runtime", "", False, "NewEncodable", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] + - ["k8s.io/apimachinery/pkg/runtime", "", False, "NewEncodableList", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] + - ["k8s.io/apimachinery/pkg/runtime", "", False, "SetField", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] + - ["k8s.io/apimachinery/pkg/runtime", "", False, "UseOrCreateObject", "", "", "Argument[3]", "ReturnValue[0]", "taint", "manual"] - ["k8s.io/apimachinery/pkg/runtime", "CacheableObject", True, "CacheEncode", "", "", "Argument[receiver]", "Argument[2]", "taint", "manual"] - ["k8s.io/apimachinery/pkg/runtime", "CacheableObject", True, "GetObject", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] - ["k8s.io/apimachinery/pkg/runtime", "Decoder", True, "Decode", "", "", "Argument[0]", "Argument[2]", "taint", "manual"] diff --git a/go/ql/lib/ext/mime.model.yml b/go/ql/lib/ext/mime.model.yml index b8f81894cd70..9027905423f7 100644 --- a/go/ql/lib/ext/mime.model.yml +++ b/go/ql/lib/ext/mime.model.yml @@ -3,8 +3,8 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["mime", "", True, "FormatMediaType", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] - - ["mime", "", True, "ParseMediaType", "", "", "Argument[0]", "ReturnValue[0..1]", "taint", "manual"] + - ["mime", "", False, "FormatMediaType", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] + - ["mime", "", False, "ParseMediaType", "", "", "Argument[0]", "ReturnValue[0..1]", "taint", "manual"] - ["mime", "WordDecoder", True, "Decode", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - ["mime", "WordDecoder", True, "DecodeHeader", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - ["mime", "WordEncoder", True, "Encode", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] diff --git a/go/ql/lib/ext/mime.multipart.model.yml b/go/ql/lib/ext/mime.multipart.model.yml index 96e7072f611b..410eac26af69 100644 --- a/go/ql/lib/ext/mime.multipart.model.yml +++ b/go/ql/lib/ext/mime.multipart.model.yml @@ -3,7 +3,7 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["mime/multipart", "", True, "NewReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["mime/multipart", "", False, "NewReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["mime/multipart", "FileHeader", True, "Open", "", "", "Argument[receiver]", "ReturnValue[0]", "taint", "manual"] - ["mime/multipart", "Part", True, "FileName", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] - ["mime/multipart", "Part", True, "FormName", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] diff --git a/go/ql/lib/ext/mime.quotedprintable.model.yml b/go/ql/lib/ext/mime.quotedprintable.model.yml index aaf78da2641c..7ac77332727c 100644 --- a/go/ql/lib/ext/mime.quotedprintable.model.yml +++ b/go/ql/lib/ext/mime.quotedprintable.model.yml @@ -3,4 +3,4 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["mime/quotedprintable", "", True, "NewReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["mime/quotedprintable", "", False, "NewReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] diff --git a/go/ql/lib/ext/net.http.httputil.model.yml b/go/ql/lib/ext/net.http.httputil.model.yml index 7ddd5f31152c..783322b36ae6 100644 --- a/go/ql/lib/ext/net.http.httputil.model.yml +++ b/go/ql/lib/ext/net.http.httputil.model.yml @@ -3,12 +3,12 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["net/http/httputil", "", True, "DumpRequest", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["net/http/httputil", "", True, "DumpRequestOut", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["net/http/httputil", "", True, "DumpResponse", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["net/http/httputil", "", True, "NewChunkedReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["net/http/httputil", "", True, "NewClientConn", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] - - ["net/http/httputil", "", True, "NewProxyClientConn", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] + - ["net/http/httputil", "", False, "DumpRequest", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["net/http/httputil", "", False, "DumpRequestOut", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["net/http/httputil", "", False, "DumpResponse", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["net/http/httputil", "", False, "NewChunkedReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["net/http/httputil", "", False, "NewClientConn", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] + - ["net/http/httputil", "", False, "NewProxyClientConn", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] - ["net/http/httputil", "BufferPool", True, "Get", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] - ["net/http/httputil", "BufferPool", True, "Put", "", "", "Argument[0]", "Argument[receiver]", "taint", "manual"] - ["net/http/httputil", "ClientConn", True, "Hijack", "", "", "Argument[receiver]", "ReturnValue[0..1]", "taint", "manual"] diff --git a/go/ql/lib/ext/net.http.model.yml b/go/ql/lib/ext/net.http.model.yml index 0cebf9bfffcd..2bf417cf8f3a 100644 --- a/go/ql/lib/ext/net.http.model.yml +++ b/go/ql/lib/ext/net.http.model.yml @@ -4,21 +4,21 @@ extensions: extensible: sinkModel data: # path-injection - - ["net/http", "", True, "ServeFile", "", "", "Argument[2]", "path-injection", "manual"] + - ["net/http", "", False, "ServeFile", "", "", "Argument[2]", "path-injection", "manual"] # url-redirection - - ["net/http", "", True, "Redirect", "", "", "Argument[2]", "url-redirection[0]", "manual"] + - ["net/http", "", False, "Redirect", "", "", "Argument[2]", "url-redirection[0]", "manual"] - addsTo: pack: codeql/go-all extensible: summaryModel data: - - ["net/http", "", True, "CanonicalHeaderKey", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["net/http", "", True, "Error", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - - ["net/http", "", True, "MaxBytesReader", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] - - ["net/http", "", True, "NewRequest", "", "", "Argument[1]", "ReturnValue[0]", "taint", "manual"] - - ["net/http", "", True, "NewRequestWithContext", "", "", "Argument[2]", "ReturnValue[0]", "taint", "manual"] - - ["net/http", "", True, "ReadRequest", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["net/http", "", True, "ReadResponse", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["net/http", "", True, "SetCookie", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] + - ["net/http", "", False, "CanonicalHeaderKey", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["net/http", "", False, "Error", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] + - ["net/http", "", False, "MaxBytesReader", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] + - ["net/http", "", False, "NewRequest", "", "", "Argument[1]", "ReturnValue[0]", "taint", "manual"] + - ["net/http", "", False, "NewRequestWithContext", "", "", "Argument[2]", "ReturnValue[0]", "taint", "manual"] + - ["net/http", "", False, "ReadRequest", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["net/http", "", False, "ReadResponse", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["net/http", "", False, "SetCookie", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - ["net/http", "Header", True, "Add", "", "", "Argument[0..1]", "Argument[receiver]", "taint", "manual"] - ["net/http", "Header", True, "Clone", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] - ["net/http", "Header", True, "Get", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] diff --git a/go/ql/lib/ext/net.mail.model.yml b/go/ql/lib/ext/net.mail.model.yml index 07532f365ff0..0bb4ef1884bc 100644 --- a/go/ql/lib/ext/net.mail.model.yml +++ b/go/ql/lib/ext/net.mail.model.yml @@ -3,9 +3,9 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["net/mail", "", True, "ParseAddress", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["net/mail", "", True, "ParseAddressList", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["net/mail", "", True, "ReadMessage", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["net/mail", "", False, "ParseAddress", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["net/mail", "", False, "ParseAddressList", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["net/mail", "", False, "ReadMessage", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - ["net/mail", "AddressParser", True, "Parse", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - ["net/mail", "AddressParser", True, "ParseList", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - ["net/mail", "Header", True, "Get", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] diff --git a/go/ql/lib/ext/net.model.yml b/go/ql/lib/ext/net.model.yml index 231f8f850db5..0922b5b31d6f 100644 --- a/go/ql/lib/ext/net.model.yml +++ b/go/ql/lib/ext/net.model.yml @@ -3,10 +3,10 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["net", "", True, "FileConn", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["net", "", True, "FilePacketConn", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["net", "", True, "JoinHostPort", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] - - ["net", "", True, "SplitHostPort", "", "", "Argument[0]", "ReturnValue[0..1]", "taint", "manual"] + - ["net", "", False, "FileConn", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["net", "", False, "FilePacketConn", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["net", "", False, "JoinHostPort", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] + - ["net", "", False, "SplitHostPort", "", "", "Argument[0]", "ReturnValue[0..1]", "taint", "manual"] - ["net", "IPConn", True, "ReadFromIP", "", "", "Argument[receiver]", "Argument[0]", "taint", "manual"] - ["net", "IPConn", True, "ReadMsgIP", "", "", "Argument[receiver]", "Argument[0..1]", "taint", "manual"] - ["net", "IPConn", True, "WriteMsgIP", "", "", "Argument[0..1]", "Argument[receiver]", "taint", "manual"] diff --git a/go/ql/lib/ext/net.textproto.model.yml b/go/ql/lib/ext/net.textproto.model.yml index 4e2e25c71bdc..63a9da4497a5 100644 --- a/go/ql/lib/ext/net.textproto.model.yml +++ b/go/ql/lib/ext/net.textproto.model.yml @@ -3,11 +3,11 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["net/textproto", "", True, "CanonicalMIMEHeaderKey", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["net/textproto", "", True, "NewConn", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["net/textproto", "", True, "NewReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["net/textproto", "", True, "TrimBytes", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["net/textproto", "", True, "TrimString", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["net/textproto", "", False, "CanonicalMIMEHeaderKey", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["net/textproto", "", False, "NewConn", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["net/textproto", "", False, "NewReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["net/textproto", "", False, "TrimBytes", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["net/textproto", "", False, "TrimString", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["net/textproto", "MIMEHeader", True, "Add", "", "", "Argument[0..1]", "Argument[receiver]", "taint", "manual"] - ["net/textproto", "MIMEHeader", True, "Get", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] - ["net/textproto", "MIMEHeader", True, "Set", "", "", "Argument[0..1]", "Argument[receiver]", "taint", "manual"] diff --git a/go/ql/lib/ext/net.url.model.yml b/go/ql/lib/ext/net.url.model.yml index fe615f4bd1c3..0b48aa2352c2 100644 --- a/go/ql/lib/ext/net.url.model.yml +++ b/go/ql/lib/ext/net.url.model.yml @@ -3,15 +3,15 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["net/url", "", True, "Parse", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["net/url", "", True, "ParseQuery", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["net/url", "", True, "ParseRequestURI", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["net/url", "", True, "PathEscape", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["net/url", "", True, "PathUnescape", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["net/url", "", True, "QueryEscape", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["net/url", "", True, "QueryUnescape", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["net/url", "", True, "User", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["net/url", "", True, "UserPassword", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] + - ["net/url", "", False, "Parse", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["net/url", "", False, "ParseQuery", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["net/url", "", False, "ParseRequestURI", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["net/url", "", False, "PathEscape", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["net/url", "", False, "PathUnescape", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["net/url", "", False, "QueryEscape", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["net/url", "", False, "QueryUnescape", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["net/url", "", False, "User", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["net/url", "", False, "UserPassword", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] - ["net/url", "URL", True, "EscapedPath", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] - ["net/url", "URL", True, "Hostname", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] - ["net/url", "URL", True, "MarshalBinary", "", "", "Argument[receiver]", "ReturnValue[0]", "taint", "manual"] diff --git a/go/ql/lib/ext/os.exec.model.yml b/go/ql/lib/ext/os.exec.model.yml index 7ac1d3e20ad4..6b3a80c372c3 100644 --- a/go/ql/lib/ext/os.exec.model.yml +++ b/go/ql/lib/ext/os.exec.model.yml @@ -3,5 +3,5 @@ extensions: pack: codeql/go-all extensible: sinkModel data: - - ["os/exec", "", True, "Command", "", "", "Argument[0]", "command-injection", "manual"] - - ["os/exec", "", True, "CommandContext", "", "", "Argument[1]", "command-injection", "manual"] + - ["os/exec", "", False, "Command", "", "", "Argument[0]", "command-injection", "manual"] + - ["os/exec", "", False, "CommandContext", "", "", "Argument[1]", "command-injection", "manual"] diff --git a/go/ql/lib/ext/os.model.yml b/go/ql/lib/ext/os.model.yml index 16c1d68cf3bc..3d87eefe43f7 100644 --- a/go/ql/lib/ext/os.model.yml +++ b/go/ql/lib/ext/os.model.yml @@ -4,41 +4,41 @@ extensions: extensible: sinkModel data: # path-injection - - ["os", "", True, "Chdir", "", "", "Argument[0]", "path-injection", "manual"] - - ["os", "", True, "Chmod", "", "", "Argument[0]", "path-injection", "manual"] - - ["os", "", True, "Chown", "", "", "Argument[0]", "path-injection", "manual"] - - ["os", "", True, "Chtimes", "", "", "Argument[0]", "path-injection", "manual"] - - ["os", "", True, "Create", "", "", "Argument[0]", "path-injection", "manual"] - - ["os", "", True, "Lchown", "", "", "Argument[0]", "path-injection", "manual"] - - ["os", "", True, "Link", "", "", "Argument[0..1]", "path-injection", "manual"] - - ["os", "", True, "Lstat", "", "", "Argument[0]", "path-injection", "manual"] - - ["os", "", True, "Mkdir", "", "", "Argument[0]", "path-injection", "manual"] - - ["os", "", True, "MkdirAll", "", "", "Argument[0]", "path-injection", "manual"] - - ["os", "", True, "NewFile", "", "", "Argument[1]", "path-injection", "manual"] - - ["os", "", True, "Open", "", "", "Argument[0]", "path-injection", "manual"] - - ["os", "", True, "OpenFile", "", "", "Argument[0]", "path-injection", "manual"] - - ["os", "", True, "Readlink", "", "", "Argument[0]", "path-injection", "manual"] - - ["os", "", True, "Remove", "", "", "Argument[0]", "path-injection", "manual"] - - ["os", "", True, "RemoveAll", "", "", "Argument[0]", "path-injection", "manual"] - - ["os", "", True, "Rename", "", "", "Argument[0..1]", "path-injection", "manual"] - - ["os", "", True, "Stat", "", "", "Argument[0]", "path-injection", "manual"] - - ["os", "", True, "Symlink", "", "", "Argument[0..1]", "path-injection", "manual"] - - ["os", "", True, "Truncate", "", "", "Argument[0]", "path-injection", "manual"] - - ["os", "", True, "DirFS", "", "", "Argument[0]", "path-injection", "manual"] - - ["os", "", True, "ReadDir", "", "", "Argument[0]", "path-injection", "manual"] - - ["os", "", True, "ReadFile", "", "", "Argument[0]", "path-injection", "manual"] - - ["os", "", True, "MkdirTemp", "", "", "Argument[0..1]", "path-injection", "manual"] - - ["os", "", True, "CreateTemp", "", "", "Argument[0..1]", "path-injection", "manual"] - - ["os", "", True, "WriteFile", "", "", "Argument[0]", "path-injection", "manual"] + - ["os", "", False, "Chdir", "", "", "Argument[0]", "path-injection", "manual"] + - ["os", "", False, "Chmod", "", "", "Argument[0]", "path-injection", "manual"] + - ["os", "", False, "Chown", "", "", "Argument[0]", "path-injection", "manual"] + - ["os", "", False, "Chtimes", "", "", "Argument[0]", "path-injection", "manual"] + - ["os", "", False, "Create", "", "", "Argument[0]", "path-injection", "manual"] + - ["os", "", False, "Lchown", "", "", "Argument[0]", "path-injection", "manual"] + - ["os", "", False, "Link", "", "", "Argument[0..1]", "path-injection", "manual"] + - ["os", "", False, "Lstat", "", "", "Argument[0]", "path-injection", "manual"] + - ["os", "", False, "Mkdir", "", "", "Argument[0]", "path-injection", "manual"] + - ["os", "", False, "MkdirAll", "", "", "Argument[0]", "path-injection", "manual"] + - ["os", "", False, "NewFile", "", "", "Argument[1]", "path-injection", "manual"] + - ["os", "", False, "Open", "", "", "Argument[0]", "path-injection", "manual"] + - ["os", "", False, "OpenFile", "", "", "Argument[0]", "path-injection", "manual"] + - ["os", "", False, "Readlink", "", "", "Argument[0]", "path-injection", "manual"] + - ["os", "", False, "Remove", "", "", "Argument[0]", "path-injection", "manual"] + - ["os", "", False, "RemoveAll", "", "", "Argument[0]", "path-injection", "manual"] + - ["os", "", False, "Rename", "", "", "Argument[0..1]", "path-injection", "manual"] + - ["os", "", False, "Stat", "", "", "Argument[0]", "path-injection", "manual"] + - ["os", "", False, "Symlink", "", "", "Argument[0..1]", "path-injection", "manual"] + - ["os", "", False, "Truncate", "", "", "Argument[0]", "path-injection", "manual"] + - ["os", "", False, "DirFS", "", "", "Argument[0]", "path-injection", "manual"] + - ["os", "", False, "ReadDir", "", "", "Argument[0]", "path-injection", "manual"] + - ["os", "", False, "ReadFile", "", "", "Argument[0]", "path-injection", "manual"] + - ["os", "", False, "MkdirTemp", "", "", "Argument[0..1]", "path-injection", "manual"] + - ["os", "", False, "CreateTemp", "", "", "Argument[0..1]", "path-injection", "manual"] + - ["os", "", False, "WriteFile", "", "", "Argument[0]", "path-injection", "manual"] # command-injection - - ["os", "", True, "StartProcess", "", "", "Argument[0]", "command-injection", "manual"] + - ["os", "", False, "StartProcess", "", "", "Argument[0]", "command-injection", "manual"] - addsTo: pack: codeql/go-all extensible: summaryModel data: - - ["os", "", True, "Expand", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["os", "", True, "ExpandEnv", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["os", "", True, "NewFile", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["os", "", False, "Expand", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["os", "", False, "ExpandEnv", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["os", "", False, "NewFile", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["os", "File", True, "Fd", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] - ["os", "File", True, "Read", "", "", "Argument[receiver]", "Argument[0]", "taint", "manual"] - ["os", "File", True, "ReadAt", "", "", "Argument[receiver]", "Argument[0]", "taint", "manual"] @@ -46,13 +46,13 @@ extensions: pack: codeql/go-all extensible: sourceModel data: - - ["os", "", True, "Environ", "", "", "ReturnValue", "environment", "manual"] # TODO: when sources can have access paths, use .ArrayElement - - ["os", "", True, "ExpandEnv", "", "", "ReturnValue", "environment", "manual"] - - ["os", "", True, "Getenv", "", "", "ReturnValue", "environment", "manual"] - - ["os", "", True, "LookupEnv", "", "", "ReturnValue[0]", "environment", "manual"] - - ["os", "", True, "Open", "", "", "ReturnValue[0]", "file", "manual"] - - ["os", "", True, "OpenFile", "", "", "ReturnValue[0]", "file", "manual"] - - ["os", "", True, "ReadFile", "", "", "ReturnValue[0]", "file", "manual"] - - ["os", "", True, "UserCacheDir", "", "", "ReturnValue[0]", "environment", "manual"] - - ["os", "", True, "UserConfigDir", "", "", "ReturnValue[0]", "environment", "manual"] - - ["os", "", True, "UserHomeDir", "", "", "ReturnValue[0]", "environment", "manual"] + - ["os", "", False, "Environ", "", "", "ReturnValue", "environment", "manual"] # TODO: when sources can have access paths, use .ArrayElement + - ["os", "", False, "ExpandEnv", "", "", "ReturnValue", "environment", "manual"] + - ["os", "", False, "Getenv", "", "", "ReturnValue", "environment", "manual"] + - ["os", "", False, "LookupEnv", "", "", "ReturnValue[0]", "environment", "manual"] + - ["os", "", False, "Open", "", "", "ReturnValue[0]", "file", "manual"] + - ["os", "", False, "OpenFile", "", "", "ReturnValue[0]", "file", "manual"] + - ["os", "", False, "ReadFile", "", "", "ReturnValue[0]", "file", "manual"] + - ["os", "", False, "UserCacheDir", "", "", "ReturnValue[0]", "environment", "manual"] + - ["os", "", False, "UserConfigDir", "", "", "ReturnValue[0]", "environment", "manual"] + - ["os", "", False, "UserHomeDir", "", "", "ReturnValue[0]", "environment", "manual"] diff --git a/go/ql/lib/ext/path.filepath.model.yml b/go/ql/lib/ext/path.filepath.model.yml index e997b2dcead7..15bcb7d386d8 100644 --- a/go/ql/lib/ext/path.filepath.model.yml +++ b/go/ql/lib/ext/path.filepath.model.yml @@ -3,16 +3,16 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["path/filepath", "", True, "Abs", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["path/filepath", "", True, "Base", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["path/filepath", "", True, "Clean", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["path/filepath", "", True, "Dir", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["path/filepath", "", True, "EvalSymlinks", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["path/filepath", "", True, "Ext", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["path/filepath", "", True, "FromSlash", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["path/filepath", "", True, "Glob", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["path/filepath", "", True, "Rel", "", "", "Argument[0..1]", "ReturnValue[0]", "taint", "manual"] - - ["path/filepath", "", True, "Split", "", "", "Argument[0]", "ReturnValue[0..1]", "taint", "manual"] - - ["path/filepath", "", True, "SplitList", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["path/filepath", "", True, "ToSlash", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["path/filepath", "", True, "VolumeName", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["path/filepath", "", False, "Abs", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["path/filepath", "", False, "Base", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["path/filepath", "", False, "Clean", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["path/filepath", "", False, "Dir", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["path/filepath", "", False, "EvalSymlinks", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["path/filepath", "", False, "Ext", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["path/filepath", "", False, "FromSlash", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["path/filepath", "", False, "Glob", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["path/filepath", "", False, "Rel", "", "", "Argument[0..1]", "ReturnValue[0]", "taint", "manual"] + - ["path/filepath", "", False, "Split", "", "", "Argument[0]", "ReturnValue[0..1]", "taint", "manual"] + - ["path/filepath", "", False, "SplitList", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["path/filepath", "", False, "ToSlash", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["path/filepath", "", False, "VolumeName", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] diff --git a/go/ql/lib/ext/path.model.yml b/go/ql/lib/ext/path.model.yml index 945aa8d741b9..5a494b24d7ca 100644 --- a/go/ql/lib/ext/path.model.yml +++ b/go/ql/lib/ext/path.model.yml @@ -3,8 +3,8 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["path", "", True, "Base", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["path", "", True, "Clean", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["path", "", True, "Dir", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["path", "", True, "Ext", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["path", "", True, "Split", "", "", "Argument[0]", "ReturnValue[0..1]", "taint", "manual"] + - ["path", "", False, "Base", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["path", "", False, "Clean", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["path", "", False, "Dir", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["path", "", False, "Ext", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["path", "", False, "Split", "", "", "Argument[0]", "ReturnValue[0..1]", "taint", "manual"] diff --git a/go/ql/lib/ext/reflect.model.yml b/go/ql/lib/ext/reflect.model.yml index 19c76216186e..75b207f73a0f 100644 --- a/go/ql/lib/ext/reflect.model.yml +++ b/go/ql/lib/ext/reflect.model.yml @@ -3,10 +3,10 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["reflect", "", True, "AppendSlice", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] - - ["reflect", "", True, "Copy", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - - ["reflect", "", True, "Indirect", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["reflect", "", True, "ValueOf", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["reflect", "", False, "AppendSlice", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] + - ["reflect", "", False, "Copy", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] + - ["reflect", "", False, "Indirect", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["reflect", "", False, "ValueOf", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["reflect", "MapIter", True, "Key", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] - ["reflect", "MapIter", True, "Value", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] - ["reflect", "StructTag", True, "Get", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] diff --git a/go/ql/lib/ext/regexp.model.yml b/go/ql/lib/ext/regexp.model.yml index c5a7ba001b2a..427d708b12e3 100644 --- a/go/ql/lib/ext/regexp.model.yml +++ b/go/ql/lib/ext/regexp.model.yml @@ -3,13 +3,13 @@ extensions: pack: codeql/go-all extensible: sinkModel data: - - ["regexp", "", True, "Compile", "", "", "Argument[0]", "regex-use[c]", "manual"] - - ["regexp", "", True, "CompilePOSIX", "", "", "Argument[0]", "regex-use[c]", "manual"] - - ["regexp", "", True, "MustCompile", "", "", "Argument[0]", "regex-use[c]", "manual"] - - ["regexp", "", True, "MustCompilePOSIX", "", "", "Argument[0]", "regex-use[c]", "manual"] - - ["regexp", "", True, "Match", "", "", "Argument[0]", "regex-use[1]", "manual"] - - ["regexp", "", True, "MatchReader", "", "", "Argument[0]", "regex-use[1]", "manual"] - - ["regexp", "", True, "MatchString", "", "", "Argument[0]", "regex-use[1]", "manual"] + - ["regexp", "", False, "Compile", "", "", "Argument[0]", "regex-use[c]", "manual"] + - ["regexp", "", False, "CompilePOSIX", "", "", "Argument[0]", "regex-use[c]", "manual"] + - ["regexp", "", False, "MustCompile", "", "", "Argument[0]", "regex-use[c]", "manual"] + - ["regexp", "", False, "MustCompilePOSIX", "", "", "Argument[0]", "regex-use[c]", "manual"] + - ["regexp", "", False, "Match", "", "", "Argument[0]", "regex-use[1]", "manual"] + - ["regexp", "", False, "MatchReader", "", "", "Argument[0]", "regex-use[1]", "manual"] + - ["regexp", "", False, "MatchString", "", "", "Argument[0]", "regex-use[1]", "manual"] - ["regexp", "Regexp", True, "Match", "", "", "Argument[receiver]", "regex-use[0]", "manual"] - ["regexp", "Regexp", True, "MatchReader", "", "", "Argument[receiver]", "regex-use[0]", "manual"] - ["regexp", "Regexp", True, "MatchString", "", "", "Argument[receiver]", "regex-use[0]", "manual"] @@ -17,7 +17,7 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["regexp", "", True, "QuoteMeta", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["regexp", "", False, "QuoteMeta", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["regexp", "Regexp", True, "Expand", "", "", "Argument[1..2]", "Argument[0]", "taint", "manual"] - ["regexp", "Regexp", True, "Expand", "", "", "Argument[1..2]", "ReturnValue", "taint", "manual"] - ["regexp", "Regexp", True, "ExpandString", "", "", "Argument[1..2]", "Argument[0]", "taint", "manual"] diff --git a/go/ql/lib/ext/sort.model.yml b/go/ql/lib/ext/sort.model.yml index 132b81728dff..36d0070de66d 100644 --- a/go/ql/lib/ext/sort.model.yml +++ b/go/ql/lib/ext/sort.model.yml @@ -3,4 +3,4 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["sort", "", True, "Reverse", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["sort", "", False, "Reverse", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] diff --git a/go/ql/lib/ext/strconv.model.yml b/go/ql/lib/ext/strconv.model.yml index 50df3745c96d..65203b121064 100644 --- a/go/ql/lib/ext/strconv.model.yml +++ b/go/ql/lib/ext/strconv.model.yml @@ -3,12 +3,12 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["strconv", "", True, "AppendQuote", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] - - ["strconv", "", True, "AppendQuoteToASCII", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] - - ["strconv", "", True, "AppendQuoteToGraphic", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] - - ["strconv", "", True, "Quote", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["strconv", "", True, "QuoteToASCII", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["strconv", "", True, "QuoteToGraphic", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["strconv", "", True, "QuotedPrefix", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["strconv", "", True, "Unquote", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["strconv", "", True, "UnquoteChar", "", "", "Argument[0]", "ReturnValue[2]", "taint", "manual"] + - ["strconv", "", False, "AppendQuote", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] + - ["strconv", "", False, "AppendQuoteToASCII", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] + - ["strconv", "", False, "AppendQuoteToGraphic", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] + - ["strconv", "", False, "Quote", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["strconv", "", False, "QuoteToASCII", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["strconv", "", False, "QuoteToGraphic", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["strconv", "", False, "QuotedPrefix", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["strconv", "", False, "Unquote", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["strconv", "", False, "UnquoteChar", "", "", "Argument[0]", "ReturnValue[2]", "taint", "manual"] diff --git a/go/ql/lib/ext/strings.model.yml b/go/ql/lib/ext/strings.model.yml index 5fcf4b43e961..01015b31517e 100644 --- a/go/ql/lib/ext/strings.model.yml +++ b/go/ql/lib/ext/strings.model.yml @@ -3,37 +3,37 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["strings", "", True, "Fields", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["strings", "", True, "FieldsFunc", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["strings", "", True, "Join", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] - - ["strings", "", True, "Map", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] - - ["strings", "", True, "NewReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["strings", "", True, "Repeat", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["strings", "", True, "Replace", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["strings", "", True, "Replace", "", "", "Argument[2]", "ReturnValue", "taint", "manual"] - - ["strings", "", True, "ReplaceAll", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["strings", "", True, "ReplaceAll", "", "", "Argument[2]", "ReturnValue", "taint", "manual"] - - ["strings", "", True, "Split", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["strings", "", True, "SplitAfter", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["strings", "", True, "SplitAfterN", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["strings", "", True, "SplitN", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["strings", "", True, "Title", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["strings", "", True, "ToLower", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["strings", "", True, "ToLowerSpecial", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] - - ["strings", "", True, "ToTitle", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["strings", "", True, "ToTitleSpecial", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] - - ["strings", "", True, "ToUpper", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["strings", "", True, "ToUpperSpecial", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] - - ["strings", "", True, "ToValidUTF8", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] - - ["strings", "", True, "Trim", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["strings", "", True, "TrimFunc", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["strings", "", True, "TrimLeft", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["strings", "", True, "TrimLeftFunc", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["strings", "", True, "TrimPrefix", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["strings", "", True, "TrimRight", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["strings", "", True, "TrimRightFunc", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["strings", "", True, "TrimSpace", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["strings", "", True, "TrimSuffix", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["strings", "", False, "Fields", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["strings", "", False, "FieldsFunc", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["strings", "", False, "Join", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] + - ["strings", "", False, "Map", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] + - ["strings", "", False, "NewReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["strings", "", False, "Repeat", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["strings", "", False, "Replace", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["strings", "", False, "Replace", "", "", "Argument[2]", "ReturnValue", "taint", "manual"] + - ["strings", "", False, "ReplaceAll", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["strings", "", False, "ReplaceAll", "", "", "Argument[2]", "ReturnValue", "taint", "manual"] + - ["strings", "", False, "Split", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["strings", "", False, "SplitAfter", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["strings", "", False, "SplitAfterN", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["strings", "", False, "SplitN", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["strings", "", False, "Title", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["strings", "", False, "ToLower", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["strings", "", False, "ToLowerSpecial", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] + - ["strings", "", False, "ToTitle", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["strings", "", False, "ToTitleSpecial", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] + - ["strings", "", False, "ToUpper", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["strings", "", False, "ToUpperSpecial", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] + - ["strings", "", False, "ToValidUTF8", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] + - ["strings", "", False, "Trim", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["strings", "", False, "TrimFunc", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["strings", "", False, "TrimLeft", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["strings", "", False, "TrimLeftFunc", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["strings", "", False, "TrimPrefix", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["strings", "", False, "TrimRight", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["strings", "", False, "TrimRightFunc", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["strings", "", False, "TrimSpace", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["strings", "", False, "TrimSuffix", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["strings", "Reader", True, "Reset", "", "", "Argument[0]", "Argument[receiver]", "taint", "manual"] - ["strings", "Replacer", True, "Replace", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["strings", "Replacer", True, "WriteString", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] diff --git a/go/ql/lib/ext/sync.atomic.model.yml b/go/ql/lib/ext/sync.atomic.model.yml index 66e1556b199b..1dd7d995566a 100644 --- a/go/ql/lib/ext/sync.atomic.model.yml +++ b/go/ql/lib/ext/sync.atomic.model.yml @@ -3,18 +3,18 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["sync/atomic", "", True, "AddUintptr", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - - ["sync/atomic", "", True, "AddUintptr", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] - - ["sync/atomic", "", True, "CompareAndSwapPointer", "", "", "Argument[2]", "Argument[0]", "taint", "manual"] - - ["sync/atomic", "", True, "CompareAndSwapUintptr", "", "", "Argument[2]", "Argument[0]", "taint", "manual"] - - ["sync/atomic", "", True, "LoadPointer", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["sync/atomic", "", True, "LoadUintptr", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["sync/atomic", "", True, "StorePointer", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - - ["sync/atomic", "", True, "StoreUintptr", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - - ["sync/atomic", "", True, "SwapPointer", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - - ["sync/atomic", "", True, "SwapPointer", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["sync/atomic", "", True, "SwapUintptr", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - - ["sync/atomic", "", True, "SwapUintptr", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["sync/atomic", "", False, "AddUintptr", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] + - ["sync/atomic", "", False, "AddUintptr", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] + - ["sync/atomic", "", False, "CompareAndSwapPointer", "", "", "Argument[2]", "Argument[0]", "taint", "manual"] + - ["sync/atomic", "", False, "CompareAndSwapUintptr", "", "", "Argument[2]", "Argument[0]", "taint", "manual"] + - ["sync/atomic", "", False, "LoadPointer", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["sync/atomic", "", False, "LoadUintptr", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["sync/atomic", "", False, "StorePointer", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] + - ["sync/atomic", "", False, "StoreUintptr", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] + - ["sync/atomic", "", False, "SwapPointer", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] + - ["sync/atomic", "", False, "SwapPointer", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["sync/atomic", "", False, "SwapUintptr", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] + - ["sync/atomic", "", False, "SwapUintptr", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["sync/atomic", "Pointer", True, "Load", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] - ["sync/atomic", "Pointer", True, "Store", "", "", "Argument[0]", "Argument[receiver]", "taint", "manual"] - ["sync/atomic", "Pointer", True, "Swap", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] diff --git a/go/ql/lib/ext/syscall.model.yml b/go/ql/lib/ext/syscall.model.yml index 23617b1cd529..948cca3e2987 100644 --- a/go/ql/lib/ext/syscall.model.yml +++ b/go/ql/lib/ext/syscall.model.yml @@ -3,20 +3,20 @@ extensions: pack: codeql/go-all extensible: sinkModel data: - - ["syscall", "", True, "Exec", "", "", "Argument[0]", "command-injection", "manual"] - - ["syscall", "", True, "ForkExec", "", "", "Argument[0]", "command-injection", "manual"] - - ["syscall", "", True, "StartProcess", "", "", "Argument[0]", "command-injection", "manual"] - - ["syscall", "", True, "CreateProcess", "", "", "Argument[0]", "command-injection", "manual"] - - ["syscall", "", True, "CreateProcessAsUser", "", "", "Argument[1]", "command-injection", "manual"] + - ["syscall", "", False, "Exec", "", "", "Argument[0]", "command-injection", "manual"] + - ["syscall", "", False, "ForkExec", "", "", "Argument[0]", "command-injection", "manual"] + - ["syscall", "", False, "StartProcess", "", "", "Argument[0]", "command-injection", "manual"] + - ["syscall", "", False, "CreateProcess", "", "", "Argument[0]", "command-injection", "manual"] + - ["syscall", "", False, "CreateProcessAsUser", "", "", "Argument[1]", "command-injection", "manual"] - addsTo: pack: codeql/go-all extensible: summaryModel data: - - ["syscall", "", True, "BytePtrFromString", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["syscall", "", True, "ByteSliceFromString", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["syscall", "", True, "StringBytePtr", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["syscall", "", True, "StringByteSlice", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["syscall", "", True, "StringSlicePtr", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["syscall", "", False, "BytePtrFromString", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["syscall", "", False, "ByteSliceFromString", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["syscall", "", False, "StringBytePtr", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["syscall", "", False, "StringByteSlice", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["syscall", "", False, "StringSlicePtr", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["syscall", "Conn", True, "SyscallConn", "", "", "Argument[receiver]", "ReturnValue[0]", "taint", "manual"] - ["syscall", "RawConn", True, "Read", "", "", "Argument[receiver]", "Argument[0]", "taint", "manual"] - ["syscall", "RawConn", True, "Write", "", "", "Argument[0]", "Argument[receiver]", "taint", "manual"] @@ -24,5 +24,5 @@ extensions: pack: codeql/go-all extensible: sourceModel data: - - ["syscall", "", True, "Environ", "", "", "ReturnValue", "environment", "manual"] - - ["syscall", "", True, "Getenv", "", "", "ReturnValue[0]", "environment", "manual"] + - ["syscall", "", False, "Environ", "", "", "ReturnValue", "environment", "manual"] + - ["syscall", "", False, "Getenv", "", "", "ReturnValue[0]", "environment", "manual"] diff --git a/go/ql/lib/ext/text.template.model.yml b/go/ql/lib/ext/text.template.model.yml index b12fea65133f..669af3a8854f 100644 --- a/go/ql/lib/ext/text.template.model.yml +++ b/go/ql/lib/ext/text.template.model.yml @@ -3,9 +3,9 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["text/template", "", True, "HTMLEscape", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - - ["text/template", "", True, "HTMLEscapeString", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["text/template", "", True, "JSEscape", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - - ["text/template", "", True, "JSEscapeString", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["text/template", "", False, "HTMLEscape", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] + - ["text/template", "", False, "HTMLEscapeString", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["text/template", "", False, "JSEscape", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] + - ["text/template", "", False, "JSEscapeString", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["text/template", "Template", True, "Execute", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - ["text/template", "Template", True, "ExecuteTemplate", "", "", "Argument[2]", "Argument[0]", "taint", "manual"] diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest1.ext.yml b/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest1.ext.yml index 9bcf0cb83add..e64313916ce8 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest1.ext.yml +++ b/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest1.ext.yml @@ -9,7 +9,7 @@ extensions: pack: codeql/go-all extensible: sourceModel data: - - ["github.com/nonexistent/sources", "", True, "ExecuteQuery", "", "", "ReturnValue", "database", "manual"] - - ["github.com/nonexistent/sources", "", True, "ReadEnvironment", "", "", "ReturnValue", "environment", "manual"] - - ["github.com/nonexistent/sources", "", True, "GetCustom", "", "", "ReturnValue", "custom", "manual"] - - ["github.com/nonexistent/sources", "", True, "GetCliArg", "", "", "ReturnValue", "commandargs", "manual"] + - ["github.com/nonexistent/sources", "", False, "ExecuteQuery", "", "", "ReturnValue", "database", "manual"] + - ["github.com/nonexistent/sources", "", False, "ReadEnvironment", "", "", "ReturnValue", "environment", "manual"] + - ["github.com/nonexistent/sources", "", False, "GetCustom", "", "", "ReturnValue", "custom", "manual"] + - ["github.com/nonexistent/sources", "", False, "GetCliArg", "", "", "ReturnValue", "commandargs", "manual"] diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest2.ext.yml b/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest2.ext.yml index 100989327aa3..fe7569e96003 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest2.ext.yml +++ b/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest2.ext.yml @@ -10,7 +10,7 @@ extensions: pack: codeql/go-all extensible: sourceModel data: - - ["github.com/nonexistent/sources", "", True, "ExecuteQuery", "", "", "ReturnValue", "database", "manual"] - - ["github.com/nonexistent/sources", "", True, "ReadEnvironment", "", "", "ReturnValue", "environment", "manual"] - - ["github.com/nonexistent/sources", "", True, "GetCustom", "", "", "ReturnValue", "custom", "manual"] - - ["github.com/nonexistent/sources", "", True, "GetCliArg", "", "", "ReturnValue", "commandargs", "manual"] + - ["github.com/nonexistent/sources", "", False, "ExecuteQuery", "", "", "ReturnValue", "database", "manual"] + - ["github.com/nonexistent/sources", "", False, "ReadEnvironment", "", "", "ReturnValue", "environment", "manual"] + - ["github.com/nonexistent/sources", "", False, "GetCustom", "", "", "ReturnValue", "custom", "manual"] + - ["github.com/nonexistent/sources", "", False, "GetCliArg", "", "", "ReturnValue", "commandargs", "manual"] diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest3.ext.yml b/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest3.ext.yml index 18904b1761cc..bb7762a5467e 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest3.ext.yml +++ b/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest3.ext.yml @@ -10,7 +10,7 @@ extensions: pack: codeql/go-all extensible: sourceModel data: - - ["github.com/nonexistent/sources", "", True, "ExecuteQuery", "", "", "ReturnValue", "database", "manual"] - - ["github.com/nonexistent/sources", "", True, "ReadEnvironment", "", "", "ReturnValue", "environment", "manual"] - - ["github.com/nonexistent/sources", "", True, "GetCustom", "", "", "ReturnValue", "custom", "manual"] - - ["github.com/nonexistent/sources", "", True, "GetCliArg", "", "", "ReturnValue", "commandargs", "manual"] + - ["github.com/nonexistent/sources", "", False, "ExecuteQuery", "", "", "ReturnValue", "database", "manual"] + - ["github.com/nonexistent/sources", "", False, "ReadEnvironment", "", "", "ReturnValue", "environment", "manual"] + - ["github.com/nonexistent/sources", "", False, "GetCustom", "", "", "ReturnValue", "custom", "manual"] + - ["github.com/nonexistent/sources", "", False, "GetCliArg", "", "", "ReturnValue", "commandargs", "manual"] diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest4.ext.yml b/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest4.ext.yml index 340050b6bc01..4754b0ef1f55 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest4.ext.yml +++ b/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest4.ext.yml @@ -10,7 +10,7 @@ extensions: pack: codeql/go-all extensible: sourceModel data: - - ["github.com/nonexistent/sources", "", True, "ExecuteQuery", "", "", "ReturnValue", "database", "manual"] - - ["github.com/nonexistent/sources", "", True, "ReadEnvironment", "", "", "ReturnValue", "environment", "manual"] - - ["github.com/nonexistent/sources", "", True, "GetCustom", "", "", "ReturnValue", "custom", "manual"] - - ["github.com/nonexistent/sources", "", True, "GetCliArg", "", "", "ReturnValue", "commandargs", "manual"] + - ["github.com/nonexistent/sources", "", False, "ExecuteQuery", "", "", "ReturnValue", "database", "manual"] + - ["github.com/nonexistent/sources", "", False, "ReadEnvironment", "", "", "ReturnValue", "environment", "manual"] + - ["github.com/nonexistent/sources", "", False, "GetCustom", "", "", "ReturnValue", "custom", "manual"] + - ["github.com/nonexistent/sources", "", False, "GetCliArg", "", "", "ReturnValue", "commandargs", "manual"] diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest5.ext.yml b/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest5.ext.yml index 12bd819ac3bf..713491d492e3 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest5.ext.yml +++ b/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest5.ext.yml @@ -11,7 +11,7 @@ extensions: pack: codeql/go-all extensible: sourceModel data: - - ["github.com/nonexistent/sources", "", True, "ExecuteQuery", "", "", "ReturnValue", "database", "manual"] - - ["github.com/nonexistent/sources", "", True, "ReadEnvironment", "", "", "ReturnValue", "environment", "manual"] - - ["github.com/nonexistent/sources", "", True, "GetCustom", "", "", "ReturnValue", "custom", "manual"] - - ["github.com/nonexistent/sources", "", True, "GetCliArg", "", "", "ReturnValue", "commandargs", "manual"] + - ["github.com/nonexistent/sources", "", False, "ExecuteQuery", "", "", "ReturnValue", "database", "manual"] + - ["github.com/nonexistent/sources", "", False, "ReadEnvironment", "", "", "ReturnValue", "environment", "manual"] + - ["github.com/nonexistent/sources", "", False, "GetCustom", "", "", "ReturnValue", "custom", "manual"] + - ["github.com/nonexistent/sources", "", False, "GetCliArg", "", "", "ReturnValue", "commandargs", "manual"] diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest6.ext.yml b/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest6.ext.yml index 7c9aa3d7f5d8..cc5a7847fd84 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest6.ext.yml +++ b/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest6.ext.yml @@ -11,7 +11,7 @@ extensions: pack: codeql/go-all extensible: sourceModel data: - - ["github.com/nonexistent/sources", "", True, "ExecuteQuery", "", "", "ReturnValue", "database", "manual"] - - ["github.com/nonexistent/sources", "", True, "ReadEnvironment", "", "", "ReturnValue", "environment", "manual"] - - ["github.com/nonexistent/sources", "", True, "GetCustom", "", "", "ReturnValue", "custom", "manual"] - - ["github.com/nonexistent/sources", "", True, "GetCliArg", "", "", "ReturnValue", "commandargs", "manual"] + - ["github.com/nonexistent/sources", "", False, "ExecuteQuery", "", "", "ReturnValue", "database", "manual"] + - ["github.com/nonexistent/sources", "", False, "ReadEnvironment", "", "", "ReturnValue", "environment", "manual"] + - ["github.com/nonexistent/sources", "", False, "GetCustom", "", "", "ReturnValue", "custom", "manual"] + - ["github.com/nonexistent/sources", "", False, "GetCliArg", "", "", "ReturnValue", "commandargs", "manual"] From 06b72e57826c257b2460a74f858cae7e6893c4dc Mon Sep 17 00:00:00 2001 From: Owen Mansel-Chan Date: Sat, 16 Nov 2024 19:44:32 +0000 Subject: [PATCH 212/347] Update models in test expectation files --- .../DecompressionBombs.expected | 6 +-- .../experimental/CWE-74/DsnInjection.expected | 2 +- .../CWE-74/DsnInjectionLocal.expected | 2 +- .../HTMLTemplateEscapingPassthrough.expected | 2 +- go/ql/test/experimental/CWE-918/SSRF.expected | 12 ++--- .../go/dataflow/HiddenNodes/test.expected | 2 +- .../threat-models-flowtest2.expected | 2 +- .../threat-models-flowtest3.expected | 6 +-- .../threat-models-flowtest4.expected | 8 +-- .../threat-models-flowtest5.expected | 4 +- .../threat-models-flowtest6.expected | 4 +- .../go/frameworks/Beego/ReflectedXss.expected | 34 ++++++------ .../go/frameworks/Beego/TaintedPath.expected | 4 +- .../go/frameworks/Chi/ReflectedXss.expected | 4 +- .../go/frameworks/Echo/ReflectedXss.expected | 2 +- .../go/frameworks/Encoding/jsoniter.expected | 6 +-- .../go/frameworks/Gin/TaintedPath.expected | 2 +- .../frameworks/Gorestful/gorestful.expected | 2 +- .../go/frameworks/Revel/TaintedPath.expected | 2 +- .../frameworks/Twirp/RequestForgery.expected | 4 +- .../frameworks/XNetHtml/ReflectedXss.expected | 14 ++--- .../frameworks/XNetHtml/SqlInjection.expected | 2 +- .../UnhandledCloseWritableHandle.expected | 2 +- .../IncompleteHostnameRegexp.expected | 4 +- .../Security/CWE-022/TaintedPath.expected | 4 +- .../CWE-022/UnsafeUnzipSymlink.expected | 2 +- .../Security/CWE-022/ZipSlip.expected | 10 ++-- .../CWE-078/CommandInjection.expected | 10 ++-- .../Security/CWE-078/StoredCommand.expected | 2 +- .../Security/CWE-079/ReflectedXss.expected | 8 +-- .../Security/CWE-089/SqlInjection.expected | 6 +-- .../Security/CWE-089/StringBreak.expected | 2 +- .../CWE-190/AllocationSizeOverflow.expected | 2 +- .../Security/CWE-327/UnsafeTLS.expected | 6 +-- .../InsecureRandomness.expected | 4 +- .../CWE-347/MissingJwtSignatureCheck.expected | 2 +- .../BadRedirectCheck.expected | 4 +- .../OpenUrlRedirect/OpenUrlRedirect.expected | 2 +- .../Security/CWE-640/EmailInjection.expected | 4 +- .../Security/CWE-643/XPathInjection.expected | 54 +++++++++---------- 40 files changed, 127 insertions(+), 127 deletions(-) diff --git a/go/ql/test/experimental/CWE-522-DecompressionBombs/DecompressionBombs.expected b/go/ql/test/experimental/CWE-522-DecompressionBombs/DecompressionBombs.expected index 29cca2709724..34703cdeef4e 100644 --- a/go/ql/test/experimental/CWE-522-DecompressionBombs/DecompressionBombs.expected +++ b/go/ql/test/experimental/CWE-522-DecompressionBombs/DecompressionBombs.expected @@ -233,10 +233,10 @@ edges models | 1 | Source: net/http; Request; true; Body; ; ; ; remote; manual | | 2 | Source: net/http; Request; true; FormValue; ; ; ReturnValue; remote; manual | -| 3 | Summary: archive/tar; ; true; NewReader; ; ; Argument[0]; ReturnValue; taint; manual | +| 3 | Summary: archive/tar; ; false; NewReader; ; ; Argument[0]; ReturnValue; taint; manual | | 4 | Summary: archive/zip; File; true; Open; ; ; Argument[receiver]; ReturnValue[0]; taint; manual | -| 5 | Summary: bytes; ; true; NewReader; ; ; Argument[0]; ReturnValue; taint; manual | -| 6 | Summary: io; ; true; ReadAll; ; ; Argument[0]; ReturnValue[0]; taint; manual | +| 5 | Summary: bytes; ; false; NewReader; ; ; Argument[0]; ReturnValue; taint; manual | +| 6 | Summary: io; ; false; ReadAll; ; ; Argument[0]; ReturnValue[0]; taint; manual | nodes | test.go:59:16:59:44 | call to FormValue | semmle.label | call to FormValue | | test.go:60:15:60:26 | selection of Body | semmle.label | selection of Body | diff --git a/go/ql/test/experimental/CWE-74/DsnInjection.expected b/go/ql/test/experimental/CWE-74/DsnInjection.expected index d92ad49a6067..e1f66aa14139 100644 --- a/go/ql/test/experimental/CWE-74/DsnInjection.expected +++ b/go/ql/test/experimental/CWE-74/DsnInjection.expected @@ -8,7 +8,7 @@ edges | Dsn.go:49:102:49:105 | name | Dsn.go:49:11:49:106 | call to Sprintf | provenance | FunctionModel | models | 1 | Source: net/http; Request; true; FormValue; ; ; ReturnValue; remote; manual | -| 2 | Summary: fmt; ; true; Sprintf; ; ; Argument[1].ArrayElement; ReturnValue; taint; manual | +| 2 | Summary: fmt; ; false; Sprintf; ; ; Argument[1].ArrayElement; ReturnValue; taint; manual | nodes | Dsn.go:47:10:47:30 | call to FormValue | semmle.label | call to FormValue | | Dsn.go:49:11:49:106 | []type{args} [array] | semmle.label | []type{args} [array] | diff --git a/go/ql/test/experimental/CWE-74/DsnInjectionLocal.expected b/go/ql/test/experimental/CWE-74/DsnInjectionLocal.expected index 7b433794a6c1..ff83f06ebb28 100644 --- a/go/ql/test/experimental/CWE-74/DsnInjectionLocal.expected +++ b/go/ql/test/experimental/CWE-74/DsnInjectionLocal.expected @@ -22,7 +22,7 @@ edges | Dsn.go:67:102:67:108 | selection of dsn | Dsn.go:67:11:67:109 | []type{args} [array] | provenance | | | Dsn.go:67:102:67:108 | selection of dsn | Dsn.go:67:11:67:109 | call to Sprintf | provenance | FunctionModel | models -| 1 | Summary: fmt; ; true; Sprintf; ; ; Argument[1].ArrayElement; ReturnValue; taint; manual | +| 1 | Summary: fmt; ; false; Sprintf; ; ; Argument[1].ArrayElement; ReturnValue; taint; manual | nodes | Dsn.go:26:11:26:17 | selection of Args | semmle.label | selection of Args | | Dsn.go:28:11:28:110 | []type{args} [array] | semmle.label | []type{args} [array] | diff --git a/go/ql/test/experimental/CWE-79/HTMLTemplateEscapingPassthrough.expected b/go/ql/test/experimental/CWE-79/HTMLTemplateEscapingPassthrough.expected index 93d5d1d24ad1..c91fe813e9fe 100644 --- a/go/ql/test/experimental/CWE-79/HTMLTemplateEscapingPassthrough.expected +++ b/go/ql/test/experimental/CWE-79/HTMLTemplateEscapingPassthrough.expected @@ -35,7 +35,7 @@ edges | HTMLTemplateEscapingPassthrough.go:91:64:91:66 | src | HTMLTemplateEscapingPassthrough.go:91:38:91:67 | call to HTMLEscapeString | provenance | MaD:2 | models | 1 | Source: net/http; Request; true; UserAgent; ; ; ReturnValue; remote; manual | -| 2 | Summary: html/template; ; true; HTMLEscapeString; ; ; Argument[0]; ReturnValue; taint; manual | +| 2 | Summary: html/template; ; false; HTMLEscapeString; ; ; Argument[0]; ReturnValue; taint; manual | nodes | HTMLTemplateEscapingPassthrough.go:29:12:29:41 | type conversion | semmle.label | type conversion | | HTMLTemplateEscapingPassthrough.go:29:26:29:40 | call to UserAgent | semmle.label | call to UserAgent | diff --git a/go/ql/test/experimental/CWE-918/SSRF.expected b/go/ql/test/experimental/CWE-918/SSRF.expected index 6e2e9a394ccb..87780085a549 100644 --- a/go/ql/test/experimental/CWE-918/SSRF.expected +++ b/go/ql/test/experimental/CWE-918/SSRF.expected @@ -63,18 +63,18 @@ models | 1 | Source: github.com/gin-gonic/gin; Context; true; Param; ; ; ReturnValue; remote; manual | | 2 | Source: github.com/gin-gonic/gin; Context; true; Query; ; ; ReturnValue; remote; manual | | 3 | Source: github.com/gin-gonic/gin; Context; true; ShouldBindJSON; ; ; Argument[0]; remote; manual | -| 4 | Source: github.com/go-chi/chi; ; true; URLParam; ; ; ReturnValue; remote; manual | -| 5 | Source: github.com/gorilla/mux; ; true; Vars; ; ; ReturnValue; remote; manual | +| 4 | Source: github.com/go-chi/chi; ; false; URLParam; ; ; ReturnValue; remote; manual | +| 5 | Source: github.com/gorilla/mux; ; false; Vars; ; ; ReturnValue; remote; manual | | 6 | Source: net/http; Request; true; Body; ; ; ; remote; manual | | 7 | Source: net/http; Request; true; FormValue; ; ; ReturnValue; remote; manual | | 8 | Source: net/http; Request; true; Referer; ; ; ReturnValue; remote; manual | | 9 | Source: net/http; Request; true; URL; ; ; ; remote; manual | -| 10 | Summary: encoding/json; ; true; Unmarshal; ; ; Argument[0]; Argument[1]; taint; manual | -| 11 | Summary: fmt; ; true; Sprintf; ; ; Argument[1].ArrayElement; ReturnValue; taint; manual | -| 12 | Summary: io/ioutil; ; true; ReadAll; ; ; Argument[0]; ReturnValue[0]; taint; manual | +| 10 | Summary: encoding/json; ; false; Unmarshal; ; ; Argument[0]; Argument[1]; taint; manual | +| 11 | Summary: fmt; ; false; Sprintf; ; ; Argument[1].ArrayElement; ReturnValue; taint; manual | +| 12 | Summary: io/ioutil; ; false; ReadAll; ; ; Argument[0]; ReturnValue[0]; taint; manual | | 13 | Summary: net/url; URL; true; Query; ; ; Argument[receiver]; ReturnValue; taint; manual | | 14 | Summary: net/url; Values; true; Get; ; ; Argument[receiver]; ReturnValue; taint; manual | -| 15 | Summary: strings; ; true; TrimPrefix; ; ; Argument[0]; ReturnValue; taint; manual | +| 15 | Summary: strings; ; false; TrimPrefix; ; ; Argument[0]; ReturnValue; taint; manual | nodes | builtin.go:19:12:19:34 | call to FormValue | semmle.label | call to FormValue | | builtin.go:22:21:22:62 | ...+... | semmle.label | ...+... | diff --git a/go/ql/test/library-tests/semmle/go/dataflow/HiddenNodes/test.expected b/go/ql/test/library-tests/semmle/go/dataflow/HiddenNodes/test.expected index 0a6930c8c2ec..13aa3515962b 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/HiddenNodes/test.expected +++ b/go/ql/test/library-tests/semmle/go/dataflow/HiddenNodes/test.expected @@ -1,5 +1,5 @@ models -| 1 | Summary: archive/tar; ; true; FileInfoHeader; ; ; Argument[0]; ReturnValue[0]; taint; manual | +| 1 | Summary: archive/tar; ; false; FileInfoHeader; ; ; Argument[0]; ReturnValue[0]; taint; manual | edges | test.go:14:8:14:15 | call to source | test.go:15:34:15:35 | fi | provenance | | | test.go:15:2:15:44 | ... := ...[0] | test.go:16:7:16:12 | header | provenance | | diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest2.expected b/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest2.expected index bc4cbe638fef..cf59efbb6ac4 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest2.expected +++ b/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest2.expected @@ -1,5 +1,5 @@ models -| 1 | Source: github.com/nonexistent/sources; ; true; ExecuteQuery; ; ; ReturnValue; database; manual | +| 1 | Source: github.com/nonexistent/sources; ; false; ExecuteQuery; ; ; ReturnValue; database; manual | | 2 | Source: net/http; Request; true; URL; ; ; ; remote; manual | | 3 | Summary: net/url; URL; true; Query; ; ; Argument[receiver]; ReturnValue; taint; manual | | 4 | Summary: net/url; Values; true; Get; ; ; Argument[receiver]; ReturnValue; taint; manual | diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest3.expected b/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest3.expected index 644ab61c9c09..c3138596ac22 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest3.expected +++ b/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest3.expected @@ -1,7 +1,7 @@ models -| 1 | Source: github.com/nonexistent/sources; ; true; ExecuteQuery; ; ; ReturnValue; database; manual | -| 2 | Source: github.com/nonexistent/sources; ; true; GetCliArg; ; ; ReturnValue; commandargs; manual | -| 3 | Source: github.com/nonexistent/sources; ; true; ReadEnvironment; ; ; ReturnValue; environment; manual | +| 1 | Source: github.com/nonexistent/sources; ; false; ExecuteQuery; ; ; ReturnValue; database; manual | +| 2 | Source: github.com/nonexistent/sources; ; false; GetCliArg; ; ; ReturnValue; commandargs; manual | +| 3 | Source: github.com/nonexistent/sources; ; false; ReadEnvironment; ; ; ReturnValue; environment; manual | | 4 | Source: net/http; Request; true; URL; ; ; ; remote; manual | | 5 | Summary: net/url; URL; true; Query; ; ; Argument[receiver]; ReturnValue; taint; manual | | 6 | Summary: net/url; Values; true; Get; ; ; Argument[receiver]; ReturnValue; taint; manual | diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest4.expected b/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest4.expected index e28ad58f2ea8..37db602757c4 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest4.expected +++ b/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest4.expected @@ -1,8 +1,8 @@ models -| 1 | Source: github.com/nonexistent/sources; ; true; ExecuteQuery; ; ; ReturnValue; database; manual | -| 2 | Source: github.com/nonexistent/sources; ; true; GetCliArg; ; ; ReturnValue; commandargs; manual | -| 3 | Source: github.com/nonexistent/sources; ; true; GetCustom; ; ; ReturnValue; custom; manual | -| 4 | Source: github.com/nonexistent/sources; ; true; ReadEnvironment; ; ; ReturnValue; environment; manual | +| 1 | Source: github.com/nonexistent/sources; ; false; ExecuteQuery; ; ; ReturnValue; database; manual | +| 2 | Source: github.com/nonexistent/sources; ; false; GetCliArg; ; ; ReturnValue; commandargs; manual | +| 3 | Source: github.com/nonexistent/sources; ; false; GetCustom; ; ; ReturnValue; custom; manual | +| 4 | Source: github.com/nonexistent/sources; ; false; ReadEnvironment; ; ; ReturnValue; environment; manual | | 5 | Source: net/http; Request; true; URL; ; ; ; remote; manual | | 6 | Summary: net/url; URL; true; Query; ; ; Argument[receiver]; ReturnValue; taint; manual | | 7 | Summary: net/url; Values; true; Get; ; ; Argument[receiver]; ReturnValue; taint; manual | diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest5.expected b/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest5.expected index eac3843cfaeb..92b35dc609b6 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest5.expected +++ b/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest5.expected @@ -1,6 +1,6 @@ models -| 1 | Source: github.com/nonexistent/sources; ; true; GetCliArg; ; ; ReturnValue; commandargs; manual | -| 2 | Source: github.com/nonexistent/sources; ; true; ReadEnvironment; ; ; ReturnValue; environment; manual | +| 1 | Source: github.com/nonexistent/sources; ; false; GetCliArg; ; ; ReturnValue; commandargs; manual | +| 2 | Source: github.com/nonexistent/sources; ; false; ReadEnvironment; ; ; ReturnValue; environment; manual | | 3 | Source: net/http; Request; true; URL; ; ; ; remote; manual | | 4 | Summary: net/url; URL; true; Query; ; ; Argument[receiver]; ReturnValue; taint; manual | | 5 | Summary: net/url; Values; true; Get; ; ; Argument[receiver]; ReturnValue; taint; manual | diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest6.expected b/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest6.expected index 48b374d8d9c0..a5a23bd07251 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest6.expected +++ b/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest6.expected @@ -1,6 +1,6 @@ models -| 1 | Source: github.com/nonexistent/sources; ; true; ExecuteQuery; ; ; ReturnValue; database; manual | -| 2 | Source: github.com/nonexistent/sources; ; true; GetCliArg; ; ; ReturnValue; commandargs; manual | +| 1 | Source: github.com/nonexistent/sources; ; false; ExecuteQuery; ; ; ReturnValue; database; manual | +| 2 | Source: github.com/nonexistent/sources; ; false; GetCliArg; ; ; ReturnValue; commandargs; manual | | 3 | Source: net/http; Request; true; URL; ; ; ; remote; manual | | 4 | Summary: net/url; URL; true; Query; ; ; Argument[receiver]; ReturnValue; taint; manual | | 5 | Summary: net/url; Values; true; Get; ; ; Argument[receiver]; ReturnValue; taint; manual | diff --git a/go/ql/test/library-tests/semmle/go/frameworks/Beego/ReflectedXss.expected b/go/ql/test/library-tests/semmle/go/frameworks/Beego/ReflectedXss.expected index 0d0a445d860c..aa0345f221e1 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/Beego/ReflectedXss.expected +++ b/go/ql/test/library-tests/semmle/go/frameworks/Beego/ReflectedXss.expected @@ -176,26 +176,26 @@ models | 19 | Source: group:beego; Controller; true; Input; ; ; ReturnValue[0]; remote; manual | | 20 | Source: group:beego; Controller; true; ParseForm; ; ; Argument[0]; remote; manual | | 21 | Source: net/http; Request; true; Form; ; ; ; remote; manual | -| 22 | Summary: group:beego-utils; ; true; SliceChunk; ; ; Argument[0]; ReturnValue; taint; manual | -| 23 | Summary: group:beego-utils; ; true; SliceDiff; ; ; Argument[0]; ReturnValue; taint; manual | -| 24 | Summary: group:beego-utils; ; true; SliceFilter; ; ; Argument[0]; ReturnValue; taint; manual | -| 25 | Summary: group:beego-utils; ; true; SliceIntersect; ; ; Argument[0..1]; ReturnValue; taint; manual | -| 26 | Summary: group:beego-utils; ; true; SliceMerge; ; ; Argument[0..1]; ReturnValue; taint; manual | -| 27 | Summary: group:beego-utils; ; true; SlicePad; ; ; Argument[0..2]; ReturnValue; taint; manual | -| 28 | Summary: group:beego-utils; ; true; SliceRand; ; ; Argument[0]; ReturnValue; taint; manual | -| 29 | Summary: group:beego-utils; ; true; SliceReduce; ; ; Argument[0]; ReturnValue; taint; manual | -| 30 | Summary: group:beego-utils; ; true; SliceShuffle; ; ; Argument[0]; ReturnValue; taint; manual | -| 31 | Summary: group:beego-utils; ; true; SliceUnique; ; ; Argument[0]; ReturnValue; taint; manual | +| 22 | Summary: group:beego-utils; ; false; SliceChunk; ; ; Argument[0]; ReturnValue; taint; manual | +| 23 | Summary: group:beego-utils; ; false; SliceDiff; ; ; Argument[0]; ReturnValue; taint; manual | +| 24 | Summary: group:beego-utils; ; false; SliceFilter; ; ; Argument[0]; ReturnValue; taint; manual | +| 25 | Summary: group:beego-utils; ; false; SliceIntersect; ; ; Argument[0..1]; ReturnValue; taint; manual | +| 26 | Summary: group:beego-utils; ; false; SliceMerge; ; ; Argument[0..1]; ReturnValue; taint; manual | +| 27 | Summary: group:beego-utils; ; false; SlicePad; ; ; Argument[0..2]; ReturnValue; taint; manual | +| 28 | Summary: group:beego-utils; ; false; SliceRand; ; ; Argument[0]; ReturnValue; taint; manual | +| 29 | Summary: group:beego-utils; ; false; SliceReduce; ; ; Argument[0]; ReturnValue; taint; manual | +| 30 | Summary: group:beego-utils; ; false; SliceShuffle; ; ; Argument[0]; ReturnValue; taint; manual | +| 31 | Summary: group:beego-utils; ; false; SliceUnique; ; ; Argument[0]; ReturnValue; taint; manual | | 32 | Summary: group:beego-utils; BeeMap; true; Get; ; ; Argument[receiver]; ReturnValue; taint; manual | | 33 | Summary: group:beego-utils; BeeMap; true; Items; ; ; Argument[receiver]; ReturnValue; taint; manual | | 34 | Summary: group:beego-utils; BeeMap; true; Set; ; ; Argument[1]; Argument[receiver]; taint; manual | -| 35 | Summary: group:beego; ; true; HTML2str; ; ; Argument[0]; ReturnValue; taint; manual | -| 36 | Summary: group:beego; ; true; Htmlunquote; ; ; Argument[0]; ReturnValue; taint; manual | -| 37 | Summary: group:beego; ; true; MapGet; ; ; Argument[0]; ReturnValue[0]; taint; manual | -| 38 | Summary: group:beego; ; true; ParseForm; ; ; Argument[0]; Argument[1]; taint; manual | -| 39 | Summary: group:beego; ; true; Str2html; ; ; Argument[0]; ReturnValue; taint; manual | -| 40 | Summary: group:beego; ; true; Substr; ; ; Argument[0]; ReturnValue; taint; manual | -| 41 | Summary: io/ioutil; ; true; ReadAll; ; ; Argument[0]; ReturnValue[0]; taint; manual | +| 35 | Summary: group:beego; ; false; HTML2str; ; ; Argument[0]; ReturnValue; taint; manual | +| 36 | Summary: group:beego; ; false; Htmlunquote; ; ; Argument[0]; ReturnValue; taint; manual | +| 37 | Summary: group:beego; ; false; MapGet; ; ; Argument[0]; ReturnValue[0]; taint; manual | +| 38 | Summary: group:beego; ; false; ParseForm; ; ; Argument[0]; Argument[1]; taint; manual | +| 39 | Summary: group:beego; ; false; Str2html; ; ; Argument[0]; ReturnValue; taint; manual | +| 40 | Summary: group:beego; ; false; Substr; ; ; Argument[0]; ReturnValue; taint; manual | +| 41 | Summary: io/ioutil; ; false; ReadAll; ; ; Argument[0]; ReturnValue[0]; taint; manual | nodes | test.go:33:6:33:10 | definition of bound | semmle.label | definition of bound | | test.go:35:13:35:30 | type conversion | semmle.label | type conversion | diff --git a/go/ql/test/library-tests/semmle/go/frameworks/Beego/TaintedPath.expected b/go/ql/test/library-tests/semmle/go/frameworks/Beego/TaintedPath.expected index 875d267025e2..98b536aac656 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/Beego/TaintedPath.expected +++ b/go/ql/test/library-tests/semmle/go/frameworks/Beego/TaintedPath.expected @@ -17,13 +17,13 @@ edges | test.go:340:15:340:26 | call to Data | test.go:344:23:344:31 | untrusted | provenance | Src:MaD:6 Sink:MaD:1 | models | 1 | Sink: group:beego-context; BeegoOutput; true; Download; ; ; Argument[0]; path-injection; manual | -| 2 | Sink: group:beego; ; true; Walk; ; ; Argument[1]; path-injection; manual | +| 2 | Sink: group:beego; ; false; Walk; ; ; Argument[1]; path-injection; manual | | 3 | Sink: group:beego; Controller; true; SaveToFile; ; ; Argument[1]; path-injection; manual | | 4 | Sink: group:beego; Controller; true; SaveToFileWithBuffer; ; ; Argument[1]; path-injection; manual | | 5 | Sink: group:beego; FileSystem; true; Open; ; ; Argument[0]; path-injection; manual | | 6 | Source: group:beego-context; BeegoInput; true; Data; ; ; ReturnValue[0]; remote; manual | | 7 | Source: group:beego-context; BeegoInput; true; RequestBody; ; ; ; remote; manual | -| 8 | Summary: encoding/json; ; true; Unmarshal; ; ; Argument[0]; Argument[1]; taint; manual | +| 8 | Summary: encoding/json; ; false; Unmarshal; ; ; Argument[0]; Argument[1]; taint; manual | nodes | test.go:215:15:215:26 | call to Data | semmle.label | call to Data | | test.go:216:18:216:26 | untrusted | semmle.label | untrusted | diff --git a/go/ql/test/library-tests/semmle/go/frameworks/Chi/ReflectedXss.expected b/go/ql/test/library-tests/semmle/go/frameworks/Chi/ReflectedXss.expected index 654cff9463c6..56bbc4ed6054 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/Chi/ReflectedXss.expected +++ b/go/ql/test/library-tests/semmle/go/frameworks/Chi/ReflectedXss.expected @@ -11,8 +11,8 @@ edges | test.go:23:18:23:60 | call to URLParamFromCtx | test.go:23:11:23:61 | type conversion | provenance | Src:MaD:2 | | test.go:24:18:24:71 | call to URLParam | test.go:24:11:24:72 | type conversion | provenance | Src:MaD:3 | models -| 1 | Source: github.com/go-chi/chi; ; true; URLParam; ; ; ReturnValue; remote; manual | -| 2 | Source: github.com/go-chi/chi; ; true; URLParamFromCtx; ; ; ReturnValue; remote; manual | +| 1 | Source: github.com/go-chi/chi; ; false; URLParam; ; ; ReturnValue; remote; manual | +| 2 | Source: github.com/go-chi/chi; ; false; URLParamFromCtx; ; ; ReturnValue; remote; manual | | 3 | Source: github.com/go-chi/chi; Context; true; URLParam; ; ; ReturnValue; remote; manual | | 4 | Source: net/http; Request; true; URL; ; ; ; remote; manual | nodes diff --git a/go/ql/test/library-tests/semmle/go/frameworks/Echo/ReflectedXss.expected b/go/ql/test/library-tests/semmle/go/frameworks/Echo/ReflectedXss.expected index c115d4f86431..61b8706f4e05 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/Echo/ReflectedXss.expected +++ b/go/ql/test/library-tests/semmle/go/frameworks/Echo/ReflectedXss.expected @@ -74,7 +74,7 @@ models | 16 | Summary: io; Reader; true; Read; ; ; Argument[receiver]; Argument[0]; taint; manual | | 17 | Summary: mime/multipart; FileHeader; true; Open; ; ; Argument[receiver]; ReturnValue[0]; taint; manual | | 18 | Summary: os; File; true; Read; ; ; Argument[receiver]; Argument[0]; taint; manual | -| 19 | Summary: strings; ; true; NewReader; ; ; Argument[0]; ReturnValue; taint; manual | +| 19 | Summary: strings; ; false; NewReader; ; ; Argument[0]; ReturnValue; taint; manual | nodes | test.go:15:11:15:32 | call to Param | semmle.label | call to Param | | test.go:16:16:16:20 | param | semmle.label | param | diff --git a/go/ql/test/library-tests/semmle/go/frameworks/Encoding/jsoniter.expected b/go/ql/test/library-tests/semmle/go/frameworks/Encoding/jsoniter.expected index 9ff49f5b9291..0e79c3135b08 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/Encoding/jsoniter.expected +++ b/go/ql/test/library-tests/semmle/go/frameworks/Encoding/jsoniter.expected @@ -1,7 +1,7 @@ models -| 1 | Sink: os/exec; ; true; Command; ; ; Argument[0]; command-injection; manual | -| 2 | Summary: github.com/json-iterator/go; ; true; Unmarshal; ; ; Argument[0]; Argument[1]; taint; manual | -| 3 | Summary: github.com/json-iterator/go; ; true; UnmarshalFromString; ; ; Argument[0]; Argument[1]; taint; manual | +| 1 | Sink: os/exec; ; false; Command; ; ; Argument[0]; command-injection; manual | +| 2 | Summary: github.com/json-iterator/go; ; false; Unmarshal; ; ; Argument[0]; Argument[1]; taint; manual | +| 3 | Summary: github.com/json-iterator/go; ; false; UnmarshalFromString; ; ; Argument[0]; Argument[1]; taint; manual | | 4 | Summary: github.com/json-iterator/go; API; true; Unmarshal; ; ; Argument[0]; Argument[1]; taint; manual | | 5 | Summary: github.com/json-iterator/go; API; true; UnmarshalFromString; ; ; Argument[0]; Argument[1]; taint; manual | edges diff --git a/go/ql/test/library-tests/semmle/go/frameworks/Gin/TaintedPath.expected b/go/ql/test/library-tests/semmle/go/frameworks/Gin/TaintedPath.expected index d16514649f3c..4cb6f63a829f 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/Gin/TaintedPath.expected +++ b/go/ql/test/library-tests/semmle/go/frameworks/Gin/TaintedPath.expected @@ -12,7 +12,7 @@ models | 1 | Sink: github.com/gin-gonic/gin; Context; true; File; ; ; Argument[0]; path-injection; manual | | 2 | Sink: github.com/gin-gonic/gin; Context; true; FileAttachment; ; ; Argument[0]; path-injection; manual | | 3 | Sink: github.com/gin-gonic/gin; Context; true; SaveUploadedFile; ; ; Argument[1]; path-injection; manual | -| 4 | Sink: net/http; ; true; ServeFile; ; ; Argument[2]; path-injection; manual | +| 4 | Sink: net/http; ; false; ServeFile; ; ; Argument[2]; path-injection; manual | | 5 | Source: github.com/gin-gonic/gin; Context; true; Query; ; ; ReturnValue; remote; manual | nodes | Gin.go:24:15:24:33 | call to Query | semmle.label | call to Query | diff --git a/go/ql/test/library-tests/semmle/go/frameworks/Gorestful/gorestful.expected b/go/ql/test/library-tests/semmle/go/frameworks/Gorestful/gorestful.expected index 7ec09bf530d4..4cdacabe873d 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/Gorestful/gorestful.expected +++ b/go/ql/test/library-tests/semmle/go/frameworks/Gorestful/gorestful.expected @@ -1,5 +1,5 @@ models -| 1 | Sink: os/exec; ; true; Command; ; ; Argument[0]; command-injection; manual | +| 1 | Sink: os/exec; ; false; Command; ; ; Argument[0]; command-injection; manual | | 2 | Source: github.com/emicklei/go-restful; Request; true; BodyParameter; ; ; ReturnValue[0]; remote; manual | | 3 | Source: github.com/emicklei/go-restful; Request; true; PathParameters; ; ; ReturnValue; remote; manual | | 4 | Source: github.com/emicklei/go-restful; Request; true; QueryParameters; ; ; ReturnValue; remote; manual | diff --git a/go/ql/test/library-tests/semmle/go/frameworks/Revel/TaintedPath.expected b/go/ql/test/library-tests/semmle/go/frameworks/Revel/TaintedPath.expected index 7706161f2f27..7337f636c477 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/Revel/TaintedPath.expected +++ b/go/ql/test/library-tests/semmle/go/frameworks/Revel/TaintedPath.expected @@ -8,7 +8,7 @@ edges | EndToEnd.go:64:26:64:38 | selection of Form | EndToEnd.go:64:26:64:55 | call to Get | provenance | MaD:4 Sink:MaD:1 | models | 1 | Sink: group:revel; Controller; true; RenderFileName; ; ; Argument[0]; path-injection; manual | -| 2 | Sink: os; ; true; Open; ; ; Argument[0]; path-injection; manual | +| 2 | Sink: os; ; false; Open; ; ; Argument[0]; path-injection; manual | | 3 | Source: group:revel; Controller; true; Params; ; ; ; remote; manual | | 4 | Summary: net/url; Values; true; Get; ; ; Argument[receiver]; ReturnValue; taint; manual | nodes diff --git a/go/ql/test/library-tests/semmle/go/frameworks/Twirp/RequestForgery.expected b/go/ql/test/library-tests/semmle/go/frameworks/Twirp/RequestForgery.expected index 648650dcb57c..82c4c950c6e4 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/Twirp/RequestForgery.expected +++ b/go/ql/test/library-tests/semmle/go/frameworks/Twirp/RequestForgery.expected @@ -25,8 +25,8 @@ edges | server/main.go:19:56:19:61 | definition of params [Return] | rpc/notes/service.twirp.go:574:2:574:2 | capture variable reqContent | provenance | | models | 1 | Source: net/http; Request; true; Body; ; ; ; remote; manual | -| 2 | Summary: google.golang.org/protobuf/proto; ; true; Unmarshal; ; ; Argument[0]; Argument[1]; taint; manual | -| 3 | Summary: io; ; true; ReadAll; ; ; Argument[0]; ReturnValue[0]; taint; manual | +| 2 | Summary: google.golang.org/protobuf/proto; ; false; Unmarshal; ; ; Argument[0]; Argument[1]; taint; manual | +| 3 | Summary: io; ; false; ReadAll; ; ; Argument[0]; ReturnValue[0]; taint; manual | nodes | client/main.go:16:35:16:78 | &... | semmle.label | &... | | rpc/notes/service.twirp.go:473:6:473:13 | definition of typedReq | semmle.label | definition of typedReq | diff --git a/go/ql/test/library-tests/semmle/go/frameworks/XNetHtml/ReflectedXss.expected b/go/ql/test/library-tests/semmle/go/frameworks/XNetHtml/ReflectedXss.expected index bb1af2a7a3f3..b94733d5054b 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/XNetHtml/ReflectedXss.expected +++ b/go/ql/test/library-tests/semmle/go/frameworks/XNetHtml/ReflectedXss.expected @@ -71,13 +71,13 @@ edges models | 1 | Source: net/http; Request; true; Body; ; ; ; remote; manual | | 2 | Source: net/http; Request; true; URL; ; ; ; remote; manual | -| 3 | Summary: golang.org/x/net/html; ; true; NewTokenizer; ; ; Argument[0]; ReturnValue; taint; manual | -| 4 | Summary: golang.org/x/net/html; ; true; NewTokenizerFragment; ; ; Argument[0]; ReturnValue; taint; manual | -| 5 | Summary: golang.org/x/net/html; ; true; Parse; ; ; Argument[0]; ReturnValue[0]; taint; manual | -| 6 | Summary: golang.org/x/net/html; ; true; ParseFragment; ; ; Argument[0]; ReturnValue[0]; taint; manual | -| 7 | Summary: golang.org/x/net/html; ; true; ParseFragmentWithOptions; ; ; Argument[0]; ReturnValue[0]; taint; manual | -| 8 | Summary: golang.org/x/net/html; ; true; ParseWithOptions; ; ; Argument[0]; ReturnValue[0]; taint; manual | -| 9 | Summary: golang.org/x/net/html; ; true; UnescapeString; ; ; Argument[0]; ReturnValue; taint; manual | +| 3 | Summary: golang.org/x/net/html; ; false; NewTokenizer; ; ; Argument[0]; ReturnValue; taint; manual | +| 4 | Summary: golang.org/x/net/html; ; false; NewTokenizerFragment; ; ; Argument[0]; ReturnValue; taint; manual | +| 5 | Summary: golang.org/x/net/html; ; false; Parse; ; ; Argument[0]; ReturnValue[0]; taint; manual | +| 6 | Summary: golang.org/x/net/html; ; false; ParseFragment; ; ; Argument[0]; ReturnValue[0]; taint; manual | +| 7 | Summary: golang.org/x/net/html; ; false; ParseFragmentWithOptions; ; ; Argument[0]; ReturnValue[0]; taint; manual | +| 8 | Summary: golang.org/x/net/html; ; false; ParseWithOptions; ; ; Argument[0]; ReturnValue[0]; taint; manual | +| 9 | Summary: golang.org/x/net/html; ; false; UnescapeString; ; ; Argument[0]; ReturnValue; taint; manual | | 10 | Summary: golang.org/x/net/html; Node; true; AppendChild; ; ; Argument[0]; Argument[receiver]; taint; manual | | 11 | Summary: golang.org/x/net/html; Node; true; InsertBefore; ; ; Argument[0]; Argument[receiver]; taint; manual | | 12 | Summary: golang.org/x/net/html; Tokenizer; true; Buffered; ; ; Argument[receiver]; ReturnValue; taint; manual | diff --git a/go/ql/test/library-tests/semmle/go/frameworks/XNetHtml/SqlInjection.expected b/go/ql/test/library-tests/semmle/go/frameworks/XNetHtml/SqlInjection.expected index c25bd5f5c38b..c28b1058e7c7 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/XNetHtml/SqlInjection.expected +++ b/go/ql/test/library-tests/semmle/go/frameworks/XNetHtml/SqlInjection.expected @@ -5,7 +5,7 @@ edges | test.go:57:29:57:40 | selection of Value | test.go:57:11:57:41 | call to EscapeString | provenance | MaD:2 | models | 1 | Source: net/http; Request; true; Cookie; ; ; ReturnValue[0]; remote; manual | -| 2 | Summary: golang.org/x/net/html; ; true; EscapeString; ; ; Argument[0]; ReturnValue; taint; manual | +| 2 | Summary: golang.org/x/net/html; ; false; EscapeString; ; ; Argument[0]; ReturnValue; taint; manual | nodes | test.go:56:2:56:42 | ... := ...[0] | semmle.label | ... := ...[0] | | test.go:57:11:57:41 | call to EscapeString | semmle.label | call to EscapeString | diff --git a/go/ql/test/query-tests/InconsistentCode/UnhandledCloseWritableHandle/UnhandledCloseWritableHandle.expected b/go/ql/test/query-tests/InconsistentCode/UnhandledCloseWritableHandle/UnhandledCloseWritableHandle.expected index ee8bb8d7375f..dc54af70dbba 100644 --- a/go/ql/test/query-tests/InconsistentCode/UnhandledCloseWritableHandle/UnhandledCloseWritableHandle.expected +++ b/go/ql/test/query-tests/InconsistentCode/UnhandledCloseWritableHandle/UnhandledCloseWritableHandle.expected @@ -24,7 +24,7 @@ edges | tests.go:108:5:108:78 | ... := ...[0] | tests.go:110:9:110:9 | f | provenance | Src:MaD:1 | | tests.go:125:5:125:78 | ... := ...[0] | tests.go:129:3:129:3 | f | provenance | Src:MaD:1 | models -| 1 | Source: os; ; true; OpenFile; ; ; ReturnValue[0]; file; manual | +| 1 | Source: os; ; false; OpenFile; ; ; ReturnValue[0]; file; manual | nodes | tests.go:8:24:8:24 | definition of f | semmle.label | definition of f | | tests.go:9:8:9:8 | f | semmle.label | f | diff --git a/go/ql/test/query-tests/Security/CWE-020/IncompleteHostnameRegexp/IncompleteHostnameRegexp.expected b/go/ql/test/query-tests/Security/CWE-020/IncompleteHostnameRegexp/IncompleteHostnameRegexp.expected index dd6675363334..1b984aeedee4 100644 --- a/go/ql/test/query-tests/Security/CWE-020/IncompleteHostnameRegexp/IncompleteHostnameRegexp.expected +++ b/go/ql/test/query-tests/Security/CWE-020/IncompleteHostnameRegexp/IncompleteHostnameRegexp.expected @@ -10,8 +10,8 @@ edges | main.go:49:21:49:45 | `https://www.example.com` | main.go:62:15:62:25 | sourceConst | provenance | | | main.go:62:15:62:25 | sourceConst | main.go:65:15:65:23 | localVar3 | provenance | Sink:MaD:1 | models -| 1 | Sink: regexp; ; true; Match; ; ; Argument[0]; regex-use[1]; manual | -| 2 | Sink: regexp; ; true; MatchString; ; ; Argument[0]; regex-use[1]; manual | +| 1 | Sink: regexp; ; false; Match; ; ; Argument[0]; regex-use[1]; manual | +| 2 | Sink: regexp; ; false; MatchString; ; ; Argument[0]; regex-use[1]; manual | nodes | IncompleteHostnameRegexp.go:11:8:11:36 | "^((www\|beta).)?example.com/" | semmle.label | "^((www\|beta).)?example.com/" | | IncompleteHostnameRegexp.go:12:38:12:39 | re | semmle.label | re | diff --git a/go/ql/test/query-tests/Security/CWE-022/TaintedPath.expected b/go/ql/test/query-tests/Security/CWE-022/TaintedPath.expected index ba73f68772fe..839d35f663ce 100644 --- a/go/ql/test/query-tests/Security/CWE-022/TaintedPath.expected +++ b/go/ql/test/query-tests/Security/CWE-022/TaintedPath.expected @@ -10,10 +10,10 @@ edges | TaintedPath.go:21:57:21:68 | tainted_path | TaintedPath.go:21:28:21:69 | call to Join | provenance | FunctionModel Sink:MaD:1 | | TaintedPath.go:68:39:68:56 | ...+... | TaintedPath.go:68:28:68:57 | call to Clean | provenance | MaD:4 Sink:MaD:1 | models -| 1 | Sink: io/ioutil; ; true; ReadFile; ; ; Argument[0]; path-injection; manual | +| 1 | Sink: io/ioutil; ; false; ReadFile; ; ; Argument[0]; path-injection; manual | | 2 | Source: net/http; Request; true; URL; ; ; ; remote; manual | | 3 | Summary: net/url; URL; true; Query; ; ; Argument[receiver]; ReturnValue; taint; manual | -| 4 | Summary: path; ; true; Clean; ; ; Argument[0]; ReturnValue; taint; manual | +| 4 | Summary: path; ; false; Clean; ; ; Argument[0]; ReturnValue; taint; manual | nodes | TaintedPath.go:14:18:14:22 | selection of URL | semmle.label | selection of URL | | TaintedPath.go:14:18:14:30 | call to Query | semmle.label | call to Query | diff --git a/go/ql/test/query-tests/Security/CWE-022/UnsafeUnzipSymlink.expected b/go/ql/test/query-tests/Security/CWE-022/UnsafeUnzipSymlink.expected index e0444bcdab01..3276c0771093 100644 --- a/go/ql/test/query-tests/Security/CWE-022/UnsafeUnzipSymlink.expected +++ b/go/ql/test/query-tests/Security/CWE-022/UnsafeUnzipSymlink.expected @@ -10,7 +10,7 @@ edges | UnsafeUnzipSymlink.go:126:17:126:31 | selection of Linkname | UnsafeUnzipSymlink.go:111:19:111:26 | definition of linkName | provenance | | | UnsafeUnzipSymlink.go:126:34:126:44 | selection of Name | UnsafeUnzipSymlink.go:111:29:111:36 | definition of fileName | provenance | | models -| 1 | Sink: os; ; true; Symlink; ; ; Argument[0..1]; path-injection; manual | +| 1 | Sink: os; ; false; Symlink; ; ; Argument[0..1]; path-injection; manual | nodes | UnsafeUnzipSymlink.go:31:15:31:29 | selection of Linkname | semmle.label | selection of Linkname | | UnsafeUnzipSymlink.go:31:32:31:42 | selection of Name | semmle.label | selection of Name | diff --git a/go/ql/test/query-tests/Security/CWE-022/ZipSlip.expected b/go/ql/test/query-tests/Security/CWE-022/ZipSlip.expected index 5641fe1e3ead..7cb981667da2 100644 --- a/go/ql/test/query-tests/Security/CWE-022/ZipSlip.expected +++ b/go/ql/test/query-tests/Security/CWE-022/ZipSlip.expected @@ -17,11 +17,11 @@ edges | tarslip.go:16:23:16:33 | selection of Name | tarslip.go:16:14:16:34 | call to Dir | provenance | MaD:5 Sink:MaD:2 | | tst.go:23:2:43:2 | range statement[1] | tst.go:29:20:29:23 | path | provenance | Sink:MaD:1 | models -| 1 | Sink: io/ioutil; ; true; WriteFile; ; ; Argument[0]; path-injection; manual | -| 2 | Sink: os; ; true; MkdirAll; ; ; Argument[0]; path-injection; manual | -| 3 | Sink: os; ; true; Readlink; ; ; Argument[0]; path-injection; manual | -| 4 | Summary: path/filepath; ; true; Abs; ; ; Argument[0]; ReturnValue[0]; taint; manual | -| 5 | Summary: path; ; true; Dir; ; ; Argument[0]; ReturnValue; taint; manual | +| 1 | Sink: io/ioutil; ; false; WriteFile; ; ; Argument[0]; path-injection; manual | +| 2 | Sink: os; ; false; MkdirAll; ; ; Argument[0]; path-injection; manual | +| 3 | Sink: os; ; false; Readlink; ; ; Argument[0]; path-injection; manual | +| 4 | Summary: path/filepath; ; false; Abs; ; ; Argument[0]; ReturnValue[0]; taint; manual | +| 5 | Summary: path; ; false; Dir; ; ; Argument[0]; ReturnValue; taint; manual | nodes | UnsafeUnzipSymlinkGood.go:52:24:52:32 | definition of candidate | semmle.label | definition of candidate | | UnsafeUnzipSymlinkGood.go:61:31:61:62 | call to Join | semmle.label | call to Join | diff --git a/go/ql/test/query-tests/Security/CWE-078/CommandInjection.expected b/go/ql/test/query-tests/Security/CWE-078/CommandInjection.expected index 5ade5857fb86..dff32df4e1ff 100644 --- a/go/ql/test/query-tests/Security/CWE-078/CommandInjection.expected +++ b/go/ql/test/query-tests/Security/CWE-078/CommandInjection.expected @@ -146,12 +146,12 @@ edges | SanitizingDoubleDash.go:143:21:143:28 | arrayLit [array] | SanitizingDoubleDash.go:143:14:143:35 | call to append | provenance | MaD:3 | | SanitizingDoubleDash.go:143:21:143:28 | arrayLit [array] | SanitizingDoubleDash.go:143:14:143:35 | call to append [array] | provenance | MaD:3 | models -| 1 | Sink: os/exec; ; true; Command; ; ; Argument[0]; command-injection; manual | +| 1 | Sink: os/exec; ; false; Command; ; ; Argument[0]; command-injection; manual | | 2 | Source: net/http; Request; true; URL; ; ; ; remote; manual | -| 3 | Summary: ; ; true; append; ; ; Argument[0].ArrayElement; ReturnValue.ArrayElement; value; manual | -| 4 | Summary: ; ; true; append; ; ; Argument[0]; ReturnValue; taint; manual | -| 5 | Summary: ; ; true; append; ; ; Argument[1].ArrayElement; ReturnValue.ArrayElement; value; manual | -| 6 | Summary: fmt; ; true; Sprintf; ; ; Argument[1].ArrayElement; ReturnValue; taint; manual | +| 3 | Summary: ; ; false; append; ; ; Argument[0].ArrayElement; ReturnValue.ArrayElement; value; manual | +| 4 | Summary: ; ; false; append; ; ; Argument[0]; ReturnValue; taint; manual | +| 5 | Summary: ; ; false; append; ; ; Argument[1].ArrayElement; ReturnValue.ArrayElement; value; manual | +| 6 | Summary: fmt; ; false; Sprintf; ; ; Argument[1].ArrayElement; ReturnValue; taint; manual | | 7 | Summary: net/url; URL; true; Query; ; ; Argument[receiver]; ReturnValue; taint; manual | nodes | ArgumentInjection.go:9:10:9:16 | selection of URL | semmle.label | selection of URL | diff --git a/go/ql/test/query-tests/Security/CWE-078/StoredCommand.expected b/go/ql/test/query-tests/Security/CWE-078/StoredCommand.expected index 0ee36cc39e5e..12be518a98b9 100644 --- a/go/ql/test/query-tests/Security/CWE-078/StoredCommand.expected +++ b/go/ql/test/query-tests/Security/CWE-078/StoredCommand.expected @@ -5,7 +5,7 @@ edges | StoredCommand.go:13:2:13:5 | rows | StoredCommand.go:13:12:13:19 | &... | provenance | FunctionModel | | StoredCommand.go:13:12:13:19 | &... | StoredCommand.go:14:22:14:28 | cmdName | provenance | Sink:MaD:1 | models -| 1 | Sink: os/exec; ; true; Command; ; ; Argument[0]; command-injection; manual | +| 1 | Sink: os/exec; ; false; Command; ; ; Argument[0]; command-injection; manual | nodes | StoredCommand.go:11:2:11:27 | ... := ...[0] | semmle.label | ... := ...[0] | | StoredCommand.go:13:2:13:5 | rows | semmle.label | rows | diff --git a/go/ql/test/query-tests/Security/CWE-079/ReflectedXss.expected b/go/ql/test/query-tests/Security/CWE-079/ReflectedXss.expected index ef6843cb5538..647113f3c6b5 100644 --- a/go/ql/test/query-tests/Security/CWE-079/ReflectedXss.expected +++ b/go/ql/test/query-tests/Security/CWE-079/ReflectedXss.expected @@ -69,7 +69,7 @@ edges | websocketXss.go:50:3:50:10 | definition of gorilla2 | websocketXss.go:52:24:52:31 | gorilla2 | provenance | Src:MaD:2 | | websocketXss.go:54:3:54:38 | ... := ...[1] | websocketXss.go:55:24:55:31 | gorilla3 | provenance | Src:MaD:3 | models -| 1 | Source: github.com/gorilla/websocket; ; true; ReadJSON; ; ; Argument[1]; remote; manual | +| 1 | Source: github.com/gorilla/websocket; ; false; ReadJSON; ; ; Argument[1]; remote; manual | | 2 | Source: github.com/gorilla/websocket; Conn; true; ReadJSON; ; ; Argument[0]; remote; manual | | 3 | Source: github.com/gorilla/websocket; Conn; true; ReadMessage; ; ; ReturnValue[1]; remote; manual | | 4 | Source: golang.org/x/net/websocket; Codec; true; Receive; ; ; Argument[1]; remote; manual | @@ -80,14 +80,14 @@ models | 9 | Source: net/http; Request; true; MultipartReader; ; ; ReturnValue[0]; remote; manual | | 10 | Source: net/http; Request; true; URL; ; ; ; remote; manual | | 11 | Source: nhooyr.io/websocket; Conn; true; Read; ; ; ReturnValue[1]; remote; manual | -| 12 | Summary: fmt; ; true; Sprintf; ; ; Argument[1].ArrayElement; ReturnValue; taint; manual | -| 13 | Summary: io/ioutil; ; true; ReadAll; ; ; Argument[0]; ReturnValue[0]; taint; manual | +| 12 | Summary: fmt; ; false; Sprintf; ; ; Argument[1].ArrayElement; ReturnValue; taint; manual | +| 13 | Summary: io/ioutil; ; false; ReadAll; ; ; Argument[0]; ReturnValue[0]; taint; manual | | 14 | Summary: io; Reader; true; Read; ; ; Argument[receiver]; Argument[0]; taint; manual | | 15 | Summary: mime/multipart; Part; true; FileName; ; ; Argument[receiver]; ReturnValue; taint; manual | | 16 | Summary: mime/multipart; Reader; true; NextPart; ; ; Argument[receiver]; ReturnValue[0]; taint; manual | | 17 | Summary: net/url; URL; true; Query; ; ; Argument[receiver]; ReturnValue; taint; manual | | 18 | Summary: net/url; Values; true; Get; ; ; Argument[receiver]; ReturnValue; taint; manual | -| 19 | Summary: strings; ; true; Join; ; ; Argument[0..1]; ReturnValue; taint; manual | +| 19 | Summary: strings; ; false; Join; ; ; Argument[0..1]; ReturnValue; taint; manual | nodes | ReflectedXss.go:11:15:11:20 | selection of Form | semmle.label | selection of Form | | ReflectedXss.go:11:15:11:36 | call to Get | semmle.label | call to Get | diff --git a/go/ql/test/query-tests/Security/CWE-089/SqlInjection.expected b/go/ql/test/query-tests/Security/CWE-089/SqlInjection.expected index 06cd819269a7..79d8809e19f9 100644 --- a/go/ql/test/query-tests/Security/CWE-089/SqlInjection.expected +++ b/go/ql/test/query-tests/Security/CWE-089/SqlInjection.expected @@ -139,9 +139,9 @@ models | 3 | Source: net/http; Request; true; Header; ; ; ; remote; manual | | 4 | Source: net/http; Request; true; Referer; ; ; ReturnValue; remote; manual | | 5 | Source: net/http; Request; true; URL; ; ; ; remote; manual | -| 6 | Summary: encoding/json; ; true; Unmarshal; ; ; Argument[0]; Argument[1]; taint; manual | -| 7 | Summary: fmt; ; true; Sprintf; ; ; Argument[1].ArrayElement; ReturnValue; taint; manual | -| 8 | Summary: io/ioutil; ; true; ReadAll; ; ; Argument[0]; ReturnValue[0]; taint; manual | +| 6 | Summary: encoding/json; ; false; Unmarshal; ; ; Argument[0]; Argument[1]; taint; manual | +| 7 | Summary: fmt; ; false; Sprintf; ; ; Argument[1].ArrayElement; ReturnValue; taint; manual | +| 8 | Summary: io/ioutil; ; false; ReadAll; ; ; Argument[0]; ReturnValue[0]; taint; manual | | 9 | Summary: net/http; Header; true; Get; ; ; Argument[receiver]; ReturnValue; taint; manual | | 10 | Summary: net/url; URL; true; Query; ; ; Argument[receiver]; ReturnValue; taint; manual | nodes diff --git a/go/ql/test/query-tests/Security/CWE-089/StringBreak.expected b/go/ql/test/query-tests/Security/CWE-089/StringBreak.expected index 8528aa86a129..5deab249337e 100644 --- a/go/ql/test/query-tests/Security/CWE-089/StringBreak.expected +++ b/go/ql/test/query-tests/Security/CWE-089/StringBreak.expected @@ -11,7 +11,7 @@ edges | StringBreakMismatched.go:25:13:25:61 | call to Replace | StringBreakMismatched.go:29:27:29:33 | escaped | provenance | | | StringBreakMismatched.go:25:29:25:47 | type conversion | StringBreakMismatched.go:25:13:25:61 | call to Replace | provenance | MaD:1 | models -| 1 | Summary: strings; ; true; Replace; ; ; Argument[0]; ReturnValue; taint; manual | +| 1 | Summary: strings; ; false; Replace; ; ; Argument[0]; ReturnValue; taint; manual | nodes | StringBreak.go:10:2:10:40 | ... := ...[0] | semmle.label | ... := ...[0] | | StringBreak.go:14:47:14:57 | versionJSON | semmle.label | versionJSON | diff --git a/go/ql/test/query-tests/Security/CWE-190/AllocationSizeOverflow.expected b/go/ql/test/query-tests/Security/CWE-190/AllocationSizeOverflow.expected index 196eaa367188..3a9de1ebe600 100644 --- a/go/ql/test/query-tests/Security/CWE-190/AllocationSizeOverflow.expected +++ b/go/ql/test/query-tests/Security/CWE-190/AllocationSizeOverflow.expected @@ -31,7 +31,7 @@ edges | tst.go:34:2:34:30 | ... = ...[0] | tst.go:35:26:35:33 | jsonData | provenance | | | tst.go:35:26:35:33 | jsonData | tst.go:35:22:35:34 | call to len | provenance | Config | models -| 1 | Source: io/ioutil; ; true; ReadFile; ; ; ReturnValue[0]; file; manual | +| 1 | Source: io/ioutil; ; false; ReadFile; ; ; ReturnValue[0]; file; manual | nodes | AllocationSizeOverflow.go:6:2:6:33 | ... := ...[0] | semmle.label | ... := ...[0] | | AllocationSizeOverflow.go:10:10:10:22 | call to len | semmle.label | call to len | diff --git a/go/ql/test/query-tests/Security/CWE-327/UnsafeTLS.expected b/go/ql/test/query-tests/Security/CWE-327/UnsafeTLS.expected index 9e7c44ec3b41..539e1070af88 100644 --- a/go/ql/test/query-tests/Security/CWE-327/UnsafeTLS.expected +++ b/go/ql/test/query-tests/Security/CWE-327/UnsafeTLS.expected @@ -87,9 +87,9 @@ edges | UnsafeTLS.go:450:6:450:48 | selection of TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 | UnsafeTLS.go:449:19:451:5 | slice literal | provenance | | | UnsafeTLS.go:457:6:457:48 | selection of TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 | UnsafeTLS.go:456:19:458:5 | slice literal | provenance | | models -| 1 | Summary: ; ; true; append; ; ; Argument[0].ArrayElement; ReturnValue.ArrayElement; value; manual | -| 2 | Summary: ; ; true; append; ; ; Argument[0]; ReturnValue; taint; manual | -| 3 | Summary: ; ; true; append; ; ; Argument[1].ArrayElement; ReturnValue.ArrayElement; value; manual | +| 1 | Summary: ; ; false; append; ; ; Argument[0].ArrayElement; ReturnValue.ArrayElement; value; manual | +| 2 | Summary: ; ; false; append; ; ; Argument[0]; ReturnValue; taint; manual | +| 3 | Summary: ; ; false; append; ; ; Argument[1].ArrayElement; ReturnValue.ArrayElement; value; manual | nodes | UnsafeTLS.go:21:23:21:23 | 0 | semmle.label | 0 | | UnsafeTLS.go:25:23:25:23 | 0 | semmle.label | 0 | diff --git a/go/ql/test/query-tests/Security/CWE-338/InsecureRandomness/InsecureRandomness.expected b/go/ql/test/query-tests/Security/CWE-338/InsecureRandomness/InsecureRandomness.expected index b4936b77b3dd..b2659fffde78 100644 --- a/go/ql/test/query-tests/Security/CWE-338/InsecureRandomness/InsecureRandomness.expected +++ b/go/ql/test/query-tests/Security/CWE-338/InsecureRandomness/InsecureRandomness.expected @@ -22,8 +22,8 @@ edges | sample.go:56:18:56:39 | index expression | sample.go:56:11:56:40 | type conversion | provenance | | | sample.go:56:29:56:38 | randNumber | sample.go:56:18:56:39 | index expression | provenance | Config | models -| 1 | Summary: fmt; ; true; Sprintf; ; ; Argument[1].ArrayElement; ReturnValue; taint; manual | -| 2 | Summary: io; ; true; ReadFull; ; ; Argument[0]; Argument[1]; taint; manual | +| 1 | Summary: fmt; ; false; Sprintf; ; ; Argument[1].ArrayElement; ReturnValue; taint; manual | +| 2 | Summary: io; ; false; ReadFull; ; ; Argument[0]; Argument[1]; taint; manual | nodes | InsecureRandomness.go:12:18:12:40 | call to Intn | semmle.label | call to Intn | | sample.go:15:10:15:64 | call to Sum256 | semmle.label | call to Sum256 | diff --git a/go/ql/test/query-tests/Security/CWE-347/MissingJwtSignatureCheck.expected b/go/ql/test/query-tests/Security/CWE-347/MissingJwtSignatureCheck.expected index 23f814be7d66..2bfca2aa643a 100644 --- a/go/ql/test/query-tests/Security/CWE-347/MissingJwtSignatureCheck.expected +++ b/go/ql/test/query-tests/Security/CWE-347/MissingJwtSignatureCheck.expected @@ -18,7 +18,7 @@ models | 1 | Sink: github.com/golang-jwt/jwt; Parser; true; ParseUnverified; ; ; Argument[0]; jwt; manual | | 2 | Sink: group:go-jose/jwt; JSONWebToken; true; UnsafeClaimsWithoutVerification; ; ; Argument[receiver]; jwt; manual | | 3 | Source: net/http; Request; true; URL; ; ; ; remote; manual | -| 4 | Summary: group:go-jose/jwt; ; true; ParseSigned; ; ; Argument[0]; ReturnValue[0]; taint; manual | +| 4 | Summary: group:go-jose/jwt; ; false; ParseSigned; ; ; Argument[0]; ReturnValue[0]; taint; manual | | 5 | Summary: net/url; URL; true; Query; ; ; Argument[receiver]; ReturnValue; taint; manual | | 6 | Summary: net/url; Values; true; Get; ; ; Argument[receiver]; ReturnValue; taint; manual | nodes diff --git a/go/ql/test/query-tests/Security/CWE-601/BadRedirectCheck/BadRedirectCheck.expected b/go/ql/test/query-tests/Security/CWE-601/BadRedirectCheck/BadRedirectCheck.expected index 10b4b3f35053..8d4aaba1446c 100644 --- a/go/ql/test/query-tests/Security/CWE-601/BadRedirectCheck/BadRedirectCheck.expected +++ b/go/ql/test/query-tests/Security/CWE-601/BadRedirectCheck/BadRedirectCheck.expected @@ -29,8 +29,8 @@ edges | main.go:77:36:77:38 | url | main.go:77:25:77:39 | call to getTarget1 | provenance | MaD:2 Sink:MaD:1 | | main.go:87:9:87:14 | selection of Path | main.go:91:25:91:39 | call to getTarget2 | provenance | Sink:MaD:1 | models -| 1 | Sink: net/http; ; true; Redirect; ; ; Argument[2]; url-redirection[0]; manual | -| 2 | Summary: path; ; true; Clean; ; ; Argument[0]; ReturnValue; taint; manual | +| 1 | Sink: net/http; ; false; Redirect; ; ; Argument[2]; url-redirection[0]; manual | +| 2 | Summary: path; ; false; Clean; ; ; Argument[0]; ReturnValue; taint; manual | nodes | BadRedirectCheck.go:3:18:3:22 | argument corresponding to redir | semmle.label | argument corresponding to redir | | BadRedirectCheck.go:3:18:3:22 | definition of redir | semmle.label | definition of redir | diff --git a/go/ql/test/query-tests/Security/CWE-601/OpenUrlRedirect/OpenUrlRedirect.expected b/go/ql/test/query-tests/Security/CWE-601/OpenUrlRedirect/OpenUrlRedirect.expected index 771c153e8661..f8d193348ba0 100644 --- a/go/ql/test/query-tests/Security/CWE-601/OpenUrlRedirect/OpenUrlRedirect.expected +++ b/go/ql/test/query-tests/Security/CWE-601/OpenUrlRedirect/OpenUrlRedirect.expected @@ -66,7 +66,7 @@ edges | stdlib.go:192:23:192:28 | target | stdlib.go:192:23:192:33 | selection of Path | provenance | Config Sink:MaD:1 | | stdlib.go:194:23:194:28 | target | stdlib.go:194:23:194:42 | call to EscapedPath | provenance | Config Sink:MaD:1 | models -| 1 | Sink: net/http; ; true; Redirect; ; ; Argument[2]; url-redirection[0]; manual | +| 1 | Sink: net/http; ; false; Redirect; ; ; Argument[2]; url-redirection[0]; manual | | 2 | Source: net/http; Request; true; Form; ; ; ; remote; manual | | 3 | Source: net/http; Request; true; FormValue; ; ; ReturnValue; remote; manual | | 4 | Source: net/http; Request; true; URL; ; ; ; remote; manual | diff --git a/go/ql/test/query-tests/Security/CWE-640/EmailInjection.expected b/go/ql/test/query-tests/Security/CWE-640/EmailInjection.expected index 864b55a25dbc..ac5985f110d9 100644 --- a/go/ql/test/query-tests/Security/CWE-640/EmailInjection.expected +++ b/go/ql/test/query-tests/Security/CWE-640/EmailInjection.expected @@ -33,8 +33,8 @@ edges models | 1 | Source: net/http; Request; true; Header; ; ; ; remote; manual | | 2 | Source: net/http; Request; true; Referer; ; ; ReturnValue; remote; manual | -| 3 | Summary: github.com/sendgrid/sendgrid-go/helpers/mail; ; true; NewContent; ; ; Argument[1]; ReturnValue; taint; manual | -| 4 | Summary: io; ; true; WriteString; ; ; Argument[1]; Argument[0]; taint; manual | +| 3 | Summary: github.com/sendgrid/sendgrid-go/helpers/mail; ; false; NewContent; ; ; Argument[1]; ReturnValue; taint; manual | +| 4 | Summary: io; ; false; WriteString; ; ; Argument[1]; Argument[0]; taint; manual | | 5 | Summary: net/http; Header; true; Get; ; ; Argument[receiver]; ReturnValue; taint; manual | nodes | EmailBad.go:9:10:9:17 | selection of Header | semmle.label | selection of Header | diff --git a/go/ql/test/query-tests/Security/CWE-643/XPathInjection.expected b/go/ql/test/query-tests/Security/CWE-643/XPathInjection.expected index d5380ed1e6e2..0d492788c51d 100644 --- a/go/ql/test/query-tests/Security/CWE-643/XPathInjection.expected +++ b/go/ql/test/query-tests/Security/CWE-643/XPathInjection.expected @@ -101,44 +101,44 @@ edges | tst.go:139:14:139:35 | call to Get | tst.go:146:23:146:85 | ...+... | provenance | Sink:MaD:26 | | tst.go:145:41:145:103 | ...+... | tst.go:145:23:145:104 | call to NewReader | provenance | MaD:38 Sink:MaD:25 | models -| 1 | Sink: github.com/ChrisTrenkamp/goxpath; ; true; MustParse; ; ; Argument[0]; xpath-injection; manual | -| 2 | Sink: github.com/ChrisTrenkamp/goxpath; ; true; Parse; ; ; Argument[0]; xpath-injection; manual | -| 3 | Sink: github.com/ChrisTrenkamp/goxpath; ; true; ParseExec; ; ; Argument[0]; xpath-injection; manual | -| 4 | Sink: github.com/antchfx/htmlquery; ; true; Find; ; ; Argument[1]; xpath-injection; manual | -| 5 | Sink: github.com/antchfx/htmlquery; ; true; FindOne; ; ; Argument[1]; xpath-injection; manual | -| 6 | Sink: github.com/antchfx/htmlquery; ; true; Query; ; ; Argument[1]; xpath-injection; manual | -| 7 | Sink: github.com/antchfx/htmlquery; ; true; QueryAll; ; ; Argument[1]; xpath-injection; manual | -| 8 | Sink: github.com/antchfx/jsonquery; ; true; Find; ; ; Argument[1]; xpath-injection; manual | -| 9 | Sink: github.com/antchfx/jsonquery; ; true; FindOne; ; ; Argument[1]; xpath-injection; manual | -| 10 | Sink: github.com/antchfx/jsonquery; ; true; Query; ; ; Argument[1]; xpath-injection; manual | -| 11 | Sink: github.com/antchfx/jsonquery; ; true; QueryAll; ; ; Argument[1]; xpath-injection; manual | -| 12 | Sink: github.com/antchfx/xmlquery; ; true; Find; ; ; Argument[1]; xpath-injection; manual | -| 13 | Sink: github.com/antchfx/xmlquery; ; true; FindEach; ; ; Argument[1]; xpath-injection; manual | -| 14 | Sink: github.com/antchfx/xmlquery; ; true; FindEachWithBreak; ; ; Argument[1]; xpath-injection; manual | -| 15 | Sink: github.com/antchfx/xmlquery; ; true; FindOne; ; ; Argument[1]; xpath-injection; manual | -| 16 | Sink: github.com/antchfx/xmlquery; ; true; Query; ; ; Argument[1]; xpath-injection; manual | -| 17 | Sink: github.com/antchfx/xmlquery; ; true; QueryAll; ; ; Argument[1]; xpath-injection; manual | +| 1 | Sink: github.com/ChrisTrenkamp/goxpath; ; false; MustParse; ; ; Argument[0]; xpath-injection; manual | +| 2 | Sink: github.com/ChrisTrenkamp/goxpath; ; false; Parse; ; ; Argument[0]; xpath-injection; manual | +| 3 | Sink: github.com/ChrisTrenkamp/goxpath; ; false; ParseExec; ; ; Argument[0]; xpath-injection; manual | +| 4 | Sink: github.com/antchfx/htmlquery; ; false; Find; ; ; Argument[1]; xpath-injection; manual | +| 5 | Sink: github.com/antchfx/htmlquery; ; false; FindOne; ; ; Argument[1]; xpath-injection; manual | +| 6 | Sink: github.com/antchfx/htmlquery; ; false; Query; ; ; Argument[1]; xpath-injection; manual | +| 7 | Sink: github.com/antchfx/htmlquery; ; false; QueryAll; ; ; Argument[1]; xpath-injection; manual | +| 8 | Sink: github.com/antchfx/jsonquery; ; false; Find; ; ; Argument[1]; xpath-injection; manual | +| 9 | Sink: github.com/antchfx/jsonquery; ; false; FindOne; ; ; Argument[1]; xpath-injection; manual | +| 10 | Sink: github.com/antchfx/jsonquery; ; false; Query; ; ; Argument[1]; xpath-injection; manual | +| 11 | Sink: github.com/antchfx/jsonquery; ; false; QueryAll; ; ; Argument[1]; xpath-injection; manual | +| 12 | Sink: github.com/antchfx/xmlquery; ; false; Find; ; ; Argument[1]; xpath-injection; manual | +| 13 | Sink: github.com/antchfx/xmlquery; ; false; FindEach; ; ; Argument[1]; xpath-injection; manual | +| 14 | Sink: github.com/antchfx/xmlquery; ; false; FindEachWithBreak; ; ; Argument[1]; xpath-injection; manual | +| 15 | Sink: github.com/antchfx/xmlquery; ; false; FindOne; ; ; Argument[1]; xpath-injection; manual | +| 16 | Sink: github.com/antchfx/xmlquery; ; false; Query; ; ; Argument[1]; xpath-injection; manual | +| 17 | Sink: github.com/antchfx/xmlquery; ; false; QueryAll; ; ; Argument[1]; xpath-injection; manual | | 18 | Sink: github.com/antchfx/xmlquery; Node; true; SelectElement; ; ; Argument[0]; xpath-injection; manual | | 19 | Sink: github.com/antchfx/xmlquery; Node; true; SelectElements; ; ; Argument[0]; xpath-injection; manual | -| 20 | Sink: github.com/antchfx/xpath; ; true; Compile; ; ; Argument[0]; xpath-injection; manual | -| 21 | Sink: github.com/antchfx/xpath; ; true; CompileWithNS; ; ; Argument[0]; xpath-injection; manual | -| 22 | Sink: github.com/antchfx/xpath; ; true; MustCompile; ; ; Argument[0]; xpath-injection; manual | -| 23 | Sink: github.com/antchfx/xpath; ; true; Select; ; ; Argument[1]; xpath-injection; manual | +| 20 | Sink: github.com/antchfx/xpath; ; false; Compile; ; ; Argument[0]; xpath-injection; manual | +| 21 | Sink: github.com/antchfx/xpath; ; false; CompileWithNS; ; ; Argument[0]; xpath-injection; manual | +| 22 | Sink: github.com/antchfx/xpath; ; false; MustCompile; ; ; Argument[0]; xpath-injection; manual | +| 23 | Sink: github.com/antchfx/xpath; ; false; Select; ; ; Argument[1]; xpath-injection; manual | | 24 | Sink: github.com/lestrrat-go/libxml2/parser; Parser; true; Parse; ; ; Argument[0]; xpath-injection; manual | | 25 | Sink: github.com/lestrrat-go/libxml2/parser; Parser; true; ParseReader; ; ; Argument[0]; xpath-injection; manual | | 26 | Sink: github.com/lestrrat-go/libxml2/parser; Parser; true; ParseString; ; ; Argument[0]; xpath-injection; manual | -| 27 | Sink: github.com/santhosh-tekuri/xpathparser; ; true; MustParse; ; ; Argument[0]; xpath-injection; manual | -| 28 | Sink: github.com/santhosh-tekuri/xpathparser; ; true; Parse; ; ; Argument[0]; xpath-injection; manual | +| 27 | Sink: github.com/santhosh-tekuri/xpathparser; ; false; MustParse; ; ; Argument[0]; xpath-injection; manual | +| 28 | Sink: github.com/santhosh-tekuri/xpathparser; ; false; Parse; ; ; Argument[0]; xpath-injection; manual | | 29 | Sink: group:gokogiri/xml; Node; true; EvalXPath; ; ; Argument[0]; xpath-injection; manual | | 30 | Sink: group:gokogiri/xml; Node; true; EvalXPathAsBoolean; ; ; Argument[0]; xpath-injection; manual | | 31 | Sink: group:gokogiri/xml; Node; true; Search; ; ; Argument[0]; xpath-injection; manual | | 32 | Sink: group:gokogiri/xml; Node; true; SearchWithVariables; ; ; Argument[0]; xpath-injection; manual | -| 33 | Sink: group:gokogiri/xpath; ; true; Compile; ; ; Argument[0]; xpath-injection; manual | -| 34 | Sink: group:xmlpath; ; true; Compile; ; ; Argument[0]; xpath-injection; manual | -| 35 | Sink: group:xmlpath; ; true; MustCompile; ; ; Argument[0]; xpath-injection; manual | +| 33 | Sink: group:gokogiri/xpath; ; false; Compile; ; ; Argument[0]; xpath-injection; manual | +| 34 | Sink: group:xmlpath; ; false; Compile; ; ; Argument[0]; xpath-injection; manual | +| 35 | Sink: group:xmlpath; ; false; MustCompile; ; ; Argument[0]; xpath-injection; manual | | 36 | Source: net/http; Request; true; Form; ; ; ; remote; manual | | 37 | Summary: net/url; Values; true; Get; ; ; Argument[receiver]; ReturnValue; taint; manual | -| 38 | Summary: strings; ; true; NewReader; ; ; Argument[0]; ReturnValue; taint; manual | +| 38 | Summary: strings; ; false; NewReader; ; ; Argument[0]; ReturnValue; taint; manual | nodes | XPathInjection.go:13:14:13:19 | selection of Form | semmle.label | selection of Form | | XPathInjection.go:13:14:13:35 | call to Get | semmle.label | call to Get | From 19d53fba8cf1d6ab68bd37a81d5acd6f1f46535b Mon Sep 17 00:00:00 2001 From: Mathias Vorreiter Pedersen Date: Fri, 15 Nov 2024 18:13:05 +0000 Subject: [PATCH 213/347] C++: Exclude guards in static local or global initializers. --- .../semmle/code/cpp/controlflow/IRGuards.qll | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/cpp/ql/lib/semmle/code/cpp/controlflow/IRGuards.qll b/cpp/ql/lib/semmle/code/cpp/controlflow/IRGuards.qll index 63a660e462ee..f16dbd3d49df 100644 --- a/cpp/ql/lib/semmle/code/cpp/controlflow/IRGuards.qll +++ b/cpp/ql/lib/semmle/code/cpp/controlflow/IRGuards.qll @@ -142,6 +142,9 @@ private class LogicalNotValueNumber extends ValueNumber { /** * A Boolean condition in the AST that guards one or more basic blocks. This includes * operands of logical operators but not switch statements. + * + * For performance reasons conditions inside static local initializers or + * global initializers are not considered `GuardCondition`s. */ cached class GuardCondition extends Expr { @@ -451,6 +454,9 @@ private predicate nonExcludedIRAndBasicBlock(IRBlock irb, BasicBlock controlled) * * Note that `&&` and `||` don't have an explicit representation in the IR, * and therefore will not appear as IRGuardConditions. + * + * For performance reasons conditions inside static local initializers or + * global initializers are not considered `IRGuardCondition`s. */ cached class IRGuardCondition extends Instruction { @@ -811,13 +817,20 @@ class IRGuardCondition extends Instruction { } private Instruction getBranchForCondition(Instruction guard) { - result.(ConditionalBranchInstruction).getCondition() = guard + // There are a lot of guards inside global or static local initializers, + // and on certain databases this can make the `ensures*` predicates + // blow up. + // These guards are likely not super important anyway. + guard.getEnclosingFunction() instanceof Function and + ( + result.(ConditionalBranchInstruction).getCondition() = guard + or + result.(SwitchInstruction).getExpression() = guard + ) or exists(LogicalNotInstruction cond | result = getBranchForCondition(cond) and cond.getUnary() = guard ) - or - result.(SwitchInstruction).getExpression() = guard } /** From 1304ab706509a96d004556eb1558894f2eb18c81 Mon Sep 17 00:00:00 2001 From: Napalys Date: Mon, 18 Nov 2024 08:05:51 +0100 Subject: [PATCH 214/347] Added change notes --- .../lib/change-notes/2024-11-18-ES2023-array-protype-with.md | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 javascript/ql/lib/change-notes/2024-11-18-ES2023-array-protype-with.md diff --git a/javascript/ql/lib/change-notes/2024-11-18-ES2023-array-protype-with.md b/javascript/ql/lib/change-notes/2024-11-18-ES2023-array-protype-with.md new file mode 100644 index 000000000000..92f160ec1dee --- /dev/null +++ b/javascript/ql/lib/change-notes/2024-11-18-ES2023-array-protype-with.md @@ -0,0 +1,4 @@ +--- +category: minorAnalysis +--- +Added taint-steps for `Array.prototype.with`. From 0e025abd1304f879863a9b741949784605e368d0 Mon Sep 17 00:00:00 2001 From: Simon Friis Vindum Date: Fri, 15 Nov 2024 14:51:25 +0100 Subject: [PATCH 215/347] Rust: Add custom `toString` predicate for path expression --- rust/ql/.generated.list | 1 - rust/ql/.gitattributes | 1 - .../rust/elements/internal/PathExprImpl.qll | 6 +- .../BinaryExpr/BinaryExpr_getLhs.expected | 10 +- .../BinaryExpr/BinaryExpr_getRhs.expected | 10 +- .../CallExpr/CallExpr_getExpr.expected | 6 +- .../CastExpr/CastExpr_getExpr.expected | 2 +- .../FieldExpr/FieldExpr_getExpr.expected | 2 +- .../IndexExpr/IndexExpr_getBase.expected | 4 +- .../CONSISTENCY/DataFlowConsistency.expected | 2 +- .../MethodCallExpr_getReceiver.expected | 4 +- .../CONSISTENCY/DataFlowConsistency.expected | 3 + .../generated/PathExpr/PathExpr.expected | 8 +- .../PathExpr/PathExpr_getPath.expected | 8 +- .../PrefixExpr/PrefixExpr_getExpr.expected | 2 +- .../RefExpr/RefExpr_getExpr.expected | 8 +- .../library-tests/controlflow/Cfg.expected | 100 ++-- .../test/library-tests/variables/Cfg.expected | 562 +++++++++--------- rust/ql/test/utils/InlineFlowTest.qll | 2 +- 19 files changed, 372 insertions(+), 369 deletions(-) create mode 100644 rust/ql/test/extractor-tests/generated/PathExpr/CONSISTENCY/DataFlowConsistency.expected diff --git a/rust/ql/.generated.list b/rust/ql/.generated.list index 3e7c702b65c2..ca25e0533fc8 100644 --- a/rust/ql/.generated.list +++ b/rust/ql/.generated.list @@ -328,7 +328,6 @@ lib/codeql/rust/elements/internal/PatImpl.qll 37c9b1da7aa625117644e2cd74ec0b174f lib/codeql/rust/elements/internal/PathConstructor.qll 5c6354c28faf9f28f3efee8e19bdb82773adcf4b0c1a38788b06af25bcb6bc4a 3e2aeef7b6b9cda7f7f45a6c8119c98803aa644cf6a492cf0fce318eba40fe8f lib/codeql/rust/elements/internal/PathExprBaseImpl.qll e8b09447ee41b4123f7d94c6b366b2602d8022c9644f1088c670c7794307ab2e 96b9b328771aaf19ba18d0591e85fcc915c0f930b2479b433de3bfdd2ea25249 lib/codeql/rust/elements/internal/PathExprConstructor.qll cf6e0a338a8ed2d1042bdee4c2c49be5827e8c572d8c56e828db265d39e59ae3 36a3d1b7c5cc2cf527616be787b32071b9e2a6613a4f6b3f82e2a3b0e02a516f -lib/codeql/rust/elements/internal/PathExprImpl.qll 01ad25aa940bf949056db86220362f0f5a1b03a772af6a2f6aff8854170c5e49 a0f5ff6b04e2f9f22bda78bb2a7352d890899ba16cb7f6a267af902a3650c5ed lib/codeql/rust/elements/internal/PathPatConstructor.qll 966c4ea22218ef71e000d7ce8dd5b570c39ad96b9239a3aa8a38292e2a9f36d2 8a1f348e9257ffc6e6bedcd70389b8e7ec2a3ed6e7b3733744ddfab284826e57 lib/codeql/rust/elements/internal/PathPatImpl.qll 6ab5b5959cfd94e74f60422cbdbd764a5f51ff541db428938c36ba3a512d1d6b 47585157460e8384047de307b0b05deaab758d0f07fd0183d874f7bb9d8bda4b lib/codeql/rust/elements/internal/PathSegmentConstructor.qll 2d9639e42035dc7e73b7d6ddb8a977beadc6b4492dee4292b2f85b4409344441 c337fc3b9ef56366428772563e3f25f711474d16e860d3e89c1395a95d9e83e7 diff --git a/rust/ql/.gitattributes b/rust/ql/.gitattributes index 3cc5424a8f9a..a532f142ec98 100644 --- a/rust/ql/.gitattributes +++ b/rust/ql/.gitattributes @@ -330,7 +330,6 @@ /lib/codeql/rust/elements/internal/PathConstructor.qll linguist-generated /lib/codeql/rust/elements/internal/PathExprBaseImpl.qll linguist-generated /lib/codeql/rust/elements/internal/PathExprConstructor.qll linguist-generated -/lib/codeql/rust/elements/internal/PathExprImpl.qll linguist-generated /lib/codeql/rust/elements/internal/PathPatConstructor.qll linguist-generated /lib/codeql/rust/elements/internal/PathPatImpl.qll linguist-generated /lib/codeql/rust/elements/internal/PathSegmentConstructor.qll linguist-generated diff --git a/rust/ql/lib/codeql/rust/elements/internal/PathExprImpl.qll b/rust/ql/lib/codeql/rust/elements/internal/PathExprImpl.qll index 68b11db73b03..c8a2af3de33b 100644 --- a/rust/ql/lib/codeql/rust/elements/internal/PathExprImpl.qll +++ b/rust/ql/lib/codeql/rust/elements/internal/PathExprImpl.qll @@ -1,4 +1,3 @@ -// generated by codegen, remove this comment if you wish to edit this file /** * This module provides a hand-modifiable wrapper around the generated class `PathExpr`. * @@ -12,6 +11,7 @@ private import codeql.rust.elements.internal.generated.PathExpr * be referenced directly. */ module Impl { + // the following QLdoc is generated: if you need to edit it, do it in the schema file /** * A path expression. For example: * ```rust @@ -21,5 +21,7 @@ module Impl { * let z = ::foo; * ``` */ - class PathExpr extends Generated::PathExpr { } + class PathExpr extends Generated::PathExpr { + override string toString() { result = this.getPath().toString() } + } } diff --git a/rust/ql/test/extractor-tests/generated/BinaryExpr/BinaryExpr_getLhs.expected b/rust/ql/test/extractor-tests/generated/BinaryExpr/BinaryExpr_getLhs.expected index 1f51339f5a8f..9321ce0724a9 100644 --- a/rust/ql/test/extractor-tests/generated/BinaryExpr/BinaryExpr_getLhs.expected +++ b/rust/ql/test/extractor-tests/generated/BinaryExpr/BinaryExpr_getLhs.expected @@ -1,5 +1,5 @@ -| gen_binary_expr.rs:5:5:5:9 | ... + ... | gen_binary_expr.rs:5:5:5:5 | PathExpr | -| gen_binary_expr.rs:6:5:6:10 | ... && ... | gen_binary_expr.rs:6:5:6:5 | PathExpr | -| gen_binary_expr.rs:7:5:7:10 | ... <= ... | gen_binary_expr.rs:7:5:7:5 | PathExpr | -| gen_binary_expr.rs:8:5:8:9 | ... = ... | gen_binary_expr.rs:8:5:8:5 | PathExpr | -| gen_binary_expr.rs:9:5:9:10 | ... += ... | gen_binary_expr.rs:9:5:9:5 | PathExpr | +| gen_binary_expr.rs:5:5:5:9 | ... + ... | gen_binary_expr.rs:5:5:5:5 | x | +| gen_binary_expr.rs:6:5:6:10 | ... && ... | gen_binary_expr.rs:6:5:6:5 | x | +| gen_binary_expr.rs:7:5:7:10 | ... <= ... | gen_binary_expr.rs:7:5:7:5 | x | +| gen_binary_expr.rs:8:5:8:9 | ... = ... | gen_binary_expr.rs:8:5:8:5 | x | +| gen_binary_expr.rs:9:5:9:10 | ... += ... | gen_binary_expr.rs:9:5:9:5 | x | diff --git a/rust/ql/test/extractor-tests/generated/BinaryExpr/BinaryExpr_getRhs.expected b/rust/ql/test/extractor-tests/generated/BinaryExpr/BinaryExpr_getRhs.expected index 4f0277f2b2f3..9bd36da5fa6a 100644 --- a/rust/ql/test/extractor-tests/generated/BinaryExpr/BinaryExpr_getRhs.expected +++ b/rust/ql/test/extractor-tests/generated/BinaryExpr/BinaryExpr_getRhs.expected @@ -1,5 +1,5 @@ -| gen_binary_expr.rs:5:5:5:9 | ... + ... | gen_binary_expr.rs:5:9:5:9 | PathExpr | -| gen_binary_expr.rs:6:5:6:10 | ... && ... | gen_binary_expr.rs:6:10:6:10 | PathExpr | -| gen_binary_expr.rs:7:5:7:10 | ... <= ... | gen_binary_expr.rs:7:10:7:10 | PathExpr | -| gen_binary_expr.rs:8:5:8:9 | ... = ... | gen_binary_expr.rs:8:9:8:9 | PathExpr | -| gen_binary_expr.rs:9:5:9:10 | ... += ... | gen_binary_expr.rs:9:10:9:10 | PathExpr | +| gen_binary_expr.rs:5:5:5:9 | ... + ... | gen_binary_expr.rs:5:9:5:9 | y | +| gen_binary_expr.rs:6:5:6:10 | ... && ... | gen_binary_expr.rs:6:10:6:10 | y | +| gen_binary_expr.rs:7:5:7:10 | ... <= ... | gen_binary_expr.rs:7:10:7:10 | y | +| gen_binary_expr.rs:8:5:8:9 | ... = ... | gen_binary_expr.rs:8:9:8:9 | y | +| gen_binary_expr.rs:9:5:9:10 | ... += ... | gen_binary_expr.rs:9:10:9:10 | y | diff --git a/rust/ql/test/extractor-tests/generated/CallExpr/CallExpr_getExpr.expected b/rust/ql/test/extractor-tests/generated/CallExpr/CallExpr_getExpr.expected index d6c070576c66..544937866b78 100644 --- a/rust/ql/test/extractor-tests/generated/CallExpr/CallExpr_getExpr.expected +++ b/rust/ql/test/extractor-tests/generated/CallExpr/CallExpr_getExpr.expected @@ -1,4 +1,4 @@ -| gen_call_expr.rs:5:5:5:11 | CallExpr | gen_call_expr.rs:5:5:5:7 | PathExpr | -| gen_call_expr.rs:6:5:6:23 | CallExpr | gen_call_expr.rs:6:5:6:19 | PathExpr | +| gen_call_expr.rs:5:5:5:11 | CallExpr | gen_call_expr.rs:5:5:5:7 | foo | +| gen_call_expr.rs:6:5:6:23 | CallExpr | gen_call_expr.rs:6:5:6:19 | foo::<...> | | gen_call_expr.rs:7:5:7:14 | CallExpr | gen_call_expr.rs:7:5:7:10 | IndexExpr | -| gen_call_expr.rs:8:5:8:10 | CallExpr | gen_call_expr.rs:8:5:8:7 | PathExpr | +| gen_call_expr.rs:8:5:8:10 | CallExpr | gen_call_expr.rs:8:5:8:7 | foo | diff --git a/rust/ql/test/extractor-tests/generated/CastExpr/CastExpr_getExpr.expected b/rust/ql/test/extractor-tests/generated/CastExpr/CastExpr_getExpr.expected index e45a936afbde..f3e1d4c7ec94 100644 --- a/rust/ql/test/extractor-tests/generated/CastExpr/CastExpr_getExpr.expected +++ b/rust/ql/test/extractor-tests/generated/CastExpr/CastExpr_getExpr.expected @@ -1 +1 @@ -| gen_cast_expr.rs:5:5:5:16 | CastExpr | gen_cast_expr.rs:5:5:5:9 | PathExpr | +| gen_cast_expr.rs:5:5:5:16 | CastExpr | gen_cast_expr.rs:5:5:5:9 | value | diff --git a/rust/ql/test/extractor-tests/generated/FieldExpr/FieldExpr_getExpr.expected b/rust/ql/test/extractor-tests/generated/FieldExpr/FieldExpr_getExpr.expected index c8184671bd2b..32b13c1cb2b0 100644 --- a/rust/ql/test/extractor-tests/generated/FieldExpr/FieldExpr_getExpr.expected +++ b/rust/ql/test/extractor-tests/generated/FieldExpr/FieldExpr_getExpr.expected @@ -1 +1 @@ -| gen_field_expr.rs:5:5:5:9 | FieldExpr | gen_field_expr.rs:5:5:5:5 | PathExpr | +| gen_field_expr.rs:5:5:5:9 | FieldExpr | gen_field_expr.rs:5:5:5:5 | x | diff --git a/rust/ql/test/extractor-tests/generated/IndexExpr/IndexExpr_getBase.expected b/rust/ql/test/extractor-tests/generated/IndexExpr/IndexExpr_getBase.expected index a3126f84df9a..c149597172b8 100644 --- a/rust/ql/test/extractor-tests/generated/IndexExpr/IndexExpr_getBase.expected +++ b/rust/ql/test/extractor-tests/generated/IndexExpr/IndexExpr_getBase.expected @@ -1,2 +1,2 @@ -| gen_index_expr.rs:5:5:5:12 | IndexExpr | gen_index_expr.rs:5:5:5:8 | PathExpr | -| gen_index_expr.rs:6:5:6:12 | IndexExpr | gen_index_expr.rs:6:5:6:8 | PathExpr | +| gen_index_expr.rs:5:5:5:12 | IndexExpr | gen_index_expr.rs:5:5:5:8 | list | +| gen_index_expr.rs:6:5:6:12 | IndexExpr | gen_index_expr.rs:6:5:6:8 | list | diff --git a/rust/ql/test/extractor-tests/generated/MacroItems/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/extractor-tests/generated/MacroItems/CONSISTENCY/DataFlowConsistency.expected index b4a463be52ce..e5837318c720 100644 --- a/rust/ql/test/extractor-tests/generated/MacroItems/CONSISTENCY/DataFlowConsistency.expected +++ b/rust/ql/test/extractor-tests/generated/MacroItems/CONSISTENCY/DataFlowConsistency.expected @@ -3,6 +3,6 @@ uniqueNodeLocation | file://:0:0:0:0 | ... .unwrap(...) | Node should have one location but has 0. | | file://:0:0:0:0 | BlockExpr | Node should have one location but has 0. | | file://:0:0:0:0 | Param | Node should have one location but has 0. | -| file://:0:0:0:0 | PathExpr | Node should have one location but has 0. | +| file://:0:0:0:0 | path | Node should have one location but has 0. | missingLocation | Nodes without location: 5 | diff --git a/rust/ql/test/extractor-tests/generated/MethodCallExpr/MethodCallExpr_getReceiver.expected b/rust/ql/test/extractor-tests/generated/MethodCallExpr/MethodCallExpr_getReceiver.expected index 0b82390293bd..b8e6631e1893 100644 --- a/rust/ql/test/extractor-tests/generated/MethodCallExpr/MethodCallExpr_getReceiver.expected +++ b/rust/ql/test/extractor-tests/generated/MethodCallExpr/MethodCallExpr_getReceiver.expected @@ -1,2 +1,2 @@ -| gen_method_call_expr.rs:5:5:5:13 | ... .foo(...) | gen_method_call_expr.rs:5:5:5:5 | PathExpr | -| gen_method_call_expr.rs:6:5:6:25 | ... .foo(...) | gen_method_call_expr.rs:6:5:6:5 | PathExpr | +| gen_method_call_expr.rs:5:5:5:13 | ... .foo(...) | gen_method_call_expr.rs:5:5:5:5 | x | +| gen_method_call_expr.rs:6:5:6:25 | ... .foo(...) | gen_method_call_expr.rs:6:5:6:5 | x | diff --git a/rust/ql/test/extractor-tests/generated/PathExpr/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/extractor-tests/generated/PathExpr/CONSISTENCY/DataFlowConsistency.expected new file mode 100644 index 000000000000..c54360f7361b --- /dev/null +++ b/rust/ql/test/extractor-tests/generated/PathExpr/CONSISTENCY/DataFlowConsistency.expected @@ -0,0 +1,3 @@ +uniqueNodeToString +| gen_path_expr.rs:7:13:7:20 | (no string representation) | Node should have one toString but has 0. | +| gen_path_expr.rs:8:13:8:35 | (no string representation) | Node should have one toString but has 0. | diff --git a/rust/ql/test/extractor-tests/generated/PathExpr/PathExpr.expected b/rust/ql/test/extractor-tests/generated/PathExpr/PathExpr.expected index d6613c8fc3a3..a676396a2f9b 100644 --- a/rust/ql/test/extractor-tests/generated/PathExpr/PathExpr.expected +++ b/rust/ql/test/extractor-tests/generated/PathExpr/PathExpr.expected @@ -1,4 +1,4 @@ -| gen_path_expr.rs:5:13:5:20 | PathExpr | getNumberOfAttrs: | 0 | hasPath: | yes | -| gen_path_expr.rs:6:13:6:20 | PathExpr | getNumberOfAttrs: | 0 | hasPath: | yes | -| gen_path_expr.rs:7:13:7:20 | PathExpr | getNumberOfAttrs: | 0 | hasPath: | yes | -| gen_path_expr.rs:8:13:8:35 | PathExpr | getNumberOfAttrs: | 0 | hasPath: | yes | +| gen_path_expr.rs:5:13:5:20 | variable | getNumberOfAttrs: | 0 | hasPath: | yes | +| gen_path_expr.rs:6:13:6:20 | foo::bar | getNumberOfAttrs: | 0 | hasPath: | yes | +| gen_path_expr.rs:7:13:7:20 | (no string representation) | getNumberOfAttrs: | 0 | hasPath: | yes | +| gen_path_expr.rs:8:13:8:35 | (no string representation) | getNumberOfAttrs: | 0 | hasPath: | yes | diff --git a/rust/ql/test/extractor-tests/generated/PathExpr/PathExpr_getPath.expected b/rust/ql/test/extractor-tests/generated/PathExpr/PathExpr_getPath.expected index 39ec516064de..a5765b5be60b 100644 --- a/rust/ql/test/extractor-tests/generated/PathExpr/PathExpr_getPath.expected +++ b/rust/ql/test/extractor-tests/generated/PathExpr/PathExpr_getPath.expected @@ -1,4 +1,4 @@ -| gen_path_expr.rs:5:13:5:20 | PathExpr | gen_path_expr.rs:5:13:5:20 | variable | -| gen_path_expr.rs:6:13:6:20 | PathExpr | gen_path_expr.rs:6:13:6:20 | foo::bar | -| gen_path_expr.rs:7:13:7:20 | PathExpr | gen_path_expr.rs:7:13:7:20 | (no string representation) | -| gen_path_expr.rs:8:13:8:35 | PathExpr | gen_path_expr.rs:8:13:8:35 | (no string representation) | +| gen_path_expr.rs:5:13:5:20 | variable | gen_path_expr.rs:5:13:5:20 | variable | +| gen_path_expr.rs:6:13:6:20 | foo::bar | gen_path_expr.rs:6:13:6:20 | foo::bar | +| gen_path_expr.rs:7:13:7:20 | (no string representation) | gen_path_expr.rs:7:13:7:20 | (no string representation) | +| gen_path_expr.rs:8:13:8:35 | (no string representation) | gen_path_expr.rs:8:13:8:35 | (no string representation) | diff --git a/rust/ql/test/extractor-tests/generated/PrefixExpr/PrefixExpr_getExpr.expected b/rust/ql/test/extractor-tests/generated/PrefixExpr/PrefixExpr_getExpr.expected index 98e2adcff51b..6c9edcba00d2 100644 --- a/rust/ql/test/extractor-tests/generated/PrefixExpr/PrefixExpr_getExpr.expected +++ b/rust/ql/test/extractor-tests/generated/PrefixExpr/PrefixExpr_getExpr.expected @@ -1,3 +1,3 @@ | gen_prefix_expr.rs:5:13:5:15 | - ... | gen_prefix_expr.rs:5:14:5:15 | 42 | | gen_prefix_expr.rs:6:13:6:17 | ! ... | gen_prefix_expr.rs:6:14:6:17 | true | -| gen_prefix_expr.rs:7:13:7:16 | * ... | gen_prefix_expr.rs:7:14:7:16 | PathExpr | +| gen_prefix_expr.rs:7:13:7:16 | * ... | gen_prefix_expr.rs:7:14:7:16 | ptr | diff --git a/rust/ql/test/extractor-tests/generated/RefExpr/RefExpr_getExpr.expected b/rust/ql/test/extractor-tests/generated/RefExpr/RefExpr_getExpr.expected index 1c1f0cff2c06..571986ecf102 100644 --- a/rust/ql/test/extractor-tests/generated/RefExpr/RefExpr_getExpr.expected +++ b/rust/ql/test/extractor-tests/generated/RefExpr/RefExpr_getExpr.expected @@ -1,4 +1,4 @@ -| gen_ref_expr.rs:5:25:5:28 | RefExpr | gen_ref_expr.rs:5:26:5:28 | PathExpr | -| gen_ref_expr.rs:6:23:6:30 | RefExpr | gen_ref_expr.rs:6:28:6:30 | PathExpr | -| gen_ref_expr.rs:7:35:7:48 | RefExpr | gen_ref_expr.rs:7:46:7:48 | PathExpr | -| gen_ref_expr.rs:8:33:8:44 | RefExpr | gen_ref_expr.rs:8:42:8:44 | PathExpr | +| gen_ref_expr.rs:5:25:5:28 | RefExpr | gen_ref_expr.rs:5:26:5:28 | foo | +| gen_ref_expr.rs:6:23:6:30 | RefExpr | gen_ref_expr.rs:6:28:6:30 | foo | +| gen_ref_expr.rs:7:35:7:48 | RefExpr | gen_ref_expr.rs:7:46:7:48 | foo | +| gen_ref_expr.rs:8:33:8:44 | RefExpr | gen_ref_expr.rs:8:42:8:44 | foo | diff --git a/rust/ql/test/library-tests/controlflow/Cfg.expected b/rust/ql/test/library-tests/controlflow/Cfg.expected index 46a7413d1d32..012de7d4ac5d 100644 --- a/rust/ql/test/library-tests/controlflow/Cfg.expected +++ b/rust/ql/test/library-tests/controlflow/Cfg.expected @@ -2,22 +2,22 @@ edges | test.rs:5:5:8:5 | enter function_call | test.rs:6:9:6:45 | ExprStmt | | | test.rs:5:5:8:5 | exit function_call (normal) | test.rs:5:5:8:5 | exit function_call | | | test.rs:5:24:8:5 | BlockExpr | test.rs:5:5:8:5 | exit function_call (normal) | | -| test.rs:6:9:6:25 | PathExpr | test.rs:6:27:6:30 | true | | +| test.rs:6:9:6:25 | test_and_operator | test.rs:6:27:6:30 | true | | | test.rs:6:9:6:44 | CallExpr | test.rs:7:9:7:28 | ExprStmt | | -| test.rs:6:9:6:45 | ExprStmt | test.rs:6:9:6:25 | PathExpr | | +| test.rs:6:9:6:45 | ExprStmt | test.rs:6:9:6:25 | test_and_operator | | | test.rs:6:27:6:30 | true | test.rs:6:33:6:37 | false | | | test.rs:6:33:6:37 | false | test.rs:6:40:6:43 | true | | | test.rs:6:40:6:43 | true | test.rs:6:9:6:44 | CallExpr | | -| test.rs:7:9:7:23 | PathExpr | test.rs:7:25:7:26 | 42 | | +| test.rs:7:9:7:23 | foo::<...> | test.rs:7:25:7:26 | 42 | | | test.rs:7:9:7:27 | CallExpr | test.rs:5:24:8:5 | BlockExpr | | -| test.rs:7:9:7:28 | ExprStmt | test.rs:7:9:7:23 | PathExpr | | +| test.rs:7:9:7:28 | ExprStmt | test.rs:7:9:7:23 | foo::<...> | | | test.rs:7:25:7:26 | 42 | test.rs:7:9:7:27 | CallExpr | | | test.rs:10:5:13:5 | enter method_call | test.rs:11:9:11:37 | LetStmt | | | test.rs:10:5:13:5 | exit method_call (normal) | test.rs:10:5:13:5 | exit method_call | | | test.rs:10:22:13:5 | BlockExpr | test.rs:10:5:13:5 | exit method_call (normal) | | -| test.rs:11:9:11:37 | LetStmt | test.rs:11:23:11:34 | PathExpr | | +| test.rs:11:9:11:37 | LetStmt | test.rs:11:23:11:34 | HashMap::new | | | test.rs:11:13:11:19 | map | test.rs:12:9:12:28 | ExprStmt | match | -| test.rs:11:23:11:34 | PathExpr | test.rs:11:23:11:36 | CallExpr | | +| test.rs:11:23:11:34 | HashMap::new | test.rs:11:23:11:36 | CallExpr | | | test.rs:11:23:11:36 | CallExpr | test.rs:11:13:11:19 | map | | | test.rs:12:9:12:11 | map | test.rs:12:20:12:21 | 37 | | | test.rs:12:9:12:27 | ... .insert(...) | test.rs:10:22:13:5 | BlockExpr | | @@ -34,10 +34,10 @@ edges | test.rs:20:9:32:9 | ExprStmt | test.rs:21:13:21:24 | ExprStmt | | | test.rs:20:9:32:9 | LoopExpr | test.rs:33:9:33:20 | ExprStmt | | | test.rs:20:14:32:9 | BlockExpr | test.rs:21:13:21:24 | ExprStmt | | -| test.rs:21:13:21:13 | i | test.rs:21:17:21:20 | PathExpr | | +| test.rs:21:13:21:13 | i | test.rs:21:17:21:20 | next | | | test.rs:21:13:21:23 | ... = ... | test.rs:22:13:24:13 | ExprStmt | | | test.rs:21:13:21:24 | ExprStmt | test.rs:21:13:21:13 | i | | -| test.rs:21:17:21:20 | PathExpr | test.rs:21:22:21:22 | i | | +| test.rs:21:17:21:20 | next | test.rs:21:22:21:22 | i | | | test.rs:21:17:21:23 | CallExpr | test.rs:21:13:21:23 | ... = ... | | | test.rs:21:22:21:22 | i | test.rs:21:17:21:23 | CallExpr | | | test.rs:22:13:24:13 | ExprStmt | test.rs:22:16:22:16 | i | | @@ -172,12 +172,12 @@ edges | test.rs:91:15:91:39 | LetExpr | test.rs:91:29:91:32 | iter | | | test.rs:91:19:91:25 | TupleStructPat | test.rs:91:9:95:9 | WhileExpr | no-match | | test.rs:91:19:91:25 | TupleStructPat | test.rs:91:24:91:24 | x | match | -| test.rs:91:24:91:24 | x | test.rs:92:17:92:17 | PathExpr | match | +| test.rs:91:24:91:24 | x | test.rs:92:17:92:17 | i | match | | test.rs:91:29:91:32 | iter | test.rs:91:29:91:39 | ... .next(...) | | | test.rs:91:29:91:39 | ... .next(...) | test.rs:91:19:91:25 | TupleStructPat | | | test.rs:91:41:95:9 | BlockExpr | test.rs:91:15:91:39 | LetExpr | | | test.rs:92:13:94:13 | IfExpr | test.rs:91:41:95:9 | BlockExpr | | -| test.rs:92:17:92:17 | PathExpr | test.rs:92:21:92:21 | 5 | | +| test.rs:92:17:92:17 | i | test.rs:92:21:92:21 | 5 | | | test.rs:92:17:92:21 | ... = ... | test.rs:92:13:94:13 | IfExpr | false | | test.rs:92:17:92:21 | ... = ... | test.rs:93:17:93:22 | ExprStmt | true | | test.rs:92:21:92:21 | 5 | test.rs:92:17:92:21 | ... = ... | | @@ -575,9 +575,9 @@ edges | test.rs:269:5:271:5 | enter test_question_mark_operator_1 | test.rs:269:38:269:38 | s | | | test.rs:269:5:271:5 | exit test_question_mark_operator_1 (normal) | test.rs:269:5:271:5 | exit test_question_mark_operator_1 | | | test.rs:269:38:269:38 | s | test.rs:269:38:269:44 | Param | match | -| test.rs:269:38:269:44 | Param | test.rs:270:9:270:11 | PathExpr | | +| test.rs:269:38:269:44 | Param | test.rs:270:9:270:11 | str | | | test.rs:269:62:271:5 | BlockExpr | test.rs:269:5:271:5 | exit test_question_mark_operator_1 (normal) | | -| test.rs:270:9:270:11 | PathExpr | test.rs:270:9:270:26 | ... .parse(...) | | +| test.rs:270:9:270:11 | str | test.rs:270:9:270:26 | ... .parse(...) | | | test.rs:270:9:270:26 | ... .parse(...) | test.rs:270:9:270:27 | TryExpr | | | test.rs:270:9:270:27 | TryExpr | test.rs:269:5:271:5 | exit test_question_mark_operator_1 (normal) | return | | test.rs:270:9:270:27 | TryExpr | test.rs:270:31:270:31 | 4 | match | @@ -592,15 +592,15 @@ edges | test.rs:274:15:274:15 | b | test.rs:274:15:274:16 | TryExpr | | | test.rs:274:15:274:16 | TryExpr | test.rs:273:5:278:5 | exit test_question_mark_operator_2 (normal) | return | | test.rs:274:15:274:16 | TryExpr | test.rs:275:13:275:16 | true | match | -| test.rs:275:13:275:16 | LiteralPat | test.rs:275:21:275:24 | PathExpr | match | +| test.rs:275:13:275:16 | LiteralPat | test.rs:275:21:275:24 | Some | match | | test.rs:275:13:275:16 | LiteralPat | test.rs:276:13:276:17 | false | no-match | | test.rs:275:13:275:16 | true | test.rs:275:13:275:16 | LiteralPat | | -| test.rs:275:21:275:24 | PathExpr | test.rs:275:26:275:30 | false | | +| test.rs:275:21:275:24 | Some | test.rs:275:26:275:30 | false | | | test.rs:275:21:275:31 | CallExpr | test.rs:274:9:277:9 | MatchExpr | | | test.rs:275:26:275:30 | false | test.rs:275:21:275:31 | CallExpr | | -| test.rs:276:13:276:17 | LiteralPat | test.rs:276:22:276:25 | PathExpr | match | +| test.rs:276:13:276:17 | LiteralPat | test.rs:276:22:276:25 | Some | match | | test.rs:276:13:276:17 | false | test.rs:276:13:276:17 | LiteralPat | | -| test.rs:276:22:276:25 | PathExpr | test.rs:276:27:276:30 | true | | +| test.rs:276:22:276:25 | Some | test.rs:276:27:276:30 | true | | | test.rs:276:22:276:31 | CallExpr | test.rs:274:9:277:9 | MatchExpr | | | test.rs:276:27:276:30 | true | test.rs:276:22:276:31 | CallExpr | | | test.rs:283:5:289:5 | enter test_match | test.rs:283:19:283:29 | maybe_digit | | @@ -633,10 +633,10 @@ edges | test.rs:291:77:300:5 | BlockExpr | test.rs:291:5:300:5 | exit test_match_with_return_in_scrutinee (normal) | | | test.rs:292:9:299:9 | MatchExpr | test.rs:291:77:300:5 | BlockExpr | | | test.rs:292:16:296:9 | IfExpr | test.rs:297:13:297:27 | TupleStructPat | | -| test.rs:292:19:292:29 | maybe_digit | test.rs:292:34:292:37 | PathExpr | | +| test.rs:292:19:292:29 | maybe_digit | test.rs:292:34:292:37 | Some | | | test.rs:292:19:292:40 | ... == ... | test.rs:293:13:293:21 | ExprStmt | true | | test.rs:292:19:292:40 | ... == ... | test.rs:295:13:295:23 | maybe_digit | false | -| test.rs:292:34:292:37 | PathExpr | test.rs:292:39:292:39 | 3 | | +| test.rs:292:34:292:37 | Some | test.rs:292:39:292:39 | 3 | | | test.rs:292:34:292:40 | CallExpr | test.rs:292:19:292:40 | ... == ... | | | test.rs:292:39:292:39 | 3 | test.rs:292:34:292:40 | CallExpr | | | test.rs:293:13:293:20 | ReturnExpr | test.rs:291:5:300:5 | exit test_match_with_return_in_scrutinee (normal) | return | @@ -768,13 +768,13 @@ edges | test.rs:368:5:370:5 | enter say_hello | test.rs:369:9:369:34 | ExprStmt | | | test.rs:368:5:370:5 | exit say_hello (normal) | test.rs:368:5:370:5 | exit say_hello | | | test.rs:368:26:370:5 | BlockExpr | test.rs:368:5:370:5 | exit say_hello (normal) | | +| test.rs:369:9:369:33 | $crate::io::_print | test.rs:369:18:369:32 | "hello, world!\\n" | | | test.rs:369:9:369:33 | MacroExpr | test.rs:368:26:370:5 | BlockExpr | | -| test.rs:369:9:369:33 | PathExpr | test.rs:369:18:369:32 | "hello, world!\\n" | | | test.rs:369:9:369:34 | ExprStmt | test.rs:369:18:369:32 | MacroStmts | | | test.rs:369:18:369:32 | "hello, world!\\n" | test.rs:369:18:369:32 | FormatArgsExpr | | | test.rs:369:18:369:32 | BlockExpr | test.rs:369:9:369:33 | MacroExpr | | | test.rs:369:18:369:32 | CallExpr | test.rs:369:18:369:32 | BlockExpr | | -| test.rs:369:18:369:32 | ExprStmt | test.rs:369:9:369:33 | PathExpr | | +| test.rs:369:18:369:32 | ExprStmt | test.rs:369:9:369:33 | $crate::io::_print | | | test.rs:369:18:369:32 | FormatArgsExpr | test.rs:369:18:369:32 | MacroExpr | | | test.rs:369:18:369:32 | MacroExpr | test.rs:369:18:369:32 | CallExpr | | | test.rs:369:18:369:32 | MacroStmts | test.rs:369:18:369:32 | ExprStmt | | @@ -786,13 +786,13 @@ edges | test.rs:373:26:375:9 | BlockExpr | test.rs:373:13:373:22 | say_godbye | | | test.rs:373:26:375:9 | enter BlockExpr | test.rs:374:13:374:42 | ExprStmt | | | test.rs:373:26:375:9 | exit BlockExpr (normal) | test.rs:373:26:375:9 | exit BlockExpr | | +| test.rs:374:13:374:41 | $crate::io::_print | test.rs:374:22:374:40 | "godbye, everyone!\\n" | | | test.rs:374:13:374:41 | MacroExpr | test.rs:373:26:375:9 | exit BlockExpr (normal) | | -| test.rs:374:13:374:41 | PathExpr | test.rs:374:22:374:40 | "godbye, everyone!\\n" | | | test.rs:374:13:374:42 | ExprStmt | test.rs:374:22:374:40 | MacroStmts | | | test.rs:374:22:374:40 | "godbye, everyone!\\n" | test.rs:374:22:374:40 | FormatArgsExpr | | | test.rs:374:22:374:40 | BlockExpr | test.rs:374:13:374:41 | MacroExpr | | | test.rs:374:22:374:40 | CallExpr | test.rs:374:22:374:40 | BlockExpr | | -| test.rs:374:22:374:40 | ExprStmt | test.rs:374:13:374:41 | PathExpr | | +| test.rs:374:22:374:40 | ExprStmt | test.rs:374:13:374:41 | $crate::io::_print | | | test.rs:374:22:374:40 | FormatArgsExpr | test.rs:374:22:374:40 | MacroExpr | | | test.rs:374:22:374:40 | MacroExpr | test.rs:374:22:374:40 | CallExpr | | | test.rs:374:22:374:40 | MacroStmts | test.rs:374:22:374:40 | ExprStmt | | @@ -801,23 +801,23 @@ edges | test.rs:376:31:378:9 | BlockExpr | test.rs:376:13:376:27 | say_how_are_you | | | test.rs:376:31:378:9 | enter BlockExpr | test.rs:377:13:377:37 | ExprStmt | | | test.rs:376:31:378:9 | exit BlockExpr (normal) | test.rs:376:31:378:9 | exit BlockExpr | | +| test.rs:377:13:377:36 | $crate::io::_print | test.rs:377:22:377:35 | "how are you?\\n" | | | test.rs:377:13:377:36 | MacroExpr | test.rs:376:31:378:9 | exit BlockExpr (normal) | | -| test.rs:377:13:377:36 | PathExpr | test.rs:377:22:377:35 | "how are you?\\n" | | | test.rs:377:13:377:37 | ExprStmt | test.rs:377:22:377:35 | MacroStmts | | | test.rs:377:22:377:35 | "how are you?\\n" | test.rs:377:22:377:35 | FormatArgsExpr | | | test.rs:377:22:377:35 | BlockExpr | test.rs:377:13:377:36 | MacroExpr | | | test.rs:377:22:377:35 | CallExpr | test.rs:377:22:377:35 | BlockExpr | | -| test.rs:377:22:377:35 | ExprStmt | test.rs:377:13:377:36 | PathExpr | | +| test.rs:377:22:377:35 | ExprStmt | test.rs:377:13:377:36 | $crate::io::_print | | | test.rs:377:22:377:35 | FormatArgsExpr | test.rs:377:22:377:35 | MacroExpr | | | test.rs:377:22:377:35 | MacroExpr | test.rs:377:22:377:35 | CallExpr | | | test.rs:377:22:377:35 | MacroStmts | test.rs:377:22:377:35 | ExprStmt | | | test.rs:379:9:379:28 | LetStmt | test.rs:379:20:379:27 | BlockExpr | | | test.rs:379:13:379:16 | noop | test.rs:380:9:380:26 | ExprStmt | match | | test.rs:379:20:379:27 | BlockExpr | test.rs:379:13:379:16 | noop | | -| test.rs:380:9:380:17 | PathExpr | test.rs:380:9:380:19 | CallExpr | | +| test.rs:380:9:380:17 | say_hello | test.rs:380:9:380:19 | CallExpr | | | test.rs:380:9:380:19 | CallExpr | test.rs:380:9:380:25 | AwaitExpr | | | test.rs:380:9:380:25 | AwaitExpr | test.rs:381:9:381:30 | ExprStmt | | -| test.rs:380:9:380:26 | ExprStmt | test.rs:380:9:380:17 | PathExpr | | +| test.rs:380:9:380:26 | ExprStmt | test.rs:380:9:380:17 | say_hello | | | test.rs:381:9:381:23 | say_how_are_you | test.rs:381:9:381:29 | AwaitExpr | | | test.rs:381:9:381:29 | AwaitExpr | test.rs:382:9:382:25 | ExprStmt | | | test.rs:381:9:381:30 | ExprStmt | test.rs:381:9:381:23 | say_how_are_you | | @@ -840,29 +840,29 @@ edges | test.rs:396:41:404:5 | BlockExpr | test.rs:396:5:404:5 | exit const_block_assert (normal) | | | test.rs:399:9:401:9 | BlockExpr | test.rs:403:9:403:10 | 42 | | | test.rs:399:9:401:9 | ExprStmt | test.rs:400:13:400:50 | ExprStmt | | +| test.rs:400:13:400:49 | $crate::panicking::panic_explicit | test.rs:400:13:400:49 | CallExpr | | | test.rs:400:13:400:49 | BlockExpr | test.rs:400:13:400:49 | MacroExpr | | | test.rs:400:13:400:49 | BlockExpr | test.rs:400:13:400:49 | exit panic_cold_explicit (normal) | | | test.rs:400:13:400:49 | BlockExpr | test.rs:400:21:400:48 | IfExpr | | | test.rs:400:13:400:49 | CallExpr | test.rs:400:13:400:49 | BlockExpr | | | test.rs:400:13:400:49 | CallExpr | test.rs:400:13:400:49 | BlockExpr | | | test.rs:400:13:400:49 | ExprStmt | test.rs:400:13:400:49 | MacroStmts | | -| test.rs:400:13:400:49 | ExprStmt | test.rs:400:13:400:49 | PathExpr | | +| test.rs:400:13:400:49 | ExprStmt | test.rs:400:13:400:49 | panic_cold_explicit | | | test.rs:400:13:400:49 | MacroExpr | test.rs:399:9:401:9 | BlockExpr | | | test.rs:400:13:400:49 | MacroExpr | test.rs:400:13:400:49 | BlockExpr | | | test.rs:400:13:400:49 | MacroStmts | test.rs:400:13:400:49 | panic_cold_explicit | | -| test.rs:400:13:400:49 | PathExpr | test.rs:400:13:400:49 | CallExpr | | -| test.rs:400:13:400:49 | PathExpr | test.rs:400:13:400:49 | CallExpr | | -| test.rs:400:13:400:49 | enter panic_cold_explicit | test.rs:400:13:400:49 | PathExpr | | +| test.rs:400:13:400:49 | enter panic_cold_explicit | test.rs:400:13:400:49 | $crate::panicking::panic_explicit | | | test.rs:400:13:400:49 | exit panic_cold_explicit (normal) | test.rs:400:13:400:49 | exit panic_cold_explicit | | +| test.rs:400:13:400:49 | panic_cold_explicit | test.rs:400:13:400:49 | CallExpr | | | test.rs:400:13:400:49 | panic_cold_explicit | test.rs:400:13:400:49 | ExprStmt | | | test.rs:400:13:400:50 | ExprStmt | test.rs:400:21:400:48 | MacroStmts | | -| test.rs:400:21:400:42 | PathExpr | test.rs:400:21:400:44 | CallExpr | | +| test.rs:400:21:400:42 | std::mem::size_of::<...> | test.rs:400:21:400:44 | CallExpr | | | test.rs:400:21:400:44 | CallExpr | test.rs:400:48:400:48 | 0 | | | test.rs:400:21:400:48 | ... > ... | test.rs:400:21:400:48 | [boolean(false)] ! ... | true | | test.rs:400:21:400:48 | ... > ... | test.rs:400:21:400:48 | [boolean(true)] ! ... | false | | test.rs:400:21:400:48 | BlockExpr | test.rs:400:13:400:49 | MacroExpr | | | test.rs:400:21:400:48 | IfExpr | test.rs:400:21:400:48 | BlockExpr | | -| test.rs:400:21:400:48 | MacroStmts | test.rs:400:21:400:42 | PathExpr | | +| test.rs:400:21:400:48 | MacroStmts | test.rs:400:21:400:42 | std::mem::size_of::<...> | | | test.rs:400:21:400:48 | [boolean(false)] ! ... | test.rs:400:21:400:48 | IfExpr | false | | test.rs:400:21:400:48 | [boolean(true)] ! ... | test.rs:400:13:400:49 | ExprStmt | true | | test.rs:400:48:400:48 | 0 | test.rs:400:21:400:48 | ... > ... | | @@ -872,14 +872,14 @@ edges | test.rs:406:35:415:5 | BlockExpr | test.rs:406:5:415:5 | exit const_block_panic (normal) | | | test.rs:407:9:407:30 | Const | test.rs:408:9:413:9 | ExprStmt | | | test.rs:408:9:413:9 | ExprStmt | test.rs:408:12:408:16 | false | | -| test.rs:408:9:413:9 | IfExpr | test.rs:414:9:414:9 | PathExpr | | +| test.rs:408:9:413:9 | IfExpr | test.rs:414:9:414:9 | N | | | test.rs:408:12:408:16 | false | test.rs:408:9:413:9 | IfExpr | false | +| test.rs:411:17:411:24 | $crate::panicking::panic_explicit | test.rs:411:17:411:24 | CallExpr | | | test.rs:411:17:411:24 | BlockExpr | test.rs:411:17:411:24 | exit panic_cold_explicit (normal) | | | test.rs:411:17:411:24 | CallExpr | test.rs:411:17:411:24 | BlockExpr | | -| test.rs:411:17:411:24 | PathExpr | test.rs:411:17:411:24 | CallExpr | | -| test.rs:411:17:411:24 | enter panic_cold_explicit | test.rs:411:17:411:24 | PathExpr | | +| test.rs:411:17:411:24 | enter panic_cold_explicit | test.rs:411:17:411:24 | $crate::panicking::panic_explicit | | | test.rs:411:17:411:24 | exit panic_cold_explicit (normal) | test.rs:411:17:411:24 | exit panic_cold_explicit | | -| test.rs:414:9:414:9 | PathExpr | test.rs:406:35:415:5 | BlockExpr | | +| test.rs:414:9:414:9 | N | test.rs:406:35:415:5 | BlockExpr | | | test.rs:418:1:423:1 | enter dead_code | test.rs:419:5:421:5 | ExprStmt | | | test.rs:418:1:423:1 | exit dead_code (normal) | test.rs:418:1:423:1 | exit dead_code | | | test.rs:419:5:421:5 | ExprStmt | test.rs:419:9:419:12 | true | | @@ -893,31 +893,31 @@ edges | test.rs:426:5:437:6 | LetStmt | test.rs:427:9:427:19 | ExprStmt | | | test.rs:426:9:426:14 | result | test.rs:425:29:438:1 | BlockExpr | match | | test.rs:426:18:437:5 | BlockExpr | test.rs:426:9:426:14 | result | | -| test.rs:427:9:427:16 | PathExpr | test.rs:427:9:427:18 | CallExpr | | +| test.rs:427:9:427:16 | do_thing | test.rs:427:9:427:18 | CallExpr | | | test.rs:427:9:427:18 | CallExpr | test.rs:428:9:430:9 | ExprStmt | | -| test.rs:427:9:427:19 | ExprStmt | test.rs:427:9:427:16 | PathExpr | | -| test.rs:428:9:430:9 | ExprStmt | test.rs:428:12:428:28 | PathExpr | | +| test.rs:427:9:427:19 | ExprStmt | test.rs:427:9:427:16 | do_thing | | +| test.rs:428:9:430:9 | ExprStmt | test.rs:428:12:428:28 | condition_not_met | | | test.rs:428:9:430:9 | IfExpr | test.rs:431:9:431:24 | ExprStmt | | -| test.rs:428:12:428:28 | PathExpr | test.rs:428:12:428:30 | CallExpr | | +| test.rs:428:12:428:28 | condition_not_met | test.rs:428:12:428:30 | CallExpr | | | test.rs:428:12:428:30 | CallExpr | test.rs:428:9:430:9 | IfExpr | false | | test.rs:428:12:428:30 | CallExpr | test.rs:429:13:429:27 | ExprStmt | true | | test.rs:429:13:429:26 | BreakExpr | test.rs:426:18:437:5 | BlockExpr | break | | test.rs:429:13:429:27 | ExprStmt | test.rs:429:26:429:26 | 1 | | | test.rs:429:26:429:26 | 1 | test.rs:429:13:429:26 | BreakExpr | | -| test.rs:431:9:431:21 | PathExpr | test.rs:431:9:431:23 | CallExpr | | +| test.rs:431:9:431:21 | do_next_thing | test.rs:431:9:431:23 | CallExpr | | | test.rs:431:9:431:23 | CallExpr | test.rs:432:9:434:9 | ExprStmt | | -| test.rs:431:9:431:24 | ExprStmt | test.rs:431:9:431:21 | PathExpr | | -| test.rs:432:9:434:9 | ExprStmt | test.rs:432:12:432:28 | PathExpr | | +| test.rs:431:9:431:24 | ExprStmt | test.rs:431:9:431:21 | do_next_thing | | +| test.rs:432:9:434:9 | ExprStmt | test.rs:432:12:432:28 | condition_not_met | | | test.rs:432:9:434:9 | IfExpr | test.rs:435:9:435:24 | ExprStmt | | -| test.rs:432:12:432:28 | PathExpr | test.rs:432:12:432:30 | CallExpr | | +| test.rs:432:12:432:28 | condition_not_met | test.rs:432:12:432:30 | CallExpr | | | test.rs:432:12:432:30 | CallExpr | test.rs:432:9:434:9 | IfExpr | false | | test.rs:432:12:432:30 | CallExpr | test.rs:433:13:433:27 | ExprStmt | true | | test.rs:433:13:433:26 | BreakExpr | test.rs:426:18:437:5 | BlockExpr | break | | test.rs:433:13:433:27 | ExprStmt | test.rs:433:26:433:26 | 2 | | | test.rs:433:26:433:26 | 2 | test.rs:433:13:433:26 | BreakExpr | | -| test.rs:435:9:435:21 | PathExpr | test.rs:435:9:435:23 | CallExpr | | +| test.rs:435:9:435:21 | do_last_thing | test.rs:435:9:435:23 | CallExpr | | | test.rs:435:9:435:23 | CallExpr | test.rs:436:9:436:9 | 3 | | -| test.rs:435:9:435:24 | ExprStmt | test.rs:435:9:435:21 | PathExpr | | +| test.rs:435:9:435:24 | ExprStmt | test.rs:435:9:435:21 | do_last_thing | | | test.rs:436:9:436:9 | 3 | test.rs:426:18:437:5 | BlockExpr | | | test.rs:440:1:448:1 | enter labelled_block2 | test.rs:441:5:447:6 | LetStmt | | | test.rs:440:1:448:1 | exit labelled_block2 (normal) | test.rs:440:1:448:1 | exit labelled_block2 | | @@ -925,9 +925,9 @@ edges | test.rs:441:5:447:6 | LetStmt | test.rs:442:9:442:34 | LetStmt | | | test.rs:441:9:441:14 | result | test.rs:440:29:448:1 | BlockExpr | match | | test.rs:441:18:447:5 | BlockExpr | test.rs:441:9:441:14 | result | | -| test.rs:442:9:442:34 | LetStmt | test.rs:442:30:442:33 | PathExpr | | +| test.rs:442:9:442:34 | LetStmt | test.rs:442:30:442:33 | None | | | test.rs:442:13:442:13 | x | test.rs:443:9:445:10 | LetStmt | match | -| test.rs:442:30:442:33 | PathExpr | test.rs:442:13:442:13 | x | | +| test.rs:442:30:442:33 | None | test.rs:442:13:442:13 | x | | | test.rs:443:9:445:10 | LetStmt | test.rs:443:23:443:23 | x | | | test.rs:443:13:443:19 | TupleStructPat | test.rs:443:18:443:18 | y | match | | test.rs:443:13:443:19 | TupleStructPat | test.rs:444:13:444:27 | ExprStmt | no-match | @@ -954,9 +954,9 @@ edges | test.rs:453:9:453:16 | ExprStmt | test.rs:453:10:453:10 | x | | | test.rs:453:10:453:10 | x | test.rs:453:9:453:10 | * ... | | | test.rs:453:15:453:15 | 1 | test.rs:453:9:453:15 | ... += ... | | -| test.rs:455:5:455:10 | PathExpr | test.rs:455:17:455:17 | x | | +| test.rs:455:5:455:10 | nested | test.rs:455:17:455:17 | x | | | test.rs:455:5:455:18 | CallExpr | test.rs:450:27:456:1 | BlockExpr | | -| test.rs:455:5:455:19 | ExprStmt | test.rs:455:5:455:10 | PathExpr | | +| test.rs:455:5:455:19 | ExprStmt | test.rs:455:5:455:10 | nested | | | test.rs:455:12:455:17 | RefExpr | test.rs:455:5:455:18 | CallExpr | | | test.rs:455:17:455:17 | x | test.rs:455:12:455:17 | RefExpr | | breakTarget diff --git a/rust/ql/test/library-tests/variables/Cfg.expected b/rust/ql/test/library-tests/variables/Cfg.expected index c7b122e2ab0e..3ff46aa9f7ec 100644 --- a/rust/ql/test/library-tests/variables/Cfg.expected +++ b/rust/ql/test/library-tests/variables/Cfg.expected @@ -4,13 +4,13 @@ edges | variables.rs:3:14:3:14 | s | variables.rs:3:14:3:20 | Param | match | | variables.rs:3:14:3:20 | Param | variables.rs:4:5:4:22 | ExprStmt | | | variables.rs:3:23:5:1 | BlockExpr | variables.rs:3:1:5:1 | exit print_str (normal) | | +| variables.rs:4:5:4:21 | $crate::io::_print | variables.rs:4:14:4:17 | "{}\\n" | | | variables.rs:4:5:4:21 | MacroExpr | variables.rs:3:23:5:1 | BlockExpr | | -| variables.rs:4:5:4:21 | PathExpr | variables.rs:4:14:4:17 | "{}\\n" | | | variables.rs:4:5:4:22 | ExprStmt | variables.rs:4:14:4:20 | MacroStmts | | | variables.rs:4:14:4:17 | "{}\\n" | variables.rs:4:20:4:20 | s | | | variables.rs:4:14:4:20 | BlockExpr | variables.rs:4:5:4:21 | MacroExpr | | | variables.rs:4:14:4:20 | CallExpr | variables.rs:4:14:4:20 | BlockExpr | | -| variables.rs:4:14:4:20 | ExprStmt | variables.rs:4:5:4:21 | PathExpr | | +| variables.rs:4:14:4:20 | ExprStmt | variables.rs:4:5:4:21 | $crate::io::_print | | | variables.rs:4:14:4:20 | FormatArgsExpr | variables.rs:4:14:4:20 | MacroExpr | | | variables.rs:4:14:4:20 | MacroExpr | variables.rs:4:14:4:20 | CallExpr | | | variables.rs:4:14:4:20 | MacroStmts | variables.rs:4:14:4:20 | ExprStmt | | @@ -20,13 +20,13 @@ edges | variables.rs:7:14:7:14 | i | variables.rs:7:14:7:19 | Param | match | | variables.rs:7:14:7:19 | Param | variables.rs:8:5:8:22 | ExprStmt | | | variables.rs:7:22:9:1 | BlockExpr | variables.rs:7:1:9:1 | exit print_i64 (normal) | | +| variables.rs:8:5:8:21 | $crate::io::_print | variables.rs:8:14:8:17 | "{}\\n" | | | variables.rs:8:5:8:21 | MacroExpr | variables.rs:7:22:9:1 | BlockExpr | | -| variables.rs:8:5:8:21 | PathExpr | variables.rs:8:14:8:17 | "{}\\n" | | | variables.rs:8:5:8:22 | ExprStmt | variables.rs:8:14:8:20 | MacroStmts | | | variables.rs:8:14:8:17 | "{}\\n" | variables.rs:8:20:8:20 | i | | | variables.rs:8:14:8:20 | BlockExpr | variables.rs:8:5:8:21 | MacroExpr | | | variables.rs:8:14:8:20 | CallExpr | variables.rs:8:14:8:20 | BlockExpr | | -| variables.rs:8:14:8:20 | ExprStmt | variables.rs:8:5:8:21 | PathExpr | | +| variables.rs:8:14:8:20 | ExprStmt | variables.rs:8:5:8:21 | $crate::io::_print | | | variables.rs:8:14:8:20 | FormatArgsExpr | variables.rs:8:14:8:20 | MacroExpr | | | variables.rs:8:14:8:20 | MacroExpr | variables.rs:8:14:8:20 | CallExpr | | | variables.rs:8:14:8:20 | MacroStmts | variables.rs:8:14:8:20 | ExprStmt | | @@ -34,9 +34,9 @@ edges | variables.rs:11:1:13:1 | enter print_i64_ref | variables.rs:11:18:11:18 | i | | | variables.rs:11:1:13:1 | exit print_i64_ref (normal) | variables.rs:11:1:13:1 | exit print_i64_ref | | | variables.rs:11:18:11:18 | i | variables.rs:11:18:11:24 | Param | match | -| variables.rs:11:18:11:24 | Param | variables.rs:12:5:12:13 | PathExpr | | +| variables.rs:11:18:11:24 | Param | variables.rs:12:5:12:13 | print_i64 | | | variables.rs:11:27:13:1 | BlockExpr | variables.rs:11:1:13:1 | exit print_i64_ref (normal) | | -| variables.rs:12:5:12:13 | PathExpr | variables.rs:12:16:12:16 | i | | +| variables.rs:12:5:12:13 | print_i64 | variables.rs:12:16:12:16 | i | | | variables.rs:12:5:12:17 | CallExpr | variables.rs:11:27:13:1 | BlockExpr | | | variables.rs:12:15:12:16 | * ... | variables.rs:12:5:12:17 | CallExpr | | | variables.rs:12:16:12:16 | i | variables.rs:12:15:12:16 | * ... | | @@ -46,9 +46,9 @@ edges | variables.rs:16:5:16:17 | LetStmt | variables.rs:16:14:16:16 | "a" | | | variables.rs:16:9:16:10 | x1 | variables.rs:17:5:17:18 | ExprStmt | match | | variables.rs:16:14:16:16 | "a" | variables.rs:16:9:16:10 | x1 | | -| variables.rs:17:5:17:13 | PathExpr | variables.rs:17:15:17:16 | x1 | | +| variables.rs:17:5:17:13 | print_str | variables.rs:17:15:17:16 | x1 | | | variables.rs:17:5:17:17 | CallExpr | variables.rs:15:25:18:1 | BlockExpr | | -| variables.rs:17:5:17:18 | ExprStmt | variables.rs:17:5:17:13 | PathExpr | | +| variables.rs:17:5:17:18 | ExprStmt | variables.rs:17:5:17:13 | print_str | | | variables.rs:17:15:17:16 | x1 | variables.rs:17:5:17:17 | CallExpr | | | variables.rs:20:1:25:1 | enter mutable_variable | variables.rs:21:5:21:19 | LetStmt | | | variables.rs:20:1:25:1 | exit mutable_variable (normal) | variables.rs:20:1:25:1 | exit mutable_variable | | @@ -56,17 +56,17 @@ edges | variables.rs:21:5:21:19 | LetStmt | variables.rs:21:18:21:18 | 4 | | | variables.rs:21:9:21:14 | x2 | variables.rs:22:5:22:18 | ExprStmt | match | | variables.rs:21:18:21:18 | 4 | variables.rs:21:9:21:14 | x2 | | -| variables.rs:22:5:22:13 | PathExpr | variables.rs:22:15:22:16 | x2 | | +| variables.rs:22:5:22:13 | print_i64 | variables.rs:22:15:22:16 | x2 | | | variables.rs:22:5:22:17 | CallExpr | variables.rs:23:5:23:11 | ExprStmt | | -| variables.rs:22:5:22:18 | ExprStmt | variables.rs:22:5:22:13 | PathExpr | | +| variables.rs:22:5:22:18 | ExprStmt | variables.rs:22:5:22:13 | print_i64 | | | variables.rs:22:15:22:16 | x2 | variables.rs:22:5:22:17 | CallExpr | | | variables.rs:23:5:23:6 | x2 | variables.rs:23:10:23:10 | 5 | | | variables.rs:23:5:23:10 | ... = ... | variables.rs:24:5:24:18 | ExprStmt | | | variables.rs:23:5:23:11 | ExprStmt | variables.rs:23:5:23:6 | x2 | | | variables.rs:23:10:23:10 | 5 | variables.rs:23:5:23:10 | ... = ... | | -| variables.rs:24:5:24:13 | PathExpr | variables.rs:24:15:24:16 | x2 | | +| variables.rs:24:5:24:13 | print_i64 | variables.rs:24:15:24:16 | x2 | | | variables.rs:24:5:24:17 | CallExpr | variables.rs:20:23:25:1 | BlockExpr | | -| variables.rs:24:5:24:18 | ExprStmt | variables.rs:24:5:24:13 | PathExpr | | +| variables.rs:24:5:24:18 | ExprStmt | variables.rs:24:5:24:13 | print_i64 | | | variables.rs:24:15:24:16 | x2 | variables.rs:24:5:24:17 | CallExpr | | | variables.rs:27:1:32:1 | enter mutable_variable_immutable_borrow | variables.rs:28:5:28:18 | LetStmt | | | variables.rs:27:1:32:1 | exit mutable_variable_immutable_borrow (normal) | variables.rs:27:1:32:1 | exit mutable_variable_immutable_borrow | | @@ -74,18 +74,18 @@ edges | variables.rs:28:5:28:18 | LetStmt | variables.rs:28:17:28:17 | 1 | | | variables.rs:28:9:28:13 | x | variables.rs:29:5:29:22 | ExprStmt | match | | variables.rs:28:17:28:17 | 1 | variables.rs:28:9:28:13 | x | | -| variables.rs:29:5:29:17 | PathExpr | variables.rs:29:20:29:20 | x | | +| variables.rs:29:5:29:17 | print_i64_ref | variables.rs:29:20:29:20 | x | | | variables.rs:29:5:29:21 | CallExpr | variables.rs:30:5:30:10 | ExprStmt | | -| variables.rs:29:5:29:22 | ExprStmt | variables.rs:29:5:29:17 | PathExpr | | +| variables.rs:29:5:29:22 | ExprStmt | variables.rs:29:5:29:17 | print_i64_ref | | | variables.rs:29:19:29:20 | RefExpr | variables.rs:29:5:29:21 | CallExpr | | | variables.rs:29:20:29:20 | x | variables.rs:29:19:29:20 | RefExpr | | | variables.rs:30:5:30:5 | x | variables.rs:30:9:30:9 | 2 | | | variables.rs:30:5:30:9 | ... = ... | variables.rs:31:5:31:22 | ExprStmt | | | variables.rs:30:5:30:10 | ExprStmt | variables.rs:30:5:30:5 | x | | | variables.rs:30:9:30:9 | 2 | variables.rs:30:5:30:9 | ... = ... | | -| variables.rs:31:5:31:17 | PathExpr | variables.rs:31:20:31:20 | x | | +| variables.rs:31:5:31:17 | print_i64_ref | variables.rs:31:20:31:20 | x | | | variables.rs:31:5:31:21 | CallExpr | variables.rs:27:40:32:1 | BlockExpr | | -| variables.rs:31:5:31:22 | ExprStmt | variables.rs:31:5:31:17 | PathExpr | | +| variables.rs:31:5:31:22 | ExprStmt | variables.rs:31:5:31:17 | print_i64_ref | | | variables.rs:31:19:31:20 | RefExpr | variables.rs:31:5:31:21 | CallExpr | | | variables.rs:31:20:31:20 | x | variables.rs:31:19:31:20 | RefExpr | | | variables.rs:34:1:40:1 | enter variable_shadow1 | variables.rs:35:5:35:15 | LetStmt | | @@ -94,18 +94,18 @@ edges | variables.rs:35:5:35:15 | LetStmt | variables.rs:35:14:35:14 | 1 | | | variables.rs:35:9:35:10 | x3 | variables.rs:36:5:36:18 | ExprStmt | match | | variables.rs:35:14:35:14 | 1 | variables.rs:35:9:35:10 | x3 | | -| variables.rs:36:5:36:13 | PathExpr | variables.rs:36:15:36:16 | x3 | | +| variables.rs:36:5:36:13 | print_i64 | variables.rs:36:15:36:16 | x3 | | | variables.rs:36:5:36:17 | CallExpr | variables.rs:37:5:38:15 | LetStmt | | -| variables.rs:36:5:36:18 | ExprStmt | variables.rs:36:5:36:13 | PathExpr | | +| variables.rs:36:5:36:18 | ExprStmt | variables.rs:36:5:36:13 | print_i64 | | | variables.rs:36:15:36:16 | x3 | variables.rs:36:5:36:17 | CallExpr | | | variables.rs:37:5:38:15 | LetStmt | variables.rs:38:9:38:10 | x3 | | | variables.rs:37:9:37:10 | x3 | variables.rs:39:5:39:18 | ExprStmt | match | | variables.rs:38:9:38:10 | x3 | variables.rs:38:14:38:14 | 1 | | | variables.rs:38:9:38:14 | ... + ... | variables.rs:37:9:37:10 | x3 | | | variables.rs:38:14:38:14 | 1 | variables.rs:38:9:38:14 | ... + ... | | -| variables.rs:39:5:39:13 | PathExpr | variables.rs:39:15:39:16 | x3 | | +| variables.rs:39:5:39:13 | print_i64 | variables.rs:39:15:39:16 | x3 | | | variables.rs:39:5:39:17 | CallExpr | variables.rs:34:23:40:1 | BlockExpr | | -| variables.rs:39:5:39:18 | ExprStmt | variables.rs:39:5:39:13 | PathExpr | | +| variables.rs:39:5:39:18 | ExprStmt | variables.rs:39:5:39:13 | print_i64 | | | variables.rs:39:15:39:16 | x3 | variables.rs:39:5:39:17 | CallExpr | | | variables.rs:42:1:50:1 | enter variable_shadow2 | variables.rs:43:5:43:17 | LetStmt | | | variables.rs:42:1:50:1 | exit variable_shadow2 (normal) | variables.rs:42:1:50:1 | exit variable_shadow2 | | @@ -113,22 +113,22 @@ edges | variables.rs:43:5:43:17 | LetStmt | variables.rs:43:14:43:16 | "a" | | | variables.rs:43:9:43:10 | x4 | variables.rs:44:5:44:18 | ExprStmt | match | | variables.rs:43:14:43:16 | "a" | variables.rs:43:9:43:10 | x4 | | -| variables.rs:44:5:44:13 | PathExpr | variables.rs:44:15:44:16 | x4 | | +| variables.rs:44:5:44:13 | print_str | variables.rs:44:15:44:16 | x4 | | | variables.rs:44:5:44:17 | CallExpr | variables.rs:45:5:48:5 | ExprStmt | | -| variables.rs:44:5:44:18 | ExprStmt | variables.rs:44:5:44:13 | PathExpr | | +| variables.rs:44:5:44:18 | ExprStmt | variables.rs:44:5:44:13 | print_str | | | variables.rs:44:15:44:16 | x4 | variables.rs:44:5:44:17 | CallExpr | | | variables.rs:45:5:48:5 | BlockExpr | variables.rs:49:5:49:18 | ExprStmt | | | variables.rs:45:5:48:5 | ExprStmt | variables.rs:46:9:46:21 | LetStmt | | | variables.rs:46:9:46:21 | LetStmt | variables.rs:46:18:46:20 | "b" | | | variables.rs:46:13:46:14 | x4 | variables.rs:47:9:47:22 | ExprStmt | match | | variables.rs:46:18:46:20 | "b" | variables.rs:46:13:46:14 | x4 | | -| variables.rs:47:9:47:17 | PathExpr | variables.rs:47:19:47:20 | x4 | | +| variables.rs:47:9:47:17 | print_str | variables.rs:47:19:47:20 | x4 | | | variables.rs:47:9:47:21 | CallExpr | variables.rs:45:5:48:5 | BlockExpr | | -| variables.rs:47:9:47:22 | ExprStmt | variables.rs:47:9:47:17 | PathExpr | | +| variables.rs:47:9:47:22 | ExprStmt | variables.rs:47:9:47:17 | print_str | | | variables.rs:47:19:47:20 | x4 | variables.rs:47:9:47:21 | CallExpr | | -| variables.rs:49:5:49:13 | PathExpr | variables.rs:49:15:49:16 | x4 | | +| variables.rs:49:5:49:13 | print_str | variables.rs:49:15:49:16 | x4 | | | variables.rs:49:5:49:17 | CallExpr | variables.rs:42:23:50:1 | BlockExpr | | -| variables.rs:49:5:49:18 | ExprStmt | variables.rs:49:5:49:13 | PathExpr | | +| variables.rs:49:5:49:18 | ExprStmt | variables.rs:49:5:49:13 | print_str | | | variables.rs:49:15:49:16 | x4 | variables.rs:49:5:49:17 | CallExpr | | | variables.rs:57:1:72:1 | enter let_pattern1 | variables.rs:58:5:67:47 | LetStmt | | | variables.rs:57:1:72:1 | exit let_pattern1 (normal) | variables.rs:57:1:72:1 | exit let_pattern1 | | @@ -148,21 +148,21 @@ edges | variables.rs:67:22:67:45 | RecordExpr | variables.rs:67:9:67:46 | TupleExpr | | | variables.rs:67:33:67:35 | "x" | variables.rs:67:41:67:43 | "y" | | | variables.rs:67:41:67:43 | "y" | variables.rs:67:22:67:45 | RecordExpr | | -| variables.rs:68:5:68:13 | PathExpr | variables.rs:68:15:68:16 | a1 | | +| variables.rs:68:5:68:13 | print_str | variables.rs:68:15:68:16 | a1 | | | variables.rs:68:5:68:17 | CallExpr | variables.rs:69:5:69:18 | ExprStmt | | -| variables.rs:68:5:68:18 | ExprStmt | variables.rs:68:5:68:13 | PathExpr | | +| variables.rs:68:5:68:18 | ExprStmt | variables.rs:68:5:68:13 | print_str | | | variables.rs:68:15:68:16 | a1 | variables.rs:68:5:68:17 | CallExpr | | -| variables.rs:69:5:69:13 | PathExpr | variables.rs:69:15:69:16 | b1 | | +| variables.rs:69:5:69:13 | print_str | variables.rs:69:15:69:16 | b1 | | | variables.rs:69:5:69:17 | CallExpr | variables.rs:70:5:70:17 | ExprStmt | | -| variables.rs:69:5:69:18 | ExprStmt | variables.rs:69:5:69:13 | PathExpr | | +| variables.rs:69:5:69:18 | ExprStmt | variables.rs:69:5:69:13 | print_str | | | variables.rs:69:15:69:16 | b1 | variables.rs:69:5:69:17 | CallExpr | | -| variables.rs:70:5:70:13 | PathExpr | variables.rs:70:15:70:15 | x | | +| variables.rs:70:5:70:13 | print_str | variables.rs:70:15:70:15 | x | | | variables.rs:70:5:70:16 | CallExpr | variables.rs:71:5:71:17 | ExprStmt | | -| variables.rs:70:5:70:17 | ExprStmt | variables.rs:70:5:70:13 | PathExpr | | +| variables.rs:70:5:70:17 | ExprStmt | variables.rs:70:5:70:13 | print_str | | | variables.rs:70:15:70:15 | x | variables.rs:70:5:70:16 | CallExpr | | -| variables.rs:71:5:71:13 | PathExpr | variables.rs:71:15:71:15 | y | | +| variables.rs:71:5:71:13 | print_str | variables.rs:71:15:71:15 | y | | | variables.rs:71:5:71:16 | CallExpr | variables.rs:57:19:72:1 | BlockExpr | | -| variables.rs:71:5:71:17 | ExprStmt | variables.rs:71:5:71:13 | PathExpr | | +| variables.rs:71:5:71:17 | ExprStmt | variables.rs:71:5:71:13 | print_str | | | variables.rs:71:15:71:15 | y | variables.rs:71:5:71:16 | CallExpr | | | variables.rs:74:1:82:1 | enter let_pattern2 | variables.rs:75:5:75:38 | LetStmt | | | variables.rs:74:1:82:1 | exit let_pattern2 (normal) | variables.rs:74:1:82:1 | exit let_pattern2 | | @@ -177,22 +177,22 @@ edges | variables.rs:77:12:77:13 | a2 | variables.rs:78:12:78:13 | b2 | match | | variables.rs:78:12:78:13 | b2 | variables.rs:80:5:80:18 | ExprStmt | match | | variables.rs:79:9:79:10 | p1 | variables.rs:76:9:79:5 | RecordPat | | -| variables.rs:80:5:80:13 | PathExpr | variables.rs:80:15:80:16 | a2 | | +| variables.rs:80:5:80:13 | print_str | variables.rs:80:15:80:16 | a2 | | | variables.rs:80:5:80:17 | CallExpr | variables.rs:81:5:81:18 | ExprStmt | | -| variables.rs:80:5:80:18 | ExprStmt | variables.rs:80:5:80:13 | PathExpr | | +| variables.rs:80:5:80:18 | ExprStmt | variables.rs:80:5:80:13 | print_str | | | variables.rs:80:15:80:16 | a2 | variables.rs:80:5:80:17 | CallExpr | | -| variables.rs:81:5:81:13 | PathExpr | variables.rs:81:15:81:16 | b2 | | +| variables.rs:81:5:81:13 | print_str | variables.rs:81:15:81:16 | b2 | | | variables.rs:81:5:81:17 | CallExpr | variables.rs:74:19:82:1 | BlockExpr | | -| variables.rs:81:5:81:18 | ExprStmt | variables.rs:81:5:81:13 | PathExpr | | +| variables.rs:81:5:81:18 | ExprStmt | variables.rs:81:5:81:13 | print_str | | | variables.rs:81:15:81:16 | b2 | variables.rs:81:5:81:17 | CallExpr | | | variables.rs:84:1:91:1 | enter let_pattern3 | variables.rs:85:5:85:42 | LetStmt | | | variables.rs:84:1:91:1 | exit let_pattern3 (normal) | variables.rs:84:1:91:1 | exit let_pattern3 | | | variables.rs:84:19:91:1 | BlockExpr | variables.rs:84:1:91:1 | exit let_pattern3 (normal) | | -| variables.rs:85:5:85:42 | LetStmt | variables.rs:85:14:85:17 | PathExpr | | +| variables.rs:85:5:85:42 | LetStmt | variables.rs:85:14:85:17 | Some | | | variables.rs:85:9:85:10 | s1 | variables.rs:87:8:88:12 | LetExpr | match | -| variables.rs:85:14:85:17 | PathExpr | variables.rs:85:19:85:30 | PathExpr | | +| variables.rs:85:14:85:17 | Some | variables.rs:85:19:85:30 | String::from | | | variables.rs:85:14:85:41 | CallExpr | variables.rs:85:9:85:10 | s1 | | -| variables.rs:85:19:85:30 | PathExpr | variables.rs:85:32:85:39 | "Hello!" | | +| variables.rs:85:19:85:30 | String::from | variables.rs:85:32:85:39 | "Hello!" | | | variables.rs:85:19:85:40 | CallExpr | variables.rs:85:14:85:41 | CallExpr | | | variables.rs:85:32:85:39 | "Hello!" | variables.rs:85:19:85:40 | CallExpr | | | variables.rs:87:5:90:5 | IfExpr | variables.rs:84:19:91:1 | BlockExpr | | @@ -202,37 +202,37 @@ edges | variables.rs:87:17:87:22 | s2 | variables.rs:89:9:89:22 | ExprStmt | match | | variables.rs:88:11:88:12 | s1 | variables.rs:87:12:87:23 | TupleStructPat | | | variables.rs:88:14:90:5 | BlockExpr | variables.rs:87:5:90:5 | IfExpr | | -| variables.rs:89:9:89:17 | PathExpr | variables.rs:89:19:89:20 | s2 | | +| variables.rs:89:9:89:17 | print_str | variables.rs:89:19:89:20 | s2 | | | variables.rs:89:9:89:21 | CallExpr | variables.rs:88:14:90:5 | BlockExpr | | -| variables.rs:89:9:89:22 | ExprStmt | variables.rs:89:9:89:17 | PathExpr | | +| variables.rs:89:9:89:22 | ExprStmt | variables.rs:89:9:89:17 | print_str | | | variables.rs:89:19:89:20 | s2 | variables.rs:89:9:89:21 | CallExpr | | | variables.rs:93:1:99:1 | enter let_pattern4 | variables.rs:94:5:97:10 | LetStmt | | | variables.rs:93:1:99:1 | exit let_pattern4 (normal) | variables.rs:93:1:99:1 | exit let_pattern4 | | | variables.rs:93:19:99:1 | BlockExpr | variables.rs:93:1:99:1 | exit let_pattern4 (normal) | | -| variables.rs:94:5:97:10 | LetStmt | variables.rs:94:34:94:37 | PathExpr | | +| variables.rs:94:5:97:10 | LetStmt | variables.rs:94:34:94:37 | Some | | | variables.rs:94:9:94:16 | TupleStructPat | variables.rs:94:14:94:15 | x5 | match | | variables.rs:94:9:94:16 | TupleStructPat | variables.rs:96:13:96:19 | MacroStmts | no-match | | variables.rs:94:14:94:15 | x5 | variables.rs:98:5:98:18 | ExprStmt | match | -| variables.rs:94:34:94:37 | PathExpr | variables.rs:94:39:94:42 | "x5" | | +| variables.rs:94:34:94:37 | Some | variables.rs:94:39:94:42 | "x5" | | | variables.rs:94:34:94:43 | CallExpr | variables.rs:94:9:94:16 | TupleStructPat | | | variables.rs:94:39:94:42 | "x5" | variables.rs:94:34:94:43 | CallExpr | | | variables.rs:96:13:96:19 | "not yet implemented" | variables.rs:96:13:96:19 | CallExpr | | +| variables.rs:96:13:96:19 | $crate::panicking::panic | variables.rs:96:13:96:19 | "not yet implemented" | | | variables.rs:96:13:96:19 | CallExpr | variables.rs:96:13:96:19 | MacroExpr | | | variables.rs:96:13:96:19 | MacroExpr | variables.rs:95:14:97:9 | BlockExpr | | -| variables.rs:96:13:96:19 | MacroStmts | variables.rs:96:13:96:19 | PathExpr | | -| variables.rs:96:13:96:19 | PathExpr | variables.rs:96:13:96:19 | "not yet implemented" | | -| variables.rs:98:5:98:13 | PathExpr | variables.rs:98:15:98:16 | x5 | | +| variables.rs:96:13:96:19 | MacroStmts | variables.rs:96:13:96:19 | $crate::panicking::panic | | +| variables.rs:98:5:98:13 | print_str | variables.rs:98:15:98:16 | x5 | | | variables.rs:98:5:98:17 | CallExpr | variables.rs:93:19:99:1 | BlockExpr | | -| variables.rs:98:5:98:18 | ExprStmt | variables.rs:98:5:98:13 | PathExpr | | +| variables.rs:98:5:98:18 | ExprStmt | variables.rs:98:5:98:13 | print_str | | | variables.rs:98:15:98:16 | x5 | variables.rs:98:5:98:17 | CallExpr | | | variables.rs:101:1:108:1 | enter let_pattern5 | variables.rs:102:5:102:42 | LetStmt | | | variables.rs:101:1:108:1 | exit let_pattern5 (normal) | variables.rs:101:1:108:1 | exit let_pattern5 | | | variables.rs:101:19:108:1 | BlockExpr | variables.rs:101:1:108:1 | exit let_pattern5 (normal) | | -| variables.rs:102:5:102:42 | LetStmt | variables.rs:102:14:102:17 | PathExpr | | +| variables.rs:102:5:102:42 | LetStmt | variables.rs:102:14:102:17 | Some | | | variables.rs:102:9:102:10 | s1 | variables.rs:104:11:105:12 | LetExpr | match | -| variables.rs:102:14:102:17 | PathExpr | variables.rs:102:19:102:30 | PathExpr | | +| variables.rs:102:14:102:17 | Some | variables.rs:102:19:102:30 | String::from | | | variables.rs:102:14:102:41 | CallExpr | variables.rs:102:9:102:10 | s1 | | -| variables.rs:102:19:102:30 | PathExpr | variables.rs:102:32:102:39 | "Hello!" | | +| variables.rs:102:19:102:30 | String::from | variables.rs:102:32:102:39 | "Hello!" | | | variables.rs:102:19:102:40 | CallExpr | variables.rs:102:14:102:41 | CallExpr | | | variables.rs:102:32:102:39 | "Hello!" | variables.rs:102:19:102:40 | CallExpr | | | variables.rs:104:5:107:5 | WhileExpr | variables.rs:101:19:108:1 | BlockExpr | | @@ -242,16 +242,16 @@ edges | variables.rs:104:20:104:25 | s2 | variables.rs:106:9:106:22 | ExprStmt | match | | variables.rs:105:11:105:12 | s1 | variables.rs:104:15:104:26 | TupleStructPat | | | variables.rs:105:14:107:5 | BlockExpr | variables.rs:104:11:105:12 | LetExpr | | -| variables.rs:106:9:106:17 | PathExpr | variables.rs:106:19:106:20 | s2 | | +| variables.rs:106:9:106:17 | print_str | variables.rs:106:19:106:20 | s2 | | | variables.rs:106:9:106:21 | CallExpr | variables.rs:105:14:107:5 | BlockExpr | | -| variables.rs:106:9:106:22 | ExprStmt | variables.rs:106:9:106:17 | PathExpr | | +| variables.rs:106:9:106:22 | ExprStmt | variables.rs:106:9:106:17 | print_str | | | variables.rs:106:19:106:20 | s2 | variables.rs:106:9:106:21 | CallExpr | | | variables.rs:110:1:125:1 | enter match_pattern1 | variables.rs:111:5:111:21 | LetStmt | | | variables.rs:110:1:125:1 | exit match_pattern1 (normal) | variables.rs:110:1:125:1 | exit match_pattern1 | | | variables.rs:110:21:125:1 | BlockExpr | variables.rs:110:1:125:1 | exit match_pattern1 (normal) | | -| variables.rs:111:5:111:21 | LetStmt | variables.rs:111:14:111:17 | PathExpr | | +| variables.rs:111:5:111:21 | LetStmt | variables.rs:111:14:111:17 | Some | | | variables.rs:111:9:111:10 | x6 | variables.rs:112:5:112:16 | LetStmt | match | -| variables.rs:111:14:111:17 | PathExpr | variables.rs:111:19:111:19 | 5 | | +| variables.rs:111:14:111:17 | Some | variables.rs:111:19:111:19 | 5 | | | variables.rs:111:14:111:20 | CallExpr | variables.rs:111:9:111:10 | x6 | | | variables.rs:111:19:111:19 | 5 | variables.rs:111:14:111:20 | CallExpr | | | variables.rs:112:5:112:16 | LetStmt | variables.rs:112:14:112:15 | 10 | | @@ -263,25 +263,25 @@ edges | variables.rs:115:9:115:16 | TupleStructPat | variables.rs:115:14:115:15 | 50 | match | | variables.rs:115:9:115:16 | TupleStructPat | variables.rs:116:9:116:16 | TupleStructPat | no-match | | variables.rs:115:14:115:15 | 50 | variables.rs:115:14:115:15 | LiteralPat | | -| variables.rs:115:14:115:15 | LiteralPat | variables.rs:115:21:115:29 | PathExpr | match | +| variables.rs:115:14:115:15 | LiteralPat | variables.rs:115:21:115:29 | print_str | match | | variables.rs:115:14:115:15 | LiteralPat | variables.rs:116:9:116:16 | TupleStructPat | no-match | -| variables.rs:115:21:115:29 | PathExpr | variables.rs:115:31:115:38 | "Got 50" | | +| variables.rs:115:21:115:29 | print_str | variables.rs:115:31:115:38 | "Got 50" | | | variables.rs:115:21:115:39 | CallExpr | variables.rs:114:5:122:5 | MatchExpr | | | variables.rs:115:31:115:38 | "Got 50" | variables.rs:115:21:115:39 | CallExpr | | | variables.rs:116:9:116:16 | TupleStructPat | variables.rs:116:14:116:15 | y1 | match | | variables.rs:116:9:116:16 | TupleStructPat | variables.rs:121:9:121:12 | None | no-match | -| variables.rs:116:14:116:15 | y1 | variables.rs:119:13:119:21 | PathExpr | match | +| variables.rs:116:14:116:15 | y1 | variables.rs:119:13:119:21 | print_i64 | match | | variables.rs:118:9:120:9 | BlockExpr | variables.rs:114:5:122:5 | MatchExpr | | -| variables.rs:119:13:119:21 | PathExpr | variables.rs:119:23:119:24 | y1 | | +| variables.rs:119:13:119:21 | print_i64 | variables.rs:119:23:119:24 | y1 | | | variables.rs:119:13:119:25 | CallExpr | variables.rs:118:9:120:9 | BlockExpr | | | variables.rs:119:23:119:24 | y1 | variables.rs:119:13:119:25 | CallExpr | | -| variables.rs:121:9:121:12 | None | variables.rs:121:17:121:25 | PathExpr | match | -| variables.rs:121:17:121:25 | PathExpr | variables.rs:121:27:121:32 | "NONE" | | +| variables.rs:121:9:121:12 | None | variables.rs:121:17:121:25 | print_str | match | +| variables.rs:121:17:121:25 | print_str | variables.rs:121:27:121:32 | "NONE" | | | variables.rs:121:17:121:33 | CallExpr | variables.rs:114:5:122:5 | MatchExpr | | | variables.rs:121:27:121:32 | "NONE" | variables.rs:121:17:121:33 | CallExpr | | -| variables.rs:124:5:124:13 | PathExpr | variables.rs:124:15:124:16 | y1 | | +| variables.rs:124:5:124:13 | print_i64 | variables.rs:124:15:124:16 | y1 | | | variables.rs:124:5:124:17 | CallExpr | variables.rs:110:21:125:1 | BlockExpr | | -| variables.rs:124:5:124:18 | ExprStmt | variables.rs:124:5:124:13 | PathExpr | | +| variables.rs:124:5:124:18 | ExprStmt | variables.rs:124:5:124:13 | print_i64 | | | variables.rs:124:15:124:16 | y1 | variables.rs:124:5:124:17 | CallExpr | | | variables.rs:127:1:152:1 | enter match_pattern2 | variables.rs:128:5:128:36 | LetStmt | | | variables.rs:127:1:152:1 | exit match_pattern2 (normal) | variables.rs:127:1:152:1 | exit match_pattern2 | | @@ -304,17 +304,17 @@ edges | variables.rs:133:20:133:20 | WildcardPat | variables.rs:134:13:134:17 | fifth | match | | variables.rs:134:13:134:17 | fifth | variables.rs:136:13:136:29 | ExprStmt | match | | variables.rs:135:14:139:9 | BlockExpr | variables.rs:130:5:140:5 | MatchExpr | | -| variables.rs:136:13:136:21 | PathExpr | variables.rs:136:23:136:27 | first | | +| variables.rs:136:13:136:21 | print_i64 | variables.rs:136:23:136:27 | first | | | variables.rs:136:13:136:28 | CallExpr | variables.rs:137:13:137:29 | ExprStmt | | -| variables.rs:136:13:136:29 | ExprStmt | variables.rs:136:13:136:21 | PathExpr | | +| variables.rs:136:13:136:29 | ExprStmt | variables.rs:136:13:136:21 | print_i64 | | | variables.rs:136:23:136:27 | first | variables.rs:136:13:136:28 | CallExpr | | -| variables.rs:137:13:137:21 | PathExpr | variables.rs:137:23:137:27 | third | | +| variables.rs:137:13:137:21 | print_i64 | variables.rs:137:23:137:27 | third | | | variables.rs:137:13:137:28 | CallExpr | variables.rs:138:13:138:29 | ExprStmt | | -| variables.rs:137:13:137:29 | ExprStmt | variables.rs:137:13:137:21 | PathExpr | | +| variables.rs:137:13:137:29 | ExprStmt | variables.rs:137:13:137:21 | print_i64 | | | variables.rs:137:23:137:27 | third | variables.rs:137:13:137:28 | CallExpr | | -| variables.rs:138:13:138:21 | PathExpr | variables.rs:138:23:138:27 | fifth | | +| variables.rs:138:13:138:21 | print_i64 | variables.rs:138:23:138:27 | fifth | | | variables.rs:138:13:138:28 | CallExpr | variables.rs:135:14:139:9 | BlockExpr | | -| variables.rs:138:13:138:29 | ExprStmt | variables.rs:138:13:138:21 | PathExpr | | +| variables.rs:138:13:138:29 | ExprStmt | variables.rs:138:13:138:21 | print_i64 | | | variables.rs:138:23:138:27 | fifth | variables.rs:138:13:138:28 | CallExpr | | | variables.rs:142:5:151:5 | MatchExpr | variables.rs:127:21:152:1 | BlockExpr | | | variables.rs:142:11:142:17 | numbers | variables.rs:143:9:147:9 | TuplePat | | @@ -323,13 +323,13 @@ edges | variables.rs:145:13:145:14 | RestPat | variables.rs:146:13:146:16 | last | match | | variables.rs:146:13:146:16 | last | variables.rs:148:13:148:29 | ExprStmt | match | | variables.rs:147:14:150:9 | BlockExpr | variables.rs:142:5:151:5 | MatchExpr | | -| variables.rs:148:13:148:21 | PathExpr | variables.rs:148:23:148:27 | first | | +| variables.rs:148:13:148:21 | print_i64 | variables.rs:148:23:148:27 | first | | | variables.rs:148:13:148:28 | CallExpr | variables.rs:149:13:149:28 | ExprStmt | | -| variables.rs:148:13:148:29 | ExprStmt | variables.rs:148:13:148:21 | PathExpr | | +| variables.rs:148:13:148:29 | ExprStmt | variables.rs:148:13:148:21 | print_i64 | | | variables.rs:148:23:148:27 | first | variables.rs:148:13:148:28 | CallExpr | | -| variables.rs:149:13:149:21 | PathExpr | variables.rs:149:23:149:26 | last | | +| variables.rs:149:13:149:21 | print_i64 | variables.rs:149:23:149:26 | last | | | variables.rs:149:13:149:27 | CallExpr | variables.rs:147:14:150:9 | BlockExpr | | -| variables.rs:149:13:149:28 | ExprStmt | variables.rs:149:13:149:21 | PathExpr | | +| variables.rs:149:13:149:28 | ExprStmt | variables.rs:149:13:149:21 | print_i64 | | | variables.rs:149:23:149:26 | last | variables.rs:149:13:149:27 | CallExpr | | | variables.rs:154:1:162:1 | enter match_pattern3 | variables.rs:155:5:155:38 | LetStmt | | | variables.rs:154:1:162:1 | exit match_pattern3 (normal) | variables.rs:154:1:162:1 | exit match_pattern3 | | @@ -343,8 +343,8 @@ edges | variables.rs:157:11:157:12 | p2 | variables.rs:158:9:160:9 | RecordPat | | | variables.rs:158:9:160:9 | RecordPat | variables.rs:159:16:159:17 | x7 | match | | variables.rs:159:16:159:17 | x7 | variables.rs:159:20:159:21 | RestPat | match | -| variables.rs:159:20:159:21 | RestPat | variables.rs:160:14:160:22 | PathExpr | match | -| variables.rs:160:14:160:22 | PathExpr | variables.rs:160:24:160:25 | x7 | | +| variables.rs:159:20:159:21 | RestPat | variables.rs:160:14:160:22 | print_str | match | +| variables.rs:160:14:160:22 | print_str | variables.rs:160:24:160:25 | x7 | | | variables.rs:160:14:160:26 | CallExpr | variables.rs:157:5:161:5 | MatchExpr | | | variables.rs:160:24:160:25 | x7 | variables.rs:160:14:160:26 | CallExpr | | | variables.rs:168:1:181:1 | enter match_pattern4 | variables.rs:169:5:169:39 | LetStmt | | @@ -358,7 +358,7 @@ edges | variables.rs:171:11:171:13 | msg | variables.rs:172:9:174:9 | RecordPat | | | variables.rs:172:9:174:9 | RecordPat | variables.rs:173:31:173:35 | RangePat | match | | variables.rs:172:9:174:9 | RecordPat | variables.rs:175:9:175:38 | RecordPat | no-match | -| variables.rs:173:17:173:35 | [match(true)] id_variable | variables.rs:174:14:174:22 | PathExpr | match | +| variables.rs:173:17:173:35 | [match(true)] id_variable | variables.rs:174:14:174:22 | print_i64 | match | | variables.rs:173:31:173:31 | 3 | variables.rs:173:31:173:31 | LiteralPat | | | variables.rs:173:31:173:31 | LiteralPat | variables.rs:173:35:173:35 | 7 | match | | variables.rs:173:31:173:31 | LiteralPat | variables.rs:175:9:175:38 | RecordPat | no-match | @@ -367,7 +367,7 @@ edges | variables.rs:173:35:173:35 | 7 | variables.rs:173:35:173:35 | LiteralPat | | | variables.rs:173:35:173:35 | LiteralPat | variables.rs:173:17:173:35 | [match(true)] id_variable | match | | variables.rs:173:35:173:35 | LiteralPat | variables.rs:175:9:175:38 | RecordPat | no-match | -| variables.rs:174:14:174:22 | PathExpr | variables.rs:174:24:174:34 | id_variable | | +| variables.rs:174:14:174:22 | print_i64 | variables.rs:174:24:174:34 | id_variable | | | variables.rs:174:14:174:35 | CallExpr | variables.rs:171:5:180:5 | MatchExpr | | | variables.rs:174:24:174:34 | id_variable | variables.rs:174:14:174:35 | CallExpr | | | variables.rs:175:9:175:38 | RecordPat | variables.rs:175:30:175:36 | RangePat | match | @@ -381,45 +381,45 @@ edges | variables.rs:175:35:175:36 | LiteralPat | variables.rs:176:22:176:51 | MacroStmts | match | | variables.rs:175:35:175:36 | LiteralPat | variables.rs:178:9:178:29 | RecordPat | no-match | | variables.rs:175:43:177:9 | BlockExpr | variables.rs:171:5:180:5 | MatchExpr | | +| variables.rs:176:13:176:52 | $crate::io::_print | variables.rs:176:22:176:51 | "Found an id in another range\\n" | | | variables.rs:176:13:176:52 | MacroExpr | variables.rs:175:43:177:9 | BlockExpr | | -| variables.rs:176:13:176:52 | PathExpr | variables.rs:176:22:176:51 | "Found an id in another range\\n" | | | variables.rs:176:22:176:51 | "Found an id in another range\\n" | variables.rs:176:22:176:51 | FormatArgsExpr | | | variables.rs:176:22:176:51 | BlockExpr | variables.rs:176:13:176:52 | MacroExpr | | | variables.rs:176:22:176:51 | CallExpr | variables.rs:176:22:176:51 | BlockExpr | | -| variables.rs:176:22:176:51 | ExprStmt | variables.rs:176:13:176:52 | PathExpr | | +| variables.rs:176:22:176:51 | ExprStmt | variables.rs:176:13:176:52 | $crate::io::_print | | | variables.rs:176:22:176:51 | FormatArgsExpr | variables.rs:176:22:176:51 | MacroExpr | | | variables.rs:176:22:176:51 | MacroExpr | variables.rs:176:22:176:51 | CallExpr | | | variables.rs:176:22:176:51 | MacroStmts | variables.rs:176:22:176:51 | ExprStmt | | | variables.rs:178:9:178:29 | RecordPat | variables.rs:178:26:178:27 | id | match | -| variables.rs:178:26:178:27 | id | variables.rs:179:13:179:21 | PathExpr | match | -| variables.rs:179:13:179:21 | PathExpr | variables.rs:179:23:179:24 | id | | +| variables.rs:178:26:178:27 | id | variables.rs:179:13:179:21 | print_i64 | match | +| variables.rs:179:13:179:21 | print_i64 | variables.rs:179:23:179:24 | id | | | variables.rs:179:13:179:25 | CallExpr | variables.rs:171:5:180:5 | MatchExpr | | | variables.rs:179:23:179:24 | id | variables.rs:179:13:179:25 | CallExpr | | | variables.rs:188:1:194:1 | enter match_pattern5 | variables.rs:189:5:189:34 | LetStmt | | | variables.rs:188:1:194:1 | exit match_pattern5 (normal) | variables.rs:188:1:194:1 | exit match_pattern5 | | | variables.rs:188:21:194:1 | BlockExpr | variables.rs:188:1:194:1 | exit match_pattern5 (normal) | | -| variables.rs:189:5:189:34 | LetStmt | variables.rs:189:18:189:29 | PathExpr | | +| variables.rs:189:5:189:34 | LetStmt | variables.rs:189:18:189:29 | Either::Left | | | variables.rs:189:9:189:14 | either | variables.rs:190:11:190:16 | either | match | -| variables.rs:189:18:189:29 | PathExpr | variables.rs:189:31:189:32 | 32 | | +| variables.rs:189:18:189:29 | Either::Left | variables.rs:189:31:189:32 | 32 | | | variables.rs:189:18:189:33 | CallExpr | variables.rs:189:9:189:14 | either | | | variables.rs:189:31:189:32 | 32 | variables.rs:189:18:189:33 | CallExpr | | | variables.rs:190:5:193:5 | MatchExpr | variables.rs:188:21:194:1 | BlockExpr | | | variables.rs:190:11:190:16 | either | variables.rs:191:9:191:24 | TupleStructPat | | | variables.rs:191:9:191:24 | TupleStructPat | variables.rs:191:22:191:23 | a3 | match | | variables.rs:191:9:191:24 | TupleStructPat | variables.rs:191:28:191:44 | TupleStructPat | no-match | -| variables.rs:191:9:191:44 | [match(true)] OrPat | variables.rs:192:16:192:24 | PathExpr | match | +| variables.rs:191:9:191:44 | [match(true)] OrPat | variables.rs:192:16:192:24 | print_i64 | match | | variables.rs:191:22:191:23 | a3 | variables.rs:191:9:191:44 | [match(true)] OrPat | match | | variables.rs:191:28:191:44 | TupleStructPat | variables.rs:191:42:191:43 | a3 | match | | variables.rs:191:42:191:43 | a3 | variables.rs:191:9:191:44 | [match(true)] OrPat | match | -| variables.rs:192:16:192:24 | PathExpr | variables.rs:192:26:192:27 | a3 | | +| variables.rs:192:16:192:24 | print_i64 | variables.rs:192:26:192:27 | a3 | | | variables.rs:192:16:192:28 | CallExpr | variables.rs:190:5:193:5 | MatchExpr | | | variables.rs:192:26:192:27 | a3 | variables.rs:192:16:192:28 | CallExpr | | | variables.rs:202:1:216:1 | enter match_pattern6 | variables.rs:203:5:203:37 | LetStmt | | | variables.rs:202:1:216:1 | exit match_pattern6 (normal) | variables.rs:202:1:216:1 | exit match_pattern6 | | | variables.rs:202:21:216:1 | BlockExpr | variables.rs:202:1:216:1 | exit match_pattern6 (normal) | | -| variables.rs:203:5:203:37 | LetStmt | variables.rs:203:14:203:32 | PathExpr | | +| variables.rs:203:5:203:37 | LetStmt | variables.rs:203:14:203:32 | ThreeValued::Second | | | variables.rs:203:9:203:10 | tv | variables.rs:204:5:207:5 | ExprStmt | match | -| variables.rs:203:14:203:32 | PathExpr | variables.rs:203:34:203:35 | 62 | | +| variables.rs:203:14:203:32 | ThreeValued::Second | variables.rs:203:34:203:35 | 62 | | | variables.rs:203:14:203:36 | CallExpr | variables.rs:203:9:203:10 | tv | | | variables.rs:203:34:203:35 | 62 | variables.rs:203:14:203:36 | CallExpr | | | variables.rs:204:5:207:5 | ExprStmt | variables.rs:204:11:204:12 | tv | | @@ -427,20 +427,20 @@ edges | variables.rs:204:11:204:12 | tv | variables.rs:205:9:205:30 | TupleStructPat | | | variables.rs:205:9:205:30 | TupleStructPat | variables.rs:205:28:205:29 | a4 | match | | variables.rs:205:9:205:30 | TupleStructPat | variables.rs:205:34:205:56 | TupleStructPat | no-match | -| variables.rs:205:9:205:81 | [match(true)] OrPat | variables.rs:206:16:206:24 | PathExpr | match | +| variables.rs:205:9:205:81 | [match(true)] OrPat | variables.rs:206:16:206:24 | print_i64 | match | | variables.rs:205:28:205:29 | a4 | variables.rs:205:9:205:81 | [match(true)] OrPat | match | | variables.rs:205:34:205:56 | TupleStructPat | variables.rs:205:54:205:55 | a4 | match | | variables.rs:205:34:205:56 | TupleStructPat | variables.rs:205:60:205:81 | TupleStructPat | no-match | | variables.rs:205:54:205:55 | a4 | variables.rs:205:9:205:81 | [match(true)] OrPat | match | | variables.rs:205:60:205:81 | TupleStructPat | variables.rs:205:79:205:80 | a4 | match | | variables.rs:205:79:205:80 | a4 | variables.rs:205:9:205:81 | [match(true)] OrPat | match | -| variables.rs:206:16:206:24 | PathExpr | variables.rs:206:26:206:27 | a4 | | +| variables.rs:206:16:206:24 | print_i64 | variables.rs:206:26:206:27 | a4 | | | variables.rs:206:16:206:28 | CallExpr | variables.rs:204:5:207:5 | MatchExpr | | | variables.rs:206:26:206:27 | a4 | variables.rs:206:16:206:28 | CallExpr | | | variables.rs:208:5:211:5 | ExprStmt | variables.rs:208:11:208:12 | tv | | | variables.rs:208:5:211:5 | MatchExpr | variables.rs:212:11:212:12 | tv | | | variables.rs:208:11:208:12 | tv | variables.rs:209:10:209:31 | TupleStructPat | | -| variables.rs:209:9:209:83 | [match(true)] OrPat | variables.rs:210:16:210:24 | PathExpr | match | +| variables.rs:209:9:209:83 | [match(true)] OrPat | variables.rs:210:16:210:24 | print_i64 | match | | variables.rs:209:10:209:31 | TupleStructPat | variables.rs:209:29:209:30 | a5 | match | | variables.rs:209:10:209:31 | TupleStructPat | variables.rs:209:35:209:57 | TupleStructPat | no-match | | variables.rs:209:10:209:57 | [match(false)] OrPat | variables.rs:209:62:209:83 | TupleStructPat | no-match | @@ -451,14 +451,14 @@ edges | variables.rs:209:55:209:56 | a5 | variables.rs:209:10:209:57 | [match(true)] OrPat | match | | variables.rs:209:62:209:83 | TupleStructPat | variables.rs:209:81:209:82 | a5 | match | | variables.rs:209:81:209:82 | a5 | variables.rs:209:9:209:83 | [match(true)] OrPat | match | -| variables.rs:210:16:210:24 | PathExpr | variables.rs:210:26:210:27 | a5 | | +| variables.rs:210:16:210:24 | print_i64 | variables.rs:210:26:210:27 | a5 | | | variables.rs:210:16:210:28 | CallExpr | variables.rs:208:5:211:5 | MatchExpr | | | variables.rs:210:26:210:27 | a5 | variables.rs:210:16:210:28 | CallExpr | | | variables.rs:212:5:215:5 | MatchExpr | variables.rs:202:21:216:1 | BlockExpr | | | variables.rs:212:11:212:12 | tv | variables.rs:213:9:213:30 | TupleStructPat | | | variables.rs:213:9:213:30 | TupleStructPat | variables.rs:213:28:213:29 | a6 | match | | variables.rs:213:9:213:30 | TupleStructPat | variables.rs:213:35:213:57 | TupleStructPat | no-match | -| variables.rs:213:9:213:83 | [match(true)] OrPat | variables.rs:214:16:214:24 | PathExpr | match | +| variables.rs:213:9:213:83 | [match(true)] OrPat | variables.rs:214:16:214:24 | print_i64 | match | | variables.rs:213:28:213:29 | a6 | variables.rs:213:9:213:83 | [match(true)] OrPat | match | | variables.rs:213:35:213:57 | TupleStructPat | variables.rs:213:55:213:56 | a6 | match | | variables.rs:213:35:213:57 | TupleStructPat | variables.rs:213:61:213:82 | TupleStructPat | no-match | @@ -466,15 +466,15 @@ edges | variables.rs:213:55:213:56 | a6 | variables.rs:213:35:213:82 | [match(true)] OrPat | match | | variables.rs:213:61:213:82 | TupleStructPat | variables.rs:213:80:213:81 | a6 | match | | variables.rs:213:80:213:81 | a6 | variables.rs:213:35:213:82 | [match(true)] OrPat | match | -| variables.rs:214:16:214:24 | PathExpr | variables.rs:214:26:214:27 | a6 | | +| variables.rs:214:16:214:24 | print_i64 | variables.rs:214:26:214:27 | a6 | | | variables.rs:214:16:214:28 | CallExpr | variables.rs:212:5:215:5 | MatchExpr | | | variables.rs:214:26:214:27 | a6 | variables.rs:214:16:214:28 | CallExpr | | | variables.rs:218:1:226:1 | enter match_pattern7 | variables.rs:219:5:219:34 | LetStmt | | | variables.rs:218:1:226:1 | exit match_pattern7 (normal) | variables.rs:218:1:226:1 | exit match_pattern7 | | | variables.rs:218:21:226:1 | BlockExpr | variables.rs:218:1:226:1 | exit match_pattern7 (normal) | | -| variables.rs:219:5:219:34 | LetStmt | variables.rs:219:18:219:29 | PathExpr | | +| variables.rs:219:5:219:34 | LetStmt | variables.rs:219:18:219:29 | Either::Left | | | variables.rs:219:9:219:14 | either | variables.rs:220:11:220:16 | either | match | -| variables.rs:219:18:219:29 | PathExpr | variables.rs:219:31:219:32 | 32 | | +| variables.rs:219:18:219:29 | Either::Left | variables.rs:219:31:219:32 | 32 | | | variables.rs:219:18:219:33 | CallExpr | variables.rs:219:9:219:14 | either | | | variables.rs:219:31:219:32 | 32 | variables.rs:219:18:219:33 | CallExpr | | | variables.rs:220:5:225:5 | MatchExpr | variables.rs:218:21:226:1 | BlockExpr | | @@ -488,10 +488,10 @@ edges | variables.rs:221:28:221:44 | TupleStructPat | variables.rs:221:42:221:43 | a7 | match | | variables.rs:221:42:221:43 | a7 | variables.rs:221:9:221:44 | [match(true)] OrPat | match | | variables.rs:222:16:222:17 | a7 | variables.rs:222:21:222:21 | 0 | | -| variables.rs:222:16:222:21 | ... > ... | variables.rs:223:16:223:24 | PathExpr | true | +| variables.rs:222:16:222:21 | ... > ... | variables.rs:223:16:223:24 | print_i64 | true | | variables.rs:222:16:222:21 | ... > ... | variables.rs:224:9:224:9 | WildcardPat | false | | variables.rs:222:21:222:21 | 0 | variables.rs:222:16:222:21 | ... > ... | | -| variables.rs:223:16:223:24 | PathExpr | variables.rs:223:26:223:27 | a7 | | +| variables.rs:223:16:223:24 | print_i64 | variables.rs:223:26:223:27 | a7 | | | variables.rs:223:16:223:28 | CallExpr | variables.rs:220:5:225:5 | MatchExpr | | | variables.rs:223:26:223:27 | a7 | variables.rs:223:16:223:28 | CallExpr | | | variables.rs:224:9:224:9 | WildcardPat | variables.rs:224:14:224:15 | TupleExpr | match | @@ -499,9 +499,9 @@ edges | variables.rs:228:1:243:1 | enter match_pattern8 | variables.rs:229:5:229:34 | LetStmt | | | variables.rs:228:1:243:1 | exit match_pattern8 (normal) | variables.rs:228:1:243:1 | exit match_pattern8 | | | variables.rs:228:21:243:1 | BlockExpr | variables.rs:228:1:243:1 | exit match_pattern8 (normal) | | -| variables.rs:229:5:229:34 | LetStmt | variables.rs:229:18:229:29 | PathExpr | | +| variables.rs:229:5:229:34 | LetStmt | variables.rs:229:18:229:29 | Either::Left | | | variables.rs:229:9:229:14 | either | variables.rs:231:11:231:16 | either | match | -| variables.rs:229:18:229:29 | PathExpr | variables.rs:229:31:229:32 | 32 | | +| variables.rs:229:18:229:29 | Either::Left | variables.rs:229:31:229:32 | 32 | | | variables.rs:229:18:229:33 | CallExpr | variables.rs:229:9:229:14 | either | | | variables.rs:229:31:229:32 | 32 | variables.rs:229:18:229:33 | CallExpr | | | variables.rs:231:5:242:5 | MatchExpr | variables.rs:228:21:243:1 | BlockExpr | | @@ -516,9 +516,9 @@ edges | variables.rs:233:34:233:51 | TupleStructPat | variables.rs:233:48:233:50 | a11 | match | | variables.rs:233:48:233:50 | a11 | variables.rs:233:14:233:51 | [match(true)] OrPat | match | | variables.rs:234:12:240:9 | BlockExpr | variables.rs:231:5:242:5 | MatchExpr | | -| variables.rs:235:13:235:21 | PathExpr | variables.rs:235:23:235:25 | a11 | | +| variables.rs:235:13:235:21 | print_i64 | variables.rs:235:23:235:25 | a11 | | | variables.rs:235:13:235:26 | CallExpr | variables.rs:236:16:237:15 | LetExpr | | -| variables.rs:235:13:235:27 | ExprStmt | variables.rs:235:13:235:21 | PathExpr | | +| variables.rs:235:13:235:27 | ExprStmt | variables.rs:235:13:235:21 | print_i64 | | | variables.rs:235:23:235:25 | a11 | variables.rs:235:13:235:26 | CallExpr | | | variables.rs:236:13:239:13 | IfExpr | variables.rs:234:12:240:9 | BlockExpr | | | variables.rs:236:16:237:15 | LetExpr | variables.rs:237:15:237:15 | e | | @@ -527,9 +527,9 @@ edges | variables.rs:236:33:236:35 | a12 | variables.rs:238:17:238:32 | ExprStmt | match | | variables.rs:237:15:237:15 | e | variables.rs:236:20:236:36 | TupleStructPat | | | variables.rs:237:17:239:13 | BlockExpr | variables.rs:236:13:239:13 | IfExpr | | -| variables.rs:238:17:238:25 | PathExpr | variables.rs:238:28:238:30 | a12 | | +| variables.rs:238:17:238:25 | print_i64 | variables.rs:238:28:238:30 | a12 | | | variables.rs:238:17:238:31 | CallExpr | variables.rs:237:17:239:13 | BlockExpr | | -| variables.rs:238:17:238:32 | ExprStmt | variables.rs:238:17:238:25 | PathExpr | | +| variables.rs:238:17:238:32 | ExprStmt | variables.rs:238:17:238:25 | print_i64 | | | variables.rs:238:27:238:30 | * ... | variables.rs:238:17:238:31 | CallExpr | | | variables.rs:238:28:238:30 | a12 | variables.rs:238:27:238:30 | * ... | | | variables.rs:241:9:241:9 | WildcardPat | variables.rs:241:14:241:15 | TupleExpr | match | @@ -537,16 +537,16 @@ edges | variables.rs:252:1:258:1 | enter match_pattern9 | variables.rs:253:5:253:36 | LetStmt | | | variables.rs:252:1:258:1 | exit match_pattern9 (normal) | variables.rs:252:1:258:1 | exit match_pattern9 | | | variables.rs:252:21:258:1 | BlockExpr | variables.rs:252:1:258:1 | exit match_pattern9 (normal) | | -| variables.rs:253:5:253:36 | LetStmt | variables.rs:253:14:253:31 | PathExpr | | +| variables.rs:253:5:253:36 | LetStmt | variables.rs:253:14:253:31 | FourValued::Second | | | variables.rs:253:9:253:10 | fv | variables.rs:254:11:254:12 | fv | match | -| variables.rs:253:14:253:31 | PathExpr | variables.rs:253:33:253:34 | 62 | | +| variables.rs:253:14:253:31 | FourValued::Second | variables.rs:253:33:253:34 | 62 | | | variables.rs:253:14:253:35 | CallExpr | variables.rs:253:9:253:10 | fv | | | variables.rs:253:33:253:34 | 62 | variables.rs:253:14:253:35 | CallExpr | | | variables.rs:254:5:257:5 | MatchExpr | variables.rs:252:21:258:1 | BlockExpr | | | variables.rs:254:11:254:12 | fv | variables.rs:255:9:255:30 | TupleStructPat | | | variables.rs:255:9:255:30 | TupleStructPat | variables.rs:255:27:255:29 | a13 | match | | variables.rs:255:9:255:30 | TupleStructPat | variables.rs:255:35:255:57 | TupleStructPat | no-match | -| variables.rs:255:9:255:109 | [match(true)] OrPat | variables.rs:256:16:256:24 | PathExpr | match | +| variables.rs:255:9:255:109 | [match(true)] OrPat | variables.rs:256:16:256:24 | print_i64 | match | | variables.rs:255:27:255:29 | a13 | variables.rs:255:9:255:109 | [match(true)] OrPat | match | | variables.rs:255:35:255:57 | TupleStructPat | variables.rs:255:54:255:56 | a13 | match | | variables.rs:255:35:255:57 | TupleStructPat | variables.rs:255:61:255:82 | TupleStructPat | no-match | @@ -558,7 +558,7 @@ edges | variables.rs:255:79:255:81 | a13 | variables.rs:255:35:255:82 | [match(true)] OrPat | match | | variables.rs:255:87:255:109 | TupleStructPat | variables.rs:255:106:255:108 | a13 | match | | variables.rs:255:106:255:108 | a13 | variables.rs:255:9:255:109 | [match(true)] OrPat | match | -| variables.rs:256:16:256:24 | PathExpr | variables.rs:256:26:256:28 | a13 | | +| variables.rs:256:16:256:24 | print_i64 | variables.rs:256:26:256:28 | a13 | | | variables.rs:256:16:256:29 | CallExpr | variables.rs:254:5:257:5 | MatchExpr | | | variables.rs:256:26:256:28 | a13 | variables.rs:256:16:256:29 | CallExpr | | | variables.rs:260:1:269:1 | enter param_pattern1 | variables.rs:261:5:261:6 | a8 | | @@ -570,17 +570,17 @@ edges | variables.rs:263:9:263:10 | b3 | variables.rs:264:9:264:10 | c1 | match | | variables.rs:264:9:264:10 | c1 | variables.rs:262:5:265:19 | Param | match | | variables.rs:265:28:269:1 | BlockExpr | variables.rs:260:1:269:1 | exit param_pattern1 (normal) | | -| variables.rs:266:5:266:13 | PathExpr | variables.rs:266:15:266:16 | a8 | | +| variables.rs:266:5:266:13 | print_str | variables.rs:266:15:266:16 | a8 | | | variables.rs:266:5:266:17 | CallExpr | variables.rs:267:5:267:18 | ExprStmt | | -| variables.rs:266:5:266:18 | ExprStmt | variables.rs:266:5:266:13 | PathExpr | | +| variables.rs:266:5:266:18 | ExprStmt | variables.rs:266:5:266:13 | print_str | | | variables.rs:266:15:266:16 | a8 | variables.rs:266:5:266:17 | CallExpr | | -| variables.rs:267:5:267:13 | PathExpr | variables.rs:267:15:267:16 | b3 | | +| variables.rs:267:5:267:13 | print_str | variables.rs:267:15:267:16 | b3 | | | variables.rs:267:5:267:17 | CallExpr | variables.rs:268:5:268:18 | ExprStmt | | -| variables.rs:267:5:267:18 | ExprStmt | variables.rs:267:5:267:13 | PathExpr | | +| variables.rs:267:5:267:18 | ExprStmt | variables.rs:267:5:267:13 | print_str | | | variables.rs:267:15:267:16 | b3 | variables.rs:267:5:267:17 | CallExpr | | -| variables.rs:268:5:268:13 | PathExpr | variables.rs:268:15:268:16 | c1 | | +| variables.rs:268:5:268:13 | print_str | variables.rs:268:15:268:16 | c1 | | | variables.rs:268:5:268:17 | CallExpr | variables.rs:265:28:269:1 | BlockExpr | | -| variables.rs:268:5:268:18 | ExprStmt | variables.rs:268:5:268:13 | PathExpr | | +| variables.rs:268:5:268:18 | ExprStmt | variables.rs:268:5:268:13 | print_str | | | variables.rs:268:15:268:16 | c1 | variables.rs:268:5:268:17 | CallExpr | | | variables.rs:271:1:275:1 | enter param_pattern2 | variables.rs:272:6:272:21 | TupleStructPat | | | variables.rs:271:1:275:1 | exit param_pattern2 (normal) | variables.rs:271:1:275:1 | exit param_pattern2 | | @@ -592,9 +592,9 @@ edges | variables.rs:272:25:272:41 | TupleStructPat | variables.rs:272:39:272:40 | a9 | match | | variables.rs:272:39:272:40 | a9 | variables.rs:272:6:272:41 | [match(true)] OrPat | match | | variables.rs:273:9:275:1 | BlockExpr | variables.rs:271:1:275:1 | exit param_pattern2 (normal) | | -| variables.rs:274:5:274:13 | PathExpr | variables.rs:274:15:274:16 | a9 | | +| variables.rs:274:5:274:13 | print_i64 | variables.rs:274:15:274:16 | a9 | | | variables.rs:274:5:274:17 | CallExpr | variables.rs:273:9:275:1 | BlockExpr | | -| variables.rs:274:5:274:18 | ExprStmt | variables.rs:274:5:274:13 | PathExpr | | +| variables.rs:274:5:274:18 | ExprStmt | variables.rs:274:5:274:13 | print_i64 | | | variables.rs:274:15:274:16 | a9 | variables.rs:274:5:274:17 | CallExpr | | | variables.rs:277:1:312:1 | enter destruct_assignment | variables.rs:278:5:282:18 | LetStmt | | | variables.rs:277:1:312:1 | exit destruct_assignment (normal) | variables.rs:277:1:312:1 | exit destruct_assignment | | @@ -608,17 +608,17 @@ edges | variables.rs:282:10:282:10 | 1 | variables.rs:282:13:282:13 | 2 | | | variables.rs:282:13:282:13 | 2 | variables.rs:282:16:282:16 | 3 | | | variables.rs:282:16:282:16 | 3 | variables.rs:282:9:282:17 | TupleExpr | | -| variables.rs:283:5:283:13 | PathExpr | variables.rs:283:15:283:17 | a10 | | +| variables.rs:283:5:283:13 | print_i64 | variables.rs:283:15:283:17 | a10 | | | variables.rs:283:5:283:18 | CallExpr | variables.rs:284:5:284:18 | ExprStmt | | -| variables.rs:283:5:283:19 | ExprStmt | variables.rs:283:5:283:13 | PathExpr | | +| variables.rs:283:5:283:19 | ExprStmt | variables.rs:283:5:283:13 | print_i64 | | | variables.rs:283:15:283:17 | a10 | variables.rs:283:5:283:18 | CallExpr | | -| variables.rs:284:5:284:13 | PathExpr | variables.rs:284:15:284:16 | b4 | | +| variables.rs:284:5:284:13 | print_i64 | variables.rs:284:15:284:16 | b4 | | | variables.rs:284:5:284:17 | CallExpr | variables.rs:285:5:285:18 | ExprStmt | | -| variables.rs:284:5:284:18 | ExprStmt | variables.rs:284:5:284:13 | PathExpr | | +| variables.rs:284:5:284:18 | ExprStmt | variables.rs:284:5:284:13 | print_i64 | | | variables.rs:284:15:284:16 | b4 | variables.rs:284:5:284:17 | CallExpr | | -| variables.rs:285:5:285:13 | PathExpr | variables.rs:285:15:285:16 | c2 | | +| variables.rs:285:5:285:13 | print_i64 | variables.rs:285:15:285:16 | c2 | | | variables.rs:285:5:285:17 | CallExpr | variables.rs:287:5:295:6 | ExprStmt | | -| variables.rs:285:5:285:18 | ExprStmt | variables.rs:285:5:285:13 | PathExpr | | +| variables.rs:285:5:285:18 | ExprStmt | variables.rs:285:5:285:13 | print_i64 | | | variables.rs:285:15:285:16 | c2 | variables.rs:285:5:285:17 | CallExpr | | | variables.rs:287:5:291:5 | TupleExpr | variables.rs:292:9:292:11 | a10 | | | variables.rs:287:5:295:5 | ... = ... | variables.rs:296:5:296:19 | ExprStmt | | @@ -630,17 +630,17 @@ edges | variables.rs:292:9:292:11 | a10 | variables.rs:293:9:293:10 | b4 | | | variables.rs:293:9:293:10 | b4 | variables.rs:294:9:294:10 | c2 | | | variables.rs:294:9:294:10 | c2 | variables.rs:291:9:295:5 | TupleExpr | | -| variables.rs:296:5:296:13 | PathExpr | variables.rs:296:15:296:17 | a10 | | +| variables.rs:296:5:296:13 | print_i64 | variables.rs:296:15:296:17 | a10 | | | variables.rs:296:5:296:18 | CallExpr | variables.rs:297:5:297:18 | ExprStmt | | -| variables.rs:296:5:296:19 | ExprStmt | variables.rs:296:5:296:13 | PathExpr | | +| variables.rs:296:5:296:19 | ExprStmt | variables.rs:296:5:296:13 | print_i64 | | | variables.rs:296:15:296:17 | a10 | variables.rs:296:5:296:18 | CallExpr | | -| variables.rs:297:5:297:13 | PathExpr | variables.rs:297:15:297:16 | b4 | | +| variables.rs:297:5:297:13 | print_i64 | variables.rs:297:15:297:16 | b4 | | | variables.rs:297:5:297:17 | CallExpr | variables.rs:298:5:298:18 | ExprStmt | | -| variables.rs:297:5:297:18 | ExprStmt | variables.rs:297:5:297:13 | PathExpr | | +| variables.rs:297:5:297:18 | ExprStmt | variables.rs:297:5:297:13 | print_i64 | | | variables.rs:297:15:297:16 | b4 | variables.rs:297:5:297:17 | CallExpr | | -| variables.rs:298:5:298:13 | PathExpr | variables.rs:298:15:298:16 | c2 | | +| variables.rs:298:5:298:13 | print_i64 | variables.rs:298:15:298:16 | c2 | | | variables.rs:298:5:298:17 | CallExpr | variables.rs:300:5:308:5 | ExprStmt | | -| variables.rs:298:5:298:18 | ExprStmt | variables.rs:298:5:298:13 | PathExpr | | +| variables.rs:298:5:298:18 | ExprStmt | variables.rs:298:5:298:13 | print_i64 | | | variables.rs:298:15:298:16 | c2 | variables.rs:298:5:298:17 | CallExpr | | | variables.rs:300:5:308:5 | ExprStmt | variables.rs:300:12:300:12 | 4 | | | variables.rs:300:5:308:5 | MatchExpr | variables.rs:310:5:310:19 | ExprStmt | | @@ -651,21 +651,21 @@ edges | variables.rs:302:13:302:15 | a10 | variables.rs:303:13:303:14 | b4 | match | | variables.rs:303:13:303:14 | b4 | variables.rs:305:13:305:27 | ExprStmt | match | | variables.rs:304:14:307:9 | BlockExpr | variables.rs:300:5:308:5 | MatchExpr | | -| variables.rs:305:13:305:21 | PathExpr | variables.rs:305:23:305:25 | a10 | | +| variables.rs:305:13:305:21 | print_i64 | variables.rs:305:23:305:25 | a10 | | | variables.rs:305:13:305:26 | CallExpr | variables.rs:306:13:306:26 | ExprStmt | | -| variables.rs:305:13:305:27 | ExprStmt | variables.rs:305:13:305:21 | PathExpr | | +| variables.rs:305:13:305:27 | ExprStmt | variables.rs:305:13:305:21 | print_i64 | | | variables.rs:305:23:305:25 | a10 | variables.rs:305:13:305:26 | CallExpr | | -| variables.rs:306:13:306:21 | PathExpr | variables.rs:306:23:306:24 | b4 | | +| variables.rs:306:13:306:21 | print_i64 | variables.rs:306:23:306:24 | b4 | | | variables.rs:306:13:306:25 | CallExpr | variables.rs:304:14:307:9 | BlockExpr | | -| variables.rs:306:13:306:26 | ExprStmt | variables.rs:306:13:306:21 | PathExpr | | +| variables.rs:306:13:306:26 | ExprStmt | variables.rs:306:13:306:21 | print_i64 | | | variables.rs:306:23:306:24 | b4 | variables.rs:306:13:306:25 | CallExpr | | -| variables.rs:310:5:310:13 | PathExpr | variables.rs:310:15:310:17 | a10 | | +| variables.rs:310:5:310:13 | print_i64 | variables.rs:310:15:310:17 | a10 | | | variables.rs:310:5:310:18 | CallExpr | variables.rs:311:5:311:18 | ExprStmt | | -| variables.rs:310:5:310:19 | ExprStmt | variables.rs:310:5:310:13 | PathExpr | | +| variables.rs:310:5:310:19 | ExprStmt | variables.rs:310:5:310:13 | print_i64 | | | variables.rs:310:15:310:17 | a10 | variables.rs:310:5:310:18 | CallExpr | | -| variables.rs:311:5:311:13 | PathExpr | variables.rs:311:15:311:16 | b4 | | +| variables.rs:311:5:311:13 | print_i64 | variables.rs:311:15:311:16 | b4 | | | variables.rs:311:5:311:17 | CallExpr | variables.rs:277:26:312:1 | BlockExpr | | -| variables.rs:311:5:311:18 | ExprStmt | variables.rs:311:5:311:13 | PathExpr | | +| variables.rs:311:5:311:18 | ExprStmt | variables.rs:311:5:311:13 | print_i64 | | | variables.rs:311:15:311:16 | b4 | variables.rs:311:5:311:17 | CallExpr | | | variables.rs:314:1:329:1 | enter closure_variable | variables.rs:315:5:317:10 | LetStmt | | | variables.rs:314:1:329:1 | exit closure_variable (normal) | variables.rs:314:1:329:1 | exit closure_variable | | @@ -683,13 +683,13 @@ edges | variables.rs:319:9:319:23 | example_closure | variables.rs:319:25:319:25 | 5 | | | variables.rs:319:9:319:26 | CallExpr | variables.rs:318:9:318:10 | n1 | | | variables.rs:319:25:319:25 | 5 | variables.rs:319:9:319:26 | CallExpr | | -| variables.rs:320:5:320:13 | PathExpr | variables.rs:320:15:320:16 | n1 | | +| variables.rs:320:5:320:13 | print_i64 | variables.rs:320:15:320:16 | n1 | | | variables.rs:320:5:320:17 | CallExpr | variables.rs:322:5:322:25 | ExprStmt | | -| variables.rs:320:5:320:18 | ExprStmt | variables.rs:320:5:320:13 | PathExpr | | +| variables.rs:320:5:320:18 | ExprStmt | variables.rs:320:5:320:13 | print_i64 | | | variables.rs:320:15:320:16 | n1 | variables.rs:320:5:320:17 | CallExpr | | -| variables.rs:322:5:322:22 | PathExpr | variables.rs:322:5:322:24 | CallExpr | | +| variables.rs:322:5:322:22 | immutable_variable | variables.rs:322:5:322:24 | CallExpr | | | variables.rs:322:5:322:24 | CallExpr | variables.rs:323:5:325:10 | LetStmt | | -| variables.rs:322:5:322:25 | ExprStmt | variables.rs:322:5:322:22 | PathExpr | | +| variables.rs:322:5:322:25 | ExprStmt | variables.rs:322:5:322:22 | immutable_variable | | | variables.rs:323:5:325:10 | LetStmt | variables.rs:324:9:325:9 | ClosureExpr | | | variables.rs:323:9:323:26 | immutable_variable | variables.rs:326:5:327:30 | LetStmt | match | | variables.rs:324:9:325:9 | ClosureExpr | variables.rs:323:9:323:26 | immutable_variable | | @@ -703,9 +703,9 @@ edges | variables.rs:327:9:327:26 | immutable_variable | variables.rs:327:28:327:28 | 6 | | | variables.rs:327:9:327:29 | CallExpr | variables.rs:326:9:326:10 | n2 | | | variables.rs:327:28:327:28 | 6 | variables.rs:327:9:327:29 | CallExpr | | -| variables.rs:328:5:328:13 | PathExpr | variables.rs:328:15:328:16 | n2 | | +| variables.rs:328:5:328:13 | print_i64 | variables.rs:328:15:328:16 | n2 | | | variables.rs:328:5:328:17 | CallExpr | variables.rs:314:23:329:1 | BlockExpr | | -| variables.rs:328:5:328:18 | ExprStmt | variables.rs:328:5:328:13 | PathExpr | | +| variables.rs:328:5:328:18 | ExprStmt | variables.rs:328:5:328:13 | print_i64 | | | variables.rs:328:15:328:16 | n2 | variables.rs:328:5:328:17 | CallExpr | | | variables.rs:331:1:338:1 | enter for_variable | variables.rs:332:5:332:42 | LetStmt | | | variables.rs:331:1:338:1 | exit for_variable (normal) | variables.rs:331:1:338:1 | exit for_variable | | @@ -722,9 +722,9 @@ edges | variables.rs:334:9:334:12 | text | variables.rs:336:9:336:24 | ExprStmt | match | | variables.rs:335:12:335:12 | v | variables.rs:334:9:334:12 | text | | | variables.rs:335:14:337:5 | BlockExpr | variables.rs:334:9:334:12 | text | | -| variables.rs:336:9:336:17 | PathExpr | variables.rs:336:19:336:22 | text | | +| variables.rs:336:9:336:17 | print_str | variables.rs:336:19:336:22 | text | | | variables.rs:336:9:336:23 | CallExpr | variables.rs:335:14:337:5 | BlockExpr | | -| variables.rs:336:9:336:24 | ExprStmt | variables.rs:336:9:336:17 | PathExpr | | +| variables.rs:336:9:336:24 | ExprStmt | variables.rs:336:9:336:17 | print_str | | | variables.rs:336:19:336:22 | text | variables.rs:336:9:336:23 | CallExpr | | | variables.rs:340:1:346:1 | enter add_assign | variables.rs:341:5:341:18 | LetStmt | | | variables.rs:340:1:346:1 | exit add_assign (normal) | variables.rs:340:1:346:1 | exit add_assign | | @@ -736,18 +736,18 @@ edges | variables.rs:342:5:342:10 | ... += ... | variables.rs:343:5:343:17 | ExprStmt | | | variables.rs:342:5:342:11 | ExprStmt | variables.rs:342:5:342:5 | a | | | variables.rs:342:10:342:10 | 1 | variables.rs:342:5:342:10 | ... += ... | | -| variables.rs:343:5:343:13 | PathExpr | variables.rs:343:15:343:15 | a | | +| variables.rs:343:5:343:13 | print_i64 | variables.rs:343:15:343:15 | a | | | variables.rs:343:5:343:16 | CallExpr | variables.rs:344:5:344:28 | ExprStmt | | -| variables.rs:343:5:343:17 | ExprStmt | variables.rs:343:5:343:13 | PathExpr | | +| variables.rs:343:5:343:17 | ExprStmt | variables.rs:343:5:343:13 | print_i64 | | | variables.rs:343:15:343:15 | a | variables.rs:343:5:343:16 | CallExpr | | | variables.rs:344:5:344:27 | ... .add_assign(...) | variables.rs:345:5:345:17 | ExprStmt | | | variables.rs:344:5:344:28 | ExprStmt | variables.rs:344:11:344:11 | a | | | variables.rs:344:6:344:11 | RefExpr | variables.rs:344:25:344:26 | 10 | | | variables.rs:344:11:344:11 | a | variables.rs:344:6:344:11 | RefExpr | | | variables.rs:344:25:344:26 | 10 | variables.rs:344:5:344:27 | ... .add_assign(...) | | -| variables.rs:345:5:345:13 | PathExpr | variables.rs:345:15:345:15 | a | | +| variables.rs:345:5:345:13 | print_i64 | variables.rs:345:15:345:15 | a | | | variables.rs:345:5:345:16 | CallExpr | variables.rs:340:17:346:1 | BlockExpr | | -| variables.rs:345:5:345:17 | ExprStmt | variables.rs:345:5:345:13 | PathExpr | | +| variables.rs:345:5:345:17 | ExprStmt | variables.rs:345:5:345:13 | print_i64 | | | variables.rs:345:15:345:15 | a | variables.rs:345:5:345:16 | CallExpr | | | variables.rs:348:1:354:1 | enter mutate | variables.rs:349:5:349:18 | LetStmt | | | variables.rs:348:1:354:1 | exit mutate (normal) | variables.rs:348:1:354:1 | exit mutate | | @@ -764,9 +764,9 @@ edges | variables.rs:352:5:352:15 | ExprStmt | variables.rs:352:6:352:10 | ref_i | | | variables.rs:352:6:352:10 | ref_i | variables.rs:352:5:352:10 | * ... | | | variables.rs:352:14:352:14 | 2 | variables.rs:352:5:352:14 | ... = ... | | -| variables.rs:353:5:353:13 | PathExpr | variables.rs:353:15:353:15 | i | | +| variables.rs:353:5:353:13 | print_i64 | variables.rs:353:15:353:15 | i | | | variables.rs:353:5:353:16 | CallExpr | variables.rs:348:13:354:1 | BlockExpr | | -| variables.rs:353:5:353:17 | ExprStmt | variables.rs:353:5:353:13 | PathExpr | | +| variables.rs:353:5:353:17 | ExprStmt | variables.rs:353:5:353:13 | print_i64 | | | variables.rs:353:15:353:15 | i | variables.rs:353:5:353:16 | CallExpr | | | variables.rs:356:1:361:1 | enter mutate_param | variables.rs:356:17:356:17 | x | | | variables.rs:356:1:361:1 | exit mutate_param (normal) | variables.rs:356:1:361:1 | exit mutate_param | | @@ -811,9 +811,9 @@ edges | variables.rs:372:5:372:18 | LetStmt | variables.rs:372:17:372:17 | 2 | | | variables.rs:372:9:372:13 | x | variables.rs:373:5:374:29 | LetStmt | match | | variables.rs:372:17:372:17 | 2 | variables.rs:372:9:372:13 | x | | -| variables.rs:373:5:374:29 | LetStmt | variables.rs:374:9:374:20 | PathExpr | | +| variables.rs:373:5:374:29 | LetStmt | variables.rs:374:9:374:20 | mutate_param | | | variables.rs:373:9:373:9 | y | variables.rs:375:5:375:12 | ExprStmt | match | -| variables.rs:374:9:374:20 | PathExpr | variables.rs:374:27:374:27 | x | | +| variables.rs:374:9:374:20 | mutate_param | variables.rs:374:27:374:27 | x | | | variables.rs:374:9:374:28 | CallExpr | variables.rs:373:9:373:9 | y | | | variables.rs:374:22:374:27 | RefExpr | variables.rs:374:9:374:28 | CallExpr | | | variables.rs:374:27:374:27 | x | variables.rs:374:22:374:27 | RefExpr | | @@ -822,9 +822,9 @@ edges | variables.rs:375:5:375:12 | ExprStmt | variables.rs:375:6:375:6 | y | | | variables.rs:375:6:375:6 | y | variables.rs:375:5:375:6 | * ... | | | variables.rs:375:10:375:11 | 10 | variables.rs:375:5:375:11 | ... = ... | | -| variables.rs:377:5:377:13 | PathExpr | variables.rs:377:15:377:15 | x | | +| variables.rs:377:5:377:13 | print_i64 | variables.rs:377:15:377:15 | x | | | variables.rs:377:5:377:16 | CallExpr | variables.rs:379:5:379:18 | LetStmt | | -| variables.rs:377:5:377:17 | ExprStmt | variables.rs:377:5:377:13 | PathExpr | | +| variables.rs:377:5:377:17 | ExprStmt | variables.rs:377:5:377:13 | print_i64 | | | variables.rs:377:15:377:15 | x | variables.rs:377:5:377:16 | CallExpr | | | variables.rs:379:5:379:18 | LetStmt | variables.rs:379:17:379:17 | 4 | | | variables.rs:379:9:379:13 | z | variables.rs:380:5:381:20 | LetStmt | match | @@ -834,9 +834,9 @@ edges | variables.rs:381:9:381:19 | RefExpr | variables.rs:380:9:380:9 | w | | | variables.rs:381:14:381:19 | RefExpr | variables.rs:381:9:381:19 | RefExpr | | | variables.rs:381:19:381:19 | x | variables.rs:381:14:381:19 | RefExpr | | -| variables.rs:382:5:382:17 | PathExpr | variables.rs:383:14:383:14 | z | | +| variables.rs:382:5:382:17 | mutate_param2 | variables.rs:383:14:383:14 | z | | | variables.rs:382:5:385:5 | CallExpr | variables.rs:386:5:386:13 | ExprStmt | | -| variables.rs:382:5:385:6 | ExprStmt | variables.rs:382:5:382:17 | PathExpr | | +| variables.rs:382:5:385:6 | ExprStmt | variables.rs:382:5:382:17 | mutate_param2 | | | variables.rs:383:9:383:14 | RefExpr | variables.rs:384:9:384:9 | w | | | variables.rs:383:14:383:14 | z | variables.rs:383:9:383:14 | RefExpr | | | variables.rs:384:9:384:9 | w | variables.rs:382:5:385:5 | CallExpr | | @@ -846,9 +846,9 @@ edges | variables.rs:386:6:386:7 | * ... | variables.rs:386:5:386:7 | * ... | | | variables.rs:386:7:386:7 | w | variables.rs:386:6:386:7 | * ... | | | variables.rs:386:11:386:12 | 11 | variables.rs:386:5:386:12 | ... = ... | | -| variables.rs:388:5:388:13 | PathExpr | variables.rs:388:15:388:15 | z | | +| variables.rs:388:5:388:13 | print_i64 | variables.rs:388:15:388:15 | z | | | variables.rs:388:5:388:16 | CallExpr | variables.rs:371:17:389:1 | BlockExpr | | -| variables.rs:388:5:388:17 | ExprStmt | variables.rs:388:5:388:13 | PathExpr | | +| variables.rs:388:5:388:17 | ExprStmt | variables.rs:388:5:388:13 | print_i64 | | | variables.rs:388:15:388:15 | z | variables.rs:388:5:388:16 | CallExpr | | | variables.rs:391:1:397:1 | enter alias | variables.rs:392:5:392:18 | LetStmt | | | variables.rs:391:1:397:1 | exit alias (normal) | variables.rs:391:1:397:1 | exit alias | | @@ -865,9 +865,9 @@ edges | variables.rs:395:5:395:11 | ExprStmt | variables.rs:395:6:395:6 | y | | | variables.rs:395:6:395:6 | y | variables.rs:395:5:395:6 | * ... | | | variables.rs:395:10:395:10 | 2 | variables.rs:395:5:395:10 | ... = ... | | -| variables.rs:396:5:396:13 | PathExpr | variables.rs:396:15:396:15 | x | | +| variables.rs:396:5:396:13 | print_i64 | variables.rs:396:15:396:15 | x | | | variables.rs:396:5:396:16 | CallExpr | variables.rs:391:12:397:1 | BlockExpr | | -| variables.rs:396:5:396:17 | ExprStmt | variables.rs:396:5:396:13 | PathExpr | | +| variables.rs:396:5:396:17 | ExprStmt | variables.rs:396:5:396:13 | print_i64 | | | variables.rs:396:15:396:15 | x | variables.rs:396:5:396:16 | CallExpr | | | variables.rs:399:1:407:1 | enter capture_immut | variables.rs:400:5:400:16 | LetStmt | | | variables.rs:399:1:407:1 | exit capture_immut (normal) | variables.rs:399:1:407:1 | exit capture_immut | | @@ -881,16 +881,16 @@ edges | variables.rs:402:15:404:5 | enter ClosureExpr | variables.rs:403:9:403:21 | ExprStmt | | | variables.rs:402:15:404:5 | exit ClosureExpr (normal) | variables.rs:402:15:404:5 | exit ClosureExpr | | | variables.rs:402:18:404:5 | BlockExpr | variables.rs:402:15:404:5 | exit ClosureExpr (normal) | | -| variables.rs:403:9:403:17 | PathExpr | variables.rs:403:19:403:19 | x | | +| variables.rs:403:9:403:17 | print_i64 | variables.rs:403:19:403:19 | x | | | variables.rs:403:9:403:20 | CallExpr | variables.rs:402:18:404:5 | BlockExpr | | -| variables.rs:403:9:403:21 | ExprStmt | variables.rs:403:9:403:17 | PathExpr | | +| variables.rs:403:9:403:21 | ExprStmt | variables.rs:403:9:403:17 | print_i64 | | | variables.rs:403:19:403:19 | x | variables.rs:403:9:403:20 | CallExpr | | | variables.rs:405:5:405:7 | cap | variables.rs:405:5:405:9 | CallExpr | | | variables.rs:405:5:405:9 | CallExpr | variables.rs:406:5:406:17 | ExprStmt | | | variables.rs:405:5:405:10 | ExprStmt | variables.rs:405:5:405:7 | cap | | -| variables.rs:406:5:406:13 | PathExpr | variables.rs:406:15:406:15 | x | | +| variables.rs:406:5:406:13 | print_i64 | variables.rs:406:15:406:15 | x | | | variables.rs:406:5:406:16 | CallExpr | variables.rs:399:20:407:1 | BlockExpr | | -| variables.rs:406:5:406:17 | ExprStmt | variables.rs:406:5:406:13 | PathExpr | | +| variables.rs:406:5:406:17 | ExprStmt | variables.rs:406:5:406:13 | print_i64 | | | variables.rs:406:15:406:15 | x | variables.rs:406:5:406:16 | CallExpr | | | variables.rs:409:1:433:1 | enter capture_mut | variables.rs:410:5:410:18 | LetStmt | | | variables.rs:409:1:433:1 | exit capture_mut (normal) | variables.rs:409:1:433:1 | exit capture_mut | | @@ -904,16 +904,16 @@ edges | variables.rs:412:20:414:5 | enter ClosureExpr | variables.rs:413:9:413:21 | ExprStmt | | | variables.rs:412:20:414:5 | exit ClosureExpr (normal) | variables.rs:412:20:414:5 | exit ClosureExpr | | | variables.rs:412:23:414:5 | BlockExpr | variables.rs:412:20:414:5 | exit ClosureExpr (normal) | | -| variables.rs:413:9:413:17 | PathExpr | variables.rs:413:19:413:19 | x | | +| variables.rs:413:9:413:17 | print_i64 | variables.rs:413:19:413:19 | x | | | variables.rs:413:9:413:20 | CallExpr | variables.rs:412:23:414:5 | BlockExpr | | -| variables.rs:413:9:413:21 | ExprStmt | variables.rs:413:9:413:17 | PathExpr | | +| variables.rs:413:9:413:21 | ExprStmt | variables.rs:413:9:413:17 | print_i64 | | | variables.rs:413:19:413:19 | x | variables.rs:413:9:413:20 | CallExpr | | | variables.rs:415:5:415:12 | closure1 | variables.rs:415:5:415:14 | CallExpr | | | variables.rs:415:5:415:14 | CallExpr | variables.rs:416:5:416:17 | ExprStmt | | | variables.rs:415:5:415:15 | ExprStmt | variables.rs:415:5:415:12 | closure1 | | -| variables.rs:416:5:416:13 | PathExpr | variables.rs:416:15:416:15 | x | | +| variables.rs:416:5:416:13 | print_i64 | variables.rs:416:15:416:15 | x | | | variables.rs:416:5:416:16 | CallExpr | variables.rs:418:5:418:18 | LetStmt | | -| variables.rs:416:5:416:17 | ExprStmt | variables.rs:416:5:416:13 | PathExpr | | +| variables.rs:416:5:416:17 | ExprStmt | variables.rs:416:5:416:13 | print_i64 | | | variables.rs:416:15:416:15 | x | variables.rs:416:5:416:16 | CallExpr | | | variables.rs:418:5:418:18 | LetStmt | variables.rs:418:17:418:17 | 2 | | | variables.rs:418:9:418:13 | y | variables.rs:420:5:422:6 | LetStmt | match | @@ -931,9 +931,9 @@ edges | variables.rs:423:5:423:12 | closure2 | variables.rs:423:5:423:14 | CallExpr | | | variables.rs:423:5:423:14 | CallExpr | variables.rs:424:5:424:17 | ExprStmt | | | variables.rs:423:5:423:15 | ExprStmt | variables.rs:423:5:423:12 | closure2 | | -| variables.rs:424:5:424:13 | PathExpr | variables.rs:424:15:424:15 | y | | +| variables.rs:424:5:424:13 | print_i64 | variables.rs:424:15:424:15 | y | | | variables.rs:424:5:424:16 | CallExpr | variables.rs:426:5:426:18 | LetStmt | | -| variables.rs:424:5:424:17 | ExprStmt | variables.rs:424:5:424:13 | PathExpr | | +| variables.rs:424:5:424:17 | ExprStmt | variables.rs:424:5:424:13 | print_i64 | | | variables.rs:424:15:424:15 | y | variables.rs:424:5:424:16 | CallExpr | | | variables.rs:426:5:426:18 | LetStmt | variables.rs:426:17:426:17 | 2 | | | variables.rs:426:9:426:13 | z | variables.rs:428:5:430:6 | LetStmt | match | @@ -951,9 +951,9 @@ edges | variables.rs:431:5:431:12 | closure3 | variables.rs:431:5:431:14 | CallExpr | | | variables.rs:431:5:431:14 | CallExpr | variables.rs:432:5:432:17 | ExprStmt | | | variables.rs:431:5:431:15 | ExprStmt | variables.rs:431:5:431:12 | closure3 | | -| variables.rs:432:5:432:13 | PathExpr | variables.rs:432:15:432:15 | z | | +| variables.rs:432:5:432:13 | print_i64 | variables.rs:432:15:432:15 | z | | | variables.rs:432:5:432:16 | CallExpr | variables.rs:409:18:433:1 | BlockExpr | | -| variables.rs:432:5:432:17 | ExprStmt | variables.rs:432:5:432:13 | PathExpr | | +| variables.rs:432:5:432:17 | ExprStmt | variables.rs:432:5:432:13 | print_i64 | | | variables.rs:432:15:432:15 | z | variables.rs:432:5:432:16 | CallExpr | | | variables.rs:435:1:443:1 | enter async_block_capture | variables.rs:436:5:436:23 | LetStmt | | | variables.rs:435:1:443:1 | exit async_block_capture (normal) | variables.rs:435:1:443:1 | exit async_block_capture | | @@ -973,9 +973,9 @@ edges | variables.rs:441:5:441:9 | block | variables.rs:441:5:441:15 | AwaitExpr | | | variables.rs:441:5:441:15 | AwaitExpr | variables.rs:442:5:442:17 | ExprStmt | | | variables.rs:441:5:441:16 | ExprStmt | variables.rs:441:5:441:9 | block | | -| variables.rs:442:5:442:13 | PathExpr | variables.rs:442:15:442:15 | i | | +| variables.rs:442:5:442:13 | print_i64 | variables.rs:442:15:442:15 | i | | | variables.rs:442:5:442:16 | CallExpr | variables.rs:435:32:443:1 | BlockExpr | | -| variables.rs:442:5:442:17 | ExprStmt | variables.rs:442:5:442:13 | PathExpr | | +| variables.rs:442:5:442:17 | ExprStmt | variables.rs:442:5:442:13 | print_i64 | | | variables.rs:442:15:442:15 | i | variables.rs:442:5:442:16 | CallExpr | | | variables.rs:445:1:459:1 | enter phi | variables.rs:445:8:445:8 | b | | | variables.rs:445:1:459:1 | exit phi (normal) | variables.rs:445:1:459:1 | exit phi | | @@ -985,13 +985,13 @@ edges | variables.rs:446:5:446:18 | LetStmt | variables.rs:446:17:446:17 | 1 | | | variables.rs:446:9:446:13 | x | variables.rs:447:5:447:17 | ExprStmt | match | | variables.rs:446:17:446:17 | 1 | variables.rs:446:9:446:13 | x | | -| variables.rs:447:5:447:13 | PathExpr | variables.rs:447:15:447:15 | x | | +| variables.rs:447:5:447:13 | print_i64 | variables.rs:447:15:447:15 | x | | | variables.rs:447:5:447:16 | CallExpr | variables.rs:448:5:448:21 | ExprStmt | | -| variables.rs:447:5:447:17 | ExprStmt | variables.rs:447:5:447:13 | PathExpr | | +| variables.rs:447:5:447:17 | ExprStmt | variables.rs:447:5:447:13 | print_i64 | | | variables.rs:447:15:447:15 | x | variables.rs:447:5:447:16 | CallExpr | | -| variables.rs:448:5:448:13 | PathExpr | variables.rs:448:15:448:15 | x | | +| variables.rs:448:5:448:13 | print_i64 | variables.rs:448:15:448:15 | x | | | variables.rs:448:5:448:20 | CallExpr | variables.rs:449:5:457:5 | ExprStmt | | -| variables.rs:448:5:448:21 | ExprStmt | variables.rs:448:5:448:13 | PathExpr | | +| variables.rs:448:5:448:21 | ExprStmt | variables.rs:448:5:448:13 | print_i64 | | | variables.rs:448:15:448:15 | x | variables.rs:448:19:448:19 | 1 | | | variables.rs:448:15:448:19 | ... + ... | variables.rs:448:5:448:20 | CallExpr | | | variables.rs:448:19:448:19 | 1 | variables.rs:448:15:448:19 | ... + ... | | @@ -1004,13 +1004,13 @@ edges | variables.rs:450:9:450:13 | ... = ... | variables.rs:451:9:451:21 | ExprStmt | | | variables.rs:450:9:450:14 | ExprStmt | variables.rs:450:9:450:9 | x | | | variables.rs:450:13:450:13 | 2 | variables.rs:450:9:450:13 | ... = ... | | -| variables.rs:451:9:451:17 | PathExpr | variables.rs:451:19:451:19 | x | | +| variables.rs:451:9:451:17 | print_i64 | variables.rs:451:19:451:19 | x | | | variables.rs:451:9:451:20 | CallExpr | variables.rs:452:9:452:25 | ExprStmt | | -| variables.rs:451:9:451:21 | ExprStmt | variables.rs:451:9:451:17 | PathExpr | | +| variables.rs:451:9:451:21 | ExprStmt | variables.rs:451:9:451:17 | print_i64 | | | variables.rs:451:19:451:19 | x | variables.rs:451:9:451:20 | CallExpr | | -| variables.rs:452:9:452:17 | PathExpr | variables.rs:452:19:452:19 | x | | +| variables.rs:452:9:452:17 | print_i64 | variables.rs:452:19:452:19 | x | | | variables.rs:452:9:452:24 | CallExpr | variables.rs:449:10:453:5 | BlockExpr | | -| variables.rs:452:9:452:25 | ExprStmt | variables.rs:452:9:452:17 | PathExpr | | +| variables.rs:452:9:452:25 | ExprStmt | variables.rs:452:9:452:17 | print_i64 | | | variables.rs:452:19:452:19 | x | variables.rs:452:23:452:23 | 1 | | | variables.rs:452:19:452:23 | ... + ... | variables.rs:452:9:452:24 | CallExpr | | | variables.rs:452:23:452:23 | 1 | variables.rs:452:19:452:23 | ... + ... | | @@ -1019,19 +1019,19 @@ edges | variables.rs:454:9:454:13 | ... = ... | variables.rs:455:9:455:21 | ExprStmt | | | variables.rs:454:9:454:14 | ExprStmt | variables.rs:454:9:454:9 | x | | | variables.rs:454:13:454:13 | 3 | variables.rs:454:9:454:13 | ... = ... | | -| variables.rs:455:9:455:17 | PathExpr | variables.rs:455:19:455:19 | x | | +| variables.rs:455:9:455:17 | print_i64 | variables.rs:455:19:455:19 | x | | | variables.rs:455:9:455:20 | CallExpr | variables.rs:456:9:456:25 | ExprStmt | | -| variables.rs:455:9:455:21 | ExprStmt | variables.rs:455:9:455:17 | PathExpr | | +| variables.rs:455:9:455:21 | ExprStmt | variables.rs:455:9:455:17 | print_i64 | | | variables.rs:455:19:455:19 | x | variables.rs:455:9:455:20 | CallExpr | | -| variables.rs:456:9:456:17 | PathExpr | variables.rs:456:19:456:19 | x | | +| variables.rs:456:9:456:17 | print_i64 | variables.rs:456:19:456:19 | x | | | variables.rs:456:9:456:24 | CallExpr | variables.rs:453:12:457:5 | BlockExpr | | -| variables.rs:456:9:456:25 | ExprStmt | variables.rs:456:9:456:17 | PathExpr | | +| variables.rs:456:9:456:25 | ExprStmt | variables.rs:456:9:456:17 | print_i64 | | | variables.rs:456:19:456:19 | x | variables.rs:456:23:456:23 | 1 | | | variables.rs:456:19:456:23 | ... + ... | variables.rs:456:9:456:24 | CallExpr | | | variables.rs:456:23:456:23 | 1 | variables.rs:456:19:456:23 | ... + ... | | -| variables.rs:458:5:458:13 | PathExpr | variables.rs:458:15:458:15 | x | | +| variables.rs:458:5:458:13 | print_i64 | variables.rs:458:15:458:15 | x | | | variables.rs:458:5:458:16 | CallExpr | variables.rs:445:18:459:1 | BlockExpr | | -| variables.rs:458:5:458:17 | ExprStmt | variables.rs:458:5:458:13 | PathExpr | | +| variables.rs:458:5:458:17 | ExprStmt | variables.rs:458:5:458:13 | print_i64 | | | variables.rs:458:15:458:15 | x | variables.rs:458:5:458:16 | CallExpr | | | variables.rs:461:1:474:1 | enter phi_read | variables.rs:461:13:461:14 | b1 | | | variables.rs:461:1:474:1 | exit phi_read (normal) | variables.rs:461:1:474:1 | exit phi_read | | @@ -1048,33 +1048,33 @@ edges | variables.rs:463:8:463:9 | b1 | variables.rs:464:9:464:21 | ExprStmt | true | | variables.rs:463:8:463:9 | b1 | variables.rs:466:9:466:21 | ExprStmt | false | | variables.rs:463:11:465:5 | BlockExpr | variables.rs:463:5:467:5 | IfExpr | | -| variables.rs:464:9:464:17 | PathExpr | variables.rs:464:19:464:19 | x | | +| variables.rs:464:9:464:17 | print_i64 | variables.rs:464:19:464:19 | x | | | variables.rs:464:9:464:20 | CallExpr | variables.rs:463:11:465:5 | BlockExpr | | -| variables.rs:464:9:464:21 | ExprStmt | variables.rs:464:9:464:17 | PathExpr | | +| variables.rs:464:9:464:21 | ExprStmt | variables.rs:464:9:464:17 | print_i64 | | | variables.rs:464:19:464:19 | x | variables.rs:464:9:464:20 | CallExpr | | | variables.rs:465:12:467:5 | BlockExpr | variables.rs:463:5:467:5 | IfExpr | | -| variables.rs:466:9:466:17 | PathExpr | variables.rs:466:19:466:19 | x | | +| variables.rs:466:9:466:17 | print_i64 | variables.rs:466:19:466:19 | x | | | variables.rs:466:9:466:20 | CallExpr | variables.rs:465:12:467:5 | BlockExpr | | -| variables.rs:466:9:466:21 | ExprStmt | variables.rs:466:9:466:17 | PathExpr | | +| variables.rs:466:9:466:21 | ExprStmt | variables.rs:466:9:466:17 | print_i64 | | | variables.rs:466:19:466:19 | x | variables.rs:466:9:466:20 | CallExpr | | | variables.rs:469:5:473:5 | IfExpr | variables.rs:461:35:474:1 | BlockExpr | | | variables.rs:469:8:469:9 | b2 | variables.rs:470:9:470:21 | ExprStmt | true | | variables.rs:469:8:469:9 | b2 | variables.rs:472:9:472:21 | ExprStmt | false | | variables.rs:469:11:471:5 | BlockExpr | variables.rs:469:5:473:5 | IfExpr | | -| variables.rs:470:9:470:17 | PathExpr | variables.rs:470:19:470:19 | x | | +| variables.rs:470:9:470:17 | print_i64 | variables.rs:470:19:470:19 | x | | | variables.rs:470:9:470:20 | CallExpr | variables.rs:469:11:471:5 | BlockExpr | | -| variables.rs:470:9:470:21 | ExprStmt | variables.rs:470:9:470:17 | PathExpr | | +| variables.rs:470:9:470:21 | ExprStmt | variables.rs:470:9:470:17 | print_i64 | | | variables.rs:470:19:470:19 | x | variables.rs:470:9:470:20 | CallExpr | | | variables.rs:471:12:473:5 | BlockExpr | variables.rs:469:5:473:5 | IfExpr | | -| variables.rs:472:9:472:17 | PathExpr | variables.rs:472:19:472:19 | x | | +| variables.rs:472:9:472:17 | print_i64 | variables.rs:472:19:472:19 | x | | | variables.rs:472:9:472:20 | CallExpr | variables.rs:471:12:473:5 | BlockExpr | | -| variables.rs:472:9:472:21 | ExprStmt | variables.rs:472:9:472:17 | PathExpr | | +| variables.rs:472:9:472:21 | ExprStmt | variables.rs:472:9:472:17 | print_i64 | | | variables.rs:472:19:472:19 | x | variables.rs:472:9:472:20 | CallExpr | | | variables.rs:482:5:484:5 | enter my_get | variables.rs:483:9:483:24 | ExprStmt | | | variables.rs:482:5:484:5 | exit my_get (normal) | variables.rs:482:5:484:5 | exit my_get | | | variables.rs:483:9:483:23 | ReturnExpr | variables.rs:482:5:484:5 | exit my_get (normal) | return | -| variables.rs:483:9:483:24 | ExprStmt | variables.rs:483:16:483:19 | PathExpr | | -| variables.rs:483:16:483:19 | PathExpr | variables.rs:483:16:483:23 | FieldExpr | | +| variables.rs:483:9:483:24 | ExprStmt | variables.rs:483:16:483:19 | self | | +| variables.rs:483:16:483:19 | self | variables.rs:483:16:483:23 | FieldExpr | | | variables.rs:483:16:483:23 | FieldExpr | variables.rs:483:9:483:23 | ReturnExpr | | | variables.rs:487:1:494:1 | enter structs | variables.rs:488:5:488:36 | LetStmt | | | variables.rs:487:1:494:1 | exit structs (normal) | variables.rs:487:1:494:1 | exit structs | | @@ -1083,9 +1083,9 @@ edges | variables.rs:488:9:488:13 | a | variables.rs:489:5:489:26 | ExprStmt | match | | variables.rs:488:17:488:35 | RecordExpr | variables.rs:488:9:488:13 | a | | | variables.rs:488:33:488:33 | 1 | variables.rs:488:17:488:35 | RecordExpr | | -| variables.rs:489:5:489:13 | PathExpr | variables.rs:489:15:489:15 | a | | +| variables.rs:489:5:489:13 | print_i64 | variables.rs:489:15:489:15 | a | | | variables.rs:489:5:489:25 | CallExpr | variables.rs:490:5:490:14 | ExprStmt | | -| variables.rs:489:5:489:26 | ExprStmt | variables.rs:489:5:489:13 | PathExpr | | +| variables.rs:489:5:489:26 | ExprStmt | variables.rs:489:5:489:13 | print_i64 | | | variables.rs:489:15:489:15 | a | variables.rs:489:15:489:24 | ... .my_get(...) | | | variables.rs:489:15:489:24 | ... .my_get(...) | variables.rs:489:5:489:25 | CallExpr | | | variables.rs:490:5:490:5 | a | variables.rs:490:5:490:9 | FieldExpr | | @@ -1093,9 +1093,9 @@ edges | variables.rs:490:5:490:13 | ... = ... | variables.rs:491:5:491:26 | ExprStmt | | | variables.rs:490:5:490:14 | ExprStmt | variables.rs:490:5:490:5 | a | | | variables.rs:490:13:490:13 | 5 | variables.rs:490:5:490:13 | ... = ... | | -| variables.rs:491:5:491:13 | PathExpr | variables.rs:491:15:491:15 | a | | +| variables.rs:491:5:491:13 | print_i64 | variables.rs:491:15:491:15 | a | | | variables.rs:491:5:491:25 | CallExpr | variables.rs:492:5:492:28 | ExprStmt | | -| variables.rs:491:5:491:26 | ExprStmt | variables.rs:491:5:491:13 | PathExpr | | +| variables.rs:491:5:491:26 | ExprStmt | variables.rs:491:5:491:13 | print_i64 | | | variables.rs:491:15:491:15 | a | variables.rs:491:15:491:24 | ... .my_get(...) | | | variables.rs:491:15:491:24 | ... .my_get(...) | variables.rs:491:5:491:25 | CallExpr | | | variables.rs:492:5:492:5 | a | variables.rs:492:25:492:25 | 2 | | @@ -1103,9 +1103,9 @@ edges | variables.rs:492:5:492:28 | ExprStmt | variables.rs:492:5:492:5 | a | | | variables.rs:492:9:492:27 | RecordExpr | variables.rs:492:5:492:27 | ... = ... | | | variables.rs:492:25:492:25 | 2 | variables.rs:492:9:492:27 | RecordExpr | | -| variables.rs:493:5:493:13 | PathExpr | variables.rs:493:15:493:15 | a | | +| variables.rs:493:5:493:13 | print_i64 | variables.rs:493:15:493:15 | a | | | variables.rs:493:5:493:25 | CallExpr | variables.rs:487:14:494:1 | BlockExpr | | -| variables.rs:493:5:493:26 | ExprStmt | variables.rs:493:5:493:13 | PathExpr | | +| variables.rs:493:5:493:26 | ExprStmt | variables.rs:493:5:493:13 | print_i64 | | | variables.rs:493:15:493:15 | a | variables.rs:493:15:493:24 | ... .my_get(...) | | | variables.rs:493:15:493:24 | ... .my_get(...) | variables.rs:493:5:493:25 | CallExpr | | | variables.rs:496:1:503:1 | enter ref_arg | variables.rs:497:5:497:15 | LetStmt | | @@ -1114,21 +1114,21 @@ edges | variables.rs:497:5:497:15 | LetStmt | variables.rs:497:13:497:14 | 16 | | | variables.rs:497:9:497:9 | x | variables.rs:498:5:498:22 | ExprStmt | match | | variables.rs:497:13:497:14 | 16 | variables.rs:497:9:497:9 | x | | -| variables.rs:498:5:498:17 | PathExpr | variables.rs:498:20:498:20 | x | | +| variables.rs:498:5:498:17 | print_i64_ref | variables.rs:498:20:498:20 | x | | | variables.rs:498:5:498:21 | CallExpr | variables.rs:499:5:499:17 | ExprStmt | | -| variables.rs:498:5:498:22 | ExprStmt | variables.rs:498:5:498:17 | PathExpr | | +| variables.rs:498:5:498:22 | ExprStmt | variables.rs:498:5:498:17 | print_i64_ref | | | variables.rs:498:19:498:20 | RefExpr | variables.rs:498:5:498:21 | CallExpr | | | variables.rs:498:20:498:20 | x | variables.rs:498:19:498:20 | RefExpr | | -| variables.rs:499:5:499:13 | PathExpr | variables.rs:499:15:499:15 | x | | +| variables.rs:499:5:499:13 | print_i64 | variables.rs:499:15:499:15 | x | | | variables.rs:499:5:499:16 | CallExpr | variables.rs:501:5:501:15 | LetStmt | | -| variables.rs:499:5:499:17 | ExprStmt | variables.rs:499:5:499:13 | PathExpr | | +| variables.rs:499:5:499:17 | ExprStmt | variables.rs:499:5:499:13 | print_i64 | | | variables.rs:499:15:499:15 | x | variables.rs:499:5:499:16 | CallExpr | | | variables.rs:501:5:501:15 | LetStmt | variables.rs:501:13:501:14 | 17 | | | variables.rs:501:9:501:9 | z | variables.rs:502:5:502:22 | ExprStmt | match | | variables.rs:501:13:501:14 | 17 | variables.rs:501:9:501:9 | z | | -| variables.rs:502:5:502:17 | PathExpr | variables.rs:502:20:502:20 | z | | +| variables.rs:502:5:502:17 | print_i64_ref | variables.rs:502:20:502:20 | z | | | variables.rs:502:5:502:21 | CallExpr | variables.rs:496:14:503:1 | BlockExpr | | -| variables.rs:502:5:502:22 | ExprStmt | variables.rs:502:5:502:17 | PathExpr | | +| variables.rs:502:5:502:22 | ExprStmt | variables.rs:502:5:502:17 | print_i64_ref | | | variables.rs:502:19:502:20 | RefExpr | variables.rs:502:5:502:21 | CallExpr | | | variables.rs:502:20:502:20 | z | variables.rs:502:19:502:20 | RefExpr | | | variables.rs:510:3:512:3 | enter bar | variables.rs:511:5:511:32 | ExprStmt | | @@ -1136,8 +1136,8 @@ edges | variables.rs:510:21:512:3 | BlockExpr | variables.rs:510:3:512:3 | exit bar (normal) | | | variables.rs:511:5:511:9 | * ... | variables.rs:511:29:511:29 | 3 | | | variables.rs:511:5:511:31 | ... = ... | variables.rs:510:21:512:3 | BlockExpr | | -| variables.rs:511:5:511:32 | ExprStmt | variables.rs:511:6:511:9 | PathExpr | | -| variables.rs:511:6:511:9 | PathExpr | variables.rs:511:5:511:9 | * ... | | +| variables.rs:511:5:511:32 | ExprStmt | variables.rs:511:6:511:9 | self | | +| variables.rs:511:6:511:9 | self | variables.rs:511:5:511:9 | * ... | | | variables.rs:511:13:511:31 | RecordExpr | variables.rs:511:5:511:31 | ... = ... | | | variables.rs:511:29:511:29 | 3 | variables.rs:511:13:511:31 | RecordExpr | | | variables.rs:515:1:520:1 | enter ref_methodcall_receiver | variables.rs:516:3:516:34 | LetStmt | | @@ -1150,119 +1150,119 @@ edges | variables.rs:517:3:517:3 | a | variables.rs:517:3:517:9 | ... .bar(...) | | | variables.rs:517:3:517:9 | ... .bar(...) | variables.rs:519:3:519:19 | ExprStmt | | | variables.rs:517:3:517:10 | ExprStmt | variables.rs:517:3:517:3 | a | | -| variables.rs:519:3:519:11 | PathExpr | variables.rs:519:13:519:13 | a | | +| variables.rs:519:3:519:11 | print_i64 | variables.rs:519:13:519:13 | a | | | variables.rs:519:3:519:18 | CallExpr | variables.rs:515:30:520:1 | BlockExpr | | -| variables.rs:519:3:519:19 | ExprStmt | variables.rs:519:3:519:11 | PathExpr | | +| variables.rs:519:3:519:19 | ExprStmt | variables.rs:519:3:519:11 | print_i64 | | | variables.rs:519:13:519:13 | a | variables.rs:519:13:519:17 | FieldExpr | | | variables.rs:519:13:519:17 | FieldExpr | variables.rs:519:3:519:18 | CallExpr | | | variables.rs:522:1:556:1 | enter main | variables.rs:523:5:523:25 | ExprStmt | | | variables.rs:522:1:556:1 | exit main (normal) | variables.rs:522:1:556:1 | exit main | | | variables.rs:522:11:556:1 | BlockExpr | variables.rs:522:1:556:1 | exit main (normal) | | -| variables.rs:523:5:523:22 | PathExpr | variables.rs:523:5:523:24 | CallExpr | | +| variables.rs:523:5:523:22 | immutable_variable | variables.rs:523:5:523:24 | CallExpr | | | variables.rs:523:5:523:24 | CallExpr | variables.rs:524:5:524:23 | ExprStmt | | -| variables.rs:523:5:523:25 | ExprStmt | variables.rs:523:5:523:22 | PathExpr | | -| variables.rs:524:5:524:20 | PathExpr | variables.rs:524:5:524:22 | CallExpr | | +| variables.rs:523:5:523:25 | ExprStmt | variables.rs:523:5:523:22 | immutable_variable | | +| variables.rs:524:5:524:20 | mutable_variable | variables.rs:524:5:524:22 | CallExpr | | | variables.rs:524:5:524:22 | CallExpr | variables.rs:525:5:525:40 | ExprStmt | | -| variables.rs:524:5:524:23 | ExprStmt | variables.rs:524:5:524:20 | PathExpr | | -| variables.rs:525:5:525:37 | PathExpr | variables.rs:525:5:525:39 | CallExpr | | +| variables.rs:524:5:524:23 | ExprStmt | variables.rs:524:5:524:20 | mutable_variable | | +| variables.rs:525:5:525:37 | mutable_variable_immutable_borrow | variables.rs:525:5:525:39 | CallExpr | | | variables.rs:525:5:525:39 | CallExpr | variables.rs:526:5:526:23 | ExprStmt | | -| variables.rs:525:5:525:40 | ExprStmt | variables.rs:525:5:525:37 | PathExpr | | -| variables.rs:526:5:526:20 | PathExpr | variables.rs:526:5:526:22 | CallExpr | | +| variables.rs:525:5:525:40 | ExprStmt | variables.rs:525:5:525:37 | mutable_variable_immutable_borrow | | +| variables.rs:526:5:526:20 | variable_shadow1 | variables.rs:526:5:526:22 | CallExpr | | | variables.rs:526:5:526:22 | CallExpr | variables.rs:527:5:527:23 | ExprStmt | | -| variables.rs:526:5:526:23 | ExprStmt | variables.rs:526:5:526:20 | PathExpr | | -| variables.rs:527:5:527:20 | PathExpr | variables.rs:527:5:527:22 | CallExpr | | +| variables.rs:526:5:526:23 | ExprStmt | variables.rs:526:5:526:20 | variable_shadow1 | | +| variables.rs:527:5:527:20 | variable_shadow2 | variables.rs:527:5:527:22 | CallExpr | | | variables.rs:527:5:527:22 | CallExpr | variables.rs:528:5:528:19 | ExprStmt | | -| variables.rs:527:5:527:23 | ExprStmt | variables.rs:527:5:527:20 | PathExpr | | -| variables.rs:528:5:528:16 | PathExpr | variables.rs:528:5:528:18 | CallExpr | | +| variables.rs:527:5:527:23 | ExprStmt | variables.rs:527:5:527:20 | variable_shadow2 | | +| variables.rs:528:5:528:16 | let_pattern1 | variables.rs:528:5:528:18 | CallExpr | | | variables.rs:528:5:528:18 | CallExpr | variables.rs:529:5:529:19 | ExprStmt | | -| variables.rs:528:5:528:19 | ExprStmt | variables.rs:528:5:528:16 | PathExpr | | -| variables.rs:529:5:529:16 | PathExpr | variables.rs:529:5:529:18 | CallExpr | | +| variables.rs:528:5:528:19 | ExprStmt | variables.rs:528:5:528:16 | let_pattern1 | | +| variables.rs:529:5:529:16 | let_pattern2 | variables.rs:529:5:529:18 | CallExpr | | | variables.rs:529:5:529:18 | CallExpr | variables.rs:530:5:530:19 | ExprStmt | | -| variables.rs:529:5:529:19 | ExprStmt | variables.rs:529:5:529:16 | PathExpr | | -| variables.rs:530:5:530:16 | PathExpr | variables.rs:530:5:530:18 | CallExpr | | +| variables.rs:529:5:529:19 | ExprStmt | variables.rs:529:5:529:16 | let_pattern2 | | +| variables.rs:530:5:530:16 | let_pattern3 | variables.rs:530:5:530:18 | CallExpr | | | variables.rs:530:5:530:18 | CallExpr | variables.rs:531:5:531:19 | ExprStmt | | -| variables.rs:530:5:530:19 | ExprStmt | variables.rs:530:5:530:16 | PathExpr | | -| variables.rs:531:5:531:16 | PathExpr | variables.rs:531:5:531:18 | CallExpr | | +| variables.rs:530:5:530:19 | ExprStmt | variables.rs:530:5:530:16 | let_pattern3 | | +| variables.rs:531:5:531:16 | let_pattern4 | variables.rs:531:5:531:18 | CallExpr | | | variables.rs:531:5:531:18 | CallExpr | variables.rs:532:5:532:21 | ExprStmt | | -| variables.rs:531:5:531:19 | ExprStmt | variables.rs:531:5:531:16 | PathExpr | | -| variables.rs:532:5:532:18 | PathExpr | variables.rs:532:5:532:20 | CallExpr | | +| variables.rs:531:5:531:19 | ExprStmt | variables.rs:531:5:531:16 | let_pattern4 | | +| variables.rs:532:5:532:18 | match_pattern1 | variables.rs:532:5:532:20 | CallExpr | | | variables.rs:532:5:532:20 | CallExpr | variables.rs:533:5:533:21 | ExprStmt | | -| variables.rs:532:5:532:21 | ExprStmt | variables.rs:532:5:532:18 | PathExpr | | -| variables.rs:533:5:533:18 | PathExpr | variables.rs:533:5:533:20 | CallExpr | | +| variables.rs:532:5:532:21 | ExprStmt | variables.rs:532:5:532:18 | match_pattern1 | | +| variables.rs:533:5:533:18 | match_pattern2 | variables.rs:533:5:533:20 | CallExpr | | | variables.rs:533:5:533:20 | CallExpr | variables.rs:534:5:534:21 | ExprStmt | | -| variables.rs:533:5:533:21 | ExprStmt | variables.rs:533:5:533:18 | PathExpr | | -| variables.rs:534:5:534:18 | PathExpr | variables.rs:534:5:534:20 | CallExpr | | +| variables.rs:533:5:533:21 | ExprStmt | variables.rs:533:5:533:18 | match_pattern2 | | +| variables.rs:534:5:534:18 | match_pattern3 | variables.rs:534:5:534:20 | CallExpr | | | variables.rs:534:5:534:20 | CallExpr | variables.rs:535:5:535:21 | ExprStmt | | -| variables.rs:534:5:534:21 | ExprStmt | variables.rs:534:5:534:18 | PathExpr | | -| variables.rs:535:5:535:18 | PathExpr | variables.rs:535:5:535:20 | CallExpr | | +| variables.rs:534:5:534:21 | ExprStmt | variables.rs:534:5:534:18 | match_pattern3 | | +| variables.rs:535:5:535:18 | match_pattern4 | variables.rs:535:5:535:20 | CallExpr | | | variables.rs:535:5:535:20 | CallExpr | variables.rs:536:5:536:21 | ExprStmt | | -| variables.rs:535:5:535:21 | ExprStmt | variables.rs:535:5:535:18 | PathExpr | | -| variables.rs:536:5:536:18 | PathExpr | variables.rs:536:5:536:20 | CallExpr | | +| variables.rs:535:5:535:21 | ExprStmt | variables.rs:535:5:535:18 | match_pattern4 | | +| variables.rs:536:5:536:18 | match_pattern5 | variables.rs:536:5:536:20 | CallExpr | | | variables.rs:536:5:536:20 | CallExpr | variables.rs:537:5:537:21 | ExprStmt | | -| variables.rs:536:5:536:21 | ExprStmt | variables.rs:536:5:536:18 | PathExpr | | -| variables.rs:537:5:537:18 | PathExpr | variables.rs:537:5:537:20 | CallExpr | | +| variables.rs:536:5:536:21 | ExprStmt | variables.rs:536:5:536:18 | match_pattern5 | | +| variables.rs:537:5:537:18 | match_pattern6 | variables.rs:537:5:537:20 | CallExpr | | | variables.rs:537:5:537:20 | CallExpr | variables.rs:538:5:538:21 | ExprStmt | | -| variables.rs:537:5:537:21 | ExprStmt | variables.rs:537:5:537:18 | PathExpr | | -| variables.rs:538:5:538:18 | PathExpr | variables.rs:538:5:538:20 | CallExpr | | +| variables.rs:537:5:537:21 | ExprStmt | variables.rs:537:5:537:18 | match_pattern6 | | +| variables.rs:538:5:538:18 | match_pattern7 | variables.rs:538:5:538:20 | CallExpr | | | variables.rs:538:5:538:20 | CallExpr | variables.rs:539:5:539:21 | ExprStmt | | -| variables.rs:538:5:538:21 | ExprStmt | variables.rs:538:5:538:18 | PathExpr | | -| variables.rs:539:5:539:18 | PathExpr | variables.rs:539:5:539:20 | CallExpr | | +| variables.rs:538:5:538:21 | ExprStmt | variables.rs:538:5:538:18 | match_pattern7 | | +| variables.rs:539:5:539:18 | match_pattern8 | variables.rs:539:5:539:20 | CallExpr | | | variables.rs:539:5:539:20 | CallExpr | variables.rs:540:5:540:21 | ExprStmt | | -| variables.rs:539:5:539:21 | ExprStmt | variables.rs:539:5:539:18 | PathExpr | | -| variables.rs:540:5:540:18 | PathExpr | variables.rs:540:5:540:20 | CallExpr | | +| variables.rs:539:5:539:21 | ExprStmt | variables.rs:539:5:539:18 | match_pattern8 | | +| variables.rs:540:5:540:18 | match_pattern9 | variables.rs:540:5:540:20 | CallExpr | | | variables.rs:540:5:540:20 | CallExpr | variables.rs:541:5:541:36 | ExprStmt | | -| variables.rs:540:5:540:21 | ExprStmt | variables.rs:540:5:540:18 | PathExpr | | -| variables.rs:541:5:541:18 | PathExpr | variables.rs:541:20:541:22 | "a" | | +| variables.rs:540:5:540:21 | ExprStmt | variables.rs:540:5:540:18 | match_pattern9 | | +| variables.rs:541:5:541:18 | param_pattern1 | variables.rs:541:20:541:22 | "a" | | | variables.rs:541:5:541:35 | CallExpr | variables.rs:542:5:542:37 | ExprStmt | | -| variables.rs:541:5:541:36 | ExprStmt | variables.rs:541:5:541:18 | PathExpr | | +| variables.rs:541:5:541:36 | ExprStmt | variables.rs:541:5:541:18 | param_pattern1 | | | variables.rs:541:20:541:22 | "a" | variables.rs:541:26:541:28 | "b" | | | variables.rs:541:25:541:34 | TupleExpr | variables.rs:541:5:541:35 | CallExpr | | | variables.rs:541:26:541:28 | "b" | variables.rs:541:31:541:33 | "c" | | | variables.rs:541:31:541:33 | "c" | variables.rs:541:25:541:34 | TupleExpr | | -| variables.rs:542:5:542:18 | PathExpr | variables.rs:542:20:542:31 | PathExpr | | +| variables.rs:542:5:542:18 | param_pattern2 | variables.rs:542:20:542:31 | Either::Left | | | variables.rs:542:5:542:36 | CallExpr | variables.rs:543:5:543:26 | ExprStmt | | -| variables.rs:542:5:542:37 | ExprStmt | variables.rs:542:5:542:18 | PathExpr | | -| variables.rs:542:20:542:31 | PathExpr | variables.rs:542:33:542:34 | 45 | | +| variables.rs:542:5:542:37 | ExprStmt | variables.rs:542:5:542:18 | param_pattern2 | | +| variables.rs:542:20:542:31 | Either::Left | variables.rs:542:33:542:34 | 45 | | | variables.rs:542:20:542:35 | CallExpr | variables.rs:542:5:542:36 | CallExpr | | | variables.rs:542:33:542:34 | 45 | variables.rs:542:20:542:35 | CallExpr | | -| variables.rs:543:5:543:23 | PathExpr | variables.rs:543:5:543:25 | CallExpr | | +| variables.rs:543:5:543:23 | destruct_assignment | variables.rs:543:5:543:25 | CallExpr | | | variables.rs:543:5:543:25 | CallExpr | variables.rs:544:5:544:23 | ExprStmt | | -| variables.rs:543:5:543:26 | ExprStmt | variables.rs:543:5:543:23 | PathExpr | | -| variables.rs:544:5:544:20 | PathExpr | variables.rs:544:5:544:22 | CallExpr | | +| variables.rs:543:5:543:26 | ExprStmt | variables.rs:543:5:543:23 | destruct_assignment | | +| variables.rs:544:5:544:20 | closure_variable | variables.rs:544:5:544:22 | CallExpr | | | variables.rs:544:5:544:22 | CallExpr | variables.rs:545:5:545:19 | ExprStmt | | -| variables.rs:544:5:544:23 | ExprStmt | variables.rs:544:5:544:20 | PathExpr | | -| variables.rs:545:5:545:16 | PathExpr | variables.rs:545:5:545:18 | CallExpr | | +| variables.rs:544:5:544:23 | ExprStmt | variables.rs:544:5:544:20 | closure_variable | | +| variables.rs:545:5:545:16 | for_variable | variables.rs:545:5:545:18 | CallExpr | | | variables.rs:545:5:545:18 | CallExpr | variables.rs:546:5:546:17 | ExprStmt | | -| variables.rs:545:5:545:19 | ExprStmt | variables.rs:545:5:545:16 | PathExpr | | -| variables.rs:546:5:546:14 | PathExpr | variables.rs:546:5:546:16 | CallExpr | | +| variables.rs:545:5:545:19 | ExprStmt | variables.rs:545:5:545:16 | for_variable | | +| variables.rs:546:5:546:14 | add_assign | variables.rs:546:5:546:16 | CallExpr | | | variables.rs:546:5:546:16 | CallExpr | variables.rs:547:5:547:13 | ExprStmt | | -| variables.rs:546:5:546:17 | ExprStmt | variables.rs:546:5:546:14 | PathExpr | | -| variables.rs:547:5:547:10 | PathExpr | variables.rs:547:5:547:12 | CallExpr | | +| variables.rs:546:5:546:17 | ExprStmt | variables.rs:546:5:546:14 | add_assign | | +| variables.rs:547:5:547:10 | mutate | variables.rs:547:5:547:12 | CallExpr | | | variables.rs:547:5:547:12 | CallExpr | variables.rs:548:5:548:17 | ExprStmt | | -| variables.rs:547:5:547:13 | ExprStmt | variables.rs:547:5:547:10 | PathExpr | | -| variables.rs:548:5:548:14 | PathExpr | variables.rs:548:5:548:16 | CallExpr | | +| variables.rs:547:5:547:13 | ExprStmt | variables.rs:547:5:547:10 | mutate | | +| variables.rs:548:5:548:14 | mutate_arg | variables.rs:548:5:548:16 | CallExpr | | | variables.rs:548:5:548:16 | CallExpr | variables.rs:549:5:549:12 | ExprStmt | | -| variables.rs:548:5:548:17 | ExprStmt | variables.rs:548:5:548:14 | PathExpr | | -| variables.rs:549:5:549:9 | PathExpr | variables.rs:549:5:549:11 | CallExpr | | +| variables.rs:548:5:548:17 | ExprStmt | variables.rs:548:5:548:14 | mutate_arg | | +| variables.rs:549:5:549:9 | alias | variables.rs:549:5:549:11 | CallExpr | | | variables.rs:549:5:549:11 | CallExpr | variables.rs:550:5:550:18 | ExprStmt | | -| variables.rs:549:5:549:12 | ExprStmt | variables.rs:549:5:549:9 | PathExpr | | -| variables.rs:550:5:550:15 | PathExpr | variables.rs:550:5:550:17 | CallExpr | | +| variables.rs:549:5:549:12 | ExprStmt | variables.rs:549:5:549:9 | alias | | +| variables.rs:550:5:550:15 | capture_mut | variables.rs:550:5:550:17 | CallExpr | | | variables.rs:550:5:550:17 | CallExpr | variables.rs:551:5:551:20 | ExprStmt | | -| variables.rs:550:5:550:18 | ExprStmt | variables.rs:550:5:550:15 | PathExpr | | -| variables.rs:551:5:551:17 | PathExpr | variables.rs:551:5:551:19 | CallExpr | | +| variables.rs:550:5:550:18 | ExprStmt | variables.rs:550:5:550:15 | capture_mut | | +| variables.rs:551:5:551:17 | capture_immut | variables.rs:551:5:551:19 | CallExpr | | | variables.rs:551:5:551:19 | CallExpr | variables.rs:552:5:552:26 | ExprStmt | | -| variables.rs:551:5:551:20 | ExprStmt | variables.rs:551:5:551:17 | PathExpr | | -| variables.rs:552:5:552:23 | PathExpr | variables.rs:552:5:552:25 | CallExpr | | +| variables.rs:551:5:551:20 | ExprStmt | variables.rs:551:5:551:17 | capture_immut | | +| variables.rs:552:5:552:23 | async_block_capture | variables.rs:552:5:552:25 | CallExpr | | | variables.rs:552:5:552:25 | CallExpr | variables.rs:553:5:553:14 | ExprStmt | | -| variables.rs:552:5:552:26 | ExprStmt | variables.rs:552:5:552:23 | PathExpr | | -| variables.rs:553:5:553:11 | PathExpr | variables.rs:553:5:553:13 | CallExpr | | +| variables.rs:552:5:552:26 | ExprStmt | variables.rs:552:5:552:23 | async_block_capture | | +| variables.rs:553:5:553:11 | structs | variables.rs:553:5:553:13 | CallExpr | | | variables.rs:553:5:553:13 | CallExpr | variables.rs:554:5:554:14 | ExprStmt | | -| variables.rs:553:5:553:14 | ExprStmt | variables.rs:553:5:553:11 | PathExpr | | -| variables.rs:554:5:554:11 | PathExpr | variables.rs:554:5:554:13 | CallExpr | | +| variables.rs:553:5:553:14 | ExprStmt | variables.rs:553:5:553:11 | structs | | +| variables.rs:554:5:554:11 | ref_arg | variables.rs:554:5:554:13 | CallExpr | | | variables.rs:554:5:554:13 | CallExpr | variables.rs:555:5:555:30 | ExprStmt | | -| variables.rs:554:5:554:14 | ExprStmt | variables.rs:554:5:554:11 | PathExpr | | -| variables.rs:555:5:555:27 | PathExpr | variables.rs:555:5:555:29 | CallExpr | | +| variables.rs:554:5:554:14 | ExprStmt | variables.rs:554:5:554:11 | ref_arg | | +| variables.rs:555:5:555:27 | ref_methodcall_receiver | variables.rs:555:5:555:29 | CallExpr | | | variables.rs:555:5:555:29 | CallExpr | variables.rs:522:11:556:1 | BlockExpr | | -| variables.rs:555:5:555:30 | ExprStmt | variables.rs:555:5:555:27 | PathExpr | | +| variables.rs:555:5:555:30 | ExprStmt | variables.rs:555:5:555:27 | ref_methodcall_receiver | | breakTarget continueTarget diff --git a/rust/ql/test/utils/InlineFlowTest.qll b/rust/ql/test/utils/InlineFlowTest.qll index 7c34acfdc68b..b4960a055ee1 100644 --- a/rust/ql/test/utils/InlineFlowTest.qll +++ b/rust/ql/test/utils/InlineFlowTest.qll @@ -12,7 +12,7 @@ private import internal.InlineExpectationsTestImpl as InlineExpectationsTestImpl // Holds if the target expression of `call` is a path and the string representation of the path is `name`. private predicate callTargetName(CallExpr call, string name) { - call.getExpr().(PathExpr).getPath().toString() = name + call.getExpr().(PathExpr).toString() = name } private module FlowTestImpl implements InputSig { From 75375be7ac6b4d2ac8a92bc1bbebc3e6da7fbadd Mon Sep 17 00:00:00 2001 From: Paolo Tranquilli Date: Mon, 18 Nov 2024 09:42:01 +0100 Subject: [PATCH 216/347] Rust: add optional dependencies to ql tests Also accept `options.yml` and `options.yaml` files as well for test options, to get YAML syntax highlighting. In a follow up PR we might make the extension mandatory. --- rust/extractor/src/config.rs | 9 ++++++++- rust/extractor/src/qltest.rs | 11 +++++++++-- .../qltest/dependencies/functions.expected | 1 + .../qltest/dependencies/functions.ql | 5 +++++ .../qltest/dependencies/options.yml | 4 ++++ .../qltest/dependencies/test.rs | 7 +++++++ rust/ql/integration-tests/qltest/test.py | 19 +++++++++++++------ 7 files changed, 47 insertions(+), 9 deletions(-) create mode 100644 rust/ql/integration-tests/qltest/dependencies/functions.expected create mode 100644 rust/ql/integration-tests/qltest/dependencies/functions.ql create mode 100644 rust/ql/integration-tests/qltest/dependencies/options.yml create mode 100644 rust/ql/integration-tests/qltest/dependencies/test.rs diff --git a/rust/extractor/src/config.rs b/rust/extractor/src/config.rs index f477663f6070..8520df189304 100644 --- a/rust/extractor/src/config.rs +++ b/rust/extractor/src/config.rs @@ -43,6 +43,7 @@ pub struct Config { pub inputs: Vec, pub qltest: bool, pub qltest_cargo_check: bool, + pub qltest_dependencies: Vec, } impl Config { @@ -61,7 +62,13 @@ impl Config { .ancestors() // only travel up while we're within the test pack .take_while_inclusive(|p| !p.join("qlpack.yml").exists()) - .map(|p| p.join("options")) + .flat_map(|p| { + [ + p.join("options"), + p.join("options.yml"), + p.join("options.yaml"), + ] + }) .filter(|p| p.exists()) .collect_vec(); option_files.reverse(); diff --git a/rust/extractor/src/qltest.rs b/rust/extractor/src/qltest.rs index 169e2c433c71..f047271140a2 100644 --- a/rust/extractor/src/qltest.rs +++ b/rust/extractor/src/qltest.rs @@ -21,7 +21,7 @@ fn dump_lib() -> anyhow::Result<()> { fs::write("lib.rs", lib).context("writing lib.rs") } -fn dump_cargo_manifest() -> anyhow::Result<()> { +fn dump_cargo_manifest(dependencies: &[String]) -> anyhow::Result<()> { let mut manifest = String::from( r#"[workspace] [package] @@ -40,6 +40,13 @@ path = "main.rs" "#, ); } + if !dependencies.is_empty() { + manifest.push_str("[dependencies]\n"); + for dep in dependencies { + manifest.push_str(dep); + manifest.push('\n'); + } + } fs::write("Cargo.toml", manifest).context("writing Cargo.toml") } @@ -54,7 +61,7 @@ fn set_sources(config: &mut Config) -> anyhow::Result<()> { pub(crate) fn prepare(config: &mut Config) -> anyhow::Result<()> { dump_lib()?; set_sources(config)?; - dump_cargo_manifest()?; + dump_cargo_manifest(&config.qltest_dependencies)?; if config.qltest_cargo_check { let status = Command::new("cargo") .env("RUSTFLAGS", "-Awarnings") diff --git a/rust/ql/integration-tests/qltest/dependencies/functions.expected b/rust/ql/integration-tests/qltest/dependencies/functions.expected new file mode 100644 index 000000000000..c062595f9237 --- /dev/null +++ b/rust/ql/integration-tests/qltest/dependencies/functions.expected @@ -0,0 +1 @@ +| test.rs:4:1:7:1 | foo | diff --git a/rust/ql/integration-tests/qltest/dependencies/functions.ql b/rust/ql/integration-tests/qltest/dependencies/functions.ql new file mode 100644 index 000000000000..8d9a3213dad7 --- /dev/null +++ b/rust/ql/integration-tests/qltest/dependencies/functions.ql @@ -0,0 +1,5 @@ +import rust + +from Function f +where exists(f.getLocation().getFile().getRelativePath()) +select f diff --git a/rust/ql/integration-tests/qltest/dependencies/options.yml b/rust/ql/integration-tests/qltest/dependencies/options.yml new file mode 100644 index 000000000000..a628d3ca8b1b --- /dev/null +++ b/rust/ql/integration-tests/qltest/dependencies/options.yml @@ -0,0 +1,4 @@ +qltest_cargo_check: true +qltest_dependencies: + - anyhow = "1.0.86" + - log = "0.4.22" diff --git a/rust/ql/integration-tests/qltest/dependencies/test.rs b/rust/ql/integration-tests/qltest/dependencies/test.rs new file mode 100644 index 000000000000..3b591ff9f651 --- /dev/null +++ b/rust/ql/integration-tests/qltest/dependencies/test.rs @@ -0,0 +1,7 @@ +use anyhow; +use log::info; + +fn foo() -> anyhow::Result<()> { + info!("logging works"); + Ok(()) +} diff --git a/rust/ql/integration-tests/qltest/test.py b/rust/ql/integration-tests/qltest/test.py index 87d9a09cef4c..e488dee25717 100644 --- a/rust/ql/integration-tests/qltest/test.py +++ b/rust/ql/integration-tests/qltest/test.py @@ -1,17 +1,24 @@ import runs_on +import pytest + # these tests are meant to exercise QL test running on multiple platforms # therefore they don't rely on integration test built-in QL test running # (which skips `qltest.{sh,cmd}`) -def test_lib(codeql, rust, cwd): - codeql.test.run("lib", threads=1) +@pytest.fixture(autouse=True) +def default_options(codeql): + codeql.flags.update( + threads = 1, + show_extractor_output = True, + check_databases = False, + ) -def test_main(codeql, rust): - codeql.test.run("main", threads=1) +@pytest.mark.parametrize("dir", ["lib", "main", "dependencies"]) +def test(codeql, rust, dir): + codeql.test.run(dir) def test_failing_cargo_check(codeql, rust): - out = codeql.test.run("failing_cargo_check", threads=1, show_extractor_output=True, - _assert_failure=True, _capture="stderr") + out = codeql.test.run("failing_cargo_check", _assert_failure=True, _capture="stderr") # TODO: QL test output redirection is currently broken on windows, leaving it up for follow-up work if not runs_on.windows: assert "requested cargo check failed" in out From 8137419d93cf900618a60daeac3716f03b401e1b Mon Sep 17 00:00:00 2001 From: Paolo Tranquilli Date: Mon, 18 Nov 2024 10:40:29 +0100 Subject: [PATCH 217/347] Rust: only accept `options.yml` in QL tests --- rust/extractor/src/config.rs | 8 +------- .../qltest/failing_cargo_check/{options => options.yml} | 0 .../extractor-tests/generated/{options => options.yml} | 0 .../library-tests/controlflow/{options => options.yml} | 0 rust/ql/test/{options => options.yml} | 0 .../test/query-tests/diagnostics/{options => options.yml} | 0 6 files changed, 1 insertion(+), 7 deletions(-) rename rust/ql/integration-tests/qltest/failing_cargo_check/{options => options.yml} (100%) rename rust/ql/test/extractor-tests/generated/{options => options.yml} (100%) rename rust/ql/test/library-tests/controlflow/{options => options.yml} (100%) rename rust/ql/test/{options => options.yml} (100%) rename rust/ql/test/query-tests/diagnostics/{options => options.yml} (100%) diff --git a/rust/extractor/src/config.rs b/rust/extractor/src/config.rs index 8520df189304..fda866c24c8d 100644 --- a/rust/extractor/src/config.rs +++ b/rust/extractor/src/config.rs @@ -62,13 +62,7 @@ impl Config { .ancestors() // only travel up while we're within the test pack .take_while_inclusive(|p| !p.join("qlpack.yml").exists()) - .flat_map(|p| { - [ - p.join("options"), - p.join("options.yml"), - p.join("options.yaml"), - ] - }) + .map(|p| p.join("options.yml")) .filter(|p| p.exists()) .collect_vec(); option_files.reverse(); diff --git a/rust/ql/integration-tests/qltest/failing_cargo_check/options b/rust/ql/integration-tests/qltest/failing_cargo_check/options.yml similarity index 100% rename from rust/ql/integration-tests/qltest/failing_cargo_check/options rename to rust/ql/integration-tests/qltest/failing_cargo_check/options.yml diff --git a/rust/ql/test/extractor-tests/generated/options b/rust/ql/test/extractor-tests/generated/options.yml similarity index 100% rename from rust/ql/test/extractor-tests/generated/options rename to rust/ql/test/extractor-tests/generated/options.yml diff --git a/rust/ql/test/library-tests/controlflow/options b/rust/ql/test/library-tests/controlflow/options.yml similarity index 100% rename from rust/ql/test/library-tests/controlflow/options rename to rust/ql/test/library-tests/controlflow/options.yml diff --git a/rust/ql/test/options b/rust/ql/test/options.yml similarity index 100% rename from rust/ql/test/options rename to rust/ql/test/options.yml diff --git a/rust/ql/test/query-tests/diagnostics/options b/rust/ql/test/query-tests/diagnostics/options.yml similarity index 100% rename from rust/ql/test/query-tests/diagnostics/options rename to rust/ql/test/query-tests/diagnostics/options.yml From 6a0a7dda76ecb614b3b2902a133dd5db8f139a1e Mon Sep 17 00:00:00 2001 From: Calum Grant <42069085+calumgrant@users.noreply.github.com> Date: Mon, 18 Nov 2024 10:31:04 +0000 Subject: [PATCH 218/347] Revert "Revert "C++: Do not generate IR for functions with multiple entry points"" --- .../raw/internal/TranslatedElement.qll | 2 + .../ir/multiple-entry-points/raw_ir.expected | 67 ------------------- 2 files changed, 2 insertions(+), 67 deletions(-) diff --git a/cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/internal/TranslatedElement.qll b/cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/internal/TranslatedElement.qll index 0f9bc370f7a5..8e7e46c94c62 100644 --- a/cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/internal/TranslatedElement.qll +++ b/cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/internal/TranslatedElement.qll @@ -196,6 +196,8 @@ private predicate isInvalidFunction(Function func) { expr.getEnclosingFunction() = func and not exists(expr.getType()) ) + or + count(func.getEntryPoint().getLocation()) > 1 } /** diff --git a/cpp/ql/test/library-tests/ir/multiple-entry-points/raw_ir.expected b/cpp/ql/test/library-tests/ir/multiple-entry-points/raw_ir.expected index 2ded282e8d35..e69de29bb2d1 100644 --- a/cpp/ql/test/library-tests/ir/multiple-entry-points/raw_ir.expected +++ b/cpp/ql/test/library-tests/ir/multiple-entry-points/raw_ir.expected @@ -1,67 +0,0 @@ -test1.cpp: -# 3| int foo(int) -# 3| Block 0 -# 3| v3_1(void) = EnterFunction : -test2.cpp: -# 1| v3_1(void) = EnterFunction : -test1.cpp: -# 3| mu3_2(unknown) = AliasedDefinition : -test2.cpp: -# 1| mu3_2(unknown) = AliasedDefinition : -test1.cpp: -# 3| mu3_3(unknown) = InitializeNonLocal : -test2.cpp: -# 1| mu3_3(unknown) = InitializeNonLocal : -test1.cpp: -# 3| r3_4(glval) = VariableAddress[i] : -test2.cpp: -# 1| r3_4(glval) = VariableAddress[i] : -test1.cpp: -# 3| mu3_5(int) = InitializeParameter[i] : &:r1_4, &:r3_4 -test2.cpp: -# 1| mu3_5(int) = InitializeParameter[i] : &:r1_4, &:r3_4 -#-----| Goto -> Block 2 -#-----| Goto -> Block 2 - -# 1| Block 0 -#-----| Goto -> Block 2 -#-----| Goto -> Block 2 - -test1.cpp: -# 3| Block 1 -# 3| r3_6(glval) = VariableAddress[#return] : -test2.cpp: -# 1| r3_6(glval) = VariableAddress[#return] : -test1.cpp: -# 3| v3_7(void) = ReturnValue : &:r1_6, &:r3_6, ~m? -test2.cpp: -# 1| v3_7(void) = ReturnValue : &:r1_6, &:r3_6, ~m? -test1.cpp: -# 3| v3_8(void) = AliasedUse : ~m? -test2.cpp: -# 1| v3_8(void) = AliasedUse : ~m? -test1.cpp: -# 3| v3_9(void) = ExitFunction : -test2.cpp: -# 1| v3_9(void) = ExitFunction : - -# 1| Block 1 - -test1.cpp: -# 4| Block 2 -# 4| r4_1(glval) = VariableAddress[#return] : -# 4| r4_2(int) = Constant[42] : -# 4| mu4_3(int) = Store[#return] : &:r4_1, r4_2 -#-----| Goto -> Block 1 -#-----| Goto -> Block 1 - -test2.cpp: -# 2| Block 2 -# 2| r2_1(glval) = VariableAddress[#return] : -# 2| r2_2(glval) = VariableAddress[i] : -# 2| r2_3(int) = Load[i] : &:r2_2, ~m? -# 2| mu2_4(int) = Store[#return] : &:r2_1, r2_3 -#-----| Goto -> Block 1 -#-----| Goto -> Block 1 - -# 1| int foo(int) From b11388c49b91a8b787e6e16e5fad8a7061713f61 Mon Sep 17 00:00:00 2001 From: Paolo Tranquilli Date: Mon, 18 Nov 2024 12:06:25 +0100 Subject: [PATCH 219/347] Rust: accept test changes --- rust/ql/test/query-tests/diagnostics/ExtractedFiles.expected | 1 + .../query-tests/diagnostics/LinesOfUserCodeInFiles.expected | 1 + rust/ql/test/query-tests/diagnostics/SummaryStats.expected | 4 ++-- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/rust/ql/test/query-tests/diagnostics/ExtractedFiles.expected b/rust/ql/test/query-tests/diagnostics/ExtractedFiles.expected index c5ebb7072304..bc8dc8cccf15 100644 --- a/rust/ql/test/query-tests/diagnostics/ExtractedFiles.expected +++ b/rust/ql/test/query-tests/diagnostics/ExtractedFiles.expected @@ -5,3 +5,4 @@ | main.rs:0:0:0:0 | main.rs | File successfully extracted. | | my_macro.rs:0:0:0:0 | my_macro.rs | File successfully extracted. | | my_struct.rs:0:0:0:0 | my_struct.rs | File successfully extracted. | +| options.yml:0:0:0:0 | options.yml | File successfully extracted. | diff --git a/rust/ql/test/query-tests/diagnostics/LinesOfUserCodeInFiles.expected b/rust/ql/test/query-tests/diagnostics/LinesOfUserCodeInFiles.expected index fe63f68abd8b..b34654710961 100644 --- a/rust/ql/test/query-tests/diagnostics/LinesOfUserCodeInFiles.expected +++ b/rust/ql/test/query-tests/diagnostics/LinesOfUserCodeInFiles.expected @@ -5,3 +5,4 @@ | lib.rs:0:0:0:0 | lib.rs | 5 | | does_not_compile.rs:0:0:0:0 | does_not_compile.rs | 3 | | error.rs:0:0:0:0 | error.rs | 3 | +| options.yml:0:0:0:0 | options.yml | 0 | diff --git a/rust/ql/test/query-tests/diagnostics/SummaryStats.expected b/rust/ql/test/query-tests/diagnostics/SummaryStats.expected index c8e473840b0f..aeba0ac1ee6c 100644 --- a/rust/ql/test/query-tests/diagnostics/SummaryStats.expected +++ b/rust/ql/test/query-tests/diagnostics/SummaryStats.expected @@ -2,9 +2,9 @@ | Elements unextracted | 0 | | Extraction errors | 0 | | Extraction warnings | 7 | -| Files extracted - total | 7 | +| Files extracted - total | 8 | | Files extracted - with errors | 2 | -| Files extracted - without errors | 5 | +| Files extracted - without errors | 6 | | Inconsistencies - AST | 0 | | Inconsistencies - CFG | 0 | | Inconsistencies - data flow | 0 | From 3786ad4277c7b63a9901a0dd4ae211383dd48f12 Mon Sep 17 00:00:00 2001 From: Napalys Date: Mon, 18 Nov 2024 12:44:49 +0100 Subject: [PATCH 220/347] JS: Add: test case for Map.groupBy --- javascript/ql/test/library-tests/TaintTracking/tst.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/javascript/ql/test/library-tests/TaintTracking/tst.js b/javascript/ql/test/library-tests/TaintTracking/tst.js index a5142e29685f..6ea2e755df4b 100644 --- a/javascript/ql/test/library-tests/TaintTracking/tst.js +++ b/javascript/ql/test/library-tests/TaintTracking/tst.js @@ -68,4 +68,7 @@ function test() { sink(x.toReversed()) // NOT OK const xReversed = x.toReversed(); sink(xReversed) // NOT OK + + sink(Map.groupBy(x, z => z)); // NOT OK -- This should be marked via taint step, but it is not. + sink(Custom.groupBy(x, z => z)); // OK } From c02ad65fdc27142b10d21b26915c9425422957ff Mon Sep 17 00:00:00 2001 From: Napalys Date: Mon, 18 Nov 2024 12:50:06 +0100 Subject: [PATCH 221/347] JS: Add: taint step for Map.groupBy function --- javascript/ql/lib/semmle/javascript/Collections.qll | 13 +++++++++++++ .../TaintTracking/BasicTaintTracking.expected | 1 + .../ql/test/library-tests/TaintTracking/tst.js | 2 +- 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/javascript/ql/lib/semmle/javascript/Collections.qll b/javascript/ql/lib/semmle/javascript/Collections.qll index a0e251554ff7..ff64a5568d16 100644 --- a/javascript/ql/lib/semmle/javascript/Collections.qll +++ b/javascript/ql/lib/semmle/javascript/Collections.qll @@ -151,4 +151,17 @@ private module CollectionDataFlow { ) } } + + /** + * A step for a call to `groupBy` on an iterable object. + */ + private class GroupByTaintStep extends TaintTracking::SharedTaintStep { + override predicate heapStep(DataFlow::Node pred, DataFlow::Node succ) { + exists(DataFlow::MethodCallNode call | + call = DataFlow::globalVarRef("Map").getAMemberCall("groupBy") and + pred = call.getArgument(0) and + succ = call + ) + } + } } diff --git a/javascript/ql/test/library-tests/TaintTracking/BasicTaintTracking.expected b/javascript/ql/test/library-tests/TaintTracking/BasicTaintTracking.expected index 884657842058..248a35b907f8 100644 --- a/javascript/ql/test/library-tests/TaintTracking/BasicTaintTracking.expected +++ b/javascript/ql/test/library-tests/TaintTracking/BasicTaintTracking.expected @@ -244,6 +244,7 @@ typeInferenceMismatch | tst.js:2:13:2:20 | source() | tst.js:66:10:66:16 | xSorted | | tst.js:2:13:2:20 | source() | tst.js:68:10:68:23 | x.toReversed() | | tst.js:2:13:2:20 | source() | tst.js:70:10:70:18 | xReversed | +| tst.js:2:13:2:20 | source() | tst.js:72:10:72:31 | Map.gro ... z => z) | | xml.js:5:18:5:25 | source() | xml.js:8:14:8:17 | text | | xml.js:12:17:12:24 | source() | xml.js:13:14:13:19 | result | | xml.js:23:18:23:25 | source() | xml.js:20:14:20:17 | attr | diff --git a/javascript/ql/test/library-tests/TaintTracking/tst.js b/javascript/ql/test/library-tests/TaintTracking/tst.js index 6ea2e755df4b..c69895625cad 100644 --- a/javascript/ql/test/library-tests/TaintTracking/tst.js +++ b/javascript/ql/test/library-tests/TaintTracking/tst.js @@ -69,6 +69,6 @@ function test() { const xReversed = x.toReversed(); sink(xReversed) // NOT OK - sink(Map.groupBy(x, z => z)); // NOT OK -- This should be marked via taint step, but it is not. + sink(Map.groupBy(x, z => z)); // NOT OK sink(Custom.groupBy(x, z => z)); // OK } From 8ae05d8be474848cf325180e8507aac10ed63ee6 Mon Sep 17 00:00:00 2001 From: Napalys Date: Mon, 18 Nov 2024 12:52:49 +0100 Subject: [PATCH 222/347] JS: Add: test case for Object.groupBy --- javascript/ql/test/library-tests/TaintTracking/tst.js | 1 + 1 file changed, 1 insertion(+) diff --git a/javascript/ql/test/library-tests/TaintTracking/tst.js b/javascript/ql/test/library-tests/TaintTracking/tst.js index c69895625cad..d268c02e687b 100644 --- a/javascript/ql/test/library-tests/TaintTracking/tst.js +++ b/javascript/ql/test/library-tests/TaintTracking/tst.js @@ -71,4 +71,5 @@ function test() { sink(Map.groupBy(x, z => z)); // NOT OK sink(Custom.groupBy(x, z => z)); // OK + sink(Object.groupBy(x, z => z)); // NOT OK -- This should be marked via taint step, but it is not. } From 213ce225e0d3a3a426c20d91f48abfed94328f4b Mon Sep 17 00:00:00 2001 From: Napalys Date: Mon, 18 Nov 2024 12:58:07 +0100 Subject: [PATCH 223/347] JS: Add: taint step for Object.groupBy function, fixed test cases from 8ae05d8be474848cf325180e8507aac10ed63ee6 --- javascript/ql/lib/semmle/javascript/Collections.qll | 2 +- .../library-tests/TaintTracking/BasicTaintTracking.expected | 1 + javascript/ql/test/library-tests/TaintTracking/tst.js | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/javascript/ql/lib/semmle/javascript/Collections.qll b/javascript/ql/lib/semmle/javascript/Collections.qll index ff64a5568d16..c7348e603f4f 100644 --- a/javascript/ql/lib/semmle/javascript/Collections.qll +++ b/javascript/ql/lib/semmle/javascript/Collections.qll @@ -158,7 +158,7 @@ private module CollectionDataFlow { private class GroupByTaintStep extends TaintTracking::SharedTaintStep { override predicate heapStep(DataFlow::Node pred, DataFlow::Node succ) { exists(DataFlow::MethodCallNode call | - call = DataFlow::globalVarRef("Map").getAMemberCall("groupBy") and + call = DataFlow::globalVarRef(["Map", "Object"]).getAMemberCall("groupBy") and pred = call.getArgument(0) and succ = call ) diff --git a/javascript/ql/test/library-tests/TaintTracking/BasicTaintTracking.expected b/javascript/ql/test/library-tests/TaintTracking/BasicTaintTracking.expected index 248a35b907f8..79be56cbb7e2 100644 --- a/javascript/ql/test/library-tests/TaintTracking/BasicTaintTracking.expected +++ b/javascript/ql/test/library-tests/TaintTracking/BasicTaintTracking.expected @@ -245,6 +245,7 @@ typeInferenceMismatch | tst.js:2:13:2:20 | source() | tst.js:68:10:68:23 | x.toReversed() | | tst.js:2:13:2:20 | source() | tst.js:70:10:70:18 | xReversed | | tst.js:2:13:2:20 | source() | tst.js:72:10:72:31 | Map.gro ... z => z) | +| tst.js:2:13:2:20 | source() | tst.js:74:10:74:34 | Object. ... z => z) | | xml.js:5:18:5:25 | source() | xml.js:8:14:8:17 | text | | xml.js:12:17:12:24 | source() | xml.js:13:14:13:19 | result | | xml.js:23:18:23:25 | source() | xml.js:20:14:20:17 | attr | diff --git a/javascript/ql/test/library-tests/TaintTracking/tst.js b/javascript/ql/test/library-tests/TaintTracking/tst.js index d268c02e687b..0fab561954de 100644 --- a/javascript/ql/test/library-tests/TaintTracking/tst.js +++ b/javascript/ql/test/library-tests/TaintTracking/tst.js @@ -71,5 +71,5 @@ function test() { sink(Map.groupBy(x, z => z)); // NOT OK sink(Custom.groupBy(x, z => z)); // OK - sink(Object.groupBy(x, z => z)); // NOT OK -- This should be marked via taint step, but it is not. + sink(Object.groupBy(x, z => z)); // NOT OK } From 88be4b88ab61570fd984740270543166bc9934fd Mon Sep 17 00:00:00 2001 From: Jeroen Ketema Date: Mon, 18 Nov 2024 14:27:01 +0100 Subject: [PATCH 224/347] C++: Address review comments --- cpp/ql/src/experimental/Best Practices/GuardedFree.ql | 3 +++ 1 file changed, 3 insertions(+) diff --git a/cpp/ql/src/experimental/Best Practices/GuardedFree.ql b/cpp/ql/src/experimental/Best Practices/GuardedFree.ql index 94b179ac5eb8..66c7a31111b5 100644 --- a/cpp/ql/src/experimental/Best Practices/GuardedFree.ql +++ b/cpp/ql/src/experimental/Best Practices/GuardedFree.ql @@ -22,6 +22,7 @@ predicate blockContainsPreprocessorBranches(BasicBlock bb) { exists(PreprocessorBranch ppb, Location bbLoc, Location ppbLoc | bbLoc = bb.(Stmt).getLocation() and ppbLoc = ppb.getLocation() | + bbLoc.getFile() = ppb.getFile() and bbLoc.getStartLine() < ppbLoc.getStartLine() and ppbLoc.getEndLine() < bbLoc.getEndLine() ) @@ -33,8 +34,10 @@ where fc.getArgument(0) = v.getAnAccess() and bb = fc.getBasicBlock() and ( + // No block statement: if (x) free(x); bb = fc.getEnclosingStmt() or + // Block statement with a single nested statement: if (x) { free(x); } strictcount(bb.(BlockStmt).getAStmt()) = 1 ) and strictcount(BasicBlock bb2 | gc.ensuresEq(_, 0, bb2, _) | bb2) = 1 and From 4e97a9554a16c573557e5a517b3080e58e803bf4 Mon Sep 17 00:00:00 2001 From: Simon Friis Vindum Date: Mon, 18 Nov 2024 15:21:15 +0100 Subject: [PATCH 225/347] Rust: Add interprocedural tests --- .../library-tests/dataflow/global/main.rs | 94 +++++++++++++++++++ .../dataflow/global/viableCallable.expected | 0 .../dataflow/global/viableCallable.ql | 5 + 3 files changed, 99 insertions(+) create mode 100644 rust/ql/test/library-tests/dataflow/global/main.rs create mode 100644 rust/ql/test/library-tests/dataflow/global/viableCallable.expected create mode 100644 rust/ql/test/library-tests/dataflow/global/viableCallable.ql diff --git a/rust/ql/test/library-tests/dataflow/global/main.rs b/rust/ql/test/library-tests/dataflow/global/main.rs new file mode 100644 index 000000000000..eb3a59856922 --- /dev/null +++ b/rust/ql/test/library-tests/dataflow/global/main.rs @@ -0,0 +1,94 @@ +fn source(i: i64) -> i64 { + 1000 + i +} + +fn sink(s: i64) { + println!("{}", s); +} + +// ----------------------------------------------------------------------------- +// Data flow in, out, and through functions. + +fn get_data(n: i64) -> i64 { + source(n) +} + +fn data_out_of_call() { + let a = get_data(7); + sink(a); // $ hasValueFlow=n +} + +fn data_in(n: i64) { + sink(n + 7); // $ hasValueFlow +} + +fn data_in_to_call() { + let a = source(3); + data_in(a); +} + +fn pass_through(i: i64) -> i64 { + i +} + +fn data_through_call() { + let a = source(1); + let b = pass_through(a); + sink(b); // $ hasValueFlow=1 +} + +// ----------------------------------------------------------------------------- +// Data flow in, out, and through method. + +struct MyFlag { + flag: bool, +} + +impl MyFlag { + fn data_in(&self, n: i64) { + sink(n); // $ hasValueFlow=1 + } + fn get_data(&self) -> i64 { + if self.flag { + 0 + } else { + source(2) + } + } + fn data_through(&self, n: i64) -> i64 { + if self.flag { + 0 + } else { + n + } + } +} + +fn data_out_of_method() { + let mn = MyFlag { flag: true }; + let a = mn.get_data(); + sink(a); +} + +fn data_in_to_method_call() { + let mn = MyFlag { flag: true }; + let a = source(1); + mn.data_in(a) +} + +fn data_through_method() { + let mn = MyFlag { flag: true }; + let a = source(4); + mn.data_through(a); + sink(a); // $ hasValueFlow=4 +} + +fn main() { + data_out_of_call(); + data_in_to_call(); + data_through_call(); + + data_out_of_method(); + data_in_to_method_call(); + data_through_method(); +} diff --git a/rust/ql/test/library-tests/dataflow/global/viableCallable.expected b/rust/ql/test/library-tests/dataflow/global/viableCallable.expected new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/rust/ql/test/library-tests/dataflow/global/viableCallable.ql b/rust/ql/test/library-tests/dataflow/global/viableCallable.ql new file mode 100644 index 000000000000..3daa8b4b17f5 --- /dev/null +++ b/rust/ql/test/library-tests/dataflow/global/viableCallable.ql @@ -0,0 +1,5 @@ +import codeql.rust.dataflow.internal.DataFlowImpl + +query predicate viableCallable(DataFlowCall call, DataFlowCallable callee) { + RustDataFlow::viableCallable(call) = callee +} From 58a1b004ab57fc54e3ff281a535e65d5bb03470c Mon Sep 17 00:00:00 2001 From: Simon Friis Vindum Date: Mon, 18 Nov 2024 15:27:21 +0100 Subject: [PATCH 226/347] Rust: Include method calls in DataFlowCall and implement simple call target resolution --- .../lib/codeql/rust/controlflow/CfgNodes.qll | 13 ++++- .../rust/dataflow/internal/DataFlowImpl.qll | 50 +++++++++---------- .../dataflow/global/viableCallable.expected | 24 +++++++++ 3 files changed, 60 insertions(+), 27 deletions(-) diff --git a/rust/ql/lib/codeql/rust/controlflow/CfgNodes.qll b/rust/ql/lib/codeql/rust/controlflow/CfgNodes.qll index 3614035a183e..cbc1a4162374 100644 --- a/rust/ql/lib/codeql/rust/controlflow/CfgNodes.qll +++ b/rust/ql/lib/codeql/rust/controlflow/CfgNodes.qll @@ -31,8 +31,19 @@ class ExprCfgNode extends AstCfgNode { } /** A CFG node that corresponds to a call in the AST. */ -class CallCfgNode extends ExprCfgNode { +class CallExprCfgNode extends ExprCfgNode { override CallExpr node; + + /** Gets the underlying `CallExpr`. */ + CallExpr getCallExpr() { result = node } +} + +/** A CFG node that corresponds to a call in the AST. */ +class MethodCallExprCfgNode extends ExprCfgNode { + override MethodCallExpr node; + + /** Gets the underlying `MethodCallExpr`. */ + MethodCallExpr getMethodCallExpr() { result = node } } final class ExitCfgNode = ExitNode; diff --git a/rust/ql/lib/codeql/rust/dataflow/internal/DataFlowImpl.qll b/rust/ql/lib/codeql/rust/dataflow/internal/DataFlowImpl.qll index 00692f021817..38ee157d8b1f 100644 --- a/rust/ql/lib/codeql/rust/dataflow/internal/DataFlowImpl.qll +++ b/rust/ql/lib/codeql/rust/dataflow/internal/DataFlowImpl.qll @@ -42,35 +42,23 @@ final class DataFlowCallable extends TDataFlowCallable { Location getLocation() { result = this.asCfgScope().getLocation() } } -abstract class DataFlowCall extends TDataFlowCall { - /** Gets the enclosing callable. */ - abstract DataFlowCallable getEnclosingCallable(); - - /** Gets the underlying source code call, if any. */ - abstract CallCfgNode asCall(); - - /** Gets a textual representation of this call. */ - abstract string toString(); - - /** Gets the location of this call. */ - abstract Location getLocation(); -} - -final class NormalCall extends DataFlowCall, TNormalCall { - private CallCfgNode c; +final class DataFlowCall extends TDataFlowCall { + /** Gets the underlying call in the CFG, if any. */ + CallExprCfgNode asCallExprCfgNode() { this = TNormalCall(result) } - NormalCall() { this = TNormalCall(c) } + MethodCallExprCfgNode asMethodCallExprCfgNode() { this = TMethodCall(result) } - /** Gets the underlying call in the CFG, if any. */ - override CallCfgNode asCall() { result = c } + ExprCfgNode asExprCfgNode() { + result = this.asCallExprCfgNode() or result = this.asMethodCallExprCfgNode() + } - override DataFlowCallable getEnclosingCallable() { - result = TCfgScope(c.getExpr().getEnclosingCfgScope()) + DataFlowCallable getEnclosingCallable() { + result = TCfgScope(this.asExprCfgNode().getExpr().getEnclosingCfgScope()) } - override string toString() { result = c.toString() } + string toString() { result = this.asExprCfgNode().toString() } - override Location getLocation() { result = c.getLocation() } + Location getLocation() { result = this.asExprCfgNode().getLocation() } } module Node { @@ -204,7 +192,7 @@ module Node { ExprOutNode() { this.asExpr() instanceof CallExpr } /** Gets the underlying call CFG node that includes this out node. */ - override DataFlowCall getCall() { result.(NormalCall).asCall() = this.getCfgNode() } + override DataFlowCall getCall() { result.asExprCfgNode() = this.getCfgNode() } } /** @@ -331,7 +319,15 @@ module RustDataFlow implements InputSig { final class ReturnKind = ReturnKindAlias; /** Gets a viable implementation of the target of the given `Call`. */ - DataFlowCallable viableCallable(DataFlowCall c) { none() } + DataFlowCallable viableCallable(DataFlowCall c) { + exists(Function f, string name | result.asCfgScope() = f and name = f.getName().toString() | + if f.getParamList().hasSelfParam() + then name = c.asMethodCallExprCfgNode().getMethodCallExpr().getNameRef().getText() + else + name = + c.asCallExprCfgNode().getCallExpr().getExpr().(PathExpr).getPath().getPart().toString() + ) + } /** * Gets a node that can read the value returned from `call` with return kind @@ -488,7 +484,9 @@ private module Cached { TSsaNode(SsaImpl::DataFlowIntegration::SsaNode node) cached - newtype TDataFlowCall = TNormalCall(CallCfgNode c) + newtype TDataFlowCall = + TNormalCall(CallExprCfgNode c) or + TMethodCall(MethodCallExprCfgNode c) cached newtype TOptionalContentSet = diff --git a/rust/ql/test/library-tests/dataflow/global/viableCallable.expected b/rust/ql/test/library-tests/dataflow/global/viableCallable.expected index e69de29bb2d1..6a15bb25249a 100644 --- a/rust/ql/test/library-tests/dataflow/global/viableCallable.expected +++ b/rust/ql/test/library-tests/dataflow/global/viableCallable.expected @@ -0,0 +1,24 @@ +| main.rs:13:5:13:13 | CallExpr | main.rs:1:1:3:1 | source | +| main.rs:17:13:17:23 | CallExpr | main.rs:12:1:14:1 | get_data | +| main.rs:18:5:18:11 | CallExpr | main.rs:5:1:7:1 | sink | +| main.rs:22:5:22:15 | CallExpr | main.rs:5:1:7:1 | sink | +| main.rs:26:13:26:21 | CallExpr | main.rs:1:1:3:1 | source | +| main.rs:27:5:27:14 | CallExpr | main.rs:21:1:23:1 | data_in | +| main.rs:35:13:35:21 | CallExpr | main.rs:1:1:3:1 | source | +| main.rs:36:13:36:27 | CallExpr | main.rs:30:1:32:1 | pass_through | +| main.rs:37:5:37:11 | CallExpr | main.rs:5:1:7:1 | sink | +| main.rs:49:9:49:15 | CallExpr | main.rs:5:1:7:1 | sink | +| main.rs:55:13:55:21 | CallExpr | main.rs:1:1:3:1 | source | +| main.rs:69:13:69:25 | ... .get_data(...) | main.rs:51:5:57:5 | get_data | +| main.rs:70:5:70:11 | CallExpr | main.rs:5:1:7:1 | sink | +| main.rs:75:13:75:21 | CallExpr | main.rs:1:1:3:1 | source | +| main.rs:76:5:76:17 | ... .data_in(...) | main.rs:48:5:50:5 | data_in | +| main.rs:81:13:81:21 | CallExpr | main.rs:1:1:3:1 | source | +| main.rs:82:5:82:22 | ... .data_through(...) | main.rs:58:5:64:5 | data_through | +| main.rs:83:5:83:11 | CallExpr | main.rs:5:1:7:1 | sink | +| main.rs:87:5:87:22 | CallExpr | main.rs:16:1:19:1 | data_out_of_call | +| main.rs:88:5:88:21 | CallExpr | main.rs:25:1:28:1 | data_in_to_call | +| main.rs:89:5:89:23 | CallExpr | main.rs:34:1:38:1 | data_through_call | +| main.rs:91:5:91:24 | CallExpr | main.rs:67:1:71:1 | data_out_of_method | +| main.rs:92:5:92:28 | CallExpr | main.rs:73:1:77:1 | data_in_to_method_call | +| main.rs:93:5:93:25 | CallExpr | main.rs:79:1:84:1 | data_through_method | From 90d7616f1406bab982d2d77f5b3aefce973532d3 Mon Sep 17 00:00:00 2001 From: Mathias Vorreiter Pedersen Date: Mon, 18 Nov 2024 14:31:36 +0000 Subject: [PATCH 227/347] C++: Add change note. --- cpp/ql/lib/change-notes/2024-11-18-guard-conditions.md | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 cpp/ql/lib/change-notes/2024-11-18-guard-conditions.md diff --git a/cpp/ql/lib/change-notes/2024-11-18-guard-conditions.md b/cpp/ql/lib/change-notes/2024-11-18-guard-conditions.md new file mode 100644 index 000000000000..78c13adf0e36 --- /dev/null +++ b/cpp/ql/lib/change-notes/2024-11-18-guard-conditions.md @@ -0,0 +1,4 @@ +--- +category: minorAnalysis +--- +* The `Guards` library ("semmle.code.cpp.controlflow.Guards") has been improved to recognize more guard conditions. Additionally, the guards library no longer considers guards in static local initializers or global initializers as `GuardCondition`s. \ No newline at end of file From 04072591c4cbc4212b6a0f22612f283e3191c0db Mon Sep 17 00:00:00 2001 From: Paolo Tranquilli Date: Mon, 18 Nov 2024 15:36:06 +0100 Subject: [PATCH 228/347] Revert "Rust: allow to specify more cargo configuration options" --- Cargo.lock | 2 - rust/codeql-extractor.yml | 19 ---- rust/extractor/Cargo.toml | 2 - rust/extractor/macros/src/lib.rs | 67 ++++--------- rust/extractor/src/config.rs | 97 +------------------ rust/extractor/src/main.rs | 6 +- rust/extractor/src/rust_analyzer.rs | 11 ++- .../integration-tests/options/cfg/Cargo.toml | 5 - .../options/cfg/functions.expected | 3 - .../options/cfg/functions.override.expected | 4 - .../options/cfg/functions.ql | 5 - .../integration-tests/options/cfg/src/lib.rs | 20 ---- .../options/cfg/test_cfg_overrides_option.py | 19 ---- .../options/features/Cargo.toml | 9 -- .../options/features/functions.all.expected | 3 - .../options/features/functions.bar.expected | 2 - .../options/features/functions.expected | 1 - .../options/features/functions.foo.expected | 2 - .../options/features/functions.ql | 5 - .../options/features/src/lib.rs | 7 -- .../options/features/test_features_option.py | 17 ---- .../options/target/Cargo.toml | 5 - .../options/target/functions.Darwin.expected | 1 - .../options/target/functions.Linux.expected | 1 - .../options/target/functions.Windows.expected | 1 - .../options/target/functions.ql | 5 - .../options/target/src/lib.rs | 8 -- .../options/target/test_target_option.py | 19 ---- 28 files changed, 33 insertions(+), 313 deletions(-) delete mode 100644 rust/ql/integration-tests/options/cfg/Cargo.toml delete mode 100644 rust/ql/integration-tests/options/cfg/functions.expected delete mode 100644 rust/ql/integration-tests/options/cfg/functions.override.expected delete mode 100644 rust/ql/integration-tests/options/cfg/functions.ql delete mode 100644 rust/ql/integration-tests/options/cfg/src/lib.rs delete mode 100644 rust/ql/integration-tests/options/cfg/test_cfg_overrides_option.py delete mode 100644 rust/ql/integration-tests/options/features/Cargo.toml delete mode 100644 rust/ql/integration-tests/options/features/functions.all.expected delete mode 100644 rust/ql/integration-tests/options/features/functions.bar.expected delete mode 100644 rust/ql/integration-tests/options/features/functions.expected delete mode 100644 rust/ql/integration-tests/options/features/functions.foo.expected delete mode 100644 rust/ql/integration-tests/options/features/functions.ql delete mode 100644 rust/ql/integration-tests/options/features/src/lib.rs delete mode 100644 rust/ql/integration-tests/options/features/test_features_option.py delete mode 100644 rust/ql/integration-tests/options/target/Cargo.toml delete mode 100644 rust/ql/integration-tests/options/target/functions.Darwin.expected delete mode 100644 rust/ql/integration-tests/options/target/functions.Linux.expected delete mode 100644 rust/ql/integration-tests/options/target/functions.Windows.expected delete mode 100644 rust/ql/integration-tests/options/target/functions.ql delete mode 100644 rust/ql/integration-tests/options/target/src/lib.rs delete mode 100644 rust/ql/integration-tests/options/target/test_target_option.py diff --git a/Cargo.lock b/Cargo.lock index 1d5b8824c84a..ea1bca33cd36 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -389,12 +389,10 @@ dependencies = [ "log", "num-traits", "ra_ap_base_db", - "ra_ap_cfg", "ra_ap_hir", "ra_ap_hir_def", "ra_ap_hir_expand", "ra_ap_ide_db", - "ra_ap_intern", "ra_ap_load-cargo", "ra_ap_parser", "ra_ap_paths", diff --git a/rust/codeql-extractor.yml b/rust/codeql-extractor.yml index 2f726a10adac..c7558c17efef 100644 --- a/rust/codeql-extractor.yml +++ b/rust/codeql-extractor.yml @@ -35,22 +35,3 @@ options: reduce execution time of consecutive extractor runs. By default, a new scratch directory is used for each run. type: string - cargo_target: - title: Target architecture - description: > - Target architecture to use for analysis, analogous to `cargo --target`. By - default the host architecture is used. - type: string - cargo_features: - title: Cargo features to turn on - description: > - Comma-separated list of features to turn on. If any value is `*` all features - are turned on. By default only default cargo features are enabled. Can be - repeated. - type: array - cargo_cfg_overrides: - title: Cargo cfg overrides - description: > - Comma-separated list of cfg settings to enable, or disable if prefixed with `-`. - Can be repeated. - type: array diff --git a/rust/extractor/Cargo.toml b/rust/extractor/Cargo.toml index 787ad7fda844..d6d8519b1a84 100644 --- a/rust/extractor/Cargo.toml +++ b/rust/extractor/Cargo.toml @@ -22,8 +22,6 @@ ra_ap_syntax = "0.0.232" ra_ap_vfs = "0.0.232" ra_ap_parser = "0.0.232" ra_ap_span = "0.0.232" -ra_ap_cfg = "0.0.232" -ra_ap_intern = "0.0.232" serde = "1.0.209" serde_with = "3.9.0" stderrlog = "0.6.0" diff --git a/rust/extractor/macros/src/lib.rs b/rust/extractor/macros/src/lib.rs index c70856aad9f3..c9771a181de5 100644 --- a/rust/extractor/macros/src/lib.rs +++ b/rust/extractor/macros/src/lib.rs @@ -1,36 +1,11 @@ use proc_macro::TokenStream; use quote::{format_ident, quote}; -use syn::{Ident, Type}; - -fn get_type_tip(t: &Type) -> Option<&Ident> { - let syn::Type::Path(path) = t else { - return None; - }; - let segment = path.path.segments.last()?; - Some(&segment.ident) -} /// Allow all fields in the extractor config to be also overrideable by extractor CLI flags #[proc_macro_attribute] pub fn extractor_cli_config(_attr: TokenStream, item: TokenStream) -> TokenStream { let ast = syn::parse_macro_input!(item as syn::ItemStruct); let name = &ast.ident; - let fields = ast - .fields - .iter() - .map(|f| { - if f.ident.as_ref().is_some_and(|i| i != "inputs") - && get_type_tip(&f.ty).is_some_and(|i| i == "Vec") - { - quote! { - #[serde(deserialize_with="deserialize_newline_or_comma_separated")] - #f - } - } else { - quote! { #f } - } - }) - .collect::>(); let cli_name = format_ident!("Cli{}", name); let cli_fields = ast .fields @@ -38,37 +13,35 @@ pub fn extractor_cli_config(_attr: TokenStream, item: TokenStream) -> TokenStrea .map(|f| { let id = f.ident.as_ref().unwrap(); let ty = &f.ty; - let type_tip = get_type_tip(ty); - if type_tip.is_some_and(|i| i == "bool") { - quote! { - #[arg(long)] - #[serde(skip_serializing_if="<&bool>::not")] - #id: bool + if let syn::Type::Path(p) = ty { + if p.path.is_ident(&format_ident!("bool")) { + return quote! { + #[arg(long)] + #[serde(skip_serializing_if="<&bool>::not")] + #id: bool, + }; } - } else if type_tip.is_some_and(|i| i == "Option") { - quote! { - #[arg(long)] - #f + if p.path.segments.len() == 1 && p.path.segments[0].ident == "Option" { + return quote! { + #[arg(long)] + #id: #ty, + }; } - } else if id == &format_ident!("verbose") { + } + if id == &format_ident!("verbose") { quote! { #[arg(long, short, action=clap::ArgAction::Count)] #[serde(skip_serializing_if="u8::is_zero")] - #id: u8 + #id: u8, } } else if id == &format_ident!("inputs") { quote! { - #f - } - } else if type_tip.is_some_and(|i| i == "Vec") { - quote! { - #[arg(long)] - #id: Option + #id: #ty, } } else { quote! { #[arg(long)] - #id: Option<#ty> + #id: Option<#ty>, } } }) @@ -93,9 +66,7 @@ pub fn extractor_cli_config(_attr: TokenStream, item: TokenStream) -> TokenStrea let gen = quote! { #[serde_with::apply(_ => #[serde(default)])] #[derive(Deserialize, Default)] - pub struct #name { - #(#fields),* - } + #ast impl Debug for #name { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { @@ -109,7 +80,7 @@ pub fn extractor_cli_config(_attr: TokenStream, item: TokenStream) -> TokenStrea #[derive(clap::Parser, Serialize)] #[command(about, long_about = None)] struct #cli_name { - #(#cli_fields),* + #(#cli_fields)* } }; gen.into() diff --git a/rust/extractor/src/config.rs b/rust/extractor/src/config.rs index dfa9f5d37d20..8520df189304 100644 --- a/rust/extractor/src/config.rs +++ b/rust/extractor/src/config.rs @@ -7,14 +7,9 @@ use figment::{ Figment, }; use itertools::Itertools; -use log::warn; use num_traits::Zero; -use ra_ap_cfg::{CfgAtom, CfgDiff}; -use ra_ap_intern::Symbol; -use ra_ap_paths::Utf8PathBuf; -use ra_ap_project_model::{CargoConfig, CargoFeatures, CfgOverrides, RustLibSource}; use rust_extractor_macros::extractor_cli_config; -use serde::{Deserialize, Deserializer, Serialize}; +use serde::{Deserialize, Serialize}; use std::fmt::Debug; use std::ops::Not; use std::path::PathBuf; @@ -37,23 +32,12 @@ impl From for trap::Compression { } } -// required by the extractor_cli_config macro. -fn deserialize_newline_or_comma_separated<'a, D: Deserializer<'a>, T: for<'b> From<&'b str>>( - deserializer: D, -) -> Result, D::Error> { - let value = String::deserialize(deserializer)?; - Ok(value.split(['\n', ',']).map(T::from).collect()) -} - #[extractor_cli_config] pub struct Config { pub scratch_dir: PathBuf, pub trap_dir: PathBuf, pub source_archive_dir: PathBuf, pub cargo_target_dir: Option, - pub cargo_target: Option, - pub cargo_features: Vec, - pub cargo_cfg_overrides: Vec, pub verbose: u8, pub compression: Compression, pub inputs: Vec, @@ -68,7 +52,7 @@ impl Config { .context("expanding parameter files")?; let cli_args = CliConfig::parse_from(args); let mut figment = Figment::new() - .merge(Env::raw().only(["CODEQL_VERBOSE"].as_slice())) + .merge(Env::prefixed("CODEQL_")) .merge(Env::prefixed("CODEQL_EXTRACTOR_RUST_")) .merge(Env::prefixed("CODEQL_EXTRACTOR_RUST_OPTION_")) .merge(Serialized::defaults(cli_args)); @@ -94,81 +78,4 @@ impl Config { } figment.extract().context("loading configuration") } - - pub fn to_cargo_config(&self) -> CargoConfig { - let sysroot = Some(RustLibSource::Discover); - - let target_dir = self - .cargo_target_dir - .clone() - .unwrap_or_else(|| self.scratch_dir.join("target")); - let target_dir = Utf8PathBuf::from_path_buf(target_dir).ok(); - - let features = if self.cargo_features.is_empty() { - Default::default() - } else if self.cargo_features.contains(&"*".to_string()) { - CargoFeatures::All - } else { - CargoFeatures::Selected { - features: self.cargo_features.clone(), - no_default_features: false, - } - }; - - let target = self.cargo_target.clone(); - - let cfg_overrides = to_cfg_overrides(&self.cargo_cfg_overrides); - - CargoConfig { - sysroot, - target_dir, - features, - target, - cfg_overrides, - ..Default::default() - } - } -} - -fn to_cfg_override(spec: &str) -> CfgAtom { - if let Some((key, value)) = spec.split_once("=") { - CfgAtom::KeyValue { - key: Symbol::intern(key), - value: Symbol::intern(value), - } - } else { - CfgAtom::Flag(Symbol::intern(spec)) - } -} - -fn to_cfg_overrides(specs: &Vec) -> CfgOverrides { - let mut enabled_cfgs = Vec::new(); - let mut disabled_cfgs = Vec::new(); - let mut has_test_explicitly_enabled = false; - for spec in specs { - if spec.starts_with("-") { - disabled_cfgs.push(to_cfg_override(&spec[1..])); - } else { - enabled_cfgs.push(to_cfg_override(spec)); - if spec == "test" { - has_test_explicitly_enabled = true; - } - } - } - if !has_test_explicitly_enabled { - disabled_cfgs.push(to_cfg_override("test")); - } - if let Some(global) = CfgDiff::new(enabled_cfgs, disabled_cfgs) { - CfgOverrides { - global, - ..Default::default() - } - } else { - warn!("non-disjoint cfg overrides, ignoring: {}", specs.join(", ")); - CfgOverrides { - global: CfgDiff::new(Vec::new(), vec![to_cfg_override("test")]) - .expect("disabling one cfg should always succeed"), - ..Default::default() - } - } } diff --git a/rust/extractor/src/main.rs b/rust/extractor/src/main.rs index ecbdc965f8e7..1f963a0990e5 100644 --- a/rust/extractor/src/main.rs +++ b/rust/extractor/src/main.rs @@ -130,9 +130,11 @@ fn main() -> anyhow::Result<()> { } extractor.extract_without_semantics(file, "no manifest found"); } - let cargo_config = cfg.to_cargo_config(); + let target_dir = &cfg + .cargo_target_dir + .unwrap_or_else(|| cfg.scratch_dir.join("target")); for (manifest, files) in map.values().filter(|(_, files)| !files.is_empty()) { - if let Some((ref db, ref vfs)) = RustAnalyzer::load_workspace(manifest, &cargo_config) { + if let Some((ref db, ref vfs)) = RustAnalyzer::load_workspace(manifest, target_dir) { let semantics = Semantics::new(db); for file in files { let Some(id) = path_to_file_id(file, vfs) else { diff --git a/rust/extractor/src/rust_analyzer.rs b/rust/extractor/src/rust_analyzer.rs index 735bacb27c12..ddbc16ab6a3a 100644 --- a/rust/extractor/src/rust_analyzer.rs +++ b/rust/extractor/src/rust_analyzer.rs @@ -7,6 +7,7 @@ use ra_ap_load_cargo::{load_workspace_at, LoadCargoConfig, ProcMacroServerChoice use ra_ap_paths::Utf8PathBuf; use ra_ap_project_model::CargoConfig; use ra_ap_project_model::ProjectManifest; +use ra_ap_project_model::RustLibSource; use ra_ap_span::Edition; use ra_ap_span::EditionedFileId; use ra_ap_span::TextRange; @@ -19,7 +20,6 @@ use ra_ap_vfs::{AbsPathBuf, FileId}; use std::borrow::Cow; use std::path::{Path, PathBuf}; use triomphe::Arc; - pub enum RustAnalyzer<'a> { WithSemantics { vfs: &'a Vfs, @@ -45,8 +45,13 @@ pub struct ParseResult<'a> { impl<'a> RustAnalyzer<'a> { pub fn load_workspace( project: &ProjectManifest, - config: &CargoConfig, + target_dir: &Path, ) -> Option<(RootDatabase, Vfs)> { + let config = CargoConfig { + sysroot: Some(RustLibSource::Discover), + target_dir: ra_ap_paths::Utf8PathBuf::from_path_buf(target_dir.to_path_buf()).ok(), + ..Default::default() + }; let progress = |t| (log::trace!("progress: {}", t)); let load_config = LoadCargoConfig { load_out_dirs_from_check: true, @@ -55,7 +60,7 @@ impl<'a> RustAnalyzer<'a> { }; let manifest = project.manifest_path(); - match load_workspace_at(manifest.as_ref(), config, &load_config, &progress) { + match load_workspace_at(manifest.as_ref(), &config, &load_config, &progress) { Ok((db, vfs, _macro_server)) => Some((db, vfs)), Err(err) => { log::error!("failed to load workspace for {}: {}", manifest, err); diff --git a/rust/ql/integration-tests/options/cfg/Cargo.toml b/rust/ql/integration-tests/options/cfg/Cargo.toml deleted file mode 100644 index c5cbf8722f1f..000000000000 --- a/rust/ql/integration-tests/options/cfg/Cargo.toml +++ /dev/null @@ -1,5 +0,0 @@ -[workspace] -[package] -name = "cfg" -version = "0.1.0" -edition = "2021" diff --git a/rust/ql/integration-tests/options/cfg/functions.expected b/rust/ql/integration-tests/options/cfg/functions.expected deleted file mode 100644 index a2042c5e4c49..000000000000 --- a/rust/ql/integration-tests/options/cfg/functions.expected +++ /dev/null @@ -1,3 +0,0 @@ -| src/lib.rs:7:1:8:19 | cfg_no_flag | -| src/lib.rs:10:1:11:18 | cfg_no_key | -| src/lib.rs:16:1:17:24 | pointer_width_64 | diff --git a/rust/ql/integration-tests/options/cfg/functions.override.expected b/rust/ql/integration-tests/options/cfg/functions.override.expected deleted file mode 100644 index 4a19db56a741..000000000000 --- a/rust/ql/integration-tests/options/cfg/functions.override.expected +++ /dev/null @@ -1,4 +0,0 @@ -| src/lib.rs:1:1:2:16 | cfg_flag | -| src/lib.rs:4:1:5:15 | cfg_key | -| src/lib.rs:13:1:14:12 | test | -| src/lib.rs:19:1:20:24 | pointer_width_32 | diff --git a/rust/ql/integration-tests/options/cfg/functions.ql b/rust/ql/integration-tests/options/cfg/functions.ql deleted file mode 100644 index da7b22cf5843..000000000000 --- a/rust/ql/integration-tests/options/cfg/functions.ql +++ /dev/null @@ -1,5 +0,0 @@ -import rust - -from Function f -where f.hasExtendedCanonicalPath() -select f diff --git a/rust/ql/integration-tests/options/cfg/src/lib.rs b/rust/ql/integration-tests/options/cfg/src/lib.rs deleted file mode 100644 index 1643ffbf2adf..000000000000 --- a/rust/ql/integration-tests/options/cfg/src/lib.rs +++ /dev/null @@ -1,20 +0,0 @@ -#[cfg(cfg_flag)] -fn cfg_flag() {} - -#[cfg(cfg_key = "value")] -fn cfg_key() {} - -#[cfg(not(cfg_flag))] -fn cfg_no_flag() {} - -#[cfg(not(cfg_key = "value"))] -fn cfg_no_key() {} - -#[cfg(test)] -fn test() {} - -#[cfg(target_pointer_width = "64")] -fn pointer_width_64() {} - -#[cfg(target_pointer_width = "32")] -fn pointer_width_32() {} diff --git a/rust/ql/integration-tests/options/cfg/test_cfg_overrides_option.py b/rust/ql/integration-tests/options/cfg/test_cfg_overrides_option.py deleted file mode 100644 index aa5f3cd3b2ed..000000000000 --- a/rust/ql/integration-tests/options/cfg/test_cfg_overrides_option.py +++ /dev/null @@ -1,19 +0,0 @@ -import pytest -import platform -import os - - -def test_default(codeql, rust): - codeql.database.create() - - -@pytest.mark.ql_test(expected=".override.expected") -def test_cfg_overrides(codeql, rust): - overrides = ",".join(( - "cfg_flag", - "cfg_key=value", - "-target_pointer_width=64", - "target_pointer_width=32", - "test", - )) - codeql.database.create(extractor_option=f"cargo_cfg_overrides={overrides}") diff --git a/rust/ql/integration-tests/options/features/Cargo.toml b/rust/ql/integration-tests/options/features/Cargo.toml deleted file mode 100644 index 7faf9f167bec..000000000000 --- a/rust/ql/integration-tests/options/features/Cargo.toml +++ /dev/null @@ -1,9 +0,0 @@ -[workspace] -[package] -name = "features" -version = "0.1.0" -edition = "2021" - -[features] -foo = [] -bar = [] diff --git a/rust/ql/integration-tests/options/features/functions.all.expected b/rust/ql/integration-tests/options/features/functions.all.expected deleted file mode 100644 index 5ce4cae2ab0d..000000000000 --- a/rust/ql/integration-tests/options/features/functions.all.expected +++ /dev/null @@ -1,3 +0,0 @@ -| src/lib.rs:1:1:2:11 | foo | -| src/lib.rs:4:1:5:11 | bar | -| src/lib.rs:7:1:7:14 | always | diff --git a/rust/ql/integration-tests/options/features/functions.bar.expected b/rust/ql/integration-tests/options/features/functions.bar.expected deleted file mode 100644 index cad441d6749b..000000000000 --- a/rust/ql/integration-tests/options/features/functions.bar.expected +++ /dev/null @@ -1,2 +0,0 @@ -| src/lib.rs:4:1:5:11 | bar | -| src/lib.rs:7:1:7:14 | always | diff --git a/rust/ql/integration-tests/options/features/functions.expected b/rust/ql/integration-tests/options/features/functions.expected deleted file mode 100644 index 523c21876884..000000000000 --- a/rust/ql/integration-tests/options/features/functions.expected +++ /dev/null @@ -1 +0,0 @@ -| src/lib.rs:7:1:7:14 | always | diff --git a/rust/ql/integration-tests/options/features/functions.foo.expected b/rust/ql/integration-tests/options/features/functions.foo.expected deleted file mode 100644 index b78754230833..000000000000 --- a/rust/ql/integration-tests/options/features/functions.foo.expected +++ /dev/null @@ -1,2 +0,0 @@ -| src/lib.rs:1:1:2:11 | foo | -| src/lib.rs:7:1:7:14 | always | diff --git a/rust/ql/integration-tests/options/features/functions.ql b/rust/ql/integration-tests/options/features/functions.ql deleted file mode 100644 index da7b22cf5843..000000000000 --- a/rust/ql/integration-tests/options/features/functions.ql +++ /dev/null @@ -1,5 +0,0 @@ -import rust - -from Function f -where f.hasExtendedCanonicalPath() -select f diff --git a/rust/ql/integration-tests/options/features/src/lib.rs b/rust/ql/integration-tests/options/features/src/lib.rs deleted file mode 100644 index c1e97e05fd7f..000000000000 --- a/rust/ql/integration-tests/options/features/src/lib.rs +++ /dev/null @@ -1,7 +0,0 @@ -#[cfg(feature = "foo")] -fn foo() {} - -#[cfg(feature = "bar")] -fn bar() {} - -fn always() {} diff --git a/rust/ql/integration-tests/options/features/test_features_option.py b/rust/ql/integration-tests/options/features/test_features_option.py deleted file mode 100644 index 75c5058be078..000000000000 --- a/rust/ql/integration-tests/options/features/test_features_option.py +++ /dev/null @@ -1,17 +0,0 @@ -import pytest - -def test_default(codeql, rust): - codeql.database.create() - -@pytest.mark.parametrize("features", - [ - pytest.param(p, - marks=pytest.mark.ql_test(expected=f".{e}.expected")) - for p, e in ( - ("foo", "foo"), - ("bar", "bar"), - ("*", "all"), - ("foo,bar", "all")) - ]) -def test_features(codeql, rust, features): - codeql.database.create(extractor_option=f"cargo_features={features}") diff --git a/rust/ql/integration-tests/options/target/Cargo.toml b/rust/ql/integration-tests/options/target/Cargo.toml deleted file mode 100644 index 90a82fb6a07b..000000000000 --- a/rust/ql/integration-tests/options/target/Cargo.toml +++ /dev/null @@ -1,5 +0,0 @@ -[workspace] -[package] -name = "target" -version = "0.1.0" -edition = "2021" diff --git a/rust/ql/integration-tests/options/target/functions.Darwin.expected b/rust/ql/integration-tests/options/target/functions.Darwin.expected deleted file mode 100644 index 217974bb7c63..000000000000 --- a/rust/ql/integration-tests/options/target/functions.Darwin.expected +++ /dev/null @@ -1 +0,0 @@ -| src/lib.rs:7:1:8:13 | macos | diff --git a/rust/ql/integration-tests/options/target/functions.Linux.expected b/rust/ql/integration-tests/options/target/functions.Linux.expected deleted file mode 100644 index 57662579f1f5..000000000000 --- a/rust/ql/integration-tests/options/target/functions.Linux.expected +++ /dev/null @@ -1 +0,0 @@ -| src/lib.rs:1:1:2:13 | linux | diff --git a/rust/ql/integration-tests/options/target/functions.Windows.expected b/rust/ql/integration-tests/options/target/functions.Windows.expected deleted file mode 100644 index 8ae2d8c86ccf..000000000000 --- a/rust/ql/integration-tests/options/target/functions.Windows.expected +++ /dev/null @@ -1 +0,0 @@ -| src/lib.rs:4:1:5:15 | windows | diff --git a/rust/ql/integration-tests/options/target/functions.ql b/rust/ql/integration-tests/options/target/functions.ql deleted file mode 100644 index da7b22cf5843..000000000000 --- a/rust/ql/integration-tests/options/target/functions.ql +++ /dev/null @@ -1,5 +0,0 @@ -import rust - -from Function f -where f.hasExtendedCanonicalPath() -select f diff --git a/rust/ql/integration-tests/options/target/src/lib.rs b/rust/ql/integration-tests/options/target/src/lib.rs deleted file mode 100644 index fc9ebcbb616d..000000000000 --- a/rust/ql/integration-tests/options/target/src/lib.rs +++ /dev/null @@ -1,8 +0,0 @@ -#[cfg(target_os = "linux")] -fn linux() {} - -#[cfg(target_os = "windows")] -fn windows() {} - -#[cfg(target_os = "macos")] -fn macos() {} diff --git a/rust/ql/integration-tests/options/target/test_target_option.py b/rust/ql/integration-tests/options/target/test_target_option.py deleted file mode 100644 index 3cb1db7513d1..000000000000 --- a/rust/ql/integration-tests/options/target/test_target_option.py +++ /dev/null @@ -1,19 +0,0 @@ -import pytest -import platform - - -@pytest.mark.ql_test(expected=f".{platform.system()}.expected") -def test_default(codeql, rust): - codeql.database.create() - -@pytest.mark.ql_test(expected=".Windows.expected") -def test_target_windows(codeql, rust): - codeql.database.create(extractor_option="cargo_target=x86_64-pc-windows-msvc") - -@pytest.mark.ql_test(expected=".Darwin.expected") -def test_target_macos(codeql, rust): - codeql.database.create(extractor_option="cargo_target=aarch64-apple-darwin") - -@pytest.mark.ql_test(expected=".Linux.expected") -def test_target_linux(codeql, rust): - codeql.database.create(extractor_option="cargo_target=x86_64-unknown-linux-gnu") From 86e95f14e069f721ce0533686da2a4a5a37c5cd2 Mon Sep 17 00:00:00 2001 From: Mathias Vorreiter Pedersen Date: Mon, 18 Nov 2024 14:37:52 +0000 Subject: [PATCH 229/347] Update cpp/ql/lib/change-notes/2024-11-18-guard-conditions.md Co-authored-by: Jeroen Ketema <93738568+jketema@users.noreply.github.com> --- cpp/ql/lib/change-notes/2024-11-18-guard-conditions.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cpp/ql/lib/change-notes/2024-11-18-guard-conditions.md b/cpp/ql/lib/change-notes/2024-11-18-guard-conditions.md index 78c13adf0e36..8fb914bf51b2 100644 --- a/cpp/ql/lib/change-notes/2024-11-18-guard-conditions.md +++ b/cpp/ql/lib/change-notes/2024-11-18-guard-conditions.md @@ -1,4 +1,4 @@ --- category: minorAnalysis --- -* The `Guards` library ("semmle.code.cpp.controlflow.Guards") has been improved to recognize more guard conditions. Additionally, the guards library no longer considers guards in static local initializers or global initializers as `GuardCondition`s. \ No newline at end of file +* The `Guards` library (`semmle.code.cpp.controlflow.Guards`) has been improved to recognize more guard conditions. Additionally, the guards library no longer considers guards in static local initializers or global initializers as `GuardCondition`s. \ No newline at end of file From 8be1127e8c054090e7c6346bd6caeec6c94a3309 Mon Sep 17 00:00:00 2001 From: Tom Hvitved Date: Mon, 18 Nov 2024 14:07:03 +0100 Subject: [PATCH 230/347] Rust: Add more CFG tests --- .../library-tests/controlflow/Cfg.expected | 1432 +++++++++-------- .../ql/test/library-tests/controlflow/test.rs | 22 +- 2 files changed, 768 insertions(+), 686 deletions(-) diff --git a/rust/ql/test/library-tests/controlflow/Cfg.expected b/rust/ql/test/library-tests/controlflow/Cfg.expected index 012de7d4ac5d..1417e6a29f90 100644 --- a/rust/ql/test/library-tests/controlflow/Cfg.expected +++ b/rust/ql/test/library-tests/controlflow/Cfg.expected @@ -276,689 +276,751 @@ edges | test.rs:138:28:140:9 | BlockExpr | test.rs:138:9:140:9 | IfExpr | | | test.rs:139:13:139:13 | n | test.rs:138:28:140:9 | BlockExpr | | | test.rs:141:9:141:9 | 0 | test.rs:137:43:142:5 | BlockExpr | | -| test.rs:144:5:150:5 | enter test_nested_if | test.rs:144:23:144:23 | a | | -| test.rs:144:5:150:5 | exit test_nested_if (normal) | test.rs:144:5:150:5 | exit test_nested_if | | -| test.rs:144:23:144:23 | a | test.rs:144:23:144:28 | Param | match | -| test.rs:144:23:144:28 | Param | test.rs:145:16:145:16 | a | | -| test.rs:144:38:150:5 | BlockExpr | test.rs:144:5:150:5 | exit test_nested_if (normal) | | -| test.rs:145:9:149:9 | IfExpr | test.rs:144:38:150:5 | BlockExpr | | -| test.rs:145:13:145:48 | [boolean(false)] IfExpr | test.rs:148:13:148:13 | 0 | false | -| test.rs:145:13:145:48 | [boolean(true)] IfExpr | test.rs:146:13:146:13 | 1 | true | -| test.rs:145:16:145:16 | a | test.rs:145:20:145:20 | 0 | | -| test.rs:145:16:145:20 | ... < ... | test.rs:145:24:145:24 | a | true | -| test.rs:145:16:145:20 | ... < ... | test.rs:145:41:145:41 | a | false | -| test.rs:145:20:145:20 | 0 | test.rs:145:16:145:20 | ... < ... | | -| test.rs:145:22:145:32 | [boolean(false)] BlockExpr | test.rs:145:13:145:48 | [boolean(false)] IfExpr | false | -| test.rs:145:22:145:32 | [boolean(true)] BlockExpr | test.rs:145:13:145:48 | [boolean(true)] IfExpr | true | -| test.rs:145:24:145:24 | a | test.rs:145:29:145:30 | 10 | | -| test.rs:145:24:145:30 | ... < ... | test.rs:145:22:145:32 | [boolean(false)] BlockExpr | false | -| test.rs:145:24:145:30 | ... < ... | test.rs:145:22:145:32 | [boolean(true)] BlockExpr | true | -| test.rs:145:28:145:30 | - ... | test.rs:145:24:145:30 | ... < ... | | -| test.rs:145:29:145:30 | 10 | test.rs:145:28:145:30 | - ... | | -| test.rs:145:39:145:48 | [boolean(false)] BlockExpr | test.rs:145:13:145:48 | [boolean(false)] IfExpr | false | -| test.rs:145:39:145:48 | [boolean(true)] BlockExpr | test.rs:145:13:145:48 | [boolean(true)] IfExpr | true | -| test.rs:145:41:145:41 | a | test.rs:145:45:145:46 | 10 | | -| test.rs:145:41:145:46 | ... > ... | test.rs:145:39:145:48 | [boolean(false)] BlockExpr | false | -| test.rs:145:41:145:46 | ... > ... | test.rs:145:39:145:48 | [boolean(true)] BlockExpr | true | -| test.rs:145:45:145:46 | 10 | test.rs:145:41:145:46 | ... > ... | | -| test.rs:145:51:147:9 | BlockExpr | test.rs:145:9:149:9 | IfExpr | | -| test.rs:146:13:146:13 | 1 | test.rs:145:51:147:9 | BlockExpr | | +| test.rs:144:5:150:5 | enter test_and_if_let | test.rs:144:24:144:24 | a | | +| test.rs:144:5:150:5 | exit test_and_if_let (normal) | test.rs:144:5:150:5 | exit test_and_if_let | | +| test.rs:144:24:144:24 | a | test.rs:144:24:144:30 | Param | match | +| test.rs:144:24:144:30 | Param | test.rs:144:33:144:33 | b | | +| test.rs:144:33:144:33 | b | test.rs:144:33:144:47 | Param | match | +| test.rs:144:33:144:47 | Param | test.rs:144:50:144:50 | c | | +| test.rs:144:50:144:50 | c | test.rs:144:50:144:56 | Param | match | +| test.rs:144:50:144:56 | Param | test.rs:145:12:145:12 | a | | +| test.rs:144:67:150:5 | BlockExpr | test.rs:144:5:150:5 | exit test_and_if_let (normal) | | +| test.rs:145:9:149:9 | IfExpr | test.rs:144:67:150:5 | BlockExpr | | +| test.rs:145:12:145:12 | a | test.rs:145:12:145:31 | [boolean(false)] ... && ... | false | +| test.rs:145:12:145:12 | a | test.rs:145:17:145:31 | LetExpr | true | +| test.rs:145:12:145:31 | ... && ... | test.rs:146:13:146:13 | d | true | +| test.rs:145:12:145:31 | ... && ... | test.rs:148:13:148:17 | false | false | +| test.rs:145:12:145:31 | [boolean(false)] ... && ... | test.rs:148:13:148:17 | false | false | +| test.rs:145:17:145:31 | LetExpr | test.rs:145:31:145:31 | b | | +| test.rs:145:21:145:27 | TupleStructPat | test.rs:145:12:145:31 | ... && ... | no-match | +| test.rs:145:21:145:27 | TupleStructPat | test.rs:145:26:145:26 | d | match | +| test.rs:145:26:145:26 | d | test.rs:145:12:145:31 | ... && ... | match | +| test.rs:145:31:145:31 | b | test.rs:145:21:145:27 | TupleStructPat | | +| test.rs:145:33:147:9 | BlockExpr | test.rs:145:9:149:9 | IfExpr | | +| test.rs:146:13:146:13 | d | test.rs:145:33:147:9 | BlockExpr | | | test.rs:147:16:149:9 | BlockExpr | test.rs:145:9:149:9 | IfExpr | | -| test.rs:148:13:148:13 | 0 | test.rs:147:16:149:9 | BlockExpr | | -| test.rs:152:5:161:5 | enter test_nested_if_match | test.rs:152:29:152:29 | a | | -| test.rs:152:5:161:5 | exit test_nested_if_match (normal) | test.rs:152:5:161:5 | exit test_nested_if_match | | -| test.rs:152:29:152:29 | a | test.rs:152:29:152:34 | Param | match | -| test.rs:152:29:152:34 | Param | test.rs:153:19:153:19 | a | | -| test.rs:152:44:161:5 | BlockExpr | test.rs:152:5:161:5 | exit test_nested_if_match (normal) | | -| test.rs:153:9:160:9 | IfExpr | test.rs:152:44:161:5 | BlockExpr | | -| test.rs:153:13:156:9 | [boolean(false)] MatchExpr | test.rs:159:13:159:13 | 0 | false | -| test.rs:153:13:156:9 | [boolean(true)] MatchExpr | test.rs:157:13:157:13 | 1 | true | -| test.rs:153:19:153:19 | a | test.rs:154:13:154:13 | 0 | | -| test.rs:154:13:154:13 | 0 | test.rs:154:13:154:13 | LiteralPat | | -| test.rs:154:13:154:13 | LiteralPat | test.rs:154:18:154:21 | true | match | -| test.rs:154:13:154:13 | LiteralPat | test.rs:155:13:155:13 | WildcardPat | no-match | -| test.rs:154:18:154:21 | true | test.rs:153:13:156:9 | [boolean(true)] MatchExpr | true | -| test.rs:155:13:155:13 | WildcardPat | test.rs:155:18:155:22 | false | match | -| test.rs:155:18:155:22 | false | test.rs:153:13:156:9 | [boolean(false)] MatchExpr | false | -| test.rs:156:12:158:9 | BlockExpr | test.rs:153:9:160:9 | IfExpr | | -| test.rs:157:13:157:13 | 1 | test.rs:156:12:158:9 | BlockExpr | | -| test.rs:158:16:160:9 | BlockExpr | test.rs:153:9:160:9 | IfExpr | | -| test.rs:159:13:159:13 | 0 | test.rs:158:16:160:9 | BlockExpr | | -| test.rs:163:5:172:5 | enter test_nested_if_block | test.rs:163:29:163:29 | a | | -| test.rs:163:5:172:5 | exit test_nested_if_block (normal) | test.rs:163:5:172:5 | exit test_nested_if_block | | -| test.rs:163:29:163:29 | a | test.rs:163:29:163:34 | Param | match | -| test.rs:163:29:163:34 | Param | test.rs:165:13:165:15 | ExprStmt | | -| test.rs:163:44:172:5 | BlockExpr | test.rs:163:5:172:5 | exit test_nested_if_block (normal) | | -| test.rs:164:9:171:9 | IfExpr | test.rs:163:44:172:5 | BlockExpr | | -| test.rs:164:12:167:9 | [boolean(false)] BlockExpr | test.rs:170:13:170:13 | 0 | false | -| test.rs:164:12:167:9 | [boolean(true)] BlockExpr | test.rs:168:13:168:13 | 1 | true | -| test.rs:165:13:165:14 | TupleExpr | test.rs:166:13:166:13 | a | | -| test.rs:165:13:165:15 | ExprStmt | test.rs:165:13:165:14 | TupleExpr | | -| test.rs:166:13:166:13 | a | test.rs:166:17:166:17 | 0 | | -| test.rs:166:13:166:17 | ... > ... | test.rs:164:12:167:9 | [boolean(false)] BlockExpr | false | -| test.rs:166:13:166:17 | ... > ... | test.rs:164:12:167:9 | [boolean(true)] BlockExpr | true | -| test.rs:166:17:166:17 | 0 | test.rs:166:13:166:17 | ... > ... | | -| test.rs:167:11:169:9 | BlockExpr | test.rs:164:9:171:9 | IfExpr | | -| test.rs:168:13:168:13 | 1 | test.rs:167:11:169:9 | BlockExpr | | -| test.rs:169:16:171:9 | BlockExpr | test.rs:164:9:171:9 | IfExpr | | -| test.rs:170:13:170:13 | 0 | test.rs:169:16:171:9 | BlockExpr | | -| test.rs:174:5:181:5 | enter test_if_assignment | test.rs:174:27:174:27 | a | | -| test.rs:174:5:181:5 | exit test_if_assignment (normal) | test.rs:174:5:181:5 | exit test_if_assignment | | -| test.rs:174:27:174:27 | a | test.rs:174:27:174:32 | Param | match | -| test.rs:174:27:174:32 | Param | test.rs:175:9:175:26 | LetStmt | | -| test.rs:174:42:181:5 | BlockExpr | test.rs:174:5:181:5 | exit test_if_assignment (normal) | | -| test.rs:175:9:175:26 | LetStmt | test.rs:175:21:175:25 | false | | -| test.rs:175:13:175:17 | x | test.rs:176:12:176:12 | x | match | -| test.rs:175:21:175:25 | false | test.rs:175:13:175:17 | x | | -| test.rs:176:9:180:9 | IfExpr | test.rs:174:42:181:5 | BlockExpr | | -| test.rs:176:12:176:12 | x | test.rs:176:16:176:19 | true | | -| test.rs:176:12:176:19 | ... = ... | test.rs:177:13:177:13 | 1 | true | -| test.rs:176:12:176:19 | ... = ... | test.rs:179:13:179:13 | 0 | false | -| test.rs:176:16:176:19 | true | test.rs:176:12:176:19 | ... = ... | | -| test.rs:176:21:178:9 | BlockExpr | test.rs:176:9:180:9 | IfExpr | | -| test.rs:177:13:177:13 | 1 | test.rs:176:21:178:9 | BlockExpr | | -| test.rs:178:16:180:9 | BlockExpr | test.rs:176:9:180:9 | IfExpr | | -| test.rs:179:13:179:13 | 0 | test.rs:178:16:180:9 | BlockExpr | | -| test.rs:183:5:194:5 | enter test_if_loop1 | test.rs:183:22:183:22 | a | | -| test.rs:183:5:194:5 | exit test_if_loop1 (normal) | test.rs:183:5:194:5 | exit test_if_loop1 | | -| test.rs:183:22:183:22 | a | test.rs:183:22:183:27 | Param | match | -| test.rs:183:22:183:27 | Param | test.rs:185:13:187:14 | ExprStmt | | -| test.rs:183:37:194:5 | BlockExpr | test.rs:183:5:194:5 | exit test_if_loop1 (normal) | | -| test.rs:184:9:193:9 | IfExpr | test.rs:183:37:194:5 | BlockExpr | | -| test.rs:184:13:189:9 | [boolean(false)] LoopExpr | test.rs:192:13:192:13 | 0 | false | -| test.rs:184:13:189:9 | [boolean(true)] LoopExpr | test.rs:190:13:190:13 | 1 | true | -| test.rs:184:18:189:9 | BlockExpr | test.rs:185:13:187:14 | ExprStmt | | -| test.rs:185:13:187:13 | IfExpr | test.rs:188:13:188:19 | ExprStmt | | -| test.rs:185:13:187:14 | ExprStmt | test.rs:185:16:185:16 | a | | -| test.rs:185:16:185:16 | a | test.rs:185:20:185:20 | 0 | | -| test.rs:185:16:185:20 | ... > ... | test.rs:185:13:187:13 | IfExpr | false | -| test.rs:185:16:185:20 | ... > ... | test.rs:186:17:186:29 | ExprStmt | true | -| test.rs:185:20:185:20 | 0 | test.rs:185:16:185:20 | ... > ... | | -| test.rs:186:17:186:28 | [boolean(false)] BreakExpr | test.rs:184:13:189:9 | [boolean(false)] LoopExpr | break | -| test.rs:186:17:186:28 | [boolean(true)] BreakExpr | test.rs:184:13:189:9 | [boolean(true)] LoopExpr | break | -| test.rs:186:17:186:29 | ExprStmt | test.rs:186:23:186:23 | a | | -| test.rs:186:23:186:23 | a | test.rs:186:27:186:28 | 10 | | -| test.rs:186:23:186:28 | ... > ... | test.rs:186:17:186:28 | [boolean(false)] BreakExpr | false | -| test.rs:186:23:186:28 | ... > ... | test.rs:186:17:186:28 | [boolean(true)] BreakExpr | true | -| test.rs:186:27:186:28 | 10 | test.rs:186:23:186:28 | ... > ... | | -| test.rs:188:13:188:13 | a | test.rs:188:17:188:18 | 10 | | -| test.rs:188:13:188:18 | ... < ... | test.rs:184:18:189:9 | BlockExpr | | -| test.rs:188:13:188:19 | ExprStmt | test.rs:188:13:188:13 | a | | -| test.rs:188:17:188:18 | 10 | test.rs:188:13:188:18 | ... < ... | | -| test.rs:189:12:191:9 | BlockExpr | test.rs:184:9:193:9 | IfExpr | | -| test.rs:190:13:190:13 | 1 | test.rs:189:12:191:9 | BlockExpr | | -| test.rs:191:16:193:9 | BlockExpr | test.rs:184:9:193:9 | IfExpr | | -| test.rs:192:13:192:13 | 0 | test.rs:191:16:193:9 | BlockExpr | | -| test.rs:196:5:207:5 | enter test_if_loop2 | test.rs:196:22:196:22 | a | | -| test.rs:196:5:207:5 | exit test_if_loop2 (normal) | test.rs:196:5:207:5 | exit test_if_loop2 | | -| test.rs:196:22:196:22 | a | test.rs:196:22:196:27 | Param | match | -| test.rs:196:22:196:27 | Param | test.rs:198:13:200:14 | ExprStmt | | -| test.rs:196:37:207:5 | BlockExpr | test.rs:196:5:207:5 | exit test_if_loop2 (normal) | | -| test.rs:197:9:206:9 | IfExpr | test.rs:196:37:207:5 | BlockExpr | | -| test.rs:197:13:202:9 | [boolean(false)] LoopExpr | test.rs:205:13:205:13 | 0 | false | -| test.rs:197:13:202:9 | [boolean(true)] LoopExpr | test.rs:203:13:203:13 | 1 | true | -| test.rs:197:26:202:9 | BlockExpr | test.rs:198:13:200:14 | ExprStmt | | -| test.rs:198:13:200:13 | IfExpr | test.rs:201:13:201:19 | ExprStmt | | -| test.rs:198:13:200:14 | ExprStmt | test.rs:198:16:198:16 | a | | -| test.rs:198:16:198:16 | a | test.rs:198:20:198:20 | 0 | | -| test.rs:198:16:198:20 | ... > ... | test.rs:198:13:200:13 | IfExpr | false | -| test.rs:198:16:198:20 | ... > ... | test.rs:199:17:199:36 | ExprStmt | true | -| test.rs:198:20:198:20 | 0 | test.rs:198:16:198:20 | ... > ... | | -| test.rs:199:17:199:35 | [boolean(false)] BreakExpr | test.rs:197:13:202:9 | [boolean(false)] LoopExpr | break | -| test.rs:199:17:199:35 | [boolean(true)] BreakExpr | test.rs:197:13:202:9 | [boolean(true)] LoopExpr | break | -| test.rs:199:17:199:36 | ExprStmt | test.rs:199:30:199:30 | a | | -| test.rs:199:30:199:30 | a | test.rs:199:34:199:35 | 10 | | -| test.rs:199:30:199:35 | ... > ... | test.rs:199:17:199:35 | [boolean(false)] BreakExpr | false | -| test.rs:199:30:199:35 | ... > ... | test.rs:199:17:199:35 | [boolean(true)] BreakExpr | true | -| test.rs:199:34:199:35 | 10 | test.rs:199:30:199:35 | ... > ... | | -| test.rs:201:13:201:13 | a | test.rs:201:17:201:18 | 10 | | -| test.rs:201:13:201:18 | ... < ... | test.rs:197:26:202:9 | BlockExpr | | -| test.rs:201:13:201:19 | ExprStmt | test.rs:201:13:201:13 | a | | -| test.rs:201:17:201:18 | 10 | test.rs:201:13:201:18 | ... < ... | | -| test.rs:202:12:204:9 | BlockExpr | test.rs:197:9:206:9 | IfExpr | | -| test.rs:203:13:203:13 | 1 | test.rs:202:12:204:9 | BlockExpr | | -| test.rs:204:16:206:9 | BlockExpr | test.rs:197:9:206:9 | IfExpr | | -| test.rs:205:13:205:13 | 0 | test.rs:204:16:206:9 | BlockExpr | | -| test.rs:209:5:217:5 | enter test_labelled_block | test.rs:209:28:209:28 | a | | -| test.rs:209:5:217:5 | exit test_labelled_block (normal) | test.rs:209:5:217:5 | exit test_labelled_block | | -| test.rs:209:28:209:28 | a | test.rs:209:28:209:33 | Param | match | -| test.rs:209:28:209:33 | Param | test.rs:211:13:211:31 | ExprStmt | | -| test.rs:209:43:217:5 | BlockExpr | test.rs:209:5:217:5 | exit test_labelled_block (normal) | | -| test.rs:210:9:216:9 | IfExpr | test.rs:209:43:217:5 | BlockExpr | | -| test.rs:210:13:212:9 | [boolean(false)] BlockExpr | test.rs:215:13:215:13 | 0 | false | -| test.rs:210:13:212:9 | [boolean(true)] BlockExpr | test.rs:213:13:213:13 | 1 | true | -| test.rs:211:13:211:30 | [boolean(false)] BreakExpr | test.rs:210:13:212:9 | [boolean(false)] BlockExpr | break | -| test.rs:211:13:211:30 | [boolean(true)] BreakExpr | test.rs:210:13:212:9 | [boolean(true)] BlockExpr | break | -| test.rs:211:13:211:31 | ExprStmt | test.rs:211:26:211:26 | a | | -| test.rs:211:26:211:26 | a | test.rs:211:30:211:30 | 0 | | -| test.rs:211:26:211:30 | ... > ... | test.rs:211:13:211:30 | [boolean(false)] BreakExpr | false | -| test.rs:211:26:211:30 | ... > ... | test.rs:211:13:211:30 | [boolean(true)] BreakExpr | true | -| test.rs:211:30:211:30 | 0 | test.rs:211:26:211:30 | ... > ... | | -| test.rs:212:12:214:9 | BlockExpr | test.rs:210:9:216:9 | IfExpr | | -| test.rs:213:13:213:13 | 1 | test.rs:212:12:214:9 | BlockExpr | | -| test.rs:214:16:216:9 | BlockExpr | test.rs:210:9:216:9 | IfExpr | | -| test.rs:215:13:215:13 | 0 | test.rs:214:16:216:9 | BlockExpr | | -| test.rs:222:5:225:5 | enter test_and_operator | test.rs:222:26:222:26 | a | | -| test.rs:222:5:225:5 | exit test_and_operator (normal) | test.rs:222:5:225:5 | exit test_and_operator | | -| test.rs:222:26:222:26 | a | test.rs:222:26:222:32 | Param | match | -| test.rs:222:26:222:32 | Param | test.rs:222:35:222:35 | b | | -| test.rs:222:35:222:35 | b | test.rs:222:35:222:41 | Param | match | -| test.rs:222:35:222:41 | Param | test.rs:222:44:222:44 | c | | -| test.rs:222:44:222:44 | c | test.rs:222:44:222:50 | Param | match | -| test.rs:222:44:222:50 | Param | test.rs:223:9:223:28 | LetStmt | | -| test.rs:222:61:225:5 | BlockExpr | test.rs:222:5:225:5 | exit test_and_operator (normal) | | -| test.rs:223:9:223:28 | LetStmt | test.rs:223:17:223:17 | a | | -| test.rs:223:13:223:13 | d | test.rs:224:9:224:9 | d | match | -| test.rs:223:17:223:17 | a | test.rs:223:17:223:22 | [boolean(false)] ... && ... | false | -| test.rs:223:17:223:17 | a | test.rs:223:22:223:22 | b | true | -| test.rs:223:17:223:22 | [boolean(false)] ... && ... | test.rs:223:17:223:27 | ... && ... | false | -| test.rs:223:17:223:22 | [boolean(true)] ... && ... | test.rs:223:27:223:27 | c | true | -| test.rs:223:17:223:27 | ... && ... | test.rs:223:13:223:13 | d | | -| test.rs:223:22:223:22 | b | test.rs:223:17:223:22 | [boolean(false)] ... && ... | false | -| test.rs:223:22:223:22 | b | test.rs:223:17:223:22 | [boolean(true)] ... && ... | true | -| test.rs:223:27:223:27 | c | test.rs:223:17:223:27 | ... && ... | | -| test.rs:224:9:224:9 | d | test.rs:222:61:225:5 | BlockExpr | | -| test.rs:227:5:230:5 | enter test_or_operator | test.rs:227:25:227:25 | a | | -| test.rs:227:5:230:5 | exit test_or_operator (normal) | test.rs:227:5:230:5 | exit test_or_operator | | -| test.rs:227:25:227:25 | a | test.rs:227:25:227:31 | Param | match | -| test.rs:227:25:227:31 | Param | test.rs:227:34:227:34 | b | | -| test.rs:227:34:227:34 | b | test.rs:227:34:227:40 | Param | match | -| test.rs:227:34:227:40 | Param | test.rs:227:43:227:43 | c | | -| test.rs:227:43:227:43 | c | test.rs:227:43:227:49 | Param | match | -| test.rs:227:43:227:49 | Param | test.rs:228:9:228:28 | LetStmt | | -| test.rs:227:60:230:5 | BlockExpr | test.rs:227:5:230:5 | exit test_or_operator (normal) | | -| test.rs:228:9:228:28 | LetStmt | test.rs:228:17:228:17 | a | | -| test.rs:228:13:228:13 | d | test.rs:229:9:229:9 | d | match | -| test.rs:228:17:228:17 | a | test.rs:228:17:228:22 | [boolean(true)] ... \|\| ... | true | -| test.rs:228:17:228:17 | a | test.rs:228:22:228:22 | b | false | -| test.rs:228:17:228:22 | [boolean(false)] ... \|\| ... | test.rs:228:27:228:27 | c | false | -| test.rs:228:17:228:22 | [boolean(true)] ... \|\| ... | test.rs:228:17:228:27 | ... \|\| ... | true | -| test.rs:228:17:228:27 | ... \|\| ... | test.rs:228:13:228:13 | d | | -| test.rs:228:22:228:22 | b | test.rs:228:17:228:22 | [boolean(false)] ... \|\| ... | false | -| test.rs:228:22:228:22 | b | test.rs:228:17:228:22 | [boolean(true)] ... \|\| ... | true | -| test.rs:228:27:228:27 | c | test.rs:228:17:228:27 | ... \|\| ... | | -| test.rs:229:9:229:9 | d | test.rs:227:60:230:5 | BlockExpr | | -| test.rs:232:5:235:5 | enter test_or_operator_2 | test.rs:232:27:232:27 | a | | -| test.rs:232:5:235:5 | exit test_or_operator_2 (normal) | test.rs:232:5:235:5 | exit test_or_operator_2 | | -| test.rs:232:27:232:27 | a | test.rs:232:27:232:33 | Param | match | -| test.rs:232:27:232:33 | Param | test.rs:232:36:232:36 | b | | -| test.rs:232:36:232:36 | b | test.rs:232:36:232:41 | Param | match | -| test.rs:232:36:232:41 | Param | test.rs:232:44:232:44 | c | | -| test.rs:232:44:232:44 | c | test.rs:232:44:232:50 | Param | match | -| test.rs:232:44:232:50 | Param | test.rs:233:9:233:36 | LetStmt | | -| test.rs:232:61:235:5 | BlockExpr | test.rs:232:5:235:5 | exit test_or_operator_2 (normal) | | -| test.rs:233:9:233:36 | LetStmt | test.rs:233:17:233:17 | a | | -| test.rs:233:13:233:13 | d | test.rs:234:9:234:9 | d | match | -| test.rs:233:17:233:17 | a | test.rs:233:17:233:30 | [boolean(true)] ... \|\| ... | true | -| test.rs:233:17:233:17 | a | test.rs:233:23:233:23 | b | false | -| test.rs:233:17:233:30 | [boolean(false)] ... \|\| ... | test.rs:233:35:233:35 | c | false | -| test.rs:233:17:233:30 | [boolean(true)] ... \|\| ... | test.rs:233:17:233:35 | ... \|\| ... | true | -| test.rs:233:17:233:35 | ... \|\| ... | test.rs:233:13:233:13 | d | | -| test.rs:233:23:233:23 | b | test.rs:233:28:233:29 | 28 | | -| test.rs:233:23:233:29 | ... == ... | test.rs:233:17:233:30 | [boolean(false)] ... \|\| ... | false | -| test.rs:233:23:233:29 | ... == ... | test.rs:233:17:233:30 | [boolean(true)] ... \|\| ... | true | -| test.rs:233:28:233:29 | 28 | test.rs:233:23:233:29 | ... == ... | | -| test.rs:233:35:233:35 | c | test.rs:233:17:233:35 | ... \|\| ... | | -| test.rs:234:9:234:9 | d | test.rs:232:61:235:5 | BlockExpr | | -| test.rs:237:5:240:5 | enter test_not_operator | test.rs:237:26:237:26 | a | | -| test.rs:237:5:240:5 | exit test_not_operator (normal) | test.rs:237:5:240:5 | exit test_not_operator | | -| test.rs:237:26:237:26 | a | test.rs:237:26:237:32 | Param | match | -| test.rs:237:26:237:32 | Param | test.rs:238:9:238:19 | LetStmt | | -| test.rs:237:43:240:5 | BlockExpr | test.rs:237:5:240:5 | exit test_not_operator (normal) | | -| test.rs:238:9:238:19 | LetStmt | test.rs:238:18:238:18 | a | | -| test.rs:238:13:238:13 | d | test.rs:239:9:239:9 | d | match | -| test.rs:238:17:238:18 | ! ... | test.rs:238:13:238:13 | d | | -| test.rs:238:18:238:18 | a | test.rs:238:17:238:18 | ! ... | | -| test.rs:239:9:239:9 | d | test.rs:237:43:240:5 | BlockExpr | | -| test.rs:242:5:248:5 | enter test_if_and_operator | test.rs:242:29:242:29 | a | | -| test.rs:242:5:248:5 | exit test_if_and_operator (normal) | test.rs:242:5:248:5 | exit test_if_and_operator | | -| test.rs:242:29:242:29 | a | test.rs:242:29:242:35 | Param | match | -| test.rs:242:29:242:35 | Param | test.rs:242:38:242:38 | b | | -| test.rs:242:38:242:38 | b | test.rs:242:38:242:43 | Param | match | -| test.rs:242:38:242:43 | Param | test.rs:242:46:242:46 | c | | -| test.rs:242:46:242:46 | c | test.rs:242:46:242:52 | Param | match | -| test.rs:242:46:242:52 | Param | test.rs:243:12:243:12 | a | | -| test.rs:242:63:248:5 | BlockExpr | test.rs:242:5:248:5 | exit test_if_and_operator (normal) | | -| test.rs:243:9:247:9 | IfExpr | test.rs:242:63:248:5 | BlockExpr | | -| test.rs:243:12:243:12 | a | test.rs:243:12:243:17 | [boolean(false)] ... && ... | false | -| test.rs:243:12:243:12 | a | test.rs:243:17:243:17 | b | true | -| test.rs:243:12:243:17 | [boolean(false)] ... && ... | test.rs:243:12:243:22 | [boolean(false)] ... && ... | false | -| test.rs:243:12:243:17 | [boolean(true)] ... && ... | test.rs:243:22:243:22 | c | true | -| test.rs:243:12:243:22 | [boolean(false)] ... && ... | test.rs:246:13:246:17 | false | false | -| test.rs:243:12:243:22 | [boolean(true)] ... && ... | test.rs:244:13:244:16 | true | true | -| test.rs:243:17:243:17 | b | test.rs:243:12:243:17 | [boolean(false)] ... && ... | false | -| test.rs:243:17:243:17 | b | test.rs:243:12:243:17 | [boolean(true)] ... && ... | true | -| test.rs:243:22:243:22 | c | test.rs:243:12:243:22 | [boolean(false)] ... && ... | false | -| test.rs:243:22:243:22 | c | test.rs:243:12:243:22 | [boolean(true)] ... && ... | true | -| test.rs:243:24:245:9 | BlockExpr | test.rs:243:9:247:9 | IfExpr | | -| test.rs:244:13:244:16 | true | test.rs:243:24:245:9 | BlockExpr | | -| test.rs:245:16:247:9 | BlockExpr | test.rs:243:9:247:9 | IfExpr | | -| test.rs:246:13:246:17 | false | test.rs:245:16:247:9 | BlockExpr | | -| test.rs:250:5:256:5 | enter test_if_or_operator | test.rs:250:28:250:28 | a | | -| test.rs:250:5:256:5 | exit test_if_or_operator (normal) | test.rs:250:5:256:5 | exit test_if_or_operator | | -| test.rs:250:28:250:28 | a | test.rs:250:28:250:34 | Param | match | -| test.rs:250:28:250:34 | Param | test.rs:250:37:250:37 | b | | -| test.rs:250:37:250:37 | b | test.rs:250:37:250:42 | Param | match | -| test.rs:250:37:250:42 | Param | test.rs:250:45:250:45 | c | | -| test.rs:250:45:250:45 | c | test.rs:250:45:250:51 | Param | match | -| test.rs:250:45:250:51 | Param | test.rs:251:12:251:12 | a | | -| test.rs:250:62:256:5 | BlockExpr | test.rs:250:5:256:5 | exit test_if_or_operator (normal) | | -| test.rs:251:9:255:9 | IfExpr | test.rs:250:62:256:5 | BlockExpr | | -| test.rs:251:12:251:12 | a | test.rs:251:12:251:17 | [boolean(true)] ... \|\| ... | true | -| test.rs:251:12:251:12 | a | test.rs:251:17:251:17 | b | false | -| test.rs:251:12:251:17 | [boolean(false)] ... \|\| ... | test.rs:251:22:251:22 | c | false | -| test.rs:251:12:251:17 | [boolean(true)] ... \|\| ... | test.rs:251:12:251:22 | [boolean(true)] ... \|\| ... | true | -| test.rs:251:12:251:22 | [boolean(false)] ... \|\| ... | test.rs:254:13:254:17 | false | false | -| test.rs:251:12:251:22 | [boolean(true)] ... \|\| ... | test.rs:252:13:252:16 | true | true | -| test.rs:251:17:251:17 | b | test.rs:251:12:251:17 | [boolean(false)] ... \|\| ... | false | -| test.rs:251:17:251:17 | b | test.rs:251:12:251:17 | [boolean(true)] ... \|\| ... | true | -| test.rs:251:22:251:22 | c | test.rs:251:12:251:22 | [boolean(false)] ... \|\| ... | false | -| test.rs:251:22:251:22 | c | test.rs:251:12:251:22 | [boolean(true)] ... \|\| ... | true | -| test.rs:251:24:253:9 | BlockExpr | test.rs:251:9:255:9 | IfExpr | | -| test.rs:252:13:252:16 | true | test.rs:251:24:253:9 | BlockExpr | | -| test.rs:253:16:255:9 | BlockExpr | test.rs:251:9:255:9 | IfExpr | | -| test.rs:254:13:254:17 | false | test.rs:253:16:255:9 | BlockExpr | | -| test.rs:258:5:264:5 | enter test_if_not_operator | test.rs:258:29:258:29 | a | | -| test.rs:258:5:264:5 | exit test_if_not_operator (normal) | test.rs:258:5:264:5 | exit test_if_not_operator | | +| test.rs:148:13:148:17 | false | test.rs:147:16:149:9 | BlockExpr | | +| test.rs:152:5:158:5 | enter test_and_if_let2 | test.rs:152:25:152:25 | a | | +| test.rs:152:5:158:5 | exit test_and_if_let2 (normal) | test.rs:152:5:158:5 | exit test_and_if_let2 | | +| test.rs:152:25:152:25 | a | test.rs:152:25:152:31 | Param | match | +| test.rs:152:25:152:31 | Param | test.rs:152:34:152:34 | b | | +| test.rs:152:34:152:34 | b | test.rs:152:34:152:39 | Param | match | +| test.rs:152:34:152:39 | Param | test.rs:152:42:152:42 | c | | +| test.rs:152:42:152:42 | c | test.rs:152:42:152:48 | Param | match | +| test.rs:152:42:152:48 | Param | test.rs:153:12:153:12 | a | | +| test.rs:152:59:158:5 | BlockExpr | test.rs:152:5:158:5 | exit test_and_if_let2 (normal) | | +| test.rs:153:9:157:9 | IfExpr | test.rs:152:59:158:5 | BlockExpr | | +| test.rs:153:12:153:12 | a | test.rs:153:12:153:25 | [boolean(false)] ... && ... | false | +| test.rs:153:12:153:12 | a | test.rs:153:17:153:25 | LetExpr | true | +| test.rs:153:12:153:25 | ... && ... | test.rs:153:12:153:30 | [boolean(false)] ... && ... | false | +| test.rs:153:12:153:25 | ... && ... | test.rs:153:30:153:30 | c | true | +| test.rs:153:12:153:25 | [boolean(false)] ... && ... | test.rs:153:12:153:30 | [boolean(false)] ... && ... | false | +| test.rs:153:12:153:30 | [boolean(false)] ... && ... | test.rs:156:13:156:17 | false | false | +| test.rs:153:12:153:30 | [boolean(true)] ... && ... | test.rs:154:13:154:13 | d | true | +| test.rs:153:17:153:25 | LetExpr | test.rs:153:25:153:25 | b | | +| test.rs:153:21:153:21 | d | test.rs:153:12:153:25 | ... && ... | match | +| test.rs:153:25:153:25 | b | test.rs:153:21:153:21 | d | | +| test.rs:153:30:153:30 | c | test.rs:153:12:153:30 | [boolean(false)] ... && ... | false | +| test.rs:153:30:153:30 | c | test.rs:153:12:153:30 | [boolean(true)] ... && ... | true | +| test.rs:153:31:155:9 | BlockExpr | test.rs:153:9:157:9 | IfExpr | | +| test.rs:154:13:154:13 | d | test.rs:154:17:154:17 | 0 | | +| test.rs:154:13:154:17 | ... > ... | test.rs:153:31:155:9 | BlockExpr | | +| test.rs:154:17:154:17 | 0 | test.rs:154:13:154:17 | ... > ... | | +| test.rs:155:16:157:9 | BlockExpr | test.rs:153:9:157:9 | IfExpr | | +| test.rs:156:13:156:17 | false | test.rs:155:16:157:9 | BlockExpr | | +| test.rs:160:5:166:5 | enter test_nested_if | test.rs:160:23:160:23 | a | | +| test.rs:160:5:166:5 | exit test_nested_if (normal) | test.rs:160:5:166:5 | exit test_nested_if | | +| test.rs:160:23:160:23 | a | test.rs:160:23:160:28 | Param | match | +| test.rs:160:23:160:28 | Param | test.rs:161:16:161:16 | a | | +| test.rs:160:38:166:5 | BlockExpr | test.rs:160:5:166:5 | exit test_nested_if (normal) | | +| test.rs:161:9:165:9 | IfExpr | test.rs:160:38:166:5 | BlockExpr | | +| test.rs:161:13:161:48 | [boolean(false)] IfExpr | test.rs:164:13:164:13 | 0 | false | +| test.rs:161:13:161:48 | [boolean(true)] IfExpr | test.rs:162:13:162:13 | 1 | true | +| test.rs:161:16:161:16 | a | test.rs:161:20:161:20 | 0 | | +| test.rs:161:16:161:20 | ... < ... | test.rs:161:24:161:24 | a | true | +| test.rs:161:16:161:20 | ... < ... | test.rs:161:41:161:41 | a | false | +| test.rs:161:20:161:20 | 0 | test.rs:161:16:161:20 | ... < ... | | +| test.rs:161:22:161:32 | [boolean(false)] BlockExpr | test.rs:161:13:161:48 | [boolean(false)] IfExpr | false | +| test.rs:161:22:161:32 | [boolean(true)] BlockExpr | test.rs:161:13:161:48 | [boolean(true)] IfExpr | true | +| test.rs:161:24:161:24 | a | test.rs:161:29:161:30 | 10 | | +| test.rs:161:24:161:30 | ... < ... | test.rs:161:22:161:32 | [boolean(false)] BlockExpr | false | +| test.rs:161:24:161:30 | ... < ... | test.rs:161:22:161:32 | [boolean(true)] BlockExpr | true | +| test.rs:161:28:161:30 | - ... | test.rs:161:24:161:30 | ... < ... | | +| test.rs:161:29:161:30 | 10 | test.rs:161:28:161:30 | - ... | | +| test.rs:161:39:161:48 | [boolean(false)] BlockExpr | test.rs:161:13:161:48 | [boolean(false)] IfExpr | false | +| test.rs:161:39:161:48 | [boolean(true)] BlockExpr | test.rs:161:13:161:48 | [boolean(true)] IfExpr | true | +| test.rs:161:41:161:41 | a | test.rs:161:45:161:46 | 10 | | +| test.rs:161:41:161:46 | ... > ... | test.rs:161:39:161:48 | [boolean(false)] BlockExpr | false | +| test.rs:161:41:161:46 | ... > ... | test.rs:161:39:161:48 | [boolean(true)] BlockExpr | true | +| test.rs:161:45:161:46 | 10 | test.rs:161:41:161:46 | ... > ... | | +| test.rs:161:51:163:9 | BlockExpr | test.rs:161:9:165:9 | IfExpr | | +| test.rs:162:13:162:13 | 1 | test.rs:161:51:163:9 | BlockExpr | | +| test.rs:163:16:165:9 | BlockExpr | test.rs:161:9:165:9 | IfExpr | | +| test.rs:164:13:164:13 | 0 | test.rs:163:16:165:9 | BlockExpr | | +| test.rs:168:5:177:5 | enter test_nested_if_match | test.rs:168:29:168:29 | a | | +| test.rs:168:5:177:5 | exit test_nested_if_match (normal) | test.rs:168:5:177:5 | exit test_nested_if_match | | +| test.rs:168:29:168:29 | a | test.rs:168:29:168:34 | Param | match | +| test.rs:168:29:168:34 | Param | test.rs:169:19:169:19 | a | | +| test.rs:168:44:177:5 | BlockExpr | test.rs:168:5:177:5 | exit test_nested_if_match (normal) | | +| test.rs:169:9:176:9 | IfExpr | test.rs:168:44:177:5 | BlockExpr | | +| test.rs:169:13:172:9 | [boolean(false)] MatchExpr | test.rs:175:13:175:13 | 0 | false | +| test.rs:169:13:172:9 | [boolean(true)] MatchExpr | test.rs:173:13:173:13 | 1 | true | +| test.rs:169:19:169:19 | a | test.rs:170:13:170:13 | 0 | | +| test.rs:170:13:170:13 | 0 | test.rs:170:13:170:13 | LiteralPat | | +| test.rs:170:13:170:13 | LiteralPat | test.rs:170:18:170:21 | true | match | +| test.rs:170:13:170:13 | LiteralPat | test.rs:171:13:171:13 | WildcardPat | no-match | +| test.rs:170:18:170:21 | true | test.rs:169:13:172:9 | [boolean(true)] MatchExpr | true | +| test.rs:171:13:171:13 | WildcardPat | test.rs:171:18:171:22 | false | match | +| test.rs:171:18:171:22 | false | test.rs:169:13:172:9 | [boolean(false)] MatchExpr | false | +| test.rs:172:12:174:9 | BlockExpr | test.rs:169:9:176:9 | IfExpr | | +| test.rs:173:13:173:13 | 1 | test.rs:172:12:174:9 | BlockExpr | | +| test.rs:174:16:176:9 | BlockExpr | test.rs:169:9:176:9 | IfExpr | | +| test.rs:175:13:175:13 | 0 | test.rs:174:16:176:9 | BlockExpr | | +| test.rs:179:5:188:5 | enter test_nested_if_block | test.rs:179:29:179:29 | a | | +| test.rs:179:5:188:5 | exit test_nested_if_block (normal) | test.rs:179:5:188:5 | exit test_nested_if_block | | +| test.rs:179:29:179:29 | a | test.rs:179:29:179:34 | Param | match | +| test.rs:179:29:179:34 | Param | test.rs:181:13:181:15 | ExprStmt | | +| test.rs:179:44:188:5 | BlockExpr | test.rs:179:5:188:5 | exit test_nested_if_block (normal) | | +| test.rs:180:9:187:9 | IfExpr | test.rs:179:44:188:5 | BlockExpr | | +| test.rs:180:12:183:9 | [boolean(false)] BlockExpr | test.rs:186:13:186:13 | 0 | false | +| test.rs:180:12:183:9 | [boolean(true)] BlockExpr | test.rs:184:13:184:13 | 1 | true | +| test.rs:181:13:181:14 | TupleExpr | test.rs:182:13:182:13 | a | | +| test.rs:181:13:181:15 | ExprStmt | test.rs:181:13:181:14 | TupleExpr | | +| test.rs:182:13:182:13 | a | test.rs:182:17:182:17 | 0 | | +| test.rs:182:13:182:17 | ... > ... | test.rs:180:12:183:9 | [boolean(false)] BlockExpr | false | +| test.rs:182:13:182:17 | ... > ... | test.rs:180:12:183:9 | [boolean(true)] BlockExpr | true | +| test.rs:182:17:182:17 | 0 | test.rs:182:13:182:17 | ... > ... | | +| test.rs:183:11:185:9 | BlockExpr | test.rs:180:9:187:9 | IfExpr | | +| test.rs:184:13:184:13 | 1 | test.rs:183:11:185:9 | BlockExpr | | +| test.rs:185:16:187:9 | BlockExpr | test.rs:180:9:187:9 | IfExpr | | +| test.rs:186:13:186:13 | 0 | test.rs:185:16:187:9 | BlockExpr | | +| test.rs:190:5:197:5 | enter test_if_assignment | test.rs:190:27:190:27 | a | | +| test.rs:190:5:197:5 | exit test_if_assignment (normal) | test.rs:190:5:197:5 | exit test_if_assignment | | +| test.rs:190:27:190:27 | a | test.rs:190:27:190:32 | Param | match | +| test.rs:190:27:190:32 | Param | test.rs:191:9:191:26 | LetStmt | | +| test.rs:190:42:197:5 | BlockExpr | test.rs:190:5:197:5 | exit test_if_assignment (normal) | | +| test.rs:191:9:191:26 | LetStmt | test.rs:191:21:191:25 | false | | +| test.rs:191:13:191:17 | x | test.rs:192:12:192:12 | x | match | +| test.rs:191:21:191:25 | false | test.rs:191:13:191:17 | x | | +| test.rs:192:9:196:9 | IfExpr | test.rs:190:42:197:5 | BlockExpr | | +| test.rs:192:12:192:12 | x | test.rs:192:16:192:19 | true | | +| test.rs:192:12:192:19 | ... = ... | test.rs:193:13:193:13 | 1 | true | +| test.rs:192:12:192:19 | ... = ... | test.rs:195:13:195:13 | 0 | false | +| test.rs:192:16:192:19 | true | test.rs:192:12:192:19 | ... = ... | | +| test.rs:192:21:194:9 | BlockExpr | test.rs:192:9:196:9 | IfExpr | | +| test.rs:193:13:193:13 | 1 | test.rs:192:21:194:9 | BlockExpr | | +| test.rs:194:16:196:9 | BlockExpr | test.rs:192:9:196:9 | IfExpr | | +| test.rs:195:13:195:13 | 0 | test.rs:194:16:196:9 | BlockExpr | | +| test.rs:199:5:210:5 | enter test_if_loop1 | test.rs:199:22:199:22 | a | | +| test.rs:199:5:210:5 | exit test_if_loop1 (normal) | test.rs:199:5:210:5 | exit test_if_loop1 | | +| test.rs:199:22:199:22 | a | test.rs:199:22:199:27 | Param | match | +| test.rs:199:22:199:27 | Param | test.rs:201:13:203:14 | ExprStmt | | +| test.rs:199:37:210:5 | BlockExpr | test.rs:199:5:210:5 | exit test_if_loop1 (normal) | | +| test.rs:200:9:209:9 | IfExpr | test.rs:199:37:210:5 | BlockExpr | | +| test.rs:200:13:205:9 | [boolean(false)] LoopExpr | test.rs:208:13:208:13 | 0 | false | +| test.rs:200:13:205:9 | [boolean(true)] LoopExpr | test.rs:206:13:206:13 | 1 | true | +| test.rs:200:18:205:9 | BlockExpr | test.rs:201:13:203:14 | ExprStmt | | +| test.rs:201:13:203:13 | IfExpr | test.rs:204:13:204:19 | ExprStmt | | +| test.rs:201:13:203:14 | ExprStmt | test.rs:201:16:201:16 | a | | +| test.rs:201:16:201:16 | a | test.rs:201:20:201:20 | 0 | | +| test.rs:201:16:201:20 | ... > ... | test.rs:201:13:203:13 | IfExpr | false | +| test.rs:201:16:201:20 | ... > ... | test.rs:202:17:202:29 | ExprStmt | true | +| test.rs:201:20:201:20 | 0 | test.rs:201:16:201:20 | ... > ... | | +| test.rs:202:17:202:28 | [boolean(false)] BreakExpr | test.rs:200:13:205:9 | [boolean(false)] LoopExpr | break | +| test.rs:202:17:202:28 | [boolean(true)] BreakExpr | test.rs:200:13:205:9 | [boolean(true)] LoopExpr | break | +| test.rs:202:17:202:29 | ExprStmt | test.rs:202:23:202:23 | a | | +| test.rs:202:23:202:23 | a | test.rs:202:27:202:28 | 10 | | +| test.rs:202:23:202:28 | ... > ... | test.rs:202:17:202:28 | [boolean(false)] BreakExpr | false | +| test.rs:202:23:202:28 | ... > ... | test.rs:202:17:202:28 | [boolean(true)] BreakExpr | true | +| test.rs:202:27:202:28 | 10 | test.rs:202:23:202:28 | ... > ... | | +| test.rs:204:13:204:13 | a | test.rs:204:17:204:18 | 10 | | +| test.rs:204:13:204:18 | ... < ... | test.rs:200:18:205:9 | BlockExpr | | +| test.rs:204:13:204:19 | ExprStmt | test.rs:204:13:204:13 | a | | +| test.rs:204:17:204:18 | 10 | test.rs:204:13:204:18 | ... < ... | | +| test.rs:205:12:207:9 | BlockExpr | test.rs:200:9:209:9 | IfExpr | | +| test.rs:206:13:206:13 | 1 | test.rs:205:12:207:9 | BlockExpr | | +| test.rs:207:16:209:9 | BlockExpr | test.rs:200:9:209:9 | IfExpr | | +| test.rs:208:13:208:13 | 0 | test.rs:207:16:209:9 | BlockExpr | | +| test.rs:212:5:223:5 | enter test_if_loop2 | test.rs:212:22:212:22 | a | | +| test.rs:212:5:223:5 | exit test_if_loop2 (normal) | test.rs:212:5:223:5 | exit test_if_loop2 | | +| test.rs:212:22:212:22 | a | test.rs:212:22:212:27 | Param | match | +| test.rs:212:22:212:27 | Param | test.rs:214:13:216:14 | ExprStmt | | +| test.rs:212:37:223:5 | BlockExpr | test.rs:212:5:223:5 | exit test_if_loop2 (normal) | | +| test.rs:213:9:222:9 | IfExpr | test.rs:212:37:223:5 | BlockExpr | | +| test.rs:213:13:218:9 | [boolean(false)] LoopExpr | test.rs:221:13:221:13 | 0 | false | +| test.rs:213:13:218:9 | [boolean(true)] LoopExpr | test.rs:219:13:219:13 | 1 | true | +| test.rs:213:26:218:9 | BlockExpr | test.rs:214:13:216:14 | ExprStmt | | +| test.rs:214:13:216:13 | IfExpr | test.rs:217:13:217:19 | ExprStmt | | +| test.rs:214:13:216:14 | ExprStmt | test.rs:214:16:214:16 | a | | +| test.rs:214:16:214:16 | a | test.rs:214:20:214:20 | 0 | | +| test.rs:214:16:214:20 | ... > ... | test.rs:214:13:216:13 | IfExpr | false | +| test.rs:214:16:214:20 | ... > ... | test.rs:215:17:215:36 | ExprStmt | true | +| test.rs:214:20:214:20 | 0 | test.rs:214:16:214:20 | ... > ... | | +| test.rs:215:17:215:35 | [boolean(false)] BreakExpr | test.rs:213:13:218:9 | [boolean(false)] LoopExpr | break | +| test.rs:215:17:215:35 | [boolean(true)] BreakExpr | test.rs:213:13:218:9 | [boolean(true)] LoopExpr | break | +| test.rs:215:17:215:36 | ExprStmt | test.rs:215:30:215:30 | a | | +| test.rs:215:30:215:30 | a | test.rs:215:34:215:35 | 10 | | +| test.rs:215:30:215:35 | ... > ... | test.rs:215:17:215:35 | [boolean(false)] BreakExpr | false | +| test.rs:215:30:215:35 | ... > ... | test.rs:215:17:215:35 | [boolean(true)] BreakExpr | true | +| test.rs:215:34:215:35 | 10 | test.rs:215:30:215:35 | ... > ... | | +| test.rs:217:13:217:13 | a | test.rs:217:17:217:18 | 10 | | +| test.rs:217:13:217:18 | ... < ... | test.rs:213:26:218:9 | BlockExpr | | +| test.rs:217:13:217:19 | ExprStmt | test.rs:217:13:217:13 | a | | +| test.rs:217:17:217:18 | 10 | test.rs:217:13:217:18 | ... < ... | | +| test.rs:218:12:220:9 | BlockExpr | test.rs:213:9:222:9 | IfExpr | | +| test.rs:219:13:219:13 | 1 | test.rs:218:12:220:9 | BlockExpr | | +| test.rs:220:16:222:9 | BlockExpr | test.rs:213:9:222:9 | IfExpr | | +| test.rs:221:13:221:13 | 0 | test.rs:220:16:222:9 | BlockExpr | | +| test.rs:225:5:233:5 | enter test_labelled_block | test.rs:225:28:225:28 | a | | +| test.rs:225:5:233:5 | exit test_labelled_block (normal) | test.rs:225:5:233:5 | exit test_labelled_block | | +| test.rs:225:28:225:28 | a | test.rs:225:28:225:33 | Param | match | +| test.rs:225:28:225:33 | Param | test.rs:227:13:227:31 | ExprStmt | | +| test.rs:225:43:233:5 | BlockExpr | test.rs:225:5:233:5 | exit test_labelled_block (normal) | | +| test.rs:226:9:232:9 | IfExpr | test.rs:225:43:233:5 | BlockExpr | | +| test.rs:226:13:228:9 | [boolean(false)] BlockExpr | test.rs:231:13:231:13 | 0 | false | +| test.rs:226:13:228:9 | [boolean(true)] BlockExpr | test.rs:229:13:229:13 | 1 | true | +| test.rs:227:13:227:30 | [boolean(false)] BreakExpr | test.rs:226:13:228:9 | [boolean(false)] BlockExpr | break | +| test.rs:227:13:227:30 | [boolean(true)] BreakExpr | test.rs:226:13:228:9 | [boolean(true)] BlockExpr | break | +| test.rs:227:13:227:31 | ExprStmt | test.rs:227:26:227:26 | a | | +| test.rs:227:26:227:26 | a | test.rs:227:30:227:30 | 0 | | +| test.rs:227:26:227:30 | ... > ... | test.rs:227:13:227:30 | [boolean(false)] BreakExpr | false | +| test.rs:227:26:227:30 | ... > ... | test.rs:227:13:227:30 | [boolean(true)] BreakExpr | true | +| test.rs:227:30:227:30 | 0 | test.rs:227:26:227:30 | ... > ... | | +| test.rs:228:12:230:9 | BlockExpr | test.rs:226:9:232:9 | IfExpr | | +| test.rs:229:13:229:13 | 1 | test.rs:228:12:230:9 | BlockExpr | | +| test.rs:230:16:232:9 | BlockExpr | test.rs:226:9:232:9 | IfExpr | | +| test.rs:231:13:231:13 | 0 | test.rs:230:16:232:9 | BlockExpr | | +| test.rs:238:5:241:5 | enter test_and_operator | test.rs:238:26:238:26 | a | | +| test.rs:238:5:241:5 | exit test_and_operator (normal) | test.rs:238:5:241:5 | exit test_and_operator | | +| test.rs:238:26:238:26 | a | test.rs:238:26:238:32 | Param | match | +| test.rs:238:26:238:32 | Param | test.rs:238:35:238:35 | b | | +| test.rs:238:35:238:35 | b | test.rs:238:35:238:41 | Param | match | +| test.rs:238:35:238:41 | Param | test.rs:238:44:238:44 | c | | +| test.rs:238:44:238:44 | c | test.rs:238:44:238:50 | Param | match | +| test.rs:238:44:238:50 | Param | test.rs:239:9:239:28 | LetStmt | | +| test.rs:238:61:241:5 | BlockExpr | test.rs:238:5:241:5 | exit test_and_operator (normal) | | +| test.rs:239:9:239:28 | LetStmt | test.rs:239:17:239:17 | a | | +| test.rs:239:13:239:13 | d | test.rs:240:9:240:9 | d | match | +| test.rs:239:17:239:17 | a | test.rs:239:17:239:22 | [boolean(false)] ... && ... | false | +| test.rs:239:17:239:17 | a | test.rs:239:22:239:22 | b | true | +| test.rs:239:17:239:22 | [boolean(false)] ... && ... | test.rs:239:17:239:27 | ... && ... | false | +| test.rs:239:17:239:22 | [boolean(true)] ... && ... | test.rs:239:27:239:27 | c | true | +| test.rs:239:17:239:27 | ... && ... | test.rs:239:13:239:13 | d | | +| test.rs:239:22:239:22 | b | test.rs:239:17:239:22 | [boolean(false)] ... && ... | false | +| test.rs:239:22:239:22 | b | test.rs:239:17:239:22 | [boolean(true)] ... && ... | true | +| test.rs:239:27:239:27 | c | test.rs:239:17:239:27 | ... && ... | | +| test.rs:240:9:240:9 | d | test.rs:238:61:241:5 | BlockExpr | | +| test.rs:243:5:246:5 | enter test_or_operator | test.rs:243:25:243:25 | a | | +| test.rs:243:5:246:5 | exit test_or_operator (normal) | test.rs:243:5:246:5 | exit test_or_operator | | +| test.rs:243:25:243:25 | a | test.rs:243:25:243:31 | Param | match | +| test.rs:243:25:243:31 | Param | test.rs:243:34:243:34 | b | | +| test.rs:243:34:243:34 | b | test.rs:243:34:243:40 | Param | match | +| test.rs:243:34:243:40 | Param | test.rs:243:43:243:43 | c | | +| test.rs:243:43:243:43 | c | test.rs:243:43:243:49 | Param | match | +| test.rs:243:43:243:49 | Param | test.rs:244:9:244:28 | LetStmt | | +| test.rs:243:60:246:5 | BlockExpr | test.rs:243:5:246:5 | exit test_or_operator (normal) | | +| test.rs:244:9:244:28 | LetStmt | test.rs:244:17:244:17 | a | | +| test.rs:244:13:244:13 | d | test.rs:245:9:245:9 | d | match | +| test.rs:244:17:244:17 | a | test.rs:244:17:244:22 | [boolean(true)] ... \|\| ... | true | +| test.rs:244:17:244:17 | a | test.rs:244:22:244:22 | b | false | +| test.rs:244:17:244:22 | [boolean(false)] ... \|\| ... | test.rs:244:27:244:27 | c | false | +| test.rs:244:17:244:22 | [boolean(true)] ... \|\| ... | test.rs:244:17:244:27 | ... \|\| ... | true | +| test.rs:244:17:244:27 | ... \|\| ... | test.rs:244:13:244:13 | d | | +| test.rs:244:22:244:22 | b | test.rs:244:17:244:22 | [boolean(false)] ... \|\| ... | false | +| test.rs:244:22:244:22 | b | test.rs:244:17:244:22 | [boolean(true)] ... \|\| ... | true | +| test.rs:244:27:244:27 | c | test.rs:244:17:244:27 | ... \|\| ... | | +| test.rs:245:9:245:9 | d | test.rs:243:60:246:5 | BlockExpr | | +| test.rs:248:5:251:5 | enter test_or_operator_2 | test.rs:248:27:248:27 | a | | +| test.rs:248:5:251:5 | exit test_or_operator_2 (normal) | test.rs:248:5:251:5 | exit test_or_operator_2 | | +| test.rs:248:27:248:27 | a | test.rs:248:27:248:33 | Param | match | +| test.rs:248:27:248:33 | Param | test.rs:248:36:248:36 | b | | +| test.rs:248:36:248:36 | b | test.rs:248:36:248:41 | Param | match | +| test.rs:248:36:248:41 | Param | test.rs:248:44:248:44 | c | | +| test.rs:248:44:248:44 | c | test.rs:248:44:248:50 | Param | match | +| test.rs:248:44:248:50 | Param | test.rs:249:9:249:36 | LetStmt | | +| test.rs:248:61:251:5 | BlockExpr | test.rs:248:5:251:5 | exit test_or_operator_2 (normal) | | +| test.rs:249:9:249:36 | LetStmt | test.rs:249:17:249:17 | a | | +| test.rs:249:13:249:13 | d | test.rs:250:9:250:9 | d | match | +| test.rs:249:17:249:17 | a | test.rs:249:17:249:30 | [boolean(true)] ... \|\| ... | true | +| test.rs:249:17:249:17 | a | test.rs:249:23:249:23 | b | false | +| test.rs:249:17:249:30 | [boolean(false)] ... \|\| ... | test.rs:249:35:249:35 | c | false | +| test.rs:249:17:249:30 | [boolean(true)] ... \|\| ... | test.rs:249:17:249:35 | ... \|\| ... | true | +| test.rs:249:17:249:35 | ... \|\| ... | test.rs:249:13:249:13 | d | | +| test.rs:249:23:249:23 | b | test.rs:249:28:249:29 | 28 | | +| test.rs:249:23:249:29 | ... == ... | test.rs:249:17:249:30 | [boolean(false)] ... \|\| ... | false | +| test.rs:249:23:249:29 | ... == ... | test.rs:249:17:249:30 | [boolean(true)] ... \|\| ... | true | +| test.rs:249:28:249:29 | 28 | test.rs:249:23:249:29 | ... == ... | | +| test.rs:249:35:249:35 | c | test.rs:249:17:249:35 | ... \|\| ... | | +| test.rs:250:9:250:9 | d | test.rs:248:61:251:5 | BlockExpr | | +| test.rs:253:5:256:5 | enter test_not_operator | test.rs:253:26:253:26 | a | | +| test.rs:253:5:256:5 | exit test_not_operator (normal) | test.rs:253:5:256:5 | exit test_not_operator | | +| test.rs:253:26:253:26 | a | test.rs:253:26:253:32 | Param | match | +| test.rs:253:26:253:32 | Param | test.rs:254:9:254:19 | LetStmt | | +| test.rs:253:43:256:5 | BlockExpr | test.rs:253:5:256:5 | exit test_not_operator (normal) | | +| test.rs:254:9:254:19 | LetStmt | test.rs:254:18:254:18 | a | | +| test.rs:254:13:254:13 | d | test.rs:255:9:255:9 | d | match | +| test.rs:254:17:254:18 | ! ... | test.rs:254:13:254:13 | d | | +| test.rs:254:18:254:18 | a | test.rs:254:17:254:18 | ! ... | | +| test.rs:255:9:255:9 | d | test.rs:253:43:256:5 | BlockExpr | | +| test.rs:258:5:264:5 | enter test_if_and_operator | test.rs:258:29:258:29 | a | | +| test.rs:258:5:264:5 | exit test_if_and_operator (normal) | test.rs:258:5:264:5 | exit test_if_and_operator | | | test.rs:258:29:258:29 | a | test.rs:258:29:258:35 | Param | match | -| test.rs:258:29:258:35 | Param | test.rs:259:13:259:13 | a | | -| test.rs:258:46:264:5 | BlockExpr | test.rs:258:5:264:5 | exit test_if_not_operator (normal) | | -| test.rs:259:9:263:9 | IfExpr | test.rs:258:46:264:5 | BlockExpr | | -| test.rs:259:12:259:13 | [boolean(false)] ! ... | test.rs:262:13:262:17 | false | false | -| test.rs:259:12:259:13 | [boolean(true)] ! ... | test.rs:260:13:260:16 | true | true | -| test.rs:259:13:259:13 | a | test.rs:259:12:259:13 | [boolean(false)] ! ... | true | -| test.rs:259:13:259:13 | a | test.rs:259:12:259:13 | [boolean(true)] ! ... | false | -| test.rs:259:15:261:9 | BlockExpr | test.rs:259:9:263:9 | IfExpr | | -| test.rs:260:13:260:16 | true | test.rs:259:15:261:9 | BlockExpr | | +| test.rs:258:29:258:35 | Param | test.rs:258:38:258:38 | b | | +| test.rs:258:38:258:38 | b | test.rs:258:38:258:43 | Param | match | +| test.rs:258:38:258:43 | Param | test.rs:258:46:258:46 | c | | +| test.rs:258:46:258:46 | c | test.rs:258:46:258:52 | Param | match | +| test.rs:258:46:258:52 | Param | test.rs:259:12:259:12 | a | | +| test.rs:258:63:264:5 | BlockExpr | test.rs:258:5:264:5 | exit test_if_and_operator (normal) | | +| test.rs:259:9:263:9 | IfExpr | test.rs:258:63:264:5 | BlockExpr | | +| test.rs:259:12:259:12 | a | test.rs:259:12:259:17 | [boolean(false)] ... && ... | false | +| test.rs:259:12:259:12 | a | test.rs:259:17:259:17 | b | true | +| test.rs:259:12:259:17 | [boolean(false)] ... && ... | test.rs:259:12:259:22 | [boolean(false)] ... && ... | false | +| test.rs:259:12:259:17 | [boolean(true)] ... && ... | test.rs:259:22:259:22 | c | true | +| test.rs:259:12:259:22 | [boolean(false)] ... && ... | test.rs:262:13:262:17 | false | false | +| test.rs:259:12:259:22 | [boolean(true)] ... && ... | test.rs:260:13:260:16 | true | true | +| test.rs:259:17:259:17 | b | test.rs:259:12:259:17 | [boolean(false)] ... && ... | false | +| test.rs:259:17:259:17 | b | test.rs:259:12:259:17 | [boolean(true)] ... && ... | true | +| test.rs:259:22:259:22 | c | test.rs:259:12:259:22 | [boolean(false)] ... && ... | false | +| test.rs:259:22:259:22 | c | test.rs:259:12:259:22 | [boolean(true)] ... && ... | true | +| test.rs:259:24:261:9 | BlockExpr | test.rs:259:9:263:9 | IfExpr | | +| test.rs:260:13:260:16 | true | test.rs:259:24:261:9 | BlockExpr | | | test.rs:261:16:263:9 | BlockExpr | test.rs:259:9:263:9 | IfExpr | | | test.rs:262:13:262:17 | false | test.rs:261:16:263:9 | BlockExpr | | -| test.rs:269:5:271:5 | enter test_question_mark_operator_1 | test.rs:269:38:269:38 | s | | -| test.rs:269:5:271:5 | exit test_question_mark_operator_1 (normal) | test.rs:269:5:271:5 | exit test_question_mark_operator_1 | | -| test.rs:269:38:269:38 | s | test.rs:269:38:269:44 | Param | match | -| test.rs:269:38:269:44 | Param | test.rs:270:9:270:11 | str | | -| test.rs:269:62:271:5 | BlockExpr | test.rs:269:5:271:5 | exit test_question_mark_operator_1 (normal) | | -| test.rs:270:9:270:11 | str | test.rs:270:9:270:26 | ... .parse(...) | | -| test.rs:270:9:270:26 | ... .parse(...) | test.rs:270:9:270:27 | TryExpr | | -| test.rs:270:9:270:27 | TryExpr | test.rs:269:5:271:5 | exit test_question_mark_operator_1 (normal) | return | -| test.rs:270:9:270:27 | TryExpr | test.rs:270:31:270:31 | 4 | match | -| test.rs:270:9:270:31 | ... + ... | test.rs:269:62:271:5 | BlockExpr | | -| test.rs:270:31:270:31 | 4 | test.rs:270:9:270:31 | ... + ... | | -| test.rs:273:5:278:5 | enter test_question_mark_operator_2 | test.rs:273:38:273:38 | b | | -| test.rs:273:5:278:5 | exit test_question_mark_operator_2 (normal) | test.rs:273:5:278:5 | exit test_question_mark_operator_2 | | -| test.rs:273:38:273:38 | b | test.rs:273:38:273:52 | Param | match | -| test.rs:273:38:273:52 | Param | test.rs:274:15:274:15 | b | | -| test.rs:273:71:278:5 | BlockExpr | test.rs:273:5:278:5 | exit test_question_mark_operator_2 (normal) | | -| test.rs:274:9:277:9 | MatchExpr | test.rs:273:71:278:5 | BlockExpr | | -| test.rs:274:15:274:15 | b | test.rs:274:15:274:16 | TryExpr | | -| test.rs:274:15:274:16 | TryExpr | test.rs:273:5:278:5 | exit test_question_mark_operator_2 (normal) | return | -| test.rs:274:15:274:16 | TryExpr | test.rs:275:13:275:16 | true | match | -| test.rs:275:13:275:16 | LiteralPat | test.rs:275:21:275:24 | Some | match | -| test.rs:275:13:275:16 | LiteralPat | test.rs:276:13:276:17 | false | no-match | -| test.rs:275:13:275:16 | true | test.rs:275:13:275:16 | LiteralPat | | -| test.rs:275:21:275:24 | Some | test.rs:275:26:275:30 | false | | -| test.rs:275:21:275:31 | CallExpr | test.rs:274:9:277:9 | MatchExpr | | -| test.rs:275:26:275:30 | false | test.rs:275:21:275:31 | CallExpr | | -| test.rs:276:13:276:17 | LiteralPat | test.rs:276:22:276:25 | Some | match | -| test.rs:276:13:276:17 | false | test.rs:276:13:276:17 | LiteralPat | | -| test.rs:276:22:276:25 | Some | test.rs:276:27:276:30 | true | | -| test.rs:276:22:276:31 | CallExpr | test.rs:274:9:277:9 | MatchExpr | | -| test.rs:276:27:276:30 | true | test.rs:276:22:276:31 | CallExpr | | -| test.rs:283:5:289:5 | enter test_match | test.rs:283:19:283:29 | maybe_digit | | -| test.rs:283:5:289:5 | exit test_match (normal) | test.rs:283:5:289:5 | exit test_match | | -| test.rs:283:19:283:29 | maybe_digit | test.rs:283:19:283:42 | Param | match | -| test.rs:283:19:283:42 | Param | test.rs:284:15:284:25 | maybe_digit | | -| test.rs:283:52:289:5 | BlockExpr | test.rs:283:5:289:5 | exit test_match (normal) | | -| test.rs:284:9:288:9 | MatchExpr | test.rs:283:52:289:5 | BlockExpr | | -| test.rs:284:15:284:25 | maybe_digit | test.rs:285:13:285:27 | TupleStructPat | | -| test.rs:285:13:285:27 | TupleStructPat | test.rs:285:26:285:26 | x | match | -| test.rs:285:13:285:27 | TupleStructPat | test.rs:286:13:286:27 | TupleStructPat | no-match | -| test.rs:285:26:285:26 | x | test.rs:285:32:285:32 | x | match | -| test.rs:285:32:285:32 | x | test.rs:285:36:285:37 | 10 | | -| test.rs:285:32:285:37 | ... < ... | test.rs:285:42:285:42 | x | true | -| test.rs:285:32:285:37 | ... < ... | test.rs:286:13:286:27 | TupleStructPat | false | -| test.rs:285:36:285:37 | 10 | test.rs:285:32:285:37 | ... < ... | | -| test.rs:285:42:285:42 | x | test.rs:285:46:285:46 | 5 | | -| test.rs:285:42:285:46 | ... + ... | test.rs:284:9:288:9 | MatchExpr | | -| test.rs:285:46:285:46 | 5 | test.rs:285:42:285:46 | ... + ... | | -| test.rs:286:13:286:27 | TupleStructPat | test.rs:286:26:286:26 | x | match | -| test.rs:286:13:286:27 | TupleStructPat | test.rs:287:13:287:24 | PathPat | no-match | -| test.rs:286:26:286:26 | x | test.rs:286:32:286:32 | x | match | -| test.rs:286:32:286:32 | x | test.rs:284:9:288:9 | MatchExpr | | -| test.rs:287:13:287:24 | PathPat | test.rs:287:29:287:29 | 5 | match | -| test.rs:287:29:287:29 | 5 | test.rs:284:9:288:9 | MatchExpr | | -| test.rs:291:5:300:5 | enter test_match_with_return_in_scrutinee | test.rs:291:44:291:54 | maybe_digit | | -| test.rs:291:5:300:5 | exit test_match_with_return_in_scrutinee (normal) | test.rs:291:5:300:5 | exit test_match_with_return_in_scrutinee | | -| test.rs:291:44:291:54 | maybe_digit | test.rs:291:44:291:67 | Param | match | -| test.rs:291:44:291:67 | Param | test.rs:292:19:292:29 | maybe_digit | | -| test.rs:291:77:300:5 | BlockExpr | test.rs:291:5:300:5 | exit test_match_with_return_in_scrutinee (normal) | | -| test.rs:292:9:299:9 | MatchExpr | test.rs:291:77:300:5 | BlockExpr | | -| test.rs:292:16:296:9 | IfExpr | test.rs:297:13:297:27 | TupleStructPat | | -| test.rs:292:19:292:29 | maybe_digit | test.rs:292:34:292:37 | Some | | -| test.rs:292:19:292:40 | ... == ... | test.rs:293:13:293:21 | ExprStmt | true | -| test.rs:292:19:292:40 | ... == ... | test.rs:295:13:295:23 | maybe_digit | false | -| test.rs:292:34:292:37 | Some | test.rs:292:39:292:39 | 3 | | -| test.rs:292:34:292:40 | CallExpr | test.rs:292:19:292:40 | ... == ... | | -| test.rs:292:39:292:39 | 3 | test.rs:292:34:292:40 | CallExpr | | -| test.rs:293:13:293:20 | ReturnExpr | test.rs:291:5:300:5 | exit test_match_with_return_in_scrutinee (normal) | return | -| test.rs:293:13:293:21 | ExprStmt | test.rs:293:20:293:20 | 3 | | -| test.rs:293:20:293:20 | 3 | test.rs:293:13:293:20 | ReturnExpr | | -| test.rs:294:16:296:9 | BlockExpr | test.rs:292:16:296:9 | IfExpr | | -| test.rs:295:13:295:23 | maybe_digit | test.rs:294:16:296:9 | BlockExpr | | -| test.rs:297:13:297:27 | TupleStructPat | test.rs:297:26:297:26 | x | match | -| test.rs:297:13:297:27 | TupleStructPat | test.rs:298:13:298:24 | PathPat | no-match | -| test.rs:297:26:297:26 | x | test.rs:297:32:297:32 | x | match | -| test.rs:297:32:297:32 | x | test.rs:297:36:297:36 | 5 | | -| test.rs:297:32:297:36 | ... + ... | test.rs:292:9:299:9 | MatchExpr | | -| test.rs:297:36:297:36 | 5 | test.rs:297:32:297:36 | ... + ... | | -| test.rs:298:13:298:24 | PathPat | test.rs:298:29:298:29 | 5 | match | -| test.rs:298:29:298:29 | 5 | test.rs:292:9:299:9 | MatchExpr | | -| test.rs:302:5:307:5 | enter test_match_and | test.rs:302:23:302:26 | cond | | -| test.rs:302:5:307:5 | exit test_match_and (normal) | test.rs:302:5:307:5 | exit test_match_and | | -| test.rs:302:23:302:26 | cond | test.rs:302:23:302:32 | Param | match | -| test.rs:302:23:302:32 | Param | test.rs:302:35:302:35 | r | | -| test.rs:302:35:302:35 | r | test.rs:302:35:302:48 | Param | match | -| test.rs:302:35:302:48 | Param | test.rs:303:16:303:16 | r | | -| test.rs:302:59:307:5 | BlockExpr | test.rs:302:5:307:5 | exit test_match_and (normal) | | -| test.rs:303:9:306:18 | ... && ... | test.rs:302:59:307:5 | BlockExpr | | -| test.rs:303:10:306:9 | [boolean(false)] MatchExpr | test.rs:303:9:306:18 | ... && ... | false | -| test.rs:303:10:306:9 | [boolean(true)] MatchExpr | test.rs:306:15:306:18 | cond | true | -| test.rs:303:16:303:16 | r | test.rs:304:13:304:19 | TupleStructPat | | -| test.rs:304:13:304:19 | TupleStructPat | test.rs:304:18:304:18 | a | match | -| test.rs:304:13:304:19 | TupleStructPat | test.rs:305:13:305:13 | WildcardPat | no-match | -| test.rs:304:18:304:18 | a | test.rs:304:24:304:24 | a | match | -| test.rs:304:24:304:24 | a | test.rs:303:10:306:9 | [boolean(false)] MatchExpr | false | -| test.rs:304:24:304:24 | a | test.rs:303:10:306:9 | [boolean(true)] MatchExpr | true | -| test.rs:305:13:305:13 | WildcardPat | test.rs:305:18:305:22 | false | match | -| test.rs:305:18:305:22 | false | test.rs:303:10:306:9 | [boolean(false)] MatchExpr | false | -| test.rs:306:15:306:18 | cond | test.rs:303:9:306:18 | ... && ... | | -| test.rs:309:5:314:5 | enter test_match_with_no_arms | test.rs:309:35:309:35 | r | | -| test.rs:309:5:314:5 | exit test_match_with_no_arms (normal) | test.rs:309:5:314:5 | exit test_match_with_no_arms | | -| test.rs:309:35:309:35 | r | test.rs:309:35:309:58 | Param | match | -| test.rs:309:35:309:58 | Param | test.rs:310:15:310:15 | r | | -| test.rs:309:66:314:5 | BlockExpr | test.rs:309:5:314:5 | exit test_match_with_no_arms (normal) | | -| test.rs:310:9:313:9 | MatchExpr | test.rs:309:66:314:5 | BlockExpr | | -| test.rs:310:15:310:15 | r | test.rs:311:13:311:21 | TupleStructPat | | -| test.rs:311:13:311:21 | TupleStructPat | test.rs:311:16:311:20 | value | match | -| test.rs:311:13:311:21 | TupleStructPat | test.rs:312:13:312:22 | TupleStructPat | no-match | -| test.rs:311:16:311:20 | value | test.rs:311:26:311:30 | value | match | -| test.rs:311:26:311:30 | value | test.rs:310:9:313:9 | MatchExpr | | -| test.rs:312:13:312:22 | TupleStructPat | test.rs:312:17:312:21 | never | match | -| test.rs:312:17:312:21 | never | test.rs:312:33:312:37 | never | match | -| test.rs:312:27:312:40 | MatchExpr | test.rs:310:9:313:9 | MatchExpr | | -| test.rs:312:33:312:37 | never | test.rs:312:27:312:40 | MatchExpr | | -| test.rs:319:5:322:5 | enter test_let_match | test.rs:319:23:319:23 | a | | -| test.rs:319:5:322:5 | exit test_let_match (normal) | test.rs:319:5:322:5 | exit test_let_match | | -| test.rs:319:23:319:23 | a | test.rs:319:23:319:36 | Param | match | -| test.rs:319:23:319:36 | Param | test.rs:320:9:320:49 | LetStmt | | -| test.rs:319:39:322:5 | BlockExpr | test.rs:319:5:322:5 | exit test_let_match (normal) | | -| test.rs:320:9:320:49 | LetStmt | test.rs:320:23:320:23 | a | | -| test.rs:320:13:320:19 | TupleStructPat | test.rs:320:18:320:18 | n | match | -| test.rs:320:13:320:19 | TupleStructPat | test.rs:320:32:320:46 | "Expected some" | no-match | -| test.rs:320:18:320:18 | n | test.rs:321:9:321:9 | n | match | -| test.rs:320:23:320:23 | a | test.rs:320:13:320:19 | TupleStructPat | | -| test.rs:320:32:320:46 | "Expected some" | test.rs:320:30:320:48 | BlockExpr | | -| test.rs:321:9:321:9 | n | test.rs:319:39:322:5 | BlockExpr | | -| test.rs:324:5:330:5 | enter test_let_with_return | test.rs:324:29:324:29 | m | | -| test.rs:324:5:330:5 | exit test_let_with_return (normal) | test.rs:324:5:330:5 | exit test_let_with_return | | -| test.rs:324:29:324:29 | m | test.rs:324:29:324:42 | Param | match | -| test.rs:324:29:324:42 | Param | test.rs:325:9:328:10 | LetStmt | | -| test.rs:324:45:330:5 | BlockExpr | test.rs:324:5:330:5 | exit test_let_with_return (normal) | | -| test.rs:325:9:328:10 | LetStmt | test.rs:325:25:325:25 | m | | -| test.rs:325:13:325:15 | ret | test.rs:329:9:329:12 | true | match | -| test.rs:325:19:328:9 | MatchExpr | test.rs:325:13:325:15 | ret | | -| test.rs:325:25:325:25 | m | test.rs:326:13:326:21 | TupleStructPat | | -| test.rs:326:13:326:21 | TupleStructPat | test.rs:326:18:326:20 | ret | match | -| test.rs:326:13:326:21 | TupleStructPat | test.rs:327:13:327:16 | None | no-match | -| test.rs:326:18:326:20 | ret | test.rs:326:26:326:28 | ret | match | -| test.rs:326:26:326:28 | ret | test.rs:325:19:328:9 | MatchExpr | | -| test.rs:327:13:327:16 | None | test.rs:327:28:327:32 | false | match | -| test.rs:327:21:327:32 | ReturnExpr | test.rs:324:5:330:5 | exit test_let_with_return (normal) | return | -| test.rs:327:28:327:32 | false | test.rs:327:21:327:32 | ReturnExpr | | -| test.rs:329:9:329:12 | true | test.rs:324:45:330:5 | BlockExpr | | -| test.rs:335:5:338:5 | enter empty_tuple_pattern | test.rs:335:28:335:31 | unit | | -| test.rs:335:5:338:5 | exit empty_tuple_pattern (normal) | test.rs:335:5:338:5 | exit empty_tuple_pattern | | -| test.rs:335:28:335:31 | unit | test.rs:335:28:335:35 | Param | match | -| test.rs:335:28:335:35 | Param | test.rs:336:9:336:22 | LetStmt | | -| test.rs:336:9:336:22 | LetStmt | test.rs:336:18:336:21 | unit | | -| test.rs:336:13:336:14 | TuplePat | test.rs:337:9:337:15 | ExprStmt | match | -| test.rs:336:18:336:21 | unit | test.rs:336:13:336:14 | TuplePat | | -| test.rs:337:9:337:14 | ReturnExpr | test.rs:335:5:338:5 | exit empty_tuple_pattern (normal) | return | -| test.rs:337:9:337:15 | ExprStmt | test.rs:337:9:337:14 | ReturnExpr | | -| test.rs:342:5:346:5 | enter empty_struct_pattern | test.rs:342:29:342:30 | st | | -| test.rs:342:5:346:5 | exit empty_struct_pattern (normal) | test.rs:342:5:346:5 | exit empty_struct_pattern | | -| test.rs:342:29:342:30 | st | test.rs:342:29:342:40 | Param | match | -| test.rs:342:29:342:40 | Param | test.rs:343:15:343:16 | st | | -| test.rs:342:50:346:5 | BlockExpr | test.rs:342:5:346:5 | exit empty_struct_pattern (normal) | | -| test.rs:343:9:345:9 | MatchExpr | test.rs:342:50:346:5 | BlockExpr | | -| test.rs:343:15:343:16 | st | test.rs:344:13:344:23 | RecordPat | | -| test.rs:344:13:344:23 | RecordPat | test.rs:344:28:344:28 | 1 | match | -| test.rs:344:28:344:28 | 1 | test.rs:343:9:345:9 | MatchExpr | | -| test.rs:348:5:355:5 | enter range_pattern | test.rs:349:15:349:16 | 42 | | -| test.rs:348:5:355:5 | exit range_pattern (normal) | test.rs:348:5:355:5 | exit range_pattern | | -| test.rs:348:31:355:5 | BlockExpr | test.rs:348:5:355:5 | exit range_pattern (normal) | | -| test.rs:349:9:354:9 | MatchExpr | test.rs:348:31:355:5 | BlockExpr | | -| test.rs:349:15:349:16 | 42 | test.rs:350:13:350:15 | RangePat | | -| test.rs:350:13:350:15 | RangePat | test.rs:350:15:350:15 | 0 | match | -| test.rs:350:13:350:15 | RangePat | test.rs:351:13:351:16 | RangePat | no-match | -| test.rs:350:15:350:15 | 0 | test.rs:350:15:350:15 | LiteralPat | | -| test.rs:350:15:350:15 | LiteralPat | test.rs:350:20:350:20 | 1 | match | -| test.rs:350:15:350:15 | LiteralPat | test.rs:351:13:351:16 | RangePat | no-match | -| test.rs:350:20:350:20 | 1 | test.rs:349:9:354:9 | MatchExpr | | -| test.rs:351:13:351:13 | 1 | test.rs:351:13:351:13 | LiteralPat | | -| test.rs:351:13:351:13 | LiteralPat | test.rs:351:16:351:16 | 2 | match | -| test.rs:351:13:351:13 | LiteralPat | test.rs:352:13:352:15 | RangePat | no-match | -| test.rs:351:13:351:16 | RangePat | test.rs:351:13:351:13 | 1 | match | -| test.rs:351:13:351:16 | RangePat | test.rs:352:13:352:15 | RangePat | no-match | -| test.rs:351:16:351:16 | 2 | test.rs:351:16:351:16 | LiteralPat | | -| test.rs:351:16:351:16 | LiteralPat | test.rs:351:21:351:21 | 2 | match | -| test.rs:351:16:351:16 | LiteralPat | test.rs:352:13:352:15 | RangePat | no-match | -| test.rs:351:21:351:21 | 2 | test.rs:349:9:354:9 | MatchExpr | | -| test.rs:352:13:352:13 | 5 | test.rs:352:13:352:13 | LiteralPat | | -| test.rs:352:13:352:13 | LiteralPat | test.rs:352:20:352:20 | 3 | match | -| test.rs:352:13:352:13 | LiteralPat | test.rs:353:13:353:14 | RestPat | no-match | -| test.rs:352:13:352:15 | RangePat | test.rs:352:13:352:13 | 5 | match | -| test.rs:352:13:352:15 | RangePat | test.rs:353:13:353:14 | RestPat | no-match | -| test.rs:352:20:352:20 | 3 | test.rs:349:9:354:9 | MatchExpr | | -| test.rs:353:13:353:14 | RestPat | test.rs:353:19:353:19 | 4 | match | -| test.rs:353:19:353:19 | 4 | test.rs:349:9:354:9 | MatchExpr | | -| test.rs:359:5:364:5 | enter test_infinite_loop | test.rs:360:9:362:9 | ExprStmt | | -| test.rs:360:9:362:9 | ExprStmt | test.rs:361:13:361:13 | 1 | | -| test.rs:360:14:362:9 | BlockExpr | test.rs:361:13:361:13 | 1 | | -| test.rs:361:13:361:13 | 1 | test.rs:360:14:362:9 | BlockExpr | | -| test.rs:368:5:370:5 | enter say_hello | test.rs:369:9:369:34 | ExprStmt | | -| test.rs:368:5:370:5 | exit say_hello (normal) | test.rs:368:5:370:5 | exit say_hello | | -| test.rs:368:26:370:5 | BlockExpr | test.rs:368:5:370:5 | exit say_hello (normal) | | -| test.rs:369:9:369:33 | $crate::io::_print | test.rs:369:18:369:32 | "hello, world!\\n" | | -| test.rs:369:9:369:33 | MacroExpr | test.rs:368:26:370:5 | BlockExpr | | -| test.rs:369:9:369:34 | ExprStmt | test.rs:369:18:369:32 | MacroStmts | | -| test.rs:369:18:369:32 | "hello, world!\\n" | test.rs:369:18:369:32 | FormatArgsExpr | | -| test.rs:369:18:369:32 | BlockExpr | test.rs:369:9:369:33 | MacroExpr | | -| test.rs:369:18:369:32 | CallExpr | test.rs:369:18:369:32 | BlockExpr | | -| test.rs:369:18:369:32 | ExprStmt | test.rs:369:9:369:33 | $crate::io::_print | | -| test.rs:369:18:369:32 | FormatArgsExpr | test.rs:369:18:369:32 | MacroExpr | | -| test.rs:369:18:369:32 | MacroExpr | test.rs:369:18:369:32 | CallExpr | | -| test.rs:369:18:369:32 | MacroStmts | test.rs:369:18:369:32 | ExprStmt | | -| test.rs:372:5:384:5 | enter async_block | test.rs:373:9:375:10 | LetStmt | | -| test.rs:372:5:384:5 | exit async_block (normal) | test.rs:372:5:384:5 | exit async_block | | -| test.rs:372:28:384:5 | BlockExpr | test.rs:372:5:384:5 | exit async_block (normal) | | -| test.rs:373:9:375:10 | LetStmt | test.rs:373:26:375:9 | BlockExpr | | -| test.rs:373:13:373:22 | say_godbye | test.rs:376:9:378:10 | LetStmt | match | -| test.rs:373:26:375:9 | BlockExpr | test.rs:373:13:373:22 | say_godbye | | -| test.rs:373:26:375:9 | enter BlockExpr | test.rs:374:13:374:42 | ExprStmt | | -| test.rs:373:26:375:9 | exit BlockExpr (normal) | test.rs:373:26:375:9 | exit BlockExpr | | -| test.rs:374:13:374:41 | $crate::io::_print | test.rs:374:22:374:40 | "godbye, everyone!\\n" | | -| test.rs:374:13:374:41 | MacroExpr | test.rs:373:26:375:9 | exit BlockExpr (normal) | | -| test.rs:374:13:374:42 | ExprStmt | test.rs:374:22:374:40 | MacroStmts | | -| test.rs:374:22:374:40 | "godbye, everyone!\\n" | test.rs:374:22:374:40 | FormatArgsExpr | | -| test.rs:374:22:374:40 | BlockExpr | test.rs:374:13:374:41 | MacroExpr | | -| test.rs:374:22:374:40 | CallExpr | test.rs:374:22:374:40 | BlockExpr | | -| test.rs:374:22:374:40 | ExprStmt | test.rs:374:13:374:41 | $crate::io::_print | | -| test.rs:374:22:374:40 | FormatArgsExpr | test.rs:374:22:374:40 | MacroExpr | | -| test.rs:374:22:374:40 | MacroExpr | test.rs:374:22:374:40 | CallExpr | | -| test.rs:374:22:374:40 | MacroStmts | test.rs:374:22:374:40 | ExprStmt | | -| test.rs:376:9:378:10 | LetStmt | test.rs:376:31:378:9 | BlockExpr | | -| test.rs:376:13:376:27 | say_how_are_you | test.rs:379:9:379:28 | LetStmt | match | -| test.rs:376:31:378:9 | BlockExpr | test.rs:376:13:376:27 | say_how_are_you | | -| test.rs:376:31:378:9 | enter BlockExpr | test.rs:377:13:377:37 | ExprStmt | | -| test.rs:376:31:378:9 | exit BlockExpr (normal) | test.rs:376:31:378:9 | exit BlockExpr | | -| test.rs:377:13:377:36 | $crate::io::_print | test.rs:377:22:377:35 | "how are you?\\n" | | -| test.rs:377:13:377:36 | MacroExpr | test.rs:376:31:378:9 | exit BlockExpr (normal) | | -| test.rs:377:13:377:37 | ExprStmt | test.rs:377:22:377:35 | MacroStmts | | -| test.rs:377:22:377:35 | "how are you?\\n" | test.rs:377:22:377:35 | FormatArgsExpr | | -| test.rs:377:22:377:35 | BlockExpr | test.rs:377:13:377:36 | MacroExpr | | -| test.rs:377:22:377:35 | CallExpr | test.rs:377:22:377:35 | BlockExpr | | -| test.rs:377:22:377:35 | ExprStmt | test.rs:377:13:377:36 | $crate::io::_print | | -| test.rs:377:22:377:35 | FormatArgsExpr | test.rs:377:22:377:35 | MacroExpr | | -| test.rs:377:22:377:35 | MacroExpr | test.rs:377:22:377:35 | CallExpr | | -| test.rs:377:22:377:35 | MacroStmts | test.rs:377:22:377:35 | ExprStmt | | -| test.rs:379:9:379:28 | LetStmt | test.rs:379:20:379:27 | BlockExpr | | -| test.rs:379:13:379:16 | noop | test.rs:380:9:380:26 | ExprStmt | match | -| test.rs:379:20:379:27 | BlockExpr | test.rs:379:13:379:16 | noop | | -| test.rs:380:9:380:17 | say_hello | test.rs:380:9:380:19 | CallExpr | | -| test.rs:380:9:380:19 | CallExpr | test.rs:380:9:380:25 | AwaitExpr | | -| test.rs:380:9:380:25 | AwaitExpr | test.rs:381:9:381:30 | ExprStmt | | -| test.rs:380:9:380:26 | ExprStmt | test.rs:380:9:380:17 | say_hello | | -| test.rs:381:9:381:23 | say_how_are_you | test.rs:381:9:381:29 | AwaitExpr | | -| test.rs:381:9:381:29 | AwaitExpr | test.rs:382:9:382:25 | ExprStmt | | -| test.rs:381:9:381:30 | ExprStmt | test.rs:381:9:381:23 | say_how_are_you | | -| test.rs:382:9:382:18 | say_godbye | test.rs:382:9:382:24 | AwaitExpr | | -| test.rs:382:9:382:24 | AwaitExpr | test.rs:383:9:383:19 | ExprStmt | | -| test.rs:382:9:382:25 | ExprStmt | test.rs:382:9:382:18 | say_godbye | | -| test.rs:383:9:383:12 | noop | test.rs:383:9:383:18 | AwaitExpr | | -| test.rs:383:9:383:18 | AwaitExpr | test.rs:372:28:384:5 | BlockExpr | | -| test.rs:383:9:383:19 | ExprStmt | test.rs:383:9:383:12 | noop | | -| test.rs:390:5:392:5 | enter add_two | test.rs:390:22:390:22 | n | | -| test.rs:390:5:392:5 | exit add_two (normal) | test.rs:390:5:392:5 | exit add_two | | -| test.rs:390:22:390:22 | n | test.rs:390:22:390:27 | Param | match | -| test.rs:390:22:390:27 | Param | test.rs:391:9:391:9 | n | | -| test.rs:390:37:392:5 | BlockExpr | test.rs:390:5:392:5 | exit add_two (normal) | | -| test.rs:391:9:391:9 | n | test.rs:391:13:391:13 | 2 | | -| test.rs:391:9:391:13 | ... + ... | test.rs:390:37:392:5 | BlockExpr | | -| test.rs:391:13:391:13 | 2 | test.rs:391:9:391:13 | ... + ... | | -| test.rs:396:5:404:5 | enter const_block_assert | test.rs:399:9:401:9 | ExprStmt | | -| test.rs:396:5:404:5 | exit const_block_assert (normal) | test.rs:396:5:404:5 | exit const_block_assert | | -| test.rs:396:41:404:5 | BlockExpr | test.rs:396:5:404:5 | exit const_block_assert (normal) | | -| test.rs:399:9:401:9 | BlockExpr | test.rs:403:9:403:10 | 42 | | -| test.rs:399:9:401:9 | ExprStmt | test.rs:400:13:400:50 | ExprStmt | | -| test.rs:400:13:400:49 | $crate::panicking::panic_explicit | test.rs:400:13:400:49 | CallExpr | | -| test.rs:400:13:400:49 | BlockExpr | test.rs:400:13:400:49 | MacroExpr | | -| test.rs:400:13:400:49 | BlockExpr | test.rs:400:13:400:49 | exit panic_cold_explicit (normal) | | -| test.rs:400:13:400:49 | BlockExpr | test.rs:400:21:400:48 | IfExpr | | -| test.rs:400:13:400:49 | CallExpr | test.rs:400:13:400:49 | BlockExpr | | -| test.rs:400:13:400:49 | CallExpr | test.rs:400:13:400:49 | BlockExpr | | -| test.rs:400:13:400:49 | ExprStmt | test.rs:400:13:400:49 | MacroStmts | | -| test.rs:400:13:400:49 | ExprStmt | test.rs:400:13:400:49 | panic_cold_explicit | | -| test.rs:400:13:400:49 | MacroExpr | test.rs:399:9:401:9 | BlockExpr | | -| test.rs:400:13:400:49 | MacroExpr | test.rs:400:13:400:49 | BlockExpr | | -| test.rs:400:13:400:49 | MacroStmts | test.rs:400:13:400:49 | panic_cold_explicit | | -| test.rs:400:13:400:49 | enter panic_cold_explicit | test.rs:400:13:400:49 | $crate::panicking::panic_explicit | | -| test.rs:400:13:400:49 | exit panic_cold_explicit (normal) | test.rs:400:13:400:49 | exit panic_cold_explicit | | -| test.rs:400:13:400:49 | panic_cold_explicit | test.rs:400:13:400:49 | CallExpr | | -| test.rs:400:13:400:49 | panic_cold_explicit | test.rs:400:13:400:49 | ExprStmt | | -| test.rs:400:13:400:50 | ExprStmt | test.rs:400:21:400:48 | MacroStmts | | -| test.rs:400:21:400:42 | std::mem::size_of::<...> | test.rs:400:21:400:44 | CallExpr | | -| test.rs:400:21:400:44 | CallExpr | test.rs:400:48:400:48 | 0 | | -| test.rs:400:21:400:48 | ... > ... | test.rs:400:21:400:48 | [boolean(false)] ! ... | true | -| test.rs:400:21:400:48 | ... > ... | test.rs:400:21:400:48 | [boolean(true)] ! ... | false | -| test.rs:400:21:400:48 | BlockExpr | test.rs:400:13:400:49 | MacroExpr | | -| test.rs:400:21:400:48 | IfExpr | test.rs:400:21:400:48 | BlockExpr | | -| test.rs:400:21:400:48 | MacroStmts | test.rs:400:21:400:42 | std::mem::size_of::<...> | | -| test.rs:400:21:400:48 | [boolean(false)] ! ... | test.rs:400:21:400:48 | IfExpr | false | -| test.rs:400:21:400:48 | [boolean(true)] ! ... | test.rs:400:13:400:49 | ExprStmt | true | -| test.rs:400:48:400:48 | 0 | test.rs:400:21:400:48 | ... > ... | | -| test.rs:403:9:403:10 | 42 | test.rs:396:41:404:5 | BlockExpr | | -| test.rs:406:5:415:5 | enter const_block_panic | test.rs:407:9:407:30 | Const | | -| test.rs:406:5:415:5 | exit const_block_panic (normal) | test.rs:406:5:415:5 | exit const_block_panic | | -| test.rs:406:35:415:5 | BlockExpr | test.rs:406:5:415:5 | exit const_block_panic (normal) | | -| test.rs:407:9:407:30 | Const | test.rs:408:9:413:9 | ExprStmt | | -| test.rs:408:9:413:9 | ExprStmt | test.rs:408:12:408:16 | false | | -| test.rs:408:9:413:9 | IfExpr | test.rs:414:9:414:9 | N | | -| test.rs:408:12:408:16 | false | test.rs:408:9:413:9 | IfExpr | false | -| test.rs:411:17:411:24 | $crate::panicking::panic_explicit | test.rs:411:17:411:24 | CallExpr | | -| test.rs:411:17:411:24 | BlockExpr | test.rs:411:17:411:24 | exit panic_cold_explicit (normal) | | -| test.rs:411:17:411:24 | CallExpr | test.rs:411:17:411:24 | BlockExpr | | -| test.rs:411:17:411:24 | enter panic_cold_explicit | test.rs:411:17:411:24 | $crate::panicking::panic_explicit | | -| test.rs:411:17:411:24 | exit panic_cold_explicit (normal) | test.rs:411:17:411:24 | exit panic_cold_explicit | | -| test.rs:414:9:414:9 | N | test.rs:406:35:415:5 | BlockExpr | | -| test.rs:418:1:423:1 | enter dead_code | test.rs:419:5:421:5 | ExprStmt | | -| test.rs:418:1:423:1 | exit dead_code (normal) | test.rs:418:1:423:1 | exit dead_code | | -| test.rs:419:5:421:5 | ExprStmt | test.rs:419:9:419:12 | true | | -| test.rs:419:9:419:12 | true | test.rs:420:9:420:17 | ExprStmt | true | -| test.rs:420:9:420:16 | ReturnExpr | test.rs:418:1:423:1 | exit dead_code (normal) | return | -| test.rs:420:9:420:17 | ExprStmt | test.rs:420:16:420:16 | 0 | | -| test.rs:420:16:420:16 | 0 | test.rs:420:9:420:16 | ReturnExpr | | -| test.rs:425:1:438:1 | enter labelled_block1 | test.rs:426:5:437:6 | LetStmt | | -| test.rs:425:1:438:1 | exit labelled_block1 (normal) | test.rs:425:1:438:1 | exit labelled_block1 | | -| test.rs:425:29:438:1 | BlockExpr | test.rs:425:1:438:1 | exit labelled_block1 (normal) | | -| test.rs:426:5:437:6 | LetStmt | test.rs:427:9:427:19 | ExprStmt | | -| test.rs:426:9:426:14 | result | test.rs:425:29:438:1 | BlockExpr | match | -| test.rs:426:18:437:5 | BlockExpr | test.rs:426:9:426:14 | result | | -| test.rs:427:9:427:16 | do_thing | test.rs:427:9:427:18 | CallExpr | | -| test.rs:427:9:427:18 | CallExpr | test.rs:428:9:430:9 | ExprStmt | | -| test.rs:427:9:427:19 | ExprStmt | test.rs:427:9:427:16 | do_thing | | -| test.rs:428:9:430:9 | ExprStmt | test.rs:428:12:428:28 | condition_not_met | | -| test.rs:428:9:430:9 | IfExpr | test.rs:431:9:431:24 | ExprStmt | | -| test.rs:428:12:428:28 | condition_not_met | test.rs:428:12:428:30 | CallExpr | | -| test.rs:428:12:428:30 | CallExpr | test.rs:428:9:430:9 | IfExpr | false | -| test.rs:428:12:428:30 | CallExpr | test.rs:429:13:429:27 | ExprStmt | true | -| test.rs:429:13:429:26 | BreakExpr | test.rs:426:18:437:5 | BlockExpr | break | -| test.rs:429:13:429:27 | ExprStmt | test.rs:429:26:429:26 | 1 | | -| test.rs:429:26:429:26 | 1 | test.rs:429:13:429:26 | BreakExpr | | -| test.rs:431:9:431:21 | do_next_thing | test.rs:431:9:431:23 | CallExpr | | -| test.rs:431:9:431:23 | CallExpr | test.rs:432:9:434:9 | ExprStmt | | -| test.rs:431:9:431:24 | ExprStmt | test.rs:431:9:431:21 | do_next_thing | | -| test.rs:432:9:434:9 | ExprStmt | test.rs:432:12:432:28 | condition_not_met | | -| test.rs:432:9:434:9 | IfExpr | test.rs:435:9:435:24 | ExprStmt | | -| test.rs:432:12:432:28 | condition_not_met | test.rs:432:12:432:30 | CallExpr | | -| test.rs:432:12:432:30 | CallExpr | test.rs:432:9:434:9 | IfExpr | false | -| test.rs:432:12:432:30 | CallExpr | test.rs:433:13:433:27 | ExprStmt | true | -| test.rs:433:13:433:26 | BreakExpr | test.rs:426:18:437:5 | BlockExpr | break | -| test.rs:433:13:433:27 | ExprStmt | test.rs:433:26:433:26 | 2 | | -| test.rs:433:26:433:26 | 2 | test.rs:433:13:433:26 | BreakExpr | | -| test.rs:435:9:435:21 | do_last_thing | test.rs:435:9:435:23 | CallExpr | | -| test.rs:435:9:435:23 | CallExpr | test.rs:436:9:436:9 | 3 | | -| test.rs:435:9:435:24 | ExprStmt | test.rs:435:9:435:21 | do_last_thing | | -| test.rs:436:9:436:9 | 3 | test.rs:426:18:437:5 | BlockExpr | | -| test.rs:440:1:448:1 | enter labelled_block2 | test.rs:441:5:447:6 | LetStmt | | -| test.rs:440:1:448:1 | exit labelled_block2 (normal) | test.rs:440:1:448:1 | exit labelled_block2 | | -| test.rs:440:29:448:1 | BlockExpr | test.rs:440:1:448:1 | exit labelled_block2 (normal) | | -| test.rs:441:5:447:6 | LetStmt | test.rs:442:9:442:34 | LetStmt | | -| test.rs:441:9:441:14 | result | test.rs:440:29:448:1 | BlockExpr | match | -| test.rs:441:18:447:5 | BlockExpr | test.rs:441:9:441:14 | result | | -| test.rs:442:9:442:34 | LetStmt | test.rs:442:30:442:33 | None | | -| test.rs:442:13:442:13 | x | test.rs:443:9:445:10 | LetStmt | match | -| test.rs:442:30:442:33 | None | test.rs:442:13:442:13 | x | | -| test.rs:443:9:445:10 | LetStmt | test.rs:443:23:443:23 | x | | -| test.rs:443:13:443:19 | TupleStructPat | test.rs:443:18:443:18 | y | match | -| test.rs:443:13:443:19 | TupleStructPat | test.rs:444:13:444:27 | ExprStmt | no-match | -| test.rs:443:18:443:18 | y | test.rs:446:9:446:9 | x | match | -| test.rs:443:23:443:23 | x | test.rs:443:13:443:19 | TupleStructPat | | -| test.rs:444:13:444:26 | BreakExpr | test.rs:441:18:447:5 | BlockExpr | break | -| test.rs:444:13:444:27 | ExprStmt | test.rs:444:26:444:26 | 1 | | -| test.rs:444:26:444:26 | 1 | test.rs:444:13:444:26 | BreakExpr | | -| test.rs:446:9:446:9 | x | test.rs:441:18:447:5 | BlockExpr | | -| test.rs:450:1:456:1 | enter test_nested_function | test.rs:451:5:451:18 | LetStmt | | -| test.rs:450:1:456:1 | exit test_nested_function (normal) | test.rs:450:1:456:1 | exit test_nested_function | | -| test.rs:450:27:456:1 | BlockExpr | test.rs:450:1:456:1 | exit test_nested_function (normal) | | -| test.rs:451:5:451:18 | LetStmt | test.rs:451:17:451:17 | 0 | | -| test.rs:451:9:451:13 | x | test.rs:452:5:454:5 | nested | match | -| test.rs:451:17:451:17 | 0 | test.rs:451:9:451:13 | x | | -| test.rs:452:5:454:5 | enter nested | test.rs:452:15:452:15 | x | | -| test.rs:452:5:454:5 | exit nested (normal) | test.rs:452:5:454:5 | exit nested | | -| test.rs:452:5:454:5 | nested | test.rs:455:5:455:19 | ExprStmt | | -| test.rs:452:15:452:15 | x | test.rs:452:15:452:25 | Param | match | -| test.rs:452:15:452:25 | Param | test.rs:453:9:453:16 | ExprStmt | | -| test.rs:452:28:454:5 | BlockExpr | test.rs:452:5:454:5 | exit nested (normal) | | -| test.rs:453:9:453:10 | * ... | test.rs:453:15:453:15 | 1 | | -| test.rs:453:9:453:15 | ... += ... | test.rs:452:28:454:5 | BlockExpr | | -| test.rs:453:9:453:16 | ExprStmt | test.rs:453:10:453:10 | x | | -| test.rs:453:10:453:10 | x | test.rs:453:9:453:10 | * ... | | -| test.rs:453:15:453:15 | 1 | test.rs:453:9:453:15 | ... += ... | | -| test.rs:455:5:455:10 | nested | test.rs:455:17:455:17 | x | | -| test.rs:455:5:455:18 | CallExpr | test.rs:450:27:456:1 | BlockExpr | | -| test.rs:455:5:455:19 | ExprStmt | test.rs:455:5:455:10 | nested | | -| test.rs:455:12:455:17 | RefExpr | test.rs:455:5:455:18 | CallExpr | | -| test.rs:455:17:455:17 | x | test.rs:455:12:455:17 | RefExpr | | +| test.rs:266:5:272:5 | enter test_if_or_operator | test.rs:266:28:266:28 | a | | +| test.rs:266:5:272:5 | exit test_if_or_operator (normal) | test.rs:266:5:272:5 | exit test_if_or_operator | | +| test.rs:266:28:266:28 | a | test.rs:266:28:266:34 | Param | match | +| test.rs:266:28:266:34 | Param | test.rs:266:37:266:37 | b | | +| test.rs:266:37:266:37 | b | test.rs:266:37:266:42 | Param | match | +| test.rs:266:37:266:42 | Param | test.rs:266:45:266:45 | c | | +| test.rs:266:45:266:45 | c | test.rs:266:45:266:51 | Param | match | +| test.rs:266:45:266:51 | Param | test.rs:267:12:267:12 | a | | +| test.rs:266:62:272:5 | BlockExpr | test.rs:266:5:272:5 | exit test_if_or_operator (normal) | | +| test.rs:267:9:271:9 | IfExpr | test.rs:266:62:272:5 | BlockExpr | | +| test.rs:267:12:267:12 | a | test.rs:267:12:267:17 | [boolean(true)] ... \|\| ... | true | +| test.rs:267:12:267:12 | a | test.rs:267:17:267:17 | b | false | +| test.rs:267:12:267:17 | [boolean(false)] ... \|\| ... | test.rs:267:22:267:22 | c | false | +| test.rs:267:12:267:17 | [boolean(true)] ... \|\| ... | test.rs:267:12:267:22 | [boolean(true)] ... \|\| ... | true | +| test.rs:267:12:267:22 | [boolean(false)] ... \|\| ... | test.rs:270:13:270:17 | false | false | +| test.rs:267:12:267:22 | [boolean(true)] ... \|\| ... | test.rs:268:13:268:16 | true | true | +| test.rs:267:17:267:17 | b | test.rs:267:12:267:17 | [boolean(false)] ... \|\| ... | false | +| test.rs:267:17:267:17 | b | test.rs:267:12:267:17 | [boolean(true)] ... \|\| ... | true | +| test.rs:267:22:267:22 | c | test.rs:267:12:267:22 | [boolean(false)] ... \|\| ... | false | +| test.rs:267:22:267:22 | c | test.rs:267:12:267:22 | [boolean(true)] ... \|\| ... | true | +| test.rs:267:24:269:9 | BlockExpr | test.rs:267:9:271:9 | IfExpr | | +| test.rs:268:13:268:16 | true | test.rs:267:24:269:9 | BlockExpr | | +| test.rs:269:16:271:9 | BlockExpr | test.rs:267:9:271:9 | IfExpr | | +| test.rs:270:13:270:17 | false | test.rs:269:16:271:9 | BlockExpr | | +| test.rs:274:5:280:5 | enter test_if_not_operator | test.rs:274:29:274:29 | a | | +| test.rs:274:5:280:5 | exit test_if_not_operator (normal) | test.rs:274:5:280:5 | exit test_if_not_operator | | +| test.rs:274:29:274:29 | a | test.rs:274:29:274:35 | Param | match | +| test.rs:274:29:274:35 | Param | test.rs:275:13:275:13 | a | | +| test.rs:274:46:280:5 | BlockExpr | test.rs:274:5:280:5 | exit test_if_not_operator (normal) | | +| test.rs:275:9:279:9 | IfExpr | test.rs:274:46:280:5 | BlockExpr | | +| test.rs:275:12:275:13 | [boolean(false)] ! ... | test.rs:278:13:278:17 | false | false | +| test.rs:275:12:275:13 | [boolean(true)] ! ... | test.rs:276:13:276:16 | true | true | +| test.rs:275:13:275:13 | a | test.rs:275:12:275:13 | [boolean(false)] ! ... | true | +| test.rs:275:13:275:13 | a | test.rs:275:12:275:13 | [boolean(true)] ! ... | false | +| test.rs:275:15:277:9 | BlockExpr | test.rs:275:9:279:9 | IfExpr | | +| test.rs:276:13:276:16 | true | test.rs:275:15:277:9 | BlockExpr | | +| test.rs:277:16:279:9 | BlockExpr | test.rs:275:9:279:9 | IfExpr | | +| test.rs:278:13:278:17 | false | test.rs:277:16:279:9 | BlockExpr | | +| test.rs:282:5:284:5 | enter test_and_return | test.rs:282:24:282:24 | a | | +| test.rs:282:5:284:5 | exit test_and_return (normal) | test.rs:282:5:284:5 | exit test_and_return | | +| test.rs:282:24:282:24 | a | test.rs:282:24:282:31 | Param | match | +| test.rs:282:24:282:31 | Param | test.rs:283:9:283:20 | ExprStmt | | +| test.rs:282:34:284:5 | BlockExpr | test.rs:282:5:284:5 | exit test_and_return (normal) | | +| test.rs:283:9:283:9 | a | test.rs:283:9:283:19 | ... && ... | false | +| test.rs:283:9:283:9 | a | test.rs:283:14:283:19 | ReturnExpr | true | +| test.rs:283:9:283:19 | ... && ... | test.rs:282:34:284:5 | BlockExpr | | +| test.rs:283:9:283:20 | ExprStmt | test.rs:283:9:283:9 | a | | +| test.rs:283:14:283:19 | ReturnExpr | test.rs:282:5:284:5 | exit test_and_return (normal) | return | +| test.rs:289:5:291:5 | enter test_question_mark_operator_1 | test.rs:289:38:289:38 | s | | +| test.rs:289:5:291:5 | exit test_question_mark_operator_1 (normal) | test.rs:289:5:291:5 | exit test_question_mark_operator_1 | | +| test.rs:289:38:289:38 | s | test.rs:289:38:289:44 | Param | match | +| test.rs:289:38:289:44 | Param | test.rs:290:9:290:11 | str | | +| test.rs:289:62:291:5 | BlockExpr | test.rs:289:5:291:5 | exit test_question_mark_operator_1 (normal) | | +| test.rs:290:9:290:11 | str | test.rs:290:9:290:26 | ... .parse(...) | | +| test.rs:290:9:290:26 | ... .parse(...) | test.rs:290:9:290:27 | TryExpr | | +| test.rs:290:9:290:27 | TryExpr | test.rs:289:5:291:5 | exit test_question_mark_operator_1 (normal) | return | +| test.rs:290:9:290:27 | TryExpr | test.rs:290:31:290:31 | 4 | match | +| test.rs:290:9:290:31 | ... + ... | test.rs:289:62:291:5 | BlockExpr | | +| test.rs:290:31:290:31 | 4 | test.rs:290:9:290:31 | ... + ... | | +| test.rs:293:5:298:5 | enter test_question_mark_operator_2 | test.rs:293:38:293:38 | b | | +| test.rs:293:5:298:5 | exit test_question_mark_operator_2 (normal) | test.rs:293:5:298:5 | exit test_question_mark_operator_2 | | +| test.rs:293:38:293:38 | b | test.rs:293:38:293:52 | Param | match | +| test.rs:293:38:293:52 | Param | test.rs:294:15:294:15 | b | | +| test.rs:293:71:298:5 | BlockExpr | test.rs:293:5:298:5 | exit test_question_mark_operator_2 (normal) | | +| test.rs:294:9:297:9 | MatchExpr | test.rs:293:71:298:5 | BlockExpr | | +| test.rs:294:15:294:15 | b | test.rs:294:15:294:16 | TryExpr | | +| test.rs:294:15:294:16 | TryExpr | test.rs:293:5:298:5 | exit test_question_mark_operator_2 (normal) | return | +| test.rs:294:15:294:16 | TryExpr | test.rs:295:13:295:16 | true | match | +| test.rs:295:13:295:16 | LiteralPat | test.rs:295:21:295:24 | Some | match | +| test.rs:295:13:295:16 | LiteralPat | test.rs:296:13:296:17 | false | no-match | +| test.rs:295:13:295:16 | true | test.rs:295:13:295:16 | LiteralPat | | +| test.rs:295:21:295:24 | Some | test.rs:295:26:295:30 | false | | +| test.rs:295:21:295:31 | CallExpr | test.rs:294:9:297:9 | MatchExpr | | +| test.rs:295:26:295:30 | false | test.rs:295:21:295:31 | CallExpr | | +| test.rs:296:13:296:17 | LiteralPat | test.rs:296:22:296:25 | Some | match | +| test.rs:296:13:296:17 | false | test.rs:296:13:296:17 | LiteralPat | | +| test.rs:296:22:296:25 | Some | test.rs:296:27:296:30 | true | | +| test.rs:296:22:296:31 | CallExpr | test.rs:294:9:297:9 | MatchExpr | | +| test.rs:296:27:296:30 | true | test.rs:296:22:296:31 | CallExpr | | +| test.rs:303:5:309:5 | enter test_match | test.rs:303:19:303:29 | maybe_digit | | +| test.rs:303:5:309:5 | exit test_match (normal) | test.rs:303:5:309:5 | exit test_match | | +| test.rs:303:19:303:29 | maybe_digit | test.rs:303:19:303:42 | Param | match | +| test.rs:303:19:303:42 | Param | test.rs:304:15:304:25 | maybe_digit | | +| test.rs:303:52:309:5 | BlockExpr | test.rs:303:5:309:5 | exit test_match (normal) | | +| test.rs:304:9:308:9 | MatchExpr | test.rs:303:52:309:5 | BlockExpr | | +| test.rs:304:15:304:25 | maybe_digit | test.rs:305:13:305:27 | TupleStructPat | | +| test.rs:305:13:305:27 | TupleStructPat | test.rs:305:26:305:26 | x | match | +| test.rs:305:13:305:27 | TupleStructPat | test.rs:306:13:306:27 | TupleStructPat | no-match | +| test.rs:305:26:305:26 | x | test.rs:305:32:305:32 | x | match | +| test.rs:305:32:305:32 | x | test.rs:305:36:305:37 | 10 | | +| test.rs:305:32:305:37 | ... < ... | test.rs:305:42:305:42 | x | true | +| test.rs:305:32:305:37 | ... < ... | test.rs:306:13:306:27 | TupleStructPat | false | +| test.rs:305:36:305:37 | 10 | test.rs:305:32:305:37 | ... < ... | | +| test.rs:305:42:305:42 | x | test.rs:305:46:305:46 | 5 | | +| test.rs:305:42:305:46 | ... + ... | test.rs:304:9:308:9 | MatchExpr | | +| test.rs:305:46:305:46 | 5 | test.rs:305:42:305:46 | ... + ... | | +| test.rs:306:13:306:27 | TupleStructPat | test.rs:306:26:306:26 | x | match | +| test.rs:306:13:306:27 | TupleStructPat | test.rs:307:13:307:24 | PathPat | no-match | +| test.rs:306:26:306:26 | x | test.rs:306:32:306:32 | x | match | +| test.rs:306:32:306:32 | x | test.rs:304:9:308:9 | MatchExpr | | +| test.rs:307:13:307:24 | PathPat | test.rs:307:29:307:29 | 5 | match | +| test.rs:307:29:307:29 | 5 | test.rs:304:9:308:9 | MatchExpr | | +| test.rs:311:5:320:5 | enter test_match_with_return_in_scrutinee | test.rs:311:44:311:54 | maybe_digit | | +| test.rs:311:5:320:5 | exit test_match_with_return_in_scrutinee (normal) | test.rs:311:5:320:5 | exit test_match_with_return_in_scrutinee | | +| test.rs:311:44:311:54 | maybe_digit | test.rs:311:44:311:67 | Param | match | +| test.rs:311:44:311:67 | Param | test.rs:312:19:312:29 | maybe_digit | | +| test.rs:311:77:320:5 | BlockExpr | test.rs:311:5:320:5 | exit test_match_with_return_in_scrutinee (normal) | | +| test.rs:312:9:319:9 | MatchExpr | test.rs:311:77:320:5 | BlockExpr | | +| test.rs:312:16:316:9 | IfExpr | test.rs:317:13:317:27 | TupleStructPat | | +| test.rs:312:19:312:29 | maybe_digit | test.rs:312:34:312:37 | Some | | +| test.rs:312:19:312:40 | ... == ... | test.rs:313:13:313:21 | ExprStmt | true | +| test.rs:312:19:312:40 | ... == ... | test.rs:315:13:315:23 | maybe_digit | false | +| test.rs:312:34:312:37 | Some | test.rs:312:39:312:39 | 3 | | +| test.rs:312:34:312:40 | CallExpr | test.rs:312:19:312:40 | ... == ... | | +| test.rs:312:39:312:39 | 3 | test.rs:312:34:312:40 | CallExpr | | +| test.rs:313:13:313:20 | ReturnExpr | test.rs:311:5:320:5 | exit test_match_with_return_in_scrutinee (normal) | return | +| test.rs:313:13:313:21 | ExprStmt | test.rs:313:20:313:20 | 3 | | +| test.rs:313:20:313:20 | 3 | test.rs:313:13:313:20 | ReturnExpr | | +| test.rs:314:16:316:9 | BlockExpr | test.rs:312:16:316:9 | IfExpr | | +| test.rs:315:13:315:23 | maybe_digit | test.rs:314:16:316:9 | BlockExpr | | +| test.rs:317:13:317:27 | TupleStructPat | test.rs:317:26:317:26 | x | match | +| test.rs:317:13:317:27 | TupleStructPat | test.rs:318:13:318:24 | PathPat | no-match | +| test.rs:317:26:317:26 | x | test.rs:317:32:317:32 | x | match | +| test.rs:317:32:317:32 | x | test.rs:317:36:317:36 | 5 | | +| test.rs:317:32:317:36 | ... + ... | test.rs:312:9:319:9 | MatchExpr | | +| test.rs:317:36:317:36 | 5 | test.rs:317:32:317:36 | ... + ... | | +| test.rs:318:13:318:24 | PathPat | test.rs:318:29:318:29 | 5 | match | +| test.rs:318:29:318:29 | 5 | test.rs:312:9:319:9 | MatchExpr | | +| test.rs:322:5:327:5 | enter test_match_and | test.rs:322:23:322:26 | cond | | +| test.rs:322:5:327:5 | exit test_match_and (normal) | test.rs:322:5:327:5 | exit test_match_and | | +| test.rs:322:23:322:26 | cond | test.rs:322:23:322:32 | Param | match | +| test.rs:322:23:322:32 | Param | test.rs:322:35:322:35 | r | | +| test.rs:322:35:322:35 | r | test.rs:322:35:322:48 | Param | match | +| test.rs:322:35:322:48 | Param | test.rs:323:16:323:16 | r | | +| test.rs:322:59:327:5 | BlockExpr | test.rs:322:5:327:5 | exit test_match_and (normal) | | +| test.rs:323:9:326:18 | ... && ... | test.rs:322:59:327:5 | BlockExpr | | +| test.rs:323:10:326:9 | [boolean(false)] MatchExpr | test.rs:323:9:326:18 | ... && ... | false | +| test.rs:323:10:326:9 | [boolean(true)] MatchExpr | test.rs:326:15:326:18 | cond | true | +| test.rs:323:16:323:16 | r | test.rs:324:13:324:19 | TupleStructPat | | +| test.rs:324:13:324:19 | TupleStructPat | test.rs:324:18:324:18 | a | match | +| test.rs:324:13:324:19 | TupleStructPat | test.rs:325:13:325:13 | WildcardPat | no-match | +| test.rs:324:18:324:18 | a | test.rs:324:24:324:24 | a | match | +| test.rs:324:24:324:24 | a | test.rs:323:10:326:9 | [boolean(false)] MatchExpr | false | +| test.rs:324:24:324:24 | a | test.rs:323:10:326:9 | [boolean(true)] MatchExpr | true | +| test.rs:325:13:325:13 | WildcardPat | test.rs:325:18:325:22 | false | match | +| test.rs:325:18:325:22 | false | test.rs:323:10:326:9 | [boolean(false)] MatchExpr | false | +| test.rs:326:15:326:18 | cond | test.rs:323:9:326:18 | ... && ... | | +| test.rs:329:5:334:5 | enter test_match_with_no_arms | test.rs:329:35:329:35 | r | | +| test.rs:329:5:334:5 | exit test_match_with_no_arms (normal) | test.rs:329:5:334:5 | exit test_match_with_no_arms | | +| test.rs:329:35:329:35 | r | test.rs:329:35:329:58 | Param | match | +| test.rs:329:35:329:58 | Param | test.rs:330:15:330:15 | r | | +| test.rs:329:66:334:5 | BlockExpr | test.rs:329:5:334:5 | exit test_match_with_no_arms (normal) | | +| test.rs:330:9:333:9 | MatchExpr | test.rs:329:66:334:5 | BlockExpr | | +| test.rs:330:15:330:15 | r | test.rs:331:13:331:21 | TupleStructPat | | +| test.rs:331:13:331:21 | TupleStructPat | test.rs:331:16:331:20 | value | match | +| test.rs:331:13:331:21 | TupleStructPat | test.rs:332:13:332:22 | TupleStructPat | no-match | +| test.rs:331:16:331:20 | value | test.rs:331:26:331:30 | value | match | +| test.rs:331:26:331:30 | value | test.rs:330:9:333:9 | MatchExpr | | +| test.rs:332:13:332:22 | TupleStructPat | test.rs:332:17:332:21 | never | match | +| test.rs:332:17:332:21 | never | test.rs:332:33:332:37 | never | match | +| test.rs:332:27:332:40 | MatchExpr | test.rs:330:9:333:9 | MatchExpr | | +| test.rs:332:33:332:37 | never | test.rs:332:27:332:40 | MatchExpr | | +| test.rs:339:5:342:5 | enter test_let_match | test.rs:339:23:339:23 | a | | +| test.rs:339:5:342:5 | exit test_let_match (normal) | test.rs:339:5:342:5 | exit test_let_match | | +| test.rs:339:23:339:23 | a | test.rs:339:23:339:36 | Param | match | +| test.rs:339:23:339:36 | Param | test.rs:340:9:340:49 | LetStmt | | +| test.rs:339:39:342:5 | BlockExpr | test.rs:339:5:342:5 | exit test_let_match (normal) | | +| test.rs:340:9:340:49 | LetStmt | test.rs:340:23:340:23 | a | | +| test.rs:340:13:340:19 | TupleStructPat | test.rs:340:18:340:18 | n | match | +| test.rs:340:13:340:19 | TupleStructPat | test.rs:340:32:340:46 | "Expected some" | no-match | +| test.rs:340:18:340:18 | n | test.rs:341:9:341:9 | n | match | +| test.rs:340:23:340:23 | a | test.rs:340:13:340:19 | TupleStructPat | | +| test.rs:340:32:340:46 | "Expected some" | test.rs:340:30:340:48 | BlockExpr | | +| test.rs:341:9:341:9 | n | test.rs:339:39:342:5 | BlockExpr | | +| test.rs:344:5:350:5 | enter test_let_with_return | test.rs:344:29:344:29 | m | | +| test.rs:344:5:350:5 | exit test_let_with_return (normal) | test.rs:344:5:350:5 | exit test_let_with_return | | +| test.rs:344:29:344:29 | m | test.rs:344:29:344:42 | Param | match | +| test.rs:344:29:344:42 | Param | test.rs:345:9:348:10 | LetStmt | | +| test.rs:344:45:350:5 | BlockExpr | test.rs:344:5:350:5 | exit test_let_with_return (normal) | | +| test.rs:345:9:348:10 | LetStmt | test.rs:345:25:345:25 | m | | +| test.rs:345:13:345:15 | ret | test.rs:349:9:349:12 | true | match | +| test.rs:345:19:348:9 | MatchExpr | test.rs:345:13:345:15 | ret | | +| test.rs:345:25:345:25 | m | test.rs:346:13:346:21 | TupleStructPat | | +| test.rs:346:13:346:21 | TupleStructPat | test.rs:346:18:346:20 | ret | match | +| test.rs:346:13:346:21 | TupleStructPat | test.rs:347:13:347:16 | None | no-match | +| test.rs:346:18:346:20 | ret | test.rs:346:26:346:28 | ret | match | +| test.rs:346:26:346:28 | ret | test.rs:345:19:348:9 | MatchExpr | | +| test.rs:347:13:347:16 | None | test.rs:347:28:347:32 | false | match | +| test.rs:347:21:347:32 | ReturnExpr | test.rs:344:5:350:5 | exit test_let_with_return (normal) | return | +| test.rs:347:28:347:32 | false | test.rs:347:21:347:32 | ReturnExpr | | +| test.rs:349:9:349:12 | true | test.rs:344:45:350:5 | BlockExpr | | +| test.rs:355:5:358:5 | enter empty_tuple_pattern | test.rs:355:28:355:31 | unit | | +| test.rs:355:5:358:5 | exit empty_tuple_pattern (normal) | test.rs:355:5:358:5 | exit empty_tuple_pattern | | +| test.rs:355:28:355:31 | unit | test.rs:355:28:355:35 | Param | match | +| test.rs:355:28:355:35 | Param | test.rs:356:9:356:22 | LetStmt | | +| test.rs:356:9:356:22 | LetStmt | test.rs:356:18:356:21 | unit | | +| test.rs:356:13:356:14 | TuplePat | test.rs:357:9:357:15 | ExprStmt | match | +| test.rs:356:18:356:21 | unit | test.rs:356:13:356:14 | TuplePat | | +| test.rs:357:9:357:14 | ReturnExpr | test.rs:355:5:358:5 | exit empty_tuple_pattern (normal) | return | +| test.rs:357:9:357:15 | ExprStmt | test.rs:357:9:357:14 | ReturnExpr | | +| test.rs:362:5:366:5 | enter empty_struct_pattern | test.rs:362:29:362:30 | st | | +| test.rs:362:5:366:5 | exit empty_struct_pattern (normal) | test.rs:362:5:366:5 | exit empty_struct_pattern | | +| test.rs:362:29:362:30 | st | test.rs:362:29:362:40 | Param | match | +| test.rs:362:29:362:40 | Param | test.rs:363:15:363:16 | st | | +| test.rs:362:50:366:5 | BlockExpr | test.rs:362:5:366:5 | exit empty_struct_pattern (normal) | | +| test.rs:363:9:365:9 | MatchExpr | test.rs:362:50:366:5 | BlockExpr | | +| test.rs:363:15:363:16 | st | test.rs:364:13:364:23 | RecordPat | | +| test.rs:364:13:364:23 | RecordPat | test.rs:364:28:364:28 | 1 | match | +| test.rs:364:28:364:28 | 1 | test.rs:363:9:365:9 | MatchExpr | | +| test.rs:368:5:375:5 | enter range_pattern | test.rs:369:15:369:16 | 42 | | +| test.rs:368:5:375:5 | exit range_pattern (normal) | test.rs:368:5:375:5 | exit range_pattern | | +| test.rs:368:31:375:5 | BlockExpr | test.rs:368:5:375:5 | exit range_pattern (normal) | | +| test.rs:369:9:374:9 | MatchExpr | test.rs:368:31:375:5 | BlockExpr | | +| test.rs:369:15:369:16 | 42 | test.rs:370:13:370:15 | RangePat | | +| test.rs:370:13:370:15 | RangePat | test.rs:370:15:370:15 | 0 | match | +| test.rs:370:13:370:15 | RangePat | test.rs:371:13:371:16 | RangePat | no-match | +| test.rs:370:15:370:15 | 0 | test.rs:370:15:370:15 | LiteralPat | | +| test.rs:370:15:370:15 | LiteralPat | test.rs:370:20:370:20 | 1 | match | +| test.rs:370:15:370:15 | LiteralPat | test.rs:371:13:371:16 | RangePat | no-match | +| test.rs:370:20:370:20 | 1 | test.rs:369:9:374:9 | MatchExpr | | +| test.rs:371:13:371:13 | 1 | test.rs:371:13:371:13 | LiteralPat | | +| test.rs:371:13:371:13 | LiteralPat | test.rs:371:16:371:16 | 2 | match | +| test.rs:371:13:371:13 | LiteralPat | test.rs:372:13:372:15 | RangePat | no-match | +| test.rs:371:13:371:16 | RangePat | test.rs:371:13:371:13 | 1 | match | +| test.rs:371:13:371:16 | RangePat | test.rs:372:13:372:15 | RangePat | no-match | +| test.rs:371:16:371:16 | 2 | test.rs:371:16:371:16 | LiteralPat | | +| test.rs:371:16:371:16 | LiteralPat | test.rs:371:21:371:21 | 2 | match | +| test.rs:371:16:371:16 | LiteralPat | test.rs:372:13:372:15 | RangePat | no-match | +| test.rs:371:21:371:21 | 2 | test.rs:369:9:374:9 | MatchExpr | | +| test.rs:372:13:372:13 | 5 | test.rs:372:13:372:13 | LiteralPat | | +| test.rs:372:13:372:13 | LiteralPat | test.rs:372:20:372:20 | 3 | match | +| test.rs:372:13:372:13 | LiteralPat | test.rs:373:13:373:14 | RestPat | no-match | +| test.rs:372:13:372:15 | RangePat | test.rs:372:13:372:13 | 5 | match | +| test.rs:372:13:372:15 | RangePat | test.rs:373:13:373:14 | RestPat | no-match | +| test.rs:372:20:372:20 | 3 | test.rs:369:9:374:9 | MatchExpr | | +| test.rs:373:13:373:14 | RestPat | test.rs:373:19:373:19 | 4 | match | +| test.rs:373:19:373:19 | 4 | test.rs:369:9:374:9 | MatchExpr | | +| test.rs:379:5:384:5 | enter test_infinite_loop | test.rs:380:9:382:9 | ExprStmt | | +| test.rs:380:9:382:9 | ExprStmt | test.rs:381:13:381:13 | 1 | | +| test.rs:380:14:382:9 | BlockExpr | test.rs:381:13:381:13 | 1 | | +| test.rs:381:13:381:13 | 1 | test.rs:380:14:382:9 | BlockExpr | | +| test.rs:388:5:390:5 | enter say_hello | test.rs:389:9:389:34 | ExprStmt | | +| test.rs:388:5:390:5 | exit say_hello (normal) | test.rs:388:5:390:5 | exit say_hello | | +| test.rs:388:26:390:5 | BlockExpr | test.rs:388:5:390:5 | exit say_hello (normal) | | +| test.rs:389:9:389:33 | $crate::io::_print | test.rs:389:18:389:32 | "hello, world!\\n" | | +| test.rs:389:9:389:33 | MacroExpr | test.rs:388:26:390:5 | BlockExpr | | +| test.rs:389:9:389:34 | ExprStmt | test.rs:389:18:389:32 | MacroStmts | | +| test.rs:389:18:389:32 | "hello, world!\\n" | test.rs:389:18:389:32 | FormatArgsExpr | | +| test.rs:389:18:389:32 | BlockExpr | test.rs:389:9:389:33 | MacroExpr | | +| test.rs:389:18:389:32 | CallExpr | test.rs:389:18:389:32 | BlockExpr | | +| test.rs:389:18:389:32 | ExprStmt | test.rs:389:9:389:33 | $crate::io::_print | | +| test.rs:389:18:389:32 | FormatArgsExpr | test.rs:389:18:389:32 | MacroExpr | | +| test.rs:389:18:389:32 | MacroExpr | test.rs:389:18:389:32 | CallExpr | | +| test.rs:389:18:389:32 | MacroStmts | test.rs:389:18:389:32 | ExprStmt | | +| test.rs:392:5:404:5 | enter async_block | test.rs:393:9:395:10 | LetStmt | | +| test.rs:392:5:404:5 | exit async_block (normal) | test.rs:392:5:404:5 | exit async_block | | +| test.rs:392:28:404:5 | BlockExpr | test.rs:392:5:404:5 | exit async_block (normal) | | +| test.rs:393:9:395:10 | LetStmt | test.rs:393:26:395:9 | BlockExpr | | +| test.rs:393:13:393:22 | say_godbye | test.rs:396:9:398:10 | LetStmt | match | +| test.rs:393:26:395:9 | BlockExpr | test.rs:393:13:393:22 | say_godbye | | +| test.rs:393:26:395:9 | enter BlockExpr | test.rs:394:13:394:42 | ExprStmt | | +| test.rs:393:26:395:9 | exit BlockExpr (normal) | test.rs:393:26:395:9 | exit BlockExpr | | +| test.rs:394:13:394:41 | $crate::io::_print | test.rs:394:22:394:40 | "godbye, everyone!\\n" | | +| test.rs:394:13:394:41 | MacroExpr | test.rs:393:26:395:9 | exit BlockExpr (normal) | | +| test.rs:394:13:394:42 | ExprStmt | test.rs:394:22:394:40 | MacroStmts | | +| test.rs:394:22:394:40 | "godbye, everyone!\\n" | test.rs:394:22:394:40 | FormatArgsExpr | | +| test.rs:394:22:394:40 | BlockExpr | test.rs:394:13:394:41 | MacroExpr | | +| test.rs:394:22:394:40 | CallExpr | test.rs:394:22:394:40 | BlockExpr | | +| test.rs:394:22:394:40 | ExprStmt | test.rs:394:13:394:41 | $crate::io::_print | | +| test.rs:394:22:394:40 | FormatArgsExpr | test.rs:394:22:394:40 | MacroExpr | | +| test.rs:394:22:394:40 | MacroExpr | test.rs:394:22:394:40 | CallExpr | | +| test.rs:394:22:394:40 | MacroStmts | test.rs:394:22:394:40 | ExprStmt | | +| test.rs:396:9:398:10 | LetStmt | test.rs:396:31:398:9 | BlockExpr | | +| test.rs:396:13:396:27 | say_how_are_you | test.rs:399:9:399:28 | LetStmt | match | +| test.rs:396:31:398:9 | BlockExpr | test.rs:396:13:396:27 | say_how_are_you | | +| test.rs:396:31:398:9 | enter BlockExpr | test.rs:397:13:397:37 | ExprStmt | | +| test.rs:396:31:398:9 | exit BlockExpr (normal) | test.rs:396:31:398:9 | exit BlockExpr | | +| test.rs:397:13:397:36 | $crate::io::_print | test.rs:397:22:397:35 | "how are you?\\n" | | +| test.rs:397:13:397:36 | MacroExpr | test.rs:396:31:398:9 | exit BlockExpr (normal) | | +| test.rs:397:13:397:37 | ExprStmt | test.rs:397:22:397:35 | MacroStmts | | +| test.rs:397:22:397:35 | "how are you?\\n" | test.rs:397:22:397:35 | FormatArgsExpr | | +| test.rs:397:22:397:35 | BlockExpr | test.rs:397:13:397:36 | MacroExpr | | +| test.rs:397:22:397:35 | CallExpr | test.rs:397:22:397:35 | BlockExpr | | +| test.rs:397:22:397:35 | ExprStmt | test.rs:397:13:397:36 | $crate::io::_print | | +| test.rs:397:22:397:35 | FormatArgsExpr | test.rs:397:22:397:35 | MacroExpr | | +| test.rs:397:22:397:35 | MacroExpr | test.rs:397:22:397:35 | CallExpr | | +| test.rs:397:22:397:35 | MacroStmts | test.rs:397:22:397:35 | ExprStmt | | +| test.rs:399:9:399:28 | LetStmt | test.rs:399:20:399:27 | BlockExpr | | +| test.rs:399:13:399:16 | noop | test.rs:400:9:400:26 | ExprStmt | match | +| test.rs:399:20:399:27 | BlockExpr | test.rs:399:13:399:16 | noop | | +| test.rs:400:9:400:17 | say_hello | test.rs:400:9:400:19 | CallExpr | | +| test.rs:400:9:400:19 | CallExpr | test.rs:400:9:400:25 | AwaitExpr | | +| test.rs:400:9:400:25 | AwaitExpr | test.rs:401:9:401:30 | ExprStmt | | +| test.rs:400:9:400:26 | ExprStmt | test.rs:400:9:400:17 | say_hello | | +| test.rs:401:9:401:23 | say_how_are_you | test.rs:401:9:401:29 | AwaitExpr | | +| test.rs:401:9:401:29 | AwaitExpr | test.rs:402:9:402:25 | ExprStmt | | +| test.rs:401:9:401:30 | ExprStmt | test.rs:401:9:401:23 | say_how_are_you | | +| test.rs:402:9:402:18 | say_godbye | test.rs:402:9:402:24 | AwaitExpr | | +| test.rs:402:9:402:24 | AwaitExpr | test.rs:403:9:403:19 | ExprStmt | | +| test.rs:402:9:402:25 | ExprStmt | test.rs:402:9:402:18 | say_godbye | | +| test.rs:403:9:403:12 | noop | test.rs:403:9:403:18 | AwaitExpr | | +| test.rs:403:9:403:18 | AwaitExpr | test.rs:392:28:404:5 | BlockExpr | | +| test.rs:403:9:403:19 | ExprStmt | test.rs:403:9:403:12 | noop | | +| test.rs:410:5:412:5 | enter add_two | test.rs:410:22:410:22 | n | | +| test.rs:410:5:412:5 | exit add_two (normal) | test.rs:410:5:412:5 | exit add_two | | +| test.rs:410:22:410:22 | n | test.rs:410:22:410:27 | Param | match | +| test.rs:410:22:410:27 | Param | test.rs:411:9:411:9 | n | | +| test.rs:410:37:412:5 | BlockExpr | test.rs:410:5:412:5 | exit add_two (normal) | | +| test.rs:411:9:411:9 | n | test.rs:411:13:411:13 | 2 | | +| test.rs:411:9:411:13 | ... + ... | test.rs:410:37:412:5 | BlockExpr | | +| test.rs:411:13:411:13 | 2 | test.rs:411:9:411:13 | ... + ... | | +| test.rs:416:5:424:5 | enter const_block_assert | test.rs:419:9:421:9 | ExprStmt | | +| test.rs:416:5:424:5 | exit const_block_assert (normal) | test.rs:416:5:424:5 | exit const_block_assert | | +| test.rs:416:41:424:5 | BlockExpr | test.rs:416:5:424:5 | exit const_block_assert (normal) | | +| test.rs:419:9:421:9 | BlockExpr | test.rs:423:9:423:10 | 42 | | +| test.rs:419:9:421:9 | ExprStmt | test.rs:420:13:420:50 | ExprStmt | | +| test.rs:420:13:420:49 | $crate::panicking::panic_explicit | test.rs:420:13:420:49 | CallExpr | | +| test.rs:420:13:420:49 | BlockExpr | test.rs:420:13:420:49 | MacroExpr | | +| test.rs:420:13:420:49 | BlockExpr | test.rs:420:13:420:49 | exit panic_cold_explicit (normal) | | +| test.rs:420:13:420:49 | BlockExpr | test.rs:420:21:420:48 | IfExpr | | +| test.rs:420:13:420:49 | CallExpr | test.rs:420:13:420:49 | BlockExpr | | +| test.rs:420:13:420:49 | CallExpr | test.rs:420:13:420:49 | BlockExpr | | +| test.rs:420:13:420:49 | ExprStmt | test.rs:420:13:420:49 | MacroStmts | | +| test.rs:420:13:420:49 | ExprStmt | test.rs:420:13:420:49 | panic_cold_explicit | | +| test.rs:420:13:420:49 | MacroExpr | test.rs:419:9:421:9 | BlockExpr | | +| test.rs:420:13:420:49 | MacroExpr | test.rs:420:13:420:49 | BlockExpr | | +| test.rs:420:13:420:49 | MacroStmts | test.rs:420:13:420:49 | panic_cold_explicit | | +| test.rs:420:13:420:49 | enter panic_cold_explicit | test.rs:420:13:420:49 | $crate::panicking::panic_explicit | | +| test.rs:420:13:420:49 | exit panic_cold_explicit (normal) | test.rs:420:13:420:49 | exit panic_cold_explicit | | +| test.rs:420:13:420:49 | panic_cold_explicit | test.rs:420:13:420:49 | CallExpr | | +| test.rs:420:13:420:49 | panic_cold_explicit | test.rs:420:13:420:49 | ExprStmt | | +| test.rs:420:13:420:50 | ExprStmt | test.rs:420:21:420:48 | MacroStmts | | +| test.rs:420:21:420:42 | std::mem::size_of::<...> | test.rs:420:21:420:44 | CallExpr | | +| test.rs:420:21:420:44 | CallExpr | test.rs:420:48:420:48 | 0 | | +| test.rs:420:21:420:48 | ... > ... | test.rs:420:21:420:48 | [boolean(false)] ! ... | true | +| test.rs:420:21:420:48 | ... > ... | test.rs:420:21:420:48 | [boolean(true)] ! ... | false | +| test.rs:420:21:420:48 | BlockExpr | test.rs:420:13:420:49 | MacroExpr | | +| test.rs:420:21:420:48 | IfExpr | test.rs:420:21:420:48 | BlockExpr | | +| test.rs:420:21:420:48 | MacroStmts | test.rs:420:21:420:42 | std::mem::size_of::<...> | | +| test.rs:420:21:420:48 | [boolean(false)] ! ... | test.rs:420:21:420:48 | IfExpr | false | +| test.rs:420:21:420:48 | [boolean(true)] ! ... | test.rs:420:13:420:49 | ExprStmt | true | +| test.rs:420:48:420:48 | 0 | test.rs:420:21:420:48 | ... > ... | | +| test.rs:423:9:423:10 | 42 | test.rs:416:41:424:5 | BlockExpr | | +| test.rs:426:5:435:5 | enter const_block_panic | test.rs:427:9:427:30 | Const | | +| test.rs:426:5:435:5 | exit const_block_panic (normal) | test.rs:426:5:435:5 | exit const_block_panic | | +| test.rs:426:35:435:5 | BlockExpr | test.rs:426:5:435:5 | exit const_block_panic (normal) | | +| test.rs:427:9:427:30 | Const | test.rs:428:9:433:9 | ExprStmt | | +| test.rs:428:9:433:9 | ExprStmt | test.rs:428:12:428:16 | false | | +| test.rs:428:9:433:9 | IfExpr | test.rs:434:9:434:9 | N | | +| test.rs:428:12:428:16 | false | test.rs:428:9:433:9 | IfExpr | false | +| test.rs:431:17:431:24 | $crate::panicking::panic_explicit | test.rs:431:17:431:24 | CallExpr | | +| test.rs:431:17:431:24 | BlockExpr | test.rs:431:17:431:24 | exit panic_cold_explicit (normal) | | +| test.rs:431:17:431:24 | CallExpr | test.rs:431:17:431:24 | BlockExpr | | +| test.rs:431:17:431:24 | enter panic_cold_explicit | test.rs:431:17:431:24 | $crate::panicking::panic_explicit | | +| test.rs:431:17:431:24 | exit panic_cold_explicit (normal) | test.rs:431:17:431:24 | exit panic_cold_explicit | | +| test.rs:434:9:434:9 | N | test.rs:426:35:435:5 | BlockExpr | | +| test.rs:438:1:443:1 | enter dead_code | test.rs:439:5:441:5 | ExprStmt | | +| test.rs:438:1:443:1 | exit dead_code (normal) | test.rs:438:1:443:1 | exit dead_code | | +| test.rs:439:5:441:5 | ExprStmt | test.rs:439:9:439:12 | true | | +| test.rs:439:9:439:12 | true | test.rs:440:9:440:17 | ExprStmt | true | +| test.rs:440:9:440:16 | ReturnExpr | test.rs:438:1:443:1 | exit dead_code (normal) | return | +| test.rs:440:9:440:17 | ExprStmt | test.rs:440:16:440:16 | 0 | | +| test.rs:440:16:440:16 | 0 | test.rs:440:9:440:16 | ReturnExpr | | +| test.rs:445:1:458:1 | enter labelled_block1 | test.rs:446:5:457:6 | LetStmt | | +| test.rs:445:1:458:1 | exit labelled_block1 (normal) | test.rs:445:1:458:1 | exit labelled_block1 | | +| test.rs:445:29:458:1 | BlockExpr | test.rs:445:1:458:1 | exit labelled_block1 (normal) | | +| test.rs:446:5:457:6 | LetStmt | test.rs:447:9:447:19 | ExprStmt | | +| test.rs:446:9:446:14 | result | test.rs:445:29:458:1 | BlockExpr | match | +| test.rs:446:18:457:5 | BlockExpr | test.rs:446:9:446:14 | result | | +| test.rs:447:9:447:16 | do_thing | test.rs:447:9:447:18 | CallExpr | | +| test.rs:447:9:447:18 | CallExpr | test.rs:448:9:450:9 | ExprStmt | | +| test.rs:447:9:447:19 | ExprStmt | test.rs:447:9:447:16 | do_thing | | +| test.rs:448:9:450:9 | ExprStmt | test.rs:448:12:448:28 | condition_not_met | | +| test.rs:448:9:450:9 | IfExpr | test.rs:451:9:451:24 | ExprStmt | | +| test.rs:448:12:448:28 | condition_not_met | test.rs:448:12:448:30 | CallExpr | | +| test.rs:448:12:448:30 | CallExpr | test.rs:448:9:450:9 | IfExpr | false | +| test.rs:448:12:448:30 | CallExpr | test.rs:449:13:449:27 | ExprStmt | true | +| test.rs:449:13:449:26 | BreakExpr | test.rs:446:18:457:5 | BlockExpr | break | +| test.rs:449:13:449:27 | ExprStmt | test.rs:449:26:449:26 | 1 | | +| test.rs:449:26:449:26 | 1 | test.rs:449:13:449:26 | BreakExpr | | +| test.rs:451:9:451:21 | do_next_thing | test.rs:451:9:451:23 | CallExpr | | +| test.rs:451:9:451:23 | CallExpr | test.rs:452:9:454:9 | ExprStmt | | +| test.rs:451:9:451:24 | ExprStmt | test.rs:451:9:451:21 | do_next_thing | | +| test.rs:452:9:454:9 | ExprStmt | test.rs:452:12:452:28 | condition_not_met | | +| test.rs:452:9:454:9 | IfExpr | test.rs:455:9:455:24 | ExprStmt | | +| test.rs:452:12:452:28 | condition_not_met | test.rs:452:12:452:30 | CallExpr | | +| test.rs:452:12:452:30 | CallExpr | test.rs:452:9:454:9 | IfExpr | false | +| test.rs:452:12:452:30 | CallExpr | test.rs:453:13:453:27 | ExprStmt | true | +| test.rs:453:13:453:26 | BreakExpr | test.rs:446:18:457:5 | BlockExpr | break | +| test.rs:453:13:453:27 | ExprStmt | test.rs:453:26:453:26 | 2 | | +| test.rs:453:26:453:26 | 2 | test.rs:453:13:453:26 | BreakExpr | | +| test.rs:455:9:455:21 | do_last_thing | test.rs:455:9:455:23 | CallExpr | | +| test.rs:455:9:455:23 | CallExpr | test.rs:456:9:456:9 | 3 | | +| test.rs:455:9:455:24 | ExprStmt | test.rs:455:9:455:21 | do_last_thing | | +| test.rs:456:9:456:9 | 3 | test.rs:446:18:457:5 | BlockExpr | | +| test.rs:460:1:468:1 | enter labelled_block2 | test.rs:461:5:467:6 | LetStmt | | +| test.rs:460:1:468:1 | exit labelled_block2 (normal) | test.rs:460:1:468:1 | exit labelled_block2 | | +| test.rs:460:29:468:1 | BlockExpr | test.rs:460:1:468:1 | exit labelled_block2 (normal) | | +| test.rs:461:5:467:6 | LetStmt | test.rs:462:9:462:34 | LetStmt | | +| test.rs:461:9:461:14 | result | test.rs:460:29:468:1 | BlockExpr | match | +| test.rs:461:18:467:5 | BlockExpr | test.rs:461:9:461:14 | result | | +| test.rs:462:9:462:34 | LetStmt | test.rs:462:30:462:33 | None | | +| test.rs:462:13:462:13 | x | test.rs:463:9:465:10 | LetStmt | match | +| test.rs:462:30:462:33 | None | test.rs:462:13:462:13 | x | | +| test.rs:463:9:465:10 | LetStmt | test.rs:463:23:463:23 | x | | +| test.rs:463:13:463:19 | TupleStructPat | test.rs:463:18:463:18 | y | match | +| test.rs:463:13:463:19 | TupleStructPat | test.rs:464:13:464:27 | ExprStmt | no-match | +| test.rs:463:18:463:18 | y | test.rs:466:9:466:9 | x | match | +| test.rs:463:23:463:23 | x | test.rs:463:13:463:19 | TupleStructPat | | +| test.rs:464:13:464:26 | BreakExpr | test.rs:461:18:467:5 | BlockExpr | break | +| test.rs:464:13:464:27 | ExprStmt | test.rs:464:26:464:26 | 1 | | +| test.rs:464:26:464:26 | 1 | test.rs:464:13:464:26 | BreakExpr | | +| test.rs:466:9:466:9 | x | test.rs:461:18:467:5 | BlockExpr | | +| test.rs:470:1:476:1 | enter test_nested_function | test.rs:471:5:471:18 | LetStmt | | +| test.rs:470:1:476:1 | exit test_nested_function (normal) | test.rs:470:1:476:1 | exit test_nested_function | | +| test.rs:470:27:476:1 | BlockExpr | test.rs:470:1:476:1 | exit test_nested_function (normal) | | +| test.rs:471:5:471:18 | LetStmt | test.rs:471:17:471:17 | 0 | | +| test.rs:471:9:471:13 | x | test.rs:472:5:474:5 | nested | match | +| test.rs:471:17:471:17 | 0 | test.rs:471:9:471:13 | x | | +| test.rs:472:5:474:5 | enter nested | test.rs:472:15:472:15 | x | | +| test.rs:472:5:474:5 | exit nested (normal) | test.rs:472:5:474:5 | exit nested | | +| test.rs:472:5:474:5 | nested | test.rs:475:5:475:19 | ExprStmt | | +| test.rs:472:15:472:15 | x | test.rs:472:15:472:25 | Param | match | +| test.rs:472:15:472:25 | Param | test.rs:473:9:473:16 | ExprStmt | | +| test.rs:472:28:474:5 | BlockExpr | test.rs:472:5:474:5 | exit nested (normal) | | +| test.rs:473:9:473:10 | * ... | test.rs:473:15:473:15 | 1 | | +| test.rs:473:9:473:15 | ... += ... | test.rs:472:28:474:5 | BlockExpr | | +| test.rs:473:9:473:16 | ExprStmt | test.rs:473:10:473:10 | x | | +| test.rs:473:10:473:10 | x | test.rs:473:9:473:10 | * ... | | +| test.rs:473:15:473:15 | 1 | test.rs:473:9:473:15 | ... += ... | | +| test.rs:475:5:475:10 | nested | test.rs:475:17:475:17 | x | | +| test.rs:475:5:475:18 | CallExpr | test.rs:470:27:476:1 | BlockExpr | | +| test.rs:475:5:475:19 | ExprStmt | test.rs:475:5:475:10 | nested | | +| test.rs:475:12:475:17 | RefExpr | test.rs:475:5:475:18 | CallExpr | | +| test.rs:475:17:475:17 | x | test.rs:475:12:475:17 | RefExpr | | breakTarget | test.rs:26:17:26:21 | BreakExpr | test.rs:20:9:32:9 | LoopExpr | | test.rs:40:21:40:25 | BreakExpr | test.rs:38:13:45:13 | LoopExpr | @@ -968,12 +1030,12 @@ breakTarget | test.rs:93:17:93:21 | BreakExpr | test.rs:91:9:95:9 | WhileExpr | | test.rs:101:17:101:21 | BreakExpr | test.rs:99:9:104:9 | ForExpr | | test.rs:109:13:109:26 | BreakExpr | test.rs:108:9:110:9 | LoopExpr | -| test.rs:186:17:186:28 | BreakExpr | test.rs:184:13:189:9 | LoopExpr | -| test.rs:199:17:199:35 | BreakExpr | test.rs:197:13:202:9 | LoopExpr | -| test.rs:211:13:211:30 | BreakExpr | test.rs:210:13:212:9 | BlockExpr | -| test.rs:429:13:429:26 | BreakExpr | test.rs:426:18:437:5 | BlockExpr | -| test.rs:433:13:433:26 | BreakExpr | test.rs:426:18:437:5 | BlockExpr | -| test.rs:444:13:444:26 | BreakExpr | test.rs:441:18:447:5 | BlockExpr | +| test.rs:202:17:202:28 | BreakExpr | test.rs:200:13:205:9 | LoopExpr | +| test.rs:215:17:215:35 | BreakExpr | test.rs:213:13:218:9 | LoopExpr | +| test.rs:227:13:227:30 | BreakExpr | test.rs:226:13:228:9 | BlockExpr | +| test.rs:449:13:449:26 | BreakExpr | test.rs:446:18:457:5 | BlockExpr | +| test.rs:453:13:453:26 | BreakExpr | test.rs:446:18:457:5 | BlockExpr | +| test.rs:464:13:464:26 | BreakExpr | test.rs:461:18:467:5 | BlockExpr | continueTarget | test.rs:29:17:29:24 | ContinueExpr | test.rs:20:9:32:9 | LoopExpr | | test.rs:55:21:55:28 | ContinueExpr | test.rs:53:13:60:13 | LoopExpr | diff --git a/rust/ql/test/library-tests/controlflow/test.rs b/rust/ql/test/library-tests/controlflow/test.rs index 69a5244d5e50..1c480bc4f252 100644 --- a/rust/ql/test/library-tests/controlflow/test.rs +++ b/rust/ql/test/library-tests/controlflow/test.rs @@ -141,6 +141,22 @@ mod if_expression { 0 } + fn test_and_if_let(a: bool, b: Option, c: bool) -> bool { + if a && let Some(d) = b { + d + } else { + false + } + } + + fn test_and_if_let2(a: bool, b: i64, c: bool) -> bool { + if a && let d = b && c{ + d > 0 + } else { + false + } + } + fn test_nested_if(a: i64) -> i64 { if (if a < 0 { a < -10 } else { a > 10 }) { 1 @@ -262,6 +278,10 @@ mod logical_operators { false } } + + fn test_and_return(a : bool) { + a && return; + } } mod question_mark_operator { @@ -457,4 +477,4 @@ fn test_nested_function() { trait MyFrom { fn my_from(x: T) -> Self; -} +} \ No newline at end of file From 74b5ebe4bf626d23478c0014ac8b4219a552445a Mon Sep 17 00:00:00 2001 From: Tom Hvitved Date: Mon, 18 Nov 2024 14:10:10 +0100 Subject: [PATCH 231/347] Rust: Improve CFG for `let` expressions --- .../codeql/rust/controlflow/internal/Splitting.qll | 8 +++++++- rust/ql/test/library-tests/controlflow/Cfg.expected | 12 +++++------- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/rust/ql/lib/codeql/rust/controlflow/internal/Splitting.qll b/rust/ql/lib/codeql/rust/controlflow/internal/Splitting.qll index b40511d1ccb6..e20cbcb13555 100644 --- a/rust/ql/lib/codeql/rust/controlflow/internal/Splitting.qll +++ b/rust/ql/lib/codeql/rust/controlflow/internal/Splitting.qll @@ -71,7 +71,13 @@ module ConditionalCompletionSplitting { child = parent.(LogicalNotExpr).getExpr() and childCompletion.getDual() = parentCompletion or - childCompletion = parentCompletion and + ( + childCompletion = parentCompletion + or + // needed for `let` expressions + childCompletion.(MatchCompletion).getValue() = + parentCompletion.(BooleanCompletion).getValue() + ) and ( child = parent.(BinaryLogicalOperation).getAnOperand() or diff --git a/rust/ql/test/library-tests/controlflow/Cfg.expected b/rust/ql/test/library-tests/controlflow/Cfg.expected index 1417e6a29f90..9b90cc06965f 100644 --- a/rust/ql/test/library-tests/controlflow/Cfg.expected +++ b/rust/ql/test/library-tests/controlflow/Cfg.expected @@ -288,13 +288,12 @@ edges | test.rs:145:9:149:9 | IfExpr | test.rs:144:67:150:5 | BlockExpr | | | test.rs:145:12:145:12 | a | test.rs:145:12:145:31 | [boolean(false)] ... && ... | false | | test.rs:145:12:145:12 | a | test.rs:145:17:145:31 | LetExpr | true | -| test.rs:145:12:145:31 | ... && ... | test.rs:146:13:146:13 | d | true | -| test.rs:145:12:145:31 | ... && ... | test.rs:148:13:148:17 | false | false | | test.rs:145:12:145:31 | [boolean(false)] ... && ... | test.rs:148:13:148:17 | false | false | +| test.rs:145:12:145:31 | [boolean(true)] ... && ... | test.rs:146:13:146:13 | d | true | | test.rs:145:17:145:31 | LetExpr | test.rs:145:31:145:31 | b | | -| test.rs:145:21:145:27 | TupleStructPat | test.rs:145:12:145:31 | ... && ... | no-match | +| test.rs:145:21:145:27 | TupleStructPat | test.rs:145:12:145:31 | [boolean(false)] ... && ... | no-match | | test.rs:145:21:145:27 | TupleStructPat | test.rs:145:26:145:26 | d | match | -| test.rs:145:26:145:26 | d | test.rs:145:12:145:31 | ... && ... | match | +| test.rs:145:26:145:26 | d | test.rs:145:12:145:31 | [boolean(true)] ... && ... | match | | test.rs:145:31:145:31 | b | test.rs:145:21:145:27 | TupleStructPat | | | test.rs:145:33:147:9 | BlockExpr | test.rs:145:9:149:9 | IfExpr | | | test.rs:146:13:146:13 | d | test.rs:145:33:147:9 | BlockExpr | | @@ -312,13 +311,12 @@ edges | test.rs:153:9:157:9 | IfExpr | test.rs:152:59:158:5 | BlockExpr | | | test.rs:153:12:153:12 | a | test.rs:153:12:153:25 | [boolean(false)] ... && ... | false | | test.rs:153:12:153:12 | a | test.rs:153:17:153:25 | LetExpr | true | -| test.rs:153:12:153:25 | ... && ... | test.rs:153:12:153:30 | [boolean(false)] ... && ... | false | -| test.rs:153:12:153:25 | ... && ... | test.rs:153:30:153:30 | c | true | | test.rs:153:12:153:25 | [boolean(false)] ... && ... | test.rs:153:12:153:30 | [boolean(false)] ... && ... | false | +| test.rs:153:12:153:25 | [boolean(true)] ... && ... | test.rs:153:30:153:30 | c | true | | test.rs:153:12:153:30 | [boolean(false)] ... && ... | test.rs:156:13:156:17 | false | false | | test.rs:153:12:153:30 | [boolean(true)] ... && ... | test.rs:154:13:154:13 | d | true | | test.rs:153:17:153:25 | LetExpr | test.rs:153:25:153:25 | b | | -| test.rs:153:21:153:21 | d | test.rs:153:12:153:25 | ... && ... | match | +| test.rs:153:21:153:21 | d | test.rs:153:12:153:25 | [boolean(true)] ... && ... | match | | test.rs:153:25:153:25 | b | test.rs:153:21:153:21 | d | | | test.rs:153:30:153:30 | c | test.rs:153:12:153:30 | [boolean(false)] ... && ... | false | | test.rs:153:30:153:30 | c | test.rs:153:12:153:30 | [boolean(true)] ... && ... | true | From abd73e16d4e9d2738695b91d6071765194e8cb0c Mon Sep 17 00:00:00 2001 From: Paolo Tranquilli Date: Mon, 18 Nov 2024 15:52:03 +0100 Subject: [PATCH 232/347] Revert "Revert "Rust: allow to specify more cargo configuration options"" --- Cargo.lock | 2 + rust/codeql-extractor.yml | 19 ++++ rust/extractor/Cargo.toml | 2 + rust/extractor/macros/src/lib.rs | 67 +++++++++---- rust/extractor/src/config.rs | 97 ++++++++++++++++++- rust/extractor/src/main.rs | 6 +- rust/extractor/src/rust_analyzer.rs | 11 +-- .../integration-tests/options/cfg/Cargo.toml | 5 + .../options/cfg/functions.expected | 3 + .../options/cfg/functions.override.expected | 4 + .../options/cfg/functions.ql | 5 + .../integration-tests/options/cfg/src/lib.rs | 20 ++++ .../options/cfg/test_cfg_overrides_option.py | 19 ++++ .../options/features/Cargo.toml | 9 ++ .../options/features/functions.all.expected | 3 + .../options/features/functions.bar.expected | 2 + .../options/features/functions.expected | 1 + .../options/features/functions.foo.expected | 2 + .../options/features/functions.ql | 5 + .../options/features/src/lib.rs | 7 ++ .../options/features/test_features_option.py | 17 ++++ .../options/target/Cargo.toml | 5 + .../options/target/functions.Darwin.expected | 1 + .../options/target/functions.Linux.expected | 1 + .../options/target/functions.Windows.expected | 1 + .../options/target/functions.ql | 5 + .../options/target/src/lib.rs | 8 ++ .../options/target/test_target_option.py | 19 ++++ 28 files changed, 313 insertions(+), 33 deletions(-) create mode 100644 rust/ql/integration-tests/options/cfg/Cargo.toml create mode 100644 rust/ql/integration-tests/options/cfg/functions.expected create mode 100644 rust/ql/integration-tests/options/cfg/functions.override.expected create mode 100644 rust/ql/integration-tests/options/cfg/functions.ql create mode 100644 rust/ql/integration-tests/options/cfg/src/lib.rs create mode 100644 rust/ql/integration-tests/options/cfg/test_cfg_overrides_option.py create mode 100644 rust/ql/integration-tests/options/features/Cargo.toml create mode 100644 rust/ql/integration-tests/options/features/functions.all.expected create mode 100644 rust/ql/integration-tests/options/features/functions.bar.expected create mode 100644 rust/ql/integration-tests/options/features/functions.expected create mode 100644 rust/ql/integration-tests/options/features/functions.foo.expected create mode 100644 rust/ql/integration-tests/options/features/functions.ql create mode 100644 rust/ql/integration-tests/options/features/src/lib.rs create mode 100644 rust/ql/integration-tests/options/features/test_features_option.py create mode 100644 rust/ql/integration-tests/options/target/Cargo.toml create mode 100644 rust/ql/integration-tests/options/target/functions.Darwin.expected create mode 100644 rust/ql/integration-tests/options/target/functions.Linux.expected create mode 100644 rust/ql/integration-tests/options/target/functions.Windows.expected create mode 100644 rust/ql/integration-tests/options/target/functions.ql create mode 100644 rust/ql/integration-tests/options/target/src/lib.rs create mode 100644 rust/ql/integration-tests/options/target/test_target_option.py diff --git a/Cargo.lock b/Cargo.lock index ea1bca33cd36..1d5b8824c84a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -389,10 +389,12 @@ dependencies = [ "log", "num-traits", "ra_ap_base_db", + "ra_ap_cfg", "ra_ap_hir", "ra_ap_hir_def", "ra_ap_hir_expand", "ra_ap_ide_db", + "ra_ap_intern", "ra_ap_load-cargo", "ra_ap_parser", "ra_ap_paths", diff --git a/rust/codeql-extractor.yml b/rust/codeql-extractor.yml index c7558c17efef..2f726a10adac 100644 --- a/rust/codeql-extractor.yml +++ b/rust/codeql-extractor.yml @@ -35,3 +35,22 @@ options: reduce execution time of consecutive extractor runs. By default, a new scratch directory is used for each run. type: string + cargo_target: + title: Target architecture + description: > + Target architecture to use for analysis, analogous to `cargo --target`. By + default the host architecture is used. + type: string + cargo_features: + title: Cargo features to turn on + description: > + Comma-separated list of features to turn on. If any value is `*` all features + are turned on. By default only default cargo features are enabled. Can be + repeated. + type: array + cargo_cfg_overrides: + title: Cargo cfg overrides + description: > + Comma-separated list of cfg settings to enable, or disable if prefixed with `-`. + Can be repeated. + type: array diff --git a/rust/extractor/Cargo.toml b/rust/extractor/Cargo.toml index d6d8519b1a84..787ad7fda844 100644 --- a/rust/extractor/Cargo.toml +++ b/rust/extractor/Cargo.toml @@ -22,6 +22,8 @@ ra_ap_syntax = "0.0.232" ra_ap_vfs = "0.0.232" ra_ap_parser = "0.0.232" ra_ap_span = "0.0.232" +ra_ap_cfg = "0.0.232" +ra_ap_intern = "0.0.232" serde = "1.0.209" serde_with = "3.9.0" stderrlog = "0.6.0" diff --git a/rust/extractor/macros/src/lib.rs b/rust/extractor/macros/src/lib.rs index c9771a181de5..c70856aad9f3 100644 --- a/rust/extractor/macros/src/lib.rs +++ b/rust/extractor/macros/src/lib.rs @@ -1,11 +1,36 @@ use proc_macro::TokenStream; use quote::{format_ident, quote}; +use syn::{Ident, Type}; + +fn get_type_tip(t: &Type) -> Option<&Ident> { + let syn::Type::Path(path) = t else { + return None; + }; + let segment = path.path.segments.last()?; + Some(&segment.ident) +} /// Allow all fields in the extractor config to be also overrideable by extractor CLI flags #[proc_macro_attribute] pub fn extractor_cli_config(_attr: TokenStream, item: TokenStream) -> TokenStream { let ast = syn::parse_macro_input!(item as syn::ItemStruct); let name = &ast.ident; + let fields = ast + .fields + .iter() + .map(|f| { + if f.ident.as_ref().is_some_and(|i| i != "inputs") + && get_type_tip(&f.ty).is_some_and(|i| i == "Vec") + { + quote! { + #[serde(deserialize_with="deserialize_newline_or_comma_separated")] + #f + } + } else { + quote! { #f } + } + }) + .collect::>(); let cli_name = format_ident!("Cli{}", name); let cli_fields = ast .fields @@ -13,35 +38,37 @@ pub fn extractor_cli_config(_attr: TokenStream, item: TokenStream) -> TokenStrea .map(|f| { let id = f.ident.as_ref().unwrap(); let ty = &f.ty; - if let syn::Type::Path(p) = ty { - if p.path.is_ident(&format_ident!("bool")) { - return quote! { - #[arg(long)] - #[serde(skip_serializing_if="<&bool>::not")] - #id: bool, - }; + let type_tip = get_type_tip(ty); + if type_tip.is_some_and(|i| i == "bool") { + quote! { + #[arg(long)] + #[serde(skip_serializing_if="<&bool>::not")] + #id: bool } - if p.path.segments.len() == 1 && p.path.segments[0].ident == "Option" { - return quote! { - #[arg(long)] - #id: #ty, - }; + } else if type_tip.is_some_and(|i| i == "Option") { + quote! { + #[arg(long)] + #f } - } - if id == &format_ident!("verbose") { + } else if id == &format_ident!("verbose") { quote! { #[arg(long, short, action=clap::ArgAction::Count)] #[serde(skip_serializing_if="u8::is_zero")] - #id: u8, + #id: u8 } } else if id == &format_ident!("inputs") { quote! { - #id: #ty, + #f + } + } else if type_tip.is_some_and(|i| i == "Vec") { + quote! { + #[arg(long)] + #id: Option } } else { quote! { #[arg(long)] - #id: Option<#ty>, + #id: Option<#ty> } } }) @@ -66,7 +93,9 @@ pub fn extractor_cli_config(_attr: TokenStream, item: TokenStream) -> TokenStrea let gen = quote! { #[serde_with::apply(_ => #[serde(default)])] #[derive(Deserialize, Default)] - #ast + pub struct #name { + #(#fields),* + } impl Debug for #name { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { @@ -80,7 +109,7 @@ pub fn extractor_cli_config(_attr: TokenStream, item: TokenStream) -> TokenStrea #[derive(clap::Parser, Serialize)] #[command(about, long_about = None)] struct #cli_name { - #(#cli_fields)* + #(#cli_fields),* } }; gen.into() diff --git a/rust/extractor/src/config.rs b/rust/extractor/src/config.rs index 8520df189304..dfa9f5d37d20 100644 --- a/rust/extractor/src/config.rs +++ b/rust/extractor/src/config.rs @@ -7,9 +7,14 @@ use figment::{ Figment, }; use itertools::Itertools; +use log::warn; use num_traits::Zero; +use ra_ap_cfg::{CfgAtom, CfgDiff}; +use ra_ap_intern::Symbol; +use ra_ap_paths::Utf8PathBuf; +use ra_ap_project_model::{CargoConfig, CargoFeatures, CfgOverrides, RustLibSource}; use rust_extractor_macros::extractor_cli_config; -use serde::{Deserialize, Serialize}; +use serde::{Deserialize, Deserializer, Serialize}; use std::fmt::Debug; use std::ops::Not; use std::path::PathBuf; @@ -32,12 +37,23 @@ impl From for trap::Compression { } } +// required by the extractor_cli_config macro. +fn deserialize_newline_or_comma_separated<'a, D: Deserializer<'a>, T: for<'b> From<&'b str>>( + deserializer: D, +) -> Result, D::Error> { + let value = String::deserialize(deserializer)?; + Ok(value.split(['\n', ',']).map(T::from).collect()) +} + #[extractor_cli_config] pub struct Config { pub scratch_dir: PathBuf, pub trap_dir: PathBuf, pub source_archive_dir: PathBuf, pub cargo_target_dir: Option, + pub cargo_target: Option, + pub cargo_features: Vec, + pub cargo_cfg_overrides: Vec, pub verbose: u8, pub compression: Compression, pub inputs: Vec, @@ -52,7 +68,7 @@ impl Config { .context("expanding parameter files")?; let cli_args = CliConfig::parse_from(args); let mut figment = Figment::new() - .merge(Env::prefixed("CODEQL_")) + .merge(Env::raw().only(["CODEQL_VERBOSE"].as_slice())) .merge(Env::prefixed("CODEQL_EXTRACTOR_RUST_")) .merge(Env::prefixed("CODEQL_EXTRACTOR_RUST_OPTION_")) .merge(Serialized::defaults(cli_args)); @@ -78,4 +94,81 @@ impl Config { } figment.extract().context("loading configuration") } + + pub fn to_cargo_config(&self) -> CargoConfig { + let sysroot = Some(RustLibSource::Discover); + + let target_dir = self + .cargo_target_dir + .clone() + .unwrap_or_else(|| self.scratch_dir.join("target")); + let target_dir = Utf8PathBuf::from_path_buf(target_dir).ok(); + + let features = if self.cargo_features.is_empty() { + Default::default() + } else if self.cargo_features.contains(&"*".to_string()) { + CargoFeatures::All + } else { + CargoFeatures::Selected { + features: self.cargo_features.clone(), + no_default_features: false, + } + }; + + let target = self.cargo_target.clone(); + + let cfg_overrides = to_cfg_overrides(&self.cargo_cfg_overrides); + + CargoConfig { + sysroot, + target_dir, + features, + target, + cfg_overrides, + ..Default::default() + } + } +} + +fn to_cfg_override(spec: &str) -> CfgAtom { + if let Some((key, value)) = spec.split_once("=") { + CfgAtom::KeyValue { + key: Symbol::intern(key), + value: Symbol::intern(value), + } + } else { + CfgAtom::Flag(Symbol::intern(spec)) + } +} + +fn to_cfg_overrides(specs: &Vec) -> CfgOverrides { + let mut enabled_cfgs = Vec::new(); + let mut disabled_cfgs = Vec::new(); + let mut has_test_explicitly_enabled = false; + for spec in specs { + if spec.starts_with("-") { + disabled_cfgs.push(to_cfg_override(&spec[1..])); + } else { + enabled_cfgs.push(to_cfg_override(spec)); + if spec == "test" { + has_test_explicitly_enabled = true; + } + } + } + if !has_test_explicitly_enabled { + disabled_cfgs.push(to_cfg_override("test")); + } + if let Some(global) = CfgDiff::new(enabled_cfgs, disabled_cfgs) { + CfgOverrides { + global, + ..Default::default() + } + } else { + warn!("non-disjoint cfg overrides, ignoring: {}", specs.join(", ")); + CfgOverrides { + global: CfgDiff::new(Vec::new(), vec![to_cfg_override("test")]) + .expect("disabling one cfg should always succeed"), + ..Default::default() + } + } } diff --git a/rust/extractor/src/main.rs b/rust/extractor/src/main.rs index 1f963a0990e5..ecbdc965f8e7 100644 --- a/rust/extractor/src/main.rs +++ b/rust/extractor/src/main.rs @@ -130,11 +130,9 @@ fn main() -> anyhow::Result<()> { } extractor.extract_without_semantics(file, "no manifest found"); } - let target_dir = &cfg - .cargo_target_dir - .unwrap_or_else(|| cfg.scratch_dir.join("target")); + let cargo_config = cfg.to_cargo_config(); for (manifest, files) in map.values().filter(|(_, files)| !files.is_empty()) { - if let Some((ref db, ref vfs)) = RustAnalyzer::load_workspace(manifest, target_dir) { + if let Some((ref db, ref vfs)) = RustAnalyzer::load_workspace(manifest, &cargo_config) { let semantics = Semantics::new(db); for file in files { let Some(id) = path_to_file_id(file, vfs) else { diff --git a/rust/extractor/src/rust_analyzer.rs b/rust/extractor/src/rust_analyzer.rs index ddbc16ab6a3a..735bacb27c12 100644 --- a/rust/extractor/src/rust_analyzer.rs +++ b/rust/extractor/src/rust_analyzer.rs @@ -7,7 +7,6 @@ use ra_ap_load_cargo::{load_workspace_at, LoadCargoConfig, ProcMacroServerChoice use ra_ap_paths::Utf8PathBuf; use ra_ap_project_model::CargoConfig; use ra_ap_project_model::ProjectManifest; -use ra_ap_project_model::RustLibSource; use ra_ap_span::Edition; use ra_ap_span::EditionedFileId; use ra_ap_span::TextRange; @@ -20,6 +19,7 @@ use ra_ap_vfs::{AbsPathBuf, FileId}; use std::borrow::Cow; use std::path::{Path, PathBuf}; use triomphe::Arc; + pub enum RustAnalyzer<'a> { WithSemantics { vfs: &'a Vfs, @@ -45,13 +45,8 @@ pub struct ParseResult<'a> { impl<'a> RustAnalyzer<'a> { pub fn load_workspace( project: &ProjectManifest, - target_dir: &Path, + config: &CargoConfig, ) -> Option<(RootDatabase, Vfs)> { - let config = CargoConfig { - sysroot: Some(RustLibSource::Discover), - target_dir: ra_ap_paths::Utf8PathBuf::from_path_buf(target_dir.to_path_buf()).ok(), - ..Default::default() - }; let progress = |t| (log::trace!("progress: {}", t)); let load_config = LoadCargoConfig { load_out_dirs_from_check: true, @@ -60,7 +55,7 @@ impl<'a> RustAnalyzer<'a> { }; let manifest = project.manifest_path(); - match load_workspace_at(manifest.as_ref(), &config, &load_config, &progress) { + match load_workspace_at(manifest.as_ref(), config, &load_config, &progress) { Ok((db, vfs, _macro_server)) => Some((db, vfs)), Err(err) => { log::error!("failed to load workspace for {}: {}", manifest, err); diff --git a/rust/ql/integration-tests/options/cfg/Cargo.toml b/rust/ql/integration-tests/options/cfg/Cargo.toml new file mode 100644 index 000000000000..c5cbf8722f1f --- /dev/null +++ b/rust/ql/integration-tests/options/cfg/Cargo.toml @@ -0,0 +1,5 @@ +[workspace] +[package] +name = "cfg" +version = "0.1.0" +edition = "2021" diff --git a/rust/ql/integration-tests/options/cfg/functions.expected b/rust/ql/integration-tests/options/cfg/functions.expected new file mode 100644 index 000000000000..a2042c5e4c49 --- /dev/null +++ b/rust/ql/integration-tests/options/cfg/functions.expected @@ -0,0 +1,3 @@ +| src/lib.rs:7:1:8:19 | cfg_no_flag | +| src/lib.rs:10:1:11:18 | cfg_no_key | +| src/lib.rs:16:1:17:24 | pointer_width_64 | diff --git a/rust/ql/integration-tests/options/cfg/functions.override.expected b/rust/ql/integration-tests/options/cfg/functions.override.expected new file mode 100644 index 000000000000..4a19db56a741 --- /dev/null +++ b/rust/ql/integration-tests/options/cfg/functions.override.expected @@ -0,0 +1,4 @@ +| src/lib.rs:1:1:2:16 | cfg_flag | +| src/lib.rs:4:1:5:15 | cfg_key | +| src/lib.rs:13:1:14:12 | test | +| src/lib.rs:19:1:20:24 | pointer_width_32 | diff --git a/rust/ql/integration-tests/options/cfg/functions.ql b/rust/ql/integration-tests/options/cfg/functions.ql new file mode 100644 index 000000000000..da7b22cf5843 --- /dev/null +++ b/rust/ql/integration-tests/options/cfg/functions.ql @@ -0,0 +1,5 @@ +import rust + +from Function f +where f.hasExtendedCanonicalPath() +select f diff --git a/rust/ql/integration-tests/options/cfg/src/lib.rs b/rust/ql/integration-tests/options/cfg/src/lib.rs new file mode 100644 index 000000000000..1643ffbf2adf --- /dev/null +++ b/rust/ql/integration-tests/options/cfg/src/lib.rs @@ -0,0 +1,20 @@ +#[cfg(cfg_flag)] +fn cfg_flag() {} + +#[cfg(cfg_key = "value")] +fn cfg_key() {} + +#[cfg(not(cfg_flag))] +fn cfg_no_flag() {} + +#[cfg(not(cfg_key = "value"))] +fn cfg_no_key() {} + +#[cfg(test)] +fn test() {} + +#[cfg(target_pointer_width = "64")] +fn pointer_width_64() {} + +#[cfg(target_pointer_width = "32")] +fn pointer_width_32() {} diff --git a/rust/ql/integration-tests/options/cfg/test_cfg_overrides_option.py b/rust/ql/integration-tests/options/cfg/test_cfg_overrides_option.py new file mode 100644 index 000000000000..aa5f3cd3b2ed --- /dev/null +++ b/rust/ql/integration-tests/options/cfg/test_cfg_overrides_option.py @@ -0,0 +1,19 @@ +import pytest +import platform +import os + + +def test_default(codeql, rust): + codeql.database.create() + + +@pytest.mark.ql_test(expected=".override.expected") +def test_cfg_overrides(codeql, rust): + overrides = ",".join(( + "cfg_flag", + "cfg_key=value", + "-target_pointer_width=64", + "target_pointer_width=32", + "test", + )) + codeql.database.create(extractor_option=f"cargo_cfg_overrides={overrides}") diff --git a/rust/ql/integration-tests/options/features/Cargo.toml b/rust/ql/integration-tests/options/features/Cargo.toml new file mode 100644 index 000000000000..7faf9f167bec --- /dev/null +++ b/rust/ql/integration-tests/options/features/Cargo.toml @@ -0,0 +1,9 @@ +[workspace] +[package] +name = "features" +version = "0.1.0" +edition = "2021" + +[features] +foo = [] +bar = [] diff --git a/rust/ql/integration-tests/options/features/functions.all.expected b/rust/ql/integration-tests/options/features/functions.all.expected new file mode 100644 index 000000000000..5ce4cae2ab0d --- /dev/null +++ b/rust/ql/integration-tests/options/features/functions.all.expected @@ -0,0 +1,3 @@ +| src/lib.rs:1:1:2:11 | foo | +| src/lib.rs:4:1:5:11 | bar | +| src/lib.rs:7:1:7:14 | always | diff --git a/rust/ql/integration-tests/options/features/functions.bar.expected b/rust/ql/integration-tests/options/features/functions.bar.expected new file mode 100644 index 000000000000..cad441d6749b --- /dev/null +++ b/rust/ql/integration-tests/options/features/functions.bar.expected @@ -0,0 +1,2 @@ +| src/lib.rs:4:1:5:11 | bar | +| src/lib.rs:7:1:7:14 | always | diff --git a/rust/ql/integration-tests/options/features/functions.expected b/rust/ql/integration-tests/options/features/functions.expected new file mode 100644 index 000000000000..523c21876884 --- /dev/null +++ b/rust/ql/integration-tests/options/features/functions.expected @@ -0,0 +1 @@ +| src/lib.rs:7:1:7:14 | always | diff --git a/rust/ql/integration-tests/options/features/functions.foo.expected b/rust/ql/integration-tests/options/features/functions.foo.expected new file mode 100644 index 000000000000..b78754230833 --- /dev/null +++ b/rust/ql/integration-tests/options/features/functions.foo.expected @@ -0,0 +1,2 @@ +| src/lib.rs:1:1:2:11 | foo | +| src/lib.rs:7:1:7:14 | always | diff --git a/rust/ql/integration-tests/options/features/functions.ql b/rust/ql/integration-tests/options/features/functions.ql new file mode 100644 index 000000000000..da7b22cf5843 --- /dev/null +++ b/rust/ql/integration-tests/options/features/functions.ql @@ -0,0 +1,5 @@ +import rust + +from Function f +where f.hasExtendedCanonicalPath() +select f diff --git a/rust/ql/integration-tests/options/features/src/lib.rs b/rust/ql/integration-tests/options/features/src/lib.rs new file mode 100644 index 000000000000..c1e97e05fd7f --- /dev/null +++ b/rust/ql/integration-tests/options/features/src/lib.rs @@ -0,0 +1,7 @@ +#[cfg(feature = "foo")] +fn foo() {} + +#[cfg(feature = "bar")] +fn bar() {} + +fn always() {} diff --git a/rust/ql/integration-tests/options/features/test_features_option.py b/rust/ql/integration-tests/options/features/test_features_option.py new file mode 100644 index 000000000000..75c5058be078 --- /dev/null +++ b/rust/ql/integration-tests/options/features/test_features_option.py @@ -0,0 +1,17 @@ +import pytest + +def test_default(codeql, rust): + codeql.database.create() + +@pytest.mark.parametrize("features", + [ + pytest.param(p, + marks=pytest.mark.ql_test(expected=f".{e}.expected")) + for p, e in ( + ("foo", "foo"), + ("bar", "bar"), + ("*", "all"), + ("foo,bar", "all")) + ]) +def test_features(codeql, rust, features): + codeql.database.create(extractor_option=f"cargo_features={features}") diff --git a/rust/ql/integration-tests/options/target/Cargo.toml b/rust/ql/integration-tests/options/target/Cargo.toml new file mode 100644 index 000000000000..90a82fb6a07b --- /dev/null +++ b/rust/ql/integration-tests/options/target/Cargo.toml @@ -0,0 +1,5 @@ +[workspace] +[package] +name = "target" +version = "0.1.0" +edition = "2021" diff --git a/rust/ql/integration-tests/options/target/functions.Darwin.expected b/rust/ql/integration-tests/options/target/functions.Darwin.expected new file mode 100644 index 000000000000..217974bb7c63 --- /dev/null +++ b/rust/ql/integration-tests/options/target/functions.Darwin.expected @@ -0,0 +1 @@ +| src/lib.rs:7:1:8:13 | macos | diff --git a/rust/ql/integration-tests/options/target/functions.Linux.expected b/rust/ql/integration-tests/options/target/functions.Linux.expected new file mode 100644 index 000000000000..57662579f1f5 --- /dev/null +++ b/rust/ql/integration-tests/options/target/functions.Linux.expected @@ -0,0 +1 @@ +| src/lib.rs:1:1:2:13 | linux | diff --git a/rust/ql/integration-tests/options/target/functions.Windows.expected b/rust/ql/integration-tests/options/target/functions.Windows.expected new file mode 100644 index 000000000000..8ae2d8c86ccf --- /dev/null +++ b/rust/ql/integration-tests/options/target/functions.Windows.expected @@ -0,0 +1 @@ +| src/lib.rs:4:1:5:15 | windows | diff --git a/rust/ql/integration-tests/options/target/functions.ql b/rust/ql/integration-tests/options/target/functions.ql new file mode 100644 index 000000000000..da7b22cf5843 --- /dev/null +++ b/rust/ql/integration-tests/options/target/functions.ql @@ -0,0 +1,5 @@ +import rust + +from Function f +where f.hasExtendedCanonicalPath() +select f diff --git a/rust/ql/integration-tests/options/target/src/lib.rs b/rust/ql/integration-tests/options/target/src/lib.rs new file mode 100644 index 000000000000..fc9ebcbb616d --- /dev/null +++ b/rust/ql/integration-tests/options/target/src/lib.rs @@ -0,0 +1,8 @@ +#[cfg(target_os = "linux")] +fn linux() {} + +#[cfg(target_os = "windows")] +fn windows() {} + +#[cfg(target_os = "macos")] +fn macos() {} diff --git a/rust/ql/integration-tests/options/target/test_target_option.py b/rust/ql/integration-tests/options/target/test_target_option.py new file mode 100644 index 000000000000..3cb1db7513d1 --- /dev/null +++ b/rust/ql/integration-tests/options/target/test_target_option.py @@ -0,0 +1,19 @@ +import pytest +import platform + + +@pytest.mark.ql_test(expected=f".{platform.system()}.expected") +def test_default(codeql, rust): + codeql.database.create() + +@pytest.mark.ql_test(expected=".Windows.expected") +def test_target_windows(codeql, rust): + codeql.database.create(extractor_option="cargo_target=x86_64-pc-windows-msvc") + +@pytest.mark.ql_test(expected=".Darwin.expected") +def test_target_macos(codeql, rust): + codeql.database.create(extractor_option="cargo_target=aarch64-apple-darwin") + +@pytest.mark.ql_test(expected=".Linux.expected") +def test_target_linux(codeql, rust): + codeql.database.create(extractor_option="cargo_target=x86_64-unknown-linux-gnu") From e077bf07327c32eed1355ae113a1613aa7385cf8 Mon Sep 17 00:00:00 2001 From: Paolo Tranquilli Date: Mon, 18 Nov 2024 16:06:27 +0100 Subject: [PATCH 233/347] Rust: update vendored dependencies --- MODULE.bazel | 2 +- .../3rdparty/tree_sitter_extractors_deps/BUILD.bazel | 12 ++++++++++++ .../3rdparty/tree_sitter_extractors_deps/defs.bzl | 4 ++++ 3 files changed, 17 insertions(+), 1 deletion(-) diff --git a/MODULE.bazel b/MODULE.bazel index 666ed89be437..500916c057f3 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -68,7 +68,7 @@ use_repo(py_deps, "vendor__anyhow-1.0.44", "vendor__cc-1.0.70", "vendor__clap-2. # deps for ruby+rust # keep in sync by running `misc/bazel/3rdparty/update_cargo_deps.sh` tree_sitter_extractors_deps = use_extension("//misc/bazel/3rdparty:tree_sitter_extractors_extension.bzl", "r") -use_repo(tree_sitter_extractors_deps, "vendor__anyhow-1.0.93", "vendor__argfile-0.2.1", "vendor__chrono-0.4.38", "vendor__clap-4.5.20", "vendor__encoding-0.2.33", "vendor__figment-0.10.19", "vendor__flate2-1.0.34", "vendor__glob-0.3.1", "vendor__globset-0.4.15", "vendor__itertools-0.10.5", "vendor__itertools-0.13.0", "vendor__lazy_static-1.5.0", "vendor__log-0.4.22", "vendor__num-traits-0.2.19", "vendor__num_cpus-1.16.0", "vendor__proc-macro2-1.0.89", "vendor__quote-1.0.37", "vendor__ra_ap_base_db-0.0.232", "vendor__ra_ap_hir-0.0.232", "vendor__ra_ap_hir_def-0.0.232", "vendor__ra_ap_hir_expand-0.0.232", "vendor__ra_ap_ide_db-0.0.232", "vendor__ra_ap_load-cargo-0.0.232", "vendor__ra_ap_parser-0.0.232", "vendor__ra_ap_paths-0.0.232", "vendor__ra_ap_project_model-0.0.232", "vendor__ra_ap_span-0.0.232", "vendor__ra_ap_syntax-0.0.232", "vendor__ra_ap_vfs-0.0.232", "vendor__rand-0.8.5", "vendor__rayon-1.10.0", "vendor__regex-1.11.1", "vendor__serde-1.0.214", "vendor__serde_json-1.0.132", "vendor__serde_with-3.11.0", "vendor__stderrlog-0.6.0", "vendor__syn-2.0.87", "vendor__tracing-0.1.40", "vendor__tracing-subscriber-0.3.18", "vendor__tree-sitter-0.24.4", "vendor__tree-sitter-embedded-template-0.23.2", "vendor__tree-sitter-json-0.24.8", "vendor__tree-sitter-ql-0.23.1", "vendor__tree-sitter-ruby-0.23.1", "vendor__triomphe-0.1.14", "vendor__ungrammar-1.16.1") +use_repo(tree_sitter_extractors_deps, "vendor__anyhow-1.0.93", "vendor__argfile-0.2.1", "vendor__chrono-0.4.38", "vendor__clap-4.5.20", "vendor__encoding-0.2.33", "vendor__figment-0.10.19", "vendor__flate2-1.0.34", "vendor__glob-0.3.1", "vendor__globset-0.4.15", "vendor__itertools-0.10.5", "vendor__itertools-0.13.0", "vendor__lazy_static-1.5.0", "vendor__log-0.4.22", "vendor__num-traits-0.2.19", "vendor__num_cpus-1.16.0", "vendor__proc-macro2-1.0.89", "vendor__quote-1.0.37", "vendor__ra_ap_base_db-0.0.232", "vendor__ra_ap_cfg-0.0.232", "vendor__ra_ap_hir-0.0.232", "vendor__ra_ap_hir_def-0.0.232", "vendor__ra_ap_hir_expand-0.0.232", "vendor__ra_ap_ide_db-0.0.232", "vendor__ra_ap_intern-0.0.232", "vendor__ra_ap_load-cargo-0.0.232", "vendor__ra_ap_parser-0.0.232", "vendor__ra_ap_paths-0.0.232", "vendor__ra_ap_project_model-0.0.232", "vendor__ra_ap_span-0.0.232", "vendor__ra_ap_syntax-0.0.232", "vendor__ra_ap_vfs-0.0.232", "vendor__rand-0.8.5", "vendor__rayon-1.10.0", "vendor__regex-1.11.1", "vendor__serde-1.0.214", "vendor__serde_json-1.0.132", "vendor__serde_with-3.11.0", "vendor__stderrlog-0.6.0", "vendor__syn-2.0.87", "vendor__tracing-0.1.40", "vendor__tracing-subscriber-0.3.18", "vendor__tree-sitter-0.24.4", "vendor__tree-sitter-embedded-template-0.23.2", "vendor__tree-sitter-json-0.24.8", "vendor__tree-sitter-ql-0.23.1", "vendor__tree-sitter-ruby-0.23.1", "vendor__triomphe-0.1.14", "vendor__ungrammar-1.16.1") dotnet = use_extension("@rules_dotnet//dotnet:extensions.bzl", "dotnet") dotnet.toolchain(dotnet_version = "8.0.101") diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.bazel index a1fc9e105123..844d385f8a41 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.bazel @@ -139,6 +139,12 @@ alias( tags = ["manual"], ) +alias( + name = "ra_ap_cfg", + actual = "@vendor__ra_ap_cfg-0.0.232//:ra_ap_cfg", + tags = ["manual"], +) + alias( name = "ra_ap_hir", actual = "@vendor__ra_ap_hir-0.0.232//:ra_ap_hir", @@ -163,6 +169,12 @@ alias( tags = ["manual"], ) +alias( + name = "ra_ap_intern", + actual = "@vendor__ra_ap_intern-0.0.232//:ra_ap_intern", + tags = ["manual"], +) + alias( name = "ra_ap_load-cargo", actual = "@vendor__ra_ap_load-cargo-0.0.232//:ra_ap_load_cargo", diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/defs.bzl b/misc/bazel/3rdparty/tree_sitter_extractors_deps/defs.bzl index 86344386015e..1d0b825c2356 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/defs.bzl +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/defs.bzl @@ -327,10 +327,12 @@ _NORMAL_DEPENDENCIES = { "log": Label("@vendor__log-0.4.22//:log"), "num-traits": Label("@vendor__num-traits-0.2.19//:num_traits"), "ra_ap_base_db": Label("@vendor__ra_ap_base_db-0.0.232//:ra_ap_base_db"), + "ra_ap_cfg": Label("@vendor__ra_ap_cfg-0.0.232//:ra_ap_cfg"), "ra_ap_hir": Label("@vendor__ra_ap_hir-0.0.232//:ra_ap_hir"), "ra_ap_hir_def": Label("@vendor__ra_ap_hir_def-0.0.232//:ra_ap_hir_def"), "ra_ap_hir_expand": Label("@vendor__ra_ap_hir_expand-0.0.232//:ra_ap_hir_expand"), "ra_ap_ide_db": Label("@vendor__ra_ap_ide_db-0.0.232//:ra_ap_ide_db"), + "ra_ap_intern": Label("@vendor__ra_ap_intern-0.0.232//:ra_ap_intern"), "ra_ap_load-cargo": Label("@vendor__ra_ap_load-cargo-0.0.232//:ra_ap_load_cargo"), "ra_ap_parser": Label("@vendor__ra_ap_parser-0.0.232//:ra_ap_parser"), "ra_ap_paths": Label("@vendor__ra_ap_paths-0.0.232//:ra_ap_paths"), @@ -3323,10 +3325,12 @@ def crate_repositories(): struct(repo = "vendor__proc-macro2-1.0.89", is_dev_dep = False), struct(repo = "vendor__quote-1.0.37", is_dev_dep = False), struct(repo = "vendor__ra_ap_base_db-0.0.232", is_dev_dep = False), + struct(repo = "vendor__ra_ap_cfg-0.0.232", is_dev_dep = False), struct(repo = "vendor__ra_ap_hir-0.0.232", is_dev_dep = False), struct(repo = "vendor__ra_ap_hir_def-0.0.232", is_dev_dep = False), struct(repo = "vendor__ra_ap_hir_expand-0.0.232", is_dev_dep = False), struct(repo = "vendor__ra_ap_ide_db-0.0.232", is_dev_dep = False), + struct(repo = "vendor__ra_ap_intern-0.0.232", is_dev_dep = False), struct(repo = "vendor__ra_ap_load-cargo-0.0.232", is_dev_dep = False), struct(repo = "vendor__ra_ap_parser-0.0.232", is_dev_dep = False), struct(repo = "vendor__ra_ap_paths-0.0.232", is_dev_dep = False), From 0943389ca13636c17bedd172a2a31acc4021e927 Mon Sep 17 00:00:00 2001 From: Paolo Tranquilli Date: Mon, 18 Nov 2024 16:16:54 +0100 Subject: [PATCH 234/347] Rust: add rust-specific deps updater script --- rust/ast-generator/Cargo.toml | 2 +- rust/extractor/Cargo.toml | 2 +- rust/extractor/macros/Cargo.toml | 2 +- rust/update_cargo_deps.sh | 9 +++++++++ 4 files changed, 12 insertions(+), 3 deletions(-) create mode 100755 rust/update_cargo_deps.sh diff --git a/rust/ast-generator/Cargo.toml b/rust/ast-generator/Cargo.toml index e52aac450ab4..5eaff201b209 100644 --- a/rust/ast-generator/Cargo.toml +++ b/rust/ast-generator/Cargo.toml @@ -3,7 +3,7 @@ name = "ast-generator" version = "0.1.0" edition = "2021" -# When updating these dependencies, run `misc/bazel/3rdparty/update_cargo_deps.sh` +# When updating these dependencies, run `rust/update_cargo_deps.sh` [dependencies] ungrammar = "1.16.1" proc-macro2 = "1.0.33" diff --git a/rust/extractor/Cargo.toml b/rust/extractor/Cargo.toml index 787ad7fda844..8b58898d3cf3 100644 --- a/rust/extractor/Cargo.toml +++ b/rust/extractor/Cargo.toml @@ -3,7 +3,7 @@ name = "codeql-rust" version = "0.1.0" edition = "2021" -# When updating these dependencies, run `misc/bazel/3rdparty/update_cargo_deps.sh` +# When updating these dependencies, run `rust/update_cargo_deps.sh` [dependencies] anyhow = "1.0.86" clap = { version = "4.5.16", features = ["derive"] } diff --git a/rust/extractor/macros/Cargo.toml b/rust/extractor/macros/Cargo.toml index 50c865a63730..42c0a0c6d3d5 100644 --- a/rust/extractor/macros/Cargo.toml +++ b/rust/extractor/macros/Cargo.toml @@ -6,7 +6,7 @@ edition = "2021" [lib] proc-macro = true -# When updating these dependencies, run `misc/bazel/3rdparty/update_cargo_deps.sh` +# When updating these dependencies, run `rust/update_cargo_deps.sh` [dependencies] quote = "1.0.37" syn = { version = "2.0.77", features = ["full"] } diff --git a/rust/update_cargo_deps.sh b/rust/update_cargo_deps.sh new file mode 100755 index 000000000000..c60670c24041 --- /dev/null +++ b/rust/update_cargo_deps.sh @@ -0,0 +1,9 @@ +#!/bin/bash + +set -eu + +SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) + +cd "$SCRIPT_DIR/.." +time bazel run //misc/bazel/3rdparty:vendor_tree_sitter_extractors +bazel mod tidy From 493ea6da316d2ee51182cfd0c6beabc916afc24e Mon Sep 17 00:00:00 2001 From: Mathias Vorreiter Pedersen Date: Mon, 18 Nov 2024 15:21:28 +0000 Subject: [PATCH 235/347] C++: Add a new consistency check for branching on non-boolean values. --- .../aliased_ssa/IRConsistency.qll | 22 +++++++++++++++++++ .../ir/implementation/raw/IRConsistency.qll | 22 +++++++++++++++++++ .../unaliased_ssa/IRConsistency.qll | 22 +++++++++++++++++++ .../ir/ir/aliased_ssa_consistency.expected | 2 ++ .../aliased_ssa_consistency_unsound.expected | 2 ++ .../ir/ir/raw_consistency.expected | 2 ++ .../ir/ir/unaliased_ssa_consistency.expected | 2 ++ ...unaliased_ssa_consistency_unsound.expected | 2 ++ .../ir/ssa/aliased_ssa_consistency.expected | 1 + .../aliased_ssa_consistency_unsound.expected | 1 + .../ir/ssa/unaliased_ssa_consistency.expected | 1 + ...unaliased_ssa_consistency_unsound.expected | 1 + 12 files changed, 80 insertions(+) diff --git a/cpp/ql/lib/semmle/code/cpp/ir/implementation/aliased_ssa/IRConsistency.qll b/cpp/ql/lib/semmle/code/cpp/ir/implementation/aliased_ssa/IRConsistency.qll index edc785dfabee..67a6965ae9bb 100644 --- a/cpp/ql/lib/semmle/code/cpp/ir/implementation/aliased_ssa/IRConsistency.qll +++ b/cpp/ql/lib/semmle/code/cpp/ir/implementation/aliased_ssa/IRConsistency.qll @@ -546,4 +546,26 @@ module InstructionConsistency { "' has no associated variable, in function '$@'." and irFunc = getInstructionIRFunction(instr, irFuncText) } + + query predicate nonBooleanOperand( + Instruction instr, string message, OptionalIRFunction irFunc, string irFuncText + ) { + exists(Instruction unary | + unary = instr.(LogicalNotInstruction).getUnary() and + not unary.getResultIRType() instanceof IRBooleanType and + irFunc = getInstructionIRFunction(instr, irFuncText) and + message = + "Logical Not instruction " + instr.toString() + + " with non-Boolean operand, in function '$@'." + ) + or + exists(Instruction cond | + cond = instr.(ConditionalBranchInstruction).getCondition() and + not cond.getResultIRType() instanceof IRBooleanType and + irFunc = getInstructionIRFunction(instr, irFuncText) and + message = + "Conditional branch instruction " + instr.toString() + + " with non-Boolean condition, in function '$@'." + ) + } } diff --git a/cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/IRConsistency.qll b/cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/IRConsistency.qll index edc785dfabee..67a6965ae9bb 100644 --- a/cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/IRConsistency.qll +++ b/cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/IRConsistency.qll @@ -546,4 +546,26 @@ module InstructionConsistency { "' has no associated variable, in function '$@'." and irFunc = getInstructionIRFunction(instr, irFuncText) } + + query predicate nonBooleanOperand( + Instruction instr, string message, OptionalIRFunction irFunc, string irFuncText + ) { + exists(Instruction unary | + unary = instr.(LogicalNotInstruction).getUnary() and + not unary.getResultIRType() instanceof IRBooleanType and + irFunc = getInstructionIRFunction(instr, irFuncText) and + message = + "Logical Not instruction " + instr.toString() + + " with non-Boolean operand, in function '$@'." + ) + or + exists(Instruction cond | + cond = instr.(ConditionalBranchInstruction).getCondition() and + not cond.getResultIRType() instanceof IRBooleanType and + irFunc = getInstructionIRFunction(instr, irFuncText) and + message = + "Conditional branch instruction " + instr.toString() + + " with non-Boolean condition, in function '$@'." + ) + } } diff --git a/cpp/ql/lib/semmle/code/cpp/ir/implementation/unaliased_ssa/IRConsistency.qll b/cpp/ql/lib/semmle/code/cpp/ir/implementation/unaliased_ssa/IRConsistency.qll index edc785dfabee..67a6965ae9bb 100644 --- a/cpp/ql/lib/semmle/code/cpp/ir/implementation/unaliased_ssa/IRConsistency.qll +++ b/cpp/ql/lib/semmle/code/cpp/ir/implementation/unaliased_ssa/IRConsistency.qll @@ -546,4 +546,26 @@ module InstructionConsistency { "' has no associated variable, in function '$@'." and irFunc = getInstructionIRFunction(instr, irFuncText) } + + query predicate nonBooleanOperand( + Instruction instr, string message, OptionalIRFunction irFunc, string irFuncText + ) { + exists(Instruction unary | + unary = instr.(LogicalNotInstruction).getUnary() and + not unary.getResultIRType() instanceof IRBooleanType and + irFunc = getInstructionIRFunction(instr, irFuncText) and + message = + "Logical Not instruction " + instr.toString() + + " with non-Boolean operand, in function '$@'." + ) + or + exists(Instruction cond | + cond = instr.(ConditionalBranchInstruction).getCondition() and + not cond.getResultIRType() instanceof IRBooleanType and + irFunc = getInstructionIRFunction(instr, irFuncText) and + message = + "Conditional branch instruction " + instr.toString() + + " with non-Boolean condition, in function '$@'." + ) + } } diff --git a/cpp/ql/test/library-tests/ir/ir/aliased_ssa_consistency.expected b/cpp/ql/test/library-tests/ir/ir/aliased_ssa_consistency.expected index 199d61f015dc..fb695d838915 100644 --- a/cpp/ql/test/library-tests/ir/ir/aliased_ssa_consistency.expected +++ b/cpp/ql/test/library-tests/ir/ir/aliased_ssa_consistency.expected @@ -29,4 +29,6 @@ fieldAddressOnNonPointer thisArgumentIsNonPointer | ir.cpp:2546:34:2546:34 | Call: call to operator bool | Call instruction 'Call: call to operator bool' has a `this` argument operand that is not an address, in function '$@'. | ir.cpp:2545:6:2545:23 | void this_inconsistency(bool) | void this_inconsistency(bool) | nonUniqueIRVariable +nonBooleanOperand +| try_except.c:35:13:35:13 | ConditionalBranch: b | Conditional branch instruction ConditionalBranch: b with non-Boolean condition, in function '$@'. | try_except.c:32:6:32:6 | void h(int) | void h(int) | missingCppType diff --git a/cpp/ql/test/library-tests/ir/ir/aliased_ssa_consistency_unsound.expected b/cpp/ql/test/library-tests/ir/ir/aliased_ssa_consistency_unsound.expected index 199d61f015dc..fb695d838915 100644 --- a/cpp/ql/test/library-tests/ir/ir/aliased_ssa_consistency_unsound.expected +++ b/cpp/ql/test/library-tests/ir/ir/aliased_ssa_consistency_unsound.expected @@ -29,4 +29,6 @@ fieldAddressOnNonPointer thisArgumentIsNonPointer | ir.cpp:2546:34:2546:34 | Call: call to operator bool | Call instruction 'Call: call to operator bool' has a `this` argument operand that is not an address, in function '$@'. | ir.cpp:2545:6:2545:23 | void this_inconsistency(bool) | void this_inconsistency(bool) | nonUniqueIRVariable +nonBooleanOperand +| try_except.c:35:13:35:13 | ConditionalBranch: b | Conditional branch instruction ConditionalBranch: b with non-Boolean condition, in function '$@'. | try_except.c:32:6:32:6 | void h(int) | void h(int) | missingCppType diff --git a/cpp/ql/test/library-tests/ir/ir/raw_consistency.expected b/cpp/ql/test/library-tests/ir/ir/raw_consistency.expected index 26760a15730a..6e499b328073 100644 --- a/cpp/ql/test/library-tests/ir/ir/raw_consistency.expected +++ b/cpp/ql/test/library-tests/ir/ir/raw_consistency.expected @@ -38,4 +38,6 @@ fieldAddressOnNonPointer thisArgumentIsNonPointer | ir.cpp:2546:34:2546:34 | Call: call to operator bool | Call instruction 'Call: call to operator bool' has a `this` argument operand that is not an address, in function '$@'. | ir.cpp:2545:6:2545:23 | void this_inconsistency(bool) | void this_inconsistency(bool) | nonUniqueIRVariable +nonBooleanOperand +| try_except.c:35:13:35:13 | ConditionalBranch: b | Conditional branch instruction ConditionalBranch: b with non-Boolean condition, in function '$@'. | try_except.c:32:6:32:6 | void h(int) | void h(int) | missingCppType diff --git a/cpp/ql/test/library-tests/ir/ir/unaliased_ssa_consistency.expected b/cpp/ql/test/library-tests/ir/ir/unaliased_ssa_consistency.expected index 199d61f015dc..fb695d838915 100644 --- a/cpp/ql/test/library-tests/ir/ir/unaliased_ssa_consistency.expected +++ b/cpp/ql/test/library-tests/ir/ir/unaliased_ssa_consistency.expected @@ -29,4 +29,6 @@ fieldAddressOnNonPointer thisArgumentIsNonPointer | ir.cpp:2546:34:2546:34 | Call: call to operator bool | Call instruction 'Call: call to operator bool' has a `this` argument operand that is not an address, in function '$@'. | ir.cpp:2545:6:2545:23 | void this_inconsistency(bool) | void this_inconsistency(bool) | nonUniqueIRVariable +nonBooleanOperand +| try_except.c:35:13:35:13 | ConditionalBranch: b | Conditional branch instruction ConditionalBranch: b with non-Boolean condition, in function '$@'. | try_except.c:32:6:32:6 | void h(int) | void h(int) | missingCppType diff --git a/cpp/ql/test/library-tests/ir/ir/unaliased_ssa_consistency_unsound.expected b/cpp/ql/test/library-tests/ir/ir/unaliased_ssa_consistency_unsound.expected index 199d61f015dc..fb695d838915 100644 --- a/cpp/ql/test/library-tests/ir/ir/unaliased_ssa_consistency_unsound.expected +++ b/cpp/ql/test/library-tests/ir/ir/unaliased_ssa_consistency_unsound.expected @@ -29,4 +29,6 @@ fieldAddressOnNonPointer thisArgumentIsNonPointer | ir.cpp:2546:34:2546:34 | Call: call to operator bool | Call instruction 'Call: call to operator bool' has a `this` argument operand that is not an address, in function '$@'. | ir.cpp:2545:6:2545:23 | void this_inconsistency(bool) | void this_inconsistency(bool) | nonUniqueIRVariable +nonBooleanOperand +| try_except.c:35:13:35:13 | ConditionalBranch: b | Conditional branch instruction ConditionalBranch: b with non-Boolean condition, in function '$@'. | try_except.c:32:6:32:6 | void h(int) | void h(int) | missingCppType diff --git a/cpp/ql/test/library-tests/ir/ssa/aliased_ssa_consistency.expected b/cpp/ql/test/library-tests/ir/ssa/aliased_ssa_consistency.expected index b93c7d2649f8..91def5d38710 100644 --- a/cpp/ql/test/library-tests/ir/ssa/aliased_ssa_consistency.expected +++ b/cpp/ql/test/library-tests/ir/ssa/aliased_ssa_consistency.expected @@ -28,4 +28,5 @@ nonUniqueEnclosingIRFunction fieldAddressOnNonPointer thisArgumentIsNonPointer nonUniqueIRVariable +nonBooleanOperand missingCppType diff --git a/cpp/ql/test/library-tests/ir/ssa/aliased_ssa_consistency_unsound.expected b/cpp/ql/test/library-tests/ir/ssa/aliased_ssa_consistency_unsound.expected index b93c7d2649f8..91def5d38710 100644 --- a/cpp/ql/test/library-tests/ir/ssa/aliased_ssa_consistency_unsound.expected +++ b/cpp/ql/test/library-tests/ir/ssa/aliased_ssa_consistency_unsound.expected @@ -28,4 +28,5 @@ nonUniqueEnclosingIRFunction fieldAddressOnNonPointer thisArgumentIsNonPointer nonUniqueIRVariable +nonBooleanOperand missingCppType diff --git a/cpp/ql/test/library-tests/ir/ssa/unaliased_ssa_consistency.expected b/cpp/ql/test/library-tests/ir/ssa/unaliased_ssa_consistency.expected index b93c7d2649f8..91def5d38710 100644 --- a/cpp/ql/test/library-tests/ir/ssa/unaliased_ssa_consistency.expected +++ b/cpp/ql/test/library-tests/ir/ssa/unaliased_ssa_consistency.expected @@ -28,4 +28,5 @@ nonUniqueEnclosingIRFunction fieldAddressOnNonPointer thisArgumentIsNonPointer nonUniqueIRVariable +nonBooleanOperand missingCppType diff --git a/cpp/ql/test/library-tests/ir/ssa/unaliased_ssa_consistency_unsound.expected b/cpp/ql/test/library-tests/ir/ssa/unaliased_ssa_consistency_unsound.expected index b93c7d2649f8..91def5d38710 100644 --- a/cpp/ql/test/library-tests/ir/ssa/unaliased_ssa_consistency_unsound.expected +++ b/cpp/ql/test/library-tests/ir/ssa/unaliased_ssa_consistency_unsound.expected @@ -28,4 +28,5 @@ nonUniqueEnclosingIRFunction fieldAddressOnNonPointer thisArgumentIsNonPointer nonUniqueIRVariable +nonBooleanOperand missingCppType From 28391d19b6525d4abfc698aff60568bda1e3590e Mon Sep 17 00:00:00 2001 From: Mathias Vorreiter Pedersen Date: Mon, 18 Nov 2024 15:25:57 +0000 Subject: [PATCH 236/347] C++: Add some more tests to expose consistency issues. --- .../library-tests/ir/ir/PrintAST.expected | 472 ++++++++++++++ .../library-tests/ir/ir/aliased_ir.expected | 596 ++++++++++++++++++ .../ir/ir/aliased_ssa_consistency.expected | 36 ++ .../aliased_ssa_consistency_unsound.expected | 36 ++ cpp/ql/test/library-tests/ir/ir/ir.c | 22 + cpp/ql/test/library-tests/ir/ir/ir.cpp | 22 + .../ir/ir/raw_consistency.expected | 36 ++ .../test/library-tests/ir/ir/raw_ir.expected | 592 +++++++++++++++++ .../ir/ir/unaliased_ssa_consistency.expected | 36 ++ ...unaliased_ssa_consistency_unsound.expected | 36 ++ 10 files changed, 1884 insertions(+) diff --git a/cpp/ql/test/library-tests/ir/ir/PrintAST.expected b/cpp/ql/test/library-tests/ir/ir/PrintAST.expected index 7e8df845de16..d4f9c4f96c61 100644 --- a/cpp/ql/test/library-tests/ir/ir/PrintAST.expected +++ b/cpp/ql/test/library-tests/ir/ir/PrintAST.expected @@ -4607,6 +4607,188 @@ ir.c: # 81| Value = [Literal] 1 # 81| ValueCategory = prvalue # 82| getStmt(1): [ReturnStmt] return ... +# 84| [TopLevelFunction] void branch_on_integral_in_c(int, int) +# 84| : +# 84| getParameter(0): [Parameter] x1 +# 84| Type = [IntType] int +# 84| getParameter(1): [Parameter] x2 +# 84| Type = [IntType] int +# 84| getEntryPoint(): [BlockStmt] { ... } +# 85| getStmt(0): [IfStmt] if (...) ... +# 85| getCondition(): [VariableAccess] x1 +# 85| Type = [IntType] int +# 85| ValueCategory = prvalue(load) +# 85| getThen(): [BlockStmt] { ... } +# 86| getStmt(1): [IfStmt] if (...) ... +# 86| getCondition(): [NotExpr] ! ... +# 86| Type = [IntType] int +# 86| ValueCategory = prvalue +# 86| getOperand(): [VariableAccess] x1 +# 86| Type = [IntType] int +# 86| ValueCategory = prvalue(load) +# 86| getThen(): [BlockStmt] { ... } +# 88| getStmt(2): [DeclStmt] declaration +# 88| getDeclarationEntry(0): [VariableDeclarationEntry] definition of y +# 88| Type = [IntType] int +# 88| getVariable().getInitializer(): [Initializer] initializer for y +# 88| getExpr(): [NotExpr] ! ... +# 88| Type = [IntType] int +# 88| ValueCategory = prvalue +# 88| getOperand(): [VariableAccess] x1 +# 88| Type = [IntType] int +# 88| ValueCategory = prvalue(load) +# 89| getStmt(3): [IfStmt] if (...) ... +# 89| getCondition(): [VariableAccess] y +# 89| Type = [IntType] int +# 89| ValueCategory = prvalue(load) +# 89| getThen(): [BlockStmt] { ... } +# 90| getStmt(4): [IfStmt] if (...) ... +# 90| getCondition(): [NotExpr] ! ... +# 90| Type = [IntType] int +# 90| ValueCategory = prvalue +# 90| getOperand(): [VariableAccess] y +# 90| Type = [IntType] int +# 90| ValueCategory = prvalue(load) +# 90| getThen(): [BlockStmt] { ... } +# 92| getStmt(5): [IfStmt] if (...) ... +# 92| getCondition(): [LogicalAndExpr] ... && ... +# 92| Type = [IntType] int +# 92| ValueCategory = prvalue +# 92| getLeftOperand(): [VariableAccess] x1 +# 92| Type = [IntType] int +# 92| ValueCategory = prvalue(load) +# 92| getRightOperand(): [VariableAccess] x2 +# 92| Type = [IntType] int +# 92| ValueCategory = prvalue(load) +# 92| getThen(): [BlockStmt] { ... } +# 93| getStmt(6): [IfStmt] if (...) ... +# 93| getCondition(): [LogicalAndExpr] ... && ... +# 93| Type = [IntType] int +# 93| ValueCategory = prvalue +# 93| getLeftOperand(): [NotExpr] ! ... +# 93| Type = [IntType] int +# 93| ValueCategory = prvalue +# 93| getOperand(): [VariableAccess] x1 +# 93| Type = [IntType] int +# 93| ValueCategory = prvalue(load) +# 93| getRightOperand(): [VariableAccess] x2 +# 93| Type = [IntType] int +# 93| ValueCategory = prvalue(load) +# 93| getThen(): [BlockStmt] { ... } +# 94| getStmt(7): [IfStmt] if (...) ... +# 94| getCondition(): [LogicalAndExpr] ... && ... +# 94| Type = [IntType] int +# 94| ValueCategory = prvalue +# 94| getLeftOperand(): [VariableAccess] x1 +# 94| Type = [IntType] int +# 94| ValueCategory = prvalue(load) +# 94| getRightOperand(): [NotExpr] ! ... +# 94| Type = [IntType] int +# 94| ValueCategory = prvalue +# 94| getOperand(): [VariableAccess] x2 +# 94| Type = [IntType] int +# 94| ValueCategory = prvalue(load) +# 94| getThen(): [BlockStmt] { ... } +# 95| getStmt(8): [IfStmt] if (...) ... +# 95| getCondition(): [LogicalAndExpr] ... && ... +# 95| Type = [IntType] int +# 95| ValueCategory = prvalue +# 95| getLeftOperand(): [NotExpr] ! ... +# 95| Type = [IntType] int +# 95| ValueCategory = prvalue +# 95| getOperand(): [VariableAccess] x1 +# 95| Type = [IntType] int +# 95| ValueCategory = prvalue(load) +# 95| getRightOperand(): [NotExpr] ! ... +# 95| Type = [IntType] int +# 95| ValueCategory = prvalue +# 95| getOperand(): [VariableAccess] x2 +# 95| Type = [IntType] int +# 95| ValueCategory = prvalue(load) +# 95| getThen(): [BlockStmt] { ... } +# 96| getStmt(9): [IfStmt] if (...) ... +# 96| getCondition(): [LogicalOrExpr] ... || ... +# 96| Type = [IntType] int +# 96| ValueCategory = prvalue +# 96| getLeftOperand(): [VariableAccess] x1 +# 96| Type = [IntType] int +# 96| ValueCategory = prvalue(load) +# 96| getRightOperand(): [VariableAccess] x2 +# 96| Type = [IntType] int +# 96| ValueCategory = prvalue(load) +# 96| getThen(): [BlockStmt] { ... } +# 97| getStmt(10): [IfStmt] if (...) ... +# 97| getCondition(): [LogicalOrExpr] ... || ... +# 97| Type = [IntType] int +# 97| ValueCategory = prvalue +# 97| getLeftOperand(): [NotExpr] ! ... +# 97| Type = [IntType] int +# 97| ValueCategory = prvalue +# 97| getOperand(): [VariableAccess] x1 +# 97| Type = [IntType] int +# 97| ValueCategory = prvalue(load) +# 97| getRightOperand(): [VariableAccess] x2 +# 97| Type = [IntType] int +# 97| ValueCategory = prvalue(load) +# 97| getThen(): [BlockStmt] { ... } +# 98| getStmt(11): [IfStmt] if (...) ... +# 98| getCondition(): [LogicalOrExpr] ... || ... +# 98| Type = [IntType] int +# 98| ValueCategory = prvalue +# 98| getLeftOperand(): [VariableAccess] x1 +# 98| Type = [IntType] int +# 98| ValueCategory = prvalue(load) +# 98| getRightOperand(): [NotExpr] ! ... +# 98| Type = [IntType] int +# 98| ValueCategory = prvalue +# 98| getOperand(): [VariableAccess] x2 +# 98| Type = [IntType] int +# 98| ValueCategory = prvalue(load) +# 98| getThen(): [BlockStmt] { ... } +# 99| getStmt(12): [IfStmt] if (...) ... +# 99| getCondition(): [LogicalOrExpr] ... || ... +# 99| Type = [IntType] int +# 99| ValueCategory = prvalue +# 99| getLeftOperand(): [NotExpr] ! ... +# 99| Type = [IntType] int +# 99| ValueCategory = prvalue +# 99| getOperand(): [VariableAccess] x1 +# 99| Type = [IntType] int +# 99| ValueCategory = prvalue(load) +# 99| getRightOperand(): [NotExpr] ! ... +# 99| Type = [IntType] int +# 99| ValueCategory = prvalue +# 99| getOperand(): [VariableAccess] x2 +# 99| Type = [IntType] int +# 99| ValueCategory = prvalue(load) +# 99| getThen(): [BlockStmt] { ... } +# 101| getStmt(13): [DeclStmt] declaration +# 101| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x_1_and_2 +# 101| Type = [IntType] int +# 101| getVariable().getInitializer(): [Initializer] initializer for x_1_and_2 +# 101| getExpr(): [LogicalAndExpr] ... && ... +# 101| Type = [IntType] int +# 101| ValueCategory = prvalue +# 101| getLeftOperand(): [VariableAccess] x1 +# 101| Type = [IntType] int +# 101| ValueCategory = prvalue(load) +# 101| getRightOperand(): [VariableAccess] x2 +# 101| Type = [IntType] int +# 101| ValueCategory = prvalue(load) +# 102| getStmt(14): [IfStmt] if (...) ... +# 102| getCondition(): [VariableAccess] x_1_and_2 +# 102| Type = [IntType] int +# 102| ValueCategory = prvalue(load) +# 102| getThen(): [BlockStmt] { ... } +# 103| getStmt(15): [IfStmt] if (...) ... +# 103| getCondition(): [NotExpr] ! ... +# 103| Type = [IntType] int +# 103| ValueCategory = prvalue +# 103| getOperand(): [VariableAccess] x_1_and_2 +# 103| Type = [IntType] int +# 103| ValueCategory = prvalue(load) +# 103| getThen(): [BlockStmt] { ... } +# 104| getStmt(16): [ReturnStmt] return ... ir.cpp: # 1| [TopLevelFunction] void Constants() # 1| : @@ -23614,6 +23796,296 @@ ir.cpp: # 2693| getExpr(): [VariableAccess] y # 2693| Type = [IntType] int # 2693| ValueCategory = prvalue(load) +# 2698| [TopLevelFunction] void branch_on_integral_in_cpp(int, int) +# 2698| : +# 2698| getParameter(0): [Parameter] x1 +# 2698| Type = [IntType] int +# 2698| getParameter(1): [Parameter] x2 +# 2698| Type = [IntType] int +# 2698| getEntryPoint(): [BlockStmt] { ... } +# 2699| getStmt(0): [IfStmt] if (...) ... +# 2699| getCondition(): [VariableAccess] x1 +# 2699| Type = [IntType] int +# 2699| ValueCategory = prvalue(load) +# 2699| getThen(): [BlockStmt] { ... } +# 2699| getCondition().getFullyConverted(): [CStyleCast] (bool)... +# 2699| Conversion = [BoolConversion] conversion to bool +# 2699| Type = [BoolType] bool +# 2699| ValueCategory = prvalue +# 2700| getStmt(1): [IfStmt] if (...) ... +# 2700| getCondition(): [NotExpr] ! ... +# 2700| Type = [BoolType] bool +# 2700| ValueCategory = prvalue +# 2700| getOperand(): [VariableAccess] x1 +# 2700| Type = [IntType] int +# 2700| ValueCategory = prvalue(load) +# 2700| getOperand().getFullyConverted(): [CStyleCast] (bool)... +# 2700| Conversion = [BoolConversion] conversion to bool +# 2700| Type = [BoolType] bool +# 2700| ValueCategory = prvalue +# 2700| getThen(): [BlockStmt] { ... } +# 2702| getStmt(2): [DeclStmt] declaration +# 2702| getDeclarationEntry(0): [VariableDeclarationEntry] definition of y +# 2702| Type = [IntType] int +# 2702| getVariable().getInitializer(): [Initializer] initializer for y +# 2702| getExpr(): [NotExpr] ! ... +# 2702| Type = [BoolType] bool +# 2702| ValueCategory = prvalue +# 2702| getOperand(): [VariableAccess] x1 +# 2702| Type = [IntType] int +# 2702| ValueCategory = prvalue(load) +# 2702| getOperand().getFullyConverted(): [CStyleCast] (bool)... +# 2702| Conversion = [BoolConversion] conversion to bool +# 2702| Type = [BoolType] bool +# 2702| ValueCategory = prvalue +# 2702| getExpr().getFullyConverted(): [CStyleCast] (int)... +# 2702| Conversion = [IntegralConversion] integral conversion +# 2702| Type = [IntType] int +# 2702| ValueCategory = prvalue +# 2703| getStmt(3): [IfStmt] if (...) ... +# 2703| getCondition(): [VariableAccess] y +# 2703| Type = [IntType] int +# 2703| ValueCategory = prvalue(load) +# 2703| getThen(): [BlockStmt] { ... } +# 2703| getCondition().getFullyConverted(): [CStyleCast] (bool)... +# 2703| Conversion = [BoolConversion] conversion to bool +# 2703| Type = [BoolType] bool +# 2703| ValueCategory = prvalue +# 2704| getStmt(4): [IfStmt] if (...) ... +# 2704| getCondition(): [NotExpr] ! ... +# 2704| Type = [BoolType] bool +# 2704| ValueCategory = prvalue +# 2704| getOperand(): [VariableAccess] y +# 2704| Type = [IntType] int +# 2704| ValueCategory = prvalue(load) +# 2704| getOperand().getFullyConverted(): [CStyleCast] (bool)... +# 2704| Conversion = [BoolConversion] conversion to bool +# 2704| Type = [BoolType] bool +# 2704| ValueCategory = prvalue +# 2704| getThen(): [BlockStmt] { ... } +# 2706| getStmt(5): [IfStmt] if (...) ... +# 2706| getCondition(): [LogicalAndExpr] ... && ... +# 2706| Type = [BoolType] bool +# 2706| ValueCategory = prvalue +# 2706| getLeftOperand(): [VariableAccess] x1 +# 2706| Type = [IntType] int +# 2706| ValueCategory = prvalue(load) +# 2706| getRightOperand(): [VariableAccess] x2 +# 2706| Type = [IntType] int +# 2706| ValueCategory = prvalue(load) +# 2706| getLeftOperand().getFullyConverted(): [CStyleCast] (bool)... +# 2706| Conversion = [BoolConversion] conversion to bool +# 2706| Type = [BoolType] bool +# 2706| ValueCategory = prvalue +# 2706| getRightOperand().getFullyConverted(): [CStyleCast] (bool)... +# 2706| Conversion = [BoolConversion] conversion to bool +# 2706| Type = [BoolType] bool +# 2706| ValueCategory = prvalue +# 2706| getThen(): [BlockStmt] { ... } +# 2707| getStmt(6): [IfStmt] if (...) ... +# 2707| getCondition(): [LogicalAndExpr] ... && ... +# 2707| Type = [BoolType] bool +# 2707| ValueCategory = prvalue +# 2707| getLeftOperand(): [NotExpr] ! ... +# 2707| Type = [BoolType] bool +# 2707| ValueCategory = prvalue +# 2707| getOperand(): [VariableAccess] x1 +# 2707| Type = [IntType] int +# 2707| ValueCategory = prvalue(load) +# 2707| getOperand().getFullyConverted(): [CStyleCast] (bool)... +# 2707| Conversion = [BoolConversion] conversion to bool +# 2707| Type = [BoolType] bool +# 2707| ValueCategory = prvalue +# 2707| getRightOperand(): [VariableAccess] x2 +# 2707| Type = [IntType] int +# 2707| ValueCategory = prvalue(load) +# 2707| getRightOperand().getFullyConverted(): [CStyleCast] (bool)... +# 2707| Conversion = [BoolConversion] conversion to bool +# 2707| Type = [BoolType] bool +# 2707| ValueCategory = prvalue +# 2707| getThen(): [BlockStmt] { ... } +# 2708| getStmt(7): [IfStmt] if (...) ... +# 2708| getCondition(): [LogicalAndExpr] ... && ... +# 2708| Type = [BoolType] bool +# 2708| ValueCategory = prvalue +# 2708| getLeftOperand(): [VariableAccess] x1 +# 2708| Type = [IntType] int +# 2708| ValueCategory = prvalue(load) +# 2708| getRightOperand(): [NotExpr] ! ... +# 2708| Type = [BoolType] bool +# 2708| ValueCategory = prvalue +# 2708| getOperand(): [VariableAccess] x2 +# 2708| Type = [IntType] int +# 2708| ValueCategory = prvalue(load) +# 2708| getOperand().getFullyConverted(): [CStyleCast] (bool)... +# 2708| Conversion = [BoolConversion] conversion to bool +# 2708| Type = [BoolType] bool +# 2708| ValueCategory = prvalue +# 2708| getLeftOperand().getFullyConverted(): [CStyleCast] (bool)... +# 2708| Conversion = [BoolConversion] conversion to bool +# 2708| Type = [BoolType] bool +# 2708| ValueCategory = prvalue +# 2708| getThen(): [BlockStmt] { ... } +# 2709| getStmt(8): [IfStmt] if (...) ... +# 2709| getCondition(): [LogicalAndExpr] ... && ... +# 2709| Type = [BoolType] bool +# 2709| ValueCategory = prvalue +# 2709| getLeftOperand(): [NotExpr] ! ... +# 2709| Type = [BoolType] bool +# 2709| ValueCategory = prvalue +# 2709| getOperand(): [VariableAccess] x1 +# 2709| Type = [IntType] int +# 2709| ValueCategory = prvalue(load) +# 2709| getOperand().getFullyConverted(): [CStyleCast] (bool)... +# 2709| Conversion = [BoolConversion] conversion to bool +# 2709| Type = [BoolType] bool +# 2709| ValueCategory = prvalue +# 2709| getRightOperand(): [NotExpr] ! ... +# 2709| Type = [BoolType] bool +# 2709| ValueCategory = prvalue +# 2709| getOperand(): [VariableAccess] x2 +# 2709| Type = [IntType] int +# 2709| ValueCategory = prvalue(load) +# 2709| getOperand().getFullyConverted(): [CStyleCast] (bool)... +# 2709| Conversion = [BoolConversion] conversion to bool +# 2709| Type = [BoolType] bool +# 2709| ValueCategory = prvalue +# 2709| getThen(): [BlockStmt] { ... } +# 2710| getStmt(9): [IfStmt] if (...) ... +# 2710| getCondition(): [LogicalOrExpr] ... || ... +# 2710| Type = [BoolType] bool +# 2710| ValueCategory = prvalue +# 2710| getLeftOperand(): [VariableAccess] x1 +# 2710| Type = [IntType] int +# 2710| ValueCategory = prvalue(load) +# 2710| getRightOperand(): [VariableAccess] x2 +# 2710| Type = [IntType] int +# 2710| ValueCategory = prvalue(load) +# 2710| getLeftOperand().getFullyConverted(): [CStyleCast] (bool)... +# 2710| Conversion = [BoolConversion] conversion to bool +# 2710| Type = [BoolType] bool +# 2710| ValueCategory = prvalue +# 2710| getRightOperand().getFullyConverted(): [CStyleCast] (bool)... +# 2710| Conversion = [BoolConversion] conversion to bool +# 2710| Type = [BoolType] bool +# 2710| ValueCategory = prvalue +# 2710| getThen(): [BlockStmt] { ... } +# 2711| getStmt(10): [IfStmt] if (...) ... +# 2711| getCondition(): [LogicalOrExpr] ... || ... +# 2711| Type = [BoolType] bool +# 2711| ValueCategory = prvalue +# 2711| getLeftOperand(): [NotExpr] ! ... +# 2711| Type = [BoolType] bool +# 2711| ValueCategory = prvalue +# 2711| getOperand(): [VariableAccess] x1 +# 2711| Type = [IntType] int +# 2711| ValueCategory = prvalue(load) +# 2711| getOperand().getFullyConverted(): [CStyleCast] (bool)... +# 2711| Conversion = [BoolConversion] conversion to bool +# 2711| Type = [BoolType] bool +# 2711| ValueCategory = prvalue +# 2711| getRightOperand(): [VariableAccess] x2 +# 2711| Type = [IntType] int +# 2711| ValueCategory = prvalue(load) +# 2711| getRightOperand().getFullyConverted(): [CStyleCast] (bool)... +# 2711| Conversion = [BoolConversion] conversion to bool +# 2711| Type = [BoolType] bool +# 2711| ValueCategory = prvalue +# 2711| getThen(): [BlockStmt] { ... } +# 2712| getStmt(11): [IfStmt] if (...) ... +# 2712| getCondition(): [LogicalOrExpr] ... || ... +# 2712| Type = [BoolType] bool +# 2712| ValueCategory = prvalue +# 2712| getLeftOperand(): [VariableAccess] x1 +# 2712| Type = [IntType] int +# 2712| ValueCategory = prvalue(load) +# 2712| getRightOperand(): [NotExpr] ! ... +# 2712| Type = [BoolType] bool +# 2712| ValueCategory = prvalue +# 2712| getOperand(): [VariableAccess] x2 +# 2712| Type = [IntType] int +# 2712| ValueCategory = prvalue(load) +# 2712| getOperand().getFullyConverted(): [CStyleCast] (bool)... +# 2712| Conversion = [BoolConversion] conversion to bool +# 2712| Type = [BoolType] bool +# 2712| ValueCategory = prvalue +# 2712| getLeftOperand().getFullyConverted(): [CStyleCast] (bool)... +# 2712| Conversion = [BoolConversion] conversion to bool +# 2712| Type = [BoolType] bool +# 2712| ValueCategory = prvalue +# 2712| getThen(): [BlockStmt] { ... } +# 2713| getStmt(12): [IfStmt] if (...) ... +# 2713| getCondition(): [LogicalOrExpr] ... || ... +# 2713| Type = [BoolType] bool +# 2713| ValueCategory = prvalue +# 2713| getLeftOperand(): [NotExpr] ! ... +# 2713| Type = [BoolType] bool +# 2713| ValueCategory = prvalue +# 2713| getOperand(): [VariableAccess] x1 +# 2713| Type = [IntType] int +# 2713| ValueCategory = prvalue(load) +# 2713| getOperand().getFullyConverted(): [CStyleCast] (bool)... +# 2713| Conversion = [BoolConversion] conversion to bool +# 2713| Type = [BoolType] bool +# 2713| ValueCategory = prvalue +# 2713| getRightOperand(): [NotExpr] ! ... +# 2713| Type = [BoolType] bool +# 2713| ValueCategory = prvalue +# 2713| getOperand(): [VariableAccess] x2 +# 2713| Type = [IntType] int +# 2713| ValueCategory = prvalue(load) +# 2713| getOperand().getFullyConverted(): [CStyleCast] (bool)... +# 2713| Conversion = [BoolConversion] conversion to bool +# 2713| Type = [BoolType] bool +# 2713| ValueCategory = prvalue +# 2713| getThen(): [BlockStmt] { ... } +# 2715| getStmt(13): [DeclStmt] declaration +# 2715| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x_1_and_2 +# 2715| Type = [IntType] int +# 2715| getVariable().getInitializer(): [Initializer] initializer for x_1_and_2 +# 2715| getExpr(): [LogicalAndExpr] ... && ... +# 2715| Type = [BoolType] bool +# 2715| ValueCategory = prvalue +# 2715| getLeftOperand(): [VariableAccess] x1 +# 2715| Type = [IntType] int +# 2715| ValueCategory = prvalue(load) +# 2715| getRightOperand(): [VariableAccess] x2 +# 2715| Type = [IntType] int +# 2715| ValueCategory = prvalue(load) +# 2715| getLeftOperand().getFullyConverted(): [CStyleCast] (bool)... +# 2715| Conversion = [BoolConversion] conversion to bool +# 2715| Type = [BoolType] bool +# 2715| ValueCategory = prvalue +# 2715| getRightOperand().getFullyConverted(): [CStyleCast] (bool)... +# 2715| Conversion = [BoolConversion] conversion to bool +# 2715| Type = [BoolType] bool +# 2715| ValueCategory = prvalue +# 2715| getExpr().getFullyConverted(): [CStyleCast] (int)... +# 2715| Conversion = [IntegralConversion] integral conversion +# 2715| Type = [IntType] int +# 2715| ValueCategory = prvalue +# 2716| getStmt(14): [IfStmt] if (...) ... +# 2716| getCondition(): [VariableAccess] x_1_and_2 +# 2716| Type = [IntType] int +# 2716| ValueCategory = prvalue(load) +# 2716| getThen(): [BlockStmt] { ... } +# 2716| getCondition().getFullyConverted(): [CStyleCast] (bool)... +# 2716| Conversion = [BoolConversion] conversion to bool +# 2716| Type = [BoolType] bool +# 2716| ValueCategory = prvalue +# 2717| getStmt(15): [IfStmt] if (...) ... +# 2717| getCondition(): [NotExpr] ! ... +# 2717| Type = [BoolType] bool +# 2717| ValueCategory = prvalue +# 2717| getOperand(): [VariableAccess] x_1_and_2 +# 2717| Type = [IntType] int +# 2717| ValueCategory = prvalue(load) +# 2717| getOperand().getFullyConverted(): [CStyleCast] (bool)... +# 2717| Conversion = [BoolConversion] conversion to bool +# 2717| Type = [BoolType] bool +# 2717| ValueCategory = prvalue +# 2717| getThen(): [BlockStmt] { ... } +# 2718| getStmt(16): [ReturnStmt] return ... many-defs-per-use.cpp: # 34| [TopLevelFunction] void many_defs_per_use() # 34| : diff --git a/cpp/ql/test/library-tests/ir/ir/aliased_ir.expected b/cpp/ql/test/library-tests/ir/ir/aliased_ir.expected index 9fcaf04382d3..28fde3672d9b 100644 --- a/cpp/ql/test/library-tests/ir/ir/aliased_ir.expected +++ b/cpp/ql/test/library-tests/ir/ir/aliased_ir.expected @@ -3296,6 +3296,278 @@ ir.c: # 80| v80_6(void) = AliasedUse : ~m81_5 # 80| v80_7(void) = ExitFunction : +# 84| void branch_on_integral_in_c(int, int) +# 84| Block 0 +# 84| v84_1(void) = EnterFunction : +# 84| m84_2(unknown) = AliasedDefinition : +# 84| m84_3(unknown) = InitializeNonLocal : +# 84| m84_4(unknown) = Chi : total:m84_2, partial:m84_3 +# 84| r84_5(glval) = VariableAddress[x1] : +# 84| m84_6(int) = InitializeParameter[x1] : &:r84_5 +# 84| r84_7(glval) = VariableAddress[x2] : +# 84| m84_8(int) = InitializeParameter[x2] : &:r84_7 +# 85| r85_1(glval) = VariableAddress[x1] : +# 85| r85_2(int) = Load[x1] : &:r85_1, m84_6 +# 85| v85_3(void) = ConditionalBranch : r85_2 +#-----| False -> Block 2 +#-----| True -> Block 1 + +# 85| Block 1 +# 85| v85_4(void) = NoOp : +#-----| Goto -> Block 2 + +# 86| Block 2 +# 86| r86_1(glval) = VariableAddress[x1] : +# 86| r86_2(int) = Load[x1] : &:r86_1, m84_6 +# 86| r86_3(int) = LogicalNot : r86_2 +# 86| v86_4(void) = ConditionalBranch : r86_3 +#-----| False -> Block 4 +#-----| True -> Block 3 + +# 86| Block 3 +# 86| v86_5(void) = NoOp : +#-----| Goto -> Block 4 + +# 88| Block 4 +# 88| r88_1(glval) = VariableAddress[y] : +# 88| r88_2(glval) = VariableAddress[x1] : +# 88| r88_3(int) = Load[x1] : &:r88_2, m84_6 +# 88| r88_4(int) = LogicalNot : r88_3 +# 88| m88_5(int) = Store[y] : &:r88_1, r88_4 +# 89| r89_1(glval) = VariableAddress[y] : +# 89| r89_2(int) = Load[y] : &:r89_1, m88_5 +# 89| v89_3(void) = ConditionalBranch : r89_2 +#-----| False -> Block 6 +#-----| True -> Block 5 + +# 89| Block 5 +# 89| v89_4(void) = NoOp : +#-----| Goto -> Block 6 + +# 90| Block 6 +# 90| r90_1(glval) = VariableAddress[y] : +# 90| r90_2(int) = Load[y] : &:r90_1, m88_5 +# 90| r90_3(int) = LogicalNot : r90_2 +# 90| v90_4(void) = ConditionalBranch : r90_3 +#-----| False -> Block 8 +#-----| True -> Block 7 + +# 90| Block 7 +# 90| v90_5(void) = NoOp : +#-----| Goto -> Block 8 + +# 92| Block 8 +# 92| r92_1(glval) = VariableAddress[x1] : +# 92| r92_2(int) = Load[x1] : &:r92_1, m84_6 +# 92| v92_3(void) = ConditionalBranch : r92_2 +#-----| False -> Block 11 +#-----| True -> Block 9 + +# 92| Block 9 +# 92| r92_4(glval) = VariableAddress[x2] : +# 92| r92_5(int) = Load[x2] : &:r92_4, m84_8 +# 92| v92_6(void) = ConditionalBranch : r92_5 +#-----| False -> Block 11 +#-----| True -> Block 10 + +# 92| Block 10 +# 92| v92_7(void) = NoOp : +#-----| Goto -> Block 11 + +# 93| Block 11 +# 93| r93_1(glval) = VariableAddress[x1] : +# 93| r93_2(int) = Load[x1] : &:r93_1, m84_6 +# 93| r93_3(int) = LogicalNot : r93_2 +# 93| v93_4(void) = ConditionalBranch : r93_3 +#-----| False -> Block 14 +#-----| True -> Block 12 + +# 93| Block 12 +# 93| r93_5(glval) = VariableAddress[x2] : +# 93| r93_6(int) = Load[x2] : &:r93_5, m84_8 +# 93| v93_7(void) = ConditionalBranch : r93_6 +#-----| False -> Block 14 +#-----| True -> Block 13 + +# 93| Block 13 +# 93| v93_8(void) = NoOp : +#-----| Goto -> Block 14 + +# 94| Block 14 +# 94| r94_1(glval) = VariableAddress[x1] : +# 94| r94_2(int) = Load[x1] : &:r94_1, m84_6 +# 94| v94_3(void) = ConditionalBranch : r94_2 +#-----| False -> Block 17 +#-----| True -> Block 15 + +# 94| Block 15 +# 94| r94_4(glval) = VariableAddress[x2] : +# 94| r94_5(int) = Load[x2] : &:r94_4, m84_8 +# 94| r94_6(int) = LogicalNot : r94_5 +# 94| v94_7(void) = ConditionalBranch : r94_6 +#-----| False -> Block 17 +#-----| True -> Block 16 + +# 94| Block 16 +# 94| v94_8(void) = NoOp : +#-----| Goto -> Block 17 + +# 95| Block 17 +# 95| r95_1(glval) = VariableAddress[x1] : +# 95| r95_2(int) = Load[x1] : &:r95_1, m84_6 +# 95| r95_3(int) = LogicalNot : r95_2 +# 95| v95_4(void) = ConditionalBranch : r95_3 +#-----| False -> Block 20 +#-----| True -> Block 18 + +# 95| Block 18 +# 95| r95_5(glval) = VariableAddress[x2] : +# 95| r95_6(int) = Load[x2] : &:r95_5, m84_8 +# 95| r95_7(int) = LogicalNot : r95_6 +# 95| v95_8(void) = ConditionalBranch : r95_7 +#-----| False -> Block 20 +#-----| True -> Block 19 + +# 95| Block 19 +# 95| v95_9(void) = NoOp : +#-----| Goto -> Block 20 + +# 96| Block 20 +# 96| r96_1(glval) = VariableAddress[x1] : +# 96| r96_2(int) = Load[x1] : &:r96_1, m84_6 +# 96| v96_3(void) = ConditionalBranch : r96_2 +#-----| False -> Block 21 +#-----| True -> Block 22 + +# 96| Block 21 +# 96| r96_4(glval) = VariableAddress[x2] : +# 96| r96_5(int) = Load[x2] : &:r96_4, m84_8 +# 96| v96_6(void) = ConditionalBranch : r96_5 +#-----| False -> Block 23 +#-----| True -> Block 22 + +# 96| Block 22 +# 96| v96_7(void) = NoOp : +#-----| Goto -> Block 23 + +# 97| Block 23 +# 97| r97_1(glval) = VariableAddress[x1] : +# 97| r97_2(int) = Load[x1] : &:r97_1, m84_6 +# 97| r97_3(int) = LogicalNot : r97_2 +# 97| v97_4(void) = ConditionalBranch : r97_3 +#-----| False -> Block 24 +#-----| True -> Block 25 + +# 97| Block 24 +# 97| r97_5(glval) = VariableAddress[x2] : +# 97| r97_6(int) = Load[x2] : &:r97_5, m84_8 +# 97| v97_7(void) = ConditionalBranch : r97_6 +#-----| False -> Block 26 +#-----| True -> Block 25 + +# 97| Block 25 +# 97| v97_8(void) = NoOp : +#-----| Goto -> Block 26 + +# 98| Block 26 +# 98| r98_1(glval) = VariableAddress[x1] : +# 98| r98_2(int) = Load[x1] : &:r98_1, m84_6 +# 98| v98_3(void) = ConditionalBranch : r98_2 +#-----| False -> Block 27 +#-----| True -> Block 28 + +# 98| Block 27 +# 98| r98_4(glval) = VariableAddress[x2] : +# 98| r98_5(int) = Load[x2] : &:r98_4, m84_8 +# 98| r98_6(int) = LogicalNot : r98_5 +# 98| v98_7(void) = ConditionalBranch : r98_6 +#-----| False -> Block 29 +#-----| True -> Block 28 + +# 98| Block 28 +# 98| v98_8(void) = NoOp : +#-----| Goto -> Block 29 + +# 99| Block 29 +# 99| r99_1(glval) = VariableAddress[x1] : +# 99| r99_2(int) = Load[x1] : &:r99_1, m84_6 +# 99| r99_3(int) = LogicalNot : r99_2 +# 99| v99_4(void) = ConditionalBranch : r99_3 +#-----| False -> Block 30 +#-----| True -> Block 31 + +# 99| Block 30 +# 99| r99_5(glval) = VariableAddress[x2] : +# 99| r99_6(int) = Load[x2] : &:r99_5, m84_8 +# 99| r99_7(int) = LogicalNot : r99_6 +# 99| v99_8(void) = ConditionalBranch : r99_7 +#-----| False -> Block 32 +#-----| True -> Block 31 + +# 99| Block 31 +# 99| v99_9(void) = NoOp : +#-----| Goto -> Block 32 + +# 101| Block 32 +# 101| r101_1(glval) = VariableAddress[x_1_and_2] : +# 101| r101_2(glval) = VariableAddress[x1] : +# 101| r101_3(int) = Load[x1] : &:r101_2, m84_6 +# 101| v101_4(void) = ConditionalBranch : r101_3 +#-----| False -> Block 33 +#-----| True -> Block 36 + +# 101| Block 33 +# 101| r101_5(glval) = VariableAddress[#temp101:19] : +# 101| r101_6(int) = Constant[0] : +# 101| m101_7(int) = Store[#temp101:19] : &:r101_5, r101_6 +#-----| Goto -> Block 34 + +# 101| Block 34 +# 101| m101_8(int) = Phi : from 33:m101_7, from 35:m101_14 +# 101| r101_9(glval) = VariableAddress[#temp101:19] : +# 101| r101_10(int) = Load[#temp101:19] : &:r101_9, m101_8 +# 101| m101_11(int) = Store[x_1_and_2] : &:r101_1, r101_10 +# 102| r102_1(glval) = VariableAddress[x_1_and_2] : +# 102| r102_2(int) = Load[x_1_and_2] : &:r102_1, m101_11 +# 102| v102_3(void) = ConditionalBranch : r102_2 +#-----| False -> Block 38 +#-----| True -> Block 37 + +# 101| Block 35 +# 101| r101_12(glval) = VariableAddress[#temp101:19] : +# 101| r101_13(int) = Constant[1] : +# 101| m101_14(int) = Store[#temp101:19] : &:r101_12, r101_13 +#-----| Goto -> Block 34 + +# 101| Block 36 +# 101| r101_15(glval) = VariableAddress[x2] : +# 101| r101_16(int) = Load[x2] : &:r101_15, m84_8 +# 101| v101_17(void) = ConditionalBranch : r101_16 +#-----| False -> Block 33 +#-----| True -> Block 35 + +# 102| Block 37 +# 102| v102_4(void) = NoOp : +#-----| Goto -> Block 38 + +# 103| Block 38 +# 103| r103_1(glval) = VariableAddress[x_1_and_2] : +# 103| r103_2(int) = Load[x_1_and_2] : &:r103_1, m101_11 +# 103| r103_3(int) = LogicalNot : r103_2 +# 103| v103_4(void) = ConditionalBranch : r103_3 +#-----| False -> Block 40 +#-----| True -> Block 39 + +# 103| Block 39 +# 103| v103_5(void) = NoOp : +#-----| Goto -> Block 40 + +# 104| Block 40 +# 104| v104_1(void) = NoOp : +# 84| v84_9(void) = ReturnVoid : +# 84| v84_10(void) = AliasedUse : m84_3 +# 84| v84_11(void) = ExitFunction : + ir.cpp: # 1| void Constants() # 1| Block 0 @@ -19117,6 +19389,330 @@ ir.cpp: # 2691| v2691_7(void) = AliasedUse : m2691_3 # 2691| v2691_8(void) = ExitFunction : +# 2698| void branch_on_integral_in_cpp(int, int) +# 2698| Block 0 +# 2698| v2698_1(void) = EnterFunction : +# 2698| m2698_2(unknown) = AliasedDefinition : +# 2698| m2698_3(unknown) = InitializeNonLocal : +# 2698| m2698_4(unknown) = Chi : total:m2698_2, partial:m2698_3 +# 2698| r2698_5(glval) = VariableAddress[x1] : +# 2698| m2698_6(int) = InitializeParameter[x1] : &:r2698_5 +# 2698| r2698_7(glval) = VariableAddress[x2] : +# 2698| m2698_8(int) = InitializeParameter[x2] : &:r2698_7 +# 2699| r2699_1(glval) = VariableAddress[x1] : +# 2699| r2699_2(int) = Load[x1] : &:r2699_1, m2698_6 +# 2699| r2699_3(int) = Constant[0] : +# 2699| r2699_4(bool) = CompareNE : r2699_2, r2699_3 +# 2699| v2699_5(void) = ConditionalBranch : r2699_4 +#-----| False -> Block 2 +#-----| True -> Block 1 + +# 2699| Block 1 +# 2699| v2699_6(void) = NoOp : +#-----| Goto -> Block 2 + +# 2700| Block 2 +# 2700| r2700_1(glval) = VariableAddress[x1] : +# 2700| r2700_2(int) = Load[x1] : &:r2700_1, m2698_6 +# 2700| r2700_3(int) = Constant[0] : +# 2700| r2700_4(bool) = CompareNE : r2700_2, r2700_3 +# 2700| r2700_5(bool) = LogicalNot : r2700_4 +# 2700| v2700_6(void) = ConditionalBranch : r2700_5 +#-----| False -> Block 4 +#-----| True -> Block 3 + +# 2700| Block 3 +# 2700| v2700_7(void) = NoOp : +#-----| Goto -> Block 4 + +# 2702| Block 4 +# 2702| r2702_1(glval) = VariableAddress[y] : +# 2702| r2702_2(glval) = VariableAddress[x1] : +# 2702| r2702_3(int) = Load[x1] : &:r2702_2, m2698_6 +# 2702| r2702_4(int) = Constant[0] : +# 2702| r2702_5(bool) = CompareNE : r2702_3, r2702_4 +# 2702| r2702_6(bool) = LogicalNot : r2702_5 +# 2702| r2702_7(int) = Convert : r2702_6 +# 2702| m2702_8(int) = Store[y] : &:r2702_1, r2702_7 +# 2703| r2703_1(glval) = VariableAddress[y] : +# 2703| r2703_2(int) = Load[y] : &:r2703_1, m2702_8 +# 2703| r2703_3(int) = Constant[0] : +# 2703| r2703_4(bool) = CompareNE : r2703_2, r2703_3 +# 2703| v2703_5(void) = ConditionalBranch : r2703_4 +#-----| False -> Block 6 +#-----| True -> Block 5 + +# 2703| Block 5 +# 2703| v2703_6(void) = NoOp : +#-----| Goto -> Block 6 + +# 2704| Block 6 +# 2704| r2704_1(glval) = VariableAddress[y] : +# 2704| r2704_2(int) = Load[y] : &:r2704_1, m2702_8 +# 2704| r2704_3(int) = Constant[0] : +# 2704| r2704_4(bool) = CompareNE : r2704_2, r2704_3 +# 2704| r2704_5(bool) = LogicalNot : r2704_4 +# 2704| v2704_6(void) = ConditionalBranch : r2704_5 +#-----| False -> Block 8 +#-----| True -> Block 7 + +# 2704| Block 7 +# 2704| v2704_7(void) = NoOp : +#-----| Goto -> Block 8 + +# 2706| Block 8 +# 2706| r2706_1(glval) = VariableAddress[x1] : +# 2706| r2706_2(int) = Load[x1] : &:r2706_1, m2698_6 +# 2706| r2706_3(int) = Constant[0] : +# 2706| r2706_4(bool) = CompareNE : r2706_2, r2706_3 +# 2706| v2706_5(void) = ConditionalBranch : r2706_4 +#-----| False -> Block 11 +#-----| True -> Block 9 + +# 2706| Block 9 +# 2706| r2706_6(glval) = VariableAddress[x2] : +# 2706| r2706_7(int) = Load[x2] : &:r2706_6, m2698_8 +# 2706| r2706_8(int) = Constant[0] : +# 2706| r2706_9(bool) = CompareNE : r2706_7, r2706_8 +# 2706| v2706_10(void) = ConditionalBranch : r2706_9 +#-----| False -> Block 11 +#-----| True -> Block 10 + +# 2706| Block 10 +# 2706| v2706_11(void) = NoOp : +#-----| Goto -> Block 11 + +# 2707| Block 11 +# 2707| r2707_1(glval) = VariableAddress[x1] : +# 2707| r2707_2(int) = Load[x1] : &:r2707_1, m2698_6 +# 2707| r2707_3(int) = Constant[0] : +# 2707| r2707_4(bool) = CompareNE : r2707_2, r2707_3 +# 2707| r2707_5(bool) = LogicalNot : r2707_4 +# 2707| v2707_6(void) = ConditionalBranch : r2707_5 +#-----| False -> Block 14 +#-----| True -> Block 12 + +# 2707| Block 12 +# 2707| r2707_7(glval) = VariableAddress[x2] : +# 2707| r2707_8(int) = Load[x2] : &:r2707_7, m2698_8 +# 2707| r2707_9(int) = Constant[0] : +# 2707| r2707_10(bool) = CompareNE : r2707_8, r2707_9 +# 2707| v2707_11(void) = ConditionalBranch : r2707_10 +#-----| False -> Block 14 +#-----| True -> Block 13 + +# 2707| Block 13 +# 2707| v2707_12(void) = NoOp : +#-----| Goto -> Block 14 + +# 2708| Block 14 +# 2708| r2708_1(glval) = VariableAddress[x1] : +# 2708| r2708_2(int) = Load[x1] : &:r2708_1, m2698_6 +# 2708| r2708_3(int) = Constant[0] : +# 2708| r2708_4(bool) = CompareNE : r2708_2, r2708_3 +# 2708| v2708_5(void) = ConditionalBranch : r2708_4 +#-----| False -> Block 17 +#-----| True -> Block 15 + +# 2708| Block 15 +# 2708| r2708_6(glval) = VariableAddress[x2] : +# 2708| r2708_7(int) = Load[x2] : &:r2708_6, m2698_8 +# 2708| r2708_8(int) = Constant[0] : +# 2708| r2708_9(bool) = CompareNE : r2708_7, r2708_8 +# 2708| r2708_10(bool) = LogicalNot : r2708_9 +# 2708| v2708_11(void) = ConditionalBranch : r2708_10 +#-----| False -> Block 17 +#-----| True -> Block 16 + +# 2708| Block 16 +# 2708| v2708_12(void) = NoOp : +#-----| Goto -> Block 17 + +# 2709| Block 17 +# 2709| r2709_1(glval) = VariableAddress[x1] : +# 2709| r2709_2(int) = Load[x1] : &:r2709_1, m2698_6 +# 2709| r2709_3(int) = Constant[0] : +# 2709| r2709_4(bool) = CompareNE : r2709_2, r2709_3 +# 2709| r2709_5(bool) = LogicalNot : r2709_4 +# 2709| v2709_6(void) = ConditionalBranch : r2709_5 +#-----| False -> Block 20 +#-----| True -> Block 18 + +# 2709| Block 18 +# 2709| r2709_7(glval) = VariableAddress[x2] : +# 2709| r2709_8(int) = Load[x2] : &:r2709_7, m2698_8 +# 2709| r2709_9(int) = Constant[0] : +# 2709| r2709_10(bool) = CompareNE : r2709_8, r2709_9 +# 2709| r2709_11(bool) = LogicalNot : r2709_10 +# 2709| v2709_12(void) = ConditionalBranch : r2709_11 +#-----| False -> Block 20 +#-----| True -> Block 19 + +# 2709| Block 19 +# 2709| v2709_13(void) = NoOp : +#-----| Goto -> Block 20 + +# 2710| Block 20 +# 2710| r2710_1(glval) = VariableAddress[x1] : +# 2710| r2710_2(int) = Load[x1] : &:r2710_1, m2698_6 +# 2710| r2710_3(int) = Constant[0] : +# 2710| r2710_4(bool) = CompareNE : r2710_2, r2710_3 +# 2710| v2710_5(void) = ConditionalBranch : r2710_4 +#-----| False -> Block 21 +#-----| True -> Block 22 + +# 2710| Block 21 +# 2710| r2710_6(glval) = VariableAddress[x2] : +# 2710| r2710_7(int) = Load[x2] : &:r2710_6, m2698_8 +# 2710| r2710_8(int) = Constant[0] : +# 2710| r2710_9(bool) = CompareNE : r2710_7, r2710_8 +# 2710| v2710_10(void) = ConditionalBranch : r2710_9 +#-----| False -> Block 23 +#-----| True -> Block 22 + +# 2710| Block 22 +# 2710| v2710_11(void) = NoOp : +#-----| Goto -> Block 23 + +# 2711| Block 23 +# 2711| r2711_1(glval) = VariableAddress[x1] : +# 2711| r2711_2(int) = Load[x1] : &:r2711_1, m2698_6 +# 2711| r2711_3(int) = Constant[0] : +# 2711| r2711_4(bool) = CompareNE : r2711_2, r2711_3 +# 2711| r2711_5(bool) = LogicalNot : r2711_4 +# 2711| v2711_6(void) = ConditionalBranch : r2711_5 +#-----| False -> Block 24 +#-----| True -> Block 25 + +# 2711| Block 24 +# 2711| r2711_7(glval) = VariableAddress[x2] : +# 2711| r2711_8(int) = Load[x2] : &:r2711_7, m2698_8 +# 2711| r2711_9(int) = Constant[0] : +# 2711| r2711_10(bool) = CompareNE : r2711_8, r2711_9 +# 2711| v2711_11(void) = ConditionalBranch : r2711_10 +#-----| False -> Block 26 +#-----| True -> Block 25 + +# 2711| Block 25 +# 2711| v2711_12(void) = NoOp : +#-----| Goto -> Block 26 + +# 2712| Block 26 +# 2712| r2712_1(glval) = VariableAddress[x1] : +# 2712| r2712_2(int) = Load[x1] : &:r2712_1, m2698_6 +# 2712| r2712_3(int) = Constant[0] : +# 2712| r2712_4(bool) = CompareNE : r2712_2, r2712_3 +# 2712| v2712_5(void) = ConditionalBranch : r2712_4 +#-----| False -> Block 27 +#-----| True -> Block 28 + +# 2712| Block 27 +# 2712| r2712_6(glval) = VariableAddress[x2] : +# 2712| r2712_7(int) = Load[x2] : &:r2712_6, m2698_8 +# 2712| r2712_8(int) = Constant[0] : +# 2712| r2712_9(bool) = CompareNE : r2712_7, r2712_8 +# 2712| r2712_10(bool) = LogicalNot : r2712_9 +# 2712| v2712_11(void) = ConditionalBranch : r2712_10 +#-----| False -> Block 29 +#-----| True -> Block 28 + +# 2712| Block 28 +# 2712| v2712_12(void) = NoOp : +#-----| Goto -> Block 29 + +# 2713| Block 29 +# 2713| r2713_1(glval) = VariableAddress[x1] : +# 2713| r2713_2(int) = Load[x1] : &:r2713_1, m2698_6 +# 2713| r2713_3(int) = Constant[0] : +# 2713| r2713_4(bool) = CompareNE : r2713_2, r2713_3 +# 2713| r2713_5(bool) = LogicalNot : r2713_4 +# 2713| v2713_6(void) = ConditionalBranch : r2713_5 +#-----| False -> Block 30 +#-----| True -> Block 31 + +# 2713| Block 30 +# 2713| r2713_7(glval) = VariableAddress[x2] : +# 2713| r2713_8(int) = Load[x2] : &:r2713_7, m2698_8 +# 2713| r2713_9(int) = Constant[0] : +# 2713| r2713_10(bool) = CompareNE : r2713_8, r2713_9 +# 2713| r2713_11(bool) = LogicalNot : r2713_10 +# 2713| v2713_12(void) = ConditionalBranch : r2713_11 +#-----| False -> Block 32 +#-----| True -> Block 31 + +# 2713| Block 31 +# 2713| v2713_13(void) = NoOp : +#-----| Goto -> Block 32 + +# 2715| Block 32 +# 2715| r2715_1(glval) = VariableAddress[x_1_and_2] : +# 2715| r2715_2(glval) = VariableAddress[x1] : +# 2715| r2715_3(int) = Load[x1] : &:r2715_2, m2698_6 +# 2715| r2715_4(int) = Constant[0] : +# 2715| r2715_5(bool) = CompareNE : r2715_3, r2715_4 +# 2715| v2715_6(void) = ConditionalBranch : r2715_5 +#-----| False -> Block 33 +#-----| True -> Block 36 + +# 2715| Block 33 +# 2715| r2715_7(glval) = VariableAddress[#temp2715:19] : +# 2715| r2715_8(bool) = Constant[0] : +# 2715| m2715_9(bool) = Store[#temp2715:19] : &:r2715_7, r2715_8 +#-----| Goto -> Block 34 + +# 2715| Block 34 +# 2715| m2715_10(bool) = Phi : from 33:m2715_9, from 35:m2715_17 +# 2715| r2715_11(glval) = VariableAddress[#temp2715:19] : +# 2715| r2715_12(bool) = Load[#temp2715:19] : &:r2715_11, m2715_10 +# 2715| r2715_13(int) = Convert : r2715_12 +# 2715| m2715_14(int) = Store[x_1_and_2] : &:r2715_1, r2715_13 +# 2716| r2716_1(glval) = VariableAddress[x_1_and_2] : +# 2716| r2716_2(int) = Load[x_1_and_2] : &:r2716_1, m2715_14 +# 2716| r2716_3(int) = Constant[0] : +# 2716| r2716_4(bool) = CompareNE : r2716_2, r2716_3 +# 2716| v2716_5(void) = ConditionalBranch : r2716_4 +#-----| False -> Block 38 +#-----| True -> Block 37 + +# 2715| Block 35 +# 2715| r2715_15(glval) = VariableAddress[#temp2715:19] : +# 2715| r2715_16(bool) = Constant[1] : +# 2715| m2715_17(bool) = Store[#temp2715:19] : &:r2715_15, r2715_16 +#-----| Goto -> Block 34 + +# 2715| Block 36 +# 2715| r2715_18(glval) = VariableAddress[x2] : +# 2715| r2715_19(int) = Load[x2] : &:r2715_18, m2698_8 +# 2715| r2715_20(int) = Constant[0] : +# 2715| r2715_21(bool) = CompareNE : r2715_19, r2715_20 +# 2715| v2715_22(void) = ConditionalBranch : r2715_21 +#-----| False -> Block 33 +#-----| True -> Block 35 + +# 2716| Block 37 +# 2716| v2716_6(void) = NoOp : +#-----| Goto -> Block 38 + +# 2717| Block 38 +# 2717| r2717_1(glval) = VariableAddress[x_1_and_2] : +# 2717| r2717_2(int) = Load[x_1_and_2] : &:r2717_1, m2715_14 +# 2717| r2717_3(int) = Constant[0] : +# 2717| r2717_4(bool) = CompareNE : r2717_2, r2717_3 +# 2717| r2717_5(bool) = LogicalNot : r2717_4 +# 2717| v2717_6(void) = ConditionalBranch : r2717_5 +#-----| False -> Block 40 +#-----| True -> Block 39 + +# 2717| Block 39 +# 2717| v2717_7(void) = NoOp : +#-----| Goto -> Block 40 + +# 2718| Block 40 +# 2718| v2718_1(void) = NoOp : +# 2698| v2698_9(void) = ReturnVoid : +# 2698| v2698_10(void) = AliasedUse : m2698_3 +# 2698| v2698_11(void) = ExitFunction : + many-defs-per-use.cpp: # 34| void many_defs_per_use() # 34| Block 0 diff --git a/cpp/ql/test/library-tests/ir/ir/aliased_ssa_consistency.expected b/cpp/ql/test/library-tests/ir/ir/aliased_ssa_consistency.expected index fb695d838915..7f10f2f9d7c9 100644 --- a/cpp/ql/test/library-tests/ir/ir/aliased_ssa_consistency.expected +++ b/cpp/ql/test/library-tests/ir/ir/aliased_ssa_consistency.expected @@ -30,5 +30,41 @@ thisArgumentIsNonPointer | ir.cpp:2546:34:2546:34 | Call: call to operator bool | Call instruction 'Call: call to operator bool' has a `this` argument operand that is not an address, in function '$@'. | ir.cpp:2545:6:2545:23 | void this_inconsistency(bool) | void this_inconsistency(bool) | nonUniqueIRVariable nonBooleanOperand +| ir.c:85:7:85:8 | ConditionalBranch: x1 | Conditional branch instruction ConditionalBranch: x1 with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:86:6:86:8 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:86:6:86:8 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:88:11:88:13 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:89:6:89:6 | ConditionalBranch: y | Conditional branch instruction ConditionalBranch: y with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:90:6:90:7 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:90:6:90:7 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:92:6:92:7 | ConditionalBranch: x1 | Conditional branch instruction ConditionalBranch: x1 with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:92:12:92:13 | ConditionalBranch: x2 | Conditional branch instruction ConditionalBranch: x2 with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:93:6:93:8 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:93:6:93:8 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:93:13:93:14 | ConditionalBranch: x2 | Conditional branch instruction ConditionalBranch: x2 with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:94:6:94:7 | ConditionalBranch: x1 | Conditional branch instruction ConditionalBranch: x1 with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:94:12:94:14 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:94:12:94:14 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:95:6:95:8 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:95:6:95:8 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:95:13:95:15 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:95:13:95:15 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:96:6:96:7 | ConditionalBranch: x1 | Conditional branch instruction ConditionalBranch: x1 with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:96:12:96:13 | ConditionalBranch: x2 | Conditional branch instruction ConditionalBranch: x2 with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:97:6:97:8 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:97:6:97:8 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:97:13:97:14 | ConditionalBranch: x2 | Conditional branch instruction ConditionalBranch: x2 with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:98:6:98:7 | ConditionalBranch: x1 | Conditional branch instruction ConditionalBranch: x1 with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:98:12:98:14 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:98:12:98:14 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:99:6:99:8 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:99:6:99:8 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:99:13:99:15 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:99:13:99:15 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:101:19:101:20 | ConditionalBranch: x1 | Conditional branch instruction ConditionalBranch: x1 with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:101:25:101:26 | ConditionalBranch: x2 | Conditional branch instruction ConditionalBranch: x2 with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:102:6:102:14 | ConditionalBranch: x_1_and_2 | Conditional branch instruction ConditionalBranch: x_1_and_2 with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:103:6:103:15 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:103:6:103:15 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | | try_except.c:35:13:35:13 | ConditionalBranch: b | Conditional branch instruction ConditionalBranch: b with non-Boolean condition, in function '$@'. | try_except.c:32:6:32:6 | void h(int) | void h(int) | missingCppType diff --git a/cpp/ql/test/library-tests/ir/ir/aliased_ssa_consistency_unsound.expected b/cpp/ql/test/library-tests/ir/ir/aliased_ssa_consistency_unsound.expected index fb695d838915..7f10f2f9d7c9 100644 --- a/cpp/ql/test/library-tests/ir/ir/aliased_ssa_consistency_unsound.expected +++ b/cpp/ql/test/library-tests/ir/ir/aliased_ssa_consistency_unsound.expected @@ -30,5 +30,41 @@ thisArgumentIsNonPointer | ir.cpp:2546:34:2546:34 | Call: call to operator bool | Call instruction 'Call: call to operator bool' has a `this` argument operand that is not an address, in function '$@'. | ir.cpp:2545:6:2545:23 | void this_inconsistency(bool) | void this_inconsistency(bool) | nonUniqueIRVariable nonBooleanOperand +| ir.c:85:7:85:8 | ConditionalBranch: x1 | Conditional branch instruction ConditionalBranch: x1 with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:86:6:86:8 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:86:6:86:8 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:88:11:88:13 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:89:6:89:6 | ConditionalBranch: y | Conditional branch instruction ConditionalBranch: y with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:90:6:90:7 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:90:6:90:7 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:92:6:92:7 | ConditionalBranch: x1 | Conditional branch instruction ConditionalBranch: x1 with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:92:12:92:13 | ConditionalBranch: x2 | Conditional branch instruction ConditionalBranch: x2 with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:93:6:93:8 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:93:6:93:8 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:93:13:93:14 | ConditionalBranch: x2 | Conditional branch instruction ConditionalBranch: x2 with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:94:6:94:7 | ConditionalBranch: x1 | Conditional branch instruction ConditionalBranch: x1 with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:94:12:94:14 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:94:12:94:14 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:95:6:95:8 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:95:6:95:8 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:95:13:95:15 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:95:13:95:15 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:96:6:96:7 | ConditionalBranch: x1 | Conditional branch instruction ConditionalBranch: x1 with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:96:12:96:13 | ConditionalBranch: x2 | Conditional branch instruction ConditionalBranch: x2 with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:97:6:97:8 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:97:6:97:8 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:97:13:97:14 | ConditionalBranch: x2 | Conditional branch instruction ConditionalBranch: x2 with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:98:6:98:7 | ConditionalBranch: x1 | Conditional branch instruction ConditionalBranch: x1 with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:98:12:98:14 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:98:12:98:14 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:99:6:99:8 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:99:6:99:8 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:99:13:99:15 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:99:13:99:15 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:101:19:101:20 | ConditionalBranch: x1 | Conditional branch instruction ConditionalBranch: x1 with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:101:25:101:26 | ConditionalBranch: x2 | Conditional branch instruction ConditionalBranch: x2 with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:102:6:102:14 | ConditionalBranch: x_1_and_2 | Conditional branch instruction ConditionalBranch: x_1_and_2 with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:103:6:103:15 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:103:6:103:15 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | | try_except.c:35:13:35:13 | ConditionalBranch: b | Conditional branch instruction ConditionalBranch: b with non-Boolean condition, in function '$@'. | try_except.c:32:6:32:6 | void h(int) | void h(int) | missingCppType diff --git a/cpp/ql/test/library-tests/ir/ir/ir.c b/cpp/ql/test/library-tests/ir/ir/ir.c index e658b4d754e0..6e5b37743044 100644 --- a/cpp/ql/test/library-tests/ir/ir/ir.c +++ b/cpp/ql/test/library-tests/ir/ir/ir.c @@ -81,4 +81,26 @@ void raise_access_violation() { ExRaiseAccessViolation(1); } +void branch_on_integral_in_c(int x1, int x2) { + if (x1) {} + if(!x1) {} + + int y = !x1; + if(y) {} + if(!y) {} + + if(x1 && x2) {} + if(!x1 && x2) {} + if(x1 && !x2) {} + if(!x1 && !x2) {} + if(x1 || x2) {} + if(!x1 || x2) {} + if(x1 || !x2) {} + if(!x1 || !x2) {} + + int x_1_and_2 = x1 && x2; + if(x_1_and_2) {} + if(!x_1_and_2) {} +} + // semmle-extractor-options: --microsoft diff --git a/cpp/ql/test/library-tests/ir/ir/ir.cpp b/cpp/ql/test/library-tests/ir/ir/ir.cpp index 105cdbf3ae65..bb4698ea7e23 100644 --- a/cpp/ql/test/library-tests/ir/ir/ir.cpp +++ b/cpp/ql/test/library-tests/ir/ir/ir.cpp @@ -2695,4 +2695,26 @@ int requires_use() { } +void branch_on_integral_in_cpp(int x1, int x2) { + if (x1) {} + if(!x1) {} + + int y = !x1; + if(y) {} + if(!y) {} + + if(x1 && x2) {} + if(!x1 && x2) {} + if(x1 && !x2) {} + if(!x1 && !x2) {} + if(x1 || x2) {} + if(!x1 || x2) {} + if(x1 || !x2) {} + if(!x1 || !x2) {} + + int x_1_and_2 = x1 && x2; + if(x_1_and_2) {} + if(!x_1_and_2) {} +} + // semmle-extractor-options: -std=c++20 --clang diff --git a/cpp/ql/test/library-tests/ir/ir/raw_consistency.expected b/cpp/ql/test/library-tests/ir/ir/raw_consistency.expected index 6e499b328073..7b5d32c65438 100644 --- a/cpp/ql/test/library-tests/ir/ir/raw_consistency.expected +++ b/cpp/ql/test/library-tests/ir/ir/raw_consistency.expected @@ -39,5 +39,41 @@ thisArgumentIsNonPointer | ir.cpp:2546:34:2546:34 | Call: call to operator bool | Call instruction 'Call: call to operator bool' has a `this` argument operand that is not an address, in function '$@'. | ir.cpp:2545:6:2545:23 | void this_inconsistency(bool) | void this_inconsistency(bool) | nonUniqueIRVariable nonBooleanOperand +| ir.c:85:7:85:8 | ConditionalBranch: x1 | Conditional branch instruction ConditionalBranch: x1 with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:86:6:86:8 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:86:6:86:8 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:88:11:88:13 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:89:6:89:6 | ConditionalBranch: y | Conditional branch instruction ConditionalBranch: y with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:90:6:90:7 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:90:6:90:7 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:92:6:92:7 | ConditionalBranch: x1 | Conditional branch instruction ConditionalBranch: x1 with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:92:12:92:13 | ConditionalBranch: x2 | Conditional branch instruction ConditionalBranch: x2 with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:93:6:93:8 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:93:6:93:8 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:93:13:93:14 | ConditionalBranch: x2 | Conditional branch instruction ConditionalBranch: x2 with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:94:6:94:7 | ConditionalBranch: x1 | Conditional branch instruction ConditionalBranch: x1 with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:94:12:94:14 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:94:12:94:14 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:95:6:95:8 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:95:6:95:8 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:95:13:95:15 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:95:13:95:15 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:96:6:96:7 | ConditionalBranch: x1 | Conditional branch instruction ConditionalBranch: x1 with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:96:12:96:13 | ConditionalBranch: x2 | Conditional branch instruction ConditionalBranch: x2 with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:97:6:97:8 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:97:6:97:8 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:97:13:97:14 | ConditionalBranch: x2 | Conditional branch instruction ConditionalBranch: x2 with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:98:6:98:7 | ConditionalBranch: x1 | Conditional branch instruction ConditionalBranch: x1 with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:98:12:98:14 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:98:12:98:14 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:99:6:99:8 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:99:6:99:8 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:99:13:99:15 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:99:13:99:15 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:101:19:101:20 | ConditionalBranch: x1 | Conditional branch instruction ConditionalBranch: x1 with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:101:25:101:26 | ConditionalBranch: x2 | Conditional branch instruction ConditionalBranch: x2 with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:102:6:102:14 | ConditionalBranch: x_1_and_2 | Conditional branch instruction ConditionalBranch: x_1_and_2 with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:103:6:103:15 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:103:6:103:15 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | | try_except.c:35:13:35:13 | ConditionalBranch: b | Conditional branch instruction ConditionalBranch: b with non-Boolean condition, in function '$@'. | try_except.c:32:6:32:6 | void h(int) | void h(int) | missingCppType diff --git a/cpp/ql/test/library-tests/ir/ir/raw_ir.expected b/cpp/ql/test/library-tests/ir/ir/raw_ir.expected index ff4f47f3c22f..0093a108577a 100644 --- a/cpp/ql/test/library-tests/ir/ir/raw_ir.expected +++ b/cpp/ql/test/library-tests/ir/ir/raw_ir.expected @@ -3095,6 +3095,276 @@ ir.c: # 80| v80_7(void) = ReturnVoid : #-----| Goto -> Block 1 +# 84| void branch_on_integral_in_c(int, int) +# 84| Block 0 +# 84| v84_1(void) = EnterFunction : +# 84| mu84_2(unknown) = AliasedDefinition : +# 84| mu84_3(unknown) = InitializeNonLocal : +# 84| r84_4(glval) = VariableAddress[x1] : +# 84| mu84_5(int) = InitializeParameter[x1] : &:r84_4 +# 84| r84_6(glval) = VariableAddress[x2] : +# 84| mu84_7(int) = InitializeParameter[x2] : &:r84_6 +# 85| r85_1(glval) = VariableAddress[x1] : +# 85| r85_2(int) = Load[x1] : &:r85_1, ~m? +# 85| v85_3(void) = ConditionalBranch : r85_2 +#-----| False -> Block 2 +#-----| True -> Block 1 + +# 85| Block 1 +# 85| v85_4(void) = NoOp : +#-----| Goto -> Block 2 + +# 86| Block 2 +# 86| r86_1(glval) = VariableAddress[x1] : +# 86| r86_2(int) = Load[x1] : &:r86_1, ~m? +# 86| r86_3(int) = LogicalNot : r86_2 +# 86| v86_4(void) = ConditionalBranch : r86_3 +#-----| False -> Block 4 +#-----| True -> Block 3 + +# 86| Block 3 +# 86| v86_5(void) = NoOp : +#-----| Goto -> Block 4 + +# 88| Block 4 +# 88| r88_1(glval) = VariableAddress[y] : +# 88| r88_2(glval) = VariableAddress[x1] : +# 88| r88_3(int) = Load[x1] : &:r88_2, ~m? +# 88| r88_4(int) = LogicalNot : r88_3 +# 88| mu88_5(int) = Store[y] : &:r88_1, r88_4 +# 89| r89_1(glval) = VariableAddress[y] : +# 89| r89_2(int) = Load[y] : &:r89_1, ~m? +# 89| v89_3(void) = ConditionalBranch : r89_2 +#-----| False -> Block 6 +#-----| True -> Block 5 + +# 89| Block 5 +# 89| v89_4(void) = NoOp : +#-----| Goto -> Block 6 + +# 90| Block 6 +# 90| r90_1(glval) = VariableAddress[y] : +# 90| r90_2(int) = Load[y] : &:r90_1, ~m? +# 90| r90_3(int) = LogicalNot : r90_2 +# 90| v90_4(void) = ConditionalBranch : r90_3 +#-----| False -> Block 8 +#-----| True -> Block 7 + +# 90| Block 7 +# 90| v90_5(void) = NoOp : +#-----| Goto -> Block 8 + +# 92| Block 8 +# 92| r92_1(glval) = VariableAddress[x1] : +# 92| r92_2(int) = Load[x1] : &:r92_1, ~m? +# 92| v92_3(void) = ConditionalBranch : r92_2 +#-----| False -> Block 11 +#-----| True -> Block 9 + +# 92| Block 9 +# 92| r92_4(glval) = VariableAddress[x2] : +# 92| r92_5(int) = Load[x2] : &:r92_4, ~m? +# 92| v92_6(void) = ConditionalBranch : r92_5 +#-----| False -> Block 11 +#-----| True -> Block 10 + +# 92| Block 10 +# 92| v92_7(void) = NoOp : +#-----| Goto -> Block 11 + +# 93| Block 11 +# 93| r93_1(glval) = VariableAddress[x1] : +# 93| r93_2(int) = Load[x1] : &:r93_1, ~m? +# 93| r93_3(int) = LogicalNot : r93_2 +# 93| v93_4(void) = ConditionalBranch : r93_3 +#-----| False -> Block 14 +#-----| True -> Block 12 + +# 93| Block 12 +# 93| r93_5(glval) = VariableAddress[x2] : +# 93| r93_6(int) = Load[x2] : &:r93_5, ~m? +# 93| v93_7(void) = ConditionalBranch : r93_6 +#-----| False -> Block 14 +#-----| True -> Block 13 + +# 93| Block 13 +# 93| v93_8(void) = NoOp : +#-----| Goto -> Block 14 + +# 94| Block 14 +# 94| r94_1(glval) = VariableAddress[x1] : +# 94| r94_2(int) = Load[x1] : &:r94_1, ~m? +# 94| v94_3(void) = ConditionalBranch : r94_2 +#-----| False -> Block 17 +#-----| True -> Block 15 + +# 94| Block 15 +# 94| r94_4(glval) = VariableAddress[x2] : +# 94| r94_5(int) = Load[x2] : &:r94_4, ~m? +# 94| r94_6(int) = LogicalNot : r94_5 +# 94| v94_7(void) = ConditionalBranch : r94_6 +#-----| False -> Block 17 +#-----| True -> Block 16 + +# 94| Block 16 +# 94| v94_8(void) = NoOp : +#-----| Goto -> Block 17 + +# 95| Block 17 +# 95| r95_1(glval) = VariableAddress[x1] : +# 95| r95_2(int) = Load[x1] : &:r95_1, ~m? +# 95| r95_3(int) = LogicalNot : r95_2 +# 95| v95_4(void) = ConditionalBranch : r95_3 +#-----| False -> Block 20 +#-----| True -> Block 18 + +# 95| Block 18 +# 95| r95_5(glval) = VariableAddress[x2] : +# 95| r95_6(int) = Load[x2] : &:r95_5, ~m? +# 95| r95_7(int) = LogicalNot : r95_6 +# 95| v95_8(void) = ConditionalBranch : r95_7 +#-----| False -> Block 20 +#-----| True -> Block 19 + +# 95| Block 19 +# 95| v95_9(void) = NoOp : +#-----| Goto -> Block 20 + +# 96| Block 20 +# 96| r96_1(glval) = VariableAddress[x1] : +# 96| r96_2(int) = Load[x1] : &:r96_1, ~m? +# 96| v96_3(void) = ConditionalBranch : r96_2 +#-----| False -> Block 21 +#-----| True -> Block 22 + +# 96| Block 21 +# 96| r96_4(glval) = VariableAddress[x2] : +# 96| r96_5(int) = Load[x2] : &:r96_4, ~m? +# 96| v96_6(void) = ConditionalBranch : r96_5 +#-----| False -> Block 23 +#-----| True -> Block 22 + +# 96| Block 22 +# 96| v96_7(void) = NoOp : +#-----| Goto -> Block 23 + +# 97| Block 23 +# 97| r97_1(glval) = VariableAddress[x1] : +# 97| r97_2(int) = Load[x1] : &:r97_1, ~m? +# 97| r97_3(int) = LogicalNot : r97_2 +# 97| v97_4(void) = ConditionalBranch : r97_3 +#-----| False -> Block 24 +#-----| True -> Block 25 + +# 97| Block 24 +# 97| r97_5(glval) = VariableAddress[x2] : +# 97| r97_6(int) = Load[x2] : &:r97_5, ~m? +# 97| v97_7(void) = ConditionalBranch : r97_6 +#-----| False -> Block 26 +#-----| True -> Block 25 + +# 97| Block 25 +# 97| v97_8(void) = NoOp : +#-----| Goto -> Block 26 + +# 98| Block 26 +# 98| r98_1(glval) = VariableAddress[x1] : +# 98| r98_2(int) = Load[x1] : &:r98_1, ~m? +# 98| v98_3(void) = ConditionalBranch : r98_2 +#-----| False -> Block 27 +#-----| True -> Block 28 + +# 98| Block 27 +# 98| r98_4(glval) = VariableAddress[x2] : +# 98| r98_5(int) = Load[x2] : &:r98_4, ~m? +# 98| r98_6(int) = LogicalNot : r98_5 +# 98| v98_7(void) = ConditionalBranch : r98_6 +#-----| False -> Block 29 +#-----| True -> Block 28 + +# 98| Block 28 +# 98| v98_8(void) = NoOp : +#-----| Goto -> Block 29 + +# 99| Block 29 +# 99| r99_1(glval) = VariableAddress[x1] : +# 99| r99_2(int) = Load[x1] : &:r99_1, ~m? +# 99| r99_3(int) = LogicalNot : r99_2 +# 99| v99_4(void) = ConditionalBranch : r99_3 +#-----| False -> Block 30 +#-----| True -> Block 31 + +# 99| Block 30 +# 99| r99_5(glval) = VariableAddress[x2] : +# 99| r99_6(int) = Load[x2] : &:r99_5, ~m? +# 99| r99_7(int) = LogicalNot : r99_6 +# 99| v99_8(void) = ConditionalBranch : r99_7 +#-----| False -> Block 32 +#-----| True -> Block 31 + +# 99| Block 31 +# 99| v99_9(void) = NoOp : +#-----| Goto -> Block 32 + +# 101| Block 32 +# 101| r101_1(glval) = VariableAddress[x_1_and_2] : +# 101| r101_2(glval) = VariableAddress[x1] : +# 101| r101_3(int) = Load[x1] : &:r101_2, ~m? +# 101| v101_4(void) = ConditionalBranch : r101_3 +#-----| False -> Block 33 +#-----| True -> Block 36 + +# 101| Block 33 +# 101| r101_5(glval) = VariableAddress[#temp101:19] : +# 101| r101_6(int) = Constant[0] : +# 101| mu101_7(int) = Store[#temp101:19] : &:r101_5, r101_6 +#-----| Goto -> Block 34 + +# 101| Block 34 +# 101| r101_8(glval) = VariableAddress[#temp101:19] : +# 101| r101_9(int) = Load[#temp101:19] : &:r101_8, ~m? +# 101| mu101_10(int) = Store[x_1_and_2] : &:r101_1, r101_9 +# 102| r102_1(glval) = VariableAddress[x_1_and_2] : +# 102| r102_2(int) = Load[x_1_and_2] : &:r102_1, ~m? +# 102| v102_3(void) = ConditionalBranch : r102_2 +#-----| False -> Block 38 +#-----| True -> Block 37 + +# 101| Block 35 +# 101| r101_11(glval) = VariableAddress[#temp101:19] : +# 101| r101_12(int) = Constant[1] : +# 101| mu101_13(int) = Store[#temp101:19] : &:r101_11, r101_12 +#-----| Goto -> Block 34 + +# 101| Block 36 +# 101| r101_14(glval) = VariableAddress[x2] : +# 101| r101_15(int) = Load[x2] : &:r101_14, ~m? +# 101| v101_16(void) = ConditionalBranch : r101_15 +#-----| False -> Block 33 +#-----| True -> Block 35 + +# 102| Block 37 +# 102| v102_4(void) = NoOp : +#-----| Goto -> Block 38 + +# 103| Block 38 +# 103| r103_1(glval) = VariableAddress[x_1_and_2] : +# 103| r103_2(int) = Load[x_1_and_2] : &:r103_1, ~m? +# 103| r103_3(int) = LogicalNot : r103_2 +# 103| v103_4(void) = ConditionalBranch : r103_3 +#-----| False -> Block 40 +#-----| True -> Block 39 + +# 103| Block 39 +# 103| v103_5(void) = NoOp : +#-----| Goto -> Block 40 + +# 104| Block 40 +# 104| v104_1(void) = NoOp : +# 84| v84_8(void) = ReturnVoid : +# 84| v84_9(void) = AliasedUse : ~m? +# 84| v84_10(void) = ExitFunction : + ir.cpp: # 1| void Constants() # 1| Block 0 @@ -17439,6 +17709,328 @@ ir.cpp: # 2691| v2691_6(void) = AliasedUse : ~m? # 2691| v2691_7(void) = ExitFunction : +# 2698| void branch_on_integral_in_cpp(int, int) +# 2698| Block 0 +# 2698| v2698_1(void) = EnterFunction : +# 2698| mu2698_2(unknown) = AliasedDefinition : +# 2698| mu2698_3(unknown) = InitializeNonLocal : +# 2698| r2698_4(glval) = VariableAddress[x1] : +# 2698| mu2698_5(int) = InitializeParameter[x1] : &:r2698_4 +# 2698| r2698_6(glval) = VariableAddress[x2] : +# 2698| mu2698_7(int) = InitializeParameter[x2] : &:r2698_6 +# 2699| r2699_1(glval) = VariableAddress[x1] : +# 2699| r2699_2(int) = Load[x1] : &:r2699_1, ~m? +# 2699| r2699_3(int) = Constant[0] : +# 2699| r2699_4(bool) = CompareNE : r2699_2, r2699_3 +# 2699| v2699_5(void) = ConditionalBranch : r2699_4 +#-----| False -> Block 2 +#-----| True -> Block 1 + +# 2699| Block 1 +# 2699| v2699_6(void) = NoOp : +#-----| Goto -> Block 2 + +# 2700| Block 2 +# 2700| r2700_1(glval) = VariableAddress[x1] : +# 2700| r2700_2(int) = Load[x1] : &:r2700_1, ~m? +# 2700| r2700_3(int) = Constant[0] : +# 2700| r2700_4(bool) = CompareNE : r2700_2, r2700_3 +# 2700| r2700_5(bool) = LogicalNot : r2700_4 +# 2700| v2700_6(void) = ConditionalBranch : r2700_5 +#-----| False -> Block 4 +#-----| True -> Block 3 + +# 2700| Block 3 +# 2700| v2700_7(void) = NoOp : +#-----| Goto -> Block 4 + +# 2702| Block 4 +# 2702| r2702_1(glval) = VariableAddress[y] : +# 2702| r2702_2(glval) = VariableAddress[x1] : +# 2702| r2702_3(int) = Load[x1] : &:r2702_2, ~m? +# 2702| r2702_4(int) = Constant[0] : +# 2702| r2702_5(bool) = CompareNE : r2702_3, r2702_4 +# 2702| r2702_6(bool) = LogicalNot : r2702_5 +# 2702| r2702_7(int) = Convert : r2702_6 +# 2702| mu2702_8(int) = Store[y] : &:r2702_1, r2702_7 +# 2703| r2703_1(glval) = VariableAddress[y] : +# 2703| r2703_2(int) = Load[y] : &:r2703_1, ~m? +# 2703| r2703_3(int) = Constant[0] : +# 2703| r2703_4(bool) = CompareNE : r2703_2, r2703_3 +# 2703| v2703_5(void) = ConditionalBranch : r2703_4 +#-----| False -> Block 6 +#-----| True -> Block 5 + +# 2703| Block 5 +# 2703| v2703_6(void) = NoOp : +#-----| Goto -> Block 6 + +# 2704| Block 6 +# 2704| r2704_1(glval) = VariableAddress[y] : +# 2704| r2704_2(int) = Load[y] : &:r2704_1, ~m? +# 2704| r2704_3(int) = Constant[0] : +# 2704| r2704_4(bool) = CompareNE : r2704_2, r2704_3 +# 2704| r2704_5(bool) = LogicalNot : r2704_4 +# 2704| v2704_6(void) = ConditionalBranch : r2704_5 +#-----| False -> Block 8 +#-----| True -> Block 7 + +# 2704| Block 7 +# 2704| v2704_7(void) = NoOp : +#-----| Goto -> Block 8 + +# 2706| Block 8 +# 2706| r2706_1(glval) = VariableAddress[x1] : +# 2706| r2706_2(int) = Load[x1] : &:r2706_1, ~m? +# 2706| r2706_3(int) = Constant[0] : +# 2706| r2706_4(bool) = CompareNE : r2706_2, r2706_3 +# 2706| v2706_5(void) = ConditionalBranch : r2706_4 +#-----| False -> Block 11 +#-----| True -> Block 9 + +# 2706| Block 9 +# 2706| r2706_6(glval) = VariableAddress[x2] : +# 2706| r2706_7(int) = Load[x2] : &:r2706_6, ~m? +# 2706| r2706_8(int) = Constant[0] : +# 2706| r2706_9(bool) = CompareNE : r2706_7, r2706_8 +# 2706| v2706_10(void) = ConditionalBranch : r2706_9 +#-----| False -> Block 11 +#-----| True -> Block 10 + +# 2706| Block 10 +# 2706| v2706_11(void) = NoOp : +#-----| Goto -> Block 11 + +# 2707| Block 11 +# 2707| r2707_1(glval) = VariableAddress[x1] : +# 2707| r2707_2(int) = Load[x1] : &:r2707_1, ~m? +# 2707| r2707_3(int) = Constant[0] : +# 2707| r2707_4(bool) = CompareNE : r2707_2, r2707_3 +# 2707| r2707_5(bool) = LogicalNot : r2707_4 +# 2707| v2707_6(void) = ConditionalBranch : r2707_5 +#-----| False -> Block 14 +#-----| True -> Block 12 + +# 2707| Block 12 +# 2707| r2707_7(glval) = VariableAddress[x2] : +# 2707| r2707_8(int) = Load[x2] : &:r2707_7, ~m? +# 2707| r2707_9(int) = Constant[0] : +# 2707| r2707_10(bool) = CompareNE : r2707_8, r2707_9 +# 2707| v2707_11(void) = ConditionalBranch : r2707_10 +#-----| False -> Block 14 +#-----| True -> Block 13 + +# 2707| Block 13 +# 2707| v2707_12(void) = NoOp : +#-----| Goto -> Block 14 + +# 2708| Block 14 +# 2708| r2708_1(glval) = VariableAddress[x1] : +# 2708| r2708_2(int) = Load[x1] : &:r2708_1, ~m? +# 2708| r2708_3(int) = Constant[0] : +# 2708| r2708_4(bool) = CompareNE : r2708_2, r2708_3 +# 2708| v2708_5(void) = ConditionalBranch : r2708_4 +#-----| False -> Block 17 +#-----| True -> Block 15 + +# 2708| Block 15 +# 2708| r2708_6(glval) = VariableAddress[x2] : +# 2708| r2708_7(int) = Load[x2] : &:r2708_6, ~m? +# 2708| r2708_8(int) = Constant[0] : +# 2708| r2708_9(bool) = CompareNE : r2708_7, r2708_8 +# 2708| r2708_10(bool) = LogicalNot : r2708_9 +# 2708| v2708_11(void) = ConditionalBranch : r2708_10 +#-----| False -> Block 17 +#-----| True -> Block 16 + +# 2708| Block 16 +# 2708| v2708_12(void) = NoOp : +#-----| Goto -> Block 17 + +# 2709| Block 17 +# 2709| r2709_1(glval) = VariableAddress[x1] : +# 2709| r2709_2(int) = Load[x1] : &:r2709_1, ~m? +# 2709| r2709_3(int) = Constant[0] : +# 2709| r2709_4(bool) = CompareNE : r2709_2, r2709_3 +# 2709| r2709_5(bool) = LogicalNot : r2709_4 +# 2709| v2709_6(void) = ConditionalBranch : r2709_5 +#-----| False -> Block 20 +#-----| True -> Block 18 + +# 2709| Block 18 +# 2709| r2709_7(glval) = VariableAddress[x2] : +# 2709| r2709_8(int) = Load[x2] : &:r2709_7, ~m? +# 2709| r2709_9(int) = Constant[0] : +# 2709| r2709_10(bool) = CompareNE : r2709_8, r2709_9 +# 2709| r2709_11(bool) = LogicalNot : r2709_10 +# 2709| v2709_12(void) = ConditionalBranch : r2709_11 +#-----| False -> Block 20 +#-----| True -> Block 19 + +# 2709| Block 19 +# 2709| v2709_13(void) = NoOp : +#-----| Goto -> Block 20 + +# 2710| Block 20 +# 2710| r2710_1(glval) = VariableAddress[x1] : +# 2710| r2710_2(int) = Load[x1] : &:r2710_1, ~m? +# 2710| r2710_3(int) = Constant[0] : +# 2710| r2710_4(bool) = CompareNE : r2710_2, r2710_3 +# 2710| v2710_5(void) = ConditionalBranch : r2710_4 +#-----| False -> Block 21 +#-----| True -> Block 22 + +# 2710| Block 21 +# 2710| r2710_6(glval) = VariableAddress[x2] : +# 2710| r2710_7(int) = Load[x2] : &:r2710_6, ~m? +# 2710| r2710_8(int) = Constant[0] : +# 2710| r2710_9(bool) = CompareNE : r2710_7, r2710_8 +# 2710| v2710_10(void) = ConditionalBranch : r2710_9 +#-----| False -> Block 23 +#-----| True -> Block 22 + +# 2710| Block 22 +# 2710| v2710_11(void) = NoOp : +#-----| Goto -> Block 23 + +# 2711| Block 23 +# 2711| r2711_1(glval) = VariableAddress[x1] : +# 2711| r2711_2(int) = Load[x1] : &:r2711_1, ~m? +# 2711| r2711_3(int) = Constant[0] : +# 2711| r2711_4(bool) = CompareNE : r2711_2, r2711_3 +# 2711| r2711_5(bool) = LogicalNot : r2711_4 +# 2711| v2711_6(void) = ConditionalBranch : r2711_5 +#-----| False -> Block 24 +#-----| True -> Block 25 + +# 2711| Block 24 +# 2711| r2711_7(glval) = VariableAddress[x2] : +# 2711| r2711_8(int) = Load[x2] : &:r2711_7, ~m? +# 2711| r2711_9(int) = Constant[0] : +# 2711| r2711_10(bool) = CompareNE : r2711_8, r2711_9 +# 2711| v2711_11(void) = ConditionalBranch : r2711_10 +#-----| False -> Block 26 +#-----| True -> Block 25 + +# 2711| Block 25 +# 2711| v2711_12(void) = NoOp : +#-----| Goto -> Block 26 + +# 2712| Block 26 +# 2712| r2712_1(glval) = VariableAddress[x1] : +# 2712| r2712_2(int) = Load[x1] : &:r2712_1, ~m? +# 2712| r2712_3(int) = Constant[0] : +# 2712| r2712_4(bool) = CompareNE : r2712_2, r2712_3 +# 2712| v2712_5(void) = ConditionalBranch : r2712_4 +#-----| False -> Block 27 +#-----| True -> Block 28 + +# 2712| Block 27 +# 2712| r2712_6(glval) = VariableAddress[x2] : +# 2712| r2712_7(int) = Load[x2] : &:r2712_6, ~m? +# 2712| r2712_8(int) = Constant[0] : +# 2712| r2712_9(bool) = CompareNE : r2712_7, r2712_8 +# 2712| r2712_10(bool) = LogicalNot : r2712_9 +# 2712| v2712_11(void) = ConditionalBranch : r2712_10 +#-----| False -> Block 29 +#-----| True -> Block 28 + +# 2712| Block 28 +# 2712| v2712_12(void) = NoOp : +#-----| Goto -> Block 29 + +# 2713| Block 29 +# 2713| r2713_1(glval) = VariableAddress[x1] : +# 2713| r2713_2(int) = Load[x1] : &:r2713_1, ~m? +# 2713| r2713_3(int) = Constant[0] : +# 2713| r2713_4(bool) = CompareNE : r2713_2, r2713_3 +# 2713| r2713_5(bool) = LogicalNot : r2713_4 +# 2713| v2713_6(void) = ConditionalBranch : r2713_5 +#-----| False -> Block 30 +#-----| True -> Block 31 + +# 2713| Block 30 +# 2713| r2713_7(glval) = VariableAddress[x2] : +# 2713| r2713_8(int) = Load[x2] : &:r2713_7, ~m? +# 2713| r2713_9(int) = Constant[0] : +# 2713| r2713_10(bool) = CompareNE : r2713_8, r2713_9 +# 2713| r2713_11(bool) = LogicalNot : r2713_10 +# 2713| v2713_12(void) = ConditionalBranch : r2713_11 +#-----| False -> Block 32 +#-----| True -> Block 31 + +# 2713| Block 31 +# 2713| v2713_13(void) = NoOp : +#-----| Goto -> Block 32 + +# 2715| Block 32 +# 2715| r2715_1(glval) = VariableAddress[x_1_and_2] : +# 2715| r2715_2(glval) = VariableAddress[x1] : +# 2715| r2715_3(int) = Load[x1] : &:r2715_2, ~m? +# 2715| r2715_4(int) = Constant[0] : +# 2715| r2715_5(bool) = CompareNE : r2715_3, r2715_4 +# 2715| v2715_6(void) = ConditionalBranch : r2715_5 +#-----| False -> Block 33 +#-----| True -> Block 36 + +# 2715| Block 33 +# 2715| r2715_7(glval) = VariableAddress[#temp2715:19] : +# 2715| r2715_8(bool) = Constant[0] : +# 2715| mu2715_9(bool) = Store[#temp2715:19] : &:r2715_7, r2715_8 +#-----| Goto -> Block 34 + +# 2715| Block 34 +# 2715| r2715_10(glval) = VariableAddress[#temp2715:19] : +# 2715| r2715_11(bool) = Load[#temp2715:19] : &:r2715_10, ~m? +# 2715| r2715_12(int) = Convert : r2715_11 +# 2715| mu2715_13(int) = Store[x_1_and_2] : &:r2715_1, r2715_12 +# 2716| r2716_1(glval) = VariableAddress[x_1_and_2] : +# 2716| r2716_2(int) = Load[x_1_and_2] : &:r2716_1, ~m? +# 2716| r2716_3(int) = Constant[0] : +# 2716| r2716_4(bool) = CompareNE : r2716_2, r2716_3 +# 2716| v2716_5(void) = ConditionalBranch : r2716_4 +#-----| False -> Block 38 +#-----| True -> Block 37 + +# 2715| Block 35 +# 2715| r2715_14(glval) = VariableAddress[#temp2715:19] : +# 2715| r2715_15(bool) = Constant[1] : +# 2715| mu2715_16(bool) = Store[#temp2715:19] : &:r2715_14, r2715_15 +#-----| Goto -> Block 34 + +# 2715| Block 36 +# 2715| r2715_17(glval) = VariableAddress[x2] : +# 2715| r2715_18(int) = Load[x2] : &:r2715_17, ~m? +# 2715| r2715_19(int) = Constant[0] : +# 2715| r2715_20(bool) = CompareNE : r2715_18, r2715_19 +# 2715| v2715_21(void) = ConditionalBranch : r2715_20 +#-----| False -> Block 33 +#-----| True -> Block 35 + +# 2716| Block 37 +# 2716| v2716_6(void) = NoOp : +#-----| Goto -> Block 38 + +# 2717| Block 38 +# 2717| r2717_1(glval) = VariableAddress[x_1_and_2] : +# 2717| r2717_2(int) = Load[x_1_and_2] : &:r2717_1, ~m? +# 2717| r2717_3(int) = Constant[0] : +# 2717| r2717_4(bool) = CompareNE : r2717_2, r2717_3 +# 2717| r2717_5(bool) = LogicalNot : r2717_4 +# 2717| v2717_6(void) = ConditionalBranch : r2717_5 +#-----| False -> Block 40 +#-----| True -> Block 39 + +# 2717| Block 39 +# 2717| v2717_7(void) = NoOp : +#-----| Goto -> Block 40 + +# 2718| Block 40 +# 2718| v2718_1(void) = NoOp : +# 2698| v2698_8(void) = ReturnVoid : +# 2698| v2698_9(void) = AliasedUse : ~m? +# 2698| v2698_10(void) = ExitFunction : + many-defs-per-use.cpp: # 34| void many_defs_per_use() # 34| Block 0 diff --git a/cpp/ql/test/library-tests/ir/ir/unaliased_ssa_consistency.expected b/cpp/ql/test/library-tests/ir/ir/unaliased_ssa_consistency.expected index fb695d838915..7f10f2f9d7c9 100644 --- a/cpp/ql/test/library-tests/ir/ir/unaliased_ssa_consistency.expected +++ b/cpp/ql/test/library-tests/ir/ir/unaliased_ssa_consistency.expected @@ -30,5 +30,41 @@ thisArgumentIsNonPointer | ir.cpp:2546:34:2546:34 | Call: call to operator bool | Call instruction 'Call: call to operator bool' has a `this` argument operand that is not an address, in function '$@'. | ir.cpp:2545:6:2545:23 | void this_inconsistency(bool) | void this_inconsistency(bool) | nonUniqueIRVariable nonBooleanOperand +| ir.c:85:7:85:8 | ConditionalBranch: x1 | Conditional branch instruction ConditionalBranch: x1 with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:86:6:86:8 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:86:6:86:8 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:88:11:88:13 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:89:6:89:6 | ConditionalBranch: y | Conditional branch instruction ConditionalBranch: y with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:90:6:90:7 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:90:6:90:7 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:92:6:92:7 | ConditionalBranch: x1 | Conditional branch instruction ConditionalBranch: x1 with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:92:12:92:13 | ConditionalBranch: x2 | Conditional branch instruction ConditionalBranch: x2 with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:93:6:93:8 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:93:6:93:8 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:93:13:93:14 | ConditionalBranch: x2 | Conditional branch instruction ConditionalBranch: x2 with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:94:6:94:7 | ConditionalBranch: x1 | Conditional branch instruction ConditionalBranch: x1 with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:94:12:94:14 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:94:12:94:14 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:95:6:95:8 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:95:6:95:8 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:95:13:95:15 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:95:13:95:15 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:96:6:96:7 | ConditionalBranch: x1 | Conditional branch instruction ConditionalBranch: x1 with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:96:12:96:13 | ConditionalBranch: x2 | Conditional branch instruction ConditionalBranch: x2 with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:97:6:97:8 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:97:6:97:8 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:97:13:97:14 | ConditionalBranch: x2 | Conditional branch instruction ConditionalBranch: x2 with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:98:6:98:7 | ConditionalBranch: x1 | Conditional branch instruction ConditionalBranch: x1 with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:98:12:98:14 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:98:12:98:14 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:99:6:99:8 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:99:6:99:8 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:99:13:99:15 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:99:13:99:15 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:101:19:101:20 | ConditionalBranch: x1 | Conditional branch instruction ConditionalBranch: x1 with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:101:25:101:26 | ConditionalBranch: x2 | Conditional branch instruction ConditionalBranch: x2 with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:102:6:102:14 | ConditionalBranch: x_1_and_2 | Conditional branch instruction ConditionalBranch: x_1_and_2 with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:103:6:103:15 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:103:6:103:15 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | | try_except.c:35:13:35:13 | ConditionalBranch: b | Conditional branch instruction ConditionalBranch: b with non-Boolean condition, in function '$@'. | try_except.c:32:6:32:6 | void h(int) | void h(int) | missingCppType diff --git a/cpp/ql/test/library-tests/ir/ir/unaliased_ssa_consistency_unsound.expected b/cpp/ql/test/library-tests/ir/ir/unaliased_ssa_consistency_unsound.expected index fb695d838915..7f10f2f9d7c9 100644 --- a/cpp/ql/test/library-tests/ir/ir/unaliased_ssa_consistency_unsound.expected +++ b/cpp/ql/test/library-tests/ir/ir/unaliased_ssa_consistency_unsound.expected @@ -30,5 +30,41 @@ thisArgumentIsNonPointer | ir.cpp:2546:34:2546:34 | Call: call to operator bool | Call instruction 'Call: call to operator bool' has a `this` argument operand that is not an address, in function '$@'. | ir.cpp:2545:6:2545:23 | void this_inconsistency(bool) | void this_inconsistency(bool) | nonUniqueIRVariable nonBooleanOperand +| ir.c:85:7:85:8 | ConditionalBranch: x1 | Conditional branch instruction ConditionalBranch: x1 with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:86:6:86:8 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:86:6:86:8 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:88:11:88:13 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:89:6:89:6 | ConditionalBranch: y | Conditional branch instruction ConditionalBranch: y with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:90:6:90:7 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:90:6:90:7 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:92:6:92:7 | ConditionalBranch: x1 | Conditional branch instruction ConditionalBranch: x1 with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:92:12:92:13 | ConditionalBranch: x2 | Conditional branch instruction ConditionalBranch: x2 with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:93:6:93:8 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:93:6:93:8 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:93:13:93:14 | ConditionalBranch: x2 | Conditional branch instruction ConditionalBranch: x2 with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:94:6:94:7 | ConditionalBranch: x1 | Conditional branch instruction ConditionalBranch: x1 with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:94:12:94:14 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:94:12:94:14 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:95:6:95:8 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:95:6:95:8 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:95:13:95:15 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:95:13:95:15 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:96:6:96:7 | ConditionalBranch: x1 | Conditional branch instruction ConditionalBranch: x1 with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:96:12:96:13 | ConditionalBranch: x2 | Conditional branch instruction ConditionalBranch: x2 with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:97:6:97:8 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:97:6:97:8 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:97:13:97:14 | ConditionalBranch: x2 | Conditional branch instruction ConditionalBranch: x2 with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:98:6:98:7 | ConditionalBranch: x1 | Conditional branch instruction ConditionalBranch: x1 with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:98:12:98:14 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:98:12:98:14 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:99:6:99:8 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:99:6:99:8 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:99:13:99:15 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:99:13:99:15 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:101:19:101:20 | ConditionalBranch: x1 | Conditional branch instruction ConditionalBranch: x1 with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:101:25:101:26 | ConditionalBranch: x2 | Conditional branch instruction ConditionalBranch: x2 with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:102:6:102:14 | ConditionalBranch: x_1_and_2 | Conditional branch instruction ConditionalBranch: x_1_and_2 with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:103:6:103:15 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | +| ir.c:103:6:103:15 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) | | try_except.c:35:13:35:13 | ConditionalBranch: b | Conditional branch instruction ConditionalBranch: b with non-Boolean condition, in function '$@'. | try_except.c:32:6:32:6 | void h(int) | void h(int) | missingCppType From 4a4552bbc10df30079fad8588a09c96b81d23a5d Mon Sep 17 00:00:00 2001 From: Mathias Vorreiter Pedersen Date: Mon, 18 Nov 2024 15:55:25 +0000 Subject: [PATCH 237/347] C++: Also update the consistency query itself. --- cpp/ql/src/Metrics/Internal/IRConsistency.ql | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/cpp/ql/src/Metrics/Internal/IRConsistency.ql b/cpp/ql/src/Metrics/Internal/IRConsistency.ql index e90c158fe947..b4b5b32f7adf 100644 --- a/cpp/ql/src/Metrics/Internal/IRConsistency.ql +++ b/cpp/ql/src/Metrics/Internal/IRConsistency.ql @@ -40,4 +40,5 @@ select count(Instruction i | IRConsistency::missingOperand(i, _, _, _) | i) as m count(Instruction i | IRConsistency::nonUniqueEnclosingIRFunction(i, _, _, _) | i) as nonUniqueEnclosingIRFunction, count(FieldAddressInstruction i | IRConsistency::fieldAddressOnNonPointer(i, _, _, _) | i) as fieldAddressOnNonPointer, count(Instruction i | IRConsistency::thisArgumentIsNonPointer(i, _, _, _) | i) as thisArgumentIsNonPointer, - count(Instruction i | IRConsistency::nonUniqueIRVariable(i, _, _, _) | i) as nonUniqueIRVariable + count(Instruction i | IRConsistency::nonUniqueIRVariable(i, _, _, _) | i) as nonUniqueIRVariable, + count(Instruction i | IRConsistency::nonBooleanOperand(i, _, _, _) | i) as nonBooleanOperand From ccca0b6ba4b056555713228a3ec03e1859038fff Mon Sep 17 00:00:00 2001 From: Mathias Vorreiter Pedersen Date: Mon, 18 Nov 2024 15:56:41 +0000 Subject: [PATCH 238/347] C++: Also update syntax-zoo tests. --- .../aliased_ssa_consistency.expected | 267 +++++++++++++++++ .../syntax-zoo/raw_consistency.expected | 276 ++++++++++++++++++ .../unaliased_ssa_consistency.expected | 267 +++++++++++++++++ 3 files changed, 810 insertions(+) diff --git a/cpp/ql/test/library-tests/syntax-zoo/aliased_ssa_consistency.expected b/cpp/ql/test/library-tests/syntax-zoo/aliased_ssa_consistency.expected index 3e1b675f84e7..66f9c9c375f5 100644 --- a/cpp/ql/test/library-tests/syntax-zoo/aliased_ssa_consistency.expected +++ b/cpp/ql/test/library-tests/syntax-zoo/aliased_ssa_consistency.expected @@ -33,4 +33,271 @@ thisArgumentIsNonPointer | pointer_to_member.cpp:23:5:23:54 | Call: call to expression | Call instruction 'Call: call to expression' has a `this` argument operand that is not an address, in function '$@'. | pointer_to_member.cpp:14:5:14:9 | int usePM(int PM::*) | int usePM(int PM::*) | | pointer_to_member.cpp:24:5:24:49 | Call: call to expression | Call instruction 'Call: call to expression' has a `this` argument operand that is not an address, in function '$@'. | pointer_to_member.cpp:14:5:14:9 | int usePM(int PM::*) | int usePM(int PM::*) | nonUniqueIRVariable +nonBooleanOperand +| break_labels.c:4:9:4:14 | ConditionalBranch: ... != ... | Conditional branch instruction ConditionalBranch: ... != ... with non-Boolean condition, in function '$@'. | break_labels.c:2:12:2:12 | int f(int) | int f(int) | +| break_labels.c:6:16:6:21 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | break_labels.c:2:12:2:12 | int f(int) | int f(int) | +| break_labels.c:7:17:7:24 | ConditionalBranch: ... == ... | Conditional branch instruction ConditionalBranch: ... == ... with non-Boolean condition, in function '$@'. | break_labels.c:2:12:2:12 | int f(int) | int f(int) | +| break_labels.c:20:16:20:21 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | break_labels.c:16:6:16:10 | void f_for() | void f_for() | +| break_labels.c:21:13:21:18 | ConditionalBranch: ... == ... | Conditional branch instruction ConditionalBranch: ... == ... with non-Boolean condition, in function '$@'. | break_labels.c:16:6:16:10 | void f_for() | void f_for() | +| break_labels.c:24:13:24:18 | ConditionalBranch: ... == ... | Conditional branch instruction ConditionalBranch: ... == ... with non-Boolean condition, in function '$@'. | break_labels.c:16:6:16:10 | void f_for() | void f_for() | +| builtin.c:24:7:24:13 | ConditionalBranch: ... == ... | Conditional branch instruction ConditionalBranch: ... == ... with non-Boolean condition, in function '$@'. | builtin.c:5:5:5:11 | int builtin(int, int) | int builtin(int, int) | +| builtin.c:28:7:28:29 | ConditionalBranch: call to __builtin_unpredictable | Conditional branch instruction ConditionalBranch: call to __builtin_unpredictable with non-Boolean condition, in function '$@'. | builtin.c:5:5:5:11 | int builtin(int, int) | int builtin(int, int) | +| builtin.c:47:7:47:22 | ConditionalBranch: call to __builtin_memchr | Conditional branch instruction ConditionalBranch: call to __builtin_memchr with non-Boolean condition, in function '$@'. | builtin.c:5:5:5:11 | int builtin(int, int) | int builtin(int, int) | +| dostmt.c:4:11:4:11 | ConditionalBranch: 0 | Conditional branch instruction ConditionalBranch: 0 with non-Boolean condition, in function '$@'. | dostmt.c:1:6:1:17 | void always_false() | void always_false() | +| dostmt.c:28:11:28:11 | ConditionalBranch: 1 | Conditional branch instruction ConditionalBranch: 1 with non-Boolean condition, in function '$@'. | dostmt.c:25:13:25:25 | void always_true_3() | void always_true_3() | +| dostmt.c:36:11:36:16 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | dostmt.c:32:13:32:18 | void normal() | void normal() | +| duff2.c:13:14:13:20 | ConditionalBranch: ... > ... | Conditional branch instruction ConditionalBranch: ... > ... with non-Boolean condition, in function '$@'. | duff2.c:2:6:2:12 | void duff2_8(int) | void duff2_8(int) | +| duff2.c:21:14:21:20 | ConditionalBranch: ... > ... | Conditional branch instruction ConditionalBranch: ... > ... with non-Boolean condition, in function '$@'. | duff2.c:16:6:16:12 | void duff2_2(int) | void duff2_2(int) | +| duff.c:13:22:13:28 | ConditionalBranch: ... > ... | Conditional branch instruction ConditionalBranch: ... > ... with non-Boolean condition, in function '$@'. | duff.c:2:13:2:13 | void f(int) | void f(int) | +| dummyblock.c:2:9:2:9 | ConditionalBranch: 1 | Conditional branch instruction ConditionalBranch: 1 with non-Boolean condition, in function '$@'. | dummyblock.c:1:13:1:13 | void f() | void f() | +| ifelsestmt.c:2:6:2:6 | ConditionalBranch: 0 | Conditional branch instruction ConditionalBranch: 0 with non-Boolean condition, in function '$@'. | ifelsestmt.c:1:13:1:26 | void always_false_1() | void always_false_1() | +| ifelsestmt.c:12:6:12:6 | ConditionalBranch: 0 | Conditional branch instruction ConditionalBranch: 0 with non-Boolean condition, in function '$@'. | ifelsestmt.c:11:13:11:26 | void always_false_2() | void always_false_2() | +| ifelsestmt.c:20:6:20:6 | ConditionalBranch: 1 | Conditional branch instruction ConditionalBranch: 1 with non-Boolean condition, in function '$@'. | ifelsestmt.c:19:13:19:25 | void always_true_1() | void always_true_1() | +| ifelsestmt.c:30:6:30:6 | ConditionalBranch: 1 | Conditional branch instruction ConditionalBranch: 1 with non-Boolean condition, in function '$@'. | ifelsestmt.c:29:13:29:25 | void always_true_2() | void always_true_2() | +| ifelsestmt.c:38:6:38:11 | ConditionalBranch: ... == ... | Conditional branch instruction ConditionalBranch: ... == ... with non-Boolean condition, in function '$@'. | ifelsestmt.c:37:13:37:18 | void normal(int, int) | void normal(int, int) | +| ifstmt.c:2:6:2:6 | ConditionalBranch: 0 | Conditional branch instruction ConditionalBranch: 0 with non-Boolean condition, in function '$@'. | ifstmt.c:1:13:1:26 | void always_false_1() | void always_false_1() | +| ifstmt.c:9:6:9:6 | ConditionalBranch: 0 | Conditional branch instruction ConditionalBranch: 0 with non-Boolean condition, in function '$@'. | ifstmt.c:8:13:8:26 | void always_false_2() | void always_false_2() | +| ifstmt.c:15:6:15:6 | ConditionalBranch: 1 | Conditional branch instruction ConditionalBranch: 1 with non-Boolean condition, in function '$@'. | ifstmt.c:14:13:14:25 | void always_true_1() | void always_true_1() | +| ifstmt.c:22:6:22:6 | ConditionalBranch: 1 | Conditional branch instruction ConditionalBranch: 1 with non-Boolean condition, in function '$@'. | ifstmt.c:21:13:21:25 | void always_true_2() | void always_true_2() | +| ifstmt.c:28:6:28:11 | ConditionalBranch: ... == ... | Conditional branch instruction ConditionalBranch: ... == ... with non-Boolean condition, in function '$@'. | ifstmt.c:27:13:27:18 | void normal(int, int) | void normal(int, int) | +| landexpr.c:3:6:3:6 | ConditionalBranch: a | Conditional branch instruction ConditionalBranch: a with non-Boolean condition, in function '$@'. | landexpr.c:1:13:1:13 | void f() | void f() | +| landexpr.c:3:11:3:11 | ConditionalBranch: b | Conditional branch instruction ConditionalBranch: b with non-Boolean condition, in function '$@'. | landexpr.c:1:13:1:13 | void f() | void f() | +| lorexpr.c:3:6:3:6 | ConditionalBranch: a | Conditional branch instruction ConditionalBranch: a with non-Boolean condition, in function '$@'. | lorexpr.c:1:13:1:13 | void f() | void f() | +| lorexpr.c:3:11:3:11 | ConditionalBranch: b | Conditional branch instruction ConditionalBranch: b with non-Boolean condition, in function '$@'. | lorexpr.c:1:13:1:13 | void f() | void f() | +| misc.c:22:9:22:12 | ConditionalBranch: argi | Conditional branch instruction ConditionalBranch: argi with non-Boolean condition, in function '$@'. | misc.c:16:6:16:10 | void misc1(int, int) | void misc1(int, int) | +| misc.c:22:17:22:20 | ConditionalBranch: argj | Conditional branch instruction ConditionalBranch: argj with non-Boolean condition, in function '$@'. | misc.c:16:6:16:10 | void misc1(int, int) | void misc1(int, int) | +| misc.c:27:9:27:12 | ConditionalBranch: argi | Conditional branch instruction ConditionalBranch: argi with non-Boolean condition, in function '$@'. | misc.c:16:6:16:10 | void misc1(int, int) | void misc1(int, int) | +| misc.c:27:17:27:20 | ConditionalBranch: argj | Conditional branch instruction ConditionalBranch: argj with non-Boolean condition, in function '$@'. | misc.c:16:6:16:10 | void misc1(int, int) | void misc1(int, int) | +| misc.c:32:9:32:9 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | misc.c:16:6:16:10 | void misc1(int, int) | void misc1(int, int) | +| misc.c:32:14:32:14 | ConditionalBranch: j | Conditional branch instruction ConditionalBranch: j with non-Boolean condition, in function '$@'. | misc.c:16:6:16:10 | void misc1(int, int) | void misc1(int, int) | +| misc.c:37:9:37:9 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | misc.c:16:6:16:10 | void misc1(int, int) | void misc1(int, int) | +| misc.c:37:14:37:14 | ConditionalBranch: j | Conditional branch instruction ConditionalBranch: j with non-Boolean condition, in function '$@'. | misc.c:16:6:16:10 | void misc1(int, int) | void misc1(int, int) | +| misc.c:44:11:44:11 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | misc.c:16:6:16:10 | void misc1(int, int) | void misc1(int, int) | +| misc.c:47:11:47:11 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | misc.c:16:6:16:10 | void misc1(int, int) | void misc1(int, int) | +| misc.c:47:16:47:16 | ConditionalBranch: j | Conditional branch instruction ConditionalBranch: j with non-Boolean condition, in function '$@'. | misc.c:16:6:16:10 | void misc1(int, int) | void misc1(int, int) | +| misc.c:50:11:50:11 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | misc.c:16:6:16:10 | void misc1(int, int) | void misc1(int, int) | +| misc.c:50:16:50:16 | ConditionalBranch: j | Conditional branch instruction ConditionalBranch: j with non-Boolean condition, in function '$@'. | misc.c:16:6:16:10 | void misc1(int, int) | void misc1(int, int) | +| misc.c:53:11:53:14 | ConditionalBranch: argi | Conditional branch instruction ConditionalBranch: argi with non-Boolean condition, in function '$@'. | misc.c:16:6:16:10 | void misc1(int, int) | void misc1(int, int) | +| misc.c:58:13:58:13 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | misc.c:16:6:16:10 | void misc1(int, int) | void misc1(int, int) | +| misc.c:61:13:61:16 | ConditionalBranch: argi | Conditional branch instruction ConditionalBranch: argi with non-Boolean condition, in function '$@'. | misc.c:16:6:16:10 | void misc1(int, int) | void misc1(int, int) | +| misc.c:62:16:62:21 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | misc.c:16:6:16:10 | void misc1(int, int) | void misc1(int, int) | +| misc.c:64:11:64:16 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | misc.c:16:6:16:10 | void misc1(int, int) | void misc1(int, int) | +| misc.c:93:9:93:15 | ConditionalBranch: ... ? ... : ... | Conditional branch instruction ConditionalBranch: ... ? ... : ... with non-Boolean condition, in function '$@'. | misc.c:91:6:91:33 | void gnuConditionalOmittedOperand(someStruct*) | void gnuConditionalOmittedOperand(someStruct*) | +| misc.c:94:9:94:19 | ConditionalBranch: ... ? ... : ... | Conditional branch instruction ConditionalBranch: ... ? ... : ... with non-Boolean condition, in function '$@'. | misc.c:91:6:91:33 | void gnuConditionalOmittedOperand(someStruct*) | void gnuConditionalOmittedOperand(someStruct*) | +| misc.c:139:10:139:18 | ConditionalBranch: ... & ... | Conditional branch instruction ConditionalBranch: ... & ... with non-Boolean condition, in function '$@'. | misc.c:97:6:97:10 | void misc3() | void misc3() | +| misc.c:139:25:139:33 | ConditionalBranch: ... & ... | Conditional branch instruction ConditionalBranch: ... & ... with non-Boolean condition, in function '$@'. | misc.c:97:6:97:10 | void misc3() | void misc3() | +| misc.c:140:9:140:9 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | misc.c:97:6:97:10 | void misc3() | void misc3() | +| misc.c:140:14:140:14 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | misc.c:97:6:97:10 | void misc3() | void misc3() | +| misc.c:140:19:140:19 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | misc.c:97:6:97:10 | void misc3() | void misc3() | +| misc.c:141:9:141:9 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | misc.c:97:6:97:10 | void misc3() | void misc3() | +| misc.c:141:14:141:14 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | misc.c:97:6:97:10 | void misc3() | void misc3() | +| misc.c:141:19:141:19 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | misc.c:97:6:97:10 | void misc3() | void misc3() | +| misc.c:192:11:192:11 | ConditionalBranch: 1 | Conditional branch instruction ConditionalBranch: 1 with non-Boolean condition, in function '$@'. | misc.c:191:6:191:20 | void unreachable_end() | void unreachable_end() | +| pruning.c:5:9:5:9 | ConditionalBranch: 0 | Conditional branch instruction ConditionalBranch: 0 with non-Boolean condition, in function '$@'. | pruning.c:4:6:4:8 | void f_0() | void f_0() | +| pruning.c:13:9:13:9 | ConditionalBranch: 1 | Conditional branch instruction ConditionalBranch: 1 with non-Boolean condition, in function '$@'. | pruning.c:12:6:12:8 | void f_1() | void f_1() | +| pruning.c:21:9:21:11 | ConditionalBranch: 256 | Conditional branch instruction ConditionalBranch: 256 with non-Boolean condition, in function '$@'. | pruning.c:20:6:20:10 | void f_256() | void f_256() | +| pruning.c:29:9:29:18 | ConditionalBranch: (uint8_t)... | Conditional branch instruction ConditionalBranch: (uint8_t)... with non-Boolean condition, in function '$@'. | pruning.c:28:6:28:16 | void f_uint8_t_0() | void f_uint8_t_0() | +| pruning.c:37:9:37:18 | ConditionalBranch: (uint8_t)... | Conditional branch instruction ConditionalBranch: (uint8_t)... with non-Boolean condition, in function '$@'. | pruning.c:36:6:36:16 | void f_uint8_t_1() | void f_uint8_t_1() | +| pruning.c:45:9:45:20 | ConditionalBranch: (uint8_t)... | Conditional branch instruction ConditionalBranch: (uint8_t)... with non-Boolean condition, in function '$@'. | pruning.c:44:6:44:18 | void f_uint8_t_256() | void f_uint8_t_256() | +| pruning.c:53:9:53:20 | ConditionalBranch: (uint8_t)... | Conditional branch instruction ConditionalBranch: (uint8_t)... with non-Boolean condition, in function '$@'. | pruning.c:52:6:52:18 | void f_uint8_t_257() | void f_uint8_t_257() | +| pruning.c:61:9:61:26 | ConditionalBranch: ... == ... | Conditional branch instruction ConditionalBranch: ... == ... with non-Boolean condition, in function '$@'. | pruning.c:60:6:60:21 | void f_uint8_t_minus1() | void f_uint8_t_minus1() | +| pruning.c:70:9:70:9 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | pruning.c:68:6:68:14 | void f_v_int_0() | void f_v_int_0() | +| pruning.c:79:9:79:9 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | pruning.c:77:6:77:14 | void f_v_int_1() | void f_v_int_1() | +| pruning.c:88:9:88:9 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | pruning.c:86:6:86:16 | void f_v_int_256() | void f_v_int_256() | +| pruning.c:97:9:97:9 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | pruning.c:95:6:95:18 | void f_v_uint8_t_0() | void f_v_uint8_t_0() | +| pruning.c:106:9:106:9 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | pruning.c:104:6:104:18 | void f_v_uint8_t_1() | void f_v_uint8_t_1() | +| pruning.c:115:9:115:9 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | pruning.c:113:6:113:20 | void f_v_uint8_t_256() | void f_v_uint8_t_256() | +| pruning.c:124:9:124:9 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | pruning.c:122:6:122:20 | void f_v_uint8_t_257() | void f_v_uint8_t_257() | +| pruning.c:133:9:133:16 | ConditionalBranch: ... == ... | Conditional branch instruction ConditionalBranch: ... == ... with non-Boolean condition, in function '$@'. | pruning.c:131:6:131:23 | void f_v_uint8_t_minus1() | void f_v_uint8_t_minus1() | +| questionexpr.c:3:6:3:11 | ConditionalBranch: ... == ... | Conditional branch instruction ConditionalBranch: ... == ... with non-Boolean condition, in function '$@'. | questionexpr.c:1:13:1:13 | void f() | void f() | +| range_analysis.c:7:10:7:10 | ConditionalBranch: p | Conditional branch instruction ConditionalBranch: p with non-Boolean condition, in function '$@'. | range_analysis.c:5:5:5:9 | int test1(List*) | int test1(List*) | +| range_analysis.c:15:10:15:10 | ConditionalBranch: p | Conditional branch instruction ConditionalBranch: p with non-Boolean condition, in function '$@'. | range_analysis.c:13:5:13:9 | int test2(List*) | int test2(List*) | +| range_analysis.c:23:10:23:10 | ConditionalBranch: p | Conditional branch instruction ConditionalBranch: p with non-Boolean condition, in function '$@'. | range_analysis.c:21:5:21:9 | int test3(List*) | int test3(List*) | +| range_analysis.c:33:15:33:19 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | range_analysis.c:30:5:30:9 | int test4() | int test4() | +| range_analysis.c:42:15:42:19 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | range_analysis.c:39:5:39:9 | int test5() | int test5() | +| range_analysis.c:51:15:51:21 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | range_analysis.c:48:5:48:9 | int test6() | int test6() | +| range_analysis.c:58:7:58:11 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | range_analysis.c:57:5:57:9 | int test7(int) | int test7(int) | +| range_analysis.c:59:9:59:13 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | range_analysis.c:57:5:57:9 | int test7(int) | int test7(int) | +| range_analysis.c:67:7:67:15 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | range_analysis.c:66:5:66:9 | int test8(int, int) | int test8(int, int) | +| range_analysis.c:67:20:67:25 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | range_analysis.c:66:5:66:9 | int test8(int, int) | int test8(int, int) | +| range_analysis.c:68:9:68:15 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | range_analysis.c:66:5:66:9 | int test8(int, int) | int test8(int, int) | +| range_analysis.c:76:7:76:12 | ConditionalBranch: ... == ... | Conditional branch instruction ConditionalBranch: ... == ... with non-Boolean condition, in function '$@'. | range_analysis.c:75:5:75:9 | int test9(int, int) | int test9(int, int) | +| range_analysis.c:77:9:77:13 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | range_analysis.c:75:5:75:9 | int test9(int, int) | int test9(int, int) | +| range_analysis.c:81:9:81:13 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | range_analysis.c:75:5:75:9 | int test9(int, int) | int test9(int, int) | +| range_analysis.c:89:7:89:11 | ConditionalBranch: ... > ... | Conditional branch instruction ConditionalBranch: ... > ... with non-Boolean condition, in function '$@'. | range_analysis.c:88:5:88:10 | int test10(int, int) | int test10(int, int) | +| range_analysis.c:90:9:90:13 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | range_analysis.c:88:5:88:10 | int test10(int, int) | int test10(int, int) | +| range_analysis.c:101:7:101:15 | ConditionalBranch: ... != ... | Conditional branch instruction ConditionalBranch: ... != ... with non-Boolean condition, in function '$@'. | range_analysis.c:98:5:98:10 | int test11(char*) | int test11(char*) | +| range_analysis.c:104:7:104:14 | ConditionalBranch: ... == ... | Conditional branch instruction ConditionalBranch: ... == ... with non-Boolean condition, in function '$@'. | range_analysis.c:98:5:98:10 | int test11(char*) | int test11(char*) | +| range_analysis.c:106:9:106:17 | ConditionalBranch: ... != ... | Conditional branch instruction ConditionalBranch: ... != ... with non-Boolean condition, in function '$@'. | range_analysis.c:98:5:98:10 | int test11(char*) | int test11(char*) | +| range_analysis.c:109:9:109:16 | ConditionalBranch: ... != ... | Conditional branch instruction ConditionalBranch: ... != ... with non-Boolean condition, in function '$@'. | range_analysis.c:98:5:98:10 | int test11(char*) | int test11(char*) | +| range_analysis.c:124:11:124:36 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:122:5:122:10 | int test12() | int test12() | +| range_analysis.c:154:11:154:15 | ConditionalBranch: ... > ... | Conditional branch instruction ConditionalBranch: ... > ... with non-Boolean condition, in function '$@'. | range_analysis.c:153:11:153:16 | long long test15(long long) | long long test15(long long) | +| range_analysis.c:154:20:154:30 | ConditionalBranch: ... == ... | Conditional branch instruction ConditionalBranch: ... == ... with non-Boolean condition, in function '$@'. | range_analysis.c:153:11:153:16 | long long test15(long long) | long long test15(long long) | +| range_analysis.c:161:7:161:12 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:158:5:158:14 | int test_unary(int) | int test_unary(int) | +| range_analysis.c:161:17:161:23 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:158:5:158:14 | int test_unary(int) | int test_unary(int) | +| range_analysis.c:166:7:166:12 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:158:5:158:14 | int test_unary(int) | int test_unary(int) | +| range_analysis.c:166:17:166:23 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:158:5:158:14 | int test_unary(int) | int test_unary(int) | +| range_analysis.c:171:7:171:13 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:158:5:158:14 | int test_unary(int) | int test_unary(int) | +| range_analysis.c:171:18:171:24 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:158:5:158:14 | int test_unary(int) | int test_unary(int) | +| range_analysis.c:176:7:176:13 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:158:5:158:14 | int test_unary(int) | int test_unary(int) | +| range_analysis.c:176:18:176:23 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:158:5:158:14 | int test_unary(int) | int test_unary(int) | +| range_analysis.c:181:7:181:13 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:158:5:158:14 | int test_unary(int) | int test_unary(int) | +| range_analysis.c:181:18:181:23 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:158:5:158:14 | int test_unary(int) | int test_unary(int) | +| range_analysis.c:186:7:186:13 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:158:5:158:14 | int test_unary(int) | int test_unary(int) | +| range_analysis.c:186:18:186:24 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:158:5:158:14 | int test_unary(int) | int test_unary(int) | +| range_analysis.c:200:7:200:12 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:197:5:197:15 | int test_mult01(int, int) | int test_mult01(int, int) | +| range_analysis.c:200:17:200:23 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:197:5:197:15 | int test_mult01(int, int) | int test_mult01(int, int) | +| range_analysis.c:200:28:200:33 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:197:5:197:15 | int test_mult01(int, int) | int test_mult01(int, int) | +| range_analysis.c:200:38:200:44 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:197:5:197:15 | int test_mult01(int, int) | int test_mult01(int, int) | +| range_analysis.c:204:7:204:12 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:197:5:197:15 | int test_mult01(int, int) | int test_mult01(int, int) | +| range_analysis.c:204:17:204:23 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:197:5:197:15 | int test_mult01(int, int) | int test_mult01(int, int) | +| range_analysis.c:204:28:204:33 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:197:5:197:15 | int test_mult01(int, int) | int test_mult01(int, int) | +| range_analysis.c:204:38:204:44 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:197:5:197:15 | int test_mult01(int, int) | int test_mult01(int, int) | +| range_analysis.c:208:7:208:12 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:197:5:197:15 | int test_mult01(int, int) | int test_mult01(int, int) | +| range_analysis.c:208:17:208:23 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:197:5:197:15 | int test_mult01(int, int) | int test_mult01(int, int) | +| range_analysis.c:208:28:208:35 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:197:5:197:15 | int test_mult01(int, int) | int test_mult01(int, int) | +| range_analysis.c:208:40:208:46 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:197:5:197:15 | int test_mult01(int, int) | int test_mult01(int, int) | +| range_analysis.c:212:7:212:12 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:197:5:197:15 | int test_mult01(int, int) | int test_mult01(int, int) | +| range_analysis.c:212:17:212:23 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:197:5:197:15 | int test_mult01(int, int) | int test_mult01(int, int) | +| range_analysis.c:212:28:212:35 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:197:5:197:15 | int test_mult01(int, int) | int test_mult01(int, int) | +| range_analysis.c:212:40:212:45 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:197:5:197:15 | int test_mult01(int, int) | int test_mult01(int, int) | +| range_analysis.c:216:7:216:12 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:197:5:197:15 | int test_mult01(int, int) | int test_mult01(int, int) | +| range_analysis.c:216:17:216:23 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:197:5:197:15 | int test_mult01(int, int) | int test_mult01(int, int) | +| range_analysis.c:216:28:216:35 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:197:5:197:15 | int test_mult01(int, int) | int test_mult01(int, int) | +| range_analysis.c:216:40:216:46 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:197:5:197:15 | int test_mult01(int, int) | int test_mult01(int, int) | +| range_analysis.c:228:7:228:12 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:225:5:225:15 | int test_mult02(int, int) | int test_mult02(int, int) | +| range_analysis.c:228:17:228:23 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:225:5:225:15 | int test_mult02(int, int) | int test_mult02(int, int) | +| range_analysis.c:228:28:228:33 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:225:5:225:15 | int test_mult02(int, int) | int test_mult02(int, int) | +| range_analysis.c:228:38:228:44 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:225:5:225:15 | int test_mult02(int, int) | int test_mult02(int, int) | +| range_analysis.c:232:7:232:12 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:225:5:225:15 | int test_mult02(int, int) | int test_mult02(int, int) | +| range_analysis.c:232:17:232:23 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:225:5:225:15 | int test_mult02(int, int) | int test_mult02(int, int) | +| range_analysis.c:232:28:232:33 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:225:5:225:15 | int test_mult02(int, int) | int test_mult02(int, int) | +| range_analysis.c:232:38:232:44 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:225:5:225:15 | int test_mult02(int, int) | int test_mult02(int, int) | +| range_analysis.c:236:7:236:12 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:225:5:225:15 | int test_mult02(int, int) | int test_mult02(int, int) | +| range_analysis.c:236:17:236:23 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:225:5:225:15 | int test_mult02(int, int) | int test_mult02(int, int) | +| range_analysis.c:236:28:236:35 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:225:5:225:15 | int test_mult02(int, int) | int test_mult02(int, int) | +| range_analysis.c:236:40:236:46 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:225:5:225:15 | int test_mult02(int, int) | int test_mult02(int, int) | +| range_analysis.c:240:7:240:12 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:225:5:225:15 | int test_mult02(int, int) | int test_mult02(int, int) | +| range_analysis.c:240:17:240:23 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:225:5:225:15 | int test_mult02(int, int) | int test_mult02(int, int) | +| range_analysis.c:240:28:240:35 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:225:5:225:15 | int test_mult02(int, int) | int test_mult02(int, int) | +| range_analysis.c:240:40:240:45 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:225:5:225:15 | int test_mult02(int, int) | int test_mult02(int, int) | +| range_analysis.c:244:7:244:12 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:225:5:225:15 | int test_mult02(int, int) | int test_mult02(int, int) | +| range_analysis.c:244:17:244:23 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:225:5:225:15 | int test_mult02(int, int) | int test_mult02(int, int) | +| range_analysis.c:244:28:244:35 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:225:5:225:15 | int test_mult02(int, int) | int test_mult02(int, int) | +| range_analysis.c:244:40:244:46 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:225:5:225:15 | int test_mult02(int, int) | int test_mult02(int, int) | +| range_analysis.c:256:7:256:14 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:253:5:253:15 | int test_mult03(int, int) | int test_mult03(int, int) | +| range_analysis.c:256:19:256:25 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:253:5:253:15 | int test_mult03(int, int) | int test_mult03(int, int) | +| range_analysis.c:256:30:256:35 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:253:5:253:15 | int test_mult03(int, int) | int test_mult03(int, int) | +| range_analysis.c:256:40:256:46 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:253:5:253:15 | int test_mult03(int, int) | int test_mult03(int, int) | +| range_analysis.c:260:7:260:14 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:253:5:253:15 | int test_mult03(int, int) | int test_mult03(int, int) | +| range_analysis.c:260:19:260:25 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:253:5:253:15 | int test_mult03(int, int) | int test_mult03(int, int) | +| range_analysis.c:260:30:260:35 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:253:5:253:15 | int test_mult03(int, int) | int test_mult03(int, int) | +| range_analysis.c:260:40:260:46 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:253:5:253:15 | int test_mult03(int, int) | int test_mult03(int, int) | +| range_analysis.c:264:7:264:14 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:253:5:253:15 | int test_mult03(int, int) | int test_mult03(int, int) | +| range_analysis.c:264:19:264:25 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:253:5:253:15 | int test_mult03(int, int) | int test_mult03(int, int) | +| range_analysis.c:264:30:264:37 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:253:5:253:15 | int test_mult03(int, int) | int test_mult03(int, int) | +| range_analysis.c:264:42:264:48 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:253:5:253:15 | int test_mult03(int, int) | int test_mult03(int, int) | +| range_analysis.c:268:7:268:14 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:253:5:253:15 | int test_mult03(int, int) | int test_mult03(int, int) | +| range_analysis.c:268:19:268:25 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:253:5:253:15 | int test_mult03(int, int) | int test_mult03(int, int) | +| range_analysis.c:268:30:268:37 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:253:5:253:15 | int test_mult03(int, int) | int test_mult03(int, int) | +| range_analysis.c:268:42:268:47 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:253:5:253:15 | int test_mult03(int, int) | int test_mult03(int, int) | +| range_analysis.c:272:7:272:14 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:253:5:253:15 | int test_mult03(int, int) | int test_mult03(int, int) | +| range_analysis.c:272:19:272:25 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:253:5:253:15 | int test_mult03(int, int) | int test_mult03(int, int) | +| range_analysis.c:272:30:272:37 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:253:5:253:15 | int test_mult03(int, int) | int test_mult03(int, int) | +| range_analysis.c:272:42:272:48 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:253:5:253:15 | int test_mult03(int, int) | int test_mult03(int, int) | +| range_analysis.c:284:7:284:14 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:281:5:281:15 | int test_mult04(int, int) | int test_mult04(int, int) | +| range_analysis.c:284:19:284:24 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:281:5:281:15 | int test_mult04(int, int) | int test_mult04(int, int) | +| range_analysis.c:284:29:284:34 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:281:5:281:15 | int test_mult04(int, int) | int test_mult04(int, int) | +| range_analysis.c:284:39:284:45 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:281:5:281:15 | int test_mult04(int, int) | int test_mult04(int, int) | +| range_analysis.c:288:7:288:14 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:281:5:281:15 | int test_mult04(int, int) | int test_mult04(int, int) | +| range_analysis.c:288:19:288:24 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:281:5:281:15 | int test_mult04(int, int) | int test_mult04(int, int) | +| range_analysis.c:288:29:288:34 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:281:5:281:15 | int test_mult04(int, int) | int test_mult04(int, int) | +| range_analysis.c:288:39:288:45 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:281:5:281:15 | int test_mult04(int, int) | int test_mult04(int, int) | +| range_analysis.c:292:7:292:14 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:281:5:281:15 | int test_mult04(int, int) | int test_mult04(int, int) | +| range_analysis.c:292:19:292:24 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:281:5:281:15 | int test_mult04(int, int) | int test_mult04(int, int) | +| range_analysis.c:292:29:292:36 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:281:5:281:15 | int test_mult04(int, int) | int test_mult04(int, int) | +| range_analysis.c:292:41:292:47 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:281:5:281:15 | int test_mult04(int, int) | int test_mult04(int, int) | +| range_analysis.c:296:7:296:14 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:281:5:281:15 | int test_mult04(int, int) | int test_mult04(int, int) | +| range_analysis.c:296:19:296:24 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:281:5:281:15 | int test_mult04(int, int) | int test_mult04(int, int) | +| range_analysis.c:296:29:296:36 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:281:5:281:15 | int test_mult04(int, int) | int test_mult04(int, int) | +| range_analysis.c:296:41:296:46 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:281:5:281:15 | int test_mult04(int, int) | int test_mult04(int, int) | +| range_analysis.c:300:7:300:14 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:281:5:281:15 | int test_mult04(int, int) | int test_mult04(int, int) | +| range_analysis.c:300:19:300:24 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:281:5:281:15 | int test_mult04(int, int) | int test_mult04(int, int) | +| range_analysis.c:300:29:300:36 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:281:5:281:15 | int test_mult04(int, int) | int test_mult04(int, int) | +| range_analysis.c:300:41:300:47 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:281:5:281:15 | int test_mult04(int, int) | int test_mult04(int, int) | +| range_analysis.c:312:7:312:14 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:309:5:309:15 | int test_mult05(int, int) | int test_mult05(int, int) | +| range_analysis.c:312:19:312:25 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:309:5:309:15 | int test_mult05(int, int) | int test_mult05(int, int) | +| range_analysis.c:312:30:312:35 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:309:5:309:15 | int test_mult05(int, int) | int test_mult05(int, int) | +| range_analysis.c:312:40:312:46 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:309:5:309:15 | int test_mult05(int, int) | int test_mult05(int, int) | +| range_analysis.c:316:7:316:14 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:309:5:309:15 | int test_mult05(int, int) | int test_mult05(int, int) | +| range_analysis.c:316:19:316:25 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:309:5:309:15 | int test_mult05(int, int) | int test_mult05(int, int) | +| range_analysis.c:316:30:316:35 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:309:5:309:15 | int test_mult05(int, int) | int test_mult05(int, int) | +| range_analysis.c:316:40:316:46 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:309:5:309:15 | int test_mult05(int, int) | int test_mult05(int, int) | +| range_analysis.c:320:7:320:14 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:309:5:309:15 | int test_mult05(int, int) | int test_mult05(int, int) | +| range_analysis.c:320:19:320:25 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:309:5:309:15 | int test_mult05(int, int) | int test_mult05(int, int) | +| range_analysis.c:320:30:320:37 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:309:5:309:15 | int test_mult05(int, int) | int test_mult05(int, int) | +| range_analysis.c:320:42:320:48 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:309:5:309:15 | int test_mult05(int, int) | int test_mult05(int, int) | +| range_analysis.c:324:7:324:14 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:309:5:309:15 | int test_mult05(int, int) | int test_mult05(int, int) | +| range_analysis.c:324:19:324:25 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:309:5:309:15 | int test_mult05(int, int) | int test_mult05(int, int) | +| range_analysis.c:324:30:324:37 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:309:5:309:15 | int test_mult05(int, int) | int test_mult05(int, int) | +| range_analysis.c:324:42:324:47 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:309:5:309:15 | int test_mult05(int, int) | int test_mult05(int, int) | +| range_analysis.c:328:7:328:14 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:309:5:309:15 | int test_mult05(int, int) | int test_mult05(int, int) | +| range_analysis.c:328:19:328:25 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:309:5:309:15 | int test_mult05(int, int) | int test_mult05(int, int) | +| range_analysis.c:328:30:328:37 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:309:5:309:15 | int test_mult05(int, int) | int test_mult05(int, int) | +| range_analysis.c:328:42:328:48 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:309:5:309:15 | int test_mult05(int, int) | int test_mult05(int, int) | +| range_analysis.c:338:7:338:11 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | range_analysis.c:336:5:336:10 | int test16(int) | int test16(int) | +| range_analysis.c:342:10:342:14 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | range_analysis.c:336:5:336:10 | int test16(int) | int test16(int) | +| range_analysis.c:346:7:346:11 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | range_analysis.c:336:5:336:10 | int test16(int) | int test16(int) | +| range_analysis.c:347:9:347:14 | ConditionalBranch: ... > ... | Conditional branch instruction ConditionalBranch: ... > ... with non-Boolean condition, in function '$@'. | range_analysis.c:336:5:336:10 | int test16(int) | int test16(int) | +| range_analysis.c:357:8:357:14 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | range_analysis.c:355:14:355:27 | unsigned int test_ternary01(unsigned int) | unsigned int test_ternary01(unsigned int) | +| range_analysis.c:358:8:358:15 | ConditionalBranch: ... >= ... | Conditional branch instruction ConditionalBranch: ... >= ... with non-Boolean condition, in function '$@'. | range_analysis.c:355:14:355:27 | unsigned int test_ternary01(unsigned int) | unsigned int test_ternary01(unsigned int) | +| range_analysis.c:365:7:365:13 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | range_analysis.c:355:14:355:27 | unsigned int test_ternary01(unsigned int) | unsigned int test_ternary01(unsigned int) | +| range_analysis.c:366:10:366:15 | ConditionalBranch: ... ? ... : ... | Conditional branch instruction ConditionalBranch: ... ? ... : ... with non-Boolean condition, in function '$@'. | range_analysis.c:355:14:355:27 | unsigned int test_ternary01(unsigned int) | unsigned int test_ternary01(unsigned int) | +| range_analysis.c:367:10:367:17 | ConditionalBranch: ... ? ... : ... | Conditional branch instruction ConditionalBranch: ... ? ... : ... with non-Boolean condition, in function '$@'. | range_analysis.c:355:14:355:27 | unsigned int test_ternary01(unsigned int) | unsigned int test_ternary01(unsigned int) | +| range_analysis.c:368:10:368:21 | ConditionalBranch: ... ? ... : ... | Conditional branch instruction ConditionalBranch: ... ? ... : ... with non-Boolean condition, in function '$@'. | range_analysis.c:355:14:355:27 | unsigned int test_ternary01(unsigned int) | unsigned int test_ternary01(unsigned int) | +| range_analysis.c:369:10:369:36 | ConditionalBranch: ... ? ... : ... | Conditional branch instruction ConditionalBranch: ... ? ... : ... with non-Boolean condition, in function '$@'. | range_analysis.c:355:14:355:27 | unsigned int test_ternary01(unsigned int) | unsigned int test_ternary01(unsigned int) | +| range_analysis.c:370:10:370:38 | ConditionalBranch: ... ? ... : ... | Conditional branch instruction ConditionalBranch: ... ? ... : ... with non-Boolean condition, in function '$@'. | range_analysis.c:355:14:355:27 | unsigned int test_ternary01(unsigned int) | unsigned int test_ternary01(unsigned int) | +| range_analysis.c:371:10:371:39 | ConditionalBranch: ... ? ... : ... | Conditional branch instruction ConditionalBranch: ... ? ... : ... with non-Boolean condition, in function '$@'. | range_analysis.c:355:14:355:27 | unsigned int test_ternary01(unsigned int) | unsigned int test_ternary01(unsigned int) | +| range_analysis.c:379:8:379:14 | ConditionalBranch: ... > ... | Conditional branch instruction ConditionalBranch: ... > ... with non-Boolean condition, in function '$@'. | range_analysis.c:377:14:377:27 | unsigned int test_ternary02(unsigned int) | unsigned int test_ternary02(unsigned int) | +| range_analysis.c:380:8:380:15 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:377:14:377:27 | unsigned int test_ternary02(unsigned int) | unsigned int test_ternary02(unsigned int) | +| range_analysis.c:384:7:384:14 | ConditionalBranch: ... >= ... | Conditional branch instruction ConditionalBranch: ... >= ... with non-Boolean condition, in function '$@'. | range_analysis.c:377:14:377:27 | unsigned int test_ternary02(unsigned int) | unsigned int test_ternary02(unsigned int) | +| range_analysis.c:385:10:385:21 | ConditionalBranch: ... ? ... : ... | Conditional branch instruction ConditionalBranch: ... ? ... : ... with non-Boolean condition, in function '$@'. | range_analysis.c:377:14:377:27 | unsigned int test_ternary02(unsigned int) | unsigned int test_ternary02(unsigned int) | +| range_analysis.c:386:10:386:21 | ConditionalBranch: ... ? ... : ... | Conditional branch instruction ConditionalBranch: ... ? ... : ... with non-Boolean condition, in function '$@'. | range_analysis.c:377:14:377:27 | unsigned int test_ternary02(unsigned int) | unsigned int test_ternary02(unsigned int) | +| range_analysis.c:387:10:387:38 | ConditionalBranch: ... ? ... : ... | Conditional branch instruction ConditionalBranch: ... ? ... : ... with non-Boolean condition, in function '$@'. | range_analysis.c:377:14:377:27 | unsigned int test_ternary02(unsigned int) | unsigned int test_ternary02(unsigned int) | +| range_analysis.c:394:20:394:26 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | range_analysis.c:393:14:393:25 | unsigned int test_comma01(unsigned int) | unsigned int test_comma01(unsigned int) | +| switchbody.c:5:11:5:15 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | switchbody.c:4:5:4:16 | int switch_block(int) | int switch_block(int) | +| switchbody.c:16:11:16:15 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | switchbody.c:15:5:15:17 | int switch_single(int) | int switch_single(int) | +| switchbody.c:28:11:28:15 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | switchbody.c:27:5:27:19 | int switch_notblock(int) | int switch_notblock(int) | +| test.c:3:9:3:9 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | test.c:2:6:2:11 | void f_if_1(int) | void f_if_1(int) | +| test.c:11:9:11:9 | ConditionalBranch: 1 | Conditional branch instruction ConditionalBranch: 1 with non-Boolean condition, in function '$@'. | test.c:10:6:10:11 | void f_if_2() | void f_if_2() | +| test.c:19:9:19:9 | ConditionalBranch: 0 | Conditional branch instruction ConditionalBranch: 0 with non-Boolean condition, in function '$@'. | test.c:18:6:18:11 | void f_if_3() | void f_if_3() | +| test.c:28:16:28:21 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | test.c:26:6:26:12 | void f_for_1() | void f_for_1() | +| test.c:36:16:36:16 | ConditionalBranch: 1 | Conditional branch instruction ConditionalBranch: 1 with non-Boolean condition, in function '$@'. | test.c:34:6:34:12 | void f_for_2() | void f_for_2() | +| test.c:44:16:44:16 | ConditionalBranch: 0 | Conditional branch instruction ConditionalBranch: 0 with non-Boolean condition, in function '$@'. | test.c:42:6:42:12 | void f_for_3() | void f_for_3() | +| test.c:51:11:51:11 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | test.c:50:6:50:14 | void f_while_1(int) | void f_while_1(int) | +| test.c:58:11:58:11 | ConditionalBranch: 1 | Conditional branch instruction ConditionalBranch: 1 with non-Boolean condition, in function '$@'. | test.c:57:6:57:14 | void f_while_2() | void f_while_2() | +| test.c:65:11:65:11 | ConditionalBranch: 0 | Conditional branch instruction ConditionalBranch: 0 with non-Boolean condition, in function '$@'. | test.c:64:6:64:14 | void f_while_3() | void f_while_3() | +| test.c:74:14:74:14 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | test.c:71:6:71:11 | void f_do_1(int) | void f_do_1(int) | +| test.c:81:14:81:14 | ConditionalBranch: 1 | Conditional branch instruction ConditionalBranch: 1 with non-Boolean condition, in function '$@'. | test.c:78:6:78:11 | void f_do_2() | void f_do_2() | +| test.c:88:14:88:14 | ConditionalBranch: 0 | Conditional branch instruction ConditionalBranch: 0 with non-Boolean condition, in function '$@'. | test.c:85:6:85:11 | void f_do_3() | void f_do_3() | +| test.c:93:13:93:13 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | test.c:92:6:92:13 | void f_cond_1(int) | void f_cond_1(int) | +| test.c:204:12:204:12 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | test.c:203:6:203:15 | void f_switch_7(int) | void f_switch_7(int) | +| test.c:219:7:219:7 | ConditionalBranch: x | Conditional branch instruction ConditionalBranch: x with non-Boolean condition, in function '$@'. | test.c:218:5:218:11 | int f_and_1(int, int) | int f_and_1(int, int) | +| test.c:219:12:219:13 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | test.c:218:5:218:11 | int f_and_1(int, int) | int f_and_1(int, int) | +| test.c:219:12:219:13 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | test.c:218:5:218:11 | int f_and_1(int, int) | int f_and_1(int, int) | +| test.c:226:7:226:15 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | test.c:225:5:225:11 | int f_and_2(int, int) | int f_and_2(int, int) | +| test.c:226:7:226:15 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | test.c:225:5:225:11 | int f_and_2(int, int) | int f_and_2(int, int) | +| test.c:226:9:226:9 | ConditionalBranch: x | Conditional branch instruction ConditionalBranch: x with non-Boolean condition, in function '$@'. | test.c:225:5:225:11 | int f_and_2(int, int) | int f_and_2(int, int) | +| test.c:226:14:226:14 | ConditionalBranch: y | Conditional branch instruction ConditionalBranch: y with non-Boolean condition, in function '$@'. | test.c:225:5:225:11 | int f_and_2(int, int) | int f_and_2(int, int) | +| test.c:233:7:233:7 | ConditionalBranch: b | Conditional branch instruction ConditionalBranch: b with non-Boolean condition, in function '$@'. | test.c:232:6:232:19 | void f_if_ternary_1(int, int, int) | void f_if_ternary_1(int, int, int) | +| test.c:233:7:233:15 | ConditionalBranch: ... ? ... : ... | Conditional branch instruction ConditionalBranch: ... ? ... : ... with non-Boolean condition, in function '$@'. | test.c:232:6:232:19 | void f_if_ternary_1(int, int, int) | void f_if_ternary_1(int, int, int) | +| test.c:245:31:245:31 | ConditionalBranch: 0 | Conditional branch instruction ConditionalBranch: 0 with non-Boolean condition, in function '$@'. | test.c:245:24:245:24 | const void *[] a | const void *[] a | +| unaryopexpr.c:8:5:8:6 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | unaryopexpr.c:1:13:1:13 | void f() | void f() | +| whilestmt.c:2:9:2:9 | ConditionalBranch: 0 | Conditional branch instruction ConditionalBranch: 0 with non-Boolean condition, in function '$@'. | whilestmt.c:1:13:1:26 | void always_false_1() | void always_false_1() | +| whilestmt.c:10:9:10:13 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | whilestmt.c:8:13:8:26 | void always_false_2() | void always_false_2() | +| whilestmt.c:10:9:10:13 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | whilestmt.c:8:13:8:26 | void always_false_2() | void always_false_2() | +| whilestmt.c:16:9:16:9 | ConditionalBranch: 1 | Conditional branch instruction ConditionalBranch: 1 with non-Boolean condition, in function '$@'. | whilestmt.c:15:13:15:25 | void always_true_1() | void always_true_1() | +| whilestmt.c:24:9:24:9 | ConditionalBranch: 1 | Conditional branch instruction ConditionalBranch: 1 with non-Boolean condition, in function '$@'. | whilestmt.c:23:13:23:25 | void always_true_2() | void always_true_2() | +| whilestmt.c:33:9:33:9 | ConditionalBranch: 1 | Conditional branch instruction ConditionalBranch: 1 with non-Boolean condition, in function '$@'. | whilestmt.c:32:13:32:25 | void always_true_3() | void always_true_3() | +| whilestmt.c:41:9:41:14 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | whilestmt.c:39:13:39:18 | void normal() | void normal() | missingCppType diff --git a/cpp/ql/test/library-tests/syntax-zoo/raw_consistency.expected b/cpp/ql/test/library-tests/syntax-zoo/raw_consistency.expected index 9e3d40c99c59..dc6671af8a40 100644 --- a/cpp/ql/test/library-tests/syntax-zoo/raw_consistency.expected +++ b/cpp/ql/test/library-tests/syntax-zoo/raw_consistency.expected @@ -42,4 +42,280 @@ thisArgumentIsNonPointer | pointer_to_member.cpp:23:5:23:54 | Call: call to expression | Call instruction 'Call: call to expression' has a `this` argument operand that is not an address, in function '$@'. | pointer_to_member.cpp:14:5:14:9 | int usePM(int PM::*) | int usePM(int PM::*) | | pointer_to_member.cpp:24:5:24:49 | Call: call to expression | Call instruction 'Call: call to expression' has a `this` argument operand that is not an address, in function '$@'. | pointer_to_member.cpp:14:5:14:9 | int usePM(int PM::*) | int usePM(int PM::*) | nonUniqueIRVariable +nonBooleanOperand +| break_labels.c:4:9:4:14 | ConditionalBranch: ... != ... | Conditional branch instruction ConditionalBranch: ... != ... with non-Boolean condition, in function '$@'. | break_labels.c:2:12:2:12 | int f(int) | int f(int) | +| break_labels.c:6:16:6:21 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | break_labels.c:2:12:2:12 | int f(int) | int f(int) | +| break_labels.c:7:17:7:24 | ConditionalBranch: ... == ... | Conditional branch instruction ConditionalBranch: ... == ... with non-Boolean condition, in function '$@'. | break_labels.c:2:12:2:12 | int f(int) | int f(int) | +| break_labels.c:20:16:20:21 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | break_labels.c:16:6:16:10 | void f_for() | void f_for() | +| break_labels.c:21:13:21:18 | ConditionalBranch: ... == ... | Conditional branch instruction ConditionalBranch: ... == ... with non-Boolean condition, in function '$@'. | break_labels.c:16:6:16:10 | void f_for() | void f_for() | +| break_labels.c:24:13:24:18 | ConditionalBranch: ... == ... | Conditional branch instruction ConditionalBranch: ... == ... with non-Boolean condition, in function '$@'. | break_labels.c:16:6:16:10 | void f_for() | void f_for() | +| builtin.c:24:7:24:13 | ConditionalBranch: ... == ... | Conditional branch instruction ConditionalBranch: ... == ... with non-Boolean condition, in function '$@'. | builtin.c:5:5:5:11 | int builtin(int, int) | int builtin(int, int) | +| builtin.c:28:7:28:29 | ConditionalBranch: call to __builtin_unpredictable | Conditional branch instruction ConditionalBranch: call to __builtin_unpredictable with non-Boolean condition, in function '$@'. | builtin.c:5:5:5:11 | int builtin(int, int) | int builtin(int, int) | +| builtin.c:47:7:47:22 | ConditionalBranch: call to __builtin_memchr | Conditional branch instruction ConditionalBranch: call to __builtin_memchr with non-Boolean condition, in function '$@'. | builtin.c:5:5:5:11 | int builtin(int, int) | int builtin(int, int) | +| dostmt.c:4:11:4:11 | ConditionalBranch: 0 | Conditional branch instruction ConditionalBranch: 0 with non-Boolean condition, in function '$@'. | dostmt.c:1:6:1:17 | void always_false() | void always_false() | +| dostmt.c:12:11:12:11 | ConditionalBranch: 1 | Conditional branch instruction ConditionalBranch: 1 with non-Boolean condition, in function '$@'. | dostmt.c:8:13:8:25 | void always_true_1() | void always_true_1() | +| dostmt.c:21:11:21:11 | ConditionalBranch: 1 | Conditional branch instruction ConditionalBranch: 1 with non-Boolean condition, in function '$@'. | dostmt.c:16:13:16:25 | void always_true_2() | void always_true_2() | +| dostmt.c:28:11:28:11 | ConditionalBranch: 1 | Conditional branch instruction ConditionalBranch: 1 with non-Boolean condition, in function '$@'. | dostmt.c:25:13:25:25 | void always_true_3() | void always_true_3() | +| dostmt.c:36:11:36:16 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | dostmt.c:32:13:32:18 | void normal() | void normal() | +| duff2.c:13:14:13:20 | ConditionalBranch: ... > ... | Conditional branch instruction ConditionalBranch: ... > ... with non-Boolean condition, in function '$@'. | duff2.c:2:6:2:12 | void duff2_8(int) | void duff2_8(int) | +| duff2.c:21:14:21:20 | ConditionalBranch: ... > ... | Conditional branch instruction ConditionalBranch: ... > ... with non-Boolean condition, in function '$@'. | duff2.c:16:6:16:12 | void duff2_2(int) | void duff2_2(int) | +| duff.c:13:22:13:28 | ConditionalBranch: ... > ... | Conditional branch instruction ConditionalBranch: ... > ... with non-Boolean condition, in function '$@'. | duff.c:2:13:2:13 | void f(int) | void f(int) | +| dummyblock.c:2:9:2:9 | ConditionalBranch: 1 | Conditional branch instruction ConditionalBranch: 1 with non-Boolean condition, in function '$@'. | dummyblock.c:1:13:1:13 | void f() | void f() | +| ifelsestmt.c:2:6:2:6 | ConditionalBranch: 0 | Conditional branch instruction ConditionalBranch: 0 with non-Boolean condition, in function '$@'. | ifelsestmt.c:1:13:1:26 | void always_false_1() | void always_false_1() | +| ifelsestmt.c:12:6:12:6 | ConditionalBranch: 0 | Conditional branch instruction ConditionalBranch: 0 with non-Boolean condition, in function '$@'. | ifelsestmt.c:11:13:11:26 | void always_false_2() | void always_false_2() | +| ifelsestmt.c:20:6:20:6 | ConditionalBranch: 1 | Conditional branch instruction ConditionalBranch: 1 with non-Boolean condition, in function '$@'. | ifelsestmt.c:19:13:19:25 | void always_true_1() | void always_true_1() | +| ifelsestmt.c:30:6:30:6 | ConditionalBranch: 1 | Conditional branch instruction ConditionalBranch: 1 with non-Boolean condition, in function '$@'. | ifelsestmt.c:29:13:29:25 | void always_true_2() | void always_true_2() | +| ifelsestmt.c:38:6:38:11 | ConditionalBranch: ... == ... | Conditional branch instruction ConditionalBranch: ... == ... with non-Boolean condition, in function '$@'. | ifelsestmt.c:37:13:37:18 | void normal(int, int) | void normal(int, int) | +| ifstmt.c:2:6:2:6 | ConditionalBranch: 0 | Conditional branch instruction ConditionalBranch: 0 with non-Boolean condition, in function '$@'. | ifstmt.c:1:13:1:26 | void always_false_1() | void always_false_1() | +| ifstmt.c:9:6:9:6 | ConditionalBranch: 0 | Conditional branch instruction ConditionalBranch: 0 with non-Boolean condition, in function '$@'. | ifstmt.c:8:13:8:26 | void always_false_2() | void always_false_2() | +| ifstmt.c:15:6:15:6 | ConditionalBranch: 1 | Conditional branch instruction ConditionalBranch: 1 with non-Boolean condition, in function '$@'. | ifstmt.c:14:13:14:25 | void always_true_1() | void always_true_1() | +| ifstmt.c:22:6:22:6 | ConditionalBranch: 1 | Conditional branch instruction ConditionalBranch: 1 with non-Boolean condition, in function '$@'. | ifstmt.c:21:13:21:25 | void always_true_2() | void always_true_2() | +| ifstmt.c:28:6:28:11 | ConditionalBranch: ... == ... | Conditional branch instruction ConditionalBranch: ... == ... with non-Boolean condition, in function '$@'. | ifstmt.c:27:13:27:18 | void normal(int, int) | void normal(int, int) | +| landexpr.c:3:6:3:6 | ConditionalBranch: a | Conditional branch instruction ConditionalBranch: a with non-Boolean condition, in function '$@'. | landexpr.c:1:13:1:13 | void f() | void f() | +| landexpr.c:3:11:3:11 | ConditionalBranch: b | Conditional branch instruction ConditionalBranch: b with non-Boolean condition, in function '$@'. | landexpr.c:1:13:1:13 | void f() | void f() | +| lorexpr.c:3:6:3:6 | ConditionalBranch: a | Conditional branch instruction ConditionalBranch: a with non-Boolean condition, in function '$@'. | lorexpr.c:1:13:1:13 | void f() | void f() | +| lorexpr.c:3:11:3:11 | ConditionalBranch: b | Conditional branch instruction ConditionalBranch: b with non-Boolean condition, in function '$@'. | lorexpr.c:1:13:1:13 | void f() | void f() | +| misc.c:22:9:22:12 | ConditionalBranch: argi | Conditional branch instruction ConditionalBranch: argi with non-Boolean condition, in function '$@'. | misc.c:16:6:16:10 | void misc1(int, int) | void misc1(int, int) | +| misc.c:22:17:22:20 | ConditionalBranch: argj | Conditional branch instruction ConditionalBranch: argj with non-Boolean condition, in function '$@'. | misc.c:16:6:16:10 | void misc1(int, int) | void misc1(int, int) | +| misc.c:27:9:27:12 | ConditionalBranch: argi | Conditional branch instruction ConditionalBranch: argi with non-Boolean condition, in function '$@'. | misc.c:16:6:16:10 | void misc1(int, int) | void misc1(int, int) | +| misc.c:27:17:27:20 | ConditionalBranch: argj | Conditional branch instruction ConditionalBranch: argj with non-Boolean condition, in function '$@'. | misc.c:16:6:16:10 | void misc1(int, int) | void misc1(int, int) | +| misc.c:32:9:32:9 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | misc.c:16:6:16:10 | void misc1(int, int) | void misc1(int, int) | +| misc.c:32:14:32:14 | ConditionalBranch: j | Conditional branch instruction ConditionalBranch: j with non-Boolean condition, in function '$@'. | misc.c:16:6:16:10 | void misc1(int, int) | void misc1(int, int) | +| misc.c:37:9:37:9 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | misc.c:16:6:16:10 | void misc1(int, int) | void misc1(int, int) | +| misc.c:37:14:37:14 | ConditionalBranch: j | Conditional branch instruction ConditionalBranch: j with non-Boolean condition, in function '$@'. | misc.c:16:6:16:10 | void misc1(int, int) | void misc1(int, int) | +| misc.c:44:11:44:11 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | misc.c:16:6:16:10 | void misc1(int, int) | void misc1(int, int) | +| misc.c:47:11:47:11 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | misc.c:16:6:16:10 | void misc1(int, int) | void misc1(int, int) | +| misc.c:47:16:47:16 | ConditionalBranch: j | Conditional branch instruction ConditionalBranch: j with non-Boolean condition, in function '$@'. | misc.c:16:6:16:10 | void misc1(int, int) | void misc1(int, int) | +| misc.c:50:11:50:11 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | misc.c:16:6:16:10 | void misc1(int, int) | void misc1(int, int) | +| misc.c:50:16:50:16 | ConditionalBranch: j | Conditional branch instruction ConditionalBranch: j with non-Boolean condition, in function '$@'. | misc.c:16:6:16:10 | void misc1(int, int) | void misc1(int, int) | +| misc.c:53:11:53:14 | ConditionalBranch: argi | Conditional branch instruction ConditionalBranch: argi with non-Boolean condition, in function '$@'. | misc.c:16:6:16:10 | void misc1(int, int) | void misc1(int, int) | +| misc.c:58:13:58:13 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | misc.c:16:6:16:10 | void misc1(int, int) | void misc1(int, int) | +| misc.c:61:13:61:16 | ConditionalBranch: argi | Conditional branch instruction ConditionalBranch: argi with non-Boolean condition, in function '$@'. | misc.c:16:6:16:10 | void misc1(int, int) | void misc1(int, int) | +| misc.c:62:16:62:21 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | misc.c:16:6:16:10 | void misc1(int, int) | void misc1(int, int) | +| misc.c:64:11:64:16 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | misc.c:16:6:16:10 | void misc1(int, int) | void misc1(int, int) | +| misc.c:68:16:68:21 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | misc.c:16:6:16:10 | void misc1(int, int) | void misc1(int, int) | +| misc.c:72:11:72:16 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | misc.c:16:6:16:10 | void misc1(int, int) | void misc1(int, int) | +| misc.c:86:9:86:13 | ConditionalBranch: ... > ... | Conditional branch instruction ConditionalBranch: ... > ... with non-Boolean condition, in function '$@'. | misc.c:16:6:16:10 | void misc1(int, int) | void misc1(int, int) | +| misc.c:87:9:87:10 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | misc.c:16:6:16:10 | void misc1(int, int) | void misc1(int, int) | +| misc.c:87:9:87:10 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | misc.c:16:6:16:10 | void misc1(int, int) | void misc1(int, int) | +| misc.c:88:9:88:9 | ConditionalBranch: j | Conditional branch instruction ConditionalBranch: j with non-Boolean condition, in function '$@'. | misc.c:16:6:16:10 | void misc1(int, int) | void misc1(int, int) | +| misc.c:93:9:93:15 | ConditionalBranch: ... ? ... : ... | Conditional branch instruction ConditionalBranch: ... ? ... : ... with non-Boolean condition, in function '$@'. | misc.c:91:6:91:33 | void gnuConditionalOmittedOperand(someStruct*) | void gnuConditionalOmittedOperand(someStruct*) | +| misc.c:94:9:94:19 | ConditionalBranch: ... ? ... : ... | Conditional branch instruction ConditionalBranch: ... ? ... : ... with non-Boolean condition, in function '$@'. | misc.c:91:6:91:33 | void gnuConditionalOmittedOperand(someStruct*) | void gnuConditionalOmittedOperand(someStruct*) | +| misc.c:139:10:139:18 | ConditionalBranch: ... & ... | Conditional branch instruction ConditionalBranch: ... & ... with non-Boolean condition, in function '$@'. | misc.c:97:6:97:10 | void misc3() | void misc3() | +| misc.c:139:25:139:33 | ConditionalBranch: ... & ... | Conditional branch instruction ConditionalBranch: ... & ... with non-Boolean condition, in function '$@'. | misc.c:97:6:97:10 | void misc3() | void misc3() | +| misc.c:140:9:140:9 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | misc.c:97:6:97:10 | void misc3() | void misc3() | +| misc.c:140:14:140:14 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | misc.c:97:6:97:10 | void misc3() | void misc3() | +| misc.c:140:19:140:19 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | misc.c:97:6:97:10 | void misc3() | void misc3() | +| misc.c:141:9:141:9 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | misc.c:97:6:97:10 | void misc3() | void misc3() | +| misc.c:141:14:141:14 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | misc.c:97:6:97:10 | void misc3() | void misc3() | +| misc.c:141:19:141:19 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | misc.c:97:6:97:10 | void misc3() | void misc3() | +| misc.c:192:11:192:11 | ConditionalBranch: 1 | Conditional branch instruction ConditionalBranch: 1 with non-Boolean condition, in function '$@'. | misc.c:191:6:191:20 | void unreachable_end() | void unreachable_end() | +| pruning.c:5:9:5:9 | ConditionalBranch: 0 | Conditional branch instruction ConditionalBranch: 0 with non-Boolean condition, in function '$@'. | pruning.c:4:6:4:8 | void f_0() | void f_0() | +| pruning.c:13:9:13:9 | ConditionalBranch: 1 | Conditional branch instruction ConditionalBranch: 1 with non-Boolean condition, in function '$@'. | pruning.c:12:6:12:8 | void f_1() | void f_1() | +| pruning.c:21:9:21:11 | ConditionalBranch: 256 | Conditional branch instruction ConditionalBranch: 256 with non-Boolean condition, in function '$@'. | pruning.c:20:6:20:10 | void f_256() | void f_256() | +| pruning.c:29:9:29:18 | ConditionalBranch: (uint8_t)... | Conditional branch instruction ConditionalBranch: (uint8_t)... with non-Boolean condition, in function '$@'. | pruning.c:28:6:28:16 | void f_uint8_t_0() | void f_uint8_t_0() | +| pruning.c:37:9:37:18 | ConditionalBranch: (uint8_t)... | Conditional branch instruction ConditionalBranch: (uint8_t)... with non-Boolean condition, in function '$@'. | pruning.c:36:6:36:16 | void f_uint8_t_1() | void f_uint8_t_1() | +| pruning.c:45:9:45:20 | ConditionalBranch: (uint8_t)... | Conditional branch instruction ConditionalBranch: (uint8_t)... with non-Boolean condition, in function '$@'. | pruning.c:44:6:44:18 | void f_uint8_t_256() | void f_uint8_t_256() | +| pruning.c:53:9:53:20 | ConditionalBranch: (uint8_t)... | Conditional branch instruction ConditionalBranch: (uint8_t)... with non-Boolean condition, in function '$@'. | pruning.c:52:6:52:18 | void f_uint8_t_257() | void f_uint8_t_257() | +| pruning.c:61:9:61:26 | ConditionalBranch: ... == ... | Conditional branch instruction ConditionalBranch: ... == ... with non-Boolean condition, in function '$@'. | pruning.c:60:6:60:21 | void f_uint8_t_minus1() | void f_uint8_t_minus1() | +| pruning.c:70:9:70:9 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | pruning.c:68:6:68:14 | void f_v_int_0() | void f_v_int_0() | +| pruning.c:79:9:79:9 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | pruning.c:77:6:77:14 | void f_v_int_1() | void f_v_int_1() | +| pruning.c:88:9:88:9 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | pruning.c:86:6:86:16 | void f_v_int_256() | void f_v_int_256() | +| pruning.c:97:9:97:9 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | pruning.c:95:6:95:18 | void f_v_uint8_t_0() | void f_v_uint8_t_0() | +| pruning.c:106:9:106:9 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | pruning.c:104:6:104:18 | void f_v_uint8_t_1() | void f_v_uint8_t_1() | +| pruning.c:115:9:115:9 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | pruning.c:113:6:113:20 | void f_v_uint8_t_256() | void f_v_uint8_t_256() | +| pruning.c:124:9:124:9 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | pruning.c:122:6:122:20 | void f_v_uint8_t_257() | void f_v_uint8_t_257() | +| pruning.c:133:9:133:16 | ConditionalBranch: ... == ... | Conditional branch instruction ConditionalBranch: ... == ... with non-Boolean condition, in function '$@'. | pruning.c:131:6:131:23 | void f_v_uint8_t_minus1() | void f_v_uint8_t_minus1() | +| questionexpr.c:3:6:3:11 | ConditionalBranch: ... == ... | Conditional branch instruction ConditionalBranch: ... == ... with non-Boolean condition, in function '$@'. | questionexpr.c:1:13:1:13 | void f() | void f() | +| range_analysis.c:7:10:7:10 | ConditionalBranch: p | Conditional branch instruction ConditionalBranch: p with non-Boolean condition, in function '$@'. | range_analysis.c:5:5:5:9 | int test1(List*) | int test1(List*) | +| range_analysis.c:15:10:15:10 | ConditionalBranch: p | Conditional branch instruction ConditionalBranch: p with non-Boolean condition, in function '$@'. | range_analysis.c:13:5:13:9 | int test2(List*) | int test2(List*) | +| range_analysis.c:23:10:23:10 | ConditionalBranch: p | Conditional branch instruction ConditionalBranch: p with non-Boolean condition, in function '$@'. | range_analysis.c:21:5:21:9 | int test3(List*) | int test3(List*) | +| range_analysis.c:33:15:33:19 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | range_analysis.c:30:5:30:9 | int test4() | int test4() | +| range_analysis.c:42:15:42:19 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | range_analysis.c:39:5:39:9 | int test5() | int test5() | +| range_analysis.c:51:15:51:21 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | range_analysis.c:48:5:48:9 | int test6() | int test6() | +| range_analysis.c:58:7:58:11 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | range_analysis.c:57:5:57:9 | int test7(int) | int test7(int) | +| range_analysis.c:59:9:59:13 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | range_analysis.c:57:5:57:9 | int test7(int) | int test7(int) | +| range_analysis.c:67:7:67:15 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | range_analysis.c:66:5:66:9 | int test8(int, int) | int test8(int, int) | +| range_analysis.c:67:20:67:25 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | range_analysis.c:66:5:66:9 | int test8(int, int) | int test8(int, int) | +| range_analysis.c:68:9:68:15 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | range_analysis.c:66:5:66:9 | int test8(int, int) | int test8(int, int) | +| range_analysis.c:76:7:76:12 | ConditionalBranch: ... == ... | Conditional branch instruction ConditionalBranch: ... == ... with non-Boolean condition, in function '$@'. | range_analysis.c:75:5:75:9 | int test9(int, int) | int test9(int, int) | +| range_analysis.c:77:9:77:13 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | range_analysis.c:75:5:75:9 | int test9(int, int) | int test9(int, int) | +| range_analysis.c:81:9:81:13 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | range_analysis.c:75:5:75:9 | int test9(int, int) | int test9(int, int) | +| range_analysis.c:89:7:89:11 | ConditionalBranch: ... > ... | Conditional branch instruction ConditionalBranch: ... > ... with non-Boolean condition, in function '$@'. | range_analysis.c:88:5:88:10 | int test10(int, int) | int test10(int, int) | +| range_analysis.c:90:9:90:13 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | range_analysis.c:88:5:88:10 | int test10(int, int) | int test10(int, int) | +| range_analysis.c:101:7:101:15 | ConditionalBranch: ... != ... | Conditional branch instruction ConditionalBranch: ... != ... with non-Boolean condition, in function '$@'. | range_analysis.c:98:5:98:10 | int test11(char*) | int test11(char*) | +| range_analysis.c:104:7:104:14 | ConditionalBranch: ... == ... | Conditional branch instruction ConditionalBranch: ... == ... with non-Boolean condition, in function '$@'. | range_analysis.c:98:5:98:10 | int test11(char*) | int test11(char*) | +| range_analysis.c:106:9:106:17 | ConditionalBranch: ... != ... | Conditional branch instruction ConditionalBranch: ... != ... with non-Boolean condition, in function '$@'. | range_analysis.c:98:5:98:10 | int test11(char*) | int test11(char*) | +| range_analysis.c:109:9:109:16 | ConditionalBranch: ... != ... | Conditional branch instruction ConditionalBranch: ... != ... with non-Boolean condition, in function '$@'. | range_analysis.c:98:5:98:10 | int test11(char*) | int test11(char*) | +| range_analysis.c:124:11:124:36 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:122:5:122:10 | int test12() | int test12() | +| range_analysis.c:154:11:154:15 | ConditionalBranch: ... > ... | Conditional branch instruction ConditionalBranch: ... > ... with non-Boolean condition, in function '$@'. | range_analysis.c:153:11:153:16 | long long test15(long long) | long long test15(long long) | +| range_analysis.c:154:20:154:30 | ConditionalBranch: ... == ... | Conditional branch instruction ConditionalBranch: ... == ... with non-Boolean condition, in function '$@'. | range_analysis.c:153:11:153:16 | long long test15(long long) | long long test15(long long) | +| range_analysis.c:161:7:161:12 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:158:5:158:14 | int test_unary(int) | int test_unary(int) | +| range_analysis.c:161:17:161:23 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:158:5:158:14 | int test_unary(int) | int test_unary(int) | +| range_analysis.c:166:7:166:12 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:158:5:158:14 | int test_unary(int) | int test_unary(int) | +| range_analysis.c:166:17:166:23 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:158:5:158:14 | int test_unary(int) | int test_unary(int) | +| range_analysis.c:171:7:171:13 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:158:5:158:14 | int test_unary(int) | int test_unary(int) | +| range_analysis.c:171:18:171:24 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:158:5:158:14 | int test_unary(int) | int test_unary(int) | +| range_analysis.c:176:7:176:13 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:158:5:158:14 | int test_unary(int) | int test_unary(int) | +| range_analysis.c:176:18:176:23 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:158:5:158:14 | int test_unary(int) | int test_unary(int) | +| range_analysis.c:181:7:181:13 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:158:5:158:14 | int test_unary(int) | int test_unary(int) | +| range_analysis.c:181:18:181:23 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:158:5:158:14 | int test_unary(int) | int test_unary(int) | +| range_analysis.c:186:7:186:13 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:158:5:158:14 | int test_unary(int) | int test_unary(int) | +| range_analysis.c:186:18:186:24 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:158:5:158:14 | int test_unary(int) | int test_unary(int) | +| range_analysis.c:200:7:200:12 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:197:5:197:15 | int test_mult01(int, int) | int test_mult01(int, int) | +| range_analysis.c:200:17:200:23 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:197:5:197:15 | int test_mult01(int, int) | int test_mult01(int, int) | +| range_analysis.c:200:28:200:33 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:197:5:197:15 | int test_mult01(int, int) | int test_mult01(int, int) | +| range_analysis.c:200:38:200:44 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:197:5:197:15 | int test_mult01(int, int) | int test_mult01(int, int) | +| range_analysis.c:204:7:204:12 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:197:5:197:15 | int test_mult01(int, int) | int test_mult01(int, int) | +| range_analysis.c:204:17:204:23 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:197:5:197:15 | int test_mult01(int, int) | int test_mult01(int, int) | +| range_analysis.c:204:28:204:33 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:197:5:197:15 | int test_mult01(int, int) | int test_mult01(int, int) | +| range_analysis.c:204:38:204:44 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:197:5:197:15 | int test_mult01(int, int) | int test_mult01(int, int) | +| range_analysis.c:208:7:208:12 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:197:5:197:15 | int test_mult01(int, int) | int test_mult01(int, int) | +| range_analysis.c:208:17:208:23 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:197:5:197:15 | int test_mult01(int, int) | int test_mult01(int, int) | +| range_analysis.c:208:28:208:35 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:197:5:197:15 | int test_mult01(int, int) | int test_mult01(int, int) | +| range_analysis.c:208:40:208:46 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:197:5:197:15 | int test_mult01(int, int) | int test_mult01(int, int) | +| range_analysis.c:212:7:212:12 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:197:5:197:15 | int test_mult01(int, int) | int test_mult01(int, int) | +| range_analysis.c:212:17:212:23 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:197:5:197:15 | int test_mult01(int, int) | int test_mult01(int, int) | +| range_analysis.c:212:28:212:35 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:197:5:197:15 | int test_mult01(int, int) | int test_mult01(int, int) | +| range_analysis.c:212:40:212:45 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:197:5:197:15 | int test_mult01(int, int) | int test_mult01(int, int) | +| range_analysis.c:216:7:216:12 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:197:5:197:15 | int test_mult01(int, int) | int test_mult01(int, int) | +| range_analysis.c:216:17:216:23 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:197:5:197:15 | int test_mult01(int, int) | int test_mult01(int, int) | +| range_analysis.c:216:28:216:35 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:197:5:197:15 | int test_mult01(int, int) | int test_mult01(int, int) | +| range_analysis.c:216:40:216:46 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:197:5:197:15 | int test_mult01(int, int) | int test_mult01(int, int) | +| range_analysis.c:228:7:228:12 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:225:5:225:15 | int test_mult02(int, int) | int test_mult02(int, int) | +| range_analysis.c:228:17:228:23 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:225:5:225:15 | int test_mult02(int, int) | int test_mult02(int, int) | +| range_analysis.c:228:28:228:33 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:225:5:225:15 | int test_mult02(int, int) | int test_mult02(int, int) | +| range_analysis.c:228:38:228:44 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:225:5:225:15 | int test_mult02(int, int) | int test_mult02(int, int) | +| range_analysis.c:232:7:232:12 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:225:5:225:15 | int test_mult02(int, int) | int test_mult02(int, int) | +| range_analysis.c:232:17:232:23 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:225:5:225:15 | int test_mult02(int, int) | int test_mult02(int, int) | +| range_analysis.c:232:28:232:33 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:225:5:225:15 | int test_mult02(int, int) | int test_mult02(int, int) | +| range_analysis.c:232:38:232:44 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:225:5:225:15 | int test_mult02(int, int) | int test_mult02(int, int) | +| range_analysis.c:236:7:236:12 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:225:5:225:15 | int test_mult02(int, int) | int test_mult02(int, int) | +| range_analysis.c:236:17:236:23 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:225:5:225:15 | int test_mult02(int, int) | int test_mult02(int, int) | +| range_analysis.c:236:28:236:35 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:225:5:225:15 | int test_mult02(int, int) | int test_mult02(int, int) | +| range_analysis.c:236:40:236:46 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:225:5:225:15 | int test_mult02(int, int) | int test_mult02(int, int) | +| range_analysis.c:240:7:240:12 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:225:5:225:15 | int test_mult02(int, int) | int test_mult02(int, int) | +| range_analysis.c:240:17:240:23 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:225:5:225:15 | int test_mult02(int, int) | int test_mult02(int, int) | +| range_analysis.c:240:28:240:35 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:225:5:225:15 | int test_mult02(int, int) | int test_mult02(int, int) | +| range_analysis.c:240:40:240:45 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:225:5:225:15 | int test_mult02(int, int) | int test_mult02(int, int) | +| range_analysis.c:244:7:244:12 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:225:5:225:15 | int test_mult02(int, int) | int test_mult02(int, int) | +| range_analysis.c:244:17:244:23 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:225:5:225:15 | int test_mult02(int, int) | int test_mult02(int, int) | +| range_analysis.c:244:28:244:35 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:225:5:225:15 | int test_mult02(int, int) | int test_mult02(int, int) | +| range_analysis.c:244:40:244:46 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:225:5:225:15 | int test_mult02(int, int) | int test_mult02(int, int) | +| range_analysis.c:256:7:256:14 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:253:5:253:15 | int test_mult03(int, int) | int test_mult03(int, int) | +| range_analysis.c:256:19:256:25 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:253:5:253:15 | int test_mult03(int, int) | int test_mult03(int, int) | +| range_analysis.c:256:30:256:35 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:253:5:253:15 | int test_mult03(int, int) | int test_mult03(int, int) | +| range_analysis.c:256:40:256:46 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:253:5:253:15 | int test_mult03(int, int) | int test_mult03(int, int) | +| range_analysis.c:260:7:260:14 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:253:5:253:15 | int test_mult03(int, int) | int test_mult03(int, int) | +| range_analysis.c:260:19:260:25 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:253:5:253:15 | int test_mult03(int, int) | int test_mult03(int, int) | +| range_analysis.c:260:30:260:35 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:253:5:253:15 | int test_mult03(int, int) | int test_mult03(int, int) | +| range_analysis.c:260:40:260:46 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:253:5:253:15 | int test_mult03(int, int) | int test_mult03(int, int) | +| range_analysis.c:264:7:264:14 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:253:5:253:15 | int test_mult03(int, int) | int test_mult03(int, int) | +| range_analysis.c:264:19:264:25 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:253:5:253:15 | int test_mult03(int, int) | int test_mult03(int, int) | +| range_analysis.c:264:30:264:37 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:253:5:253:15 | int test_mult03(int, int) | int test_mult03(int, int) | +| range_analysis.c:264:42:264:48 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:253:5:253:15 | int test_mult03(int, int) | int test_mult03(int, int) | +| range_analysis.c:268:7:268:14 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:253:5:253:15 | int test_mult03(int, int) | int test_mult03(int, int) | +| range_analysis.c:268:19:268:25 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:253:5:253:15 | int test_mult03(int, int) | int test_mult03(int, int) | +| range_analysis.c:268:30:268:37 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:253:5:253:15 | int test_mult03(int, int) | int test_mult03(int, int) | +| range_analysis.c:268:42:268:47 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:253:5:253:15 | int test_mult03(int, int) | int test_mult03(int, int) | +| range_analysis.c:272:7:272:14 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:253:5:253:15 | int test_mult03(int, int) | int test_mult03(int, int) | +| range_analysis.c:272:19:272:25 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:253:5:253:15 | int test_mult03(int, int) | int test_mult03(int, int) | +| range_analysis.c:272:30:272:37 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:253:5:253:15 | int test_mult03(int, int) | int test_mult03(int, int) | +| range_analysis.c:272:42:272:48 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:253:5:253:15 | int test_mult03(int, int) | int test_mult03(int, int) | +| range_analysis.c:284:7:284:14 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:281:5:281:15 | int test_mult04(int, int) | int test_mult04(int, int) | +| range_analysis.c:284:19:284:24 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:281:5:281:15 | int test_mult04(int, int) | int test_mult04(int, int) | +| range_analysis.c:284:29:284:34 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:281:5:281:15 | int test_mult04(int, int) | int test_mult04(int, int) | +| range_analysis.c:284:39:284:45 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:281:5:281:15 | int test_mult04(int, int) | int test_mult04(int, int) | +| range_analysis.c:288:7:288:14 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:281:5:281:15 | int test_mult04(int, int) | int test_mult04(int, int) | +| range_analysis.c:288:19:288:24 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:281:5:281:15 | int test_mult04(int, int) | int test_mult04(int, int) | +| range_analysis.c:288:29:288:34 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:281:5:281:15 | int test_mult04(int, int) | int test_mult04(int, int) | +| range_analysis.c:288:39:288:45 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:281:5:281:15 | int test_mult04(int, int) | int test_mult04(int, int) | +| range_analysis.c:292:7:292:14 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:281:5:281:15 | int test_mult04(int, int) | int test_mult04(int, int) | +| range_analysis.c:292:19:292:24 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:281:5:281:15 | int test_mult04(int, int) | int test_mult04(int, int) | +| range_analysis.c:292:29:292:36 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:281:5:281:15 | int test_mult04(int, int) | int test_mult04(int, int) | +| range_analysis.c:292:41:292:47 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:281:5:281:15 | int test_mult04(int, int) | int test_mult04(int, int) | +| range_analysis.c:296:7:296:14 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:281:5:281:15 | int test_mult04(int, int) | int test_mult04(int, int) | +| range_analysis.c:296:19:296:24 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:281:5:281:15 | int test_mult04(int, int) | int test_mult04(int, int) | +| range_analysis.c:296:29:296:36 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:281:5:281:15 | int test_mult04(int, int) | int test_mult04(int, int) | +| range_analysis.c:296:41:296:46 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:281:5:281:15 | int test_mult04(int, int) | int test_mult04(int, int) | +| range_analysis.c:300:7:300:14 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:281:5:281:15 | int test_mult04(int, int) | int test_mult04(int, int) | +| range_analysis.c:300:19:300:24 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:281:5:281:15 | int test_mult04(int, int) | int test_mult04(int, int) | +| range_analysis.c:300:29:300:36 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:281:5:281:15 | int test_mult04(int, int) | int test_mult04(int, int) | +| range_analysis.c:300:41:300:47 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:281:5:281:15 | int test_mult04(int, int) | int test_mult04(int, int) | +| range_analysis.c:312:7:312:14 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:309:5:309:15 | int test_mult05(int, int) | int test_mult05(int, int) | +| range_analysis.c:312:19:312:25 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:309:5:309:15 | int test_mult05(int, int) | int test_mult05(int, int) | +| range_analysis.c:312:30:312:35 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:309:5:309:15 | int test_mult05(int, int) | int test_mult05(int, int) | +| range_analysis.c:312:40:312:46 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:309:5:309:15 | int test_mult05(int, int) | int test_mult05(int, int) | +| range_analysis.c:316:7:316:14 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:309:5:309:15 | int test_mult05(int, int) | int test_mult05(int, int) | +| range_analysis.c:316:19:316:25 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:309:5:309:15 | int test_mult05(int, int) | int test_mult05(int, int) | +| range_analysis.c:316:30:316:35 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:309:5:309:15 | int test_mult05(int, int) | int test_mult05(int, int) | +| range_analysis.c:316:40:316:46 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:309:5:309:15 | int test_mult05(int, int) | int test_mult05(int, int) | +| range_analysis.c:320:7:320:14 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:309:5:309:15 | int test_mult05(int, int) | int test_mult05(int, int) | +| range_analysis.c:320:19:320:25 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:309:5:309:15 | int test_mult05(int, int) | int test_mult05(int, int) | +| range_analysis.c:320:30:320:37 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:309:5:309:15 | int test_mult05(int, int) | int test_mult05(int, int) | +| range_analysis.c:320:42:320:48 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:309:5:309:15 | int test_mult05(int, int) | int test_mult05(int, int) | +| range_analysis.c:324:7:324:14 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:309:5:309:15 | int test_mult05(int, int) | int test_mult05(int, int) | +| range_analysis.c:324:19:324:25 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:309:5:309:15 | int test_mult05(int, int) | int test_mult05(int, int) | +| range_analysis.c:324:30:324:37 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:309:5:309:15 | int test_mult05(int, int) | int test_mult05(int, int) | +| range_analysis.c:324:42:324:47 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:309:5:309:15 | int test_mult05(int, int) | int test_mult05(int, int) | +| range_analysis.c:328:7:328:14 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:309:5:309:15 | int test_mult05(int, int) | int test_mult05(int, int) | +| range_analysis.c:328:19:328:25 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:309:5:309:15 | int test_mult05(int, int) | int test_mult05(int, int) | +| range_analysis.c:328:30:328:37 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:309:5:309:15 | int test_mult05(int, int) | int test_mult05(int, int) | +| range_analysis.c:328:42:328:48 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:309:5:309:15 | int test_mult05(int, int) | int test_mult05(int, int) | +| range_analysis.c:338:7:338:11 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | range_analysis.c:336:5:336:10 | int test16(int) | int test16(int) | +| range_analysis.c:342:10:342:14 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | range_analysis.c:336:5:336:10 | int test16(int) | int test16(int) | +| range_analysis.c:346:7:346:11 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | range_analysis.c:336:5:336:10 | int test16(int) | int test16(int) | +| range_analysis.c:347:9:347:14 | ConditionalBranch: ... > ... | Conditional branch instruction ConditionalBranch: ... > ... with non-Boolean condition, in function '$@'. | range_analysis.c:336:5:336:10 | int test16(int) | int test16(int) | +| range_analysis.c:357:8:357:14 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | range_analysis.c:355:14:355:27 | unsigned int test_ternary01(unsigned int) | unsigned int test_ternary01(unsigned int) | +| range_analysis.c:358:8:358:15 | ConditionalBranch: ... >= ... | Conditional branch instruction ConditionalBranch: ... >= ... with non-Boolean condition, in function '$@'. | range_analysis.c:355:14:355:27 | unsigned int test_ternary01(unsigned int) | unsigned int test_ternary01(unsigned int) | +| range_analysis.c:365:7:365:13 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | range_analysis.c:355:14:355:27 | unsigned int test_ternary01(unsigned int) | unsigned int test_ternary01(unsigned int) | +| range_analysis.c:366:10:366:15 | ConditionalBranch: ... ? ... : ... | Conditional branch instruction ConditionalBranch: ... ? ... : ... with non-Boolean condition, in function '$@'. | range_analysis.c:355:14:355:27 | unsigned int test_ternary01(unsigned int) | unsigned int test_ternary01(unsigned int) | +| range_analysis.c:367:10:367:17 | ConditionalBranch: ... ? ... : ... | Conditional branch instruction ConditionalBranch: ... ? ... : ... with non-Boolean condition, in function '$@'. | range_analysis.c:355:14:355:27 | unsigned int test_ternary01(unsigned int) | unsigned int test_ternary01(unsigned int) | +| range_analysis.c:368:10:368:21 | ConditionalBranch: ... ? ... : ... | Conditional branch instruction ConditionalBranch: ... ? ... : ... with non-Boolean condition, in function '$@'. | range_analysis.c:355:14:355:27 | unsigned int test_ternary01(unsigned int) | unsigned int test_ternary01(unsigned int) | +| range_analysis.c:369:10:369:36 | ConditionalBranch: ... ? ... : ... | Conditional branch instruction ConditionalBranch: ... ? ... : ... with non-Boolean condition, in function '$@'. | range_analysis.c:355:14:355:27 | unsigned int test_ternary01(unsigned int) | unsigned int test_ternary01(unsigned int) | +| range_analysis.c:370:10:370:38 | ConditionalBranch: ... ? ... : ... | Conditional branch instruction ConditionalBranch: ... ? ... : ... with non-Boolean condition, in function '$@'. | range_analysis.c:355:14:355:27 | unsigned int test_ternary01(unsigned int) | unsigned int test_ternary01(unsigned int) | +| range_analysis.c:371:10:371:39 | ConditionalBranch: ... ? ... : ... | Conditional branch instruction ConditionalBranch: ... ? ... : ... with non-Boolean condition, in function '$@'. | range_analysis.c:355:14:355:27 | unsigned int test_ternary01(unsigned int) | unsigned int test_ternary01(unsigned int) | +| range_analysis.c:379:8:379:14 | ConditionalBranch: ... > ... | Conditional branch instruction ConditionalBranch: ... > ... with non-Boolean condition, in function '$@'. | range_analysis.c:377:14:377:27 | unsigned int test_ternary02(unsigned int) | unsigned int test_ternary02(unsigned int) | +| range_analysis.c:380:8:380:15 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:377:14:377:27 | unsigned int test_ternary02(unsigned int) | unsigned int test_ternary02(unsigned int) | +| range_analysis.c:384:7:384:14 | ConditionalBranch: ... >= ... | Conditional branch instruction ConditionalBranch: ... >= ... with non-Boolean condition, in function '$@'. | range_analysis.c:377:14:377:27 | unsigned int test_ternary02(unsigned int) | unsigned int test_ternary02(unsigned int) | +| range_analysis.c:385:10:385:21 | ConditionalBranch: ... ? ... : ... | Conditional branch instruction ConditionalBranch: ... ? ... : ... with non-Boolean condition, in function '$@'. | range_analysis.c:377:14:377:27 | unsigned int test_ternary02(unsigned int) | unsigned int test_ternary02(unsigned int) | +| range_analysis.c:386:10:386:21 | ConditionalBranch: ... ? ... : ... | Conditional branch instruction ConditionalBranch: ... ? ... : ... with non-Boolean condition, in function '$@'. | range_analysis.c:377:14:377:27 | unsigned int test_ternary02(unsigned int) | unsigned int test_ternary02(unsigned int) | +| range_analysis.c:387:10:387:38 | ConditionalBranch: ... ? ... : ... | Conditional branch instruction ConditionalBranch: ... ? ... : ... with non-Boolean condition, in function '$@'. | range_analysis.c:377:14:377:27 | unsigned int test_ternary02(unsigned int) | unsigned int test_ternary02(unsigned int) | +| range_analysis.c:394:20:394:26 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | range_analysis.c:393:14:393:25 | unsigned int test_comma01(unsigned int) | unsigned int test_comma01(unsigned int) | +| switchbody.c:5:11:5:15 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | switchbody.c:4:5:4:16 | int switch_block(int) | int switch_block(int) | +| switchbody.c:16:11:16:15 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | switchbody.c:15:5:15:17 | int switch_single(int) | int switch_single(int) | +| switchbody.c:28:11:28:15 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | switchbody.c:27:5:27:19 | int switch_notblock(int) | int switch_notblock(int) | +| switchbody.c:29:9:29:9 | ConditionalBranch: 1 | Conditional branch instruction ConditionalBranch: 1 with non-Boolean condition, in function '$@'. | switchbody.c:27:5:27:19 | int switch_notblock(int) | int switch_notblock(int) | +| test.c:3:9:3:9 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | test.c:2:6:2:11 | void f_if_1(int) | void f_if_1(int) | +| test.c:11:9:11:9 | ConditionalBranch: 1 | Conditional branch instruction ConditionalBranch: 1 with non-Boolean condition, in function '$@'. | test.c:10:6:10:11 | void f_if_2() | void f_if_2() | +| test.c:19:9:19:9 | ConditionalBranch: 0 | Conditional branch instruction ConditionalBranch: 0 with non-Boolean condition, in function '$@'. | test.c:18:6:18:11 | void f_if_3() | void f_if_3() | +| test.c:28:16:28:21 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | test.c:26:6:26:12 | void f_for_1() | void f_for_1() | +| test.c:36:16:36:16 | ConditionalBranch: 1 | Conditional branch instruction ConditionalBranch: 1 with non-Boolean condition, in function '$@'. | test.c:34:6:34:12 | void f_for_2() | void f_for_2() | +| test.c:44:16:44:16 | ConditionalBranch: 0 | Conditional branch instruction ConditionalBranch: 0 with non-Boolean condition, in function '$@'. | test.c:42:6:42:12 | void f_for_3() | void f_for_3() | +| test.c:51:11:51:11 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | test.c:50:6:50:14 | void f_while_1(int) | void f_while_1(int) | +| test.c:58:11:58:11 | ConditionalBranch: 1 | Conditional branch instruction ConditionalBranch: 1 with non-Boolean condition, in function '$@'. | test.c:57:6:57:14 | void f_while_2() | void f_while_2() | +| test.c:65:11:65:11 | ConditionalBranch: 0 | Conditional branch instruction ConditionalBranch: 0 with non-Boolean condition, in function '$@'. | test.c:64:6:64:14 | void f_while_3() | void f_while_3() | +| test.c:74:14:74:14 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | test.c:71:6:71:11 | void f_do_1(int) | void f_do_1(int) | +| test.c:81:14:81:14 | ConditionalBranch: 1 | Conditional branch instruction ConditionalBranch: 1 with non-Boolean condition, in function '$@'. | test.c:78:6:78:11 | void f_do_2() | void f_do_2() | +| test.c:88:14:88:14 | ConditionalBranch: 0 | Conditional branch instruction ConditionalBranch: 0 with non-Boolean condition, in function '$@'. | test.c:85:6:85:11 | void f_do_3() | void f_do_3() | +| test.c:93:13:93:13 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | test.c:92:6:92:13 | void f_cond_1(int) | void f_cond_1(int) | +| test.c:204:12:204:12 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | test.c:203:6:203:15 | void f_switch_7(int) | void f_switch_7(int) | +| test.c:219:7:219:7 | ConditionalBranch: x | Conditional branch instruction ConditionalBranch: x with non-Boolean condition, in function '$@'. | test.c:218:5:218:11 | int f_and_1(int, int) | int f_and_1(int, int) | +| test.c:219:12:219:13 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | test.c:218:5:218:11 | int f_and_1(int, int) | int f_and_1(int, int) | +| test.c:219:12:219:13 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | test.c:218:5:218:11 | int f_and_1(int, int) | int f_and_1(int, int) | +| test.c:226:7:226:15 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | test.c:225:5:225:11 | int f_and_2(int, int) | int f_and_2(int, int) | +| test.c:226:7:226:15 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | test.c:225:5:225:11 | int f_and_2(int, int) | int f_and_2(int, int) | +| test.c:226:9:226:9 | ConditionalBranch: x | Conditional branch instruction ConditionalBranch: x with non-Boolean condition, in function '$@'. | test.c:225:5:225:11 | int f_and_2(int, int) | int f_and_2(int, int) | +| test.c:226:14:226:14 | ConditionalBranch: y | Conditional branch instruction ConditionalBranch: y with non-Boolean condition, in function '$@'. | test.c:225:5:225:11 | int f_and_2(int, int) | int f_and_2(int, int) | +| test.c:233:7:233:7 | ConditionalBranch: b | Conditional branch instruction ConditionalBranch: b with non-Boolean condition, in function '$@'. | test.c:232:6:232:19 | void f_if_ternary_1(int, int, int) | void f_if_ternary_1(int, int, int) | +| test.c:233:7:233:15 | ConditionalBranch: ... ? ... : ... | Conditional branch instruction ConditionalBranch: ... ? ... : ... with non-Boolean condition, in function '$@'. | test.c:232:6:232:19 | void f_if_ternary_1(int, int, int) | void f_if_ternary_1(int, int, int) | +| test.c:245:31:245:31 | ConditionalBranch: 0 | Conditional branch instruction ConditionalBranch: 0 with non-Boolean condition, in function '$@'. | test.c:245:24:245:24 | const void *[] a | const void *[] a | +| unaryopexpr.c:8:5:8:6 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | unaryopexpr.c:1:13:1:13 | void f() | void f() | +| whilestmt.c:2:9:2:9 | ConditionalBranch: 0 | Conditional branch instruction ConditionalBranch: 0 with non-Boolean condition, in function '$@'. | whilestmt.c:1:13:1:26 | void always_false_1() | void always_false_1() | +| whilestmt.c:10:9:10:13 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | whilestmt.c:8:13:8:26 | void always_false_2() | void always_false_2() | +| whilestmt.c:10:9:10:13 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | whilestmt.c:8:13:8:26 | void always_false_2() | void always_false_2() | +| whilestmt.c:16:9:16:9 | ConditionalBranch: 1 | Conditional branch instruction ConditionalBranch: 1 with non-Boolean condition, in function '$@'. | whilestmt.c:15:13:15:25 | void always_true_1() | void always_true_1() | +| whilestmt.c:24:9:24:9 | ConditionalBranch: 1 | Conditional branch instruction ConditionalBranch: 1 with non-Boolean condition, in function '$@'. | whilestmt.c:23:13:23:25 | void always_true_2() | void always_true_2() | +| whilestmt.c:33:9:33:9 | ConditionalBranch: 1 | Conditional branch instruction ConditionalBranch: 1 with non-Boolean condition, in function '$@'. | whilestmt.c:32:13:32:25 | void always_true_3() | void always_true_3() | +| whilestmt.c:41:9:41:14 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | whilestmt.c:39:13:39:18 | void normal() | void normal() | missingCppType diff --git a/cpp/ql/test/library-tests/syntax-zoo/unaliased_ssa_consistency.expected b/cpp/ql/test/library-tests/syntax-zoo/unaliased_ssa_consistency.expected index 3e1b675f84e7..66f9c9c375f5 100644 --- a/cpp/ql/test/library-tests/syntax-zoo/unaliased_ssa_consistency.expected +++ b/cpp/ql/test/library-tests/syntax-zoo/unaliased_ssa_consistency.expected @@ -33,4 +33,271 @@ thisArgumentIsNonPointer | pointer_to_member.cpp:23:5:23:54 | Call: call to expression | Call instruction 'Call: call to expression' has a `this` argument operand that is not an address, in function '$@'. | pointer_to_member.cpp:14:5:14:9 | int usePM(int PM::*) | int usePM(int PM::*) | | pointer_to_member.cpp:24:5:24:49 | Call: call to expression | Call instruction 'Call: call to expression' has a `this` argument operand that is not an address, in function '$@'. | pointer_to_member.cpp:14:5:14:9 | int usePM(int PM::*) | int usePM(int PM::*) | nonUniqueIRVariable +nonBooleanOperand +| break_labels.c:4:9:4:14 | ConditionalBranch: ... != ... | Conditional branch instruction ConditionalBranch: ... != ... with non-Boolean condition, in function '$@'. | break_labels.c:2:12:2:12 | int f(int) | int f(int) | +| break_labels.c:6:16:6:21 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | break_labels.c:2:12:2:12 | int f(int) | int f(int) | +| break_labels.c:7:17:7:24 | ConditionalBranch: ... == ... | Conditional branch instruction ConditionalBranch: ... == ... with non-Boolean condition, in function '$@'. | break_labels.c:2:12:2:12 | int f(int) | int f(int) | +| break_labels.c:20:16:20:21 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | break_labels.c:16:6:16:10 | void f_for() | void f_for() | +| break_labels.c:21:13:21:18 | ConditionalBranch: ... == ... | Conditional branch instruction ConditionalBranch: ... == ... with non-Boolean condition, in function '$@'. | break_labels.c:16:6:16:10 | void f_for() | void f_for() | +| break_labels.c:24:13:24:18 | ConditionalBranch: ... == ... | Conditional branch instruction ConditionalBranch: ... == ... with non-Boolean condition, in function '$@'. | break_labels.c:16:6:16:10 | void f_for() | void f_for() | +| builtin.c:24:7:24:13 | ConditionalBranch: ... == ... | Conditional branch instruction ConditionalBranch: ... == ... with non-Boolean condition, in function '$@'. | builtin.c:5:5:5:11 | int builtin(int, int) | int builtin(int, int) | +| builtin.c:28:7:28:29 | ConditionalBranch: call to __builtin_unpredictable | Conditional branch instruction ConditionalBranch: call to __builtin_unpredictable with non-Boolean condition, in function '$@'. | builtin.c:5:5:5:11 | int builtin(int, int) | int builtin(int, int) | +| builtin.c:47:7:47:22 | ConditionalBranch: call to __builtin_memchr | Conditional branch instruction ConditionalBranch: call to __builtin_memchr with non-Boolean condition, in function '$@'. | builtin.c:5:5:5:11 | int builtin(int, int) | int builtin(int, int) | +| dostmt.c:4:11:4:11 | ConditionalBranch: 0 | Conditional branch instruction ConditionalBranch: 0 with non-Boolean condition, in function '$@'. | dostmt.c:1:6:1:17 | void always_false() | void always_false() | +| dostmt.c:28:11:28:11 | ConditionalBranch: 1 | Conditional branch instruction ConditionalBranch: 1 with non-Boolean condition, in function '$@'. | dostmt.c:25:13:25:25 | void always_true_3() | void always_true_3() | +| dostmt.c:36:11:36:16 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | dostmt.c:32:13:32:18 | void normal() | void normal() | +| duff2.c:13:14:13:20 | ConditionalBranch: ... > ... | Conditional branch instruction ConditionalBranch: ... > ... with non-Boolean condition, in function '$@'. | duff2.c:2:6:2:12 | void duff2_8(int) | void duff2_8(int) | +| duff2.c:21:14:21:20 | ConditionalBranch: ... > ... | Conditional branch instruction ConditionalBranch: ... > ... with non-Boolean condition, in function '$@'. | duff2.c:16:6:16:12 | void duff2_2(int) | void duff2_2(int) | +| duff.c:13:22:13:28 | ConditionalBranch: ... > ... | Conditional branch instruction ConditionalBranch: ... > ... with non-Boolean condition, in function '$@'. | duff.c:2:13:2:13 | void f(int) | void f(int) | +| dummyblock.c:2:9:2:9 | ConditionalBranch: 1 | Conditional branch instruction ConditionalBranch: 1 with non-Boolean condition, in function '$@'. | dummyblock.c:1:13:1:13 | void f() | void f() | +| ifelsestmt.c:2:6:2:6 | ConditionalBranch: 0 | Conditional branch instruction ConditionalBranch: 0 with non-Boolean condition, in function '$@'. | ifelsestmt.c:1:13:1:26 | void always_false_1() | void always_false_1() | +| ifelsestmt.c:12:6:12:6 | ConditionalBranch: 0 | Conditional branch instruction ConditionalBranch: 0 with non-Boolean condition, in function '$@'. | ifelsestmt.c:11:13:11:26 | void always_false_2() | void always_false_2() | +| ifelsestmt.c:20:6:20:6 | ConditionalBranch: 1 | Conditional branch instruction ConditionalBranch: 1 with non-Boolean condition, in function '$@'. | ifelsestmt.c:19:13:19:25 | void always_true_1() | void always_true_1() | +| ifelsestmt.c:30:6:30:6 | ConditionalBranch: 1 | Conditional branch instruction ConditionalBranch: 1 with non-Boolean condition, in function '$@'. | ifelsestmt.c:29:13:29:25 | void always_true_2() | void always_true_2() | +| ifelsestmt.c:38:6:38:11 | ConditionalBranch: ... == ... | Conditional branch instruction ConditionalBranch: ... == ... with non-Boolean condition, in function '$@'. | ifelsestmt.c:37:13:37:18 | void normal(int, int) | void normal(int, int) | +| ifstmt.c:2:6:2:6 | ConditionalBranch: 0 | Conditional branch instruction ConditionalBranch: 0 with non-Boolean condition, in function '$@'. | ifstmt.c:1:13:1:26 | void always_false_1() | void always_false_1() | +| ifstmt.c:9:6:9:6 | ConditionalBranch: 0 | Conditional branch instruction ConditionalBranch: 0 with non-Boolean condition, in function '$@'. | ifstmt.c:8:13:8:26 | void always_false_2() | void always_false_2() | +| ifstmt.c:15:6:15:6 | ConditionalBranch: 1 | Conditional branch instruction ConditionalBranch: 1 with non-Boolean condition, in function '$@'. | ifstmt.c:14:13:14:25 | void always_true_1() | void always_true_1() | +| ifstmt.c:22:6:22:6 | ConditionalBranch: 1 | Conditional branch instruction ConditionalBranch: 1 with non-Boolean condition, in function '$@'. | ifstmt.c:21:13:21:25 | void always_true_2() | void always_true_2() | +| ifstmt.c:28:6:28:11 | ConditionalBranch: ... == ... | Conditional branch instruction ConditionalBranch: ... == ... with non-Boolean condition, in function '$@'. | ifstmt.c:27:13:27:18 | void normal(int, int) | void normal(int, int) | +| landexpr.c:3:6:3:6 | ConditionalBranch: a | Conditional branch instruction ConditionalBranch: a with non-Boolean condition, in function '$@'. | landexpr.c:1:13:1:13 | void f() | void f() | +| landexpr.c:3:11:3:11 | ConditionalBranch: b | Conditional branch instruction ConditionalBranch: b with non-Boolean condition, in function '$@'. | landexpr.c:1:13:1:13 | void f() | void f() | +| lorexpr.c:3:6:3:6 | ConditionalBranch: a | Conditional branch instruction ConditionalBranch: a with non-Boolean condition, in function '$@'. | lorexpr.c:1:13:1:13 | void f() | void f() | +| lorexpr.c:3:11:3:11 | ConditionalBranch: b | Conditional branch instruction ConditionalBranch: b with non-Boolean condition, in function '$@'. | lorexpr.c:1:13:1:13 | void f() | void f() | +| misc.c:22:9:22:12 | ConditionalBranch: argi | Conditional branch instruction ConditionalBranch: argi with non-Boolean condition, in function '$@'. | misc.c:16:6:16:10 | void misc1(int, int) | void misc1(int, int) | +| misc.c:22:17:22:20 | ConditionalBranch: argj | Conditional branch instruction ConditionalBranch: argj with non-Boolean condition, in function '$@'. | misc.c:16:6:16:10 | void misc1(int, int) | void misc1(int, int) | +| misc.c:27:9:27:12 | ConditionalBranch: argi | Conditional branch instruction ConditionalBranch: argi with non-Boolean condition, in function '$@'. | misc.c:16:6:16:10 | void misc1(int, int) | void misc1(int, int) | +| misc.c:27:17:27:20 | ConditionalBranch: argj | Conditional branch instruction ConditionalBranch: argj with non-Boolean condition, in function '$@'. | misc.c:16:6:16:10 | void misc1(int, int) | void misc1(int, int) | +| misc.c:32:9:32:9 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | misc.c:16:6:16:10 | void misc1(int, int) | void misc1(int, int) | +| misc.c:32:14:32:14 | ConditionalBranch: j | Conditional branch instruction ConditionalBranch: j with non-Boolean condition, in function '$@'. | misc.c:16:6:16:10 | void misc1(int, int) | void misc1(int, int) | +| misc.c:37:9:37:9 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | misc.c:16:6:16:10 | void misc1(int, int) | void misc1(int, int) | +| misc.c:37:14:37:14 | ConditionalBranch: j | Conditional branch instruction ConditionalBranch: j with non-Boolean condition, in function '$@'. | misc.c:16:6:16:10 | void misc1(int, int) | void misc1(int, int) | +| misc.c:44:11:44:11 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | misc.c:16:6:16:10 | void misc1(int, int) | void misc1(int, int) | +| misc.c:47:11:47:11 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | misc.c:16:6:16:10 | void misc1(int, int) | void misc1(int, int) | +| misc.c:47:16:47:16 | ConditionalBranch: j | Conditional branch instruction ConditionalBranch: j with non-Boolean condition, in function '$@'. | misc.c:16:6:16:10 | void misc1(int, int) | void misc1(int, int) | +| misc.c:50:11:50:11 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | misc.c:16:6:16:10 | void misc1(int, int) | void misc1(int, int) | +| misc.c:50:16:50:16 | ConditionalBranch: j | Conditional branch instruction ConditionalBranch: j with non-Boolean condition, in function '$@'. | misc.c:16:6:16:10 | void misc1(int, int) | void misc1(int, int) | +| misc.c:53:11:53:14 | ConditionalBranch: argi | Conditional branch instruction ConditionalBranch: argi with non-Boolean condition, in function '$@'. | misc.c:16:6:16:10 | void misc1(int, int) | void misc1(int, int) | +| misc.c:58:13:58:13 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | misc.c:16:6:16:10 | void misc1(int, int) | void misc1(int, int) | +| misc.c:61:13:61:16 | ConditionalBranch: argi | Conditional branch instruction ConditionalBranch: argi with non-Boolean condition, in function '$@'. | misc.c:16:6:16:10 | void misc1(int, int) | void misc1(int, int) | +| misc.c:62:16:62:21 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | misc.c:16:6:16:10 | void misc1(int, int) | void misc1(int, int) | +| misc.c:64:11:64:16 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | misc.c:16:6:16:10 | void misc1(int, int) | void misc1(int, int) | +| misc.c:93:9:93:15 | ConditionalBranch: ... ? ... : ... | Conditional branch instruction ConditionalBranch: ... ? ... : ... with non-Boolean condition, in function '$@'. | misc.c:91:6:91:33 | void gnuConditionalOmittedOperand(someStruct*) | void gnuConditionalOmittedOperand(someStruct*) | +| misc.c:94:9:94:19 | ConditionalBranch: ... ? ... : ... | Conditional branch instruction ConditionalBranch: ... ? ... : ... with non-Boolean condition, in function '$@'. | misc.c:91:6:91:33 | void gnuConditionalOmittedOperand(someStruct*) | void gnuConditionalOmittedOperand(someStruct*) | +| misc.c:139:10:139:18 | ConditionalBranch: ... & ... | Conditional branch instruction ConditionalBranch: ... & ... with non-Boolean condition, in function '$@'. | misc.c:97:6:97:10 | void misc3() | void misc3() | +| misc.c:139:25:139:33 | ConditionalBranch: ... & ... | Conditional branch instruction ConditionalBranch: ... & ... with non-Boolean condition, in function '$@'. | misc.c:97:6:97:10 | void misc3() | void misc3() | +| misc.c:140:9:140:9 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | misc.c:97:6:97:10 | void misc3() | void misc3() | +| misc.c:140:14:140:14 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | misc.c:97:6:97:10 | void misc3() | void misc3() | +| misc.c:140:19:140:19 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | misc.c:97:6:97:10 | void misc3() | void misc3() | +| misc.c:141:9:141:9 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | misc.c:97:6:97:10 | void misc3() | void misc3() | +| misc.c:141:14:141:14 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | misc.c:97:6:97:10 | void misc3() | void misc3() | +| misc.c:141:19:141:19 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | misc.c:97:6:97:10 | void misc3() | void misc3() | +| misc.c:192:11:192:11 | ConditionalBranch: 1 | Conditional branch instruction ConditionalBranch: 1 with non-Boolean condition, in function '$@'. | misc.c:191:6:191:20 | void unreachable_end() | void unreachable_end() | +| pruning.c:5:9:5:9 | ConditionalBranch: 0 | Conditional branch instruction ConditionalBranch: 0 with non-Boolean condition, in function '$@'. | pruning.c:4:6:4:8 | void f_0() | void f_0() | +| pruning.c:13:9:13:9 | ConditionalBranch: 1 | Conditional branch instruction ConditionalBranch: 1 with non-Boolean condition, in function '$@'. | pruning.c:12:6:12:8 | void f_1() | void f_1() | +| pruning.c:21:9:21:11 | ConditionalBranch: 256 | Conditional branch instruction ConditionalBranch: 256 with non-Boolean condition, in function '$@'. | pruning.c:20:6:20:10 | void f_256() | void f_256() | +| pruning.c:29:9:29:18 | ConditionalBranch: (uint8_t)... | Conditional branch instruction ConditionalBranch: (uint8_t)... with non-Boolean condition, in function '$@'. | pruning.c:28:6:28:16 | void f_uint8_t_0() | void f_uint8_t_0() | +| pruning.c:37:9:37:18 | ConditionalBranch: (uint8_t)... | Conditional branch instruction ConditionalBranch: (uint8_t)... with non-Boolean condition, in function '$@'. | pruning.c:36:6:36:16 | void f_uint8_t_1() | void f_uint8_t_1() | +| pruning.c:45:9:45:20 | ConditionalBranch: (uint8_t)... | Conditional branch instruction ConditionalBranch: (uint8_t)... with non-Boolean condition, in function '$@'. | pruning.c:44:6:44:18 | void f_uint8_t_256() | void f_uint8_t_256() | +| pruning.c:53:9:53:20 | ConditionalBranch: (uint8_t)... | Conditional branch instruction ConditionalBranch: (uint8_t)... with non-Boolean condition, in function '$@'. | pruning.c:52:6:52:18 | void f_uint8_t_257() | void f_uint8_t_257() | +| pruning.c:61:9:61:26 | ConditionalBranch: ... == ... | Conditional branch instruction ConditionalBranch: ... == ... with non-Boolean condition, in function '$@'. | pruning.c:60:6:60:21 | void f_uint8_t_minus1() | void f_uint8_t_minus1() | +| pruning.c:70:9:70:9 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | pruning.c:68:6:68:14 | void f_v_int_0() | void f_v_int_0() | +| pruning.c:79:9:79:9 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | pruning.c:77:6:77:14 | void f_v_int_1() | void f_v_int_1() | +| pruning.c:88:9:88:9 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | pruning.c:86:6:86:16 | void f_v_int_256() | void f_v_int_256() | +| pruning.c:97:9:97:9 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | pruning.c:95:6:95:18 | void f_v_uint8_t_0() | void f_v_uint8_t_0() | +| pruning.c:106:9:106:9 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | pruning.c:104:6:104:18 | void f_v_uint8_t_1() | void f_v_uint8_t_1() | +| pruning.c:115:9:115:9 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | pruning.c:113:6:113:20 | void f_v_uint8_t_256() | void f_v_uint8_t_256() | +| pruning.c:124:9:124:9 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | pruning.c:122:6:122:20 | void f_v_uint8_t_257() | void f_v_uint8_t_257() | +| pruning.c:133:9:133:16 | ConditionalBranch: ... == ... | Conditional branch instruction ConditionalBranch: ... == ... with non-Boolean condition, in function '$@'. | pruning.c:131:6:131:23 | void f_v_uint8_t_minus1() | void f_v_uint8_t_minus1() | +| questionexpr.c:3:6:3:11 | ConditionalBranch: ... == ... | Conditional branch instruction ConditionalBranch: ... == ... with non-Boolean condition, in function '$@'. | questionexpr.c:1:13:1:13 | void f() | void f() | +| range_analysis.c:7:10:7:10 | ConditionalBranch: p | Conditional branch instruction ConditionalBranch: p with non-Boolean condition, in function '$@'. | range_analysis.c:5:5:5:9 | int test1(List*) | int test1(List*) | +| range_analysis.c:15:10:15:10 | ConditionalBranch: p | Conditional branch instruction ConditionalBranch: p with non-Boolean condition, in function '$@'. | range_analysis.c:13:5:13:9 | int test2(List*) | int test2(List*) | +| range_analysis.c:23:10:23:10 | ConditionalBranch: p | Conditional branch instruction ConditionalBranch: p with non-Boolean condition, in function '$@'. | range_analysis.c:21:5:21:9 | int test3(List*) | int test3(List*) | +| range_analysis.c:33:15:33:19 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | range_analysis.c:30:5:30:9 | int test4() | int test4() | +| range_analysis.c:42:15:42:19 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | range_analysis.c:39:5:39:9 | int test5() | int test5() | +| range_analysis.c:51:15:51:21 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | range_analysis.c:48:5:48:9 | int test6() | int test6() | +| range_analysis.c:58:7:58:11 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | range_analysis.c:57:5:57:9 | int test7(int) | int test7(int) | +| range_analysis.c:59:9:59:13 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | range_analysis.c:57:5:57:9 | int test7(int) | int test7(int) | +| range_analysis.c:67:7:67:15 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | range_analysis.c:66:5:66:9 | int test8(int, int) | int test8(int, int) | +| range_analysis.c:67:20:67:25 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | range_analysis.c:66:5:66:9 | int test8(int, int) | int test8(int, int) | +| range_analysis.c:68:9:68:15 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | range_analysis.c:66:5:66:9 | int test8(int, int) | int test8(int, int) | +| range_analysis.c:76:7:76:12 | ConditionalBranch: ... == ... | Conditional branch instruction ConditionalBranch: ... == ... with non-Boolean condition, in function '$@'. | range_analysis.c:75:5:75:9 | int test9(int, int) | int test9(int, int) | +| range_analysis.c:77:9:77:13 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | range_analysis.c:75:5:75:9 | int test9(int, int) | int test9(int, int) | +| range_analysis.c:81:9:81:13 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | range_analysis.c:75:5:75:9 | int test9(int, int) | int test9(int, int) | +| range_analysis.c:89:7:89:11 | ConditionalBranch: ... > ... | Conditional branch instruction ConditionalBranch: ... > ... with non-Boolean condition, in function '$@'. | range_analysis.c:88:5:88:10 | int test10(int, int) | int test10(int, int) | +| range_analysis.c:90:9:90:13 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | range_analysis.c:88:5:88:10 | int test10(int, int) | int test10(int, int) | +| range_analysis.c:101:7:101:15 | ConditionalBranch: ... != ... | Conditional branch instruction ConditionalBranch: ... != ... with non-Boolean condition, in function '$@'. | range_analysis.c:98:5:98:10 | int test11(char*) | int test11(char*) | +| range_analysis.c:104:7:104:14 | ConditionalBranch: ... == ... | Conditional branch instruction ConditionalBranch: ... == ... with non-Boolean condition, in function '$@'. | range_analysis.c:98:5:98:10 | int test11(char*) | int test11(char*) | +| range_analysis.c:106:9:106:17 | ConditionalBranch: ... != ... | Conditional branch instruction ConditionalBranch: ... != ... with non-Boolean condition, in function '$@'. | range_analysis.c:98:5:98:10 | int test11(char*) | int test11(char*) | +| range_analysis.c:109:9:109:16 | ConditionalBranch: ... != ... | Conditional branch instruction ConditionalBranch: ... != ... with non-Boolean condition, in function '$@'. | range_analysis.c:98:5:98:10 | int test11(char*) | int test11(char*) | +| range_analysis.c:124:11:124:36 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:122:5:122:10 | int test12() | int test12() | +| range_analysis.c:154:11:154:15 | ConditionalBranch: ... > ... | Conditional branch instruction ConditionalBranch: ... > ... with non-Boolean condition, in function '$@'. | range_analysis.c:153:11:153:16 | long long test15(long long) | long long test15(long long) | +| range_analysis.c:154:20:154:30 | ConditionalBranch: ... == ... | Conditional branch instruction ConditionalBranch: ... == ... with non-Boolean condition, in function '$@'. | range_analysis.c:153:11:153:16 | long long test15(long long) | long long test15(long long) | +| range_analysis.c:161:7:161:12 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:158:5:158:14 | int test_unary(int) | int test_unary(int) | +| range_analysis.c:161:17:161:23 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:158:5:158:14 | int test_unary(int) | int test_unary(int) | +| range_analysis.c:166:7:166:12 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:158:5:158:14 | int test_unary(int) | int test_unary(int) | +| range_analysis.c:166:17:166:23 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:158:5:158:14 | int test_unary(int) | int test_unary(int) | +| range_analysis.c:171:7:171:13 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:158:5:158:14 | int test_unary(int) | int test_unary(int) | +| range_analysis.c:171:18:171:24 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:158:5:158:14 | int test_unary(int) | int test_unary(int) | +| range_analysis.c:176:7:176:13 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:158:5:158:14 | int test_unary(int) | int test_unary(int) | +| range_analysis.c:176:18:176:23 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:158:5:158:14 | int test_unary(int) | int test_unary(int) | +| range_analysis.c:181:7:181:13 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:158:5:158:14 | int test_unary(int) | int test_unary(int) | +| range_analysis.c:181:18:181:23 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:158:5:158:14 | int test_unary(int) | int test_unary(int) | +| range_analysis.c:186:7:186:13 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:158:5:158:14 | int test_unary(int) | int test_unary(int) | +| range_analysis.c:186:18:186:24 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:158:5:158:14 | int test_unary(int) | int test_unary(int) | +| range_analysis.c:200:7:200:12 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:197:5:197:15 | int test_mult01(int, int) | int test_mult01(int, int) | +| range_analysis.c:200:17:200:23 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:197:5:197:15 | int test_mult01(int, int) | int test_mult01(int, int) | +| range_analysis.c:200:28:200:33 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:197:5:197:15 | int test_mult01(int, int) | int test_mult01(int, int) | +| range_analysis.c:200:38:200:44 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:197:5:197:15 | int test_mult01(int, int) | int test_mult01(int, int) | +| range_analysis.c:204:7:204:12 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:197:5:197:15 | int test_mult01(int, int) | int test_mult01(int, int) | +| range_analysis.c:204:17:204:23 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:197:5:197:15 | int test_mult01(int, int) | int test_mult01(int, int) | +| range_analysis.c:204:28:204:33 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:197:5:197:15 | int test_mult01(int, int) | int test_mult01(int, int) | +| range_analysis.c:204:38:204:44 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:197:5:197:15 | int test_mult01(int, int) | int test_mult01(int, int) | +| range_analysis.c:208:7:208:12 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:197:5:197:15 | int test_mult01(int, int) | int test_mult01(int, int) | +| range_analysis.c:208:17:208:23 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:197:5:197:15 | int test_mult01(int, int) | int test_mult01(int, int) | +| range_analysis.c:208:28:208:35 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:197:5:197:15 | int test_mult01(int, int) | int test_mult01(int, int) | +| range_analysis.c:208:40:208:46 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:197:5:197:15 | int test_mult01(int, int) | int test_mult01(int, int) | +| range_analysis.c:212:7:212:12 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:197:5:197:15 | int test_mult01(int, int) | int test_mult01(int, int) | +| range_analysis.c:212:17:212:23 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:197:5:197:15 | int test_mult01(int, int) | int test_mult01(int, int) | +| range_analysis.c:212:28:212:35 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:197:5:197:15 | int test_mult01(int, int) | int test_mult01(int, int) | +| range_analysis.c:212:40:212:45 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:197:5:197:15 | int test_mult01(int, int) | int test_mult01(int, int) | +| range_analysis.c:216:7:216:12 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:197:5:197:15 | int test_mult01(int, int) | int test_mult01(int, int) | +| range_analysis.c:216:17:216:23 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:197:5:197:15 | int test_mult01(int, int) | int test_mult01(int, int) | +| range_analysis.c:216:28:216:35 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:197:5:197:15 | int test_mult01(int, int) | int test_mult01(int, int) | +| range_analysis.c:216:40:216:46 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:197:5:197:15 | int test_mult01(int, int) | int test_mult01(int, int) | +| range_analysis.c:228:7:228:12 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:225:5:225:15 | int test_mult02(int, int) | int test_mult02(int, int) | +| range_analysis.c:228:17:228:23 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:225:5:225:15 | int test_mult02(int, int) | int test_mult02(int, int) | +| range_analysis.c:228:28:228:33 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:225:5:225:15 | int test_mult02(int, int) | int test_mult02(int, int) | +| range_analysis.c:228:38:228:44 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:225:5:225:15 | int test_mult02(int, int) | int test_mult02(int, int) | +| range_analysis.c:232:7:232:12 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:225:5:225:15 | int test_mult02(int, int) | int test_mult02(int, int) | +| range_analysis.c:232:17:232:23 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:225:5:225:15 | int test_mult02(int, int) | int test_mult02(int, int) | +| range_analysis.c:232:28:232:33 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:225:5:225:15 | int test_mult02(int, int) | int test_mult02(int, int) | +| range_analysis.c:232:38:232:44 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:225:5:225:15 | int test_mult02(int, int) | int test_mult02(int, int) | +| range_analysis.c:236:7:236:12 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:225:5:225:15 | int test_mult02(int, int) | int test_mult02(int, int) | +| range_analysis.c:236:17:236:23 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:225:5:225:15 | int test_mult02(int, int) | int test_mult02(int, int) | +| range_analysis.c:236:28:236:35 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:225:5:225:15 | int test_mult02(int, int) | int test_mult02(int, int) | +| range_analysis.c:236:40:236:46 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:225:5:225:15 | int test_mult02(int, int) | int test_mult02(int, int) | +| range_analysis.c:240:7:240:12 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:225:5:225:15 | int test_mult02(int, int) | int test_mult02(int, int) | +| range_analysis.c:240:17:240:23 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:225:5:225:15 | int test_mult02(int, int) | int test_mult02(int, int) | +| range_analysis.c:240:28:240:35 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:225:5:225:15 | int test_mult02(int, int) | int test_mult02(int, int) | +| range_analysis.c:240:40:240:45 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:225:5:225:15 | int test_mult02(int, int) | int test_mult02(int, int) | +| range_analysis.c:244:7:244:12 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:225:5:225:15 | int test_mult02(int, int) | int test_mult02(int, int) | +| range_analysis.c:244:17:244:23 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:225:5:225:15 | int test_mult02(int, int) | int test_mult02(int, int) | +| range_analysis.c:244:28:244:35 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:225:5:225:15 | int test_mult02(int, int) | int test_mult02(int, int) | +| range_analysis.c:244:40:244:46 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:225:5:225:15 | int test_mult02(int, int) | int test_mult02(int, int) | +| range_analysis.c:256:7:256:14 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:253:5:253:15 | int test_mult03(int, int) | int test_mult03(int, int) | +| range_analysis.c:256:19:256:25 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:253:5:253:15 | int test_mult03(int, int) | int test_mult03(int, int) | +| range_analysis.c:256:30:256:35 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:253:5:253:15 | int test_mult03(int, int) | int test_mult03(int, int) | +| range_analysis.c:256:40:256:46 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:253:5:253:15 | int test_mult03(int, int) | int test_mult03(int, int) | +| range_analysis.c:260:7:260:14 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:253:5:253:15 | int test_mult03(int, int) | int test_mult03(int, int) | +| range_analysis.c:260:19:260:25 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:253:5:253:15 | int test_mult03(int, int) | int test_mult03(int, int) | +| range_analysis.c:260:30:260:35 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:253:5:253:15 | int test_mult03(int, int) | int test_mult03(int, int) | +| range_analysis.c:260:40:260:46 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:253:5:253:15 | int test_mult03(int, int) | int test_mult03(int, int) | +| range_analysis.c:264:7:264:14 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:253:5:253:15 | int test_mult03(int, int) | int test_mult03(int, int) | +| range_analysis.c:264:19:264:25 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:253:5:253:15 | int test_mult03(int, int) | int test_mult03(int, int) | +| range_analysis.c:264:30:264:37 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:253:5:253:15 | int test_mult03(int, int) | int test_mult03(int, int) | +| range_analysis.c:264:42:264:48 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:253:5:253:15 | int test_mult03(int, int) | int test_mult03(int, int) | +| range_analysis.c:268:7:268:14 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:253:5:253:15 | int test_mult03(int, int) | int test_mult03(int, int) | +| range_analysis.c:268:19:268:25 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:253:5:253:15 | int test_mult03(int, int) | int test_mult03(int, int) | +| range_analysis.c:268:30:268:37 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:253:5:253:15 | int test_mult03(int, int) | int test_mult03(int, int) | +| range_analysis.c:268:42:268:47 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:253:5:253:15 | int test_mult03(int, int) | int test_mult03(int, int) | +| range_analysis.c:272:7:272:14 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:253:5:253:15 | int test_mult03(int, int) | int test_mult03(int, int) | +| range_analysis.c:272:19:272:25 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:253:5:253:15 | int test_mult03(int, int) | int test_mult03(int, int) | +| range_analysis.c:272:30:272:37 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:253:5:253:15 | int test_mult03(int, int) | int test_mult03(int, int) | +| range_analysis.c:272:42:272:48 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:253:5:253:15 | int test_mult03(int, int) | int test_mult03(int, int) | +| range_analysis.c:284:7:284:14 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:281:5:281:15 | int test_mult04(int, int) | int test_mult04(int, int) | +| range_analysis.c:284:19:284:24 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:281:5:281:15 | int test_mult04(int, int) | int test_mult04(int, int) | +| range_analysis.c:284:29:284:34 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:281:5:281:15 | int test_mult04(int, int) | int test_mult04(int, int) | +| range_analysis.c:284:39:284:45 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:281:5:281:15 | int test_mult04(int, int) | int test_mult04(int, int) | +| range_analysis.c:288:7:288:14 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:281:5:281:15 | int test_mult04(int, int) | int test_mult04(int, int) | +| range_analysis.c:288:19:288:24 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:281:5:281:15 | int test_mult04(int, int) | int test_mult04(int, int) | +| range_analysis.c:288:29:288:34 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:281:5:281:15 | int test_mult04(int, int) | int test_mult04(int, int) | +| range_analysis.c:288:39:288:45 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:281:5:281:15 | int test_mult04(int, int) | int test_mult04(int, int) | +| range_analysis.c:292:7:292:14 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:281:5:281:15 | int test_mult04(int, int) | int test_mult04(int, int) | +| range_analysis.c:292:19:292:24 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:281:5:281:15 | int test_mult04(int, int) | int test_mult04(int, int) | +| range_analysis.c:292:29:292:36 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:281:5:281:15 | int test_mult04(int, int) | int test_mult04(int, int) | +| range_analysis.c:292:41:292:47 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:281:5:281:15 | int test_mult04(int, int) | int test_mult04(int, int) | +| range_analysis.c:296:7:296:14 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:281:5:281:15 | int test_mult04(int, int) | int test_mult04(int, int) | +| range_analysis.c:296:19:296:24 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:281:5:281:15 | int test_mult04(int, int) | int test_mult04(int, int) | +| range_analysis.c:296:29:296:36 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:281:5:281:15 | int test_mult04(int, int) | int test_mult04(int, int) | +| range_analysis.c:296:41:296:46 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:281:5:281:15 | int test_mult04(int, int) | int test_mult04(int, int) | +| range_analysis.c:300:7:300:14 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:281:5:281:15 | int test_mult04(int, int) | int test_mult04(int, int) | +| range_analysis.c:300:19:300:24 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:281:5:281:15 | int test_mult04(int, int) | int test_mult04(int, int) | +| range_analysis.c:300:29:300:36 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:281:5:281:15 | int test_mult04(int, int) | int test_mult04(int, int) | +| range_analysis.c:300:41:300:47 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:281:5:281:15 | int test_mult04(int, int) | int test_mult04(int, int) | +| range_analysis.c:312:7:312:14 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:309:5:309:15 | int test_mult05(int, int) | int test_mult05(int, int) | +| range_analysis.c:312:19:312:25 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:309:5:309:15 | int test_mult05(int, int) | int test_mult05(int, int) | +| range_analysis.c:312:30:312:35 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:309:5:309:15 | int test_mult05(int, int) | int test_mult05(int, int) | +| range_analysis.c:312:40:312:46 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:309:5:309:15 | int test_mult05(int, int) | int test_mult05(int, int) | +| range_analysis.c:316:7:316:14 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:309:5:309:15 | int test_mult05(int, int) | int test_mult05(int, int) | +| range_analysis.c:316:19:316:25 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:309:5:309:15 | int test_mult05(int, int) | int test_mult05(int, int) | +| range_analysis.c:316:30:316:35 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:309:5:309:15 | int test_mult05(int, int) | int test_mult05(int, int) | +| range_analysis.c:316:40:316:46 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:309:5:309:15 | int test_mult05(int, int) | int test_mult05(int, int) | +| range_analysis.c:320:7:320:14 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:309:5:309:15 | int test_mult05(int, int) | int test_mult05(int, int) | +| range_analysis.c:320:19:320:25 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:309:5:309:15 | int test_mult05(int, int) | int test_mult05(int, int) | +| range_analysis.c:320:30:320:37 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:309:5:309:15 | int test_mult05(int, int) | int test_mult05(int, int) | +| range_analysis.c:320:42:320:48 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:309:5:309:15 | int test_mult05(int, int) | int test_mult05(int, int) | +| range_analysis.c:324:7:324:14 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:309:5:309:15 | int test_mult05(int, int) | int test_mult05(int, int) | +| range_analysis.c:324:19:324:25 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:309:5:309:15 | int test_mult05(int, int) | int test_mult05(int, int) | +| range_analysis.c:324:30:324:37 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:309:5:309:15 | int test_mult05(int, int) | int test_mult05(int, int) | +| range_analysis.c:324:42:324:47 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:309:5:309:15 | int test_mult05(int, int) | int test_mult05(int, int) | +| range_analysis.c:328:7:328:14 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:309:5:309:15 | int test_mult05(int, int) | int test_mult05(int, int) | +| range_analysis.c:328:19:328:25 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:309:5:309:15 | int test_mult05(int, int) | int test_mult05(int, int) | +| range_analysis.c:328:30:328:37 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:309:5:309:15 | int test_mult05(int, int) | int test_mult05(int, int) | +| range_analysis.c:328:42:328:48 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:309:5:309:15 | int test_mult05(int, int) | int test_mult05(int, int) | +| range_analysis.c:338:7:338:11 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | range_analysis.c:336:5:336:10 | int test16(int) | int test16(int) | +| range_analysis.c:342:10:342:14 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | range_analysis.c:336:5:336:10 | int test16(int) | int test16(int) | +| range_analysis.c:346:7:346:11 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | range_analysis.c:336:5:336:10 | int test16(int) | int test16(int) | +| range_analysis.c:347:9:347:14 | ConditionalBranch: ... > ... | Conditional branch instruction ConditionalBranch: ... > ... with non-Boolean condition, in function '$@'. | range_analysis.c:336:5:336:10 | int test16(int) | int test16(int) | +| range_analysis.c:357:8:357:14 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | range_analysis.c:355:14:355:27 | unsigned int test_ternary01(unsigned int) | unsigned int test_ternary01(unsigned int) | +| range_analysis.c:358:8:358:15 | ConditionalBranch: ... >= ... | Conditional branch instruction ConditionalBranch: ... >= ... with non-Boolean condition, in function '$@'. | range_analysis.c:355:14:355:27 | unsigned int test_ternary01(unsigned int) | unsigned int test_ternary01(unsigned int) | +| range_analysis.c:365:7:365:13 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | range_analysis.c:355:14:355:27 | unsigned int test_ternary01(unsigned int) | unsigned int test_ternary01(unsigned int) | +| range_analysis.c:366:10:366:15 | ConditionalBranch: ... ? ... : ... | Conditional branch instruction ConditionalBranch: ... ? ... : ... with non-Boolean condition, in function '$@'. | range_analysis.c:355:14:355:27 | unsigned int test_ternary01(unsigned int) | unsigned int test_ternary01(unsigned int) | +| range_analysis.c:367:10:367:17 | ConditionalBranch: ... ? ... : ... | Conditional branch instruction ConditionalBranch: ... ? ... : ... with non-Boolean condition, in function '$@'. | range_analysis.c:355:14:355:27 | unsigned int test_ternary01(unsigned int) | unsigned int test_ternary01(unsigned int) | +| range_analysis.c:368:10:368:21 | ConditionalBranch: ... ? ... : ... | Conditional branch instruction ConditionalBranch: ... ? ... : ... with non-Boolean condition, in function '$@'. | range_analysis.c:355:14:355:27 | unsigned int test_ternary01(unsigned int) | unsigned int test_ternary01(unsigned int) | +| range_analysis.c:369:10:369:36 | ConditionalBranch: ... ? ... : ... | Conditional branch instruction ConditionalBranch: ... ? ... : ... with non-Boolean condition, in function '$@'. | range_analysis.c:355:14:355:27 | unsigned int test_ternary01(unsigned int) | unsigned int test_ternary01(unsigned int) | +| range_analysis.c:370:10:370:38 | ConditionalBranch: ... ? ... : ... | Conditional branch instruction ConditionalBranch: ... ? ... : ... with non-Boolean condition, in function '$@'. | range_analysis.c:355:14:355:27 | unsigned int test_ternary01(unsigned int) | unsigned int test_ternary01(unsigned int) | +| range_analysis.c:371:10:371:39 | ConditionalBranch: ... ? ... : ... | Conditional branch instruction ConditionalBranch: ... ? ... : ... with non-Boolean condition, in function '$@'. | range_analysis.c:355:14:355:27 | unsigned int test_ternary01(unsigned int) | unsigned int test_ternary01(unsigned int) | +| range_analysis.c:379:8:379:14 | ConditionalBranch: ... > ... | Conditional branch instruction ConditionalBranch: ... > ... with non-Boolean condition, in function '$@'. | range_analysis.c:377:14:377:27 | unsigned int test_ternary02(unsigned int) | unsigned int test_ternary02(unsigned int) | +| range_analysis.c:380:8:380:15 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:377:14:377:27 | unsigned int test_ternary02(unsigned int) | unsigned int test_ternary02(unsigned int) | +| range_analysis.c:384:7:384:14 | ConditionalBranch: ... >= ... | Conditional branch instruction ConditionalBranch: ... >= ... with non-Boolean condition, in function '$@'. | range_analysis.c:377:14:377:27 | unsigned int test_ternary02(unsigned int) | unsigned int test_ternary02(unsigned int) | +| range_analysis.c:385:10:385:21 | ConditionalBranch: ... ? ... : ... | Conditional branch instruction ConditionalBranch: ... ? ... : ... with non-Boolean condition, in function '$@'. | range_analysis.c:377:14:377:27 | unsigned int test_ternary02(unsigned int) | unsigned int test_ternary02(unsigned int) | +| range_analysis.c:386:10:386:21 | ConditionalBranch: ... ? ... : ... | Conditional branch instruction ConditionalBranch: ... ? ... : ... with non-Boolean condition, in function '$@'. | range_analysis.c:377:14:377:27 | unsigned int test_ternary02(unsigned int) | unsigned int test_ternary02(unsigned int) | +| range_analysis.c:387:10:387:38 | ConditionalBranch: ... ? ... : ... | Conditional branch instruction ConditionalBranch: ... ? ... : ... with non-Boolean condition, in function '$@'. | range_analysis.c:377:14:377:27 | unsigned int test_ternary02(unsigned int) | unsigned int test_ternary02(unsigned int) | +| range_analysis.c:394:20:394:26 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | range_analysis.c:393:14:393:25 | unsigned int test_comma01(unsigned int) | unsigned int test_comma01(unsigned int) | +| switchbody.c:5:11:5:15 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | switchbody.c:4:5:4:16 | int switch_block(int) | int switch_block(int) | +| switchbody.c:16:11:16:15 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | switchbody.c:15:5:15:17 | int switch_single(int) | int switch_single(int) | +| switchbody.c:28:11:28:15 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | switchbody.c:27:5:27:19 | int switch_notblock(int) | int switch_notblock(int) | +| test.c:3:9:3:9 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | test.c:2:6:2:11 | void f_if_1(int) | void f_if_1(int) | +| test.c:11:9:11:9 | ConditionalBranch: 1 | Conditional branch instruction ConditionalBranch: 1 with non-Boolean condition, in function '$@'. | test.c:10:6:10:11 | void f_if_2() | void f_if_2() | +| test.c:19:9:19:9 | ConditionalBranch: 0 | Conditional branch instruction ConditionalBranch: 0 with non-Boolean condition, in function '$@'. | test.c:18:6:18:11 | void f_if_3() | void f_if_3() | +| test.c:28:16:28:21 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | test.c:26:6:26:12 | void f_for_1() | void f_for_1() | +| test.c:36:16:36:16 | ConditionalBranch: 1 | Conditional branch instruction ConditionalBranch: 1 with non-Boolean condition, in function '$@'. | test.c:34:6:34:12 | void f_for_2() | void f_for_2() | +| test.c:44:16:44:16 | ConditionalBranch: 0 | Conditional branch instruction ConditionalBranch: 0 with non-Boolean condition, in function '$@'. | test.c:42:6:42:12 | void f_for_3() | void f_for_3() | +| test.c:51:11:51:11 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | test.c:50:6:50:14 | void f_while_1(int) | void f_while_1(int) | +| test.c:58:11:58:11 | ConditionalBranch: 1 | Conditional branch instruction ConditionalBranch: 1 with non-Boolean condition, in function '$@'. | test.c:57:6:57:14 | void f_while_2() | void f_while_2() | +| test.c:65:11:65:11 | ConditionalBranch: 0 | Conditional branch instruction ConditionalBranch: 0 with non-Boolean condition, in function '$@'. | test.c:64:6:64:14 | void f_while_3() | void f_while_3() | +| test.c:74:14:74:14 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | test.c:71:6:71:11 | void f_do_1(int) | void f_do_1(int) | +| test.c:81:14:81:14 | ConditionalBranch: 1 | Conditional branch instruction ConditionalBranch: 1 with non-Boolean condition, in function '$@'. | test.c:78:6:78:11 | void f_do_2() | void f_do_2() | +| test.c:88:14:88:14 | ConditionalBranch: 0 | Conditional branch instruction ConditionalBranch: 0 with non-Boolean condition, in function '$@'. | test.c:85:6:85:11 | void f_do_3() | void f_do_3() | +| test.c:93:13:93:13 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | test.c:92:6:92:13 | void f_cond_1(int) | void f_cond_1(int) | +| test.c:204:12:204:12 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | test.c:203:6:203:15 | void f_switch_7(int) | void f_switch_7(int) | +| test.c:219:7:219:7 | ConditionalBranch: x | Conditional branch instruction ConditionalBranch: x with non-Boolean condition, in function '$@'. | test.c:218:5:218:11 | int f_and_1(int, int) | int f_and_1(int, int) | +| test.c:219:12:219:13 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | test.c:218:5:218:11 | int f_and_1(int, int) | int f_and_1(int, int) | +| test.c:219:12:219:13 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | test.c:218:5:218:11 | int f_and_1(int, int) | int f_and_1(int, int) | +| test.c:226:7:226:15 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | test.c:225:5:225:11 | int f_and_2(int, int) | int f_and_2(int, int) | +| test.c:226:7:226:15 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | test.c:225:5:225:11 | int f_and_2(int, int) | int f_and_2(int, int) | +| test.c:226:9:226:9 | ConditionalBranch: x | Conditional branch instruction ConditionalBranch: x with non-Boolean condition, in function '$@'. | test.c:225:5:225:11 | int f_and_2(int, int) | int f_and_2(int, int) | +| test.c:226:14:226:14 | ConditionalBranch: y | Conditional branch instruction ConditionalBranch: y with non-Boolean condition, in function '$@'. | test.c:225:5:225:11 | int f_and_2(int, int) | int f_and_2(int, int) | +| test.c:233:7:233:7 | ConditionalBranch: b | Conditional branch instruction ConditionalBranch: b with non-Boolean condition, in function '$@'. | test.c:232:6:232:19 | void f_if_ternary_1(int, int, int) | void f_if_ternary_1(int, int, int) | +| test.c:233:7:233:15 | ConditionalBranch: ... ? ... : ... | Conditional branch instruction ConditionalBranch: ... ? ... : ... with non-Boolean condition, in function '$@'. | test.c:232:6:232:19 | void f_if_ternary_1(int, int, int) | void f_if_ternary_1(int, int, int) | +| test.c:245:31:245:31 | ConditionalBranch: 0 | Conditional branch instruction ConditionalBranch: 0 with non-Boolean condition, in function '$@'. | test.c:245:24:245:24 | const void *[] a | const void *[] a | +| unaryopexpr.c:8:5:8:6 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | unaryopexpr.c:1:13:1:13 | void f() | void f() | +| whilestmt.c:2:9:2:9 | ConditionalBranch: 0 | Conditional branch instruction ConditionalBranch: 0 with non-Boolean condition, in function '$@'. | whilestmt.c:1:13:1:26 | void always_false_1() | void always_false_1() | +| whilestmt.c:10:9:10:13 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | whilestmt.c:8:13:8:26 | void always_false_2() | void always_false_2() | +| whilestmt.c:10:9:10:13 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | whilestmt.c:8:13:8:26 | void always_false_2() | void always_false_2() | +| whilestmt.c:16:9:16:9 | ConditionalBranch: 1 | Conditional branch instruction ConditionalBranch: 1 with non-Boolean condition, in function '$@'. | whilestmt.c:15:13:15:25 | void always_true_1() | void always_true_1() | +| whilestmt.c:24:9:24:9 | ConditionalBranch: 1 | Conditional branch instruction ConditionalBranch: 1 with non-Boolean condition, in function '$@'. | whilestmt.c:23:13:23:25 | void always_true_2() | void always_true_2() | +| whilestmt.c:33:9:33:9 | ConditionalBranch: 1 | Conditional branch instruction ConditionalBranch: 1 with non-Boolean condition, in function '$@'. | whilestmt.c:32:13:32:25 | void always_true_3() | void always_true_3() | +| whilestmt.c:41:9:41:14 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | whilestmt.c:39:13:39:18 | void normal() | void normal() | missingCppType From 8377ee545f53daca0adffc88daa07ed2da752acb Mon Sep 17 00:00:00 2001 From: Paolo Tranquilli Date: Mon, 18 Nov 2024 17:22:23 +0100 Subject: [PATCH 239/347] Rust: fix reading lists from `options.yml` --- rust/extractor/src/config.rs | 13 ++---- rust/extractor/src/config/deserialize_vec.rs | 49 ++++++++++++++++++++ 2 files changed, 53 insertions(+), 9 deletions(-) create mode 100644 rust/extractor/src/config/deserialize_vec.rs diff --git a/rust/extractor/src/config.rs b/rust/extractor/src/config.rs index dfa9f5d37d20..66edb94c7f85 100644 --- a/rust/extractor/src/config.rs +++ b/rust/extractor/src/config.rs @@ -1,6 +1,9 @@ +mod deserialize_vec; + use anyhow::Context; use clap::Parser; use codeql_extractor::trap; +use deserialize_vec::deserialize_newline_or_comma_separated; use figment::{ providers::{Env, Format, Serialized, Yaml}, value::Value, @@ -14,7 +17,7 @@ use ra_ap_intern::Symbol; use ra_ap_paths::Utf8PathBuf; use ra_ap_project_model::{CargoConfig, CargoFeatures, CfgOverrides, RustLibSource}; use rust_extractor_macros::extractor_cli_config; -use serde::{Deserialize, Deserializer, Serialize}; +use serde::{Deserialize, Serialize}; use std::fmt::Debug; use std::ops::Not; use std::path::PathBuf; @@ -37,14 +40,6 @@ impl From for trap::Compression { } } -// required by the extractor_cli_config macro. -fn deserialize_newline_or_comma_separated<'a, D: Deserializer<'a>, T: for<'b> From<&'b str>>( - deserializer: D, -) -> Result, D::Error> { - let value = String::deserialize(deserializer)?; - Ok(value.split(['\n', ',']).map(T::from).collect()) -} - #[extractor_cli_config] pub struct Config { pub scratch_dir: PathBuf, diff --git a/rust/extractor/src/config/deserialize_vec.rs b/rust/extractor/src/config/deserialize_vec.rs new file mode 100644 index 000000000000..eebe413ca298 --- /dev/null +++ b/rust/extractor/src/config/deserialize_vec.rs @@ -0,0 +1,49 @@ +use serde::de::Visitor; +use serde::Deserializer; +use std::fmt::Formatter; +use std::marker::PhantomData; + +// phantom data ise required to allow parametrizing on `T` without actual `T` data +struct VectorVisitor>(PhantomData); + +impl> VectorVisitor { + fn new() -> Self { + VectorVisitor(PhantomData) + } +} + +impl<'de, T: From> Visitor<'de> for VectorVisitor { + type Value = Vec; + + fn expecting(&self, formatter: &mut Formatter) -> std::fmt::Result { + formatter.write_str("either a sequence, or a comma or newline separated string") + } + + fn visit_str(self, value: &str) -> Result, E> { + Ok(value + .split(['\n', ',']) + .map(|s| T::from(s.to_owned())) + .collect()) + } + + fn visit_seq(self, mut seq: A) -> Result, A::Error> + where + A: serde::de::SeqAccess<'de>, + { + let mut ret = Vec::new(); + while let Some(el) = seq.next_element::()? { + ret.push(T::from(el)); + } + Ok(ret) + } +} + +/// deserialize into a vector of `T` either of: +/// * a sequence of elements serializable into `String`s, or +/// * a single element serializable into `String`, then split on `,` and `\n` +/// This is required to be in scope when the `extractor_cli_config` macro is used. +pub(crate) fn deserialize_newline_or_comma_separated<'a, D: Deserializer<'a>, T: From>( + deserializer: D, +) -> Result, D::Error> { + deserializer.deserialize_seq(VectorVisitor::new()) +} From ba545ca5d85e0101888317c7b62498a04b6f490f Mon Sep 17 00:00:00 2001 From: Jeroen Ketema Date: Mon, 18 Nov 2024 19:18:35 +0100 Subject: [PATCH 240/347] Remove duplicated "Supported CPU architectures" from "Supported platforms" table --- docs/codeql/reusables/supported-platforms.rst | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/docs/codeql/reusables/supported-platforms.rst b/docs/codeql/reusables/supported-platforms.rst index fd6ca4f220f6..78a8215bffcb 100644 --- a/docs/codeql/reusables/supported-platforms.rst +++ b/docs/codeql/reusables/supported-platforms.rst @@ -14,11 +14,7 @@ Windows 11 / Windows Server 2022","x86-64" macOS,"macOS 13 Ventura - macOS 14 Sonoma","x86-64, arm64 (Apple Silicon) - - x86-64, arm64 (Apple Silicon) - - x86-64, arm64 (Apple Silicon) [1]_" + macOS 14 Sonoma","x86-64, arm64 (Apple Silicon) [1]_" .. container:: footnote-group From 72a69cfa17e863c5a612ac5024a90913e4f18b63 Mon Sep 17 00:00:00 2001 From: Napalys Date: Mon, 18 Nov 2024 14:51:23 +0100 Subject: [PATCH 241/347] Added change notes --- .../ql/lib/change-notes/2024-11-18-ES2022-find-functions.md | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 javascript/ql/lib/change-notes/2024-11-18-ES2022-find-functions.md diff --git a/javascript/ql/lib/change-notes/2024-11-18-ES2022-find-functions.md b/javascript/ql/lib/change-notes/2024-11-18-ES2022-find-functions.md new file mode 100644 index 000000000000..93b7e286cf4a --- /dev/null +++ b/javascript/ql/lib/change-notes/2024-11-18-ES2022-find-functions.md @@ -0,0 +1,4 @@ +--- +category: minorAnalysis +--- +* Added pre call graph step for `Array.prototype.findLast` From c85a5f964450b028a9ccca168954d55a47afb984 Mon Sep 17 00:00:00 2001 From: Tom Hvitved Date: Tue, 19 Nov 2024 08:58:34 +0100 Subject: [PATCH 242/347] Rust: Run `cargo fmt` --- rust/ql/test/library-tests/controlflow/test.rs | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/rust/ql/test/library-tests/controlflow/test.rs b/rust/ql/test/library-tests/controlflow/test.rs index 1c480bc4f252..ed24e79c7704 100644 --- a/rust/ql/test/library-tests/controlflow/test.rs +++ b/rust/ql/test/library-tests/controlflow/test.rs @@ -62,15 +62,15 @@ mod loop_expression { } fn test_loop_label_shadowing(b: bool) -> ! { - 'loop: loop { + 'label: loop { 1; - 'loop: loop { + 'label: loop { if b { continue; } else if b { - continue 'loop; + continue 'label; } - continue 'loop; + continue 'label; } } } @@ -150,7 +150,9 @@ mod if_expression { } fn test_and_if_let2(a: bool, b: i64, c: bool) -> bool { - if a && let d = b && c{ + if a && let d = b + && c + { d > 0 } else { false @@ -279,7 +281,7 @@ mod logical_operators { } } - fn test_and_return(a : bool) { + fn test_and_return(a: bool) { a && return; } } @@ -477,4 +479,4 @@ fn test_nested_function() { trait MyFrom { fn my_from(x: T) -> Self; -} \ No newline at end of file +} From 46b4bad5106f02a52c7f092637bd3b5e34fe2bf1 Mon Sep 17 00:00:00 2001 From: Tom Hvitved Date: Tue, 19 Nov 2024 08:59:12 +0100 Subject: [PATCH 243/347] Rust: Update expected test output --- .../library-tests/controlflow/Cfg.expected | 1446 ++++++++--------- 1 file changed, 723 insertions(+), 723 deletions(-) diff --git a/rust/ql/test/library-tests/controlflow/Cfg.expected b/rust/ql/test/library-tests/controlflow/Cfg.expected index 9b90cc06965f..9539787a4e89 100644 --- a/rust/ql/test/library-tests/controlflow/Cfg.expected +++ b/rust/ql/test/library-tests/controlflow/Cfg.expected @@ -122,18 +122,18 @@ edges | test.rs:66:13:66:13 | 1 | test.rs:68:17:72:17 | ExprStmt | | | test.rs:66:13:66:14 | ExprStmt | test.rs:66:13:66:13 | 1 | | | test.rs:68:17:72:17 | ExprStmt | test.rs:68:20:68:20 | b | | -| test.rs:68:17:72:17 | IfExpr | test.rs:73:17:73:31 | ExprStmt | | +| test.rs:68:17:72:17 | IfExpr | test.rs:73:17:73:32 | ExprStmt | | | test.rs:68:20:68:20 | b | test.rs:69:21:69:29 | ExprStmt | true | | test.rs:68:20:68:20 | b | test.rs:70:27:70:27 | b | false | | test.rs:69:21:69:28 | ContinueExpr | test.rs:68:17:72:17 | ExprStmt | continue | | test.rs:69:21:69:29 | ExprStmt | test.rs:69:21:69:28 | ContinueExpr | | | test.rs:70:24:72:17 | IfExpr | test.rs:68:17:72:17 | IfExpr | | | test.rs:70:27:70:27 | b | test.rs:70:24:72:17 | IfExpr | false | -| test.rs:70:27:70:27 | b | test.rs:71:21:71:35 | ExprStmt | true | -| test.rs:71:21:71:34 | ContinueExpr | test.rs:68:17:72:17 | ExprStmt | continue | -| test.rs:71:21:71:35 | ExprStmt | test.rs:71:21:71:34 | ContinueExpr | | -| test.rs:73:17:73:30 | ContinueExpr | test.rs:68:17:72:17 | ExprStmt | continue | -| test.rs:73:17:73:31 | ExprStmt | test.rs:73:17:73:30 | ContinueExpr | | +| test.rs:70:27:70:27 | b | test.rs:71:21:71:36 | ExprStmt | true | +| test.rs:71:21:71:35 | ContinueExpr | test.rs:68:17:72:17 | ExprStmt | continue | +| test.rs:71:21:71:36 | ExprStmt | test.rs:71:21:71:35 | ContinueExpr | | +| test.rs:73:17:73:31 | ContinueExpr | test.rs:68:17:72:17 | ExprStmt | continue | +| test.rs:73:17:73:32 | ExprStmt | test.rs:73:17:73:31 | ContinueExpr | | | test.rs:78:5:87:5 | enter test_while | test.rs:78:19:78:19 | i | | | test.rs:78:5:87:5 | exit test_while (normal) | test.rs:78:5:87:5 | exit test_while | | | test.rs:78:19:78:19 | i | test.rs:78:19:78:24 | Param | match | @@ -299,726 +299,726 @@ edges | test.rs:146:13:146:13 | d | test.rs:145:33:147:9 | BlockExpr | | | test.rs:147:16:149:9 | BlockExpr | test.rs:145:9:149:9 | IfExpr | | | test.rs:148:13:148:17 | false | test.rs:147:16:149:9 | BlockExpr | | -| test.rs:152:5:158:5 | enter test_and_if_let2 | test.rs:152:25:152:25 | a | | -| test.rs:152:5:158:5 | exit test_and_if_let2 (normal) | test.rs:152:5:158:5 | exit test_and_if_let2 | | +| test.rs:152:5:160:5 | enter test_and_if_let2 | test.rs:152:25:152:25 | a | | +| test.rs:152:5:160:5 | exit test_and_if_let2 (normal) | test.rs:152:5:160:5 | exit test_and_if_let2 | | | test.rs:152:25:152:25 | a | test.rs:152:25:152:31 | Param | match | | test.rs:152:25:152:31 | Param | test.rs:152:34:152:34 | b | | | test.rs:152:34:152:34 | b | test.rs:152:34:152:39 | Param | match | | test.rs:152:34:152:39 | Param | test.rs:152:42:152:42 | c | | | test.rs:152:42:152:42 | c | test.rs:152:42:152:48 | Param | match | | test.rs:152:42:152:48 | Param | test.rs:153:12:153:12 | a | | -| test.rs:152:59:158:5 | BlockExpr | test.rs:152:5:158:5 | exit test_and_if_let2 (normal) | | -| test.rs:153:9:157:9 | IfExpr | test.rs:152:59:158:5 | BlockExpr | | +| test.rs:152:59:160:5 | BlockExpr | test.rs:152:5:160:5 | exit test_and_if_let2 (normal) | | +| test.rs:153:9:159:9 | IfExpr | test.rs:152:59:160:5 | BlockExpr | | | test.rs:153:12:153:12 | a | test.rs:153:12:153:25 | [boolean(false)] ... && ... | false | | test.rs:153:12:153:12 | a | test.rs:153:17:153:25 | LetExpr | true | -| test.rs:153:12:153:25 | [boolean(false)] ... && ... | test.rs:153:12:153:30 | [boolean(false)] ... && ... | false | -| test.rs:153:12:153:25 | [boolean(true)] ... && ... | test.rs:153:30:153:30 | c | true | -| test.rs:153:12:153:30 | [boolean(false)] ... && ... | test.rs:156:13:156:17 | false | false | -| test.rs:153:12:153:30 | [boolean(true)] ... && ... | test.rs:154:13:154:13 | d | true | +| test.rs:153:12:153:25 | [boolean(false)] ... && ... | test.rs:153:12:154:16 | [boolean(false)] ... && ... | false | +| test.rs:153:12:153:25 | [boolean(true)] ... && ... | test.rs:154:16:154:16 | c | true | +| test.rs:153:12:154:16 | [boolean(false)] ... && ... | test.rs:158:13:158:17 | false | false | +| test.rs:153:12:154:16 | [boolean(true)] ... && ... | test.rs:156:13:156:13 | d | true | | test.rs:153:17:153:25 | LetExpr | test.rs:153:25:153:25 | b | | | test.rs:153:21:153:21 | d | test.rs:153:12:153:25 | [boolean(true)] ... && ... | match | | test.rs:153:25:153:25 | b | test.rs:153:21:153:21 | d | | -| test.rs:153:30:153:30 | c | test.rs:153:12:153:30 | [boolean(false)] ... && ... | false | -| test.rs:153:30:153:30 | c | test.rs:153:12:153:30 | [boolean(true)] ... && ... | true | -| test.rs:153:31:155:9 | BlockExpr | test.rs:153:9:157:9 | IfExpr | | -| test.rs:154:13:154:13 | d | test.rs:154:17:154:17 | 0 | | -| test.rs:154:13:154:17 | ... > ... | test.rs:153:31:155:9 | BlockExpr | | -| test.rs:154:17:154:17 | 0 | test.rs:154:13:154:17 | ... > ... | | -| test.rs:155:16:157:9 | BlockExpr | test.rs:153:9:157:9 | IfExpr | | -| test.rs:156:13:156:17 | false | test.rs:155:16:157:9 | BlockExpr | | -| test.rs:160:5:166:5 | enter test_nested_if | test.rs:160:23:160:23 | a | | -| test.rs:160:5:166:5 | exit test_nested_if (normal) | test.rs:160:5:166:5 | exit test_nested_if | | -| test.rs:160:23:160:23 | a | test.rs:160:23:160:28 | Param | match | -| test.rs:160:23:160:28 | Param | test.rs:161:16:161:16 | a | | -| test.rs:160:38:166:5 | BlockExpr | test.rs:160:5:166:5 | exit test_nested_if (normal) | | -| test.rs:161:9:165:9 | IfExpr | test.rs:160:38:166:5 | BlockExpr | | -| test.rs:161:13:161:48 | [boolean(false)] IfExpr | test.rs:164:13:164:13 | 0 | false | -| test.rs:161:13:161:48 | [boolean(true)] IfExpr | test.rs:162:13:162:13 | 1 | true | -| test.rs:161:16:161:16 | a | test.rs:161:20:161:20 | 0 | | -| test.rs:161:16:161:20 | ... < ... | test.rs:161:24:161:24 | a | true | -| test.rs:161:16:161:20 | ... < ... | test.rs:161:41:161:41 | a | false | -| test.rs:161:20:161:20 | 0 | test.rs:161:16:161:20 | ... < ... | | -| test.rs:161:22:161:32 | [boolean(false)] BlockExpr | test.rs:161:13:161:48 | [boolean(false)] IfExpr | false | -| test.rs:161:22:161:32 | [boolean(true)] BlockExpr | test.rs:161:13:161:48 | [boolean(true)] IfExpr | true | -| test.rs:161:24:161:24 | a | test.rs:161:29:161:30 | 10 | | -| test.rs:161:24:161:30 | ... < ... | test.rs:161:22:161:32 | [boolean(false)] BlockExpr | false | -| test.rs:161:24:161:30 | ... < ... | test.rs:161:22:161:32 | [boolean(true)] BlockExpr | true | -| test.rs:161:28:161:30 | - ... | test.rs:161:24:161:30 | ... < ... | | -| test.rs:161:29:161:30 | 10 | test.rs:161:28:161:30 | - ... | | -| test.rs:161:39:161:48 | [boolean(false)] BlockExpr | test.rs:161:13:161:48 | [boolean(false)] IfExpr | false | -| test.rs:161:39:161:48 | [boolean(true)] BlockExpr | test.rs:161:13:161:48 | [boolean(true)] IfExpr | true | -| test.rs:161:41:161:41 | a | test.rs:161:45:161:46 | 10 | | -| test.rs:161:41:161:46 | ... > ... | test.rs:161:39:161:48 | [boolean(false)] BlockExpr | false | -| test.rs:161:41:161:46 | ... > ... | test.rs:161:39:161:48 | [boolean(true)] BlockExpr | true | -| test.rs:161:45:161:46 | 10 | test.rs:161:41:161:46 | ... > ... | | -| test.rs:161:51:163:9 | BlockExpr | test.rs:161:9:165:9 | IfExpr | | -| test.rs:162:13:162:13 | 1 | test.rs:161:51:163:9 | BlockExpr | | -| test.rs:163:16:165:9 | BlockExpr | test.rs:161:9:165:9 | IfExpr | | -| test.rs:164:13:164:13 | 0 | test.rs:163:16:165:9 | BlockExpr | | -| test.rs:168:5:177:5 | enter test_nested_if_match | test.rs:168:29:168:29 | a | | -| test.rs:168:5:177:5 | exit test_nested_if_match (normal) | test.rs:168:5:177:5 | exit test_nested_if_match | | -| test.rs:168:29:168:29 | a | test.rs:168:29:168:34 | Param | match | -| test.rs:168:29:168:34 | Param | test.rs:169:19:169:19 | a | | -| test.rs:168:44:177:5 | BlockExpr | test.rs:168:5:177:5 | exit test_nested_if_match (normal) | | -| test.rs:169:9:176:9 | IfExpr | test.rs:168:44:177:5 | BlockExpr | | -| test.rs:169:13:172:9 | [boolean(false)] MatchExpr | test.rs:175:13:175:13 | 0 | false | -| test.rs:169:13:172:9 | [boolean(true)] MatchExpr | test.rs:173:13:173:13 | 1 | true | -| test.rs:169:19:169:19 | a | test.rs:170:13:170:13 | 0 | | -| test.rs:170:13:170:13 | 0 | test.rs:170:13:170:13 | LiteralPat | | -| test.rs:170:13:170:13 | LiteralPat | test.rs:170:18:170:21 | true | match | -| test.rs:170:13:170:13 | LiteralPat | test.rs:171:13:171:13 | WildcardPat | no-match | -| test.rs:170:18:170:21 | true | test.rs:169:13:172:9 | [boolean(true)] MatchExpr | true | -| test.rs:171:13:171:13 | WildcardPat | test.rs:171:18:171:22 | false | match | -| test.rs:171:18:171:22 | false | test.rs:169:13:172:9 | [boolean(false)] MatchExpr | false | -| test.rs:172:12:174:9 | BlockExpr | test.rs:169:9:176:9 | IfExpr | | -| test.rs:173:13:173:13 | 1 | test.rs:172:12:174:9 | BlockExpr | | -| test.rs:174:16:176:9 | BlockExpr | test.rs:169:9:176:9 | IfExpr | | -| test.rs:175:13:175:13 | 0 | test.rs:174:16:176:9 | BlockExpr | | -| test.rs:179:5:188:5 | enter test_nested_if_block | test.rs:179:29:179:29 | a | | -| test.rs:179:5:188:5 | exit test_nested_if_block (normal) | test.rs:179:5:188:5 | exit test_nested_if_block | | -| test.rs:179:29:179:29 | a | test.rs:179:29:179:34 | Param | match | -| test.rs:179:29:179:34 | Param | test.rs:181:13:181:15 | ExprStmt | | -| test.rs:179:44:188:5 | BlockExpr | test.rs:179:5:188:5 | exit test_nested_if_block (normal) | | -| test.rs:180:9:187:9 | IfExpr | test.rs:179:44:188:5 | BlockExpr | | -| test.rs:180:12:183:9 | [boolean(false)] BlockExpr | test.rs:186:13:186:13 | 0 | false | -| test.rs:180:12:183:9 | [boolean(true)] BlockExpr | test.rs:184:13:184:13 | 1 | true | -| test.rs:181:13:181:14 | TupleExpr | test.rs:182:13:182:13 | a | | -| test.rs:181:13:181:15 | ExprStmt | test.rs:181:13:181:14 | TupleExpr | | -| test.rs:182:13:182:13 | a | test.rs:182:17:182:17 | 0 | | -| test.rs:182:13:182:17 | ... > ... | test.rs:180:12:183:9 | [boolean(false)] BlockExpr | false | -| test.rs:182:13:182:17 | ... > ... | test.rs:180:12:183:9 | [boolean(true)] BlockExpr | true | -| test.rs:182:17:182:17 | 0 | test.rs:182:13:182:17 | ... > ... | | -| test.rs:183:11:185:9 | BlockExpr | test.rs:180:9:187:9 | IfExpr | | -| test.rs:184:13:184:13 | 1 | test.rs:183:11:185:9 | BlockExpr | | -| test.rs:185:16:187:9 | BlockExpr | test.rs:180:9:187:9 | IfExpr | | -| test.rs:186:13:186:13 | 0 | test.rs:185:16:187:9 | BlockExpr | | -| test.rs:190:5:197:5 | enter test_if_assignment | test.rs:190:27:190:27 | a | | -| test.rs:190:5:197:5 | exit test_if_assignment (normal) | test.rs:190:5:197:5 | exit test_if_assignment | | -| test.rs:190:27:190:27 | a | test.rs:190:27:190:32 | Param | match | -| test.rs:190:27:190:32 | Param | test.rs:191:9:191:26 | LetStmt | | -| test.rs:190:42:197:5 | BlockExpr | test.rs:190:5:197:5 | exit test_if_assignment (normal) | | -| test.rs:191:9:191:26 | LetStmt | test.rs:191:21:191:25 | false | | -| test.rs:191:13:191:17 | x | test.rs:192:12:192:12 | x | match | -| test.rs:191:21:191:25 | false | test.rs:191:13:191:17 | x | | -| test.rs:192:9:196:9 | IfExpr | test.rs:190:42:197:5 | BlockExpr | | -| test.rs:192:12:192:12 | x | test.rs:192:16:192:19 | true | | -| test.rs:192:12:192:19 | ... = ... | test.rs:193:13:193:13 | 1 | true | -| test.rs:192:12:192:19 | ... = ... | test.rs:195:13:195:13 | 0 | false | -| test.rs:192:16:192:19 | true | test.rs:192:12:192:19 | ... = ... | | -| test.rs:192:21:194:9 | BlockExpr | test.rs:192:9:196:9 | IfExpr | | -| test.rs:193:13:193:13 | 1 | test.rs:192:21:194:9 | BlockExpr | | -| test.rs:194:16:196:9 | BlockExpr | test.rs:192:9:196:9 | IfExpr | | -| test.rs:195:13:195:13 | 0 | test.rs:194:16:196:9 | BlockExpr | | -| test.rs:199:5:210:5 | enter test_if_loop1 | test.rs:199:22:199:22 | a | | -| test.rs:199:5:210:5 | exit test_if_loop1 (normal) | test.rs:199:5:210:5 | exit test_if_loop1 | | -| test.rs:199:22:199:22 | a | test.rs:199:22:199:27 | Param | match | -| test.rs:199:22:199:27 | Param | test.rs:201:13:203:14 | ExprStmt | | -| test.rs:199:37:210:5 | BlockExpr | test.rs:199:5:210:5 | exit test_if_loop1 (normal) | | -| test.rs:200:9:209:9 | IfExpr | test.rs:199:37:210:5 | BlockExpr | | -| test.rs:200:13:205:9 | [boolean(false)] LoopExpr | test.rs:208:13:208:13 | 0 | false | -| test.rs:200:13:205:9 | [boolean(true)] LoopExpr | test.rs:206:13:206:13 | 1 | true | -| test.rs:200:18:205:9 | BlockExpr | test.rs:201:13:203:14 | ExprStmt | | -| test.rs:201:13:203:13 | IfExpr | test.rs:204:13:204:19 | ExprStmt | | -| test.rs:201:13:203:14 | ExprStmt | test.rs:201:16:201:16 | a | | -| test.rs:201:16:201:16 | a | test.rs:201:20:201:20 | 0 | | -| test.rs:201:16:201:20 | ... > ... | test.rs:201:13:203:13 | IfExpr | false | -| test.rs:201:16:201:20 | ... > ... | test.rs:202:17:202:29 | ExprStmt | true | -| test.rs:201:20:201:20 | 0 | test.rs:201:16:201:20 | ... > ... | | -| test.rs:202:17:202:28 | [boolean(false)] BreakExpr | test.rs:200:13:205:9 | [boolean(false)] LoopExpr | break | -| test.rs:202:17:202:28 | [boolean(true)] BreakExpr | test.rs:200:13:205:9 | [boolean(true)] LoopExpr | break | -| test.rs:202:17:202:29 | ExprStmt | test.rs:202:23:202:23 | a | | -| test.rs:202:23:202:23 | a | test.rs:202:27:202:28 | 10 | | -| test.rs:202:23:202:28 | ... > ... | test.rs:202:17:202:28 | [boolean(false)] BreakExpr | false | -| test.rs:202:23:202:28 | ... > ... | test.rs:202:17:202:28 | [boolean(true)] BreakExpr | true | -| test.rs:202:27:202:28 | 10 | test.rs:202:23:202:28 | ... > ... | | -| test.rs:204:13:204:13 | a | test.rs:204:17:204:18 | 10 | | -| test.rs:204:13:204:18 | ... < ... | test.rs:200:18:205:9 | BlockExpr | | -| test.rs:204:13:204:19 | ExprStmt | test.rs:204:13:204:13 | a | | -| test.rs:204:17:204:18 | 10 | test.rs:204:13:204:18 | ... < ... | | -| test.rs:205:12:207:9 | BlockExpr | test.rs:200:9:209:9 | IfExpr | | -| test.rs:206:13:206:13 | 1 | test.rs:205:12:207:9 | BlockExpr | | -| test.rs:207:16:209:9 | BlockExpr | test.rs:200:9:209:9 | IfExpr | | -| test.rs:208:13:208:13 | 0 | test.rs:207:16:209:9 | BlockExpr | | -| test.rs:212:5:223:5 | enter test_if_loop2 | test.rs:212:22:212:22 | a | | -| test.rs:212:5:223:5 | exit test_if_loop2 (normal) | test.rs:212:5:223:5 | exit test_if_loop2 | | -| test.rs:212:22:212:22 | a | test.rs:212:22:212:27 | Param | match | -| test.rs:212:22:212:27 | Param | test.rs:214:13:216:14 | ExprStmt | | -| test.rs:212:37:223:5 | BlockExpr | test.rs:212:5:223:5 | exit test_if_loop2 (normal) | | -| test.rs:213:9:222:9 | IfExpr | test.rs:212:37:223:5 | BlockExpr | | -| test.rs:213:13:218:9 | [boolean(false)] LoopExpr | test.rs:221:13:221:13 | 0 | false | -| test.rs:213:13:218:9 | [boolean(true)] LoopExpr | test.rs:219:13:219:13 | 1 | true | -| test.rs:213:26:218:9 | BlockExpr | test.rs:214:13:216:14 | ExprStmt | | -| test.rs:214:13:216:13 | IfExpr | test.rs:217:13:217:19 | ExprStmt | | -| test.rs:214:13:216:14 | ExprStmt | test.rs:214:16:214:16 | a | | -| test.rs:214:16:214:16 | a | test.rs:214:20:214:20 | 0 | | -| test.rs:214:16:214:20 | ... > ... | test.rs:214:13:216:13 | IfExpr | false | -| test.rs:214:16:214:20 | ... > ... | test.rs:215:17:215:36 | ExprStmt | true | -| test.rs:214:20:214:20 | 0 | test.rs:214:16:214:20 | ... > ... | | -| test.rs:215:17:215:35 | [boolean(false)] BreakExpr | test.rs:213:13:218:9 | [boolean(false)] LoopExpr | break | -| test.rs:215:17:215:35 | [boolean(true)] BreakExpr | test.rs:213:13:218:9 | [boolean(true)] LoopExpr | break | -| test.rs:215:17:215:36 | ExprStmt | test.rs:215:30:215:30 | a | | -| test.rs:215:30:215:30 | a | test.rs:215:34:215:35 | 10 | | -| test.rs:215:30:215:35 | ... > ... | test.rs:215:17:215:35 | [boolean(false)] BreakExpr | false | -| test.rs:215:30:215:35 | ... > ... | test.rs:215:17:215:35 | [boolean(true)] BreakExpr | true | -| test.rs:215:34:215:35 | 10 | test.rs:215:30:215:35 | ... > ... | | -| test.rs:217:13:217:13 | a | test.rs:217:17:217:18 | 10 | | -| test.rs:217:13:217:18 | ... < ... | test.rs:213:26:218:9 | BlockExpr | | -| test.rs:217:13:217:19 | ExprStmt | test.rs:217:13:217:13 | a | | -| test.rs:217:17:217:18 | 10 | test.rs:217:13:217:18 | ... < ... | | -| test.rs:218:12:220:9 | BlockExpr | test.rs:213:9:222:9 | IfExpr | | -| test.rs:219:13:219:13 | 1 | test.rs:218:12:220:9 | BlockExpr | | -| test.rs:220:16:222:9 | BlockExpr | test.rs:213:9:222:9 | IfExpr | | -| test.rs:221:13:221:13 | 0 | test.rs:220:16:222:9 | BlockExpr | | -| test.rs:225:5:233:5 | enter test_labelled_block | test.rs:225:28:225:28 | a | | -| test.rs:225:5:233:5 | exit test_labelled_block (normal) | test.rs:225:5:233:5 | exit test_labelled_block | | -| test.rs:225:28:225:28 | a | test.rs:225:28:225:33 | Param | match | -| test.rs:225:28:225:33 | Param | test.rs:227:13:227:31 | ExprStmt | | -| test.rs:225:43:233:5 | BlockExpr | test.rs:225:5:233:5 | exit test_labelled_block (normal) | | -| test.rs:226:9:232:9 | IfExpr | test.rs:225:43:233:5 | BlockExpr | | -| test.rs:226:13:228:9 | [boolean(false)] BlockExpr | test.rs:231:13:231:13 | 0 | false | -| test.rs:226:13:228:9 | [boolean(true)] BlockExpr | test.rs:229:13:229:13 | 1 | true | -| test.rs:227:13:227:30 | [boolean(false)] BreakExpr | test.rs:226:13:228:9 | [boolean(false)] BlockExpr | break | -| test.rs:227:13:227:30 | [boolean(true)] BreakExpr | test.rs:226:13:228:9 | [boolean(true)] BlockExpr | break | -| test.rs:227:13:227:31 | ExprStmt | test.rs:227:26:227:26 | a | | -| test.rs:227:26:227:26 | a | test.rs:227:30:227:30 | 0 | | -| test.rs:227:26:227:30 | ... > ... | test.rs:227:13:227:30 | [boolean(false)] BreakExpr | false | -| test.rs:227:26:227:30 | ... > ... | test.rs:227:13:227:30 | [boolean(true)] BreakExpr | true | -| test.rs:227:30:227:30 | 0 | test.rs:227:26:227:30 | ... > ... | | -| test.rs:228:12:230:9 | BlockExpr | test.rs:226:9:232:9 | IfExpr | | -| test.rs:229:13:229:13 | 1 | test.rs:228:12:230:9 | BlockExpr | | -| test.rs:230:16:232:9 | BlockExpr | test.rs:226:9:232:9 | IfExpr | | -| test.rs:231:13:231:13 | 0 | test.rs:230:16:232:9 | BlockExpr | | -| test.rs:238:5:241:5 | enter test_and_operator | test.rs:238:26:238:26 | a | | -| test.rs:238:5:241:5 | exit test_and_operator (normal) | test.rs:238:5:241:5 | exit test_and_operator | | -| test.rs:238:26:238:26 | a | test.rs:238:26:238:32 | Param | match | -| test.rs:238:26:238:32 | Param | test.rs:238:35:238:35 | b | | -| test.rs:238:35:238:35 | b | test.rs:238:35:238:41 | Param | match | -| test.rs:238:35:238:41 | Param | test.rs:238:44:238:44 | c | | -| test.rs:238:44:238:44 | c | test.rs:238:44:238:50 | Param | match | -| test.rs:238:44:238:50 | Param | test.rs:239:9:239:28 | LetStmt | | -| test.rs:238:61:241:5 | BlockExpr | test.rs:238:5:241:5 | exit test_and_operator (normal) | | -| test.rs:239:9:239:28 | LetStmt | test.rs:239:17:239:17 | a | | -| test.rs:239:13:239:13 | d | test.rs:240:9:240:9 | d | match | -| test.rs:239:17:239:17 | a | test.rs:239:17:239:22 | [boolean(false)] ... && ... | false | -| test.rs:239:17:239:17 | a | test.rs:239:22:239:22 | b | true | -| test.rs:239:17:239:22 | [boolean(false)] ... && ... | test.rs:239:17:239:27 | ... && ... | false | -| test.rs:239:17:239:22 | [boolean(true)] ... && ... | test.rs:239:27:239:27 | c | true | -| test.rs:239:17:239:27 | ... && ... | test.rs:239:13:239:13 | d | | -| test.rs:239:22:239:22 | b | test.rs:239:17:239:22 | [boolean(false)] ... && ... | false | -| test.rs:239:22:239:22 | b | test.rs:239:17:239:22 | [boolean(true)] ... && ... | true | -| test.rs:239:27:239:27 | c | test.rs:239:17:239:27 | ... && ... | | -| test.rs:240:9:240:9 | d | test.rs:238:61:241:5 | BlockExpr | | -| test.rs:243:5:246:5 | enter test_or_operator | test.rs:243:25:243:25 | a | | -| test.rs:243:5:246:5 | exit test_or_operator (normal) | test.rs:243:5:246:5 | exit test_or_operator | | -| test.rs:243:25:243:25 | a | test.rs:243:25:243:31 | Param | match | -| test.rs:243:25:243:31 | Param | test.rs:243:34:243:34 | b | | -| test.rs:243:34:243:34 | b | test.rs:243:34:243:40 | Param | match | -| test.rs:243:34:243:40 | Param | test.rs:243:43:243:43 | c | | -| test.rs:243:43:243:43 | c | test.rs:243:43:243:49 | Param | match | -| test.rs:243:43:243:49 | Param | test.rs:244:9:244:28 | LetStmt | | -| test.rs:243:60:246:5 | BlockExpr | test.rs:243:5:246:5 | exit test_or_operator (normal) | | -| test.rs:244:9:244:28 | LetStmt | test.rs:244:17:244:17 | a | | -| test.rs:244:13:244:13 | d | test.rs:245:9:245:9 | d | match | -| test.rs:244:17:244:17 | a | test.rs:244:17:244:22 | [boolean(true)] ... \|\| ... | true | -| test.rs:244:17:244:17 | a | test.rs:244:22:244:22 | b | false | -| test.rs:244:17:244:22 | [boolean(false)] ... \|\| ... | test.rs:244:27:244:27 | c | false | -| test.rs:244:17:244:22 | [boolean(true)] ... \|\| ... | test.rs:244:17:244:27 | ... \|\| ... | true | -| test.rs:244:17:244:27 | ... \|\| ... | test.rs:244:13:244:13 | d | | -| test.rs:244:22:244:22 | b | test.rs:244:17:244:22 | [boolean(false)] ... \|\| ... | false | -| test.rs:244:22:244:22 | b | test.rs:244:17:244:22 | [boolean(true)] ... \|\| ... | true | -| test.rs:244:27:244:27 | c | test.rs:244:17:244:27 | ... \|\| ... | | -| test.rs:245:9:245:9 | d | test.rs:243:60:246:5 | BlockExpr | | -| test.rs:248:5:251:5 | enter test_or_operator_2 | test.rs:248:27:248:27 | a | | -| test.rs:248:5:251:5 | exit test_or_operator_2 (normal) | test.rs:248:5:251:5 | exit test_or_operator_2 | | -| test.rs:248:27:248:27 | a | test.rs:248:27:248:33 | Param | match | -| test.rs:248:27:248:33 | Param | test.rs:248:36:248:36 | b | | -| test.rs:248:36:248:36 | b | test.rs:248:36:248:41 | Param | match | -| test.rs:248:36:248:41 | Param | test.rs:248:44:248:44 | c | | -| test.rs:248:44:248:44 | c | test.rs:248:44:248:50 | Param | match | -| test.rs:248:44:248:50 | Param | test.rs:249:9:249:36 | LetStmt | | -| test.rs:248:61:251:5 | BlockExpr | test.rs:248:5:251:5 | exit test_or_operator_2 (normal) | | -| test.rs:249:9:249:36 | LetStmt | test.rs:249:17:249:17 | a | | -| test.rs:249:13:249:13 | d | test.rs:250:9:250:9 | d | match | -| test.rs:249:17:249:17 | a | test.rs:249:17:249:30 | [boolean(true)] ... \|\| ... | true | -| test.rs:249:17:249:17 | a | test.rs:249:23:249:23 | b | false | -| test.rs:249:17:249:30 | [boolean(false)] ... \|\| ... | test.rs:249:35:249:35 | c | false | -| test.rs:249:17:249:30 | [boolean(true)] ... \|\| ... | test.rs:249:17:249:35 | ... \|\| ... | true | -| test.rs:249:17:249:35 | ... \|\| ... | test.rs:249:13:249:13 | d | | -| test.rs:249:23:249:23 | b | test.rs:249:28:249:29 | 28 | | -| test.rs:249:23:249:29 | ... == ... | test.rs:249:17:249:30 | [boolean(false)] ... \|\| ... | false | -| test.rs:249:23:249:29 | ... == ... | test.rs:249:17:249:30 | [boolean(true)] ... \|\| ... | true | -| test.rs:249:28:249:29 | 28 | test.rs:249:23:249:29 | ... == ... | | -| test.rs:249:35:249:35 | c | test.rs:249:17:249:35 | ... \|\| ... | | -| test.rs:250:9:250:9 | d | test.rs:248:61:251:5 | BlockExpr | | -| test.rs:253:5:256:5 | enter test_not_operator | test.rs:253:26:253:26 | a | | -| test.rs:253:5:256:5 | exit test_not_operator (normal) | test.rs:253:5:256:5 | exit test_not_operator | | -| test.rs:253:26:253:26 | a | test.rs:253:26:253:32 | Param | match | -| test.rs:253:26:253:32 | Param | test.rs:254:9:254:19 | LetStmt | | -| test.rs:253:43:256:5 | BlockExpr | test.rs:253:5:256:5 | exit test_not_operator (normal) | | -| test.rs:254:9:254:19 | LetStmt | test.rs:254:18:254:18 | a | | -| test.rs:254:13:254:13 | d | test.rs:255:9:255:9 | d | match | -| test.rs:254:17:254:18 | ! ... | test.rs:254:13:254:13 | d | | -| test.rs:254:18:254:18 | a | test.rs:254:17:254:18 | ! ... | | -| test.rs:255:9:255:9 | d | test.rs:253:43:256:5 | BlockExpr | | -| test.rs:258:5:264:5 | enter test_if_and_operator | test.rs:258:29:258:29 | a | | -| test.rs:258:5:264:5 | exit test_if_and_operator (normal) | test.rs:258:5:264:5 | exit test_if_and_operator | | -| test.rs:258:29:258:29 | a | test.rs:258:29:258:35 | Param | match | -| test.rs:258:29:258:35 | Param | test.rs:258:38:258:38 | b | | -| test.rs:258:38:258:38 | b | test.rs:258:38:258:43 | Param | match | -| test.rs:258:38:258:43 | Param | test.rs:258:46:258:46 | c | | -| test.rs:258:46:258:46 | c | test.rs:258:46:258:52 | Param | match | -| test.rs:258:46:258:52 | Param | test.rs:259:12:259:12 | a | | -| test.rs:258:63:264:5 | BlockExpr | test.rs:258:5:264:5 | exit test_if_and_operator (normal) | | -| test.rs:259:9:263:9 | IfExpr | test.rs:258:63:264:5 | BlockExpr | | -| test.rs:259:12:259:12 | a | test.rs:259:12:259:17 | [boolean(false)] ... && ... | false | -| test.rs:259:12:259:12 | a | test.rs:259:17:259:17 | b | true | -| test.rs:259:12:259:17 | [boolean(false)] ... && ... | test.rs:259:12:259:22 | [boolean(false)] ... && ... | false | -| test.rs:259:12:259:17 | [boolean(true)] ... && ... | test.rs:259:22:259:22 | c | true | -| test.rs:259:12:259:22 | [boolean(false)] ... && ... | test.rs:262:13:262:17 | false | false | -| test.rs:259:12:259:22 | [boolean(true)] ... && ... | test.rs:260:13:260:16 | true | true | -| test.rs:259:17:259:17 | b | test.rs:259:12:259:17 | [boolean(false)] ... && ... | false | -| test.rs:259:17:259:17 | b | test.rs:259:12:259:17 | [boolean(true)] ... && ... | true | -| test.rs:259:22:259:22 | c | test.rs:259:12:259:22 | [boolean(false)] ... && ... | false | -| test.rs:259:22:259:22 | c | test.rs:259:12:259:22 | [boolean(true)] ... && ... | true | -| test.rs:259:24:261:9 | BlockExpr | test.rs:259:9:263:9 | IfExpr | | -| test.rs:260:13:260:16 | true | test.rs:259:24:261:9 | BlockExpr | | -| test.rs:261:16:263:9 | BlockExpr | test.rs:259:9:263:9 | IfExpr | | -| test.rs:262:13:262:17 | false | test.rs:261:16:263:9 | BlockExpr | | -| test.rs:266:5:272:5 | enter test_if_or_operator | test.rs:266:28:266:28 | a | | -| test.rs:266:5:272:5 | exit test_if_or_operator (normal) | test.rs:266:5:272:5 | exit test_if_or_operator | | -| test.rs:266:28:266:28 | a | test.rs:266:28:266:34 | Param | match | -| test.rs:266:28:266:34 | Param | test.rs:266:37:266:37 | b | | -| test.rs:266:37:266:37 | b | test.rs:266:37:266:42 | Param | match | -| test.rs:266:37:266:42 | Param | test.rs:266:45:266:45 | c | | -| test.rs:266:45:266:45 | c | test.rs:266:45:266:51 | Param | match | -| test.rs:266:45:266:51 | Param | test.rs:267:12:267:12 | a | | -| test.rs:266:62:272:5 | BlockExpr | test.rs:266:5:272:5 | exit test_if_or_operator (normal) | | -| test.rs:267:9:271:9 | IfExpr | test.rs:266:62:272:5 | BlockExpr | | -| test.rs:267:12:267:12 | a | test.rs:267:12:267:17 | [boolean(true)] ... \|\| ... | true | -| test.rs:267:12:267:12 | a | test.rs:267:17:267:17 | b | false | -| test.rs:267:12:267:17 | [boolean(false)] ... \|\| ... | test.rs:267:22:267:22 | c | false | -| test.rs:267:12:267:17 | [boolean(true)] ... \|\| ... | test.rs:267:12:267:22 | [boolean(true)] ... \|\| ... | true | -| test.rs:267:12:267:22 | [boolean(false)] ... \|\| ... | test.rs:270:13:270:17 | false | false | -| test.rs:267:12:267:22 | [boolean(true)] ... \|\| ... | test.rs:268:13:268:16 | true | true | -| test.rs:267:17:267:17 | b | test.rs:267:12:267:17 | [boolean(false)] ... \|\| ... | false | -| test.rs:267:17:267:17 | b | test.rs:267:12:267:17 | [boolean(true)] ... \|\| ... | true | -| test.rs:267:22:267:22 | c | test.rs:267:12:267:22 | [boolean(false)] ... \|\| ... | false | -| test.rs:267:22:267:22 | c | test.rs:267:12:267:22 | [boolean(true)] ... \|\| ... | true | -| test.rs:267:24:269:9 | BlockExpr | test.rs:267:9:271:9 | IfExpr | | -| test.rs:268:13:268:16 | true | test.rs:267:24:269:9 | BlockExpr | | -| test.rs:269:16:271:9 | BlockExpr | test.rs:267:9:271:9 | IfExpr | | -| test.rs:270:13:270:17 | false | test.rs:269:16:271:9 | BlockExpr | | -| test.rs:274:5:280:5 | enter test_if_not_operator | test.rs:274:29:274:29 | a | | -| test.rs:274:5:280:5 | exit test_if_not_operator (normal) | test.rs:274:5:280:5 | exit test_if_not_operator | | -| test.rs:274:29:274:29 | a | test.rs:274:29:274:35 | Param | match | -| test.rs:274:29:274:35 | Param | test.rs:275:13:275:13 | a | | -| test.rs:274:46:280:5 | BlockExpr | test.rs:274:5:280:5 | exit test_if_not_operator (normal) | | -| test.rs:275:9:279:9 | IfExpr | test.rs:274:46:280:5 | BlockExpr | | -| test.rs:275:12:275:13 | [boolean(false)] ! ... | test.rs:278:13:278:17 | false | false | -| test.rs:275:12:275:13 | [boolean(true)] ! ... | test.rs:276:13:276:16 | true | true | -| test.rs:275:13:275:13 | a | test.rs:275:12:275:13 | [boolean(false)] ! ... | true | -| test.rs:275:13:275:13 | a | test.rs:275:12:275:13 | [boolean(true)] ! ... | false | -| test.rs:275:15:277:9 | BlockExpr | test.rs:275:9:279:9 | IfExpr | | -| test.rs:276:13:276:16 | true | test.rs:275:15:277:9 | BlockExpr | | -| test.rs:277:16:279:9 | BlockExpr | test.rs:275:9:279:9 | IfExpr | | -| test.rs:278:13:278:17 | false | test.rs:277:16:279:9 | BlockExpr | | -| test.rs:282:5:284:5 | enter test_and_return | test.rs:282:24:282:24 | a | | -| test.rs:282:5:284:5 | exit test_and_return (normal) | test.rs:282:5:284:5 | exit test_and_return | | -| test.rs:282:24:282:24 | a | test.rs:282:24:282:31 | Param | match | -| test.rs:282:24:282:31 | Param | test.rs:283:9:283:20 | ExprStmt | | -| test.rs:282:34:284:5 | BlockExpr | test.rs:282:5:284:5 | exit test_and_return (normal) | | -| test.rs:283:9:283:9 | a | test.rs:283:9:283:19 | ... && ... | false | -| test.rs:283:9:283:9 | a | test.rs:283:14:283:19 | ReturnExpr | true | -| test.rs:283:9:283:19 | ... && ... | test.rs:282:34:284:5 | BlockExpr | | -| test.rs:283:9:283:20 | ExprStmt | test.rs:283:9:283:9 | a | | -| test.rs:283:14:283:19 | ReturnExpr | test.rs:282:5:284:5 | exit test_and_return (normal) | return | -| test.rs:289:5:291:5 | enter test_question_mark_operator_1 | test.rs:289:38:289:38 | s | | -| test.rs:289:5:291:5 | exit test_question_mark_operator_1 (normal) | test.rs:289:5:291:5 | exit test_question_mark_operator_1 | | -| test.rs:289:38:289:38 | s | test.rs:289:38:289:44 | Param | match | -| test.rs:289:38:289:44 | Param | test.rs:290:9:290:11 | str | | -| test.rs:289:62:291:5 | BlockExpr | test.rs:289:5:291:5 | exit test_question_mark_operator_1 (normal) | | -| test.rs:290:9:290:11 | str | test.rs:290:9:290:26 | ... .parse(...) | | -| test.rs:290:9:290:26 | ... .parse(...) | test.rs:290:9:290:27 | TryExpr | | -| test.rs:290:9:290:27 | TryExpr | test.rs:289:5:291:5 | exit test_question_mark_operator_1 (normal) | return | -| test.rs:290:9:290:27 | TryExpr | test.rs:290:31:290:31 | 4 | match | -| test.rs:290:9:290:31 | ... + ... | test.rs:289:62:291:5 | BlockExpr | | -| test.rs:290:31:290:31 | 4 | test.rs:290:9:290:31 | ... + ... | | -| test.rs:293:5:298:5 | enter test_question_mark_operator_2 | test.rs:293:38:293:38 | b | | -| test.rs:293:5:298:5 | exit test_question_mark_operator_2 (normal) | test.rs:293:5:298:5 | exit test_question_mark_operator_2 | | -| test.rs:293:38:293:38 | b | test.rs:293:38:293:52 | Param | match | -| test.rs:293:38:293:52 | Param | test.rs:294:15:294:15 | b | | -| test.rs:293:71:298:5 | BlockExpr | test.rs:293:5:298:5 | exit test_question_mark_operator_2 (normal) | | -| test.rs:294:9:297:9 | MatchExpr | test.rs:293:71:298:5 | BlockExpr | | -| test.rs:294:15:294:15 | b | test.rs:294:15:294:16 | TryExpr | | -| test.rs:294:15:294:16 | TryExpr | test.rs:293:5:298:5 | exit test_question_mark_operator_2 (normal) | return | -| test.rs:294:15:294:16 | TryExpr | test.rs:295:13:295:16 | true | match | -| test.rs:295:13:295:16 | LiteralPat | test.rs:295:21:295:24 | Some | match | -| test.rs:295:13:295:16 | LiteralPat | test.rs:296:13:296:17 | false | no-match | -| test.rs:295:13:295:16 | true | test.rs:295:13:295:16 | LiteralPat | | -| test.rs:295:21:295:24 | Some | test.rs:295:26:295:30 | false | | -| test.rs:295:21:295:31 | CallExpr | test.rs:294:9:297:9 | MatchExpr | | -| test.rs:295:26:295:30 | false | test.rs:295:21:295:31 | CallExpr | | -| test.rs:296:13:296:17 | LiteralPat | test.rs:296:22:296:25 | Some | match | -| test.rs:296:13:296:17 | false | test.rs:296:13:296:17 | LiteralPat | | -| test.rs:296:22:296:25 | Some | test.rs:296:27:296:30 | true | | -| test.rs:296:22:296:31 | CallExpr | test.rs:294:9:297:9 | MatchExpr | | -| test.rs:296:27:296:30 | true | test.rs:296:22:296:31 | CallExpr | | -| test.rs:303:5:309:5 | enter test_match | test.rs:303:19:303:29 | maybe_digit | | -| test.rs:303:5:309:5 | exit test_match (normal) | test.rs:303:5:309:5 | exit test_match | | -| test.rs:303:19:303:29 | maybe_digit | test.rs:303:19:303:42 | Param | match | -| test.rs:303:19:303:42 | Param | test.rs:304:15:304:25 | maybe_digit | | -| test.rs:303:52:309:5 | BlockExpr | test.rs:303:5:309:5 | exit test_match (normal) | | -| test.rs:304:9:308:9 | MatchExpr | test.rs:303:52:309:5 | BlockExpr | | -| test.rs:304:15:304:25 | maybe_digit | test.rs:305:13:305:27 | TupleStructPat | | -| test.rs:305:13:305:27 | TupleStructPat | test.rs:305:26:305:26 | x | match | -| test.rs:305:13:305:27 | TupleStructPat | test.rs:306:13:306:27 | TupleStructPat | no-match | -| test.rs:305:26:305:26 | x | test.rs:305:32:305:32 | x | match | -| test.rs:305:32:305:32 | x | test.rs:305:36:305:37 | 10 | | -| test.rs:305:32:305:37 | ... < ... | test.rs:305:42:305:42 | x | true | -| test.rs:305:32:305:37 | ... < ... | test.rs:306:13:306:27 | TupleStructPat | false | -| test.rs:305:36:305:37 | 10 | test.rs:305:32:305:37 | ... < ... | | -| test.rs:305:42:305:42 | x | test.rs:305:46:305:46 | 5 | | -| test.rs:305:42:305:46 | ... + ... | test.rs:304:9:308:9 | MatchExpr | | -| test.rs:305:46:305:46 | 5 | test.rs:305:42:305:46 | ... + ... | | -| test.rs:306:13:306:27 | TupleStructPat | test.rs:306:26:306:26 | x | match | -| test.rs:306:13:306:27 | TupleStructPat | test.rs:307:13:307:24 | PathPat | no-match | -| test.rs:306:26:306:26 | x | test.rs:306:32:306:32 | x | match | -| test.rs:306:32:306:32 | x | test.rs:304:9:308:9 | MatchExpr | | -| test.rs:307:13:307:24 | PathPat | test.rs:307:29:307:29 | 5 | match | -| test.rs:307:29:307:29 | 5 | test.rs:304:9:308:9 | MatchExpr | | -| test.rs:311:5:320:5 | enter test_match_with_return_in_scrutinee | test.rs:311:44:311:54 | maybe_digit | | -| test.rs:311:5:320:5 | exit test_match_with_return_in_scrutinee (normal) | test.rs:311:5:320:5 | exit test_match_with_return_in_scrutinee | | -| test.rs:311:44:311:54 | maybe_digit | test.rs:311:44:311:67 | Param | match | -| test.rs:311:44:311:67 | Param | test.rs:312:19:312:29 | maybe_digit | | -| test.rs:311:77:320:5 | BlockExpr | test.rs:311:5:320:5 | exit test_match_with_return_in_scrutinee (normal) | | -| test.rs:312:9:319:9 | MatchExpr | test.rs:311:77:320:5 | BlockExpr | | -| test.rs:312:16:316:9 | IfExpr | test.rs:317:13:317:27 | TupleStructPat | | -| test.rs:312:19:312:29 | maybe_digit | test.rs:312:34:312:37 | Some | | -| test.rs:312:19:312:40 | ... == ... | test.rs:313:13:313:21 | ExprStmt | true | -| test.rs:312:19:312:40 | ... == ... | test.rs:315:13:315:23 | maybe_digit | false | -| test.rs:312:34:312:37 | Some | test.rs:312:39:312:39 | 3 | | -| test.rs:312:34:312:40 | CallExpr | test.rs:312:19:312:40 | ... == ... | | -| test.rs:312:39:312:39 | 3 | test.rs:312:34:312:40 | CallExpr | | -| test.rs:313:13:313:20 | ReturnExpr | test.rs:311:5:320:5 | exit test_match_with_return_in_scrutinee (normal) | return | -| test.rs:313:13:313:21 | ExprStmt | test.rs:313:20:313:20 | 3 | | -| test.rs:313:20:313:20 | 3 | test.rs:313:13:313:20 | ReturnExpr | | -| test.rs:314:16:316:9 | BlockExpr | test.rs:312:16:316:9 | IfExpr | | -| test.rs:315:13:315:23 | maybe_digit | test.rs:314:16:316:9 | BlockExpr | | -| test.rs:317:13:317:27 | TupleStructPat | test.rs:317:26:317:26 | x | match | -| test.rs:317:13:317:27 | TupleStructPat | test.rs:318:13:318:24 | PathPat | no-match | -| test.rs:317:26:317:26 | x | test.rs:317:32:317:32 | x | match | -| test.rs:317:32:317:32 | x | test.rs:317:36:317:36 | 5 | | -| test.rs:317:32:317:36 | ... + ... | test.rs:312:9:319:9 | MatchExpr | | -| test.rs:317:36:317:36 | 5 | test.rs:317:32:317:36 | ... + ... | | -| test.rs:318:13:318:24 | PathPat | test.rs:318:29:318:29 | 5 | match | -| test.rs:318:29:318:29 | 5 | test.rs:312:9:319:9 | MatchExpr | | -| test.rs:322:5:327:5 | enter test_match_and | test.rs:322:23:322:26 | cond | | -| test.rs:322:5:327:5 | exit test_match_and (normal) | test.rs:322:5:327:5 | exit test_match_and | | -| test.rs:322:23:322:26 | cond | test.rs:322:23:322:32 | Param | match | -| test.rs:322:23:322:32 | Param | test.rs:322:35:322:35 | r | | -| test.rs:322:35:322:35 | r | test.rs:322:35:322:48 | Param | match | -| test.rs:322:35:322:48 | Param | test.rs:323:16:323:16 | r | | -| test.rs:322:59:327:5 | BlockExpr | test.rs:322:5:327:5 | exit test_match_and (normal) | | -| test.rs:323:9:326:18 | ... && ... | test.rs:322:59:327:5 | BlockExpr | | -| test.rs:323:10:326:9 | [boolean(false)] MatchExpr | test.rs:323:9:326:18 | ... && ... | false | -| test.rs:323:10:326:9 | [boolean(true)] MatchExpr | test.rs:326:15:326:18 | cond | true | -| test.rs:323:16:323:16 | r | test.rs:324:13:324:19 | TupleStructPat | | -| test.rs:324:13:324:19 | TupleStructPat | test.rs:324:18:324:18 | a | match | -| test.rs:324:13:324:19 | TupleStructPat | test.rs:325:13:325:13 | WildcardPat | no-match | -| test.rs:324:18:324:18 | a | test.rs:324:24:324:24 | a | match | -| test.rs:324:24:324:24 | a | test.rs:323:10:326:9 | [boolean(false)] MatchExpr | false | -| test.rs:324:24:324:24 | a | test.rs:323:10:326:9 | [boolean(true)] MatchExpr | true | -| test.rs:325:13:325:13 | WildcardPat | test.rs:325:18:325:22 | false | match | -| test.rs:325:18:325:22 | false | test.rs:323:10:326:9 | [boolean(false)] MatchExpr | false | -| test.rs:326:15:326:18 | cond | test.rs:323:9:326:18 | ... && ... | | -| test.rs:329:5:334:5 | enter test_match_with_no_arms | test.rs:329:35:329:35 | r | | -| test.rs:329:5:334:5 | exit test_match_with_no_arms (normal) | test.rs:329:5:334:5 | exit test_match_with_no_arms | | -| test.rs:329:35:329:35 | r | test.rs:329:35:329:58 | Param | match | -| test.rs:329:35:329:58 | Param | test.rs:330:15:330:15 | r | | -| test.rs:329:66:334:5 | BlockExpr | test.rs:329:5:334:5 | exit test_match_with_no_arms (normal) | | -| test.rs:330:9:333:9 | MatchExpr | test.rs:329:66:334:5 | BlockExpr | | -| test.rs:330:15:330:15 | r | test.rs:331:13:331:21 | TupleStructPat | | -| test.rs:331:13:331:21 | TupleStructPat | test.rs:331:16:331:20 | value | match | -| test.rs:331:13:331:21 | TupleStructPat | test.rs:332:13:332:22 | TupleStructPat | no-match | -| test.rs:331:16:331:20 | value | test.rs:331:26:331:30 | value | match | -| test.rs:331:26:331:30 | value | test.rs:330:9:333:9 | MatchExpr | | -| test.rs:332:13:332:22 | TupleStructPat | test.rs:332:17:332:21 | never | match | -| test.rs:332:17:332:21 | never | test.rs:332:33:332:37 | never | match | -| test.rs:332:27:332:40 | MatchExpr | test.rs:330:9:333:9 | MatchExpr | | -| test.rs:332:33:332:37 | never | test.rs:332:27:332:40 | MatchExpr | | -| test.rs:339:5:342:5 | enter test_let_match | test.rs:339:23:339:23 | a | | -| test.rs:339:5:342:5 | exit test_let_match (normal) | test.rs:339:5:342:5 | exit test_let_match | | -| test.rs:339:23:339:23 | a | test.rs:339:23:339:36 | Param | match | -| test.rs:339:23:339:36 | Param | test.rs:340:9:340:49 | LetStmt | | -| test.rs:339:39:342:5 | BlockExpr | test.rs:339:5:342:5 | exit test_let_match (normal) | | -| test.rs:340:9:340:49 | LetStmt | test.rs:340:23:340:23 | a | | -| test.rs:340:13:340:19 | TupleStructPat | test.rs:340:18:340:18 | n | match | -| test.rs:340:13:340:19 | TupleStructPat | test.rs:340:32:340:46 | "Expected some" | no-match | -| test.rs:340:18:340:18 | n | test.rs:341:9:341:9 | n | match | -| test.rs:340:23:340:23 | a | test.rs:340:13:340:19 | TupleStructPat | | -| test.rs:340:32:340:46 | "Expected some" | test.rs:340:30:340:48 | BlockExpr | | -| test.rs:341:9:341:9 | n | test.rs:339:39:342:5 | BlockExpr | | -| test.rs:344:5:350:5 | enter test_let_with_return | test.rs:344:29:344:29 | m | | -| test.rs:344:5:350:5 | exit test_let_with_return (normal) | test.rs:344:5:350:5 | exit test_let_with_return | | -| test.rs:344:29:344:29 | m | test.rs:344:29:344:42 | Param | match | -| test.rs:344:29:344:42 | Param | test.rs:345:9:348:10 | LetStmt | | -| test.rs:344:45:350:5 | BlockExpr | test.rs:344:5:350:5 | exit test_let_with_return (normal) | | -| test.rs:345:9:348:10 | LetStmt | test.rs:345:25:345:25 | m | | -| test.rs:345:13:345:15 | ret | test.rs:349:9:349:12 | true | match | -| test.rs:345:19:348:9 | MatchExpr | test.rs:345:13:345:15 | ret | | -| test.rs:345:25:345:25 | m | test.rs:346:13:346:21 | TupleStructPat | | -| test.rs:346:13:346:21 | TupleStructPat | test.rs:346:18:346:20 | ret | match | -| test.rs:346:13:346:21 | TupleStructPat | test.rs:347:13:347:16 | None | no-match | -| test.rs:346:18:346:20 | ret | test.rs:346:26:346:28 | ret | match | -| test.rs:346:26:346:28 | ret | test.rs:345:19:348:9 | MatchExpr | | -| test.rs:347:13:347:16 | None | test.rs:347:28:347:32 | false | match | -| test.rs:347:21:347:32 | ReturnExpr | test.rs:344:5:350:5 | exit test_let_with_return (normal) | return | -| test.rs:347:28:347:32 | false | test.rs:347:21:347:32 | ReturnExpr | | -| test.rs:349:9:349:12 | true | test.rs:344:45:350:5 | BlockExpr | | -| test.rs:355:5:358:5 | enter empty_tuple_pattern | test.rs:355:28:355:31 | unit | | -| test.rs:355:5:358:5 | exit empty_tuple_pattern (normal) | test.rs:355:5:358:5 | exit empty_tuple_pattern | | -| test.rs:355:28:355:31 | unit | test.rs:355:28:355:35 | Param | match | -| test.rs:355:28:355:35 | Param | test.rs:356:9:356:22 | LetStmt | | -| test.rs:356:9:356:22 | LetStmt | test.rs:356:18:356:21 | unit | | -| test.rs:356:13:356:14 | TuplePat | test.rs:357:9:357:15 | ExprStmt | match | -| test.rs:356:18:356:21 | unit | test.rs:356:13:356:14 | TuplePat | | -| test.rs:357:9:357:14 | ReturnExpr | test.rs:355:5:358:5 | exit empty_tuple_pattern (normal) | return | -| test.rs:357:9:357:15 | ExprStmt | test.rs:357:9:357:14 | ReturnExpr | | -| test.rs:362:5:366:5 | enter empty_struct_pattern | test.rs:362:29:362:30 | st | | -| test.rs:362:5:366:5 | exit empty_struct_pattern (normal) | test.rs:362:5:366:5 | exit empty_struct_pattern | | -| test.rs:362:29:362:30 | st | test.rs:362:29:362:40 | Param | match | -| test.rs:362:29:362:40 | Param | test.rs:363:15:363:16 | st | | -| test.rs:362:50:366:5 | BlockExpr | test.rs:362:5:366:5 | exit empty_struct_pattern (normal) | | -| test.rs:363:9:365:9 | MatchExpr | test.rs:362:50:366:5 | BlockExpr | | -| test.rs:363:15:363:16 | st | test.rs:364:13:364:23 | RecordPat | | -| test.rs:364:13:364:23 | RecordPat | test.rs:364:28:364:28 | 1 | match | -| test.rs:364:28:364:28 | 1 | test.rs:363:9:365:9 | MatchExpr | | -| test.rs:368:5:375:5 | enter range_pattern | test.rs:369:15:369:16 | 42 | | -| test.rs:368:5:375:5 | exit range_pattern (normal) | test.rs:368:5:375:5 | exit range_pattern | | -| test.rs:368:31:375:5 | BlockExpr | test.rs:368:5:375:5 | exit range_pattern (normal) | | -| test.rs:369:9:374:9 | MatchExpr | test.rs:368:31:375:5 | BlockExpr | | -| test.rs:369:15:369:16 | 42 | test.rs:370:13:370:15 | RangePat | | -| test.rs:370:13:370:15 | RangePat | test.rs:370:15:370:15 | 0 | match | -| test.rs:370:13:370:15 | RangePat | test.rs:371:13:371:16 | RangePat | no-match | -| test.rs:370:15:370:15 | 0 | test.rs:370:15:370:15 | LiteralPat | | -| test.rs:370:15:370:15 | LiteralPat | test.rs:370:20:370:20 | 1 | match | -| test.rs:370:15:370:15 | LiteralPat | test.rs:371:13:371:16 | RangePat | no-match | -| test.rs:370:20:370:20 | 1 | test.rs:369:9:374:9 | MatchExpr | | -| test.rs:371:13:371:13 | 1 | test.rs:371:13:371:13 | LiteralPat | | -| test.rs:371:13:371:13 | LiteralPat | test.rs:371:16:371:16 | 2 | match | -| test.rs:371:13:371:13 | LiteralPat | test.rs:372:13:372:15 | RangePat | no-match | -| test.rs:371:13:371:16 | RangePat | test.rs:371:13:371:13 | 1 | match | -| test.rs:371:13:371:16 | RangePat | test.rs:372:13:372:15 | RangePat | no-match | -| test.rs:371:16:371:16 | 2 | test.rs:371:16:371:16 | LiteralPat | | -| test.rs:371:16:371:16 | LiteralPat | test.rs:371:21:371:21 | 2 | match | -| test.rs:371:16:371:16 | LiteralPat | test.rs:372:13:372:15 | RangePat | no-match | -| test.rs:371:21:371:21 | 2 | test.rs:369:9:374:9 | MatchExpr | | -| test.rs:372:13:372:13 | 5 | test.rs:372:13:372:13 | LiteralPat | | -| test.rs:372:13:372:13 | LiteralPat | test.rs:372:20:372:20 | 3 | match | -| test.rs:372:13:372:13 | LiteralPat | test.rs:373:13:373:14 | RestPat | no-match | -| test.rs:372:13:372:15 | RangePat | test.rs:372:13:372:13 | 5 | match | -| test.rs:372:13:372:15 | RangePat | test.rs:373:13:373:14 | RestPat | no-match | -| test.rs:372:20:372:20 | 3 | test.rs:369:9:374:9 | MatchExpr | | -| test.rs:373:13:373:14 | RestPat | test.rs:373:19:373:19 | 4 | match | -| test.rs:373:19:373:19 | 4 | test.rs:369:9:374:9 | MatchExpr | | -| test.rs:379:5:384:5 | enter test_infinite_loop | test.rs:380:9:382:9 | ExprStmt | | -| test.rs:380:9:382:9 | ExprStmt | test.rs:381:13:381:13 | 1 | | -| test.rs:380:14:382:9 | BlockExpr | test.rs:381:13:381:13 | 1 | | -| test.rs:381:13:381:13 | 1 | test.rs:380:14:382:9 | BlockExpr | | -| test.rs:388:5:390:5 | enter say_hello | test.rs:389:9:389:34 | ExprStmt | | -| test.rs:388:5:390:5 | exit say_hello (normal) | test.rs:388:5:390:5 | exit say_hello | | -| test.rs:388:26:390:5 | BlockExpr | test.rs:388:5:390:5 | exit say_hello (normal) | | -| test.rs:389:9:389:33 | $crate::io::_print | test.rs:389:18:389:32 | "hello, world!\\n" | | -| test.rs:389:9:389:33 | MacroExpr | test.rs:388:26:390:5 | BlockExpr | | -| test.rs:389:9:389:34 | ExprStmt | test.rs:389:18:389:32 | MacroStmts | | -| test.rs:389:18:389:32 | "hello, world!\\n" | test.rs:389:18:389:32 | FormatArgsExpr | | -| test.rs:389:18:389:32 | BlockExpr | test.rs:389:9:389:33 | MacroExpr | | -| test.rs:389:18:389:32 | CallExpr | test.rs:389:18:389:32 | BlockExpr | | -| test.rs:389:18:389:32 | ExprStmt | test.rs:389:9:389:33 | $crate::io::_print | | -| test.rs:389:18:389:32 | FormatArgsExpr | test.rs:389:18:389:32 | MacroExpr | | -| test.rs:389:18:389:32 | MacroExpr | test.rs:389:18:389:32 | CallExpr | | -| test.rs:389:18:389:32 | MacroStmts | test.rs:389:18:389:32 | ExprStmt | | -| test.rs:392:5:404:5 | enter async_block | test.rs:393:9:395:10 | LetStmt | | -| test.rs:392:5:404:5 | exit async_block (normal) | test.rs:392:5:404:5 | exit async_block | | -| test.rs:392:28:404:5 | BlockExpr | test.rs:392:5:404:5 | exit async_block (normal) | | -| test.rs:393:9:395:10 | LetStmt | test.rs:393:26:395:9 | BlockExpr | | -| test.rs:393:13:393:22 | say_godbye | test.rs:396:9:398:10 | LetStmt | match | -| test.rs:393:26:395:9 | BlockExpr | test.rs:393:13:393:22 | say_godbye | | -| test.rs:393:26:395:9 | enter BlockExpr | test.rs:394:13:394:42 | ExprStmt | | -| test.rs:393:26:395:9 | exit BlockExpr (normal) | test.rs:393:26:395:9 | exit BlockExpr | | -| test.rs:394:13:394:41 | $crate::io::_print | test.rs:394:22:394:40 | "godbye, everyone!\\n" | | -| test.rs:394:13:394:41 | MacroExpr | test.rs:393:26:395:9 | exit BlockExpr (normal) | | -| test.rs:394:13:394:42 | ExprStmt | test.rs:394:22:394:40 | MacroStmts | | -| test.rs:394:22:394:40 | "godbye, everyone!\\n" | test.rs:394:22:394:40 | FormatArgsExpr | | -| test.rs:394:22:394:40 | BlockExpr | test.rs:394:13:394:41 | MacroExpr | | -| test.rs:394:22:394:40 | CallExpr | test.rs:394:22:394:40 | BlockExpr | | -| test.rs:394:22:394:40 | ExprStmt | test.rs:394:13:394:41 | $crate::io::_print | | -| test.rs:394:22:394:40 | FormatArgsExpr | test.rs:394:22:394:40 | MacroExpr | | -| test.rs:394:22:394:40 | MacroExpr | test.rs:394:22:394:40 | CallExpr | | -| test.rs:394:22:394:40 | MacroStmts | test.rs:394:22:394:40 | ExprStmt | | -| test.rs:396:9:398:10 | LetStmt | test.rs:396:31:398:9 | BlockExpr | | -| test.rs:396:13:396:27 | say_how_are_you | test.rs:399:9:399:28 | LetStmt | match | -| test.rs:396:31:398:9 | BlockExpr | test.rs:396:13:396:27 | say_how_are_you | | -| test.rs:396:31:398:9 | enter BlockExpr | test.rs:397:13:397:37 | ExprStmt | | -| test.rs:396:31:398:9 | exit BlockExpr (normal) | test.rs:396:31:398:9 | exit BlockExpr | | -| test.rs:397:13:397:36 | $crate::io::_print | test.rs:397:22:397:35 | "how are you?\\n" | | -| test.rs:397:13:397:36 | MacroExpr | test.rs:396:31:398:9 | exit BlockExpr (normal) | | -| test.rs:397:13:397:37 | ExprStmt | test.rs:397:22:397:35 | MacroStmts | | -| test.rs:397:22:397:35 | "how are you?\\n" | test.rs:397:22:397:35 | FormatArgsExpr | | -| test.rs:397:22:397:35 | BlockExpr | test.rs:397:13:397:36 | MacroExpr | | -| test.rs:397:22:397:35 | CallExpr | test.rs:397:22:397:35 | BlockExpr | | -| test.rs:397:22:397:35 | ExprStmt | test.rs:397:13:397:36 | $crate::io::_print | | -| test.rs:397:22:397:35 | FormatArgsExpr | test.rs:397:22:397:35 | MacroExpr | | -| test.rs:397:22:397:35 | MacroExpr | test.rs:397:22:397:35 | CallExpr | | -| test.rs:397:22:397:35 | MacroStmts | test.rs:397:22:397:35 | ExprStmt | | -| test.rs:399:9:399:28 | LetStmt | test.rs:399:20:399:27 | BlockExpr | | -| test.rs:399:13:399:16 | noop | test.rs:400:9:400:26 | ExprStmt | match | -| test.rs:399:20:399:27 | BlockExpr | test.rs:399:13:399:16 | noop | | -| test.rs:400:9:400:17 | say_hello | test.rs:400:9:400:19 | CallExpr | | -| test.rs:400:9:400:19 | CallExpr | test.rs:400:9:400:25 | AwaitExpr | | -| test.rs:400:9:400:25 | AwaitExpr | test.rs:401:9:401:30 | ExprStmt | | -| test.rs:400:9:400:26 | ExprStmt | test.rs:400:9:400:17 | say_hello | | -| test.rs:401:9:401:23 | say_how_are_you | test.rs:401:9:401:29 | AwaitExpr | | -| test.rs:401:9:401:29 | AwaitExpr | test.rs:402:9:402:25 | ExprStmt | | -| test.rs:401:9:401:30 | ExprStmt | test.rs:401:9:401:23 | say_how_are_you | | -| test.rs:402:9:402:18 | say_godbye | test.rs:402:9:402:24 | AwaitExpr | | -| test.rs:402:9:402:24 | AwaitExpr | test.rs:403:9:403:19 | ExprStmt | | -| test.rs:402:9:402:25 | ExprStmt | test.rs:402:9:402:18 | say_godbye | | -| test.rs:403:9:403:12 | noop | test.rs:403:9:403:18 | AwaitExpr | | -| test.rs:403:9:403:18 | AwaitExpr | test.rs:392:28:404:5 | BlockExpr | | -| test.rs:403:9:403:19 | ExprStmt | test.rs:403:9:403:12 | noop | | -| test.rs:410:5:412:5 | enter add_two | test.rs:410:22:410:22 | n | | -| test.rs:410:5:412:5 | exit add_two (normal) | test.rs:410:5:412:5 | exit add_two | | -| test.rs:410:22:410:22 | n | test.rs:410:22:410:27 | Param | match | -| test.rs:410:22:410:27 | Param | test.rs:411:9:411:9 | n | | -| test.rs:410:37:412:5 | BlockExpr | test.rs:410:5:412:5 | exit add_two (normal) | | -| test.rs:411:9:411:9 | n | test.rs:411:13:411:13 | 2 | | -| test.rs:411:9:411:13 | ... + ... | test.rs:410:37:412:5 | BlockExpr | | -| test.rs:411:13:411:13 | 2 | test.rs:411:9:411:13 | ... + ... | | -| test.rs:416:5:424:5 | enter const_block_assert | test.rs:419:9:421:9 | ExprStmt | | -| test.rs:416:5:424:5 | exit const_block_assert (normal) | test.rs:416:5:424:5 | exit const_block_assert | | -| test.rs:416:41:424:5 | BlockExpr | test.rs:416:5:424:5 | exit const_block_assert (normal) | | -| test.rs:419:9:421:9 | BlockExpr | test.rs:423:9:423:10 | 42 | | -| test.rs:419:9:421:9 | ExprStmt | test.rs:420:13:420:50 | ExprStmt | | -| test.rs:420:13:420:49 | $crate::panicking::panic_explicit | test.rs:420:13:420:49 | CallExpr | | -| test.rs:420:13:420:49 | BlockExpr | test.rs:420:13:420:49 | MacroExpr | | -| test.rs:420:13:420:49 | BlockExpr | test.rs:420:13:420:49 | exit panic_cold_explicit (normal) | | -| test.rs:420:13:420:49 | BlockExpr | test.rs:420:21:420:48 | IfExpr | | -| test.rs:420:13:420:49 | CallExpr | test.rs:420:13:420:49 | BlockExpr | | -| test.rs:420:13:420:49 | CallExpr | test.rs:420:13:420:49 | BlockExpr | | -| test.rs:420:13:420:49 | ExprStmt | test.rs:420:13:420:49 | MacroStmts | | -| test.rs:420:13:420:49 | ExprStmt | test.rs:420:13:420:49 | panic_cold_explicit | | -| test.rs:420:13:420:49 | MacroExpr | test.rs:419:9:421:9 | BlockExpr | | -| test.rs:420:13:420:49 | MacroExpr | test.rs:420:13:420:49 | BlockExpr | | -| test.rs:420:13:420:49 | MacroStmts | test.rs:420:13:420:49 | panic_cold_explicit | | -| test.rs:420:13:420:49 | enter panic_cold_explicit | test.rs:420:13:420:49 | $crate::panicking::panic_explicit | | -| test.rs:420:13:420:49 | exit panic_cold_explicit (normal) | test.rs:420:13:420:49 | exit panic_cold_explicit | | -| test.rs:420:13:420:49 | panic_cold_explicit | test.rs:420:13:420:49 | CallExpr | | -| test.rs:420:13:420:49 | panic_cold_explicit | test.rs:420:13:420:49 | ExprStmt | | -| test.rs:420:13:420:50 | ExprStmt | test.rs:420:21:420:48 | MacroStmts | | -| test.rs:420:21:420:42 | std::mem::size_of::<...> | test.rs:420:21:420:44 | CallExpr | | -| test.rs:420:21:420:44 | CallExpr | test.rs:420:48:420:48 | 0 | | -| test.rs:420:21:420:48 | ... > ... | test.rs:420:21:420:48 | [boolean(false)] ! ... | true | -| test.rs:420:21:420:48 | ... > ... | test.rs:420:21:420:48 | [boolean(true)] ! ... | false | -| test.rs:420:21:420:48 | BlockExpr | test.rs:420:13:420:49 | MacroExpr | | -| test.rs:420:21:420:48 | IfExpr | test.rs:420:21:420:48 | BlockExpr | | -| test.rs:420:21:420:48 | MacroStmts | test.rs:420:21:420:42 | std::mem::size_of::<...> | | -| test.rs:420:21:420:48 | [boolean(false)] ! ... | test.rs:420:21:420:48 | IfExpr | false | -| test.rs:420:21:420:48 | [boolean(true)] ! ... | test.rs:420:13:420:49 | ExprStmt | true | -| test.rs:420:48:420:48 | 0 | test.rs:420:21:420:48 | ... > ... | | -| test.rs:423:9:423:10 | 42 | test.rs:416:41:424:5 | BlockExpr | | -| test.rs:426:5:435:5 | enter const_block_panic | test.rs:427:9:427:30 | Const | | -| test.rs:426:5:435:5 | exit const_block_panic (normal) | test.rs:426:5:435:5 | exit const_block_panic | | -| test.rs:426:35:435:5 | BlockExpr | test.rs:426:5:435:5 | exit const_block_panic (normal) | | -| test.rs:427:9:427:30 | Const | test.rs:428:9:433:9 | ExprStmt | | -| test.rs:428:9:433:9 | ExprStmt | test.rs:428:12:428:16 | false | | -| test.rs:428:9:433:9 | IfExpr | test.rs:434:9:434:9 | N | | -| test.rs:428:12:428:16 | false | test.rs:428:9:433:9 | IfExpr | false | -| test.rs:431:17:431:24 | $crate::panicking::panic_explicit | test.rs:431:17:431:24 | CallExpr | | -| test.rs:431:17:431:24 | BlockExpr | test.rs:431:17:431:24 | exit panic_cold_explicit (normal) | | -| test.rs:431:17:431:24 | CallExpr | test.rs:431:17:431:24 | BlockExpr | | -| test.rs:431:17:431:24 | enter panic_cold_explicit | test.rs:431:17:431:24 | $crate::panicking::panic_explicit | | -| test.rs:431:17:431:24 | exit panic_cold_explicit (normal) | test.rs:431:17:431:24 | exit panic_cold_explicit | | -| test.rs:434:9:434:9 | N | test.rs:426:35:435:5 | BlockExpr | | -| test.rs:438:1:443:1 | enter dead_code | test.rs:439:5:441:5 | ExprStmt | | -| test.rs:438:1:443:1 | exit dead_code (normal) | test.rs:438:1:443:1 | exit dead_code | | -| test.rs:439:5:441:5 | ExprStmt | test.rs:439:9:439:12 | true | | -| test.rs:439:9:439:12 | true | test.rs:440:9:440:17 | ExprStmt | true | -| test.rs:440:9:440:16 | ReturnExpr | test.rs:438:1:443:1 | exit dead_code (normal) | return | -| test.rs:440:9:440:17 | ExprStmt | test.rs:440:16:440:16 | 0 | | -| test.rs:440:16:440:16 | 0 | test.rs:440:9:440:16 | ReturnExpr | | -| test.rs:445:1:458:1 | enter labelled_block1 | test.rs:446:5:457:6 | LetStmt | | -| test.rs:445:1:458:1 | exit labelled_block1 (normal) | test.rs:445:1:458:1 | exit labelled_block1 | | -| test.rs:445:29:458:1 | BlockExpr | test.rs:445:1:458:1 | exit labelled_block1 (normal) | | -| test.rs:446:5:457:6 | LetStmt | test.rs:447:9:447:19 | ExprStmt | | -| test.rs:446:9:446:14 | result | test.rs:445:29:458:1 | BlockExpr | match | -| test.rs:446:18:457:5 | BlockExpr | test.rs:446:9:446:14 | result | | -| test.rs:447:9:447:16 | do_thing | test.rs:447:9:447:18 | CallExpr | | -| test.rs:447:9:447:18 | CallExpr | test.rs:448:9:450:9 | ExprStmt | | -| test.rs:447:9:447:19 | ExprStmt | test.rs:447:9:447:16 | do_thing | | -| test.rs:448:9:450:9 | ExprStmt | test.rs:448:12:448:28 | condition_not_met | | -| test.rs:448:9:450:9 | IfExpr | test.rs:451:9:451:24 | ExprStmt | | -| test.rs:448:12:448:28 | condition_not_met | test.rs:448:12:448:30 | CallExpr | | -| test.rs:448:12:448:30 | CallExpr | test.rs:448:9:450:9 | IfExpr | false | -| test.rs:448:12:448:30 | CallExpr | test.rs:449:13:449:27 | ExprStmt | true | -| test.rs:449:13:449:26 | BreakExpr | test.rs:446:18:457:5 | BlockExpr | break | -| test.rs:449:13:449:27 | ExprStmt | test.rs:449:26:449:26 | 1 | | -| test.rs:449:26:449:26 | 1 | test.rs:449:13:449:26 | BreakExpr | | -| test.rs:451:9:451:21 | do_next_thing | test.rs:451:9:451:23 | CallExpr | | -| test.rs:451:9:451:23 | CallExpr | test.rs:452:9:454:9 | ExprStmt | | -| test.rs:451:9:451:24 | ExprStmt | test.rs:451:9:451:21 | do_next_thing | | -| test.rs:452:9:454:9 | ExprStmt | test.rs:452:12:452:28 | condition_not_met | | -| test.rs:452:9:454:9 | IfExpr | test.rs:455:9:455:24 | ExprStmt | | -| test.rs:452:12:452:28 | condition_not_met | test.rs:452:12:452:30 | CallExpr | | -| test.rs:452:12:452:30 | CallExpr | test.rs:452:9:454:9 | IfExpr | false | -| test.rs:452:12:452:30 | CallExpr | test.rs:453:13:453:27 | ExprStmt | true | -| test.rs:453:13:453:26 | BreakExpr | test.rs:446:18:457:5 | BlockExpr | break | -| test.rs:453:13:453:27 | ExprStmt | test.rs:453:26:453:26 | 2 | | -| test.rs:453:26:453:26 | 2 | test.rs:453:13:453:26 | BreakExpr | | -| test.rs:455:9:455:21 | do_last_thing | test.rs:455:9:455:23 | CallExpr | | -| test.rs:455:9:455:23 | CallExpr | test.rs:456:9:456:9 | 3 | | -| test.rs:455:9:455:24 | ExprStmt | test.rs:455:9:455:21 | do_last_thing | | -| test.rs:456:9:456:9 | 3 | test.rs:446:18:457:5 | BlockExpr | | -| test.rs:460:1:468:1 | enter labelled_block2 | test.rs:461:5:467:6 | LetStmt | | -| test.rs:460:1:468:1 | exit labelled_block2 (normal) | test.rs:460:1:468:1 | exit labelled_block2 | | -| test.rs:460:29:468:1 | BlockExpr | test.rs:460:1:468:1 | exit labelled_block2 (normal) | | -| test.rs:461:5:467:6 | LetStmt | test.rs:462:9:462:34 | LetStmt | | -| test.rs:461:9:461:14 | result | test.rs:460:29:468:1 | BlockExpr | match | -| test.rs:461:18:467:5 | BlockExpr | test.rs:461:9:461:14 | result | | -| test.rs:462:9:462:34 | LetStmt | test.rs:462:30:462:33 | None | | -| test.rs:462:13:462:13 | x | test.rs:463:9:465:10 | LetStmt | match | -| test.rs:462:30:462:33 | None | test.rs:462:13:462:13 | x | | -| test.rs:463:9:465:10 | LetStmt | test.rs:463:23:463:23 | x | | -| test.rs:463:13:463:19 | TupleStructPat | test.rs:463:18:463:18 | y | match | -| test.rs:463:13:463:19 | TupleStructPat | test.rs:464:13:464:27 | ExprStmt | no-match | -| test.rs:463:18:463:18 | y | test.rs:466:9:466:9 | x | match | -| test.rs:463:23:463:23 | x | test.rs:463:13:463:19 | TupleStructPat | | -| test.rs:464:13:464:26 | BreakExpr | test.rs:461:18:467:5 | BlockExpr | break | -| test.rs:464:13:464:27 | ExprStmt | test.rs:464:26:464:26 | 1 | | -| test.rs:464:26:464:26 | 1 | test.rs:464:13:464:26 | BreakExpr | | -| test.rs:466:9:466:9 | x | test.rs:461:18:467:5 | BlockExpr | | -| test.rs:470:1:476:1 | enter test_nested_function | test.rs:471:5:471:18 | LetStmt | | -| test.rs:470:1:476:1 | exit test_nested_function (normal) | test.rs:470:1:476:1 | exit test_nested_function | | -| test.rs:470:27:476:1 | BlockExpr | test.rs:470:1:476:1 | exit test_nested_function (normal) | | -| test.rs:471:5:471:18 | LetStmt | test.rs:471:17:471:17 | 0 | | -| test.rs:471:9:471:13 | x | test.rs:472:5:474:5 | nested | match | -| test.rs:471:17:471:17 | 0 | test.rs:471:9:471:13 | x | | -| test.rs:472:5:474:5 | enter nested | test.rs:472:15:472:15 | x | | -| test.rs:472:5:474:5 | exit nested (normal) | test.rs:472:5:474:5 | exit nested | | -| test.rs:472:5:474:5 | nested | test.rs:475:5:475:19 | ExprStmt | | -| test.rs:472:15:472:15 | x | test.rs:472:15:472:25 | Param | match | -| test.rs:472:15:472:25 | Param | test.rs:473:9:473:16 | ExprStmt | | -| test.rs:472:28:474:5 | BlockExpr | test.rs:472:5:474:5 | exit nested (normal) | | -| test.rs:473:9:473:10 | * ... | test.rs:473:15:473:15 | 1 | | -| test.rs:473:9:473:15 | ... += ... | test.rs:472:28:474:5 | BlockExpr | | -| test.rs:473:9:473:16 | ExprStmt | test.rs:473:10:473:10 | x | | -| test.rs:473:10:473:10 | x | test.rs:473:9:473:10 | * ... | | -| test.rs:473:15:473:15 | 1 | test.rs:473:9:473:15 | ... += ... | | -| test.rs:475:5:475:10 | nested | test.rs:475:17:475:17 | x | | -| test.rs:475:5:475:18 | CallExpr | test.rs:470:27:476:1 | BlockExpr | | -| test.rs:475:5:475:19 | ExprStmt | test.rs:475:5:475:10 | nested | | -| test.rs:475:12:475:17 | RefExpr | test.rs:475:5:475:18 | CallExpr | | -| test.rs:475:17:475:17 | x | test.rs:475:12:475:17 | RefExpr | | +| test.rs:154:16:154:16 | c | test.rs:153:12:154:16 | [boolean(false)] ... && ... | false | +| test.rs:154:16:154:16 | c | test.rs:153:12:154:16 | [boolean(true)] ... && ... | true | +| test.rs:155:9:157:9 | BlockExpr | test.rs:153:9:159:9 | IfExpr | | +| test.rs:156:13:156:13 | d | test.rs:156:17:156:17 | 0 | | +| test.rs:156:13:156:17 | ... > ... | test.rs:155:9:157:9 | BlockExpr | | +| test.rs:156:17:156:17 | 0 | test.rs:156:13:156:17 | ... > ... | | +| test.rs:157:16:159:9 | BlockExpr | test.rs:153:9:159:9 | IfExpr | | +| test.rs:158:13:158:17 | false | test.rs:157:16:159:9 | BlockExpr | | +| test.rs:162:5:168:5 | enter test_nested_if | test.rs:162:23:162:23 | a | | +| test.rs:162:5:168:5 | exit test_nested_if (normal) | test.rs:162:5:168:5 | exit test_nested_if | | +| test.rs:162:23:162:23 | a | test.rs:162:23:162:28 | Param | match | +| test.rs:162:23:162:28 | Param | test.rs:163:16:163:16 | a | | +| test.rs:162:38:168:5 | BlockExpr | test.rs:162:5:168:5 | exit test_nested_if (normal) | | +| test.rs:163:9:167:9 | IfExpr | test.rs:162:38:168:5 | BlockExpr | | +| test.rs:163:13:163:48 | [boolean(false)] IfExpr | test.rs:166:13:166:13 | 0 | false | +| test.rs:163:13:163:48 | [boolean(true)] IfExpr | test.rs:164:13:164:13 | 1 | true | +| test.rs:163:16:163:16 | a | test.rs:163:20:163:20 | 0 | | +| test.rs:163:16:163:20 | ... < ... | test.rs:163:24:163:24 | a | true | +| test.rs:163:16:163:20 | ... < ... | test.rs:163:41:163:41 | a | false | +| test.rs:163:20:163:20 | 0 | test.rs:163:16:163:20 | ... < ... | | +| test.rs:163:22:163:32 | [boolean(false)] BlockExpr | test.rs:163:13:163:48 | [boolean(false)] IfExpr | false | +| test.rs:163:22:163:32 | [boolean(true)] BlockExpr | test.rs:163:13:163:48 | [boolean(true)] IfExpr | true | +| test.rs:163:24:163:24 | a | test.rs:163:29:163:30 | 10 | | +| test.rs:163:24:163:30 | ... < ... | test.rs:163:22:163:32 | [boolean(false)] BlockExpr | false | +| test.rs:163:24:163:30 | ... < ... | test.rs:163:22:163:32 | [boolean(true)] BlockExpr | true | +| test.rs:163:28:163:30 | - ... | test.rs:163:24:163:30 | ... < ... | | +| test.rs:163:29:163:30 | 10 | test.rs:163:28:163:30 | - ... | | +| test.rs:163:39:163:48 | [boolean(false)] BlockExpr | test.rs:163:13:163:48 | [boolean(false)] IfExpr | false | +| test.rs:163:39:163:48 | [boolean(true)] BlockExpr | test.rs:163:13:163:48 | [boolean(true)] IfExpr | true | +| test.rs:163:41:163:41 | a | test.rs:163:45:163:46 | 10 | | +| test.rs:163:41:163:46 | ... > ... | test.rs:163:39:163:48 | [boolean(false)] BlockExpr | false | +| test.rs:163:41:163:46 | ... > ... | test.rs:163:39:163:48 | [boolean(true)] BlockExpr | true | +| test.rs:163:45:163:46 | 10 | test.rs:163:41:163:46 | ... > ... | | +| test.rs:163:51:165:9 | BlockExpr | test.rs:163:9:167:9 | IfExpr | | +| test.rs:164:13:164:13 | 1 | test.rs:163:51:165:9 | BlockExpr | | +| test.rs:165:16:167:9 | BlockExpr | test.rs:163:9:167:9 | IfExpr | | +| test.rs:166:13:166:13 | 0 | test.rs:165:16:167:9 | BlockExpr | | +| test.rs:170:5:179:5 | enter test_nested_if_match | test.rs:170:29:170:29 | a | | +| test.rs:170:5:179:5 | exit test_nested_if_match (normal) | test.rs:170:5:179:5 | exit test_nested_if_match | | +| test.rs:170:29:170:29 | a | test.rs:170:29:170:34 | Param | match | +| test.rs:170:29:170:34 | Param | test.rs:171:19:171:19 | a | | +| test.rs:170:44:179:5 | BlockExpr | test.rs:170:5:179:5 | exit test_nested_if_match (normal) | | +| test.rs:171:9:178:9 | IfExpr | test.rs:170:44:179:5 | BlockExpr | | +| test.rs:171:13:174:9 | [boolean(false)] MatchExpr | test.rs:177:13:177:13 | 0 | false | +| test.rs:171:13:174:9 | [boolean(true)] MatchExpr | test.rs:175:13:175:13 | 1 | true | +| test.rs:171:19:171:19 | a | test.rs:172:13:172:13 | 0 | | +| test.rs:172:13:172:13 | 0 | test.rs:172:13:172:13 | LiteralPat | | +| test.rs:172:13:172:13 | LiteralPat | test.rs:172:18:172:21 | true | match | +| test.rs:172:13:172:13 | LiteralPat | test.rs:173:13:173:13 | WildcardPat | no-match | +| test.rs:172:18:172:21 | true | test.rs:171:13:174:9 | [boolean(true)] MatchExpr | true | +| test.rs:173:13:173:13 | WildcardPat | test.rs:173:18:173:22 | false | match | +| test.rs:173:18:173:22 | false | test.rs:171:13:174:9 | [boolean(false)] MatchExpr | false | +| test.rs:174:12:176:9 | BlockExpr | test.rs:171:9:178:9 | IfExpr | | +| test.rs:175:13:175:13 | 1 | test.rs:174:12:176:9 | BlockExpr | | +| test.rs:176:16:178:9 | BlockExpr | test.rs:171:9:178:9 | IfExpr | | +| test.rs:177:13:177:13 | 0 | test.rs:176:16:178:9 | BlockExpr | | +| test.rs:181:5:190:5 | enter test_nested_if_block | test.rs:181:29:181:29 | a | | +| test.rs:181:5:190:5 | exit test_nested_if_block (normal) | test.rs:181:5:190:5 | exit test_nested_if_block | | +| test.rs:181:29:181:29 | a | test.rs:181:29:181:34 | Param | match | +| test.rs:181:29:181:34 | Param | test.rs:183:13:183:15 | ExprStmt | | +| test.rs:181:44:190:5 | BlockExpr | test.rs:181:5:190:5 | exit test_nested_if_block (normal) | | +| test.rs:182:9:189:9 | IfExpr | test.rs:181:44:190:5 | BlockExpr | | +| test.rs:182:12:185:9 | [boolean(false)] BlockExpr | test.rs:188:13:188:13 | 0 | false | +| test.rs:182:12:185:9 | [boolean(true)] BlockExpr | test.rs:186:13:186:13 | 1 | true | +| test.rs:183:13:183:14 | TupleExpr | test.rs:184:13:184:13 | a | | +| test.rs:183:13:183:15 | ExprStmt | test.rs:183:13:183:14 | TupleExpr | | +| test.rs:184:13:184:13 | a | test.rs:184:17:184:17 | 0 | | +| test.rs:184:13:184:17 | ... > ... | test.rs:182:12:185:9 | [boolean(false)] BlockExpr | false | +| test.rs:184:13:184:17 | ... > ... | test.rs:182:12:185:9 | [boolean(true)] BlockExpr | true | +| test.rs:184:17:184:17 | 0 | test.rs:184:13:184:17 | ... > ... | | +| test.rs:185:11:187:9 | BlockExpr | test.rs:182:9:189:9 | IfExpr | | +| test.rs:186:13:186:13 | 1 | test.rs:185:11:187:9 | BlockExpr | | +| test.rs:187:16:189:9 | BlockExpr | test.rs:182:9:189:9 | IfExpr | | +| test.rs:188:13:188:13 | 0 | test.rs:187:16:189:9 | BlockExpr | | +| test.rs:192:5:199:5 | enter test_if_assignment | test.rs:192:27:192:27 | a | | +| test.rs:192:5:199:5 | exit test_if_assignment (normal) | test.rs:192:5:199:5 | exit test_if_assignment | | +| test.rs:192:27:192:27 | a | test.rs:192:27:192:32 | Param | match | +| test.rs:192:27:192:32 | Param | test.rs:193:9:193:26 | LetStmt | | +| test.rs:192:42:199:5 | BlockExpr | test.rs:192:5:199:5 | exit test_if_assignment (normal) | | +| test.rs:193:9:193:26 | LetStmt | test.rs:193:21:193:25 | false | | +| test.rs:193:13:193:17 | x | test.rs:194:12:194:12 | x | match | +| test.rs:193:21:193:25 | false | test.rs:193:13:193:17 | x | | +| test.rs:194:9:198:9 | IfExpr | test.rs:192:42:199:5 | BlockExpr | | +| test.rs:194:12:194:12 | x | test.rs:194:16:194:19 | true | | +| test.rs:194:12:194:19 | ... = ... | test.rs:195:13:195:13 | 1 | true | +| test.rs:194:12:194:19 | ... = ... | test.rs:197:13:197:13 | 0 | false | +| test.rs:194:16:194:19 | true | test.rs:194:12:194:19 | ... = ... | | +| test.rs:194:21:196:9 | BlockExpr | test.rs:194:9:198:9 | IfExpr | | +| test.rs:195:13:195:13 | 1 | test.rs:194:21:196:9 | BlockExpr | | +| test.rs:196:16:198:9 | BlockExpr | test.rs:194:9:198:9 | IfExpr | | +| test.rs:197:13:197:13 | 0 | test.rs:196:16:198:9 | BlockExpr | | +| test.rs:201:5:212:5 | enter test_if_loop1 | test.rs:201:22:201:22 | a | | +| test.rs:201:5:212:5 | exit test_if_loop1 (normal) | test.rs:201:5:212:5 | exit test_if_loop1 | | +| test.rs:201:22:201:22 | a | test.rs:201:22:201:27 | Param | match | +| test.rs:201:22:201:27 | Param | test.rs:203:13:205:14 | ExprStmt | | +| test.rs:201:37:212:5 | BlockExpr | test.rs:201:5:212:5 | exit test_if_loop1 (normal) | | +| test.rs:202:9:211:9 | IfExpr | test.rs:201:37:212:5 | BlockExpr | | +| test.rs:202:13:207:9 | [boolean(false)] LoopExpr | test.rs:210:13:210:13 | 0 | false | +| test.rs:202:13:207:9 | [boolean(true)] LoopExpr | test.rs:208:13:208:13 | 1 | true | +| test.rs:202:18:207:9 | BlockExpr | test.rs:203:13:205:14 | ExprStmt | | +| test.rs:203:13:205:13 | IfExpr | test.rs:206:13:206:19 | ExprStmt | | +| test.rs:203:13:205:14 | ExprStmt | test.rs:203:16:203:16 | a | | +| test.rs:203:16:203:16 | a | test.rs:203:20:203:20 | 0 | | +| test.rs:203:16:203:20 | ... > ... | test.rs:203:13:205:13 | IfExpr | false | +| test.rs:203:16:203:20 | ... > ... | test.rs:204:17:204:29 | ExprStmt | true | +| test.rs:203:20:203:20 | 0 | test.rs:203:16:203:20 | ... > ... | | +| test.rs:204:17:204:28 | [boolean(false)] BreakExpr | test.rs:202:13:207:9 | [boolean(false)] LoopExpr | break | +| test.rs:204:17:204:28 | [boolean(true)] BreakExpr | test.rs:202:13:207:9 | [boolean(true)] LoopExpr | break | +| test.rs:204:17:204:29 | ExprStmt | test.rs:204:23:204:23 | a | | +| test.rs:204:23:204:23 | a | test.rs:204:27:204:28 | 10 | | +| test.rs:204:23:204:28 | ... > ... | test.rs:204:17:204:28 | [boolean(false)] BreakExpr | false | +| test.rs:204:23:204:28 | ... > ... | test.rs:204:17:204:28 | [boolean(true)] BreakExpr | true | +| test.rs:204:27:204:28 | 10 | test.rs:204:23:204:28 | ... > ... | | +| test.rs:206:13:206:13 | a | test.rs:206:17:206:18 | 10 | | +| test.rs:206:13:206:18 | ... < ... | test.rs:202:18:207:9 | BlockExpr | | +| test.rs:206:13:206:19 | ExprStmt | test.rs:206:13:206:13 | a | | +| test.rs:206:17:206:18 | 10 | test.rs:206:13:206:18 | ... < ... | | +| test.rs:207:12:209:9 | BlockExpr | test.rs:202:9:211:9 | IfExpr | | +| test.rs:208:13:208:13 | 1 | test.rs:207:12:209:9 | BlockExpr | | +| test.rs:209:16:211:9 | BlockExpr | test.rs:202:9:211:9 | IfExpr | | +| test.rs:210:13:210:13 | 0 | test.rs:209:16:211:9 | BlockExpr | | +| test.rs:214:5:225:5 | enter test_if_loop2 | test.rs:214:22:214:22 | a | | +| test.rs:214:5:225:5 | exit test_if_loop2 (normal) | test.rs:214:5:225:5 | exit test_if_loop2 | | +| test.rs:214:22:214:22 | a | test.rs:214:22:214:27 | Param | match | +| test.rs:214:22:214:27 | Param | test.rs:216:13:218:14 | ExprStmt | | +| test.rs:214:37:225:5 | BlockExpr | test.rs:214:5:225:5 | exit test_if_loop2 (normal) | | +| test.rs:215:9:224:9 | IfExpr | test.rs:214:37:225:5 | BlockExpr | | +| test.rs:215:13:220:9 | [boolean(false)] LoopExpr | test.rs:223:13:223:13 | 0 | false | +| test.rs:215:13:220:9 | [boolean(true)] LoopExpr | test.rs:221:13:221:13 | 1 | true | +| test.rs:215:26:220:9 | BlockExpr | test.rs:216:13:218:14 | ExprStmt | | +| test.rs:216:13:218:13 | IfExpr | test.rs:219:13:219:19 | ExprStmt | | +| test.rs:216:13:218:14 | ExprStmt | test.rs:216:16:216:16 | a | | +| test.rs:216:16:216:16 | a | test.rs:216:20:216:20 | 0 | | +| test.rs:216:16:216:20 | ... > ... | test.rs:216:13:218:13 | IfExpr | false | +| test.rs:216:16:216:20 | ... > ... | test.rs:217:17:217:36 | ExprStmt | true | +| test.rs:216:20:216:20 | 0 | test.rs:216:16:216:20 | ... > ... | | +| test.rs:217:17:217:35 | [boolean(false)] BreakExpr | test.rs:215:13:220:9 | [boolean(false)] LoopExpr | break | +| test.rs:217:17:217:35 | [boolean(true)] BreakExpr | test.rs:215:13:220:9 | [boolean(true)] LoopExpr | break | +| test.rs:217:17:217:36 | ExprStmt | test.rs:217:30:217:30 | a | | +| test.rs:217:30:217:30 | a | test.rs:217:34:217:35 | 10 | | +| test.rs:217:30:217:35 | ... > ... | test.rs:217:17:217:35 | [boolean(false)] BreakExpr | false | +| test.rs:217:30:217:35 | ... > ... | test.rs:217:17:217:35 | [boolean(true)] BreakExpr | true | +| test.rs:217:34:217:35 | 10 | test.rs:217:30:217:35 | ... > ... | | +| test.rs:219:13:219:13 | a | test.rs:219:17:219:18 | 10 | | +| test.rs:219:13:219:18 | ... < ... | test.rs:215:26:220:9 | BlockExpr | | +| test.rs:219:13:219:19 | ExprStmt | test.rs:219:13:219:13 | a | | +| test.rs:219:17:219:18 | 10 | test.rs:219:13:219:18 | ... < ... | | +| test.rs:220:12:222:9 | BlockExpr | test.rs:215:9:224:9 | IfExpr | | +| test.rs:221:13:221:13 | 1 | test.rs:220:12:222:9 | BlockExpr | | +| test.rs:222:16:224:9 | BlockExpr | test.rs:215:9:224:9 | IfExpr | | +| test.rs:223:13:223:13 | 0 | test.rs:222:16:224:9 | BlockExpr | | +| test.rs:227:5:235:5 | enter test_labelled_block | test.rs:227:28:227:28 | a | | +| test.rs:227:5:235:5 | exit test_labelled_block (normal) | test.rs:227:5:235:5 | exit test_labelled_block | | +| test.rs:227:28:227:28 | a | test.rs:227:28:227:33 | Param | match | +| test.rs:227:28:227:33 | Param | test.rs:229:13:229:31 | ExprStmt | | +| test.rs:227:43:235:5 | BlockExpr | test.rs:227:5:235:5 | exit test_labelled_block (normal) | | +| test.rs:228:9:234:9 | IfExpr | test.rs:227:43:235:5 | BlockExpr | | +| test.rs:228:13:230:9 | [boolean(false)] BlockExpr | test.rs:233:13:233:13 | 0 | false | +| test.rs:228:13:230:9 | [boolean(true)] BlockExpr | test.rs:231:13:231:13 | 1 | true | +| test.rs:229:13:229:30 | [boolean(false)] BreakExpr | test.rs:228:13:230:9 | [boolean(false)] BlockExpr | break | +| test.rs:229:13:229:30 | [boolean(true)] BreakExpr | test.rs:228:13:230:9 | [boolean(true)] BlockExpr | break | +| test.rs:229:13:229:31 | ExprStmt | test.rs:229:26:229:26 | a | | +| test.rs:229:26:229:26 | a | test.rs:229:30:229:30 | 0 | | +| test.rs:229:26:229:30 | ... > ... | test.rs:229:13:229:30 | [boolean(false)] BreakExpr | false | +| test.rs:229:26:229:30 | ... > ... | test.rs:229:13:229:30 | [boolean(true)] BreakExpr | true | +| test.rs:229:30:229:30 | 0 | test.rs:229:26:229:30 | ... > ... | | +| test.rs:230:12:232:9 | BlockExpr | test.rs:228:9:234:9 | IfExpr | | +| test.rs:231:13:231:13 | 1 | test.rs:230:12:232:9 | BlockExpr | | +| test.rs:232:16:234:9 | BlockExpr | test.rs:228:9:234:9 | IfExpr | | +| test.rs:233:13:233:13 | 0 | test.rs:232:16:234:9 | BlockExpr | | +| test.rs:240:5:243:5 | enter test_and_operator | test.rs:240:26:240:26 | a | | +| test.rs:240:5:243:5 | exit test_and_operator (normal) | test.rs:240:5:243:5 | exit test_and_operator | | +| test.rs:240:26:240:26 | a | test.rs:240:26:240:32 | Param | match | +| test.rs:240:26:240:32 | Param | test.rs:240:35:240:35 | b | | +| test.rs:240:35:240:35 | b | test.rs:240:35:240:41 | Param | match | +| test.rs:240:35:240:41 | Param | test.rs:240:44:240:44 | c | | +| test.rs:240:44:240:44 | c | test.rs:240:44:240:50 | Param | match | +| test.rs:240:44:240:50 | Param | test.rs:241:9:241:28 | LetStmt | | +| test.rs:240:61:243:5 | BlockExpr | test.rs:240:5:243:5 | exit test_and_operator (normal) | | +| test.rs:241:9:241:28 | LetStmt | test.rs:241:17:241:17 | a | | +| test.rs:241:13:241:13 | d | test.rs:242:9:242:9 | d | match | +| test.rs:241:17:241:17 | a | test.rs:241:17:241:22 | [boolean(false)] ... && ... | false | +| test.rs:241:17:241:17 | a | test.rs:241:22:241:22 | b | true | +| test.rs:241:17:241:22 | [boolean(false)] ... && ... | test.rs:241:17:241:27 | ... && ... | false | +| test.rs:241:17:241:22 | [boolean(true)] ... && ... | test.rs:241:27:241:27 | c | true | +| test.rs:241:17:241:27 | ... && ... | test.rs:241:13:241:13 | d | | +| test.rs:241:22:241:22 | b | test.rs:241:17:241:22 | [boolean(false)] ... && ... | false | +| test.rs:241:22:241:22 | b | test.rs:241:17:241:22 | [boolean(true)] ... && ... | true | +| test.rs:241:27:241:27 | c | test.rs:241:17:241:27 | ... && ... | | +| test.rs:242:9:242:9 | d | test.rs:240:61:243:5 | BlockExpr | | +| test.rs:245:5:248:5 | enter test_or_operator | test.rs:245:25:245:25 | a | | +| test.rs:245:5:248:5 | exit test_or_operator (normal) | test.rs:245:5:248:5 | exit test_or_operator | | +| test.rs:245:25:245:25 | a | test.rs:245:25:245:31 | Param | match | +| test.rs:245:25:245:31 | Param | test.rs:245:34:245:34 | b | | +| test.rs:245:34:245:34 | b | test.rs:245:34:245:40 | Param | match | +| test.rs:245:34:245:40 | Param | test.rs:245:43:245:43 | c | | +| test.rs:245:43:245:43 | c | test.rs:245:43:245:49 | Param | match | +| test.rs:245:43:245:49 | Param | test.rs:246:9:246:28 | LetStmt | | +| test.rs:245:60:248:5 | BlockExpr | test.rs:245:5:248:5 | exit test_or_operator (normal) | | +| test.rs:246:9:246:28 | LetStmt | test.rs:246:17:246:17 | a | | +| test.rs:246:13:246:13 | d | test.rs:247:9:247:9 | d | match | +| test.rs:246:17:246:17 | a | test.rs:246:17:246:22 | [boolean(true)] ... \|\| ... | true | +| test.rs:246:17:246:17 | a | test.rs:246:22:246:22 | b | false | +| test.rs:246:17:246:22 | [boolean(false)] ... \|\| ... | test.rs:246:27:246:27 | c | false | +| test.rs:246:17:246:22 | [boolean(true)] ... \|\| ... | test.rs:246:17:246:27 | ... \|\| ... | true | +| test.rs:246:17:246:27 | ... \|\| ... | test.rs:246:13:246:13 | d | | +| test.rs:246:22:246:22 | b | test.rs:246:17:246:22 | [boolean(false)] ... \|\| ... | false | +| test.rs:246:22:246:22 | b | test.rs:246:17:246:22 | [boolean(true)] ... \|\| ... | true | +| test.rs:246:27:246:27 | c | test.rs:246:17:246:27 | ... \|\| ... | | +| test.rs:247:9:247:9 | d | test.rs:245:60:248:5 | BlockExpr | | +| test.rs:250:5:253:5 | enter test_or_operator_2 | test.rs:250:27:250:27 | a | | +| test.rs:250:5:253:5 | exit test_or_operator_2 (normal) | test.rs:250:5:253:5 | exit test_or_operator_2 | | +| test.rs:250:27:250:27 | a | test.rs:250:27:250:33 | Param | match | +| test.rs:250:27:250:33 | Param | test.rs:250:36:250:36 | b | | +| test.rs:250:36:250:36 | b | test.rs:250:36:250:41 | Param | match | +| test.rs:250:36:250:41 | Param | test.rs:250:44:250:44 | c | | +| test.rs:250:44:250:44 | c | test.rs:250:44:250:50 | Param | match | +| test.rs:250:44:250:50 | Param | test.rs:251:9:251:36 | LetStmt | | +| test.rs:250:61:253:5 | BlockExpr | test.rs:250:5:253:5 | exit test_or_operator_2 (normal) | | +| test.rs:251:9:251:36 | LetStmt | test.rs:251:17:251:17 | a | | +| test.rs:251:13:251:13 | d | test.rs:252:9:252:9 | d | match | +| test.rs:251:17:251:17 | a | test.rs:251:17:251:30 | [boolean(true)] ... \|\| ... | true | +| test.rs:251:17:251:17 | a | test.rs:251:23:251:23 | b | false | +| test.rs:251:17:251:30 | [boolean(false)] ... \|\| ... | test.rs:251:35:251:35 | c | false | +| test.rs:251:17:251:30 | [boolean(true)] ... \|\| ... | test.rs:251:17:251:35 | ... \|\| ... | true | +| test.rs:251:17:251:35 | ... \|\| ... | test.rs:251:13:251:13 | d | | +| test.rs:251:23:251:23 | b | test.rs:251:28:251:29 | 28 | | +| test.rs:251:23:251:29 | ... == ... | test.rs:251:17:251:30 | [boolean(false)] ... \|\| ... | false | +| test.rs:251:23:251:29 | ... == ... | test.rs:251:17:251:30 | [boolean(true)] ... \|\| ... | true | +| test.rs:251:28:251:29 | 28 | test.rs:251:23:251:29 | ... == ... | | +| test.rs:251:35:251:35 | c | test.rs:251:17:251:35 | ... \|\| ... | | +| test.rs:252:9:252:9 | d | test.rs:250:61:253:5 | BlockExpr | | +| test.rs:255:5:258:5 | enter test_not_operator | test.rs:255:26:255:26 | a | | +| test.rs:255:5:258:5 | exit test_not_operator (normal) | test.rs:255:5:258:5 | exit test_not_operator | | +| test.rs:255:26:255:26 | a | test.rs:255:26:255:32 | Param | match | +| test.rs:255:26:255:32 | Param | test.rs:256:9:256:19 | LetStmt | | +| test.rs:255:43:258:5 | BlockExpr | test.rs:255:5:258:5 | exit test_not_operator (normal) | | +| test.rs:256:9:256:19 | LetStmt | test.rs:256:18:256:18 | a | | +| test.rs:256:13:256:13 | d | test.rs:257:9:257:9 | d | match | +| test.rs:256:17:256:18 | ! ... | test.rs:256:13:256:13 | d | | +| test.rs:256:18:256:18 | a | test.rs:256:17:256:18 | ! ... | | +| test.rs:257:9:257:9 | d | test.rs:255:43:258:5 | BlockExpr | | +| test.rs:260:5:266:5 | enter test_if_and_operator | test.rs:260:29:260:29 | a | | +| test.rs:260:5:266:5 | exit test_if_and_operator (normal) | test.rs:260:5:266:5 | exit test_if_and_operator | | +| test.rs:260:29:260:29 | a | test.rs:260:29:260:35 | Param | match | +| test.rs:260:29:260:35 | Param | test.rs:260:38:260:38 | b | | +| test.rs:260:38:260:38 | b | test.rs:260:38:260:43 | Param | match | +| test.rs:260:38:260:43 | Param | test.rs:260:46:260:46 | c | | +| test.rs:260:46:260:46 | c | test.rs:260:46:260:52 | Param | match | +| test.rs:260:46:260:52 | Param | test.rs:261:12:261:12 | a | | +| test.rs:260:63:266:5 | BlockExpr | test.rs:260:5:266:5 | exit test_if_and_operator (normal) | | +| test.rs:261:9:265:9 | IfExpr | test.rs:260:63:266:5 | BlockExpr | | +| test.rs:261:12:261:12 | a | test.rs:261:12:261:17 | [boolean(false)] ... && ... | false | +| test.rs:261:12:261:12 | a | test.rs:261:17:261:17 | b | true | +| test.rs:261:12:261:17 | [boolean(false)] ... && ... | test.rs:261:12:261:22 | [boolean(false)] ... && ... | false | +| test.rs:261:12:261:17 | [boolean(true)] ... && ... | test.rs:261:22:261:22 | c | true | +| test.rs:261:12:261:22 | [boolean(false)] ... && ... | test.rs:264:13:264:17 | false | false | +| test.rs:261:12:261:22 | [boolean(true)] ... && ... | test.rs:262:13:262:16 | true | true | +| test.rs:261:17:261:17 | b | test.rs:261:12:261:17 | [boolean(false)] ... && ... | false | +| test.rs:261:17:261:17 | b | test.rs:261:12:261:17 | [boolean(true)] ... && ... | true | +| test.rs:261:22:261:22 | c | test.rs:261:12:261:22 | [boolean(false)] ... && ... | false | +| test.rs:261:22:261:22 | c | test.rs:261:12:261:22 | [boolean(true)] ... && ... | true | +| test.rs:261:24:263:9 | BlockExpr | test.rs:261:9:265:9 | IfExpr | | +| test.rs:262:13:262:16 | true | test.rs:261:24:263:9 | BlockExpr | | +| test.rs:263:16:265:9 | BlockExpr | test.rs:261:9:265:9 | IfExpr | | +| test.rs:264:13:264:17 | false | test.rs:263:16:265:9 | BlockExpr | | +| test.rs:268:5:274:5 | enter test_if_or_operator | test.rs:268:28:268:28 | a | | +| test.rs:268:5:274:5 | exit test_if_or_operator (normal) | test.rs:268:5:274:5 | exit test_if_or_operator | | +| test.rs:268:28:268:28 | a | test.rs:268:28:268:34 | Param | match | +| test.rs:268:28:268:34 | Param | test.rs:268:37:268:37 | b | | +| test.rs:268:37:268:37 | b | test.rs:268:37:268:42 | Param | match | +| test.rs:268:37:268:42 | Param | test.rs:268:45:268:45 | c | | +| test.rs:268:45:268:45 | c | test.rs:268:45:268:51 | Param | match | +| test.rs:268:45:268:51 | Param | test.rs:269:12:269:12 | a | | +| test.rs:268:62:274:5 | BlockExpr | test.rs:268:5:274:5 | exit test_if_or_operator (normal) | | +| test.rs:269:9:273:9 | IfExpr | test.rs:268:62:274:5 | BlockExpr | | +| test.rs:269:12:269:12 | a | test.rs:269:12:269:17 | [boolean(true)] ... \|\| ... | true | +| test.rs:269:12:269:12 | a | test.rs:269:17:269:17 | b | false | +| test.rs:269:12:269:17 | [boolean(false)] ... \|\| ... | test.rs:269:22:269:22 | c | false | +| test.rs:269:12:269:17 | [boolean(true)] ... \|\| ... | test.rs:269:12:269:22 | [boolean(true)] ... \|\| ... | true | +| test.rs:269:12:269:22 | [boolean(false)] ... \|\| ... | test.rs:272:13:272:17 | false | false | +| test.rs:269:12:269:22 | [boolean(true)] ... \|\| ... | test.rs:270:13:270:16 | true | true | +| test.rs:269:17:269:17 | b | test.rs:269:12:269:17 | [boolean(false)] ... \|\| ... | false | +| test.rs:269:17:269:17 | b | test.rs:269:12:269:17 | [boolean(true)] ... \|\| ... | true | +| test.rs:269:22:269:22 | c | test.rs:269:12:269:22 | [boolean(false)] ... \|\| ... | false | +| test.rs:269:22:269:22 | c | test.rs:269:12:269:22 | [boolean(true)] ... \|\| ... | true | +| test.rs:269:24:271:9 | BlockExpr | test.rs:269:9:273:9 | IfExpr | | +| test.rs:270:13:270:16 | true | test.rs:269:24:271:9 | BlockExpr | | +| test.rs:271:16:273:9 | BlockExpr | test.rs:269:9:273:9 | IfExpr | | +| test.rs:272:13:272:17 | false | test.rs:271:16:273:9 | BlockExpr | | +| test.rs:276:5:282:5 | enter test_if_not_operator | test.rs:276:29:276:29 | a | | +| test.rs:276:5:282:5 | exit test_if_not_operator (normal) | test.rs:276:5:282:5 | exit test_if_not_operator | | +| test.rs:276:29:276:29 | a | test.rs:276:29:276:35 | Param | match | +| test.rs:276:29:276:35 | Param | test.rs:277:13:277:13 | a | | +| test.rs:276:46:282:5 | BlockExpr | test.rs:276:5:282:5 | exit test_if_not_operator (normal) | | +| test.rs:277:9:281:9 | IfExpr | test.rs:276:46:282:5 | BlockExpr | | +| test.rs:277:12:277:13 | [boolean(false)] ! ... | test.rs:280:13:280:17 | false | false | +| test.rs:277:12:277:13 | [boolean(true)] ! ... | test.rs:278:13:278:16 | true | true | +| test.rs:277:13:277:13 | a | test.rs:277:12:277:13 | [boolean(false)] ! ... | true | +| test.rs:277:13:277:13 | a | test.rs:277:12:277:13 | [boolean(true)] ! ... | false | +| test.rs:277:15:279:9 | BlockExpr | test.rs:277:9:281:9 | IfExpr | | +| test.rs:278:13:278:16 | true | test.rs:277:15:279:9 | BlockExpr | | +| test.rs:279:16:281:9 | BlockExpr | test.rs:277:9:281:9 | IfExpr | | +| test.rs:280:13:280:17 | false | test.rs:279:16:281:9 | BlockExpr | | +| test.rs:284:5:286:5 | enter test_and_return | test.rs:284:24:284:24 | a | | +| test.rs:284:5:286:5 | exit test_and_return (normal) | test.rs:284:5:286:5 | exit test_and_return | | +| test.rs:284:24:284:24 | a | test.rs:284:24:284:30 | Param | match | +| test.rs:284:24:284:30 | Param | test.rs:285:9:285:20 | ExprStmt | | +| test.rs:284:33:286:5 | BlockExpr | test.rs:284:5:286:5 | exit test_and_return (normal) | | +| test.rs:285:9:285:9 | a | test.rs:285:9:285:19 | ... && ... | false | +| test.rs:285:9:285:9 | a | test.rs:285:14:285:19 | ReturnExpr | true | +| test.rs:285:9:285:19 | ... && ... | test.rs:284:33:286:5 | BlockExpr | | +| test.rs:285:9:285:20 | ExprStmt | test.rs:285:9:285:9 | a | | +| test.rs:285:14:285:19 | ReturnExpr | test.rs:284:5:286:5 | exit test_and_return (normal) | return | +| test.rs:291:5:293:5 | enter test_question_mark_operator_1 | test.rs:291:38:291:38 | s | | +| test.rs:291:5:293:5 | exit test_question_mark_operator_1 (normal) | test.rs:291:5:293:5 | exit test_question_mark_operator_1 | | +| test.rs:291:38:291:38 | s | test.rs:291:38:291:44 | Param | match | +| test.rs:291:38:291:44 | Param | test.rs:292:9:292:11 | str | | +| test.rs:291:62:293:5 | BlockExpr | test.rs:291:5:293:5 | exit test_question_mark_operator_1 (normal) | | +| test.rs:292:9:292:11 | str | test.rs:292:9:292:26 | ... .parse(...) | | +| test.rs:292:9:292:26 | ... .parse(...) | test.rs:292:9:292:27 | TryExpr | | +| test.rs:292:9:292:27 | TryExpr | test.rs:291:5:293:5 | exit test_question_mark_operator_1 (normal) | return | +| test.rs:292:9:292:27 | TryExpr | test.rs:292:31:292:31 | 4 | match | +| test.rs:292:9:292:31 | ... + ... | test.rs:291:62:293:5 | BlockExpr | | +| test.rs:292:31:292:31 | 4 | test.rs:292:9:292:31 | ... + ... | | +| test.rs:295:5:300:5 | enter test_question_mark_operator_2 | test.rs:295:38:295:38 | b | | +| test.rs:295:5:300:5 | exit test_question_mark_operator_2 (normal) | test.rs:295:5:300:5 | exit test_question_mark_operator_2 | | +| test.rs:295:38:295:38 | b | test.rs:295:38:295:52 | Param | match | +| test.rs:295:38:295:52 | Param | test.rs:296:15:296:15 | b | | +| test.rs:295:71:300:5 | BlockExpr | test.rs:295:5:300:5 | exit test_question_mark_operator_2 (normal) | | +| test.rs:296:9:299:9 | MatchExpr | test.rs:295:71:300:5 | BlockExpr | | +| test.rs:296:15:296:15 | b | test.rs:296:15:296:16 | TryExpr | | +| test.rs:296:15:296:16 | TryExpr | test.rs:295:5:300:5 | exit test_question_mark_operator_2 (normal) | return | +| test.rs:296:15:296:16 | TryExpr | test.rs:297:13:297:16 | true | match | +| test.rs:297:13:297:16 | LiteralPat | test.rs:297:21:297:24 | Some | match | +| test.rs:297:13:297:16 | LiteralPat | test.rs:298:13:298:17 | false | no-match | +| test.rs:297:13:297:16 | true | test.rs:297:13:297:16 | LiteralPat | | +| test.rs:297:21:297:24 | Some | test.rs:297:26:297:30 | false | | +| test.rs:297:21:297:31 | CallExpr | test.rs:296:9:299:9 | MatchExpr | | +| test.rs:297:26:297:30 | false | test.rs:297:21:297:31 | CallExpr | | +| test.rs:298:13:298:17 | LiteralPat | test.rs:298:22:298:25 | Some | match | +| test.rs:298:13:298:17 | false | test.rs:298:13:298:17 | LiteralPat | | +| test.rs:298:22:298:25 | Some | test.rs:298:27:298:30 | true | | +| test.rs:298:22:298:31 | CallExpr | test.rs:296:9:299:9 | MatchExpr | | +| test.rs:298:27:298:30 | true | test.rs:298:22:298:31 | CallExpr | | +| test.rs:305:5:311:5 | enter test_match | test.rs:305:19:305:29 | maybe_digit | | +| test.rs:305:5:311:5 | exit test_match (normal) | test.rs:305:5:311:5 | exit test_match | | +| test.rs:305:19:305:29 | maybe_digit | test.rs:305:19:305:42 | Param | match | +| test.rs:305:19:305:42 | Param | test.rs:306:15:306:25 | maybe_digit | | +| test.rs:305:52:311:5 | BlockExpr | test.rs:305:5:311:5 | exit test_match (normal) | | +| test.rs:306:9:310:9 | MatchExpr | test.rs:305:52:311:5 | BlockExpr | | +| test.rs:306:15:306:25 | maybe_digit | test.rs:307:13:307:27 | TupleStructPat | | +| test.rs:307:13:307:27 | TupleStructPat | test.rs:307:26:307:26 | x | match | +| test.rs:307:13:307:27 | TupleStructPat | test.rs:308:13:308:27 | TupleStructPat | no-match | +| test.rs:307:26:307:26 | x | test.rs:307:32:307:32 | x | match | +| test.rs:307:32:307:32 | x | test.rs:307:36:307:37 | 10 | | +| test.rs:307:32:307:37 | ... < ... | test.rs:307:42:307:42 | x | true | +| test.rs:307:32:307:37 | ... < ... | test.rs:308:13:308:27 | TupleStructPat | false | +| test.rs:307:36:307:37 | 10 | test.rs:307:32:307:37 | ... < ... | | +| test.rs:307:42:307:42 | x | test.rs:307:46:307:46 | 5 | | +| test.rs:307:42:307:46 | ... + ... | test.rs:306:9:310:9 | MatchExpr | | +| test.rs:307:46:307:46 | 5 | test.rs:307:42:307:46 | ... + ... | | +| test.rs:308:13:308:27 | TupleStructPat | test.rs:308:26:308:26 | x | match | +| test.rs:308:13:308:27 | TupleStructPat | test.rs:309:13:309:24 | PathPat | no-match | +| test.rs:308:26:308:26 | x | test.rs:308:32:308:32 | x | match | +| test.rs:308:32:308:32 | x | test.rs:306:9:310:9 | MatchExpr | | +| test.rs:309:13:309:24 | PathPat | test.rs:309:29:309:29 | 5 | match | +| test.rs:309:29:309:29 | 5 | test.rs:306:9:310:9 | MatchExpr | | +| test.rs:313:5:322:5 | enter test_match_with_return_in_scrutinee | test.rs:313:44:313:54 | maybe_digit | | +| test.rs:313:5:322:5 | exit test_match_with_return_in_scrutinee (normal) | test.rs:313:5:322:5 | exit test_match_with_return_in_scrutinee | | +| test.rs:313:44:313:54 | maybe_digit | test.rs:313:44:313:67 | Param | match | +| test.rs:313:44:313:67 | Param | test.rs:314:19:314:29 | maybe_digit | | +| test.rs:313:77:322:5 | BlockExpr | test.rs:313:5:322:5 | exit test_match_with_return_in_scrutinee (normal) | | +| test.rs:314:9:321:9 | MatchExpr | test.rs:313:77:322:5 | BlockExpr | | +| test.rs:314:16:318:9 | IfExpr | test.rs:319:13:319:27 | TupleStructPat | | +| test.rs:314:19:314:29 | maybe_digit | test.rs:314:34:314:37 | Some | | +| test.rs:314:19:314:40 | ... == ... | test.rs:315:13:315:21 | ExprStmt | true | +| test.rs:314:19:314:40 | ... == ... | test.rs:317:13:317:23 | maybe_digit | false | +| test.rs:314:34:314:37 | Some | test.rs:314:39:314:39 | 3 | | +| test.rs:314:34:314:40 | CallExpr | test.rs:314:19:314:40 | ... == ... | | +| test.rs:314:39:314:39 | 3 | test.rs:314:34:314:40 | CallExpr | | +| test.rs:315:13:315:20 | ReturnExpr | test.rs:313:5:322:5 | exit test_match_with_return_in_scrutinee (normal) | return | +| test.rs:315:13:315:21 | ExprStmt | test.rs:315:20:315:20 | 3 | | +| test.rs:315:20:315:20 | 3 | test.rs:315:13:315:20 | ReturnExpr | | +| test.rs:316:16:318:9 | BlockExpr | test.rs:314:16:318:9 | IfExpr | | +| test.rs:317:13:317:23 | maybe_digit | test.rs:316:16:318:9 | BlockExpr | | +| test.rs:319:13:319:27 | TupleStructPat | test.rs:319:26:319:26 | x | match | +| test.rs:319:13:319:27 | TupleStructPat | test.rs:320:13:320:24 | PathPat | no-match | +| test.rs:319:26:319:26 | x | test.rs:319:32:319:32 | x | match | +| test.rs:319:32:319:32 | x | test.rs:319:36:319:36 | 5 | | +| test.rs:319:32:319:36 | ... + ... | test.rs:314:9:321:9 | MatchExpr | | +| test.rs:319:36:319:36 | 5 | test.rs:319:32:319:36 | ... + ... | | +| test.rs:320:13:320:24 | PathPat | test.rs:320:29:320:29 | 5 | match | +| test.rs:320:29:320:29 | 5 | test.rs:314:9:321:9 | MatchExpr | | +| test.rs:324:5:329:5 | enter test_match_and | test.rs:324:23:324:26 | cond | | +| test.rs:324:5:329:5 | exit test_match_and (normal) | test.rs:324:5:329:5 | exit test_match_and | | +| test.rs:324:23:324:26 | cond | test.rs:324:23:324:32 | Param | match | +| test.rs:324:23:324:32 | Param | test.rs:324:35:324:35 | r | | +| test.rs:324:35:324:35 | r | test.rs:324:35:324:48 | Param | match | +| test.rs:324:35:324:48 | Param | test.rs:325:16:325:16 | r | | +| test.rs:324:59:329:5 | BlockExpr | test.rs:324:5:329:5 | exit test_match_and (normal) | | +| test.rs:325:9:328:18 | ... && ... | test.rs:324:59:329:5 | BlockExpr | | +| test.rs:325:10:328:9 | [boolean(false)] MatchExpr | test.rs:325:9:328:18 | ... && ... | false | +| test.rs:325:10:328:9 | [boolean(true)] MatchExpr | test.rs:328:15:328:18 | cond | true | +| test.rs:325:16:325:16 | r | test.rs:326:13:326:19 | TupleStructPat | | +| test.rs:326:13:326:19 | TupleStructPat | test.rs:326:18:326:18 | a | match | +| test.rs:326:13:326:19 | TupleStructPat | test.rs:327:13:327:13 | WildcardPat | no-match | +| test.rs:326:18:326:18 | a | test.rs:326:24:326:24 | a | match | +| test.rs:326:24:326:24 | a | test.rs:325:10:328:9 | [boolean(false)] MatchExpr | false | +| test.rs:326:24:326:24 | a | test.rs:325:10:328:9 | [boolean(true)] MatchExpr | true | +| test.rs:327:13:327:13 | WildcardPat | test.rs:327:18:327:22 | false | match | +| test.rs:327:18:327:22 | false | test.rs:325:10:328:9 | [boolean(false)] MatchExpr | false | +| test.rs:328:15:328:18 | cond | test.rs:325:9:328:18 | ... && ... | | +| test.rs:331:5:336:5 | enter test_match_with_no_arms | test.rs:331:35:331:35 | r | | +| test.rs:331:5:336:5 | exit test_match_with_no_arms (normal) | test.rs:331:5:336:5 | exit test_match_with_no_arms | | +| test.rs:331:35:331:35 | r | test.rs:331:35:331:58 | Param | match | +| test.rs:331:35:331:58 | Param | test.rs:332:15:332:15 | r | | +| test.rs:331:66:336:5 | BlockExpr | test.rs:331:5:336:5 | exit test_match_with_no_arms (normal) | | +| test.rs:332:9:335:9 | MatchExpr | test.rs:331:66:336:5 | BlockExpr | | +| test.rs:332:15:332:15 | r | test.rs:333:13:333:21 | TupleStructPat | | +| test.rs:333:13:333:21 | TupleStructPat | test.rs:333:16:333:20 | value | match | +| test.rs:333:13:333:21 | TupleStructPat | test.rs:334:13:334:22 | TupleStructPat | no-match | +| test.rs:333:16:333:20 | value | test.rs:333:26:333:30 | value | match | +| test.rs:333:26:333:30 | value | test.rs:332:9:335:9 | MatchExpr | | +| test.rs:334:13:334:22 | TupleStructPat | test.rs:334:17:334:21 | never | match | +| test.rs:334:17:334:21 | never | test.rs:334:33:334:37 | never | match | +| test.rs:334:27:334:40 | MatchExpr | test.rs:332:9:335:9 | MatchExpr | | +| test.rs:334:33:334:37 | never | test.rs:334:27:334:40 | MatchExpr | | +| test.rs:341:5:344:5 | enter test_let_match | test.rs:341:23:341:23 | a | | +| test.rs:341:5:344:5 | exit test_let_match (normal) | test.rs:341:5:344:5 | exit test_let_match | | +| test.rs:341:23:341:23 | a | test.rs:341:23:341:36 | Param | match | +| test.rs:341:23:341:36 | Param | test.rs:342:9:342:49 | LetStmt | | +| test.rs:341:39:344:5 | BlockExpr | test.rs:341:5:344:5 | exit test_let_match (normal) | | +| test.rs:342:9:342:49 | LetStmt | test.rs:342:23:342:23 | a | | +| test.rs:342:13:342:19 | TupleStructPat | test.rs:342:18:342:18 | n | match | +| test.rs:342:13:342:19 | TupleStructPat | test.rs:342:32:342:46 | "Expected some" | no-match | +| test.rs:342:18:342:18 | n | test.rs:343:9:343:9 | n | match | +| test.rs:342:23:342:23 | a | test.rs:342:13:342:19 | TupleStructPat | | +| test.rs:342:32:342:46 | "Expected some" | test.rs:342:30:342:48 | BlockExpr | | +| test.rs:343:9:343:9 | n | test.rs:341:39:344:5 | BlockExpr | | +| test.rs:346:5:352:5 | enter test_let_with_return | test.rs:346:29:346:29 | m | | +| test.rs:346:5:352:5 | exit test_let_with_return (normal) | test.rs:346:5:352:5 | exit test_let_with_return | | +| test.rs:346:29:346:29 | m | test.rs:346:29:346:42 | Param | match | +| test.rs:346:29:346:42 | Param | test.rs:347:9:350:10 | LetStmt | | +| test.rs:346:45:352:5 | BlockExpr | test.rs:346:5:352:5 | exit test_let_with_return (normal) | | +| test.rs:347:9:350:10 | LetStmt | test.rs:347:25:347:25 | m | | +| test.rs:347:13:347:15 | ret | test.rs:351:9:351:12 | true | match | +| test.rs:347:19:350:9 | MatchExpr | test.rs:347:13:347:15 | ret | | +| test.rs:347:25:347:25 | m | test.rs:348:13:348:21 | TupleStructPat | | +| test.rs:348:13:348:21 | TupleStructPat | test.rs:348:18:348:20 | ret | match | +| test.rs:348:13:348:21 | TupleStructPat | test.rs:349:13:349:16 | None | no-match | +| test.rs:348:18:348:20 | ret | test.rs:348:26:348:28 | ret | match | +| test.rs:348:26:348:28 | ret | test.rs:347:19:350:9 | MatchExpr | | +| test.rs:349:13:349:16 | None | test.rs:349:28:349:32 | false | match | +| test.rs:349:21:349:32 | ReturnExpr | test.rs:346:5:352:5 | exit test_let_with_return (normal) | return | +| test.rs:349:28:349:32 | false | test.rs:349:21:349:32 | ReturnExpr | | +| test.rs:351:9:351:12 | true | test.rs:346:45:352:5 | BlockExpr | | +| test.rs:357:5:360:5 | enter empty_tuple_pattern | test.rs:357:28:357:31 | unit | | +| test.rs:357:5:360:5 | exit empty_tuple_pattern (normal) | test.rs:357:5:360:5 | exit empty_tuple_pattern | | +| test.rs:357:28:357:31 | unit | test.rs:357:28:357:35 | Param | match | +| test.rs:357:28:357:35 | Param | test.rs:358:9:358:22 | LetStmt | | +| test.rs:358:9:358:22 | LetStmt | test.rs:358:18:358:21 | unit | | +| test.rs:358:13:358:14 | TuplePat | test.rs:359:9:359:15 | ExprStmt | match | +| test.rs:358:18:358:21 | unit | test.rs:358:13:358:14 | TuplePat | | +| test.rs:359:9:359:14 | ReturnExpr | test.rs:357:5:360:5 | exit empty_tuple_pattern (normal) | return | +| test.rs:359:9:359:15 | ExprStmt | test.rs:359:9:359:14 | ReturnExpr | | +| test.rs:364:5:368:5 | enter empty_struct_pattern | test.rs:364:29:364:30 | st | | +| test.rs:364:5:368:5 | exit empty_struct_pattern (normal) | test.rs:364:5:368:5 | exit empty_struct_pattern | | +| test.rs:364:29:364:30 | st | test.rs:364:29:364:40 | Param | match | +| test.rs:364:29:364:40 | Param | test.rs:365:15:365:16 | st | | +| test.rs:364:50:368:5 | BlockExpr | test.rs:364:5:368:5 | exit empty_struct_pattern (normal) | | +| test.rs:365:9:367:9 | MatchExpr | test.rs:364:50:368:5 | BlockExpr | | +| test.rs:365:15:365:16 | st | test.rs:366:13:366:23 | RecordPat | | +| test.rs:366:13:366:23 | RecordPat | test.rs:366:28:366:28 | 1 | match | +| test.rs:366:28:366:28 | 1 | test.rs:365:9:367:9 | MatchExpr | | +| test.rs:370:5:377:5 | enter range_pattern | test.rs:371:15:371:16 | 42 | | +| test.rs:370:5:377:5 | exit range_pattern (normal) | test.rs:370:5:377:5 | exit range_pattern | | +| test.rs:370:31:377:5 | BlockExpr | test.rs:370:5:377:5 | exit range_pattern (normal) | | +| test.rs:371:9:376:9 | MatchExpr | test.rs:370:31:377:5 | BlockExpr | | +| test.rs:371:15:371:16 | 42 | test.rs:372:13:372:15 | RangePat | | +| test.rs:372:13:372:15 | RangePat | test.rs:372:15:372:15 | 0 | match | +| test.rs:372:13:372:15 | RangePat | test.rs:373:13:373:16 | RangePat | no-match | +| test.rs:372:15:372:15 | 0 | test.rs:372:15:372:15 | LiteralPat | | +| test.rs:372:15:372:15 | LiteralPat | test.rs:372:20:372:20 | 1 | match | +| test.rs:372:15:372:15 | LiteralPat | test.rs:373:13:373:16 | RangePat | no-match | +| test.rs:372:20:372:20 | 1 | test.rs:371:9:376:9 | MatchExpr | | +| test.rs:373:13:373:13 | 1 | test.rs:373:13:373:13 | LiteralPat | | +| test.rs:373:13:373:13 | LiteralPat | test.rs:373:16:373:16 | 2 | match | +| test.rs:373:13:373:13 | LiteralPat | test.rs:374:13:374:15 | RangePat | no-match | +| test.rs:373:13:373:16 | RangePat | test.rs:373:13:373:13 | 1 | match | +| test.rs:373:13:373:16 | RangePat | test.rs:374:13:374:15 | RangePat | no-match | +| test.rs:373:16:373:16 | 2 | test.rs:373:16:373:16 | LiteralPat | | +| test.rs:373:16:373:16 | LiteralPat | test.rs:373:21:373:21 | 2 | match | +| test.rs:373:16:373:16 | LiteralPat | test.rs:374:13:374:15 | RangePat | no-match | +| test.rs:373:21:373:21 | 2 | test.rs:371:9:376:9 | MatchExpr | | +| test.rs:374:13:374:13 | 5 | test.rs:374:13:374:13 | LiteralPat | | +| test.rs:374:13:374:13 | LiteralPat | test.rs:374:20:374:20 | 3 | match | +| test.rs:374:13:374:13 | LiteralPat | test.rs:375:13:375:14 | RestPat | no-match | +| test.rs:374:13:374:15 | RangePat | test.rs:374:13:374:13 | 5 | match | +| test.rs:374:13:374:15 | RangePat | test.rs:375:13:375:14 | RestPat | no-match | +| test.rs:374:20:374:20 | 3 | test.rs:371:9:376:9 | MatchExpr | | +| test.rs:375:13:375:14 | RestPat | test.rs:375:19:375:19 | 4 | match | +| test.rs:375:19:375:19 | 4 | test.rs:371:9:376:9 | MatchExpr | | +| test.rs:381:5:386:5 | enter test_infinite_loop | test.rs:382:9:384:9 | ExprStmt | | +| test.rs:382:9:384:9 | ExprStmt | test.rs:383:13:383:13 | 1 | | +| test.rs:382:14:384:9 | BlockExpr | test.rs:383:13:383:13 | 1 | | +| test.rs:383:13:383:13 | 1 | test.rs:382:14:384:9 | BlockExpr | | +| test.rs:390:5:392:5 | enter say_hello | test.rs:391:9:391:34 | ExprStmt | | +| test.rs:390:5:392:5 | exit say_hello (normal) | test.rs:390:5:392:5 | exit say_hello | | +| test.rs:390:26:392:5 | BlockExpr | test.rs:390:5:392:5 | exit say_hello (normal) | | +| test.rs:391:9:391:33 | $crate::io::_print | test.rs:391:18:391:32 | "hello, world!\\n" | | +| test.rs:391:9:391:33 | MacroExpr | test.rs:390:26:392:5 | BlockExpr | | +| test.rs:391:9:391:34 | ExprStmt | test.rs:391:18:391:32 | MacroStmts | | +| test.rs:391:18:391:32 | "hello, world!\\n" | test.rs:391:18:391:32 | FormatArgsExpr | | +| test.rs:391:18:391:32 | BlockExpr | test.rs:391:9:391:33 | MacroExpr | | +| test.rs:391:18:391:32 | CallExpr | test.rs:391:18:391:32 | BlockExpr | | +| test.rs:391:18:391:32 | ExprStmt | test.rs:391:9:391:33 | $crate::io::_print | | +| test.rs:391:18:391:32 | FormatArgsExpr | test.rs:391:18:391:32 | MacroExpr | | +| test.rs:391:18:391:32 | MacroExpr | test.rs:391:18:391:32 | CallExpr | | +| test.rs:391:18:391:32 | MacroStmts | test.rs:391:18:391:32 | ExprStmt | | +| test.rs:394:5:406:5 | enter async_block | test.rs:395:9:397:10 | LetStmt | | +| test.rs:394:5:406:5 | exit async_block (normal) | test.rs:394:5:406:5 | exit async_block | | +| test.rs:394:28:406:5 | BlockExpr | test.rs:394:5:406:5 | exit async_block (normal) | | +| test.rs:395:9:397:10 | LetStmt | test.rs:395:26:397:9 | BlockExpr | | +| test.rs:395:13:395:22 | say_godbye | test.rs:398:9:400:10 | LetStmt | match | +| test.rs:395:26:397:9 | BlockExpr | test.rs:395:13:395:22 | say_godbye | | +| test.rs:395:26:397:9 | enter BlockExpr | test.rs:396:13:396:42 | ExprStmt | | +| test.rs:395:26:397:9 | exit BlockExpr (normal) | test.rs:395:26:397:9 | exit BlockExpr | | +| test.rs:396:13:396:41 | $crate::io::_print | test.rs:396:22:396:40 | "godbye, everyone!\\n" | | +| test.rs:396:13:396:41 | MacroExpr | test.rs:395:26:397:9 | exit BlockExpr (normal) | | +| test.rs:396:13:396:42 | ExprStmt | test.rs:396:22:396:40 | MacroStmts | | +| test.rs:396:22:396:40 | "godbye, everyone!\\n" | test.rs:396:22:396:40 | FormatArgsExpr | | +| test.rs:396:22:396:40 | BlockExpr | test.rs:396:13:396:41 | MacroExpr | | +| test.rs:396:22:396:40 | CallExpr | test.rs:396:22:396:40 | BlockExpr | | +| test.rs:396:22:396:40 | ExprStmt | test.rs:396:13:396:41 | $crate::io::_print | | +| test.rs:396:22:396:40 | FormatArgsExpr | test.rs:396:22:396:40 | MacroExpr | | +| test.rs:396:22:396:40 | MacroExpr | test.rs:396:22:396:40 | CallExpr | | +| test.rs:396:22:396:40 | MacroStmts | test.rs:396:22:396:40 | ExprStmt | | +| test.rs:398:9:400:10 | LetStmt | test.rs:398:31:400:9 | BlockExpr | | +| test.rs:398:13:398:27 | say_how_are_you | test.rs:401:9:401:28 | LetStmt | match | +| test.rs:398:31:400:9 | BlockExpr | test.rs:398:13:398:27 | say_how_are_you | | +| test.rs:398:31:400:9 | enter BlockExpr | test.rs:399:13:399:37 | ExprStmt | | +| test.rs:398:31:400:9 | exit BlockExpr (normal) | test.rs:398:31:400:9 | exit BlockExpr | | +| test.rs:399:13:399:36 | $crate::io::_print | test.rs:399:22:399:35 | "how are you?\\n" | | +| test.rs:399:13:399:36 | MacroExpr | test.rs:398:31:400:9 | exit BlockExpr (normal) | | +| test.rs:399:13:399:37 | ExprStmt | test.rs:399:22:399:35 | MacroStmts | | +| test.rs:399:22:399:35 | "how are you?\\n" | test.rs:399:22:399:35 | FormatArgsExpr | | +| test.rs:399:22:399:35 | BlockExpr | test.rs:399:13:399:36 | MacroExpr | | +| test.rs:399:22:399:35 | CallExpr | test.rs:399:22:399:35 | BlockExpr | | +| test.rs:399:22:399:35 | ExprStmt | test.rs:399:13:399:36 | $crate::io::_print | | +| test.rs:399:22:399:35 | FormatArgsExpr | test.rs:399:22:399:35 | MacroExpr | | +| test.rs:399:22:399:35 | MacroExpr | test.rs:399:22:399:35 | CallExpr | | +| test.rs:399:22:399:35 | MacroStmts | test.rs:399:22:399:35 | ExprStmt | | +| test.rs:401:9:401:28 | LetStmt | test.rs:401:20:401:27 | BlockExpr | | +| test.rs:401:13:401:16 | noop | test.rs:402:9:402:26 | ExprStmt | match | +| test.rs:401:20:401:27 | BlockExpr | test.rs:401:13:401:16 | noop | | +| test.rs:402:9:402:17 | say_hello | test.rs:402:9:402:19 | CallExpr | | +| test.rs:402:9:402:19 | CallExpr | test.rs:402:9:402:25 | AwaitExpr | | +| test.rs:402:9:402:25 | AwaitExpr | test.rs:403:9:403:30 | ExprStmt | | +| test.rs:402:9:402:26 | ExprStmt | test.rs:402:9:402:17 | say_hello | | +| test.rs:403:9:403:23 | say_how_are_you | test.rs:403:9:403:29 | AwaitExpr | | +| test.rs:403:9:403:29 | AwaitExpr | test.rs:404:9:404:25 | ExprStmt | | +| test.rs:403:9:403:30 | ExprStmt | test.rs:403:9:403:23 | say_how_are_you | | +| test.rs:404:9:404:18 | say_godbye | test.rs:404:9:404:24 | AwaitExpr | | +| test.rs:404:9:404:24 | AwaitExpr | test.rs:405:9:405:19 | ExprStmt | | +| test.rs:404:9:404:25 | ExprStmt | test.rs:404:9:404:18 | say_godbye | | +| test.rs:405:9:405:12 | noop | test.rs:405:9:405:18 | AwaitExpr | | +| test.rs:405:9:405:18 | AwaitExpr | test.rs:394:28:406:5 | BlockExpr | | +| test.rs:405:9:405:19 | ExprStmt | test.rs:405:9:405:12 | noop | | +| test.rs:412:5:414:5 | enter add_two | test.rs:412:22:412:22 | n | | +| test.rs:412:5:414:5 | exit add_two (normal) | test.rs:412:5:414:5 | exit add_two | | +| test.rs:412:22:412:22 | n | test.rs:412:22:412:27 | Param | match | +| test.rs:412:22:412:27 | Param | test.rs:413:9:413:9 | n | | +| test.rs:412:37:414:5 | BlockExpr | test.rs:412:5:414:5 | exit add_two (normal) | | +| test.rs:413:9:413:9 | n | test.rs:413:13:413:13 | 2 | | +| test.rs:413:9:413:13 | ... + ... | test.rs:412:37:414:5 | BlockExpr | | +| test.rs:413:13:413:13 | 2 | test.rs:413:9:413:13 | ... + ... | | +| test.rs:418:5:426:5 | enter const_block_assert | test.rs:421:9:423:9 | ExprStmt | | +| test.rs:418:5:426:5 | exit const_block_assert (normal) | test.rs:418:5:426:5 | exit const_block_assert | | +| test.rs:418:41:426:5 | BlockExpr | test.rs:418:5:426:5 | exit const_block_assert (normal) | | +| test.rs:421:9:423:9 | BlockExpr | test.rs:425:9:425:10 | 42 | | +| test.rs:421:9:423:9 | ExprStmt | test.rs:422:13:422:50 | ExprStmt | | +| test.rs:422:13:422:49 | $crate::panicking::panic_explicit | test.rs:422:13:422:49 | CallExpr | | +| test.rs:422:13:422:49 | BlockExpr | test.rs:422:13:422:49 | MacroExpr | | +| test.rs:422:13:422:49 | BlockExpr | test.rs:422:13:422:49 | exit panic_cold_explicit (normal) | | +| test.rs:422:13:422:49 | BlockExpr | test.rs:422:21:422:48 | IfExpr | | +| test.rs:422:13:422:49 | CallExpr | test.rs:422:13:422:49 | BlockExpr | | +| test.rs:422:13:422:49 | CallExpr | test.rs:422:13:422:49 | BlockExpr | | +| test.rs:422:13:422:49 | ExprStmt | test.rs:422:13:422:49 | MacroStmts | | +| test.rs:422:13:422:49 | ExprStmt | test.rs:422:13:422:49 | panic_cold_explicit | | +| test.rs:422:13:422:49 | MacroExpr | test.rs:421:9:423:9 | BlockExpr | | +| test.rs:422:13:422:49 | MacroExpr | test.rs:422:13:422:49 | BlockExpr | | +| test.rs:422:13:422:49 | MacroStmts | test.rs:422:13:422:49 | panic_cold_explicit | | +| test.rs:422:13:422:49 | enter panic_cold_explicit | test.rs:422:13:422:49 | $crate::panicking::panic_explicit | | +| test.rs:422:13:422:49 | exit panic_cold_explicit (normal) | test.rs:422:13:422:49 | exit panic_cold_explicit | | +| test.rs:422:13:422:49 | panic_cold_explicit | test.rs:422:13:422:49 | CallExpr | | +| test.rs:422:13:422:49 | panic_cold_explicit | test.rs:422:13:422:49 | ExprStmt | | +| test.rs:422:13:422:50 | ExprStmt | test.rs:422:21:422:48 | MacroStmts | | +| test.rs:422:21:422:42 | std::mem::size_of::<...> | test.rs:422:21:422:44 | CallExpr | | +| test.rs:422:21:422:44 | CallExpr | test.rs:422:48:422:48 | 0 | | +| test.rs:422:21:422:48 | ... > ... | test.rs:422:21:422:48 | [boolean(false)] ! ... | true | +| test.rs:422:21:422:48 | ... > ... | test.rs:422:21:422:48 | [boolean(true)] ! ... | false | +| test.rs:422:21:422:48 | BlockExpr | test.rs:422:13:422:49 | MacroExpr | | +| test.rs:422:21:422:48 | IfExpr | test.rs:422:21:422:48 | BlockExpr | | +| test.rs:422:21:422:48 | MacroStmts | test.rs:422:21:422:42 | std::mem::size_of::<...> | | +| test.rs:422:21:422:48 | [boolean(false)] ! ... | test.rs:422:21:422:48 | IfExpr | false | +| test.rs:422:21:422:48 | [boolean(true)] ! ... | test.rs:422:13:422:49 | ExprStmt | true | +| test.rs:422:48:422:48 | 0 | test.rs:422:21:422:48 | ... > ... | | +| test.rs:425:9:425:10 | 42 | test.rs:418:41:426:5 | BlockExpr | | +| test.rs:428:5:437:5 | enter const_block_panic | test.rs:429:9:429:30 | Const | | +| test.rs:428:5:437:5 | exit const_block_panic (normal) | test.rs:428:5:437:5 | exit const_block_panic | | +| test.rs:428:35:437:5 | BlockExpr | test.rs:428:5:437:5 | exit const_block_panic (normal) | | +| test.rs:429:9:429:30 | Const | test.rs:430:9:435:9 | ExprStmt | | +| test.rs:430:9:435:9 | ExprStmt | test.rs:430:12:430:16 | false | | +| test.rs:430:9:435:9 | IfExpr | test.rs:436:9:436:9 | N | | +| test.rs:430:12:430:16 | false | test.rs:430:9:435:9 | IfExpr | false | +| test.rs:433:17:433:24 | $crate::panicking::panic_explicit | test.rs:433:17:433:24 | CallExpr | | +| test.rs:433:17:433:24 | BlockExpr | test.rs:433:17:433:24 | exit panic_cold_explicit (normal) | | +| test.rs:433:17:433:24 | CallExpr | test.rs:433:17:433:24 | BlockExpr | | +| test.rs:433:17:433:24 | enter panic_cold_explicit | test.rs:433:17:433:24 | $crate::panicking::panic_explicit | | +| test.rs:433:17:433:24 | exit panic_cold_explicit (normal) | test.rs:433:17:433:24 | exit panic_cold_explicit | | +| test.rs:436:9:436:9 | N | test.rs:428:35:437:5 | BlockExpr | | +| test.rs:440:1:445:1 | enter dead_code | test.rs:441:5:443:5 | ExprStmt | | +| test.rs:440:1:445:1 | exit dead_code (normal) | test.rs:440:1:445:1 | exit dead_code | | +| test.rs:441:5:443:5 | ExprStmt | test.rs:441:9:441:12 | true | | +| test.rs:441:9:441:12 | true | test.rs:442:9:442:17 | ExprStmt | true | +| test.rs:442:9:442:16 | ReturnExpr | test.rs:440:1:445:1 | exit dead_code (normal) | return | +| test.rs:442:9:442:17 | ExprStmt | test.rs:442:16:442:16 | 0 | | +| test.rs:442:16:442:16 | 0 | test.rs:442:9:442:16 | ReturnExpr | | +| test.rs:447:1:460:1 | enter labelled_block1 | test.rs:448:5:459:6 | LetStmt | | +| test.rs:447:1:460:1 | exit labelled_block1 (normal) | test.rs:447:1:460:1 | exit labelled_block1 | | +| test.rs:447:29:460:1 | BlockExpr | test.rs:447:1:460:1 | exit labelled_block1 (normal) | | +| test.rs:448:5:459:6 | LetStmt | test.rs:449:9:449:19 | ExprStmt | | +| test.rs:448:9:448:14 | result | test.rs:447:29:460:1 | BlockExpr | match | +| test.rs:448:18:459:5 | BlockExpr | test.rs:448:9:448:14 | result | | +| test.rs:449:9:449:16 | do_thing | test.rs:449:9:449:18 | CallExpr | | +| test.rs:449:9:449:18 | CallExpr | test.rs:450:9:452:9 | ExprStmt | | +| test.rs:449:9:449:19 | ExprStmt | test.rs:449:9:449:16 | do_thing | | +| test.rs:450:9:452:9 | ExprStmt | test.rs:450:12:450:28 | condition_not_met | | +| test.rs:450:9:452:9 | IfExpr | test.rs:453:9:453:24 | ExprStmt | | +| test.rs:450:12:450:28 | condition_not_met | test.rs:450:12:450:30 | CallExpr | | +| test.rs:450:12:450:30 | CallExpr | test.rs:450:9:452:9 | IfExpr | false | +| test.rs:450:12:450:30 | CallExpr | test.rs:451:13:451:27 | ExprStmt | true | +| test.rs:451:13:451:26 | BreakExpr | test.rs:448:18:459:5 | BlockExpr | break | +| test.rs:451:13:451:27 | ExprStmt | test.rs:451:26:451:26 | 1 | | +| test.rs:451:26:451:26 | 1 | test.rs:451:13:451:26 | BreakExpr | | +| test.rs:453:9:453:21 | do_next_thing | test.rs:453:9:453:23 | CallExpr | | +| test.rs:453:9:453:23 | CallExpr | test.rs:454:9:456:9 | ExprStmt | | +| test.rs:453:9:453:24 | ExprStmt | test.rs:453:9:453:21 | do_next_thing | | +| test.rs:454:9:456:9 | ExprStmt | test.rs:454:12:454:28 | condition_not_met | | +| test.rs:454:9:456:9 | IfExpr | test.rs:457:9:457:24 | ExprStmt | | +| test.rs:454:12:454:28 | condition_not_met | test.rs:454:12:454:30 | CallExpr | | +| test.rs:454:12:454:30 | CallExpr | test.rs:454:9:456:9 | IfExpr | false | +| test.rs:454:12:454:30 | CallExpr | test.rs:455:13:455:27 | ExprStmt | true | +| test.rs:455:13:455:26 | BreakExpr | test.rs:448:18:459:5 | BlockExpr | break | +| test.rs:455:13:455:27 | ExprStmt | test.rs:455:26:455:26 | 2 | | +| test.rs:455:26:455:26 | 2 | test.rs:455:13:455:26 | BreakExpr | | +| test.rs:457:9:457:21 | do_last_thing | test.rs:457:9:457:23 | CallExpr | | +| test.rs:457:9:457:23 | CallExpr | test.rs:458:9:458:9 | 3 | | +| test.rs:457:9:457:24 | ExprStmt | test.rs:457:9:457:21 | do_last_thing | | +| test.rs:458:9:458:9 | 3 | test.rs:448:18:459:5 | BlockExpr | | +| test.rs:462:1:470:1 | enter labelled_block2 | test.rs:463:5:469:6 | LetStmt | | +| test.rs:462:1:470:1 | exit labelled_block2 (normal) | test.rs:462:1:470:1 | exit labelled_block2 | | +| test.rs:462:29:470:1 | BlockExpr | test.rs:462:1:470:1 | exit labelled_block2 (normal) | | +| test.rs:463:5:469:6 | LetStmt | test.rs:464:9:464:34 | LetStmt | | +| test.rs:463:9:463:14 | result | test.rs:462:29:470:1 | BlockExpr | match | +| test.rs:463:18:469:5 | BlockExpr | test.rs:463:9:463:14 | result | | +| test.rs:464:9:464:34 | LetStmt | test.rs:464:30:464:33 | None | | +| test.rs:464:13:464:13 | x | test.rs:465:9:467:10 | LetStmt | match | +| test.rs:464:30:464:33 | None | test.rs:464:13:464:13 | x | | +| test.rs:465:9:467:10 | LetStmt | test.rs:465:23:465:23 | x | | +| test.rs:465:13:465:19 | TupleStructPat | test.rs:465:18:465:18 | y | match | +| test.rs:465:13:465:19 | TupleStructPat | test.rs:466:13:466:27 | ExprStmt | no-match | +| test.rs:465:18:465:18 | y | test.rs:468:9:468:9 | x | match | +| test.rs:465:23:465:23 | x | test.rs:465:13:465:19 | TupleStructPat | | +| test.rs:466:13:466:26 | BreakExpr | test.rs:463:18:469:5 | BlockExpr | break | +| test.rs:466:13:466:27 | ExprStmt | test.rs:466:26:466:26 | 1 | | +| test.rs:466:26:466:26 | 1 | test.rs:466:13:466:26 | BreakExpr | | +| test.rs:468:9:468:9 | x | test.rs:463:18:469:5 | BlockExpr | | +| test.rs:472:1:478:1 | enter test_nested_function | test.rs:473:5:473:18 | LetStmt | | +| test.rs:472:1:478:1 | exit test_nested_function (normal) | test.rs:472:1:478:1 | exit test_nested_function | | +| test.rs:472:27:478:1 | BlockExpr | test.rs:472:1:478:1 | exit test_nested_function (normal) | | +| test.rs:473:5:473:18 | LetStmt | test.rs:473:17:473:17 | 0 | | +| test.rs:473:9:473:13 | x | test.rs:474:5:476:5 | nested | match | +| test.rs:473:17:473:17 | 0 | test.rs:473:9:473:13 | x | | +| test.rs:474:5:476:5 | enter nested | test.rs:474:15:474:15 | x | | +| test.rs:474:5:476:5 | exit nested (normal) | test.rs:474:5:476:5 | exit nested | | +| test.rs:474:5:476:5 | nested | test.rs:477:5:477:19 | ExprStmt | | +| test.rs:474:15:474:15 | x | test.rs:474:15:474:25 | Param | match | +| test.rs:474:15:474:25 | Param | test.rs:475:9:475:16 | ExprStmt | | +| test.rs:474:28:476:5 | BlockExpr | test.rs:474:5:476:5 | exit nested (normal) | | +| test.rs:475:9:475:10 | * ... | test.rs:475:15:475:15 | 1 | | +| test.rs:475:9:475:15 | ... += ... | test.rs:474:28:476:5 | BlockExpr | | +| test.rs:475:9:475:16 | ExprStmt | test.rs:475:10:475:10 | x | | +| test.rs:475:10:475:10 | x | test.rs:475:9:475:10 | * ... | | +| test.rs:475:15:475:15 | 1 | test.rs:475:9:475:15 | ... += ... | | +| test.rs:477:5:477:10 | nested | test.rs:477:17:477:17 | x | | +| test.rs:477:5:477:18 | CallExpr | test.rs:472:27:478:1 | BlockExpr | | +| test.rs:477:5:477:19 | ExprStmt | test.rs:477:5:477:10 | nested | | +| test.rs:477:12:477:17 | RefExpr | test.rs:477:5:477:18 | CallExpr | | +| test.rs:477:17:477:17 | x | test.rs:477:12:477:17 | RefExpr | | breakTarget | test.rs:26:17:26:21 | BreakExpr | test.rs:20:9:32:9 | LoopExpr | | test.rs:40:21:40:25 | BreakExpr | test.rs:38:13:45:13 | LoopExpr | @@ -1028,17 +1028,17 @@ breakTarget | test.rs:93:17:93:21 | BreakExpr | test.rs:91:9:95:9 | WhileExpr | | test.rs:101:17:101:21 | BreakExpr | test.rs:99:9:104:9 | ForExpr | | test.rs:109:13:109:26 | BreakExpr | test.rs:108:9:110:9 | LoopExpr | -| test.rs:202:17:202:28 | BreakExpr | test.rs:200:13:205:9 | LoopExpr | -| test.rs:215:17:215:35 | BreakExpr | test.rs:213:13:218:9 | LoopExpr | -| test.rs:227:13:227:30 | BreakExpr | test.rs:226:13:228:9 | BlockExpr | -| test.rs:449:13:449:26 | BreakExpr | test.rs:446:18:457:5 | BlockExpr | -| test.rs:453:13:453:26 | BreakExpr | test.rs:446:18:457:5 | BlockExpr | -| test.rs:464:13:464:26 | BreakExpr | test.rs:461:18:467:5 | BlockExpr | +| test.rs:204:17:204:28 | BreakExpr | test.rs:202:13:207:9 | LoopExpr | +| test.rs:217:17:217:35 | BreakExpr | test.rs:215:13:220:9 | LoopExpr | +| test.rs:229:13:229:30 | BreakExpr | test.rs:228:13:230:9 | BlockExpr | +| test.rs:451:13:451:26 | BreakExpr | test.rs:448:18:459:5 | BlockExpr | +| test.rs:455:13:455:26 | BreakExpr | test.rs:448:18:459:5 | BlockExpr | +| test.rs:466:13:466:26 | BreakExpr | test.rs:463:18:469:5 | BlockExpr | continueTarget | test.rs:29:17:29:24 | ContinueExpr | test.rs:20:9:32:9 | LoopExpr | | test.rs:55:21:55:28 | ContinueExpr | test.rs:53:13:60:13 | LoopExpr | | test.rs:57:21:57:35 | ContinueExpr | test.rs:51:9:61:9 | LoopExpr | | test.rs:59:17:59:31 | ContinueExpr | test.rs:53:13:60:13 | LoopExpr | | test.rs:69:21:69:28 | ContinueExpr | test.rs:67:13:74:13 | LoopExpr | -| test.rs:71:21:71:34 | ContinueExpr | test.rs:67:13:74:13 | LoopExpr | -| test.rs:73:17:73:30 | ContinueExpr | test.rs:67:13:74:13 | LoopExpr | +| test.rs:71:21:71:35 | ContinueExpr | test.rs:67:13:74:13 | LoopExpr | +| test.rs:73:17:73:31 | ContinueExpr | test.rs:67:13:74:13 | LoopExpr | From 1b0f8aa65767fdd823c6b6a18697cf7d745508fc Mon Sep 17 00:00:00 2001 From: Napalys Date: Tue, 19 Nov 2024 08:26:03 +0100 Subject: [PATCH 244/347] JS: removed unnecessary findlast module import --- .../ql/lib/change-notes/2024-11-18-ES2022-find-functions.md | 3 ++- javascript/ql/lib/semmle/javascript/Arrays.qll | 5 +---- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/javascript/ql/lib/change-notes/2024-11-18-ES2022-find-functions.md b/javascript/ql/lib/change-notes/2024-11-18-ES2022-find-functions.md index 93b7e286cf4a..e3fe3b6aef25 100644 --- a/javascript/ql/lib/change-notes/2024-11-18-ES2022-find-functions.md +++ b/javascript/ql/lib/change-notes/2024-11-18-ES2022-find-functions.md @@ -1,4 +1,5 @@ --- category: minorAnalysis --- -* Added pre call graph step for `Array.prototype.findLast` +* Added taint-steps for `Array.prototype.findLast` +* Added taint-steps for `Array.prototype.findLastIndex` diff --git a/javascript/ql/lib/semmle/javascript/Arrays.qll b/javascript/ql/lib/semmle/javascript/Arrays.qll index f36f8af4c177..5cb7d2315861 100644 --- a/javascript/ql/lib/semmle/javascript/Arrays.qll +++ b/javascript/ql/lib/semmle/javascript/Arrays.qll @@ -390,10 +390,7 @@ private module ArrayLibraries { result.(DataFlow::MethodCallNode).getMethodName() in ["find", "findLast"] and array = result.getReceiver() or - result = - DataFlow::moduleImport([ - "array.prototype.find", "array-find", "array.prototype.findLast", "array-find-last" - ]).getACall() and + result = DataFlow::moduleImport(["array.prototype.find", "array-find"]).getACall() and array = result.getArgument(0) } From b64b837db371291070959b0b271ca72845eaf5bd Mon Sep 17 00:00:00 2001 From: Napalys Date: Tue, 19 Nov 2024 09:35:43 +0100 Subject: [PATCH 245/347] JS: Add: test cases for find, findLast, findLastIndex with callbacks --- .../library-tests/Arrays/DataFlow.expected | 2 + .../library-tests/Arrays/TaintFlow.expected | 2 + .../ql/test/library-tests/Arrays/arrays.js | 18 + .../library-tests/Arrays/printAst.expected | 492 +++++++++++++----- 4 files changed, 385 insertions(+), 129 deletions(-) diff --git a/javascript/ql/test/library-tests/Arrays/DataFlow.expected b/javascript/ql/test/library-tests/Arrays/DataFlow.expected index 38a9316bfaa1..91742699b617 100644 --- a/javascript/ql/test/library-tests/Arrays/DataFlow.expected +++ b/javascript/ql/test/library-tests/Arrays/DataFlow.expected @@ -26,3 +26,5 @@ | arrays.js:53:4:53:11 | "source" | arrays.js:54:10:54:18 | ary.pop() | | arrays.js:99:31:99:38 | "source" | arrays.js:100:8:100:17 | arr8.pop() | | arrays.js:103:55:103:62 | "source" | arrays.js:105:8:105:25 | arr8_variant.pop() | +| arrays.js:114:19:114:26 | "source" | arrays.js:116:10:116:16 | element | +| arrays.js:120:19:120:26 | "source" | arrays.js:122:10:122:16 | element | diff --git a/javascript/ql/test/library-tests/Arrays/TaintFlow.expected b/javascript/ql/test/library-tests/Arrays/TaintFlow.expected index 53fbe4cf0c5e..cb3b16479a76 100644 --- a/javascript/ql/test/library-tests/Arrays/TaintFlow.expected +++ b/javascript/ql/test/library-tests/Arrays/TaintFlow.expected @@ -30,3 +30,5 @@ | arrays.js:96:9:96:16 | "source" | arrays.js:96:8:96:36 | ["sourc ... => !!x) | | arrays.js:99:31:99:38 | "source" | arrays.js:100:8:100:17 | arr8.pop() | | arrays.js:103:55:103:62 | "source" | arrays.js:105:8:105:25 | arr8_variant.pop() | +| arrays.js:114:19:114:26 | "source" | arrays.js:116:10:116:16 | element | +| arrays.js:120:19:120:26 | "source" | arrays.js:122:10:122:16 | element | diff --git a/javascript/ql/test/library-tests/Arrays/arrays.js b/javascript/ql/test/library-tests/Arrays/arrays.js index 3ae7c6350199..e4124ec16d8e 100644 --- a/javascript/ql/test/library-tests/Arrays/arrays.js +++ b/javascript/ql/test/library-tests/Arrays/arrays.js @@ -109,4 +109,22 @@ sink(arr8_spread.pop()); // NOT OK sink(arr.findLast(someCallback)); // NOT OK + + { // Test for findLast function + const list = ["source"]; + const element = list.findLast((item) => sink(item)); // NOT OK -- Not caught, currently missing dataflow tracking. + sink(element); // NOT OK + } + + { // Test for find function + const list = ["source"]; + const element = list.find((item) => sink(item)); // NOT OK -- Not caught, currently missing dataflow tracking. + sink(element); // NOT OK + } + + { // Test for findLastIndex function + const list = ["source"]; + const element = list.findLastIndex((item) => sink(item)); // NOT OK -- Not caught, currently missing dataflow tracking. + sink(element); // OK + } }); diff --git a/javascript/ql/test/library-tests/Arrays/printAst.expected b/javascript/ql/test/library-tests/Arrays/printAst.expected index c00f46d8dad1..6a23be2dee6d 100644 --- a/javascript/ql/test/library-tests/Arrays/printAst.expected +++ b/javascript/ql/test/library-tests/Arrays/printAst.expected @@ -1,9 +1,9 @@ nodes -| arrays.js:1:1:112:2 | [ParExpr] (functi ... T OK }) | semmle.label | [ParExpr] (functi ... T OK }) | -| arrays.js:1:1:112:3 | [ExprStmt] (functi ... OK }); | semmle.label | [ExprStmt] (functi ... OK }); | -| arrays.js:1:1:112:3 | [ExprStmt] (functi ... OK }); | semmle.order | 1 | -| arrays.js:1:2:112:1 | [FunctionExpr] functio ... OT OK } | semmle.label | [FunctionExpr] functio ... OT OK } | -| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | semmle.label | [BlockStmt] { let ... OT OK } | +| arrays.js:1:1:130:2 | [ParExpr] (functi ... } }) | semmle.label | [ParExpr] (functi ... } }) | +| arrays.js:1:1:130:3 | [ExprStmt] (functi ... } }); | semmle.label | [ExprStmt] (functi ... } }); | +| arrays.js:1:1:130:3 | [ExprStmt] (functi ... } }); | semmle.order | 1 | +| arrays.js:1:2:130:1 | [FunctionExpr] functio ... K } } | semmle.label | [FunctionExpr] functio ... K } } | +| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | semmle.label | [BlockStmt] { let ... K } } | | arrays.js:2:3:2:24 | [DeclStmt] let source = ... | semmle.label | [DeclStmt] let source = ... | | arrays.js:2:7:2:12 | [VarDecl] source | semmle.label | [VarDecl] source | | arrays.js:2:7:2:23 | [VariableDeclarator] source = "source" | semmle.label | [VariableDeclarator] source = "source" | @@ -495,6 +495,72 @@ nodes | arrays.js:111:8:111:33 | [MethodCallExpr] arr.fin ... llback) | semmle.label | [MethodCallExpr] arr.fin ... llback) | | arrays.js:111:12:111:19 | [Label] findLast | semmle.label | [Label] findLast | | arrays.js:111:21:111:32 | [VarRef] someCallback | semmle.label | [VarRef] someCallback | +| arrays.js:113:3:117:3 | [BlockStmt] { // T ... OK } | semmle.label | [BlockStmt] { // T ... OK } | +| arrays.js:114:5:114:28 | [DeclStmt] const list = ... | semmle.label | [DeclStmt] const list = ... | +| arrays.js:114:11:114:14 | [VarDecl] list | semmle.label | [VarDecl] list | +| arrays.js:114:11:114:27 | [VariableDeclarator] list = ["source"] | semmle.label | [VariableDeclarator] list = ["source"] | +| arrays.js:114:18:114:27 | [ArrayExpr] ["source"] | semmle.label | [ArrayExpr] ["source"] | +| arrays.js:114:19:114:26 | [Literal] "source" | semmle.label | [Literal] "source" | +| arrays.js:115:5:115:56 | [DeclStmt] const element = ... | semmle.label | [DeclStmt] const element = ... | +| arrays.js:115:11:115:17 | [VarDecl] element | semmle.label | [VarDecl] element | +| arrays.js:115:11:115:55 | [VariableDeclarator] element ... (item)) | semmle.label | [VariableDeclarator] element ... (item)) | +| arrays.js:115:21:115:24 | [VarRef] list | semmle.label | [VarRef] list | +| arrays.js:115:21:115:33 | [DotExpr] list.findLast | semmle.label | [DotExpr] list.findLast | +| arrays.js:115:21:115:55 | [MethodCallExpr] list.fi ... (item)) | semmle.label | [MethodCallExpr] list.fi ... (item)) | +| arrays.js:115:26:115:33 | [Label] findLast | semmle.label | [Label] findLast | +| arrays.js:115:35:115:54 | [ArrowFunctionExpr] (item) => sink(item) | semmle.label | [ArrowFunctionExpr] (item) => sink(item) | +| arrays.js:115:36:115:39 | [SimpleParameter] item | semmle.label | [SimpleParameter] item | +| arrays.js:115:45:115:48 | [VarRef] sink | semmle.label | [VarRef] sink | +| arrays.js:115:45:115:54 | [CallExpr] sink(item) | semmle.label | [CallExpr] sink(item) | +| arrays.js:115:50:115:53 | [VarRef] item | semmle.label | [VarRef] item | +| arrays.js:116:5:116:8 | [VarRef] sink | semmle.label | [VarRef] sink | +| arrays.js:116:5:116:17 | [CallExpr] sink(element) | semmle.label | [CallExpr] sink(element) | +| arrays.js:116:5:116:18 | [ExprStmt] sink(element); | semmle.label | [ExprStmt] sink(element); | +| arrays.js:116:10:116:16 | [VarRef] element | semmle.label | [VarRef] element | +| arrays.js:119:3:123:3 | [BlockStmt] { // T ... OK } | semmle.label | [BlockStmt] { // T ... OK } | +| arrays.js:120:5:120:28 | [DeclStmt] const list = ... | semmle.label | [DeclStmt] const list = ... | +| arrays.js:120:11:120:14 | [VarDecl] list | semmle.label | [VarDecl] list | +| arrays.js:120:11:120:27 | [VariableDeclarator] list = ["source"] | semmle.label | [VariableDeclarator] list = ["source"] | +| arrays.js:120:18:120:27 | [ArrayExpr] ["source"] | semmle.label | [ArrayExpr] ["source"] | +| arrays.js:120:19:120:26 | [Literal] "source" | semmle.label | [Literal] "source" | +| arrays.js:121:5:121:52 | [DeclStmt] const element = ... | semmle.label | [DeclStmt] const element = ... | +| arrays.js:121:11:121:17 | [VarDecl] element | semmle.label | [VarDecl] element | +| arrays.js:121:11:121:51 | [VariableDeclarator] element ... (item)) | semmle.label | [VariableDeclarator] element ... (item)) | +| arrays.js:121:21:121:24 | [VarRef] list | semmle.label | [VarRef] list | +| arrays.js:121:21:121:29 | [DotExpr] list.find | semmle.label | [DotExpr] list.find | +| arrays.js:121:21:121:51 | [MethodCallExpr] list.fi ... (item)) | semmle.label | [MethodCallExpr] list.fi ... (item)) | +| arrays.js:121:26:121:29 | [Label] find | semmle.label | [Label] find | +| arrays.js:121:31:121:50 | [ArrowFunctionExpr] (item) => sink(item) | semmle.label | [ArrowFunctionExpr] (item) => sink(item) | +| arrays.js:121:32:121:35 | [SimpleParameter] item | semmle.label | [SimpleParameter] item | +| arrays.js:121:41:121:44 | [VarRef] sink | semmle.label | [VarRef] sink | +| arrays.js:121:41:121:50 | [CallExpr] sink(item) | semmle.label | [CallExpr] sink(item) | +| arrays.js:121:46:121:49 | [VarRef] item | semmle.label | [VarRef] item | +| arrays.js:122:5:122:8 | [VarRef] sink | semmle.label | [VarRef] sink | +| arrays.js:122:5:122:17 | [CallExpr] sink(element) | semmle.label | [CallExpr] sink(element) | +| arrays.js:122:5:122:18 | [ExprStmt] sink(element); | semmle.label | [ExprStmt] sink(element); | +| arrays.js:122:10:122:16 | [VarRef] element | semmle.label | [VarRef] element | +| arrays.js:125:3:129:3 | [BlockStmt] { // T ... OK } | semmle.label | [BlockStmt] { // T ... OK } | +| arrays.js:126:5:126:28 | [DeclStmt] const list = ... | semmle.label | [DeclStmt] const list = ... | +| arrays.js:126:11:126:14 | [VarDecl] list | semmle.label | [VarDecl] list | +| arrays.js:126:11:126:27 | [VariableDeclarator] list = ["source"] | semmle.label | [VariableDeclarator] list = ["source"] | +| arrays.js:126:18:126:27 | [ArrayExpr] ["source"] | semmle.label | [ArrayExpr] ["source"] | +| arrays.js:126:19:126:26 | [Literal] "source" | semmle.label | [Literal] "source" | +| arrays.js:127:5:127:61 | [DeclStmt] const element = ... | semmle.label | [DeclStmt] const element = ... | +| arrays.js:127:11:127:17 | [VarDecl] element | semmle.label | [VarDecl] element | +| arrays.js:127:11:127:60 | [VariableDeclarator] element ... (item)) | semmle.label | [VariableDeclarator] element ... (item)) | +| arrays.js:127:21:127:24 | [VarRef] list | semmle.label | [VarRef] list | +| arrays.js:127:21:127:38 | [DotExpr] list.findLastIndex | semmle.label | [DotExpr] list.findLastIndex | +| arrays.js:127:21:127:60 | [MethodCallExpr] list.fi ... (item)) | semmle.label | [MethodCallExpr] list.fi ... (item)) | +| arrays.js:127:26:127:38 | [Label] findLastIndex | semmle.label | [Label] findLastIndex | +| arrays.js:127:40:127:59 | [ArrowFunctionExpr] (item) => sink(item) | semmle.label | [ArrowFunctionExpr] (item) => sink(item) | +| arrays.js:127:41:127:44 | [SimpleParameter] item | semmle.label | [SimpleParameter] item | +| arrays.js:127:50:127:53 | [VarRef] sink | semmle.label | [VarRef] sink | +| arrays.js:127:50:127:59 | [CallExpr] sink(item) | semmle.label | [CallExpr] sink(item) | +| arrays.js:127:55:127:58 | [VarRef] item | semmle.label | [VarRef] item | +| arrays.js:128:5:128:8 | [VarRef] sink | semmle.label | [VarRef] sink | +| arrays.js:128:5:128:17 | [CallExpr] sink(element) | semmle.label | [CallExpr] sink(element) | +| arrays.js:128:5:128:18 | [ExprStmt] sink(element); | semmle.label | [ExprStmt] sink(element); | +| arrays.js:128:10:128:16 | [VarRef] element | semmle.label | [VarRef] element | | file://:0:0:0:0 | (Arguments) | semmle.label | (Arguments) | | file://:0:0:0:0 | (Arguments) | semmle.label | (Arguments) | | file://:0:0:0:0 | (Arguments) | semmle.label | (Arguments) | @@ -554,6 +620,18 @@ nodes | file://:0:0:0:0 | (Arguments) | semmle.label | (Arguments) | | file://:0:0:0:0 | (Arguments) | semmle.label | (Arguments) | | file://:0:0:0:0 | (Arguments) | semmle.label | (Arguments) | +| file://:0:0:0:0 | (Arguments) | semmle.label | (Arguments) | +| file://:0:0:0:0 | (Arguments) | semmle.label | (Arguments) | +| file://:0:0:0:0 | (Arguments) | semmle.label | (Arguments) | +| file://:0:0:0:0 | (Arguments) | semmle.label | (Arguments) | +| file://:0:0:0:0 | (Arguments) | semmle.label | (Arguments) | +| file://:0:0:0:0 | (Arguments) | semmle.label | (Arguments) | +| file://:0:0:0:0 | (Arguments) | semmle.label | (Arguments) | +| file://:0:0:0:0 | (Arguments) | semmle.label | (Arguments) | +| file://:0:0:0:0 | (Arguments) | semmle.label | (Arguments) | +| file://:0:0:0:0 | (Parameters) | semmle.label | (Parameters) | +| file://:0:0:0:0 | (Parameters) | semmle.label | (Parameters) | +| file://:0:0:0:0 | (Parameters) | semmle.label | (Parameters) | | file://:0:0:0:0 | (Parameters) | semmle.label | (Parameters) | | file://:0:0:0:0 | (Parameters) | semmle.label | (Parameters) | | file://:0:0:0:0 | (Parameters) | semmle.label | (Parameters) | @@ -562,130 +640,136 @@ nodes | file://:0:0:0:0 | (Parameters) | semmle.label | (Parameters) | | file://:0:0:0:0 | (Parameters) | semmle.label | (Parameters) | edges -| arrays.js:1:1:112:2 | [ParExpr] (functi ... T OK }) | arrays.js:1:2:112:1 | [FunctionExpr] functio ... OT OK } | semmle.label | 1 | -| arrays.js:1:1:112:2 | [ParExpr] (functi ... T OK }) | arrays.js:1:2:112:1 | [FunctionExpr] functio ... OT OK } | semmle.order | 1 | -| arrays.js:1:1:112:3 | [ExprStmt] (functi ... OK }); | arrays.js:1:1:112:2 | [ParExpr] (functi ... T OK }) | semmle.label | 1 | -| arrays.js:1:1:112:3 | [ExprStmt] (functi ... OK }); | arrays.js:1:1:112:2 | [ParExpr] (functi ... T OK }) | semmle.order | 1 | -| arrays.js:1:2:112:1 | [FunctionExpr] functio ... OT OK } | arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | semmle.label | 5 | -| arrays.js:1:2:112:1 | [FunctionExpr] functio ... OT OK } | arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | semmle.order | 5 | -| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:2:3:2:24 | [DeclStmt] let source = ... | semmle.label | 1 | -| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:2:3:2:24 | [DeclStmt] let source = ... | semmle.order | 1 | -| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:4:3:4:28 | [DeclStmt] var obj = ... | semmle.label | 2 | -| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:4:3:4:28 | [DeclStmt] var obj = ... | semmle.order | 2 | -| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:5:3:5:16 | [ExprStmt] sink(obj.foo); | semmle.label | 3 | -| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:5:3:5:16 | [ExprStmt] sink(obj.foo); | semmle.order | 3 | -| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:7:3:7:15 | [DeclStmt] var arr = ... | semmle.label | 4 | -| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:7:3:7:15 | [DeclStmt] var arr = ... | semmle.order | 4 | -| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:8:3:8:19 | [ExprStmt] arr.push(source); | semmle.label | 5 | -| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:8:3:8:19 | [ExprStmt] arr.push(source); | semmle.order | 5 | -| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:10:3:12:3 | [ForStmt] for (va ... OK } | semmle.label | 6 | -| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:10:3:12:3 | [ForStmt] for (va ... OK } | semmle.order | 6 | -| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:15:3:15:30 | [ExprStmt] arr.for ... nk(e)); | semmle.label | 7 | -| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:15:3:15:30 | [ExprStmt] arr.for ... nk(e)); | semmle.order | 7 | -| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:16:3:16:26 | [ExprStmt] arr.map ... nk(e)); | semmle.label | 8 | -| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:16:3:16:26 | [ExprStmt] arr.map ... nk(e)); | semmle.order | 8 | -| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:18:3:18:53 | [ExprStmt] [1, 2, ... nk(e)); | semmle.label | 9 | -| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:18:3:18:53 | [ExprStmt] [1, 2, ... nk(e)); | semmle.order | 9 | -| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:20:3:20:18 | [ExprStmt] sink(arr.pop()); | semmle.label | 10 | -| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:20:3:20:18 | [ExprStmt] sink(arr.pop()); | semmle.order | 10 | -| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:22:3:22:24 | [DeclStmt] var arr2 = ... | semmle.label | 11 | -| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:22:3:22:24 | [DeclStmt] var arr2 = ... | semmle.order | 11 | -| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:23:3:23:19 | [ExprStmt] sink(arr2.pop()); | semmle.label | 12 | -| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:23:3:23:19 | [ExprStmt] sink(arr2.pop()); | semmle.order | 12 | -| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:25:3:25:24 | [DeclStmt] var arr3 = ... | semmle.label | 13 | -| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:25:3:25:24 | [DeclStmt] var arr3 = ... | semmle.order | 13 | -| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:26:3:26:19 | [ExprStmt] sink(arr3.pop()); | semmle.label | 14 | -| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:26:3:26:19 | [ExprStmt] sink(arr3.pop()); | semmle.order | 14 | -| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:28:3:28:16 | [DeclStmt] var arr4 = ... | semmle.label | 15 | -| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:28:3:28:16 | [DeclStmt] var arr4 = ... | semmle.order | 15 | -| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:29:3:29:30 | [ExprStmt] arr4.sp ... urce"); | semmle.label | 16 | -| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:29:3:29:30 | [ExprStmt] arr4.sp ... urce"); | semmle.order | 16 | -| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:30:3:30:19 | [ExprStmt] sink(arr4.pop()); | semmle.label | 17 | -| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:30:3:30:19 | [ExprStmt] sink(arr4.pop()); | semmle.order | 17 | -| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:32:3:32:24 | [DeclStmt] var arr4_variant = ... | semmle.label | 18 | -| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:32:3:32:24 | [DeclStmt] var arr4_variant = ... | semmle.order | 18 | -| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:33:3:33:46 | [ExprStmt] arr4_va ... urce"); | semmle.label | 19 | -| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:33:3:33:46 | [ExprStmt] arr4_va ... urce"); | semmle.order | 19 | -| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:34:3:34:21 | [ExprStmt] arr4_variant.pop(); | semmle.label | 20 | -| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:34:3:34:21 | [ExprStmt] arr4_variant.pop(); | semmle.order | 20 | -| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:35:3:35:27 | [ExprStmt] sink(ar ... pop()); | semmle.label | 21 | -| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:35:3:35:27 | [ExprStmt] sink(ar ... pop()); | semmle.order | 21 | -| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:37:3:37:23 | [DeclStmt] var arr4_spread = ... | semmle.label | 22 | -| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:37:3:37:23 | [DeclStmt] var arr4_spread = ... | semmle.order | 22 | -| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:38:3:38:35 | [ExprStmt] arr4_sp ... ..arr); | semmle.label | 23 | -| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:38:3:38:35 | [ExprStmt] arr4_sp ... ..arr); | semmle.order | 23 | -| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:39:3:39:26 | [ExprStmt] sink(ar ... pop()); | semmle.label | 24 | -| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:39:3:39:26 | [ExprStmt] sink(ar ... pop()); | semmle.order | 24 | -| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:41:3:41:29 | [DeclStmt] var arr5 = ... | semmle.label | 25 | -| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:41:3:41:29 | [DeclStmt] var arr5 = ... | semmle.order | 25 | -| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:42:3:42:19 | [ExprStmt] sink(arr5.pop()); | semmle.label | 26 | -| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:42:3:42:19 | [ExprStmt] sink(arr5.pop()); | semmle.order | 26 | -| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:44:3:44:28 | [ExprStmt] sink(ar ... pop()); | semmle.label | 27 | -| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:44:3:44:28 | [ExprStmt] sink(ar ... pop()); | semmle.order | 27 | -| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:46:3:46:16 | [DeclStmt] var arr6 = ... | semmle.label | 28 | -| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:46:3:46:16 | [DeclStmt] var arr6 = ... | semmle.order | 28 | -| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:47:3:49:3 | [ForStmt] for (va ... i]; } | semmle.label | 29 | -| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:47:3:49:3 | [ForStmt] for (va ... i]; } | semmle.order | 29 | -| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:50:3:50:19 | [ExprStmt] sink(arr6.pop()); | semmle.label | 30 | -| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:50:3:50:19 | [ExprStmt] sink(arr6.pop()); | semmle.order | 30 | -| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:53:3:56:5 | [ExprStmt] ["sourc ... . }); | semmle.label | 31 | -| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:53:3:56:5 | [ExprStmt] ["sourc ... . }); | semmle.order | 31 | -| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:58:3:58:15 | [ExprStmt] sink(arr[0]); | semmle.label | 32 | -| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:58:3:58:15 | [ExprStmt] sink(arr[0]); | semmle.order | 32 | -| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:60:3:62:3 | [ForOfStmt] for (co ... OK } | semmle.label | 33 | -| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:60:3:62:3 | [ForOfStmt] for (co ... OK } | semmle.order | 33 | -| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:64:3:66:3 | [ForOfStmt] for (co ... OK } | semmle.label | 34 | -| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:64:3:66:3 | [ForOfStmt] for (co ... OK } | semmle.order | 34 | -| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:68:3:70:3 | [ForOfStmt] for (co ... OK } | semmle.label | 35 | -| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:68:3:70:3 | [ForOfStmt] for (co ... OK } | semmle.order | 35 | -| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:72:3:72:16 | [DeclStmt] var arr7 = ... | semmle.label | 36 | -| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:72:3:72:16 | [DeclStmt] var arr7 = ... | semmle.order | 36 | -| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:73:3:73:20 | [ExprStmt] arr7.push(...arr); | semmle.label | 37 | -| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:73:3:73:20 | [ExprStmt] arr7.push(...arr); | semmle.order | 37 | -| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:74:3:76:3 | [ForOfStmt] for (co ... OK } | semmle.label | 38 | -| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:74:3:76:3 | [ForOfStmt] for (co ... OK } | semmle.order | 38 | -| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:78:3:78:42 | [DeclStmt] const arrayFrom = ... | semmle.label | 39 | -| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:78:3:78:42 | [DeclStmt] const arrayFrom = ... | semmle.order | 39 | -| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:79:3:81:3 | [ForOfStmt] for (co ... OK } | semmle.label | 40 | -| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:79:3:81:3 | [ForOfStmt] for (co ... OK } | semmle.order | 40 | -| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:83:3:83:31 | [ExprStmt] sink(ar ... back)); | semmle.label | 41 | -| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:83:3:83:31 | [ExprStmt] sink(ar ... back)); | semmle.order | 41 | -| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:85:3:85:42 | [DeclStmt] const arrayFind = ... | semmle.label | 42 | -| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:85:3:85:42 | [DeclStmt] const arrayFind = ... | semmle.order | 42 | -| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:86:3:86:37 | [ExprStmt] sink(ar ... back)); | semmle.label | 43 | -| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:86:3:86:37 | [ExprStmt] sink(ar ... back)); | semmle.order | 43 | -| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:88:3:88:31 | [DeclStmt] const uniq = ... | semmle.label | 44 | -| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:88:3:88:31 | [DeclStmt] const uniq = ... | semmle.order | 44 | -| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:89:3:91:3 | [ForOfStmt] for (co ... OK } | semmle.label | 45 | -| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:89:3:91:3 | [ForOfStmt] for (co ... OK } | semmle.order | 45 | -| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:93:3:93:19 | [ExprStmt] sink(arr.at(-1)); | semmle.label | 46 | -| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:93:3:93:19 | [ExprStmt] sink(arr.at(-1)); | semmle.order | 46 | -| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:95:3:95:36 | [ExprStmt] sink([" ... => x)); | semmle.label | 47 | -| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:95:3:95:36 | [ExprStmt] sink([" ... => x)); | semmle.order | 47 | -| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:96:3:96:38 | [ExprStmt] sink([" ... !!x)); | semmle.label | 48 | -| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:96:3:96:38 | [ExprStmt] sink([" ... !!x)); | semmle.order | 48 | -| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:98:3:98:16 | [DeclStmt] var arr8 = ... | semmle.label | 49 | -| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:98:3:98:16 | [DeclStmt] var arr8 = ... | semmle.order | 49 | -| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:99:3:99:40 | [ExprStmt] arr8 = ... urce"); | semmle.label | 50 | -| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:99:3:99:40 | [ExprStmt] arr8 = ... urce"); | semmle.order | 50 | -| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:100:3:100:19 | [ExprStmt] sink(arr8.pop()); | semmle.label | 51 | -| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:100:3:100:19 | [ExprStmt] sink(arr8.pop()); | semmle.order | 51 | -| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:102:3:102:24 | [DeclStmt] var arr8_variant = ... | semmle.label | 52 | -| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:102:3:102:24 | [DeclStmt] var arr8_variant = ... | semmle.order | 52 | -| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:103:3:103:64 | [ExprStmt] arr8_va ... urce"); | semmle.label | 53 | -| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:103:3:103:64 | [ExprStmt] arr8_va ... urce"); | semmle.order | 53 | -| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:104:3:104:21 | [ExprStmt] arr8_variant.pop(); | semmle.label | 54 | -| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:104:3:104:21 | [ExprStmt] arr8_variant.pop(); | semmle.order | 54 | -| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:105:3:105:27 | [ExprStmt] sink(ar ... pop()); | semmle.label | 55 | -| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:105:3:105:27 | [ExprStmt] sink(ar ... pop()); | semmle.order | 55 | -| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:107:3:107:23 | [DeclStmt] var arr8_spread = ... | semmle.label | 56 | -| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:107:3:107:23 | [DeclStmt] var arr8_spread = ... | semmle.order | 56 | -| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:108:3:108:52 | [ExprStmt] arr8_sp ... ..arr); | semmle.label | 57 | -| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:108:3:108:52 | [ExprStmt] arr8_sp ... ..arr); | semmle.order | 57 | -| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:109:3:109:26 | [ExprStmt] sink(ar ... pop()); | semmle.label | 58 | -| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:109:3:109:26 | [ExprStmt] sink(ar ... pop()); | semmle.order | 58 | -| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:111:3:111:35 | [ExprStmt] sink(ar ... back)); | semmle.label | 59 | -| arrays.js:1:14:112:1 | [BlockStmt] { let ... OT OK } | arrays.js:111:3:111:35 | [ExprStmt] sink(ar ... back)); | semmle.order | 59 | +| arrays.js:1:1:130:2 | [ParExpr] (functi ... } }) | arrays.js:1:2:130:1 | [FunctionExpr] functio ... K } } | semmle.label | 1 | +| arrays.js:1:1:130:2 | [ParExpr] (functi ... } }) | arrays.js:1:2:130:1 | [FunctionExpr] functio ... K } } | semmle.order | 1 | +| arrays.js:1:1:130:3 | [ExprStmt] (functi ... } }); | arrays.js:1:1:130:2 | [ParExpr] (functi ... } }) | semmle.label | 1 | +| arrays.js:1:1:130:3 | [ExprStmt] (functi ... } }); | arrays.js:1:1:130:2 | [ParExpr] (functi ... } }) | semmle.order | 1 | +| arrays.js:1:2:130:1 | [FunctionExpr] functio ... K } } | arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | semmle.label | 5 | +| arrays.js:1:2:130:1 | [FunctionExpr] functio ... K } } | arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | semmle.order | 5 | +| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:2:3:2:24 | [DeclStmt] let source = ... | semmle.label | 1 | +| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:2:3:2:24 | [DeclStmt] let source = ... | semmle.order | 1 | +| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:4:3:4:28 | [DeclStmt] var obj = ... | semmle.label | 2 | +| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:4:3:4:28 | [DeclStmt] var obj = ... | semmle.order | 2 | +| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:5:3:5:16 | [ExprStmt] sink(obj.foo); | semmle.label | 3 | +| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:5:3:5:16 | [ExprStmt] sink(obj.foo); | semmle.order | 3 | +| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:7:3:7:15 | [DeclStmt] var arr = ... | semmle.label | 4 | +| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:7:3:7:15 | [DeclStmt] var arr = ... | semmle.order | 4 | +| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:8:3:8:19 | [ExprStmt] arr.push(source); | semmle.label | 5 | +| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:8:3:8:19 | [ExprStmt] arr.push(source); | semmle.order | 5 | +| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:10:3:12:3 | [ForStmt] for (va ... OK } | semmle.label | 6 | +| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:10:3:12:3 | [ForStmt] for (va ... OK } | semmle.order | 6 | +| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:15:3:15:30 | [ExprStmt] arr.for ... nk(e)); | semmle.label | 7 | +| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:15:3:15:30 | [ExprStmt] arr.for ... nk(e)); | semmle.order | 7 | +| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:16:3:16:26 | [ExprStmt] arr.map ... nk(e)); | semmle.label | 8 | +| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:16:3:16:26 | [ExprStmt] arr.map ... nk(e)); | semmle.order | 8 | +| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:18:3:18:53 | [ExprStmt] [1, 2, ... nk(e)); | semmle.label | 9 | +| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:18:3:18:53 | [ExprStmt] [1, 2, ... nk(e)); | semmle.order | 9 | +| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:20:3:20:18 | [ExprStmt] sink(arr.pop()); | semmle.label | 10 | +| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:20:3:20:18 | [ExprStmt] sink(arr.pop()); | semmle.order | 10 | +| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:22:3:22:24 | [DeclStmt] var arr2 = ... | semmle.label | 11 | +| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:22:3:22:24 | [DeclStmt] var arr2 = ... | semmle.order | 11 | +| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:23:3:23:19 | [ExprStmt] sink(arr2.pop()); | semmle.label | 12 | +| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:23:3:23:19 | [ExprStmt] sink(arr2.pop()); | semmle.order | 12 | +| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:25:3:25:24 | [DeclStmt] var arr3 = ... | semmle.label | 13 | +| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:25:3:25:24 | [DeclStmt] var arr3 = ... | semmle.order | 13 | +| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:26:3:26:19 | [ExprStmt] sink(arr3.pop()); | semmle.label | 14 | +| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:26:3:26:19 | [ExprStmt] sink(arr3.pop()); | semmle.order | 14 | +| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:28:3:28:16 | [DeclStmt] var arr4 = ... | semmle.label | 15 | +| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:28:3:28:16 | [DeclStmt] var arr4 = ... | semmle.order | 15 | +| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:29:3:29:30 | [ExprStmt] arr4.sp ... urce"); | semmle.label | 16 | +| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:29:3:29:30 | [ExprStmt] arr4.sp ... urce"); | semmle.order | 16 | +| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:30:3:30:19 | [ExprStmt] sink(arr4.pop()); | semmle.label | 17 | +| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:30:3:30:19 | [ExprStmt] sink(arr4.pop()); | semmle.order | 17 | +| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:32:3:32:24 | [DeclStmt] var arr4_variant = ... | semmle.label | 18 | +| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:32:3:32:24 | [DeclStmt] var arr4_variant = ... | semmle.order | 18 | +| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:33:3:33:46 | [ExprStmt] arr4_va ... urce"); | semmle.label | 19 | +| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:33:3:33:46 | [ExprStmt] arr4_va ... urce"); | semmle.order | 19 | +| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:34:3:34:21 | [ExprStmt] arr4_variant.pop(); | semmle.label | 20 | +| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:34:3:34:21 | [ExprStmt] arr4_variant.pop(); | semmle.order | 20 | +| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:35:3:35:27 | [ExprStmt] sink(ar ... pop()); | semmle.label | 21 | +| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:35:3:35:27 | [ExprStmt] sink(ar ... pop()); | semmle.order | 21 | +| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:37:3:37:23 | [DeclStmt] var arr4_spread = ... | semmle.label | 22 | +| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:37:3:37:23 | [DeclStmt] var arr4_spread = ... | semmle.order | 22 | +| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:38:3:38:35 | [ExprStmt] arr4_sp ... ..arr); | semmle.label | 23 | +| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:38:3:38:35 | [ExprStmt] arr4_sp ... ..arr); | semmle.order | 23 | +| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:39:3:39:26 | [ExprStmt] sink(ar ... pop()); | semmle.label | 24 | +| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:39:3:39:26 | [ExprStmt] sink(ar ... pop()); | semmle.order | 24 | +| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:41:3:41:29 | [DeclStmt] var arr5 = ... | semmle.label | 25 | +| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:41:3:41:29 | [DeclStmt] var arr5 = ... | semmle.order | 25 | +| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:42:3:42:19 | [ExprStmt] sink(arr5.pop()); | semmle.label | 26 | +| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:42:3:42:19 | [ExprStmt] sink(arr5.pop()); | semmle.order | 26 | +| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:44:3:44:28 | [ExprStmt] sink(ar ... pop()); | semmle.label | 27 | +| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:44:3:44:28 | [ExprStmt] sink(ar ... pop()); | semmle.order | 27 | +| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:46:3:46:16 | [DeclStmt] var arr6 = ... | semmle.label | 28 | +| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:46:3:46:16 | [DeclStmt] var arr6 = ... | semmle.order | 28 | +| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:47:3:49:3 | [ForStmt] for (va ... i]; } | semmle.label | 29 | +| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:47:3:49:3 | [ForStmt] for (va ... i]; } | semmle.order | 29 | +| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:50:3:50:19 | [ExprStmt] sink(arr6.pop()); | semmle.label | 30 | +| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:50:3:50:19 | [ExprStmt] sink(arr6.pop()); | semmle.order | 30 | +| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:53:3:56:5 | [ExprStmt] ["sourc ... . }); | semmle.label | 31 | +| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:53:3:56:5 | [ExprStmt] ["sourc ... . }); | semmle.order | 31 | +| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:58:3:58:15 | [ExprStmt] sink(arr[0]); | semmle.label | 32 | +| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:58:3:58:15 | [ExprStmt] sink(arr[0]); | semmle.order | 32 | +| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:60:3:62:3 | [ForOfStmt] for (co ... OK } | semmle.label | 33 | +| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:60:3:62:3 | [ForOfStmt] for (co ... OK } | semmle.order | 33 | +| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:64:3:66:3 | [ForOfStmt] for (co ... OK } | semmle.label | 34 | +| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:64:3:66:3 | [ForOfStmt] for (co ... OK } | semmle.order | 34 | +| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:68:3:70:3 | [ForOfStmt] for (co ... OK } | semmle.label | 35 | +| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:68:3:70:3 | [ForOfStmt] for (co ... OK } | semmle.order | 35 | +| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:72:3:72:16 | [DeclStmt] var arr7 = ... | semmle.label | 36 | +| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:72:3:72:16 | [DeclStmt] var arr7 = ... | semmle.order | 36 | +| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:73:3:73:20 | [ExprStmt] arr7.push(...arr); | semmle.label | 37 | +| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:73:3:73:20 | [ExprStmt] arr7.push(...arr); | semmle.order | 37 | +| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:74:3:76:3 | [ForOfStmt] for (co ... OK } | semmle.label | 38 | +| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:74:3:76:3 | [ForOfStmt] for (co ... OK } | semmle.order | 38 | +| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:78:3:78:42 | [DeclStmt] const arrayFrom = ... | semmle.label | 39 | +| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:78:3:78:42 | [DeclStmt] const arrayFrom = ... | semmle.order | 39 | +| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:79:3:81:3 | [ForOfStmt] for (co ... OK } | semmle.label | 40 | +| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:79:3:81:3 | [ForOfStmt] for (co ... OK } | semmle.order | 40 | +| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:83:3:83:31 | [ExprStmt] sink(ar ... back)); | semmle.label | 41 | +| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:83:3:83:31 | [ExprStmt] sink(ar ... back)); | semmle.order | 41 | +| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:85:3:85:42 | [DeclStmt] const arrayFind = ... | semmle.label | 42 | +| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:85:3:85:42 | [DeclStmt] const arrayFind = ... | semmle.order | 42 | +| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:86:3:86:37 | [ExprStmt] sink(ar ... back)); | semmle.label | 43 | +| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:86:3:86:37 | [ExprStmt] sink(ar ... back)); | semmle.order | 43 | +| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:88:3:88:31 | [DeclStmt] const uniq = ... | semmle.label | 44 | +| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:88:3:88:31 | [DeclStmt] const uniq = ... | semmle.order | 44 | +| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:89:3:91:3 | [ForOfStmt] for (co ... OK } | semmle.label | 45 | +| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:89:3:91:3 | [ForOfStmt] for (co ... OK } | semmle.order | 45 | +| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:93:3:93:19 | [ExprStmt] sink(arr.at(-1)); | semmle.label | 46 | +| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:93:3:93:19 | [ExprStmt] sink(arr.at(-1)); | semmle.order | 46 | +| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:95:3:95:36 | [ExprStmt] sink([" ... => x)); | semmle.label | 47 | +| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:95:3:95:36 | [ExprStmt] sink([" ... => x)); | semmle.order | 47 | +| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:96:3:96:38 | [ExprStmt] sink([" ... !!x)); | semmle.label | 48 | +| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:96:3:96:38 | [ExprStmt] sink([" ... !!x)); | semmle.order | 48 | +| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:98:3:98:16 | [DeclStmt] var arr8 = ... | semmle.label | 49 | +| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:98:3:98:16 | [DeclStmt] var arr8 = ... | semmle.order | 49 | +| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:99:3:99:40 | [ExprStmt] arr8 = ... urce"); | semmle.label | 50 | +| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:99:3:99:40 | [ExprStmt] arr8 = ... urce"); | semmle.order | 50 | +| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:100:3:100:19 | [ExprStmt] sink(arr8.pop()); | semmle.label | 51 | +| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:100:3:100:19 | [ExprStmt] sink(arr8.pop()); | semmle.order | 51 | +| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:102:3:102:24 | [DeclStmt] var arr8_variant = ... | semmle.label | 52 | +| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:102:3:102:24 | [DeclStmt] var arr8_variant = ... | semmle.order | 52 | +| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:103:3:103:64 | [ExprStmt] arr8_va ... urce"); | semmle.label | 53 | +| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:103:3:103:64 | [ExprStmt] arr8_va ... urce"); | semmle.order | 53 | +| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:104:3:104:21 | [ExprStmt] arr8_variant.pop(); | semmle.label | 54 | +| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:104:3:104:21 | [ExprStmt] arr8_variant.pop(); | semmle.order | 54 | +| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:105:3:105:27 | [ExprStmt] sink(ar ... pop()); | semmle.label | 55 | +| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:105:3:105:27 | [ExprStmt] sink(ar ... pop()); | semmle.order | 55 | +| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:107:3:107:23 | [DeclStmt] var arr8_spread = ... | semmle.label | 56 | +| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:107:3:107:23 | [DeclStmt] var arr8_spread = ... | semmle.order | 56 | +| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:108:3:108:52 | [ExprStmt] arr8_sp ... ..arr); | semmle.label | 57 | +| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:108:3:108:52 | [ExprStmt] arr8_sp ... ..arr); | semmle.order | 57 | +| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:109:3:109:26 | [ExprStmt] sink(ar ... pop()); | semmle.label | 58 | +| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:109:3:109:26 | [ExprStmt] sink(ar ... pop()); | semmle.order | 58 | +| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:111:3:111:35 | [ExprStmt] sink(ar ... back)); | semmle.label | 59 | +| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:111:3:111:35 | [ExprStmt] sink(ar ... back)); | semmle.order | 59 | +| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:113:3:117:3 | [BlockStmt] { // T ... OK } | semmle.label | 60 | +| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:113:3:117:3 | [BlockStmt] { // T ... OK } | semmle.order | 60 | +| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:119:3:123:3 | [BlockStmt] { // T ... OK } | semmle.label | 61 | +| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:119:3:123:3 | [BlockStmt] { // T ... OK } | semmle.order | 61 | +| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:125:3:129:3 | [BlockStmt] { // T ... OK } | semmle.label | 62 | +| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:125:3:129:3 | [BlockStmt] { // T ... OK } | semmle.order | 62 | | arrays.js:2:3:2:24 | [DeclStmt] let source = ... | arrays.js:2:7:2:23 | [VariableDeclarator] source = "source" | semmle.label | 1 | | arrays.js:2:3:2:24 | [DeclStmt] let source = ... | arrays.js:2:7:2:23 | [VariableDeclarator] source = "source" | semmle.order | 1 | | arrays.js:2:7:2:23 | [VariableDeclarator] source = "source" | arrays.js:2:7:2:12 | [VarDecl] source | semmle.label | 1 | @@ -1516,6 +1600,132 @@ edges | arrays.js:111:8:111:33 | [MethodCallExpr] arr.fin ... llback) | arrays.js:111:8:111:19 | [DotExpr] arr.findLast | semmle.order | 0 | | arrays.js:111:8:111:33 | [MethodCallExpr] arr.fin ... llback) | file://:0:0:0:0 | (Arguments) | semmle.label | 1 | | arrays.js:111:8:111:33 | [MethodCallExpr] arr.fin ... llback) | file://:0:0:0:0 | (Arguments) | semmle.order | 1 | +| arrays.js:113:3:117:3 | [BlockStmt] { // T ... OK } | arrays.js:114:5:114:28 | [DeclStmt] const list = ... | semmle.label | 1 | +| arrays.js:113:3:117:3 | [BlockStmt] { // T ... OK } | arrays.js:114:5:114:28 | [DeclStmt] const list = ... | semmle.order | 1 | +| arrays.js:113:3:117:3 | [BlockStmt] { // T ... OK } | arrays.js:115:5:115:56 | [DeclStmt] const element = ... | semmle.label | 2 | +| arrays.js:113:3:117:3 | [BlockStmt] { // T ... OK } | arrays.js:115:5:115:56 | [DeclStmt] const element = ... | semmle.order | 2 | +| arrays.js:113:3:117:3 | [BlockStmt] { // T ... OK } | arrays.js:116:5:116:18 | [ExprStmt] sink(element); | semmle.label | 3 | +| arrays.js:113:3:117:3 | [BlockStmt] { // T ... OK } | arrays.js:116:5:116:18 | [ExprStmt] sink(element); | semmle.order | 3 | +| arrays.js:114:5:114:28 | [DeclStmt] const list = ... | arrays.js:114:11:114:27 | [VariableDeclarator] list = ["source"] | semmle.label | 1 | +| arrays.js:114:5:114:28 | [DeclStmt] const list = ... | arrays.js:114:11:114:27 | [VariableDeclarator] list = ["source"] | semmle.order | 1 | +| arrays.js:114:11:114:27 | [VariableDeclarator] list = ["source"] | arrays.js:114:11:114:14 | [VarDecl] list | semmle.label | 1 | +| arrays.js:114:11:114:27 | [VariableDeclarator] list = ["source"] | arrays.js:114:11:114:14 | [VarDecl] list | semmle.order | 1 | +| arrays.js:114:11:114:27 | [VariableDeclarator] list = ["source"] | arrays.js:114:18:114:27 | [ArrayExpr] ["source"] | semmle.label | 2 | +| arrays.js:114:11:114:27 | [VariableDeclarator] list = ["source"] | arrays.js:114:18:114:27 | [ArrayExpr] ["source"] | semmle.order | 2 | +| arrays.js:114:18:114:27 | [ArrayExpr] ["source"] | arrays.js:114:19:114:26 | [Literal] "source" | semmle.label | 1 | +| arrays.js:114:18:114:27 | [ArrayExpr] ["source"] | arrays.js:114:19:114:26 | [Literal] "source" | semmle.order | 1 | +| arrays.js:115:5:115:56 | [DeclStmt] const element = ... | arrays.js:115:11:115:55 | [VariableDeclarator] element ... (item)) | semmle.label | 1 | +| arrays.js:115:5:115:56 | [DeclStmt] const element = ... | arrays.js:115:11:115:55 | [VariableDeclarator] element ... (item)) | semmle.order | 1 | +| arrays.js:115:11:115:55 | [VariableDeclarator] element ... (item)) | arrays.js:115:11:115:17 | [VarDecl] element | semmle.label | 1 | +| arrays.js:115:11:115:55 | [VariableDeclarator] element ... (item)) | arrays.js:115:11:115:17 | [VarDecl] element | semmle.order | 1 | +| arrays.js:115:11:115:55 | [VariableDeclarator] element ... (item)) | arrays.js:115:21:115:55 | [MethodCallExpr] list.fi ... (item)) | semmle.label | 2 | +| arrays.js:115:11:115:55 | [VariableDeclarator] element ... (item)) | arrays.js:115:21:115:55 | [MethodCallExpr] list.fi ... (item)) | semmle.order | 2 | +| arrays.js:115:21:115:33 | [DotExpr] list.findLast | arrays.js:115:21:115:24 | [VarRef] list | semmle.label | 1 | +| arrays.js:115:21:115:33 | [DotExpr] list.findLast | arrays.js:115:21:115:24 | [VarRef] list | semmle.order | 1 | +| arrays.js:115:21:115:33 | [DotExpr] list.findLast | arrays.js:115:26:115:33 | [Label] findLast | semmle.label | 2 | +| arrays.js:115:21:115:33 | [DotExpr] list.findLast | arrays.js:115:26:115:33 | [Label] findLast | semmle.order | 2 | +| arrays.js:115:21:115:55 | [MethodCallExpr] list.fi ... (item)) | arrays.js:115:21:115:33 | [DotExpr] list.findLast | semmle.label | 0 | +| arrays.js:115:21:115:55 | [MethodCallExpr] list.fi ... (item)) | arrays.js:115:21:115:33 | [DotExpr] list.findLast | semmle.order | 0 | +| arrays.js:115:21:115:55 | [MethodCallExpr] list.fi ... (item)) | file://:0:0:0:0 | (Arguments) | semmle.label | 1 | +| arrays.js:115:21:115:55 | [MethodCallExpr] list.fi ... (item)) | file://:0:0:0:0 | (Arguments) | semmle.order | 1 | +| arrays.js:115:35:115:54 | [ArrowFunctionExpr] (item) => sink(item) | arrays.js:115:45:115:54 | [CallExpr] sink(item) | semmle.label | 5 | +| arrays.js:115:35:115:54 | [ArrowFunctionExpr] (item) => sink(item) | arrays.js:115:45:115:54 | [CallExpr] sink(item) | semmle.order | 5 | +| arrays.js:115:35:115:54 | [ArrowFunctionExpr] (item) => sink(item) | file://:0:0:0:0 | (Parameters) | semmle.label | 1 | +| arrays.js:115:35:115:54 | [ArrowFunctionExpr] (item) => sink(item) | file://:0:0:0:0 | (Parameters) | semmle.order | 1 | +| arrays.js:115:45:115:54 | [CallExpr] sink(item) | arrays.js:115:45:115:48 | [VarRef] sink | semmle.label | 0 | +| arrays.js:115:45:115:54 | [CallExpr] sink(item) | arrays.js:115:45:115:48 | [VarRef] sink | semmle.order | 0 | +| arrays.js:115:45:115:54 | [CallExpr] sink(item) | file://:0:0:0:0 | (Arguments) | semmle.label | 1 | +| arrays.js:115:45:115:54 | [CallExpr] sink(item) | file://:0:0:0:0 | (Arguments) | semmle.order | 1 | +| arrays.js:116:5:116:17 | [CallExpr] sink(element) | arrays.js:116:5:116:8 | [VarRef] sink | semmle.label | 0 | +| arrays.js:116:5:116:17 | [CallExpr] sink(element) | arrays.js:116:5:116:8 | [VarRef] sink | semmle.order | 0 | +| arrays.js:116:5:116:17 | [CallExpr] sink(element) | file://:0:0:0:0 | (Arguments) | semmle.label | 1 | +| arrays.js:116:5:116:17 | [CallExpr] sink(element) | file://:0:0:0:0 | (Arguments) | semmle.order | 1 | +| arrays.js:116:5:116:18 | [ExprStmt] sink(element); | arrays.js:116:5:116:17 | [CallExpr] sink(element) | semmle.label | 1 | +| arrays.js:116:5:116:18 | [ExprStmt] sink(element); | arrays.js:116:5:116:17 | [CallExpr] sink(element) | semmle.order | 1 | +| arrays.js:119:3:123:3 | [BlockStmt] { // T ... OK } | arrays.js:120:5:120:28 | [DeclStmt] const list = ... | semmle.label | 1 | +| arrays.js:119:3:123:3 | [BlockStmt] { // T ... OK } | arrays.js:120:5:120:28 | [DeclStmt] const list = ... | semmle.order | 1 | +| arrays.js:119:3:123:3 | [BlockStmt] { // T ... OK } | arrays.js:121:5:121:52 | [DeclStmt] const element = ... | semmle.label | 2 | +| arrays.js:119:3:123:3 | [BlockStmt] { // T ... OK } | arrays.js:121:5:121:52 | [DeclStmt] const element = ... | semmle.order | 2 | +| arrays.js:119:3:123:3 | [BlockStmt] { // T ... OK } | arrays.js:122:5:122:18 | [ExprStmt] sink(element); | semmle.label | 3 | +| arrays.js:119:3:123:3 | [BlockStmt] { // T ... OK } | arrays.js:122:5:122:18 | [ExprStmt] sink(element); | semmle.order | 3 | +| arrays.js:120:5:120:28 | [DeclStmt] const list = ... | arrays.js:120:11:120:27 | [VariableDeclarator] list = ["source"] | semmle.label | 1 | +| arrays.js:120:5:120:28 | [DeclStmt] const list = ... | arrays.js:120:11:120:27 | [VariableDeclarator] list = ["source"] | semmle.order | 1 | +| arrays.js:120:11:120:27 | [VariableDeclarator] list = ["source"] | arrays.js:120:11:120:14 | [VarDecl] list | semmle.label | 1 | +| arrays.js:120:11:120:27 | [VariableDeclarator] list = ["source"] | arrays.js:120:11:120:14 | [VarDecl] list | semmle.order | 1 | +| arrays.js:120:11:120:27 | [VariableDeclarator] list = ["source"] | arrays.js:120:18:120:27 | [ArrayExpr] ["source"] | semmle.label | 2 | +| arrays.js:120:11:120:27 | [VariableDeclarator] list = ["source"] | arrays.js:120:18:120:27 | [ArrayExpr] ["source"] | semmle.order | 2 | +| arrays.js:120:18:120:27 | [ArrayExpr] ["source"] | arrays.js:120:19:120:26 | [Literal] "source" | semmle.label | 1 | +| arrays.js:120:18:120:27 | [ArrayExpr] ["source"] | arrays.js:120:19:120:26 | [Literal] "source" | semmle.order | 1 | +| arrays.js:121:5:121:52 | [DeclStmt] const element = ... | arrays.js:121:11:121:51 | [VariableDeclarator] element ... (item)) | semmle.label | 1 | +| arrays.js:121:5:121:52 | [DeclStmt] const element = ... | arrays.js:121:11:121:51 | [VariableDeclarator] element ... (item)) | semmle.order | 1 | +| arrays.js:121:11:121:51 | [VariableDeclarator] element ... (item)) | arrays.js:121:11:121:17 | [VarDecl] element | semmle.label | 1 | +| arrays.js:121:11:121:51 | [VariableDeclarator] element ... (item)) | arrays.js:121:11:121:17 | [VarDecl] element | semmle.order | 1 | +| arrays.js:121:11:121:51 | [VariableDeclarator] element ... (item)) | arrays.js:121:21:121:51 | [MethodCallExpr] list.fi ... (item)) | semmle.label | 2 | +| arrays.js:121:11:121:51 | [VariableDeclarator] element ... (item)) | arrays.js:121:21:121:51 | [MethodCallExpr] list.fi ... (item)) | semmle.order | 2 | +| arrays.js:121:21:121:29 | [DotExpr] list.find | arrays.js:121:21:121:24 | [VarRef] list | semmle.label | 1 | +| arrays.js:121:21:121:29 | [DotExpr] list.find | arrays.js:121:21:121:24 | [VarRef] list | semmle.order | 1 | +| arrays.js:121:21:121:29 | [DotExpr] list.find | arrays.js:121:26:121:29 | [Label] find | semmle.label | 2 | +| arrays.js:121:21:121:29 | [DotExpr] list.find | arrays.js:121:26:121:29 | [Label] find | semmle.order | 2 | +| arrays.js:121:21:121:51 | [MethodCallExpr] list.fi ... (item)) | arrays.js:121:21:121:29 | [DotExpr] list.find | semmle.label | 0 | +| arrays.js:121:21:121:51 | [MethodCallExpr] list.fi ... (item)) | arrays.js:121:21:121:29 | [DotExpr] list.find | semmle.order | 0 | +| arrays.js:121:21:121:51 | [MethodCallExpr] list.fi ... (item)) | file://:0:0:0:0 | (Arguments) | semmle.label | 1 | +| arrays.js:121:21:121:51 | [MethodCallExpr] list.fi ... (item)) | file://:0:0:0:0 | (Arguments) | semmle.order | 1 | +| arrays.js:121:31:121:50 | [ArrowFunctionExpr] (item) => sink(item) | arrays.js:121:41:121:50 | [CallExpr] sink(item) | semmle.label | 5 | +| arrays.js:121:31:121:50 | [ArrowFunctionExpr] (item) => sink(item) | arrays.js:121:41:121:50 | [CallExpr] sink(item) | semmle.order | 5 | +| arrays.js:121:31:121:50 | [ArrowFunctionExpr] (item) => sink(item) | file://:0:0:0:0 | (Parameters) | semmle.label | 1 | +| arrays.js:121:31:121:50 | [ArrowFunctionExpr] (item) => sink(item) | file://:0:0:0:0 | (Parameters) | semmle.order | 1 | +| arrays.js:121:41:121:50 | [CallExpr] sink(item) | arrays.js:121:41:121:44 | [VarRef] sink | semmle.label | 0 | +| arrays.js:121:41:121:50 | [CallExpr] sink(item) | arrays.js:121:41:121:44 | [VarRef] sink | semmle.order | 0 | +| arrays.js:121:41:121:50 | [CallExpr] sink(item) | file://:0:0:0:0 | (Arguments) | semmle.label | 1 | +| arrays.js:121:41:121:50 | [CallExpr] sink(item) | file://:0:0:0:0 | (Arguments) | semmle.order | 1 | +| arrays.js:122:5:122:17 | [CallExpr] sink(element) | arrays.js:122:5:122:8 | [VarRef] sink | semmle.label | 0 | +| arrays.js:122:5:122:17 | [CallExpr] sink(element) | arrays.js:122:5:122:8 | [VarRef] sink | semmle.order | 0 | +| arrays.js:122:5:122:17 | [CallExpr] sink(element) | file://:0:0:0:0 | (Arguments) | semmle.label | 1 | +| arrays.js:122:5:122:17 | [CallExpr] sink(element) | file://:0:0:0:0 | (Arguments) | semmle.order | 1 | +| arrays.js:122:5:122:18 | [ExprStmt] sink(element); | arrays.js:122:5:122:17 | [CallExpr] sink(element) | semmle.label | 1 | +| arrays.js:122:5:122:18 | [ExprStmt] sink(element); | arrays.js:122:5:122:17 | [CallExpr] sink(element) | semmle.order | 1 | +| arrays.js:125:3:129:3 | [BlockStmt] { // T ... OK } | arrays.js:126:5:126:28 | [DeclStmt] const list = ... | semmle.label | 1 | +| arrays.js:125:3:129:3 | [BlockStmt] { // T ... OK } | arrays.js:126:5:126:28 | [DeclStmt] const list = ... | semmle.order | 1 | +| arrays.js:125:3:129:3 | [BlockStmt] { // T ... OK } | arrays.js:127:5:127:61 | [DeclStmt] const element = ... | semmle.label | 2 | +| arrays.js:125:3:129:3 | [BlockStmt] { // T ... OK } | arrays.js:127:5:127:61 | [DeclStmt] const element = ... | semmle.order | 2 | +| arrays.js:125:3:129:3 | [BlockStmt] { // T ... OK } | arrays.js:128:5:128:18 | [ExprStmt] sink(element); | semmle.label | 3 | +| arrays.js:125:3:129:3 | [BlockStmt] { // T ... OK } | arrays.js:128:5:128:18 | [ExprStmt] sink(element); | semmle.order | 3 | +| arrays.js:126:5:126:28 | [DeclStmt] const list = ... | arrays.js:126:11:126:27 | [VariableDeclarator] list = ["source"] | semmle.label | 1 | +| arrays.js:126:5:126:28 | [DeclStmt] const list = ... | arrays.js:126:11:126:27 | [VariableDeclarator] list = ["source"] | semmle.order | 1 | +| arrays.js:126:11:126:27 | [VariableDeclarator] list = ["source"] | arrays.js:126:11:126:14 | [VarDecl] list | semmle.label | 1 | +| arrays.js:126:11:126:27 | [VariableDeclarator] list = ["source"] | arrays.js:126:11:126:14 | [VarDecl] list | semmle.order | 1 | +| arrays.js:126:11:126:27 | [VariableDeclarator] list = ["source"] | arrays.js:126:18:126:27 | [ArrayExpr] ["source"] | semmle.label | 2 | +| arrays.js:126:11:126:27 | [VariableDeclarator] list = ["source"] | arrays.js:126:18:126:27 | [ArrayExpr] ["source"] | semmle.order | 2 | +| arrays.js:126:18:126:27 | [ArrayExpr] ["source"] | arrays.js:126:19:126:26 | [Literal] "source" | semmle.label | 1 | +| arrays.js:126:18:126:27 | [ArrayExpr] ["source"] | arrays.js:126:19:126:26 | [Literal] "source" | semmle.order | 1 | +| arrays.js:127:5:127:61 | [DeclStmt] const element = ... | arrays.js:127:11:127:60 | [VariableDeclarator] element ... (item)) | semmle.label | 1 | +| arrays.js:127:5:127:61 | [DeclStmt] const element = ... | arrays.js:127:11:127:60 | [VariableDeclarator] element ... (item)) | semmle.order | 1 | +| arrays.js:127:11:127:60 | [VariableDeclarator] element ... (item)) | arrays.js:127:11:127:17 | [VarDecl] element | semmle.label | 1 | +| arrays.js:127:11:127:60 | [VariableDeclarator] element ... (item)) | arrays.js:127:11:127:17 | [VarDecl] element | semmle.order | 1 | +| arrays.js:127:11:127:60 | [VariableDeclarator] element ... (item)) | arrays.js:127:21:127:60 | [MethodCallExpr] list.fi ... (item)) | semmle.label | 2 | +| arrays.js:127:11:127:60 | [VariableDeclarator] element ... (item)) | arrays.js:127:21:127:60 | [MethodCallExpr] list.fi ... (item)) | semmle.order | 2 | +| arrays.js:127:21:127:38 | [DotExpr] list.findLastIndex | arrays.js:127:21:127:24 | [VarRef] list | semmle.label | 1 | +| arrays.js:127:21:127:38 | [DotExpr] list.findLastIndex | arrays.js:127:21:127:24 | [VarRef] list | semmle.order | 1 | +| arrays.js:127:21:127:38 | [DotExpr] list.findLastIndex | arrays.js:127:26:127:38 | [Label] findLastIndex | semmle.label | 2 | +| arrays.js:127:21:127:38 | [DotExpr] list.findLastIndex | arrays.js:127:26:127:38 | [Label] findLastIndex | semmle.order | 2 | +| arrays.js:127:21:127:60 | [MethodCallExpr] list.fi ... (item)) | arrays.js:127:21:127:38 | [DotExpr] list.findLastIndex | semmle.label | 0 | +| arrays.js:127:21:127:60 | [MethodCallExpr] list.fi ... (item)) | arrays.js:127:21:127:38 | [DotExpr] list.findLastIndex | semmle.order | 0 | +| arrays.js:127:21:127:60 | [MethodCallExpr] list.fi ... (item)) | file://:0:0:0:0 | (Arguments) | semmle.label | 1 | +| arrays.js:127:21:127:60 | [MethodCallExpr] list.fi ... (item)) | file://:0:0:0:0 | (Arguments) | semmle.order | 1 | +| arrays.js:127:40:127:59 | [ArrowFunctionExpr] (item) => sink(item) | arrays.js:127:50:127:59 | [CallExpr] sink(item) | semmle.label | 5 | +| arrays.js:127:40:127:59 | [ArrowFunctionExpr] (item) => sink(item) | arrays.js:127:50:127:59 | [CallExpr] sink(item) | semmle.order | 5 | +| arrays.js:127:40:127:59 | [ArrowFunctionExpr] (item) => sink(item) | file://:0:0:0:0 | (Parameters) | semmle.label | 1 | +| arrays.js:127:40:127:59 | [ArrowFunctionExpr] (item) => sink(item) | file://:0:0:0:0 | (Parameters) | semmle.order | 1 | +| arrays.js:127:50:127:59 | [CallExpr] sink(item) | arrays.js:127:50:127:53 | [VarRef] sink | semmle.label | 0 | +| arrays.js:127:50:127:59 | [CallExpr] sink(item) | arrays.js:127:50:127:53 | [VarRef] sink | semmle.order | 0 | +| arrays.js:127:50:127:59 | [CallExpr] sink(item) | file://:0:0:0:0 | (Arguments) | semmle.label | 1 | +| arrays.js:127:50:127:59 | [CallExpr] sink(item) | file://:0:0:0:0 | (Arguments) | semmle.order | 1 | +| arrays.js:128:5:128:17 | [CallExpr] sink(element) | arrays.js:128:5:128:8 | [VarRef] sink | semmle.label | 0 | +| arrays.js:128:5:128:17 | [CallExpr] sink(element) | arrays.js:128:5:128:8 | [VarRef] sink | semmle.order | 0 | +| arrays.js:128:5:128:17 | [CallExpr] sink(element) | file://:0:0:0:0 | (Arguments) | semmle.label | 1 | +| arrays.js:128:5:128:17 | [CallExpr] sink(element) | file://:0:0:0:0 | (Arguments) | semmle.order | 1 | +| arrays.js:128:5:128:18 | [ExprStmt] sink(element); | arrays.js:128:5:128:17 | [CallExpr] sink(element) | semmle.label | 1 | +| arrays.js:128:5:128:18 | [ExprStmt] sink(element); | arrays.js:128:5:128:17 | [CallExpr] sink(element) | semmle.order | 1 | | file://:0:0:0:0 | (Arguments) | arrays.js:5:8:5:14 | [DotExpr] obj.foo | semmle.label | 0 | | file://:0:0:0:0 | (Arguments) | arrays.js:5:8:5:14 | [DotExpr] obj.foo | semmle.order | 0 | | file://:0:0:0:0 | (Arguments) | arrays.js:8:12:8:17 | [VarRef] source | semmle.label | 0 | @@ -1664,6 +1874,24 @@ edges | file://:0:0:0:0 | (Arguments) | arrays.js:111:8:111:33 | [MethodCallExpr] arr.fin ... llback) | semmle.order | 0 | | file://:0:0:0:0 | (Arguments) | arrays.js:111:21:111:32 | [VarRef] someCallback | semmle.label | 0 | | file://:0:0:0:0 | (Arguments) | arrays.js:111:21:111:32 | [VarRef] someCallback | semmle.order | 0 | +| file://:0:0:0:0 | (Arguments) | arrays.js:115:35:115:54 | [ArrowFunctionExpr] (item) => sink(item) | semmle.label | 0 | +| file://:0:0:0:0 | (Arguments) | arrays.js:115:35:115:54 | [ArrowFunctionExpr] (item) => sink(item) | semmle.order | 0 | +| file://:0:0:0:0 | (Arguments) | arrays.js:115:50:115:53 | [VarRef] item | semmle.label | 0 | +| file://:0:0:0:0 | (Arguments) | arrays.js:115:50:115:53 | [VarRef] item | semmle.order | 0 | +| file://:0:0:0:0 | (Arguments) | arrays.js:116:10:116:16 | [VarRef] element | semmle.label | 0 | +| file://:0:0:0:0 | (Arguments) | arrays.js:116:10:116:16 | [VarRef] element | semmle.order | 0 | +| file://:0:0:0:0 | (Arguments) | arrays.js:121:31:121:50 | [ArrowFunctionExpr] (item) => sink(item) | semmle.label | 0 | +| file://:0:0:0:0 | (Arguments) | arrays.js:121:31:121:50 | [ArrowFunctionExpr] (item) => sink(item) | semmle.order | 0 | +| file://:0:0:0:0 | (Arguments) | arrays.js:121:46:121:49 | [VarRef] item | semmle.label | 0 | +| file://:0:0:0:0 | (Arguments) | arrays.js:121:46:121:49 | [VarRef] item | semmle.order | 0 | +| file://:0:0:0:0 | (Arguments) | arrays.js:122:10:122:16 | [VarRef] element | semmle.label | 0 | +| file://:0:0:0:0 | (Arguments) | arrays.js:122:10:122:16 | [VarRef] element | semmle.order | 0 | +| file://:0:0:0:0 | (Arguments) | arrays.js:127:40:127:59 | [ArrowFunctionExpr] (item) => sink(item) | semmle.label | 0 | +| file://:0:0:0:0 | (Arguments) | arrays.js:127:40:127:59 | [ArrowFunctionExpr] (item) => sink(item) | semmle.order | 0 | +| file://:0:0:0:0 | (Arguments) | arrays.js:127:55:127:58 | [VarRef] item | semmle.label | 0 | +| file://:0:0:0:0 | (Arguments) | arrays.js:127:55:127:58 | [VarRef] item | semmle.order | 0 | +| file://:0:0:0:0 | (Arguments) | arrays.js:128:10:128:16 | [VarRef] element | semmle.label | 0 | +| file://:0:0:0:0 | (Arguments) | arrays.js:128:10:128:16 | [VarRef] element | semmle.order | 0 | | file://:0:0:0:0 | (Parameters) | arrays.js:15:16:15:16 | [SimpleParameter] e | semmle.label | 0 | | file://:0:0:0:0 | (Parameters) | arrays.js:15:16:15:16 | [SimpleParameter] e | semmle.order | 0 | | file://:0:0:0:0 | (Parameters) | arrays.js:16:12:16:12 | [SimpleParameter] e | semmle.label | 0 | @@ -1682,5 +1910,11 @@ edges | file://:0:0:0:0 | (Parameters) | arrays.js:95:27:95:27 | [SimpleParameter] x | semmle.order | 0 | | file://:0:0:0:0 | (Parameters) | arrays.js:96:27:96:27 | [SimpleParameter] x | semmle.label | 0 | | file://:0:0:0:0 | (Parameters) | arrays.js:96:27:96:27 | [SimpleParameter] x | semmle.order | 0 | +| file://:0:0:0:0 | (Parameters) | arrays.js:115:36:115:39 | [SimpleParameter] item | semmle.label | 0 | +| file://:0:0:0:0 | (Parameters) | arrays.js:115:36:115:39 | [SimpleParameter] item | semmle.order | 0 | +| file://:0:0:0:0 | (Parameters) | arrays.js:121:32:121:35 | [SimpleParameter] item | semmle.label | 0 | +| file://:0:0:0:0 | (Parameters) | arrays.js:121:32:121:35 | [SimpleParameter] item | semmle.order | 0 | +| file://:0:0:0:0 | (Parameters) | arrays.js:127:41:127:44 | [SimpleParameter] item | semmle.label | 0 | +| file://:0:0:0:0 | (Parameters) | arrays.js:127:41:127:44 | [SimpleParameter] item | semmle.order | 0 | graphProperties | semmle.graphKind | tree | From c03d69af1eeaeed4ee27d0c72fdf676f5b1bc46f Mon Sep 17 00:00:00 2001 From: Napalys Date: Tue, 19 Nov 2024 09:42:11 +0100 Subject: [PATCH 246/347] JS: Add: dataflow step for find, findLast, findLastIndex callback functions --- javascript/ql/lib/semmle/javascript/Arrays.qll | 14 ++++++++++++++ .../ql/test/library-tests/Arrays/DataFlow.expected | 3 +++ .../test/library-tests/Arrays/TaintFlow.expected | 3 +++ javascript/ql/test/library-tests/Arrays/arrays.js | 6 +++--- 4 files changed, 23 insertions(+), 3 deletions(-) diff --git a/javascript/ql/lib/semmle/javascript/Arrays.qll b/javascript/ql/lib/semmle/javascript/Arrays.qll index 5cb7d2315861..c132fc9bc2a1 100644 --- a/javascript/ql/lib/semmle/javascript/Arrays.qll +++ b/javascript/ql/lib/semmle/javascript/Arrays.qll @@ -483,4 +483,18 @@ private module ArrayLibraries { ) } } + + /** + * Defines a data flow step that tracks the flow of data through callback functions in arrays. + */ + private class ArrayCallBackDataFlowStep extends PreCallGraphStep { + override predicate loadStep(DataFlow::Node obj, DataFlow::Node element, string prop) { + exists(DataFlow::MethodCallNode call | + call.getMethodName() = ["findLast", "find", "findLastIndex"] and + prop = arrayLikeElement() and + obj = call.getReceiver() and + element = call.getCallback(0).getParameter(0) + ) + } + } } diff --git a/javascript/ql/test/library-tests/Arrays/DataFlow.expected b/javascript/ql/test/library-tests/Arrays/DataFlow.expected index 91742699b617..07fabfb7270c 100644 --- a/javascript/ql/test/library-tests/Arrays/DataFlow.expected +++ b/javascript/ql/test/library-tests/Arrays/DataFlow.expected @@ -26,5 +26,8 @@ | arrays.js:53:4:53:11 | "source" | arrays.js:54:10:54:18 | ary.pop() | | arrays.js:99:31:99:38 | "source" | arrays.js:100:8:100:17 | arr8.pop() | | arrays.js:103:55:103:62 | "source" | arrays.js:105:8:105:25 | arr8_variant.pop() | +| arrays.js:114:19:114:26 | "source" | arrays.js:115:50:115:53 | item | | arrays.js:114:19:114:26 | "source" | arrays.js:116:10:116:16 | element | +| arrays.js:120:19:120:26 | "source" | arrays.js:121:46:121:49 | item | | arrays.js:120:19:120:26 | "source" | arrays.js:122:10:122:16 | element | +| arrays.js:126:19:126:26 | "source" | arrays.js:127:55:127:58 | item | diff --git a/javascript/ql/test/library-tests/Arrays/TaintFlow.expected b/javascript/ql/test/library-tests/Arrays/TaintFlow.expected index cb3b16479a76..06260a21c1ce 100644 --- a/javascript/ql/test/library-tests/Arrays/TaintFlow.expected +++ b/javascript/ql/test/library-tests/Arrays/TaintFlow.expected @@ -30,5 +30,8 @@ | arrays.js:96:9:96:16 | "source" | arrays.js:96:8:96:36 | ["sourc ... => !!x) | | arrays.js:99:31:99:38 | "source" | arrays.js:100:8:100:17 | arr8.pop() | | arrays.js:103:55:103:62 | "source" | arrays.js:105:8:105:25 | arr8_variant.pop() | +| arrays.js:114:19:114:26 | "source" | arrays.js:115:50:115:53 | item | | arrays.js:114:19:114:26 | "source" | arrays.js:116:10:116:16 | element | +| arrays.js:120:19:120:26 | "source" | arrays.js:121:46:121:49 | item | | arrays.js:120:19:120:26 | "source" | arrays.js:122:10:122:16 | element | +| arrays.js:126:19:126:26 | "source" | arrays.js:127:55:127:58 | item | diff --git a/javascript/ql/test/library-tests/Arrays/arrays.js b/javascript/ql/test/library-tests/Arrays/arrays.js index e4124ec16d8e..00aa0c59e18b 100644 --- a/javascript/ql/test/library-tests/Arrays/arrays.js +++ b/javascript/ql/test/library-tests/Arrays/arrays.js @@ -112,19 +112,19 @@ { // Test for findLast function const list = ["source"]; - const element = list.findLast((item) => sink(item)); // NOT OK -- Not caught, currently missing dataflow tracking. + const element = list.findLast((item) => sink(item)); // NOT OK sink(element); // NOT OK } { // Test for find function const list = ["source"]; - const element = list.find((item) => sink(item)); // NOT OK -- Not caught, currently missing dataflow tracking. + const element = list.find((item) => sink(item)); // NOT OK sink(element); // NOT OK } { // Test for findLastIndex function const list = ["source"]; - const element = list.findLastIndex((item) => sink(item)); // NOT OK -- Not caught, currently missing dataflow tracking. + const element = list.findLastIndex((item) => sink(item)); // NOT OK sink(element); // OK } }); From 6e33f979c7189e0e4fcb3c4d4f830a22e617147e Mon Sep 17 00:00:00 2001 From: Paolo Tranquilli Date: Tue, 19 Nov 2024 10:25:31 +0100 Subject: [PATCH 247/347] Bazel: add an `installer` shortcut to `codeql_pack` This makes the first `codeql_pack` in a package add an `installer` target aliasing the `-installer` one. This makes it so that one can for example do `bazel run //rust:installer` instead of the stuttering `bazel run //rust:rust-installer`. If a bazel package defines multiple `codeql_pack` targets, the first one only will get the `installer` alias. --- actions/BUILD.bazel | 2 +- misc/bazel/pkg.bzl | 7 +++++-- rust/BUILD.bazel | 2 +- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/actions/BUILD.bazel b/actions/BUILD.bazel index 643d40897185..72313410642f 100644 --- a/actions/BUILD.bazel +++ b/actions/BUILD.bazel @@ -11,10 +11,10 @@ package(default_visibility = ["//visibility:public"]) pack_prefix = "/".join(parts), ) for parts in ( + ["actions"], [ "experimental", "actions", ], - ["actions"], ) ] diff --git a/misc/bazel/pkg.bzl b/misc/bazel/pkg.bzl index 62c2ee199459..104393605415 100644 --- a/misc/bazel/pkg.bzl +++ b/misc/bazel/pkg.bzl @@ -448,9 +448,10 @@ def codeql_pack( contain the `{CODEQL_PLATFORM}` marker. All files in the pack will be prefixed with `name`, unless `pack_prefix` is set, then is used instead. - This rule also provides a convenient installer target, with a path governed by `install_dest`. + This rule also provides a convenient installer target named `-installer`, with a path governed by `install_dest`. This installer is used for installing this pack into the source-tree, relative to the directory where the rule is used. - See `codeql_pack_install` for more details. + See `codeql_pack_install` for more details. The first `codeql_pack` defined in a bazel package also aliases this + installer target with the `installer` name as a shortcut. This function does not accept `visibility`, as packs are always public to make it easy to define pack groups. """ @@ -474,6 +475,8 @@ def codeql_pack( visibility = ["//visibility:public"], ) _codeql_pack_install(internal("installer"), [name], install_dest = install_dest, apply_pack_prefix = False) + if not native.existing_rule("installer"): + native.alias(name = "installer", actual = internal("installer")) strip_prefix = _strip_prefix diff --git a/rust/BUILD.bazel b/rust/BUILD.bazel index 848a5dbb78a6..4c0bb1721f1e 100644 --- a/rust/BUILD.bazel +++ b/rust/BUILD.bazel @@ -56,10 +56,10 @@ codeql_pkg_files( pack_prefix = "/".join(parts), ) for parts in ( + ["rust"], [ "experimental", "rust", ], - ["rust"], ) ] From 201a5e9faae07aa31a721ed2c4ded8dc99d12b9e Mon Sep 17 00:00:00 2001 From: Michael Nebel Date: Tue, 19 Nov 2024 10:25:52 +0100 Subject: [PATCH 248/347] C#: Update the extractor to target .NET 9. --- MODULE.bazel | 4 +- csharp/.config/dotnet-tools.json | 2 +- csharp/.paket/Paket.Restore.targets | 9 +- csharp/Directory.Build.props | 2 +- .../DotNet.cs | 2 +- ...tion.CSharp.DependencyStubGenerator.csproj | 2 +- csharp/extractor/Testrunner/Testrunner.cs | 2 +- csharp/paket.dependencies | 2 +- csharp/paket.lock | 46 +++--- csharp/paket.main.bzl | 134 +++++++++--------- csharp/scripts/gen-assembly-info.py | 2 +- 11 files changed, 106 insertions(+), 101 deletions(-) diff --git a/MODULE.bazel b/MODULE.bazel index 500916c057f3..13c801520b04 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -25,7 +25,7 @@ bazel_dep(name = "nlohmann_json", version = "3.11.3", repo_name = "json") bazel_dep(name = "fmt", version = "10.0.0") bazel_dep(name = "rules_kotlin", version = "2.0.0-codeql.1") bazel_dep(name = "gazelle", version = "0.38.0") -bazel_dep(name = "rules_dotnet", version = "0.16.1") +bazel_dep(name = "rules_dotnet", version = "0.17.4") bazel_dep(name = "googletest", version = "1.14.0.bcr.1") bazel_dep(name = "rules_rust", version = "0.52.2") @@ -71,7 +71,7 @@ tree_sitter_extractors_deps = use_extension("//misc/bazel/3rdparty:tree_sitter_e use_repo(tree_sitter_extractors_deps, "vendor__anyhow-1.0.93", "vendor__argfile-0.2.1", "vendor__chrono-0.4.38", "vendor__clap-4.5.20", "vendor__encoding-0.2.33", "vendor__figment-0.10.19", "vendor__flate2-1.0.34", "vendor__glob-0.3.1", "vendor__globset-0.4.15", "vendor__itertools-0.10.5", "vendor__itertools-0.13.0", "vendor__lazy_static-1.5.0", "vendor__log-0.4.22", "vendor__num-traits-0.2.19", "vendor__num_cpus-1.16.0", "vendor__proc-macro2-1.0.89", "vendor__quote-1.0.37", "vendor__ra_ap_base_db-0.0.232", "vendor__ra_ap_cfg-0.0.232", "vendor__ra_ap_hir-0.0.232", "vendor__ra_ap_hir_def-0.0.232", "vendor__ra_ap_hir_expand-0.0.232", "vendor__ra_ap_ide_db-0.0.232", "vendor__ra_ap_intern-0.0.232", "vendor__ra_ap_load-cargo-0.0.232", "vendor__ra_ap_parser-0.0.232", "vendor__ra_ap_paths-0.0.232", "vendor__ra_ap_project_model-0.0.232", "vendor__ra_ap_span-0.0.232", "vendor__ra_ap_syntax-0.0.232", "vendor__ra_ap_vfs-0.0.232", "vendor__rand-0.8.5", "vendor__rayon-1.10.0", "vendor__regex-1.11.1", "vendor__serde-1.0.214", "vendor__serde_json-1.0.132", "vendor__serde_with-3.11.0", "vendor__stderrlog-0.6.0", "vendor__syn-2.0.87", "vendor__tracing-0.1.40", "vendor__tracing-subscriber-0.3.18", "vendor__tree-sitter-0.24.4", "vendor__tree-sitter-embedded-template-0.23.2", "vendor__tree-sitter-json-0.24.8", "vendor__tree-sitter-ql-0.23.1", "vendor__tree-sitter-ruby-0.23.1", "vendor__triomphe-0.1.14", "vendor__ungrammar-1.16.1") dotnet = use_extension("@rules_dotnet//dotnet:extensions.bzl", "dotnet") -dotnet.toolchain(dotnet_version = "8.0.101") +dotnet.toolchain(dotnet_version = "9.0.100") use_repo(dotnet, "dotnet_toolchains") register_toolchains("@dotnet_toolchains//:all") diff --git a/csharp/.config/dotnet-tools.json b/csharp/.config/dotnet-tools.json index b9052bc027d2..16d0d2fef4f7 100644 --- a/csharp/.config/dotnet-tools.json +++ b/csharp/.config/dotnet-tools.json @@ -3,7 +3,7 @@ "isRoot": true, "tools": { "paket": { - "version": "8.0.3", + "version": "9.0.1", "commands": [ "paket" ] diff --git a/csharp/.paket/Paket.Restore.targets b/csharp/.paket/Paket.Restore.targets index bbeec153f50a..17aeb63502d0 100644 --- a/csharp/.paket/Paket.Restore.targets +++ b/csharp/.paket/Paket.Restore.targets @@ -235,14 +235,15 @@ $([System.String]::Copy('%(PaketReferencesFileLines.Identity)').Split(',').Length) $([System.String]::Copy('%(PaketReferencesFileLines.Identity)').Split(',')[0]) $([System.String]::Copy('%(PaketReferencesFileLines.Identity)').Split(',')[1]) + $([System.String]::Copy('%(PaketReferencesFileLines.Identity)').Split(',')[2]) $([System.String]::Copy('%(PaketReferencesFileLines.Identity)').Split(',')[4]) $([System.String]::Copy('%(PaketReferencesFileLines.Identity)').Split(',')[5]) $([System.String]::Copy('%(PaketReferencesFileLines.Identity)').Split(',')[6]) $([System.String]::Copy('%(PaketReferencesFileLines.Identity)').Split(',')[7]) $([System.String]::Copy('%(PaketReferencesFileLines.Identity)').Split(',')[8]) - - %(PaketReferencesFileLinesInfo.PackageVersion) + + %(PaketReferencesFileLinesInfo.PackageVersion) All runtime $(ExcludeAssets);contentFiles @@ -252,6 +253,10 @@ true + + + %(PaketReferencesFileLinesInfo.PackageVersion) + diff --git a/csharp/Directory.Build.props b/csharp/Directory.Build.props index 08e24aa8dc9a..0c8a2bc15266 100644 --- a/csharp/Directory.Build.props +++ b/csharp/Directory.Build.props @@ -1,7 +1,7 @@ - net8.0 + net9.0 win-x64;linux-x64;osx-x64 enable true diff --git a/csharp/extractor/Semmle.Extraction.CSharp.DependencyFetching/DotNet.cs b/csharp/extractor/Semmle.Extraction.CSharp.DependencyFetching/DotNet.cs index d0646ea921cf..edfea049a81b 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp.DependencyFetching/DotNet.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp.DependencyFetching/DotNet.cs @@ -131,7 +131,7 @@ public IList GetNugetFeedsFromFolder(string folderPath) } // The version number should be kept in sync with the version .NET version used for building the application. - public const string LatestDotNetSdkVersion = "8.0.101"; + public const string LatestDotNetSdkVersion = "9.0.100"; /// /// Returns a script for downloading relevant versions of the diff --git a/csharp/extractor/Semmle.Extraction.CSharp.DependencyStubGenerator/Semmle.Extraction.CSharp.DependencyStubGenerator.csproj b/csharp/extractor/Semmle.Extraction.CSharp.DependencyStubGenerator/Semmle.Extraction.CSharp.DependencyStubGenerator.csproj index a2925dc32aff..9ec282989508 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp.DependencyStubGenerator/Semmle.Extraction.CSharp.DependencyStubGenerator.csproj +++ b/csharp/extractor/Semmle.Extraction.CSharp.DependencyStubGenerator/Semmle.Extraction.CSharp.DependencyStubGenerator.csproj @@ -2,7 +2,7 @@ Exe - net8.0 + net9.0 Semmle.Extraction.CSharp.DependencyStubGenerator Semmle.Extraction.CSharp.DependencyStubGenerator enable diff --git a/csharp/extractor/Testrunner/Testrunner.cs b/csharp/extractor/Testrunner/Testrunner.cs index 55fec21da43e..6280a8c1be2a 100644 --- a/csharp/extractor/Testrunner/Testrunner.cs +++ b/csharp/extractor/Testrunner/Testrunner.cs @@ -71,7 +71,7 @@ public int RunTests() testrunner.OnTestSkipped = OnTestSkipped; Console.WriteLine("Discovering tests..."); - testrunner.Start(parallelAlgorithm: null); + testrunner.Start(); Finished.WaitOne(); Finished.Dispose(); diff --git a/csharp/paket.dependencies b/csharp/paket.dependencies index dab8c5a2a09c..f07d495f7dbc 100644 --- a/csharp/paket.dependencies +++ b/csharp/paket.dependencies @@ -1,4 +1,4 @@ -framework: net8.0 +framework: net9.0 storage: none source https://api.nuget.org/v3/index.json # behave like nuget in choosing transitive dependency versions diff --git a/csharp/paket.lock b/csharp/paket.lock index dd01f431483c..d0cd1517b419 100644 --- a/csharp/paket.lock +++ b/csharp/paket.lock @@ -1,9 +1,9 @@ STORAGE: NONE STRATEGY: MIN -RESTRICTION: == net8.0 +RESTRICTION: == net9.0 NUGET remote: https://api.nuget.org/v3/index.json - Basic.CompilerLog.Util (0.7.8) + Basic.CompilerLog.Util (0.7.9) MessagePack (>= 2.5.129) Microsoft.CodeAnalysis (>= 4.9.2) Microsoft.CodeAnalysis.CSharp (>= 4.9.2) @@ -59,18 +59,18 @@ NUGET System.Composition (>= 8.0) System.IO.Pipelines (>= 8.0) System.Threading.Channels (>= 8.0) - Microsoft.CodeCoverage (17.9) + Microsoft.CodeCoverage (17.11.1) Microsoft.Extensions.ObjectPool (7.0.13) Microsoft.NET.StringTools (17.8.3) - Microsoft.NET.Test.Sdk (17.9) - Microsoft.CodeCoverage (>= 17.9) - Microsoft.TestPlatform.TestHost (>= 17.9) + Microsoft.NET.Test.Sdk (17.11.1) + Microsoft.CodeCoverage (>= 17.11.1) + Microsoft.TestPlatform.TestHost (>= 17.11.1) Microsoft.NETCore.Platforms (1.1.1) Microsoft.NETCore.Targets (1.1.3) - Microsoft.TestPlatform.ObjectModel (17.9) + Microsoft.TestPlatform.ObjectModel (17.11.1) System.Reflection.Metadata (>= 1.6) - Microsoft.TestPlatform.TestHost (17.9) - Microsoft.TestPlatform.ObjectModel (>= 17.9) + Microsoft.TestPlatform.TestHost (17.11.1) + Microsoft.TestPlatform.ObjectModel (>= 17.11.1) Newtonsoft.Json (>= 13.0.1) Microsoft.Win32.Primitives (4.3) Microsoft.NETCore.Platforms (>= 1.1) @@ -163,20 +163,20 @@ NUGET System.Runtime.Handles (>= 4.3) System.Windows.Extensions (7.0) System.Drawing.Common (>= 7.0) - xunit (2.8) - xunit.analyzers (>= 1.13) - xunit.assert (>= 2.8) - xunit.core (2.8) + xunit (2.9.2) + xunit.analyzers (>= 1.16) + xunit.assert (>= 2.9.2) + xunit.core (2.9.2) xunit.abstractions (2.0.3) - xunit.analyzers (1.13) - xunit.assert (2.8) - xunit.core (2.8) - xunit.extensibility.core (2.8) - xunit.extensibility.execution (2.8) - xunit.extensibility.core (2.8) + xunit.analyzers (1.16) + xunit.assert (2.9.2) + xunit.core (2.9.2) + xunit.extensibility.core (2.9.2) + xunit.extensibility.execution (2.9.2) + xunit.extensibility.core (2.9.2) xunit.abstractions (>= 2.0.3) - xunit.extensibility.execution (2.8) - xunit.extensibility.core (2.8) - xunit.runner.utility (2.8) + xunit.extensibility.execution (2.9.2) + xunit.extensibility.core (2.9.2) + xunit.runner.utility (2.9.2) xunit.abstractions (>= 2.0.3) - xunit.runner.visualstudio (2.8) + xunit.runner.visualstudio (2.8.2) diff --git a/csharp/paket.main.bzl b/csharp/paket.main.bzl index a3e778088cd3..c8e6dbf2c8df 100644 --- a/csharp/paket.main.bzl +++ b/csharp/paket.main.bzl @@ -7,72 +7,72 @@ def main(): nuget_repo( name = "paket.main", packages = [ - {"name": "Basic.CompilerLog.Util", "id": "Basic.CompilerLog.Util", "version": "0.7.8", "sha512": "sha512-l4HWgecvjVCLOYNbdo7NiW+icYbOmPolc6xYacawIb8OKGBdncAR4gECP9NzRcOqKqe+Y6bp/zym1MyWMtUmbQ==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": ["MSBuild.StructuredLogger", "MessagePack", "Microsoft.CodeAnalysis", "Microsoft.CodeAnalysis.CSharp", "Microsoft.CodeAnalysis.VisualBasic", "Microsoft.Extensions.ObjectPool"], "net462": ["MSBuild.StructuredLogger", "MessagePack", "Microsoft.CodeAnalysis", "Microsoft.CodeAnalysis.CSharp", "Microsoft.CodeAnalysis.VisualBasic", "Microsoft.Extensions.ObjectPool"], "net47": ["MSBuild.StructuredLogger", "MessagePack", "Microsoft.CodeAnalysis", "Microsoft.CodeAnalysis.CSharp", "Microsoft.CodeAnalysis.VisualBasic", "Microsoft.Extensions.ObjectPool"], "net471": ["MSBuild.StructuredLogger", "MessagePack", "Microsoft.CodeAnalysis", "Microsoft.CodeAnalysis.CSharp", "Microsoft.CodeAnalysis.VisualBasic", "Microsoft.Extensions.ObjectPool"], "net472": ["MSBuild.StructuredLogger", "MessagePack", "Microsoft.CodeAnalysis", "Microsoft.CodeAnalysis.CSharp", "Microsoft.CodeAnalysis.VisualBasic", "Microsoft.Extensions.ObjectPool"], "net48": ["MSBuild.StructuredLogger", "MessagePack", "Microsoft.CodeAnalysis", "Microsoft.CodeAnalysis.CSharp", "Microsoft.CodeAnalysis.VisualBasic", "Microsoft.Extensions.ObjectPool"], "net5.0": ["MSBuild.StructuredLogger", "MessagePack", "Microsoft.CodeAnalysis", "Microsoft.CodeAnalysis.CSharp", "Microsoft.CodeAnalysis.VisualBasic", "Microsoft.Extensions.ObjectPool"], "net6.0": ["MSBuild.StructuredLogger", "MessagePack", "Microsoft.CodeAnalysis", "Microsoft.CodeAnalysis.CSharp", "Microsoft.CodeAnalysis.VisualBasic", "Microsoft.Extensions.ObjectPool"], "net7.0": ["MSBuild.StructuredLogger", "MessagePack", "Microsoft.CodeAnalysis", "Microsoft.CodeAnalysis.CSharp", "Microsoft.CodeAnalysis.VisualBasic", "Microsoft.Extensions.ObjectPool"], "net8.0": ["MSBuild.StructuredLogger", "MessagePack", "Microsoft.CodeAnalysis", "Microsoft.CodeAnalysis.CSharp", "Microsoft.CodeAnalysis.VisualBasic", "Microsoft.Extensions.ObjectPool"], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": ["MSBuild.StructuredLogger", "MessagePack", "Microsoft.CodeAnalysis", "Microsoft.CodeAnalysis.CSharp", "Microsoft.CodeAnalysis.VisualBasic", "Microsoft.Extensions.ObjectPool"], "netcoreapp2.1": ["MSBuild.StructuredLogger", "MessagePack", "Microsoft.CodeAnalysis", "Microsoft.CodeAnalysis.CSharp", "Microsoft.CodeAnalysis.VisualBasic", "Microsoft.Extensions.ObjectPool"], "netcoreapp2.2": ["MSBuild.StructuredLogger", "MessagePack", "Microsoft.CodeAnalysis", "Microsoft.CodeAnalysis.CSharp", "Microsoft.CodeAnalysis.VisualBasic", "Microsoft.Extensions.ObjectPool"], "netcoreapp3.0": ["MSBuild.StructuredLogger", "MessagePack", "Microsoft.CodeAnalysis", "Microsoft.CodeAnalysis.CSharp", "Microsoft.CodeAnalysis.VisualBasic", "Microsoft.Extensions.ObjectPool"], "netcoreapp3.1": ["MSBuild.StructuredLogger", "MessagePack", "Microsoft.CodeAnalysis", "Microsoft.CodeAnalysis.CSharp", "Microsoft.CodeAnalysis.VisualBasic", "Microsoft.Extensions.ObjectPool"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": ["MSBuild.StructuredLogger", "MessagePack", "Microsoft.CodeAnalysis", "Microsoft.CodeAnalysis.CSharp", "Microsoft.CodeAnalysis.VisualBasic", "Microsoft.Extensions.ObjectPool"], "netstandard2.1": ["MSBuild.StructuredLogger", "MessagePack", "Microsoft.CodeAnalysis", "Microsoft.CodeAnalysis.CSharp", "Microsoft.CodeAnalysis.VisualBasic", "Microsoft.Extensions.ObjectPool"]}, "targeting_pack_overrides": [], "framework_list": []}, - {"name": "Humanizer.Core", "id": "Humanizer.Core", "version": "2.14.1", "sha512": "sha512-yzqGU/HKNLZ9Uvr6kvSc3wYV/S5O/IvklIUW5WF7MuivGLY8wS5IZnLPkt7D1KW8Et2Enl0I3Lzg2vGWM24Xsw==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": [], "net48": [], "net5.0": [], "net6.0": [], "net7.0": [], "net8.0": [], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": [], "netcoreapp2.1": [], "netcoreapp2.2": [], "netcoreapp3.0": [], "netcoreapp3.1": [], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": [], "netstandard2.1": []}, "targeting_pack_overrides": [], "framework_list": []}, - {"name": "MessagePack", "id": "MessagePack", "version": "2.5.129", "sha512": "sha512-wpw2dHkE5AcvMYKE4MrWuoeZ2jeaneDlqAgplxm6yKqPXeUVI2h5DPrKjsljnJSNRZOm3tunasw18Q9xj/3UoA==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": ["MessagePack.Annotations", "Microsoft.NET.StringTools", "System.Collections.Immutable", "System.Runtime.CompilerServices.Unsafe"], "net462": ["MessagePack.Annotations", "Microsoft.NET.StringTools", "System.Collections.Immutable", "System.Runtime.CompilerServices.Unsafe"], "net47": ["MessagePack.Annotations", "Microsoft.NET.StringTools", "System.Collections.Immutable", "System.Runtime.CompilerServices.Unsafe"], "net471": ["MessagePack.Annotations", "Microsoft.NET.StringTools", "System.Collections.Immutable", "System.Runtime.CompilerServices.Unsafe"], "net472": ["MessagePack.Annotations", "Microsoft.NET.StringTools", "System.Collections.Immutable", "System.Runtime.CompilerServices.Unsafe"], "net48": ["MessagePack.Annotations", "Microsoft.NET.StringTools", "System.Collections.Immutable", "System.Runtime.CompilerServices.Unsafe"], "net5.0": ["MessagePack.Annotations", "Microsoft.NET.StringTools", "System.Collections.Immutable", "System.Runtime.CompilerServices.Unsafe"], "net6.0": ["MessagePack.Annotations", "Microsoft.NET.StringTools", "System.Runtime.CompilerServices.Unsafe"], "net7.0": ["MessagePack.Annotations", "Microsoft.NET.StringTools", "System.Runtime.CompilerServices.Unsafe"], "net8.0": ["MessagePack.Annotations", "Microsoft.NET.StringTools", "System.Runtime.CompilerServices.Unsafe"], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": ["MessagePack.Annotations", "Microsoft.NET.StringTools", "System.Collections.Immutable", "System.Runtime.CompilerServices.Unsafe"], "netcoreapp2.1": ["MessagePack.Annotations", "Microsoft.NET.StringTools", "System.Collections.Immutable", "System.Runtime.CompilerServices.Unsafe"], "netcoreapp2.2": ["MessagePack.Annotations", "Microsoft.NET.StringTools", "System.Collections.Immutable", "System.Runtime.CompilerServices.Unsafe"], "netcoreapp3.0": ["MessagePack.Annotations", "Microsoft.NET.StringTools", "System.Collections.Immutable", "System.Runtime.CompilerServices.Unsafe"], "netcoreapp3.1": ["MessagePack.Annotations", "Microsoft.NET.StringTools", "System.Collections.Immutable", "System.Runtime.CompilerServices.Unsafe"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": ["MessagePack.Annotations", "Microsoft.NET.StringTools", "System.Collections.Immutable", "System.Runtime.CompilerServices.Unsafe"], "netstandard2.1": ["MessagePack.Annotations", "Microsoft.NET.StringTools", "System.Collections.Immutable", "System.Runtime.CompilerServices.Unsafe"]}, "targeting_pack_overrides": [], "framework_list": []}, - {"name": "MessagePack.Annotations", "id": "MessagePack.Annotations", "version": "2.5.129", "sha512": "sha512-mr12dLr06Kp7Ra7+GUXHbuxt/gbi6RPGPw1mpSvZsubs7hJxzHDtYTb5KKuseu5cpzOUDfsGcaW+Bo0+lqCFAA==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": [], "net48": [], "net5.0": [], "net6.0": [], "net7.0": [], "net8.0": [], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": [], "netcoreapp2.1": [], "netcoreapp2.2": [], "netcoreapp3.0": [], "netcoreapp3.1": [], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": [], "netstandard2.1": []}, "targeting_pack_overrides": [], "framework_list": []}, - {"name": "Microsoft.Build", "id": "Microsoft.Build", "version": "17.8.3", "sha512": "sha512-jRz++ltVTU9xGAYSnI7fGwLIsg/AwINaxlXaJrcMszO+fyh1xJ8gKZkDz10foT/5y26jZC6G93wyp85NVHc+lA==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": ["Microsoft.Build.Framework", "Microsoft.NET.StringTools", "System.Collections.Immutable", "System.Configuration.ConfigurationManager", "System.Reflection.MetadataLoadContext", "System.Security.Principal.Windows", "System.Threading.Tasks.Dataflow", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe"], "net48": ["Microsoft.Build.Framework", "Microsoft.NET.StringTools", "System.Collections.Immutable", "System.Configuration.ConfigurationManager", "System.Reflection.MetadataLoadContext", "System.Security.Principal.Windows", "System.Threading.Tasks.Dataflow", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe"], "net5.0": [], "net6.0": [], "net7.0": [], "net8.0": ["Microsoft.Build.Framework", "Microsoft.NET.StringTools", "System.Collections.Immutable", "System.Configuration.ConfigurationManager", "System.Reflection.MetadataLoadContext", "System.Security.Principal.Windows", "System.Threading.Tasks.Dataflow", "System.Reflection.Metadata"], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": [], "netcoreapp2.1": [], "netcoreapp2.2": [], "netcoreapp3.0": [], "netcoreapp3.1": [], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": [], "netstandard2.1": []}, "targeting_pack_overrides": [], "framework_list": []}, - {"name": "Microsoft.Build.Framework", "id": "Microsoft.Build.Framework", "version": "17.8.3", "sha512": "sha512-xDOoj8lpNohM0Sieo4sJ47m/3SAquclF8wFZeAYYuDRHc8hII4XWPhSafFmw5A4TMGOyV08Z1TrrqES9HxMB3Q==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": ["System.Runtime.CompilerServices.Unsafe", "System.Security.Principal.Windows"], "net462": ["System.Runtime.CompilerServices.Unsafe", "System.Security.Principal.Windows"], "net47": ["System.Runtime.CompilerServices.Unsafe", "System.Security.Principal.Windows"], "net471": ["System.Runtime.CompilerServices.Unsafe", "System.Security.Principal.Windows"], "net472": ["System.Runtime.CompilerServices.Unsafe"], "net48": ["System.Runtime.CompilerServices.Unsafe"], "net5.0": ["System.Runtime.CompilerServices.Unsafe", "System.Security.Principal.Windows"], "net6.0": ["System.Runtime.CompilerServices.Unsafe", "System.Security.Principal.Windows"], "net7.0": ["System.Runtime.CompilerServices.Unsafe", "System.Security.Principal.Windows"], "net8.0": [], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": ["System.Runtime.CompilerServices.Unsafe", "System.Security.Principal.Windows"], "netcoreapp2.1": ["System.Runtime.CompilerServices.Unsafe", "System.Security.Principal.Windows"], "netcoreapp2.2": ["System.Runtime.CompilerServices.Unsafe", "System.Security.Principal.Windows"], "netcoreapp3.0": ["System.Runtime.CompilerServices.Unsafe", "System.Security.Principal.Windows"], "netcoreapp3.1": ["System.Runtime.CompilerServices.Unsafe", "System.Security.Principal.Windows"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": ["System.Runtime.CompilerServices.Unsafe", "System.Security.Principal.Windows"], "netstandard2.1": ["System.Runtime.CompilerServices.Unsafe", "System.Security.Principal.Windows"]}, "targeting_pack_overrides": [], "framework_list": []}, - {"name": "Microsoft.Build.Utilities.Core", "id": "Microsoft.Build.Utilities.Core", "version": "17.5.0", "sha512": "sha512-La1NFQ7SVz1pVGEUnG15BQG26jJkRMCiitySBXLhuTYf9IG6eZ5j5UFjnM4EFKSVKbictRv+D/F0dQtsCiK9ag==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": ["Microsoft.Build.Framework", "Microsoft.NET.StringTools", "System.Collections.Immutable", "System.Configuration.ConfigurationManager", "System.Security.Permissions"], "net462": ["Microsoft.Build.Framework", "Microsoft.NET.StringTools", "System.Collections.Immutable", "System.Configuration.ConfigurationManager", "System.Security.Permissions"], "net47": ["Microsoft.Build.Framework", "Microsoft.NET.StringTools", "System.Collections.Immutable", "System.Configuration.ConfigurationManager", "System.Security.Permissions"], "net471": ["Microsoft.Build.Framework", "Microsoft.NET.StringTools", "System.Collections.Immutable", "System.Configuration.ConfigurationManager", "System.Security.Permissions"], "net472": ["Microsoft.Build.Framework", "Microsoft.NET.StringTools", "System.Collections.Immutable", "System.Configuration.ConfigurationManager"], "net48": ["Microsoft.Build.Framework", "Microsoft.NET.StringTools", "System.Collections.Immutable", "System.Configuration.ConfigurationManager"], "net5.0": ["Microsoft.Build.Framework", "Microsoft.NET.StringTools", "System.Collections.Immutable", "System.Configuration.ConfigurationManager", "System.Security.Permissions"], "net6.0": ["Microsoft.Build.Framework", "Microsoft.NET.StringTools", "System.Collections.Immutable", "System.Configuration.ConfigurationManager", "System.Security.Permissions"], "net7.0": ["Microsoft.Build.Framework", "Microsoft.NET.StringTools", "System.Collections.Immutable", "System.Configuration.ConfigurationManager"], "net8.0": ["Microsoft.Build.Framework", "Microsoft.NET.StringTools", "System.Collections.Immutable", "System.Configuration.ConfigurationManager"], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": ["Microsoft.Build.Framework", "Microsoft.NET.StringTools", "System.Collections.Immutable", "System.Configuration.ConfigurationManager", "System.Security.Permissions"], "netcoreapp2.1": ["Microsoft.Build.Framework", "Microsoft.NET.StringTools", "System.Collections.Immutable", "System.Configuration.ConfigurationManager", "System.Security.Permissions"], "netcoreapp2.2": ["Microsoft.Build.Framework", "Microsoft.NET.StringTools", "System.Collections.Immutable", "System.Configuration.ConfigurationManager", "System.Security.Permissions"], "netcoreapp3.0": ["Microsoft.Build.Framework", "Microsoft.NET.StringTools", "System.Collections.Immutable", "System.Configuration.ConfigurationManager", "System.Security.Permissions"], "netcoreapp3.1": ["Microsoft.Build.Framework", "Microsoft.NET.StringTools", "System.Collections.Immutable", "System.Configuration.ConfigurationManager", "System.Security.Permissions"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": ["Microsoft.Build.Framework", "Microsoft.NET.StringTools", "System.Collections.Immutable", "System.Configuration.ConfigurationManager", "System.Security.Permissions"], "netstandard2.1": ["Microsoft.Build.Framework", "Microsoft.NET.StringTools", "System.Collections.Immutable", "System.Configuration.ConfigurationManager", "System.Security.Permissions"]}, "targeting_pack_overrides": [], "framework_list": []}, - {"name": "Microsoft.CodeAnalysis", "id": "Microsoft.CodeAnalysis", "version": "4.9.2", "sha512": "sha512-CJh/yj/ZWnDn0qRDovqeb7qhXl4MDFR5CELAQ2B5K9dcEC6JPg7Fkm2ADRiBM4UF7ub+n6fkiE5+/+GPD5WbFg==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": ["Microsoft.CodeAnalysis.CSharp.Workspaces", "Microsoft.CodeAnalysis.VisualBasic.Workspaces"], "net462": ["Microsoft.CodeAnalysis.CSharp.Workspaces", "Microsoft.CodeAnalysis.VisualBasic.Workspaces"], "net47": ["Microsoft.CodeAnalysis.CSharp.Workspaces", "Microsoft.CodeAnalysis.VisualBasic.Workspaces"], "net471": ["Microsoft.CodeAnalysis.CSharp.Workspaces", "Microsoft.CodeAnalysis.VisualBasic.Workspaces"], "net472": ["Microsoft.CodeAnalysis.CSharp.Workspaces", "Microsoft.CodeAnalysis.VisualBasic.Workspaces"], "net48": ["Microsoft.CodeAnalysis.CSharp.Workspaces", "Microsoft.CodeAnalysis.VisualBasic.Workspaces"], "net5.0": ["Microsoft.CodeAnalysis.CSharp.Workspaces", "Microsoft.CodeAnalysis.VisualBasic.Workspaces"], "net6.0": ["Microsoft.CodeAnalysis.CSharp.Workspaces", "Microsoft.CodeAnalysis.VisualBasic.Workspaces"], "net7.0": ["Microsoft.CodeAnalysis.CSharp.Workspaces", "Microsoft.CodeAnalysis.VisualBasic.Workspaces"], "net8.0": ["Microsoft.CodeAnalysis.CSharp.Workspaces", "Microsoft.CodeAnalysis.VisualBasic.Workspaces"], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": ["Microsoft.CodeAnalysis.CSharp.Workspaces", "Microsoft.CodeAnalysis.VisualBasic.Workspaces"], "netcoreapp2.1": ["Microsoft.CodeAnalysis.CSharp.Workspaces", "Microsoft.CodeAnalysis.VisualBasic.Workspaces"], "netcoreapp2.2": ["Microsoft.CodeAnalysis.CSharp.Workspaces", "Microsoft.CodeAnalysis.VisualBasic.Workspaces"], "netcoreapp3.0": ["Microsoft.CodeAnalysis.CSharp.Workspaces", "Microsoft.CodeAnalysis.VisualBasic.Workspaces"], "netcoreapp3.1": ["Microsoft.CodeAnalysis.CSharp.Workspaces", "Microsoft.CodeAnalysis.VisualBasic.Workspaces"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": ["Microsoft.CodeAnalysis.CSharp.Workspaces", "Microsoft.CodeAnalysis.VisualBasic.Workspaces"], "netstandard2.1": ["Microsoft.CodeAnalysis.CSharp.Workspaces", "Microsoft.CodeAnalysis.VisualBasic.Workspaces"]}, "targeting_pack_overrides": [], "framework_list": []}, - {"name": "Microsoft.CodeAnalysis.Analyzers", "id": "Microsoft.CodeAnalysis.Analyzers", "version": "3.3.4", "sha512": "sha512-I+Riw6/6WjNICydoiNpDjN/GGP7u4XsL6VsI9lG/OjFufH3flvSEy/fxNhGDVGwZWwq/5BlnqX+LH2dmheaPfg==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": [], "net48": [], "net5.0": [], "net6.0": [], "net7.0": [], "net8.0": [], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": [], "netcoreapp2.1": [], "netcoreapp2.2": [], "netcoreapp3.0": [], "netcoreapp3.1": [], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": [], "netstandard2.1": []}, "targeting_pack_overrides": [], "framework_list": []}, - {"name": "Microsoft.CodeAnalysis.Common", "id": "Microsoft.CodeAnalysis.Common", "version": "4.9.2", "sha512": "sha512-XCtqPQdnoqfrBSidFWIESm8exXVHF4yPY94e84St2PVZPc2bGeQNXdFNwadu1Bd2sr/bAgM5B0UHbCqBz+/SeQ==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": ["Microsoft.CodeAnalysis.Analyzers", "System.Collections.Immutable", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe"], "net462": ["Microsoft.CodeAnalysis.Analyzers", "System.Collections.Immutable", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe"], "net47": ["Microsoft.CodeAnalysis.Analyzers", "System.Collections.Immutable", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe"], "net471": ["Microsoft.CodeAnalysis.Analyzers", "System.Collections.Immutable", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe"], "net472": ["Microsoft.CodeAnalysis.Analyzers", "System.Collections.Immutable", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe"], "net48": ["Microsoft.CodeAnalysis.Analyzers", "System.Collections.Immutable", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe"], "net5.0": ["Microsoft.CodeAnalysis.Analyzers", "System.Collections.Immutable", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe"], "net6.0": ["Microsoft.CodeAnalysis.Analyzers", "System.Collections.Immutable", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe"], "net7.0": ["Microsoft.CodeAnalysis.Analyzers", "System.Collections.Immutable", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe"], "net8.0": ["Microsoft.CodeAnalysis.Analyzers", "System.Collections.Immutable", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe"], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": ["Microsoft.CodeAnalysis.Analyzers", "System.Collections.Immutable", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe"], "netcoreapp2.1": ["Microsoft.CodeAnalysis.Analyzers", "System.Collections.Immutable", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe"], "netcoreapp2.2": ["Microsoft.CodeAnalysis.Analyzers", "System.Collections.Immutable", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe"], "netcoreapp3.0": ["Microsoft.CodeAnalysis.Analyzers", "System.Collections.Immutable", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe"], "netcoreapp3.1": ["Microsoft.CodeAnalysis.Analyzers", "System.Collections.Immutable", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": ["Microsoft.CodeAnalysis.Analyzers", "System.Collections.Immutable", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe"], "netstandard2.1": ["Microsoft.CodeAnalysis.Analyzers", "System.Collections.Immutable", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe"]}, "targeting_pack_overrides": [], "framework_list": []}, - {"name": "Microsoft.CodeAnalysis.CSharp", "id": "Microsoft.CodeAnalysis.CSharp", "version": "4.9.2", "sha512": "sha512-oy5nUdJOaOQEjUZimhYH4xU6nVxt8ctkdP7HT2fc32ecvH50QeIwJXgjNt7MGUyhJO+Wd3SipQWQ5QyDw7VuLg==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": ["Microsoft.CodeAnalysis.Common"], "net462": ["Microsoft.CodeAnalysis.Common"], "net47": ["Microsoft.CodeAnalysis.Common"], "net471": ["Microsoft.CodeAnalysis.Common"], "net472": ["Microsoft.CodeAnalysis.Common"], "net48": ["Microsoft.CodeAnalysis.Common"], "net5.0": ["Microsoft.CodeAnalysis.Common"], "net6.0": ["Microsoft.CodeAnalysis.Common"], "net7.0": ["Microsoft.CodeAnalysis.Common"], "net8.0": ["Microsoft.CodeAnalysis.Common"], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": ["Microsoft.CodeAnalysis.Common"], "netcoreapp2.1": ["Microsoft.CodeAnalysis.Common"], "netcoreapp2.2": ["Microsoft.CodeAnalysis.Common"], "netcoreapp3.0": ["Microsoft.CodeAnalysis.Common"], "netcoreapp3.1": ["Microsoft.CodeAnalysis.Common"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": ["Microsoft.CodeAnalysis.Common"], "netstandard2.1": ["Microsoft.CodeAnalysis.Common"]}, "targeting_pack_overrides": [], "framework_list": []}, - {"name": "Microsoft.CodeAnalysis.CSharp.Workspaces", "id": "Microsoft.CodeAnalysis.CSharp.Workspaces", "version": "4.9.2", "sha512": "sha512-NfP1c+OjN0KbFxhSN2DXilIjZzH6p/DzkF+yemB0v/7nhQkvRq7cDle6TpWgpw12JKOSa6lSirfECbRSyLFGhA==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.CSharp", "Microsoft.CodeAnalysis.Workspaces.Common", "Humanizer.Core"], "net462": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.CSharp", "Microsoft.CodeAnalysis.Workspaces.Common", "Humanizer.Core"], "net47": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.CSharp", "Microsoft.CodeAnalysis.Workspaces.Common", "Humanizer.Core"], "net471": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.CSharp", "Microsoft.CodeAnalysis.Workspaces.Common", "Humanizer.Core"], "net472": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.CSharp", "Microsoft.CodeAnalysis.Workspaces.Common", "Humanizer.Core"], "net48": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.CSharp", "Microsoft.CodeAnalysis.Workspaces.Common", "Humanizer.Core"], "net5.0": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.CSharp", "Microsoft.CodeAnalysis.Workspaces.Common", "Humanizer.Core"], "net6.0": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.CSharp", "Microsoft.CodeAnalysis.Workspaces.Common", "Humanizer.Core"], "net7.0": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.CSharp", "Microsoft.CodeAnalysis.Workspaces.Common", "Humanizer.Core"], "net8.0": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.CSharp", "Microsoft.CodeAnalysis.Workspaces.Common", "Humanizer.Core"], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.CSharp", "Microsoft.CodeAnalysis.Workspaces.Common", "Humanizer.Core"], "netcoreapp2.1": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.CSharp", "Microsoft.CodeAnalysis.Workspaces.Common", "Humanizer.Core"], "netcoreapp2.2": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.CSharp", "Microsoft.CodeAnalysis.Workspaces.Common", "Humanizer.Core"], "netcoreapp3.0": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.CSharp", "Microsoft.CodeAnalysis.Workspaces.Common", "Humanizer.Core"], "netcoreapp3.1": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.CSharp", "Microsoft.CodeAnalysis.Workspaces.Common", "Humanizer.Core"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.CSharp", "Microsoft.CodeAnalysis.Workspaces.Common", "Humanizer.Core"], "netstandard2.1": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.CSharp", "Microsoft.CodeAnalysis.Workspaces.Common", "Humanizer.Core"]}, "targeting_pack_overrides": [], "framework_list": []}, - {"name": "Microsoft.CodeAnalysis.VisualBasic", "id": "Microsoft.CodeAnalysis.VisualBasic", "version": "4.9.2", "sha512": "sha512-Jx3d7jpZ2bdCb/FzVBPD2a4P8jFDhdoEugGoxLxVKtBDzHA5+RdQL0BWvzwrP1Tdw3YPshrUelNlZXmcNXqZyA==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": ["Microsoft.CodeAnalysis.Common"], "net462": ["Microsoft.CodeAnalysis.Common"], "net47": ["Microsoft.CodeAnalysis.Common"], "net471": ["Microsoft.CodeAnalysis.Common"], "net472": ["Microsoft.CodeAnalysis.Common"], "net48": ["Microsoft.CodeAnalysis.Common"], "net5.0": ["Microsoft.CodeAnalysis.Common"], "net6.0": ["Microsoft.CodeAnalysis.Common"], "net7.0": ["Microsoft.CodeAnalysis.Common"], "net8.0": ["Microsoft.CodeAnalysis.Common"], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": ["Microsoft.CodeAnalysis.Common"], "netcoreapp2.1": ["Microsoft.CodeAnalysis.Common"], "netcoreapp2.2": ["Microsoft.CodeAnalysis.Common"], "netcoreapp3.0": ["Microsoft.CodeAnalysis.Common"], "netcoreapp3.1": ["Microsoft.CodeAnalysis.Common"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": ["Microsoft.CodeAnalysis.Common"], "netstandard2.1": ["Microsoft.CodeAnalysis.Common"]}, "targeting_pack_overrides": [], "framework_list": []}, - {"name": "Microsoft.CodeAnalysis.VisualBasic.Workspaces", "id": "Microsoft.CodeAnalysis.VisualBasic.Workspaces", "version": "4.9.2", "sha512": "sha512-v07rvZvckHiPLDzKXFs9AXfEGsDeTvR+N9YHO9wQqboXgms4HCv0fTrZOOgqM/aVS7racJKRo1tf62UfjqMeEw==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.VisualBasic", "Microsoft.CodeAnalysis.Workspaces.Common"], "net462": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.VisualBasic", "Microsoft.CodeAnalysis.Workspaces.Common"], "net47": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.VisualBasic", "Microsoft.CodeAnalysis.Workspaces.Common"], "net471": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.VisualBasic", "Microsoft.CodeAnalysis.Workspaces.Common"], "net472": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.VisualBasic", "Microsoft.CodeAnalysis.Workspaces.Common"], "net48": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.VisualBasic", "Microsoft.CodeAnalysis.Workspaces.Common"], "net5.0": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.VisualBasic", "Microsoft.CodeAnalysis.Workspaces.Common"], "net6.0": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.VisualBasic", "Microsoft.CodeAnalysis.Workspaces.Common"], "net7.0": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.VisualBasic", "Microsoft.CodeAnalysis.Workspaces.Common"], "net8.0": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.VisualBasic", "Microsoft.CodeAnalysis.Workspaces.Common"], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.VisualBasic", "Microsoft.CodeAnalysis.Workspaces.Common"], "netcoreapp2.1": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.VisualBasic", "Microsoft.CodeAnalysis.Workspaces.Common"], "netcoreapp2.2": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.VisualBasic", "Microsoft.CodeAnalysis.Workspaces.Common"], "netcoreapp3.0": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.VisualBasic", "Microsoft.CodeAnalysis.Workspaces.Common"], "netcoreapp3.1": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.VisualBasic", "Microsoft.CodeAnalysis.Workspaces.Common"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.VisualBasic", "Microsoft.CodeAnalysis.Workspaces.Common"], "netstandard2.1": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.VisualBasic", "Microsoft.CodeAnalysis.Workspaces.Common"]}, "targeting_pack_overrides": [], "framework_list": []}, - {"name": "Microsoft.CodeAnalysis.Workspaces.Common", "id": "Microsoft.CodeAnalysis.Workspaces.Common", "version": "4.9.2", "sha512": "sha512-DieswZYcYVGDPeT6m7M4i+0aKkjSgyjmI9z9HJEDSRZdvXfKYLEKwmlFGUTyzFS4brnyMCwLSiw2KWVAydpzVA==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": ["Microsoft.CodeAnalysis.Common", "Humanizer.Core", "System.Composition", "System.IO.Pipelines", "System.Threading.Channels"], "net462": ["Microsoft.CodeAnalysis.Common", "Humanizer.Core", "System.Composition", "System.IO.Pipelines", "System.Threading.Channels"], "net47": ["Microsoft.CodeAnalysis.Common", "Humanizer.Core", "System.Composition", "System.IO.Pipelines", "System.Threading.Channels"], "net471": ["Microsoft.CodeAnalysis.Common", "Humanizer.Core", "System.Composition", "System.IO.Pipelines", "System.Threading.Channels"], "net472": ["Microsoft.CodeAnalysis.Common", "Humanizer.Core", "System.Composition", "System.IO.Pipelines", "System.Threading.Channels"], "net48": ["Microsoft.CodeAnalysis.Common", "Humanizer.Core", "System.Composition", "System.IO.Pipelines", "System.Threading.Channels"], "net5.0": ["Microsoft.CodeAnalysis.Common", "Humanizer.Core", "System.Composition", "System.IO.Pipelines", "System.Threading.Channels"], "net6.0": ["Microsoft.CodeAnalysis.Common", "Humanizer.Core", "System.Composition", "System.IO.Pipelines", "System.Threading.Channels"], "net7.0": ["Microsoft.CodeAnalysis.Common", "Humanizer.Core", "System.Composition", "System.IO.Pipelines", "System.Threading.Channels"], "net8.0": ["Microsoft.CodeAnalysis.Common", "Humanizer.Core", "System.Composition", "System.IO.Pipelines", "System.Threading.Channels"], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": ["Microsoft.CodeAnalysis.Common", "Humanizer.Core", "System.Composition", "System.IO.Pipelines", "System.Threading.Channels"], "netcoreapp2.1": ["Microsoft.CodeAnalysis.Common", "Humanizer.Core", "System.Composition", "System.IO.Pipelines", "System.Threading.Channels"], "netcoreapp2.2": ["Microsoft.CodeAnalysis.Common", "Humanizer.Core", "System.Composition", "System.IO.Pipelines", "System.Threading.Channels"], "netcoreapp3.0": ["Microsoft.CodeAnalysis.Common", "Humanizer.Core", "System.Composition", "System.IO.Pipelines", "System.Threading.Channels"], "netcoreapp3.1": ["Microsoft.CodeAnalysis.Common", "Humanizer.Core", "System.Composition", "System.IO.Pipelines", "System.Threading.Channels"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": ["Microsoft.CodeAnalysis.Common", "Humanizer.Core", "System.Composition", "System.IO.Pipelines", "System.Threading.Channels"], "netstandard2.1": ["Microsoft.CodeAnalysis.Common", "Humanizer.Core", "System.Composition", "System.IO.Pipelines", "System.Threading.Channels"]}, "targeting_pack_overrides": [], "framework_list": []}, - {"name": "Microsoft.CodeCoverage", "id": "Microsoft.CodeCoverage", "version": "17.9.0", "sha512": "sha512-QEb48Z408yBfe/f156te98pfHwjvLOKl+UC1Pzg7KH1PDXXgk8KN8ZOEdYGrAiG43pC99Oo39bCb2R5WE+e5VA==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": [], "net48": [], "net5.0": [], "net6.0": [], "net7.0": [], "net8.0": [], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": [], "netcoreapp2.1": [], "netcoreapp2.2": [], "netcoreapp3.0": [], "netcoreapp3.1": [], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": [], "netstandard2.1": []}, "targeting_pack_overrides": [], "framework_list": []}, - {"name": "Microsoft.Extensions.ObjectPool", "id": "Microsoft.Extensions.ObjectPool", "version": "7.0.13", "sha512": "sha512-N66kAzKBfcs4zIX/iVMUOhfn8Xv3Ye1QpLGS8IUSpCHa+Vxh2ZsdDiqd0Y2m7ryPU6FU2LOTnZ+0ymmm83vC6w==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": [], "net48": [], "net5.0": [], "net6.0": [], "net7.0": [], "net8.0": [], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": [], "netcoreapp2.1": [], "netcoreapp2.2": [], "netcoreapp3.0": [], "netcoreapp3.1": [], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": [], "netstandard2.1": []}, "targeting_pack_overrides": [], "framework_list": []}, - {"name": "Microsoft.NET.StringTools", "id": "Microsoft.NET.StringTools", "version": "17.8.3", "sha512": "sha512-3N/Ika66JZeORrIZ68fap6M0LSQ9+SQz277NxjA/dxETnR3dZwJXj67jAAc4FkijG6w//QzrC5NEregtIVjz1w==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": ["System.Runtime.CompilerServices.Unsafe"], "net48": ["System.Runtime.CompilerServices.Unsafe"], "net5.0": ["System.Runtime.CompilerServices.Unsafe"], "net6.0": ["System.Runtime.CompilerServices.Unsafe"], "net7.0": ["System.Runtime.CompilerServices.Unsafe"], "net8.0": [], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": ["System.Runtime.CompilerServices.Unsafe"], "netcoreapp2.1": ["System.Runtime.CompilerServices.Unsafe"], "netcoreapp2.2": ["System.Runtime.CompilerServices.Unsafe"], "netcoreapp3.0": ["System.Runtime.CompilerServices.Unsafe"], "netcoreapp3.1": ["System.Runtime.CompilerServices.Unsafe"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": ["System.Runtime.CompilerServices.Unsafe"], "netstandard2.1": ["System.Runtime.CompilerServices.Unsafe"]}, "targeting_pack_overrides": [], "framework_list": []}, - {"name": "Microsoft.NET.Test.Sdk", "id": "Microsoft.NET.Test.Sdk", "version": "17.9.0", "sha512": "sha512-1WsHeRGhVUDonn7uT+vAGkYmJF57QTR+0PDpoIvDPq+vJtaNzrUHJbPFrU3aV+y68D+0wlj4QRop5fzvxFBJkA==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": ["Microsoft.CodeCoverage"], "net47": ["Microsoft.CodeCoverage"], "net471": ["Microsoft.CodeCoverage"], "net472": ["Microsoft.CodeCoverage"], "net48": ["Microsoft.CodeCoverage"], "net5.0": ["Microsoft.TestPlatform.TestHost", "Microsoft.CodeCoverage"], "net6.0": ["Microsoft.TestPlatform.TestHost", "Microsoft.CodeCoverage"], "net7.0": ["Microsoft.TestPlatform.TestHost", "Microsoft.CodeCoverage"], "net8.0": ["Microsoft.TestPlatform.TestHost", "Microsoft.CodeCoverage"], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": [], "netcoreapp2.1": [], "netcoreapp2.2": [], "netcoreapp3.0": [], "netcoreapp3.1": ["Microsoft.TestPlatform.TestHost", "Microsoft.CodeCoverage"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": [], "netstandard2.1": []}, "targeting_pack_overrides": [], "framework_list": []}, - {"name": "Microsoft.NETCore.Platforms", "id": "Microsoft.NETCore.Platforms", "version": "1.1.1", "sha512": "sha512-mDUJD1eLXIzmUnWCzWlmNQZGDp/cVGT8KyhzMcJNk2nlfdFUOoZai9idT8/FacJr8Nv8zhAmdf39FHm5qWUoGQ==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": [], "net48": [], "net5.0": [], "net6.0": [], "net7.0": [], "net8.0": [], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": [], "netcoreapp2.1": [], "netcoreapp2.2": [], "netcoreapp3.0": [], "netcoreapp3.1": [], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": [], "netstandard2.1": []}, "targeting_pack_overrides": [], "framework_list": []}, - {"name": "Microsoft.NETCore.Targets", "id": "Microsoft.NETCore.Targets", "version": "1.1.3", "sha512": "sha512-pxwq8g2PYRiEF5KXVjmZFMNTqsg2Gr1puv/pR1sqAduAKHAGbaCuJ6+yc3pAJseClQUD29S2Ubrm7n/ZD78dUg==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": [], "net48": [], "net5.0": [], "net6.0": [], "net7.0": [], "net8.0": [], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": [], "netcoreapp2.1": [], "netcoreapp2.2": [], "netcoreapp3.0": [], "netcoreapp3.1": [], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": [], "netstandard2.1": []}, "targeting_pack_overrides": [], "framework_list": []}, - {"name": "Microsoft.TestPlatform.ObjectModel", "id": "Microsoft.TestPlatform.ObjectModel", "version": "17.9.0", "sha512": "sha512-Y3BIxwsZCgJp1+B2HXy+x9qNMG9XcEgMuRKGwGBH1/TxZmVW38RJTsCQ2wEbA/tzbKAzE0ebVmAZpaVFZ+BfNw==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": ["System.Reflection.Metadata"], "net462": ["System.Reflection.Metadata"], "net47": ["System.Reflection.Metadata"], "net471": ["System.Reflection.Metadata"], "net472": ["System.Reflection.Metadata"], "net48": ["System.Reflection.Metadata"], "net5.0": ["System.Reflection.Metadata"], "net6.0": ["System.Reflection.Metadata"], "net7.0": ["System.Reflection.Metadata"], "net8.0": ["System.Reflection.Metadata"], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": ["System.Reflection.Metadata"], "netcoreapp2.1": ["System.Reflection.Metadata"], "netcoreapp2.2": ["System.Reflection.Metadata"], "netcoreapp3.0": ["System.Reflection.Metadata"], "netcoreapp3.1": ["System.Reflection.Metadata"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": ["System.Reflection.Metadata"], "netstandard2.1": ["System.Reflection.Metadata"]}, "targeting_pack_overrides": [], "framework_list": []}, - {"name": "Microsoft.TestPlatform.TestHost", "id": "Microsoft.TestPlatform.TestHost", "version": "17.9.0", "sha512": "sha512-yCRsmzZaiv6/NTFzVxJVY4GaPqaLGi7E2VzUSDjvsvEhvlcQJQpozrBsegUmBr/xwgKpUE7i0gz2X2ZGO0PTGg==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": [], "net48": [], "net5.0": ["Microsoft.TestPlatform.ObjectModel", "Newtonsoft.Json"], "net6.0": ["Microsoft.TestPlatform.ObjectModel", "Newtonsoft.Json"], "net7.0": ["Microsoft.TestPlatform.ObjectModel", "Newtonsoft.Json"], "net8.0": ["Microsoft.TestPlatform.ObjectModel", "Newtonsoft.Json"], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": [], "netcoreapp2.1": [], "netcoreapp2.2": [], "netcoreapp3.0": [], "netcoreapp3.1": ["Microsoft.TestPlatform.ObjectModel", "Newtonsoft.Json"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": [], "netstandard2.1": []}, "targeting_pack_overrides": [], "framework_list": []}, - {"name": "Microsoft.Win32.Primitives", "id": "Microsoft.Win32.Primitives", "version": "4.3.0", "sha512": "sha512-Nm8Hp51y9tYcK3xD6qk43Wjftrg1mdH24CCJsTb6gr7HS21U1uA+CKPGEtUcVZbjU1y8Kynzm5eoJ7Pnx5gm8A==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": [], "net48": [], "net5.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "net6.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "net7.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "net8.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "netcoreapp1.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "netcoreapp1.1": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "netcoreapp2.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "netcoreapp2.1": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "netcoreapp2.2": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "netcoreapp3.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "netcoreapp3.1": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "netstandard1.4": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "netstandard1.5": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "netstandard1.6": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "netstandard2.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "netstandard2.1": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"]}, "targeting_pack_overrides": [], "framework_list": []}, - {"name": "Microsoft.Win32.SystemEvents", "id": "Microsoft.Win32.SystemEvents", "version": "7.0.0", "sha512": "sha512-GO6SWx/wSZIFvxOn67Y6OiIGdz9JGCg5CRDDbSAAvBDQeZFbybu9sEOUb9w/vUlQv+A2XakTFZg9Ug1w+tgbWQ==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": [], "net48": [], "net5.0": [], "net6.0": [], "net7.0": [], "net8.0": [], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": [], "netcoreapp2.1": [], "netcoreapp2.2": [], "netcoreapp3.0": [], "netcoreapp3.1": [], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": [], "netstandard2.1": []}, "targeting_pack_overrides": [], "framework_list": []}, - {"name": "Mono.Posix.NETStandard", "id": "Mono.Posix.NETStandard", "version": "1.0.0", "sha512": "sha512-RtGiutQZJAmajvQ0QvBvh73VJye85iW9f9tjZlzF88idLxNMo4lAktP/4Y9ilCpais0LDO0tpoICt9Hdv6wooA==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": [], "net48": [], "net5.0": [], "net6.0": [], "net7.0": [], "net8.0": [], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": [], "netcoreapp2.1": [], "netcoreapp2.2": [], "netcoreapp3.0": [], "netcoreapp3.1": [], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": [], "netstandard2.1": []}, "targeting_pack_overrides": [], "framework_list": []}, - {"name": "MSBuild.StructuredLogger", "id": "MSBuild.StructuredLogger", "version": "2.2.235", "sha512": "sha512-9ige0SOByBirmeIYZ3fwlwbnXrYZA2trdZV7Mad8z7FiuGbVNOVkGYrzln/+G1eIvmRh9J0pt6xBLwqIYaMxyQ==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": ["Microsoft.Build.Framework", "Microsoft.Build.Utilities.Core"], "net462": ["Microsoft.Build.Framework", "Microsoft.Build.Utilities.Core"], "net47": ["Microsoft.Build.Framework", "Microsoft.Build.Utilities.Core"], "net471": ["Microsoft.Build.Framework", "Microsoft.Build.Utilities.Core"], "net472": ["Microsoft.Build.Framework", "Microsoft.Build.Utilities.Core"], "net48": ["Microsoft.Build.Framework", "Microsoft.Build.Utilities.Core"], "net5.0": ["Microsoft.Build.Framework", "Microsoft.Build.Utilities.Core"], "net6.0": ["Microsoft.Build.Framework", "Microsoft.Build.Utilities.Core"], "net7.0": ["Microsoft.Build.Framework", "Microsoft.Build.Utilities.Core"], "net8.0": ["Microsoft.Build.Framework", "Microsoft.Build.Utilities.Core"], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": ["Microsoft.Build.Framework", "Microsoft.Build.Utilities.Core"], "netcoreapp2.1": ["Microsoft.Build.Framework", "Microsoft.Build.Utilities.Core"], "netcoreapp2.2": ["Microsoft.Build.Framework", "Microsoft.Build.Utilities.Core"], "netcoreapp3.0": ["Microsoft.Build.Framework", "Microsoft.Build.Utilities.Core"], "netcoreapp3.1": ["Microsoft.Build.Framework", "Microsoft.Build.Utilities.Core"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": ["Microsoft.Build.Framework", "Microsoft.Build.Utilities.Core"], "netstandard2.1": ["Microsoft.Build.Framework", "Microsoft.Build.Utilities.Core"]}, "targeting_pack_overrides": [], "framework_list": []}, - {"name": "Newtonsoft.Json", "id": "Newtonsoft.Json", "version": "13.0.3", "sha512": "sha512-mbJSvHfRxfX3tR/U6n1WU+mWHXswYc+SB/hkOpx8yZZe68hNZGfymJu0cjsaJEkVzCMqePiU6LdIyogqfIn7kg==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": [], "net48": [], "net5.0": [], "net6.0": [], "net7.0": [], "net8.0": [], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": [], "netcoreapp2.1": [], "netcoreapp2.2": [], "netcoreapp3.0": [], "netcoreapp3.1": [], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": [], "netstandard2.1": []}, "targeting_pack_overrides": [], "framework_list": []}, - {"name": "System.Collections.Immutable", "id": "System.Collections.Immutable", "version": "8.0.0", "sha512": "sha512-BXqVkcIrhimvvem6q2ChWkuW6XYYirvb6FlhvuwaMoBqBdpcr4nehJBKP65Tw40UqcUM6oDoODsecM0yjZ6AUw==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": ["System.Runtime.CompilerServices.Unsafe"], "net462": ["System.Runtime.CompilerServices.Unsafe"], "net47": ["System.Runtime.CompilerServices.Unsafe"], "net471": ["System.Runtime.CompilerServices.Unsafe"], "net472": ["System.Runtime.CompilerServices.Unsafe"], "net48": ["System.Runtime.CompilerServices.Unsafe"], "net5.0": ["System.Runtime.CompilerServices.Unsafe"], "net6.0": ["System.Runtime.CompilerServices.Unsafe"], "net7.0": [], "net8.0": [], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": ["System.Runtime.CompilerServices.Unsafe"], "netcoreapp2.1": ["System.Runtime.CompilerServices.Unsafe"], "netcoreapp2.2": ["System.Runtime.CompilerServices.Unsafe"], "netcoreapp3.0": ["System.Runtime.CompilerServices.Unsafe"], "netcoreapp3.1": ["System.Runtime.CompilerServices.Unsafe"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": ["System.Runtime.CompilerServices.Unsafe"], "netstandard2.1": ["System.Runtime.CompilerServices.Unsafe"]}, "targeting_pack_overrides": [], "framework_list": []}, - {"name": "System.Composition", "id": "System.Composition", "version": "8.0.0", "sha512": "sha512-/AZ/S+sX6awiSeSvOv7997aiwbU6HCcOBJDLecdYQJjDo+4nYCrWwWKQQIZ38VZ6BLh1pDmcYFPZockIuoRIYw==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": ["System.Composition.AttributedModel", "System.Composition.Convention", "System.Composition.Hosting", "System.Composition.Runtime", "System.Composition.TypedParts"], "net462": ["System.Composition.AttributedModel", "System.Composition.Convention", "System.Composition.Hosting", "System.Composition.Runtime", "System.Composition.TypedParts"], "net47": ["System.Composition.AttributedModel", "System.Composition.Convention", "System.Composition.Hosting", "System.Composition.Runtime", "System.Composition.TypedParts"], "net471": ["System.Composition.AttributedModel", "System.Composition.Convention", "System.Composition.Hosting", "System.Composition.Runtime", "System.Composition.TypedParts"], "net472": ["System.Composition.AttributedModel", "System.Composition.Convention", "System.Composition.Hosting", "System.Composition.Runtime", "System.Composition.TypedParts"], "net48": ["System.Composition.AttributedModel", "System.Composition.Convention", "System.Composition.Hosting", "System.Composition.Runtime", "System.Composition.TypedParts"], "net5.0": ["System.Composition.AttributedModel", "System.Composition.Convention", "System.Composition.Hosting", "System.Composition.Runtime", "System.Composition.TypedParts"], "net6.0": ["System.Composition.AttributedModel", "System.Composition.Convention", "System.Composition.Hosting", "System.Composition.Runtime", "System.Composition.TypedParts"], "net7.0": ["System.Composition.AttributedModel", "System.Composition.Convention", "System.Composition.Hosting", "System.Composition.Runtime", "System.Composition.TypedParts"], "net8.0": ["System.Composition.AttributedModel", "System.Composition.Convention", "System.Composition.Hosting", "System.Composition.Runtime", "System.Composition.TypedParts"], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": ["System.Composition.AttributedModel", "System.Composition.Convention", "System.Composition.Hosting", "System.Composition.Runtime", "System.Composition.TypedParts"], "netcoreapp2.1": ["System.Composition.AttributedModel", "System.Composition.Convention", "System.Composition.Hosting", "System.Composition.Runtime", "System.Composition.TypedParts"], "netcoreapp2.2": ["System.Composition.AttributedModel", "System.Composition.Convention", "System.Composition.Hosting", "System.Composition.Runtime", "System.Composition.TypedParts"], "netcoreapp3.0": ["System.Composition.AttributedModel", "System.Composition.Convention", "System.Composition.Hosting", "System.Composition.Runtime", "System.Composition.TypedParts"], "netcoreapp3.1": ["System.Composition.AttributedModel", "System.Composition.Convention", "System.Composition.Hosting", "System.Composition.Runtime", "System.Composition.TypedParts"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": ["System.Composition.AttributedModel", "System.Composition.Convention", "System.Composition.Hosting", "System.Composition.Runtime", "System.Composition.TypedParts"], "netstandard2.1": ["System.Composition.AttributedModel", "System.Composition.Convention", "System.Composition.Hosting", "System.Composition.Runtime", "System.Composition.TypedParts"]}, "targeting_pack_overrides": [], "framework_list": []}, - {"name": "System.Composition.AttributedModel", "id": "System.Composition.AttributedModel", "version": "8.0.0", "sha512": "sha512-gmEwpwXz+COPtuAASK+ichAg8+0oQAaPOV59g6fDdnt1KWbrymdixAn06bNbkdCUGcBXb8RX5k79cqg0Hqlv1g==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": [], "net48": [], "net5.0": [], "net6.0": [], "net7.0": [], "net8.0": [], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": [], "netcoreapp2.1": [], "netcoreapp2.2": [], "netcoreapp3.0": [], "netcoreapp3.1": [], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": [], "netstandard2.1": []}, "targeting_pack_overrides": [], "framework_list": []}, - {"name": "System.Composition.Convention", "id": "System.Composition.Convention", "version": "8.0.0", "sha512": "sha512-MP7qMadQGUcMOEyGON5dmy9T+OXubvIx04kFHvTVPfZ/9+ns8dqmFToxoF7IDzJVSWmtOQHDUP2fL1x8F6slTA==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": ["System.Composition.AttributedModel"], "net462": ["System.Composition.AttributedModel"], "net47": ["System.Composition.AttributedModel"], "net471": ["System.Composition.AttributedModel"], "net472": ["System.Composition.AttributedModel"], "net48": ["System.Composition.AttributedModel"], "net5.0": ["System.Composition.AttributedModel"], "net6.0": ["System.Composition.AttributedModel"], "net7.0": ["System.Composition.AttributedModel"], "net8.0": ["System.Composition.AttributedModel"], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": ["System.Composition.AttributedModel"], "netcoreapp2.1": ["System.Composition.AttributedModel"], "netcoreapp2.2": ["System.Composition.AttributedModel"], "netcoreapp3.0": ["System.Composition.AttributedModel"], "netcoreapp3.1": ["System.Composition.AttributedModel"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": ["System.Composition.AttributedModel"], "netstandard2.1": ["System.Composition.AttributedModel"]}, "targeting_pack_overrides": [], "framework_list": []}, - {"name": "System.Composition.Hosting", "id": "System.Composition.Hosting", "version": "8.0.0", "sha512": "sha512-HK6mWN38TLXo0jQOzR6so8cH1J8/6MzCfSsQS15bWbFEYKeonKRAZKyTC2E92o+wB1KCkocNpOy01ix61JnWjQ==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": ["System.Composition.Runtime"], "net462": ["System.Composition.Runtime"], "net47": ["System.Composition.Runtime"], "net471": ["System.Composition.Runtime"], "net472": ["System.Composition.Runtime"], "net48": ["System.Composition.Runtime"], "net5.0": ["System.Composition.Runtime"], "net6.0": ["System.Composition.Runtime"], "net7.0": ["System.Composition.Runtime"], "net8.0": ["System.Composition.Runtime"], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": ["System.Composition.Runtime"], "netcoreapp2.1": ["System.Composition.Runtime"], "netcoreapp2.2": ["System.Composition.Runtime"], "netcoreapp3.0": ["System.Composition.Runtime"], "netcoreapp3.1": ["System.Composition.Runtime"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": ["System.Composition.Runtime"], "netstandard2.1": ["System.Composition.Runtime"]}, "targeting_pack_overrides": [], "framework_list": []}, - {"name": "System.Composition.Runtime", "id": "System.Composition.Runtime", "version": "8.0.0", "sha512": "sha512-hgGA3KDIx9FN3WYkpMvy0pUqWAul9BTehmqq49dqPxu5E+MbUKqgksU5XRP8M9LoBPZFa8FqBbKeFgCZ3rja2w==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": [], "net48": [], "net5.0": [], "net6.0": [], "net7.0": [], "net8.0": [], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": [], "netcoreapp2.1": [], "netcoreapp2.2": [], "netcoreapp3.0": [], "netcoreapp3.1": [], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": [], "netstandard2.1": []}, "targeting_pack_overrides": [], "framework_list": []}, - {"name": "System.Composition.TypedParts", "id": "System.Composition.TypedParts", "version": "8.0.0", "sha512": "sha512-rKu0GdZ4JYOWUF7br1W7UQFI/UgzWTU03CHY6tnTLZXCMth6YSADGJRRQYrLzpwh2+NuNcBIuv7a7x8J1xsfdw==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": ["System.Composition.AttributedModel", "System.Composition.Hosting", "System.Composition.Runtime"], "net462": ["System.Composition.AttributedModel", "System.Composition.Hosting", "System.Composition.Runtime"], "net47": ["System.Composition.AttributedModel", "System.Composition.Hosting", "System.Composition.Runtime"], "net471": ["System.Composition.AttributedModel", "System.Composition.Hosting", "System.Composition.Runtime"], "net472": ["System.Composition.AttributedModel", "System.Composition.Hosting", "System.Composition.Runtime"], "net48": ["System.Composition.AttributedModel", "System.Composition.Hosting", "System.Composition.Runtime"], "net5.0": ["System.Composition.AttributedModel", "System.Composition.Hosting", "System.Composition.Runtime"], "net6.0": ["System.Composition.AttributedModel", "System.Composition.Hosting", "System.Composition.Runtime"], "net7.0": ["System.Composition.AttributedModel", "System.Composition.Hosting", "System.Composition.Runtime"], "net8.0": ["System.Composition.AttributedModel", "System.Composition.Hosting", "System.Composition.Runtime"], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": ["System.Composition.AttributedModel", "System.Composition.Hosting", "System.Composition.Runtime"], "netcoreapp2.1": ["System.Composition.AttributedModel", "System.Composition.Hosting", "System.Composition.Runtime"], "netcoreapp2.2": ["System.Composition.AttributedModel", "System.Composition.Hosting", "System.Composition.Runtime"], "netcoreapp3.0": ["System.Composition.AttributedModel", "System.Composition.Hosting", "System.Composition.Runtime"], "netcoreapp3.1": ["System.Composition.AttributedModel", "System.Composition.Hosting", "System.Composition.Runtime"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": ["System.Composition.AttributedModel", "System.Composition.Hosting", "System.Composition.Runtime"], "netstandard2.1": ["System.Composition.AttributedModel", "System.Composition.Hosting", "System.Composition.Runtime"]}, "targeting_pack_overrides": [], "framework_list": []}, - {"name": "System.Configuration.ConfigurationManager", "id": "System.Configuration.ConfigurationManager", "version": "7.0.0", "sha512": "sha512-g3iVgTpIcjMYpH+sMq5VKjytevOJv+ABsYLKOLj0UZrXp3diFFdnPPqL+orxMD5ktyaTagg2S7ONJInu8itIaQ==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": ["System.Security.Cryptography.ProtectedData", "System.Security.Permissions"], "net462": ["System.Security.Permissions"], "net47": ["System.Security.Permissions"], "net471": ["System.Security.Permissions"], "net472": ["System.Security.Permissions"], "net48": ["System.Security.Permissions"], "net5.0": ["System.Security.Cryptography.ProtectedData", "System.Security.Permissions"], "net6.0": ["System.Security.Cryptography.ProtectedData", "System.Security.Permissions"], "net7.0": ["System.Diagnostics.EventLog", "System.Security.Cryptography.ProtectedData", "System.Security.Permissions"], "net8.0": ["System.Diagnostics.EventLog", "System.Security.Cryptography.ProtectedData", "System.Security.Permissions"], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": ["System.Security.Cryptography.ProtectedData", "System.Security.Permissions"], "netcoreapp2.1": ["System.Security.Cryptography.ProtectedData", "System.Security.Permissions"], "netcoreapp2.2": ["System.Security.Cryptography.ProtectedData", "System.Security.Permissions"], "netcoreapp3.0": ["System.Security.Cryptography.ProtectedData", "System.Security.Permissions"], "netcoreapp3.1": ["System.Security.Cryptography.ProtectedData", "System.Security.Permissions"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": ["System.Security.Cryptography.ProtectedData", "System.Security.Permissions"], "netstandard2.1": ["System.Security.Cryptography.ProtectedData", "System.Security.Permissions"]}, "targeting_pack_overrides": [], "framework_list": []}, - {"name": "System.Diagnostics.EventLog", "id": "System.Diagnostics.EventLog", "version": "7.0.0", "sha512": "sha512-m/H4Rg7KukGEmfRpl+rXU1UbMN3GYbv42cbMHRgMwHIiUL3svKoFFR76Fk/mHN5TgrwGx64fS0Fp+p3qICKg/Q==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": ["System.Security.Principal.Windows"], "net462": ["System.Security.Principal.Windows"], "net47": ["System.Security.Principal.Windows"], "net471": ["System.Security.Principal.Windows"], "net472": ["System.Security.Principal.Windows"], "net48": ["System.Security.Principal.Windows"], "net5.0": ["System.Security.Principal.Windows"], "net6.0": [], "net7.0": [], "net8.0": [], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": ["System.Security.Principal.Windows"], "netcoreapp2.1": ["System.Security.Principal.Windows"], "netcoreapp2.2": ["System.Security.Principal.Windows"], "netcoreapp3.0": ["System.Security.Principal.Windows"], "netcoreapp3.1": ["System.Security.Principal.Windows"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": ["System.Security.Principal.Windows"], "netstandard2.1": ["System.Security.Principal.Windows"]}, "targeting_pack_overrides": [], "framework_list": []}, - {"name": "System.Drawing.Common", "id": "System.Drawing.Common", "version": "7.0.0", "sha512": "sha512-0TJd5U26gRDgGa/rqABgHC5OBAiyl7Mm3pIzPgKfpmPXFQ8CFVWyGi+4mkEaCK715ViOBDkU2pC2nAiPunLw7Q==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": [], "net48": [], "net5.0": [], "net6.0": ["Microsoft.Win32.SystemEvents"], "net7.0": ["Microsoft.Win32.SystemEvents"], "net8.0": ["Microsoft.Win32.SystemEvents"], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": [], "netcoreapp2.1": [], "netcoreapp2.2": [], "netcoreapp3.0": [], "netcoreapp3.1": [], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": [], "netstandard2.1": []}, "targeting_pack_overrides": [], "framework_list": []}, - {"name": "System.IO", "id": "System.IO", "version": "4.3.0", "sha512": "sha512-v8paIePhmGuXZbE9xvvNb4uJ5ME4OFXR1+8la/G/L1GIl2nbU2WFnddgb79kVK3U2us7q1aZT/uY/R0D/ovB5g==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": [], "net48": [], "net5.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime", "System.Text.Encoding", "System.Threading.Tasks"], "net6.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime", "System.Text.Encoding", "System.Threading.Tasks"], "net7.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime", "System.Text.Encoding", "System.Threading.Tasks"], "net8.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime", "System.Text.Encoding", "System.Threading.Tasks"], "netcoreapp1.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime", "System.Text.Encoding", "System.Threading.Tasks"], "netcoreapp1.1": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime", "System.Text.Encoding", "System.Threading.Tasks"], "netcoreapp2.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime", "System.Text.Encoding", "System.Threading.Tasks"], "netcoreapp2.1": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime", "System.Text.Encoding", "System.Threading.Tasks"], "netcoreapp2.2": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime", "System.Text.Encoding", "System.Threading.Tasks"], "netcoreapp3.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime", "System.Text.Encoding", "System.Threading.Tasks"], "netcoreapp3.1": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime", "System.Text.Encoding", "System.Threading.Tasks"], "netstandard": [], "netstandard1.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime", "System.Text.Encoding", "System.Threading.Tasks"], "netstandard1.1": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime", "System.Text.Encoding", "System.Threading.Tasks"], "netstandard1.2": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime", "System.Text.Encoding", "System.Threading.Tasks"], "netstandard1.3": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime", "System.Text.Encoding", "System.Threading.Tasks"], "netstandard1.4": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime", "System.Text.Encoding", "System.Threading.Tasks"], "netstandard1.5": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime", "System.Text.Encoding", "System.Threading.Tasks"], "netstandard1.6": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime", "System.Text.Encoding", "System.Threading.Tasks"], "netstandard2.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime", "System.Text.Encoding", "System.Threading.Tasks"], "netstandard2.1": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime", "System.Text.Encoding", "System.Threading.Tasks"]}, "targeting_pack_overrides": [], "framework_list": []}, - {"name": "System.IO.FileSystem", "id": "System.IO.FileSystem", "version": "4.3.0", "sha512": "sha512-T7WB1vhblSmgkaDpdGM3Uqo55Qsr5sip5eyowrwiXOoHBkzOx3ePd9+Zh97r9NzOwFCxqX7awO6RBxQuao7n7g==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": ["System.IO.FileSystem.Primitives"], "net461": ["System.IO.FileSystem.Primitives"], "net462": ["System.IO.FileSystem.Primitives"], "net47": ["System.IO.FileSystem.Primitives"], "net471": ["System.IO.FileSystem.Primitives"], "net472": ["System.IO.FileSystem.Primitives"], "net48": ["System.IO.FileSystem.Primitives"], "net5.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.IO", "System.IO.FileSystem.Primitives", "System.Runtime", "System.Runtime.Handles", "System.Text.Encoding", "System.Threading.Tasks"], "net6.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.IO", "System.IO.FileSystem.Primitives", "System.Runtime", "System.Runtime.Handles", "System.Text.Encoding", "System.Threading.Tasks"], "net7.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.IO", "System.IO.FileSystem.Primitives", "System.Runtime", "System.Runtime.Handles", "System.Text.Encoding", "System.Threading.Tasks"], "net8.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.IO", "System.IO.FileSystem.Primitives", "System.Runtime", "System.Runtime.Handles", "System.Text.Encoding", "System.Threading.Tasks"], "netcoreapp1.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.IO", "System.IO.FileSystem.Primitives", "System.Runtime", "System.Runtime.Handles", "System.Text.Encoding", "System.Threading.Tasks"], "netcoreapp1.1": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.IO", "System.IO.FileSystem.Primitives", "System.Runtime", "System.Runtime.Handles", "System.Text.Encoding", "System.Threading.Tasks"], "netcoreapp2.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.IO", "System.IO.FileSystem.Primitives", "System.Runtime", "System.Runtime.Handles", "System.Text.Encoding", "System.Threading.Tasks"], "netcoreapp2.1": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.IO", "System.IO.FileSystem.Primitives", "System.Runtime", "System.Runtime.Handles", "System.Text.Encoding", "System.Threading.Tasks"], "netcoreapp2.2": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.IO", "System.IO.FileSystem.Primitives", "System.Runtime", "System.Runtime.Handles", "System.Text.Encoding", "System.Threading.Tasks"], "netcoreapp3.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.IO", "System.IO.FileSystem.Primitives", "System.Runtime", "System.Runtime.Handles", "System.Text.Encoding", "System.Threading.Tasks"], "netcoreapp3.1": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.IO", "System.IO.FileSystem.Primitives", "System.Runtime", "System.Runtime.Handles", "System.Text.Encoding", "System.Threading.Tasks"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.IO", "System.IO.FileSystem.Primitives", "System.Runtime", "System.Runtime.Handles", "System.Text.Encoding", "System.Threading.Tasks"], "netstandard1.4": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.IO", "System.IO.FileSystem.Primitives", "System.Runtime", "System.Runtime.Handles", "System.Text.Encoding", "System.Threading.Tasks"], "netstandard1.5": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.IO", "System.IO.FileSystem.Primitives", "System.Runtime", "System.Runtime.Handles", "System.Text.Encoding", "System.Threading.Tasks"], "netstandard1.6": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.IO", "System.IO.FileSystem.Primitives", "System.Runtime", "System.Runtime.Handles", "System.Text.Encoding", "System.Threading.Tasks"], "netstandard2.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.IO", "System.IO.FileSystem.Primitives", "System.Runtime", "System.Runtime.Handles", "System.Text.Encoding", "System.Threading.Tasks"], "netstandard2.1": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.IO", "System.IO.FileSystem.Primitives", "System.Runtime", "System.Runtime.Handles", "System.Text.Encoding", "System.Threading.Tasks"]}, "targeting_pack_overrides": [], "framework_list": []}, - {"name": "System.IO.FileSystem.Primitives", "id": "System.IO.FileSystem.Primitives", "version": "4.3.0", "sha512": "sha512-WIWVPQlYLP/Zc9I6IakpBk1y8ryVGK83MtZx//zGKKi2hvHQWKAB7moRQCOz5Is/wNDksiYpocf3FeA3le6e5Q==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": [], "net48": [], "net5.0": ["System.Runtime"], "net6.0": ["System.Runtime"], "net7.0": ["System.Runtime"], "net8.0": ["System.Runtime"], "netcoreapp1.0": ["System.Runtime"], "netcoreapp1.1": ["System.Runtime"], "netcoreapp2.0": ["System.Runtime"], "netcoreapp2.1": ["System.Runtime"], "netcoreapp2.2": ["System.Runtime"], "netcoreapp3.0": ["System.Runtime"], "netcoreapp3.1": ["System.Runtime"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": ["System.Runtime"], "netstandard1.4": ["System.Runtime"], "netstandard1.5": ["System.Runtime"], "netstandard1.6": ["System.Runtime"], "netstandard2.0": ["System.Runtime"], "netstandard2.1": ["System.Runtime"]}, "targeting_pack_overrides": [], "framework_list": []}, - {"name": "System.IO.Pipelines", "id": "System.IO.Pipelines", "version": "8.0.0", "sha512": "sha512-V+tqEehPQKSLV7HcV4agGqmFISK30VNjSQ2KEsmkWL+ZqN30wMAke+mFWcK0LnaaEL2ixamBdzVITZYNxlLrEg==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": [], "net48": [], "net5.0": [], "net6.0": [], "net7.0": [], "net8.0": [], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": [], "netcoreapp2.1": [], "netcoreapp2.2": [], "netcoreapp3.0": [], "netcoreapp3.1": [], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": [], "netstandard2.1": []}, "targeting_pack_overrides": [], "framework_list": []}, - {"name": "System.Net.Primitives", "id": "System.Net.Primitives", "version": "4.3.1", "sha512": "sha512-BgdlyYCI7rrdh36p3lMTqbkvaafPETpB1bk9iQlFdQxYE692kiXvmseXs8ghL+gEgQF2xgDc8GH4QLkSgUUs+Q==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": [], "net48": [], "net5.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime", "System.Runtime.Handles"], "net6.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime", "System.Runtime.Handles"], "net7.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime", "System.Runtime.Handles"], "net8.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime", "System.Runtime.Handles"], "netcoreapp1.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime", "System.Runtime.Handles"], "netcoreapp1.1": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime", "System.Runtime.Handles"], "netcoreapp2.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime", "System.Runtime.Handles"], "netcoreapp2.1": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime", "System.Runtime.Handles"], "netcoreapp2.2": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime", "System.Runtime.Handles"], "netcoreapp3.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime", "System.Runtime.Handles"], "netcoreapp3.1": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime", "System.Runtime.Handles"], "netstandard": [], "netstandard1.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "netstandard1.1": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "netstandard1.2": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "netstandard1.3": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime", "System.Runtime.Handles"], "netstandard1.4": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime", "System.Runtime.Handles"], "netstandard1.5": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime", "System.Runtime.Handles"], "netstandard1.6": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime", "System.Runtime.Handles"], "netstandard2.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime", "System.Runtime.Handles"], "netstandard2.1": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime", "System.Runtime.Handles"]}, "targeting_pack_overrides": [], "framework_list": []}, - {"name": "System.Reflection.Metadata", "id": "System.Reflection.Metadata", "version": "8.0.0", "sha512": "sha512-+6sMdkJjee0B6nm3AlBBl7cQaI0oPniLvvkrkFhmEN3fo/hGONaFdwpAaO+GRTlbZe4kRZzFwU7kSXQW0RyJxg==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": ["System.Collections.Immutable"], "net462": ["System.Collections.Immutable"], "net47": ["System.Collections.Immutable"], "net471": ["System.Collections.Immutable"], "net472": ["System.Collections.Immutable"], "net48": ["System.Collections.Immutable"], "net5.0": ["System.Collections.Immutable"], "net6.0": ["System.Collections.Immutable"], "net7.0": ["System.Collections.Immutable"], "net8.0": ["System.Collections.Immutable"], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": ["System.Collections.Immutable"], "netcoreapp2.1": ["System.Collections.Immutable"], "netcoreapp2.2": ["System.Collections.Immutable"], "netcoreapp3.0": ["System.Collections.Immutable"], "netcoreapp3.1": ["System.Collections.Immutable"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": ["System.Collections.Immutable"], "netstandard2.1": ["System.Collections.Immutable"]}, "targeting_pack_overrides": [], "framework_list": []}, - {"name": "System.Reflection.MetadataLoadContext", "id": "System.Reflection.MetadataLoadContext", "version": "7.0.0", "sha512": "sha512-dqk0PmO2SGulqNpuJlALPc/5vqFVZc6As4ToHeZvd+6B/DomA1/JM1nAOpSU2hkBVytU0GlwsBr4YfKSnGSchg==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": ["System.Collections.Immutable", "System.Reflection.Metadata"], "net462": ["System.Collections.Immutable", "System.Reflection.Metadata"], "net47": ["System.Collections.Immutable", "System.Reflection.Metadata"], "net471": ["System.Collections.Immutable", "System.Reflection.Metadata"], "net472": ["System.Collections.Immutable", "System.Reflection.Metadata"], "net48": ["System.Collections.Immutable", "System.Reflection.Metadata"], "net5.0": ["System.Collections.Immutable", "System.Reflection.Metadata"], "net6.0": ["System.Collections.Immutable", "System.Reflection.Metadata"], "net7.0": ["System.Collections.Immutable", "System.Reflection.Metadata"], "net8.0": ["System.Collections.Immutable", "System.Reflection.Metadata"], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": ["System.Collections.Immutable", "System.Reflection.Metadata"], "netcoreapp2.1": ["System.Collections.Immutable", "System.Reflection.Metadata"], "netcoreapp2.2": ["System.Collections.Immutable", "System.Reflection.Metadata"], "netcoreapp3.0": ["System.Collections.Immutable", "System.Reflection.Metadata"], "netcoreapp3.1": ["System.Collections.Immutable", "System.Reflection.Metadata"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": ["System.Collections.Immutable", "System.Reflection.Metadata"], "netstandard2.1": ["System.Collections.Immutable", "System.Reflection.Metadata"]}, "targeting_pack_overrides": [], "framework_list": []}, - {"name": "System.Runtime", "id": "System.Runtime", "version": "4.3.1", "sha512": "sha512-Al69mPDfzdD+bKGK2HAfB+lNFOHFqnkqzNnUJmmvUe1/qEPK9M7EiTT4zuycKDPy7ev11xz8XVgJWKP0hm7NIA==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": [], "net48": [], "net5.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets"], "net6.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets"], "net7.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets"], "net8.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets"], "netcoreapp1.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets"], "netcoreapp1.1": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets"], "netcoreapp2.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets"], "netcoreapp2.1": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets"], "netcoreapp2.2": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets"], "netcoreapp3.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets"], "netcoreapp3.1": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets"], "netstandard": [], "netstandard1.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets"], "netstandard1.1": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets"], "netstandard1.2": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets"], "netstandard1.3": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets"], "netstandard1.4": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets"], "netstandard1.5": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets"], "netstandard1.6": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets"], "netstandard2.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets"], "netstandard2.1": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets"]}, "targeting_pack_overrides": [], "framework_list": []}, - {"name": "System.Runtime.CompilerServices.Unsafe", "id": "System.Runtime.CompilerServices.Unsafe", "version": "6.0.0", "sha512": "sha512-1AVzAb5OxJNvJLnOADtexNmWgattm2XVOT3TjQTN7Dd4SqoSwai1CsN2fth42uQldJSQdz/sAec0+TzxBFgisw==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": [], "net48": [], "net5.0": [], "net6.0": [], "net7.0": [], "net8.0": [], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": [], "netcoreapp2.1": [], "netcoreapp2.2": [], "netcoreapp3.0": [], "netcoreapp3.1": [], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": [], "netstandard2.1": []}, "targeting_pack_overrides": [], "framework_list": []}, - {"name": "System.Runtime.Handles", "id": "System.Runtime.Handles", "version": "4.3.0", "sha512": "sha512-CluvHdVUv54BvLTOCCyybugreDNk/rR8unMPruzXDtxSjvrQOU3M4R831/lQf4YI8VYp668FGQa/01E+Rq8PEQ==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": [], "net48": [], "net5.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "net6.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "net7.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "net8.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "netcoreapp1.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "netcoreapp1.1": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "netcoreapp2.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "netcoreapp2.1": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "netcoreapp2.2": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "netcoreapp3.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "netcoreapp3.1": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "netstandard1.4": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "netstandard1.5": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "netstandard1.6": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "netstandard2.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "netstandard2.1": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"]}, "targeting_pack_overrides": [], "framework_list": []}, - {"name": "System.Security.Cryptography.ProtectedData", "id": "System.Security.Cryptography.ProtectedData", "version": "7.0.0", "sha512": "sha512-a34SHiyaMcLRjw/1IGXokS2cH9j8XoOhs1jUYq3m+kQcnPp6fhmeuqe5U947WqojDsVMhWAsCE6rIg8grBv9BA==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": [], "net48": [], "net5.0": [], "net6.0": [], "net7.0": [], "net8.0": [], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": [], "netcoreapp2.1": [], "netcoreapp2.2": [], "netcoreapp3.0": [], "netcoreapp3.1": [], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": [], "netstandard2.1": []}, "targeting_pack_overrides": [], "framework_list": []}, - {"name": "System.Security.Permissions", "id": "System.Security.Permissions", "version": "7.0.0", "sha512": "sha512-XNVTmQ9JuCRwRXRTDoOHEzEt0wmQeRudH9lThP0l3OBja4P3jmRHq/0H0N9Ns1OD6gNmKpjLdOeHCQEXv4iVrA==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": [], "net48": [], "net5.0": [], "net6.0": ["System.Windows.Extensions"], "net7.0": ["System.Windows.Extensions"], "net8.0": ["System.Windows.Extensions"], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": [], "netcoreapp2.1": [], "netcoreapp2.2": [], "netcoreapp3.0": [], "netcoreapp3.1": [], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": [], "netstandard2.1": []}, "targeting_pack_overrides": [], "framework_list": []}, - {"name": "System.Security.Principal", "id": "System.Security.Principal", "version": "4.3.0", "sha512": "sha512-24oe0NGJY32e+DFHVQzl2okM9uwYmn0Aa6nehqtVZ55/Al4Yva7S3BN934Kn5qATH7TVTUJkgxhisdfF7mKDfg==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": [], "net48": [], "net5.0": ["System.Runtime"], "net6.0": ["System.Runtime"], "net7.0": ["System.Runtime"], "net8.0": ["System.Runtime"], "netcoreapp1.0": ["System.Runtime"], "netcoreapp1.1": ["System.Runtime"], "netcoreapp2.0": ["System.Runtime"], "netcoreapp2.1": ["System.Runtime"], "netcoreapp2.2": ["System.Runtime"], "netcoreapp3.0": ["System.Runtime"], "netcoreapp3.1": ["System.Runtime"], "netstandard": [], "netstandard1.0": ["System.Runtime"], "netstandard1.1": ["System.Runtime"], "netstandard1.2": ["System.Runtime"], "netstandard1.3": ["System.Runtime"], "netstandard1.4": ["System.Runtime"], "netstandard1.5": ["System.Runtime"], "netstandard1.6": ["System.Runtime"], "netstandard2.0": ["System.Runtime"], "netstandard2.1": ["System.Runtime"]}, "targeting_pack_overrides": [], "framework_list": []}, - {"name": "System.Security.Principal.Windows", "id": "System.Security.Principal.Windows", "version": "5.0.0", "sha512": "sha512-RKkgqq8ishctQTGbtXqyuOGkUx1fAhkqb1OoHYdRJRlbYLoLWkSkWYHRN/17DzplsSlZtf2Xr8BXjNhO8nRnzQ==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": [], "net48": [], "net5.0": [], "net6.0": [], "net7.0": [], "net8.0": [], "netcoreapp1.0": ["Microsoft.Win32.Primitives", "System.Runtime", "System.Runtime.Handles", "System.Security.Principal", "System.Text.Encoding"], "netcoreapp1.1": ["Microsoft.Win32.Primitives", "System.Runtime", "System.Runtime.Handles", "System.Security.Principal", "System.Text.Encoding"], "netcoreapp2.0": ["Microsoft.NETCore.Platforms"], "netcoreapp2.1": ["Microsoft.NETCore.Platforms"], "netcoreapp2.2": ["Microsoft.NETCore.Platforms"], "netcoreapp3.0": [], "netcoreapp3.1": [], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": ["Microsoft.Win32.Primitives", "System.Runtime", "System.Runtime.Handles", "System.Security.Principal", "System.Text.Encoding"], "netstandard1.4": ["Microsoft.Win32.Primitives", "System.Runtime", "System.Runtime.Handles", "System.Security.Principal", "System.Text.Encoding"], "netstandard1.5": ["Microsoft.Win32.Primitives", "System.Runtime", "System.Runtime.Handles", "System.Security.Principal", "System.Text.Encoding"], "netstandard1.6": ["Microsoft.Win32.Primitives", "System.Runtime", "System.Runtime.Handles", "System.Security.Principal", "System.Text.Encoding"], "netstandard2.0": [], "netstandard2.1": []}, "targeting_pack_overrides": [], "framework_list": []}, - {"name": "System.Text.Encoding", "id": "System.Text.Encoding", "version": "4.3.0", "sha512": "sha512-b/f+7HMTpxIfeV7H03bkuHKMFylCGfr9/U6gePnfFFW0aF8LOWLDgQCY6V1oWUqDksC3mdNuyChM1vy9TP4sZw==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": [], "net48": [], "net5.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "net6.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "net7.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "net8.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "netcoreapp1.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "netcoreapp1.1": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "netcoreapp2.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "netcoreapp2.1": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "netcoreapp2.2": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "netcoreapp3.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "netcoreapp3.1": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "netstandard": [], "netstandard1.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "netstandard1.1": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "netstandard1.2": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "netstandard1.3": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "netstandard1.4": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "netstandard1.5": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "netstandard1.6": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "netstandard2.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "netstandard2.1": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"]}, "targeting_pack_overrides": [], "framework_list": []}, - {"name": "System.Threading.Channels", "id": "System.Threading.Channels", "version": "8.0.0", "sha512": "sha512-M1s365f1lOc6s2585/ATW+KRRFFnaI6JvSSdE14n9ZKgvWnZHoJGoccqV41XvtRDrHMCMRNlwWFgt9yXTu3xQQ==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": [], "net48": [], "net5.0": [], "net6.0": [], "net7.0": [], "net8.0": [], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": [], "netcoreapp2.1": [], "netcoreapp2.2": [], "netcoreapp3.0": [], "netcoreapp3.1": [], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": [], "netstandard2.1": []}, "targeting_pack_overrides": [], "framework_list": []}, - {"name": "System.Threading.Tasks", "id": "System.Threading.Tasks", "version": "4.3.0", "sha512": "sha512-fUiP+CyyCjs872OA8trl6p97qma/da1xGq3h4zAbJZk8zyaU4zyEfqW5vbkP80xG/Nimun1vlWBboMEk7XxdEw==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": [], "net48": [], "net5.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "net6.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "net7.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "net8.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "netcoreapp1.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "netcoreapp1.1": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "netcoreapp2.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "netcoreapp2.1": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "netcoreapp2.2": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "netcoreapp3.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "netcoreapp3.1": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "netstandard": [], "netstandard1.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "netstandard1.1": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "netstandard1.2": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "netstandard1.3": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "netstandard1.4": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "netstandard1.5": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "netstandard1.6": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "netstandard2.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "netstandard2.1": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"]}, "targeting_pack_overrides": [], "framework_list": []}, - {"name": "System.Threading.Tasks.Dataflow", "id": "System.Threading.Tasks.Dataflow", "version": "7.0.0", "sha512": "sha512-nB6cUBEEimO35tPK+KmhUF8jxxisO1E+8KU3eDIA9/o156qulMs8YeozOTcVRYHZWvgn1YCDI/ZR2ga9ErXIfg==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": [], "net48": [], "net5.0": [], "net6.0": [], "net7.0": [], "net8.0": [], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": [], "netcoreapp2.1": [], "netcoreapp2.2": [], "netcoreapp3.0": [], "netcoreapp3.1": [], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": [], "netstandard2.1": []}, "targeting_pack_overrides": [], "framework_list": []}, - {"name": "System.Threading.ThreadPool", "id": "System.Threading.ThreadPool", "version": "4.3.0", "sha512": "sha512-RQpA+UpI6Tlpeedk5JStYk2DM/M3i5HqabI/yDbfj1xDu9bIz9kdoquVpHbh/wQjOJaOCbcgRH8iQcAUv8dRWQ==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": [], "net48": [], "net5.0": ["System.Runtime", "System.Runtime.Handles"], "net6.0": ["System.Runtime", "System.Runtime.Handles"], "net7.0": ["System.Runtime", "System.Runtime.Handles"], "net8.0": ["System.Runtime", "System.Runtime.Handles"], "netcoreapp1.0": ["System.Runtime", "System.Runtime.Handles"], "netcoreapp1.1": ["System.Runtime", "System.Runtime.Handles"], "netcoreapp2.0": ["System.Runtime", "System.Runtime.Handles"], "netcoreapp2.1": ["System.Runtime", "System.Runtime.Handles"], "netcoreapp2.2": ["System.Runtime", "System.Runtime.Handles"], "netcoreapp3.0": ["System.Runtime", "System.Runtime.Handles"], "netcoreapp3.1": ["System.Runtime", "System.Runtime.Handles"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": ["System.Runtime", "System.Runtime.Handles"], "netstandard1.4": ["System.Runtime", "System.Runtime.Handles"], "netstandard1.5": ["System.Runtime", "System.Runtime.Handles"], "netstandard1.6": ["System.Runtime", "System.Runtime.Handles"], "netstandard2.0": ["System.Runtime", "System.Runtime.Handles"], "netstandard2.1": ["System.Runtime", "System.Runtime.Handles"]}, "targeting_pack_overrides": [], "framework_list": []}, - {"name": "System.Windows.Extensions", "id": "System.Windows.Extensions", "version": "7.0.0", "sha512": "sha512-KNnH0GX7T/oRAzOtJjefboYngi+d/bNGd63j+ZIFFTIR8RM0dwptuImNXiKqvD78kzcWAf3kd3yjcih+UTYkbw==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": [], "net48": [], "net5.0": [], "net6.0": ["System.Drawing.Common"], "net7.0": ["System.Drawing.Common"], "net8.0": ["System.Drawing.Common"], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": [], "netcoreapp2.1": [], "netcoreapp2.2": [], "netcoreapp3.0": [], "netcoreapp3.1": [], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": [], "netstandard2.1": []}, "targeting_pack_overrides": [], "framework_list": []}, - {"name": "xunit", "id": "xunit", "version": "2.8.0", "sha512": "sha512-pY+3288LqTgGilRPOuWdTdTAQ3URBTqlo4WJp1FwM10/x7GriewCV/wxL7NrTH4DRUVjoKY6HdcpFSdtQmirLQ==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": ["xunit.core", "xunit.assert", "xunit.analyzers"], "net20": ["xunit.core", "xunit.assert", "xunit.analyzers"], "net30": ["xunit.core", "xunit.assert", "xunit.analyzers"], "net35": ["xunit.core", "xunit.assert", "xunit.analyzers"], "net40": ["xunit.core", "xunit.assert", "xunit.analyzers"], "net403": ["xunit.core", "xunit.assert", "xunit.analyzers"], "net45": ["xunit.core", "xunit.assert", "xunit.analyzers"], "net451": ["xunit.core", "xunit.assert", "xunit.analyzers"], "net452": ["xunit.core", "xunit.assert", "xunit.analyzers"], "net46": ["xunit.core", "xunit.assert", "xunit.analyzers"], "net461": ["xunit.core", "xunit.assert", "xunit.analyzers"], "net462": ["xunit.core", "xunit.assert", "xunit.analyzers"], "net47": ["xunit.core", "xunit.assert", "xunit.analyzers"], "net471": ["xunit.core", "xunit.assert", "xunit.analyzers"], "net472": ["xunit.core", "xunit.assert", "xunit.analyzers"], "net48": ["xunit.core", "xunit.assert", "xunit.analyzers"], "net5.0": ["xunit.core", "xunit.assert", "xunit.analyzers"], "net6.0": ["xunit.core", "xunit.assert", "xunit.analyzers"], "net7.0": ["xunit.core", "xunit.assert", "xunit.analyzers"], "net8.0": ["xunit.core", "xunit.assert", "xunit.analyzers"], "netcoreapp1.0": ["xunit.core", "xunit.assert", "xunit.analyzers"], "netcoreapp1.1": ["xunit.core", "xunit.assert", "xunit.analyzers"], "netcoreapp2.0": ["xunit.core", "xunit.assert", "xunit.analyzers"], "netcoreapp2.1": ["xunit.core", "xunit.assert", "xunit.analyzers"], "netcoreapp2.2": ["xunit.core", "xunit.assert", "xunit.analyzers"], "netcoreapp3.0": ["xunit.core", "xunit.assert", "xunit.analyzers"], "netcoreapp3.1": ["xunit.core", "xunit.assert", "xunit.analyzers"], "netstandard": ["xunit.core", "xunit.assert", "xunit.analyzers"], "netstandard1.0": ["xunit.core", "xunit.assert", "xunit.analyzers"], "netstandard1.1": ["xunit.core", "xunit.assert", "xunit.analyzers"], "netstandard1.2": ["xunit.core", "xunit.assert", "xunit.analyzers"], "netstandard1.3": ["xunit.core", "xunit.assert", "xunit.analyzers"], "netstandard1.4": ["xunit.core", "xunit.assert", "xunit.analyzers"], "netstandard1.5": ["xunit.core", "xunit.assert", "xunit.analyzers"], "netstandard1.6": ["xunit.core", "xunit.assert", "xunit.analyzers"], "netstandard2.0": ["xunit.core", "xunit.assert", "xunit.analyzers"], "netstandard2.1": ["xunit.core", "xunit.assert", "xunit.analyzers"]}, "targeting_pack_overrides": [], "framework_list": []}, - {"name": "xunit.abstractions", "id": "xunit.abstractions", "version": "2.0.3", "sha512": "sha512-PKJri5f0qEQPFvgY6CZR9XG8JROlWSdC/ZYLkkDQuID++Egn+yWjB+Yf57AZ8U6GRlP7z33uDQ4/r5BZPer2JA==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": [], "net48": [], "net5.0": [], "net6.0": [], "net7.0": [], "net8.0": [], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": [], "netcoreapp2.1": [], "netcoreapp2.2": [], "netcoreapp3.0": [], "netcoreapp3.1": [], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": [], "netstandard2.1": []}, "targeting_pack_overrides": [], "framework_list": []}, - {"name": "xunit.analyzers", "id": "xunit.analyzers", "version": "1.13.0", "sha512": "sha512-GJ4gtp1hp3hpIWrK+PJ0AOG9t2WW7K2l1hlvklevMTAeZ9tKqzUGwaixZ6G/HLHWAcZo7Wy1r45Fu0v9Dwd4tA==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": [], "net48": [], "net5.0": [], "net6.0": [], "net7.0": [], "net8.0": [], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": [], "netcoreapp2.1": [], "netcoreapp2.2": [], "netcoreapp3.0": [], "netcoreapp3.1": [], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": [], "netstandard2.1": []}, "targeting_pack_overrides": [], "framework_list": []}, - {"name": "xunit.assert", "id": "xunit.assert", "version": "2.8.0", "sha512": "sha512-S5571ILGuO1wZAraKjnkXyWacxwJr+9NftDNopugypT2r3UhJJVz/10WD7Xx+dDsvRS3ucd1VMI92cBIfSRjjg==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": [], "net48": [], "net5.0": [], "net6.0": [], "net7.0": [], "net8.0": [], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": [], "netcoreapp2.1": [], "netcoreapp2.2": [], "netcoreapp3.0": [], "netcoreapp3.1": [], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": [], "netstandard2.1": []}, "targeting_pack_overrides": [], "framework_list": []}, - {"name": "xunit.core", "id": "xunit.core", "version": "2.8.0", "sha512": "sha512-/Ns+N8X8pffZm91IJhB1MbzStjLo8+aKnu3kzF+IlOHq850+MYG+NI23XEV4AH5Cc3pqHD4tp7wbB/s4bY7PGg==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": ["xunit.extensibility.core", "xunit.extensibility.execution"], "net20": ["xunit.extensibility.core", "xunit.extensibility.execution"], "net30": ["xunit.extensibility.core", "xunit.extensibility.execution"], "net35": ["xunit.extensibility.core", "xunit.extensibility.execution"], "net40": ["xunit.extensibility.core", "xunit.extensibility.execution"], "net403": ["xunit.extensibility.core", "xunit.extensibility.execution"], "net45": ["xunit.extensibility.core", "xunit.extensibility.execution"], "net451": ["xunit.extensibility.core", "xunit.extensibility.execution"], "net452": ["xunit.extensibility.core", "xunit.extensibility.execution"], "net46": ["xunit.extensibility.core", "xunit.extensibility.execution"], "net461": ["xunit.extensibility.core", "xunit.extensibility.execution"], "net462": ["xunit.extensibility.core", "xunit.extensibility.execution"], "net47": ["xunit.extensibility.core", "xunit.extensibility.execution"], "net471": ["xunit.extensibility.core", "xunit.extensibility.execution"], "net472": ["xunit.extensibility.core", "xunit.extensibility.execution"], "net48": ["xunit.extensibility.core", "xunit.extensibility.execution"], "net5.0": ["xunit.extensibility.core", "xunit.extensibility.execution"], "net6.0": ["xunit.extensibility.core", "xunit.extensibility.execution"], "net7.0": ["xunit.extensibility.core", "xunit.extensibility.execution"], "net8.0": ["xunit.extensibility.core", "xunit.extensibility.execution"], "netcoreapp1.0": ["xunit.extensibility.core", "xunit.extensibility.execution"], "netcoreapp1.1": ["xunit.extensibility.core", "xunit.extensibility.execution"], "netcoreapp2.0": ["xunit.extensibility.core", "xunit.extensibility.execution"], "netcoreapp2.1": ["xunit.extensibility.core", "xunit.extensibility.execution"], "netcoreapp2.2": ["xunit.extensibility.core", "xunit.extensibility.execution"], "netcoreapp3.0": ["xunit.extensibility.core", "xunit.extensibility.execution"], "netcoreapp3.1": ["xunit.extensibility.core", "xunit.extensibility.execution"], "netstandard": ["xunit.extensibility.core", "xunit.extensibility.execution"], "netstandard1.0": ["xunit.extensibility.core", "xunit.extensibility.execution"], "netstandard1.1": ["xunit.extensibility.core", "xunit.extensibility.execution"], "netstandard1.2": ["xunit.extensibility.core", "xunit.extensibility.execution"], "netstandard1.3": ["xunit.extensibility.core", "xunit.extensibility.execution"], "netstandard1.4": ["xunit.extensibility.core", "xunit.extensibility.execution"], "netstandard1.5": ["xunit.extensibility.core", "xunit.extensibility.execution"], "netstandard1.6": ["xunit.extensibility.core", "xunit.extensibility.execution"], "netstandard2.0": ["xunit.extensibility.core", "xunit.extensibility.execution"], "netstandard2.1": ["xunit.extensibility.core", "xunit.extensibility.execution"]}, "targeting_pack_overrides": [], "framework_list": []}, - {"name": "xunit.extensibility.core", "id": "xunit.extensibility.core", "version": "2.8.0", "sha512": "sha512-Otlt6joZ9a7QpiAB5SNRb0sd0DMndpH6ktuAVj65hz80xjoQdhdMNO51qWIdk98Ri+fiUS3EBmuSzbv0Dkws5w==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": ["xunit.abstractions"], "net451": ["xunit.abstractions"], "net452": ["xunit.abstractions"], "net46": ["xunit.abstractions"], "net461": ["xunit.abstractions"], "net462": ["xunit.abstractions"], "net47": ["xunit.abstractions"], "net471": ["xunit.abstractions"], "net472": ["xunit.abstractions"], "net48": ["xunit.abstractions"], "net5.0": ["xunit.abstractions"], "net6.0": ["xunit.abstractions"], "net7.0": ["xunit.abstractions"], "net8.0": ["xunit.abstractions"], "netcoreapp1.0": ["xunit.abstractions"], "netcoreapp1.1": ["xunit.abstractions"], "netcoreapp2.0": ["xunit.abstractions"], "netcoreapp2.1": ["xunit.abstractions"], "netcoreapp2.2": ["xunit.abstractions"], "netcoreapp3.0": ["xunit.abstractions"], "netcoreapp3.1": ["xunit.abstractions"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": ["xunit.abstractions"], "netstandard1.2": ["xunit.abstractions"], "netstandard1.3": ["xunit.abstractions"], "netstandard1.4": ["xunit.abstractions"], "netstandard1.5": ["xunit.abstractions"], "netstandard1.6": ["xunit.abstractions"], "netstandard2.0": ["xunit.abstractions"], "netstandard2.1": ["xunit.abstractions"]}, "targeting_pack_overrides": [], "framework_list": []}, - {"name": "xunit.extensibility.execution", "id": "xunit.extensibility.execution", "version": "2.8.0", "sha512": "sha512-YZn5YCt3ohLPpsz/eoG92pSmt01RJpVD509eRwtt2Bz9iYvgTNIqxu2WJUKhBiMGTZ2nU+IFl6WQG2OiJ639gA==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": ["xunit.extensibility.core"], "net451": ["xunit.extensibility.core"], "net452": ["xunit.extensibility.core"], "net46": ["xunit.extensibility.core"], "net461": ["xunit.extensibility.core"], "net462": ["xunit.extensibility.core"], "net47": ["xunit.extensibility.core"], "net471": ["xunit.extensibility.core"], "net472": ["xunit.extensibility.core"], "net48": ["xunit.extensibility.core"], "net5.0": ["xunit.extensibility.core"], "net6.0": ["xunit.extensibility.core"], "net7.0": ["xunit.extensibility.core"], "net8.0": ["xunit.extensibility.core"], "netcoreapp1.0": ["xunit.extensibility.core"], "netcoreapp1.1": ["xunit.extensibility.core"], "netcoreapp2.0": ["xunit.extensibility.core"], "netcoreapp2.1": ["xunit.extensibility.core"], "netcoreapp2.2": ["xunit.extensibility.core"], "netcoreapp3.0": ["xunit.extensibility.core"], "netcoreapp3.1": ["xunit.extensibility.core"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": ["xunit.extensibility.core"], "netstandard1.2": ["xunit.extensibility.core"], "netstandard1.3": ["xunit.extensibility.core"], "netstandard1.4": ["xunit.extensibility.core"], "netstandard1.5": ["xunit.extensibility.core"], "netstandard1.6": ["xunit.extensibility.core"], "netstandard2.0": ["xunit.extensibility.core"], "netstandard2.1": ["xunit.extensibility.core"]}, "targeting_pack_overrides": [], "framework_list": []}, - {"name": "xunit.runner.utility", "id": "xunit.runner.utility", "version": "2.8.0", "sha512": "sha512-YJ9UEsY0NUxeYfB01AO4uJgSSelInfROv4oAsTn7z0GD6kly3HzPQC+B/JDbWUVCRJ1xIRoaYPisMvVYQBIyxA==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": ["xunit.abstractions"], "net40": ["xunit.abstractions"], "net403": ["xunit.abstractions"], "net45": ["xunit.abstractions"], "net451": ["xunit.abstractions"], "net452": ["xunit.abstractions"], "net46": ["xunit.abstractions"], "net461": ["xunit.abstractions"], "net462": ["xunit.abstractions"], "net47": ["xunit.abstractions"], "net471": ["xunit.abstractions"], "net472": ["xunit.abstractions"], "net48": ["xunit.abstractions"], "net5.0": ["xunit.abstractions"], "net6.0": ["xunit.abstractions"], "net7.0": ["xunit.abstractions"], "net8.0": ["xunit.abstractions"], "netcoreapp1.0": ["xunit.abstractions"], "netcoreapp1.1": ["xunit.abstractions"], "netcoreapp2.0": ["xunit.abstractions"], "netcoreapp2.1": ["xunit.abstractions"], "netcoreapp2.2": ["xunit.abstractions"], "netcoreapp3.0": ["xunit.abstractions"], "netcoreapp3.1": ["xunit.abstractions"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": ["xunit.abstractions"], "netstandard1.2": ["xunit.abstractions"], "netstandard1.3": ["xunit.abstractions"], "netstandard1.4": ["xunit.abstractions"], "netstandard1.5": ["xunit.abstractions"], "netstandard1.6": ["xunit.abstractions"], "netstandard2.0": ["xunit.abstractions"], "netstandard2.1": ["xunit.abstractions"]}, "targeting_pack_overrides": [], "framework_list": []}, - {"name": "xunit.runner.visualstudio", "id": "xunit.runner.visualstudio", "version": "2.8.0", "sha512": "sha512-hEFlhPQ0BVrJkWHtGpKOqtqAvTk1FCPAIS5Z0zs+CMjNAgugpBuuddEa5gB4CzRDjGzms2UjvgzkgbnQXozFpw==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": ["Microsoft.TestPlatform.ObjectModel"], "net47": ["Microsoft.TestPlatform.ObjectModel"], "net471": ["Microsoft.TestPlatform.ObjectModel"], "net472": ["Microsoft.TestPlatform.ObjectModel"], "net48": ["Microsoft.TestPlatform.ObjectModel"], "net5.0": [], "net6.0": [], "net7.0": [], "net8.0": [], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": [], "netcoreapp2.1": [], "netcoreapp2.2": [], "netcoreapp3.0": [], "netcoreapp3.1": [], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": [], "netstandard2.1": []}, "targeting_pack_overrides": [], "framework_list": []}, + {"name": "Basic.CompilerLog.Util", "id": "Basic.CompilerLog.Util", "version": "0.7.9", "sha512": "sha512-Z50VRWQIXO0E8GM3ZFdL+Mq+YdmPh+OEJ7bDXPIsp1TQJB07i09WdlEb4MucSz9wG4exeLC3HGt23O3NOFL30g==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": ["MSBuild.StructuredLogger", "MessagePack", "Microsoft.CodeAnalysis", "Microsoft.CodeAnalysis.CSharp", "Microsoft.CodeAnalysis.VisualBasic", "Microsoft.Extensions.ObjectPool"], "net462": ["MSBuild.StructuredLogger", "MessagePack", "Microsoft.CodeAnalysis", "Microsoft.CodeAnalysis.CSharp", "Microsoft.CodeAnalysis.VisualBasic", "Microsoft.Extensions.ObjectPool"], "net47": ["MSBuild.StructuredLogger", "MessagePack", "Microsoft.CodeAnalysis", "Microsoft.CodeAnalysis.CSharp", "Microsoft.CodeAnalysis.VisualBasic", "Microsoft.Extensions.ObjectPool"], "net471": ["MSBuild.StructuredLogger", "MessagePack", "Microsoft.CodeAnalysis", "Microsoft.CodeAnalysis.CSharp", "Microsoft.CodeAnalysis.VisualBasic", "Microsoft.Extensions.ObjectPool"], "net472": ["MSBuild.StructuredLogger", "MessagePack", "Microsoft.CodeAnalysis", "Microsoft.CodeAnalysis.CSharp", "Microsoft.CodeAnalysis.VisualBasic", "Microsoft.Extensions.ObjectPool"], "net48": ["MSBuild.StructuredLogger", "MessagePack", "Microsoft.CodeAnalysis", "Microsoft.CodeAnalysis.CSharp", "Microsoft.CodeAnalysis.VisualBasic", "Microsoft.Extensions.ObjectPool"], "net5.0": ["MSBuild.StructuredLogger", "MessagePack", "Microsoft.CodeAnalysis", "Microsoft.CodeAnalysis.CSharp", "Microsoft.CodeAnalysis.VisualBasic", "Microsoft.Extensions.ObjectPool"], "net6.0": ["MSBuild.StructuredLogger", "MessagePack", "Microsoft.CodeAnalysis", "Microsoft.CodeAnalysis.CSharp", "Microsoft.CodeAnalysis.VisualBasic", "Microsoft.Extensions.ObjectPool"], "net7.0": ["MSBuild.StructuredLogger", "MessagePack", "Microsoft.CodeAnalysis", "Microsoft.CodeAnalysis.CSharp", "Microsoft.CodeAnalysis.VisualBasic", "Microsoft.Extensions.ObjectPool"], "net8.0": ["MSBuild.StructuredLogger", "MessagePack", "Microsoft.CodeAnalysis", "Microsoft.CodeAnalysis.CSharp", "Microsoft.CodeAnalysis.VisualBasic", "Microsoft.Extensions.ObjectPool"], "net9.0": ["MSBuild.StructuredLogger", "MessagePack", "Microsoft.CodeAnalysis", "Microsoft.CodeAnalysis.CSharp", "Microsoft.CodeAnalysis.VisualBasic", "Microsoft.Extensions.ObjectPool"], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": ["MSBuild.StructuredLogger", "MessagePack", "Microsoft.CodeAnalysis", "Microsoft.CodeAnalysis.CSharp", "Microsoft.CodeAnalysis.VisualBasic", "Microsoft.Extensions.ObjectPool"], "netcoreapp2.1": ["MSBuild.StructuredLogger", "MessagePack", "Microsoft.CodeAnalysis", "Microsoft.CodeAnalysis.CSharp", "Microsoft.CodeAnalysis.VisualBasic", "Microsoft.Extensions.ObjectPool"], "netcoreapp2.2": ["MSBuild.StructuredLogger", "MessagePack", "Microsoft.CodeAnalysis", "Microsoft.CodeAnalysis.CSharp", "Microsoft.CodeAnalysis.VisualBasic", "Microsoft.Extensions.ObjectPool"], "netcoreapp3.0": ["MSBuild.StructuredLogger", "MessagePack", "Microsoft.CodeAnalysis", "Microsoft.CodeAnalysis.CSharp", "Microsoft.CodeAnalysis.VisualBasic", "Microsoft.Extensions.ObjectPool"], "netcoreapp3.1": ["MSBuild.StructuredLogger", "MessagePack", "Microsoft.CodeAnalysis", "Microsoft.CodeAnalysis.CSharp", "Microsoft.CodeAnalysis.VisualBasic", "Microsoft.Extensions.ObjectPool"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": ["MSBuild.StructuredLogger", "MessagePack", "Microsoft.CodeAnalysis", "Microsoft.CodeAnalysis.CSharp", "Microsoft.CodeAnalysis.VisualBasic", "Microsoft.Extensions.ObjectPool"], "netstandard2.1": ["MSBuild.StructuredLogger", "MessagePack", "Microsoft.CodeAnalysis", "Microsoft.CodeAnalysis.CSharp", "Microsoft.CodeAnalysis.VisualBasic", "Microsoft.Extensions.ObjectPool"]}, "targeting_pack_overrides": [], "framework_list": []}, + {"name": "Humanizer.Core", "id": "Humanizer.Core", "version": "2.14.1", "sha512": "sha512-yzqGU/HKNLZ9Uvr6kvSc3wYV/S5O/IvklIUW5WF7MuivGLY8wS5IZnLPkt7D1KW8Et2Enl0I3Lzg2vGWM24Xsw==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": [], "net48": [], "net5.0": [], "net6.0": [], "net7.0": [], "net8.0": [], "net9.0": [], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": [], "netcoreapp2.1": [], "netcoreapp2.2": [], "netcoreapp3.0": [], "netcoreapp3.1": [], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": [], "netstandard2.1": []}, "targeting_pack_overrides": [], "framework_list": []}, + {"name": "MessagePack", "id": "MessagePack", "version": "2.5.129", "sha512": "sha512-wpw2dHkE5AcvMYKE4MrWuoeZ2jeaneDlqAgplxm6yKqPXeUVI2h5DPrKjsljnJSNRZOm3tunasw18Q9xj/3UoA==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": ["MessagePack.Annotations", "Microsoft.NET.StringTools", "System.Collections.Immutable", "System.Runtime.CompilerServices.Unsafe"], "net462": ["MessagePack.Annotations", "Microsoft.NET.StringTools", "System.Collections.Immutable", "System.Runtime.CompilerServices.Unsafe"], "net47": ["MessagePack.Annotations", "Microsoft.NET.StringTools", "System.Collections.Immutable", "System.Runtime.CompilerServices.Unsafe"], "net471": ["MessagePack.Annotations", "Microsoft.NET.StringTools", "System.Collections.Immutable", "System.Runtime.CompilerServices.Unsafe"], "net472": ["MessagePack.Annotations", "Microsoft.NET.StringTools", "System.Collections.Immutable", "System.Runtime.CompilerServices.Unsafe"], "net48": ["MessagePack.Annotations", "Microsoft.NET.StringTools", "System.Collections.Immutable", "System.Runtime.CompilerServices.Unsafe"], "net5.0": ["MessagePack.Annotations", "Microsoft.NET.StringTools", "System.Collections.Immutable", "System.Runtime.CompilerServices.Unsafe"], "net6.0": ["MessagePack.Annotations", "Microsoft.NET.StringTools", "System.Runtime.CompilerServices.Unsafe"], "net7.0": ["MessagePack.Annotations", "Microsoft.NET.StringTools", "System.Runtime.CompilerServices.Unsafe"], "net8.0": ["MessagePack.Annotations", "Microsoft.NET.StringTools", "System.Runtime.CompilerServices.Unsafe"], "net9.0": ["MessagePack.Annotations", "Microsoft.NET.StringTools", "System.Runtime.CompilerServices.Unsafe"], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": ["MessagePack.Annotations", "Microsoft.NET.StringTools", "System.Collections.Immutable", "System.Runtime.CompilerServices.Unsafe"], "netcoreapp2.1": ["MessagePack.Annotations", "Microsoft.NET.StringTools", "System.Collections.Immutable", "System.Runtime.CompilerServices.Unsafe"], "netcoreapp2.2": ["MessagePack.Annotations", "Microsoft.NET.StringTools", "System.Collections.Immutable", "System.Runtime.CompilerServices.Unsafe"], "netcoreapp3.0": ["MessagePack.Annotations", "Microsoft.NET.StringTools", "System.Collections.Immutable", "System.Runtime.CompilerServices.Unsafe"], "netcoreapp3.1": ["MessagePack.Annotations", "Microsoft.NET.StringTools", "System.Collections.Immutable", "System.Runtime.CompilerServices.Unsafe"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": ["MessagePack.Annotations", "Microsoft.NET.StringTools", "System.Collections.Immutable", "System.Runtime.CompilerServices.Unsafe"], "netstandard2.1": ["MessagePack.Annotations", "Microsoft.NET.StringTools", "System.Collections.Immutable", "System.Runtime.CompilerServices.Unsafe"]}, "targeting_pack_overrides": [], "framework_list": []}, + {"name": "MessagePack.Annotations", "id": "MessagePack.Annotations", "version": "2.5.129", "sha512": "sha512-mr12dLr06Kp7Ra7+GUXHbuxt/gbi6RPGPw1mpSvZsubs7hJxzHDtYTb5KKuseu5cpzOUDfsGcaW+Bo0+lqCFAA==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": [], "net48": [], "net5.0": [], "net6.0": [], "net7.0": [], "net8.0": [], "net9.0": [], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": [], "netcoreapp2.1": [], "netcoreapp2.2": [], "netcoreapp3.0": [], "netcoreapp3.1": [], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": [], "netstandard2.1": []}, "targeting_pack_overrides": [], "framework_list": []}, + {"name": "Microsoft.Build", "id": "Microsoft.Build", "version": "17.8.3", "sha512": "sha512-jRz++ltVTU9xGAYSnI7fGwLIsg/AwINaxlXaJrcMszO+fyh1xJ8gKZkDz10foT/5y26jZC6G93wyp85NVHc+lA==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": ["Microsoft.Build.Framework", "Microsoft.NET.StringTools", "System.Collections.Immutable", "System.Configuration.ConfigurationManager", "System.Reflection.MetadataLoadContext", "System.Security.Principal.Windows", "System.Threading.Tasks.Dataflow", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe"], "net48": ["Microsoft.Build.Framework", "Microsoft.NET.StringTools", "System.Collections.Immutable", "System.Configuration.ConfigurationManager", "System.Reflection.MetadataLoadContext", "System.Security.Principal.Windows", "System.Threading.Tasks.Dataflow", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe"], "net5.0": [], "net6.0": [], "net7.0": [], "net8.0": ["Microsoft.Build.Framework", "Microsoft.NET.StringTools", "System.Collections.Immutable", "System.Configuration.ConfigurationManager", "System.Reflection.MetadataLoadContext", "System.Security.Principal.Windows", "System.Threading.Tasks.Dataflow", "System.Reflection.Metadata"], "net9.0": ["Microsoft.Build.Framework", "Microsoft.NET.StringTools", "System.Collections.Immutable", "System.Configuration.ConfigurationManager", "System.Reflection.MetadataLoadContext", "System.Security.Principal.Windows", "System.Threading.Tasks.Dataflow", "System.Reflection.Metadata"], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": [], "netcoreapp2.1": [], "netcoreapp2.2": [], "netcoreapp3.0": [], "netcoreapp3.1": [], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": [], "netstandard2.1": []}, "targeting_pack_overrides": [], "framework_list": []}, + {"name": "Microsoft.Build.Framework", "id": "Microsoft.Build.Framework", "version": "17.8.3", "sha512": "sha512-xDOoj8lpNohM0Sieo4sJ47m/3SAquclF8wFZeAYYuDRHc8hII4XWPhSafFmw5A4TMGOyV08Z1TrrqES9HxMB3Q==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": ["System.Runtime.CompilerServices.Unsafe", "System.Security.Principal.Windows"], "net462": ["System.Runtime.CompilerServices.Unsafe", "System.Security.Principal.Windows"], "net47": ["System.Runtime.CompilerServices.Unsafe", "System.Security.Principal.Windows"], "net471": ["System.Runtime.CompilerServices.Unsafe", "System.Security.Principal.Windows"], "net472": ["System.Runtime.CompilerServices.Unsafe"], "net48": ["System.Runtime.CompilerServices.Unsafe"], "net5.0": ["System.Runtime.CompilerServices.Unsafe", "System.Security.Principal.Windows"], "net6.0": ["System.Runtime.CompilerServices.Unsafe", "System.Security.Principal.Windows"], "net7.0": ["System.Runtime.CompilerServices.Unsafe", "System.Security.Principal.Windows"], "net8.0": [], "net9.0": [], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": ["System.Runtime.CompilerServices.Unsafe", "System.Security.Principal.Windows"], "netcoreapp2.1": ["System.Runtime.CompilerServices.Unsafe", "System.Security.Principal.Windows"], "netcoreapp2.2": ["System.Runtime.CompilerServices.Unsafe", "System.Security.Principal.Windows"], "netcoreapp3.0": ["System.Runtime.CompilerServices.Unsafe", "System.Security.Principal.Windows"], "netcoreapp3.1": ["System.Runtime.CompilerServices.Unsafe", "System.Security.Principal.Windows"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": ["System.Runtime.CompilerServices.Unsafe", "System.Security.Principal.Windows"], "netstandard2.1": ["System.Runtime.CompilerServices.Unsafe", "System.Security.Principal.Windows"]}, "targeting_pack_overrides": [], "framework_list": []}, + {"name": "Microsoft.Build.Utilities.Core", "id": "Microsoft.Build.Utilities.Core", "version": "17.5.0", "sha512": "sha512-La1NFQ7SVz1pVGEUnG15BQG26jJkRMCiitySBXLhuTYf9IG6eZ5j5UFjnM4EFKSVKbictRv+D/F0dQtsCiK9ag==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": ["Microsoft.Build.Framework", "Microsoft.NET.StringTools", "System.Collections.Immutable", "System.Configuration.ConfigurationManager", "System.Security.Permissions"], "net462": ["Microsoft.Build.Framework", "Microsoft.NET.StringTools", "System.Collections.Immutable", "System.Configuration.ConfigurationManager", "System.Security.Permissions"], "net47": ["Microsoft.Build.Framework", "Microsoft.NET.StringTools", "System.Collections.Immutable", "System.Configuration.ConfigurationManager", "System.Security.Permissions"], "net471": ["Microsoft.Build.Framework", "Microsoft.NET.StringTools", "System.Collections.Immutable", "System.Configuration.ConfigurationManager", "System.Security.Permissions"], "net472": ["Microsoft.Build.Framework", "Microsoft.NET.StringTools", "System.Collections.Immutable", "System.Configuration.ConfigurationManager"], "net48": ["Microsoft.Build.Framework", "Microsoft.NET.StringTools", "System.Collections.Immutable", "System.Configuration.ConfigurationManager"], "net5.0": ["Microsoft.Build.Framework", "Microsoft.NET.StringTools", "System.Collections.Immutable", "System.Configuration.ConfigurationManager", "System.Security.Permissions"], "net6.0": ["Microsoft.Build.Framework", "Microsoft.NET.StringTools", "System.Collections.Immutable", "System.Configuration.ConfigurationManager", "System.Security.Permissions"], "net7.0": ["Microsoft.Build.Framework", "Microsoft.NET.StringTools", "System.Collections.Immutable", "System.Configuration.ConfigurationManager"], "net8.0": ["Microsoft.Build.Framework", "Microsoft.NET.StringTools", "System.Collections.Immutable", "System.Configuration.ConfigurationManager"], "net9.0": ["Microsoft.Build.Framework", "Microsoft.NET.StringTools", "System.Collections.Immutable", "System.Configuration.ConfigurationManager"], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": ["Microsoft.Build.Framework", "Microsoft.NET.StringTools", "System.Collections.Immutable", "System.Configuration.ConfigurationManager", "System.Security.Permissions"], "netcoreapp2.1": ["Microsoft.Build.Framework", "Microsoft.NET.StringTools", "System.Collections.Immutable", "System.Configuration.ConfigurationManager", "System.Security.Permissions"], "netcoreapp2.2": ["Microsoft.Build.Framework", "Microsoft.NET.StringTools", "System.Collections.Immutable", "System.Configuration.ConfigurationManager", "System.Security.Permissions"], "netcoreapp3.0": ["Microsoft.Build.Framework", "Microsoft.NET.StringTools", "System.Collections.Immutable", "System.Configuration.ConfigurationManager", "System.Security.Permissions"], "netcoreapp3.1": ["Microsoft.Build.Framework", "Microsoft.NET.StringTools", "System.Collections.Immutable", "System.Configuration.ConfigurationManager", "System.Security.Permissions"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": ["Microsoft.Build.Framework", "Microsoft.NET.StringTools", "System.Collections.Immutable", "System.Configuration.ConfigurationManager", "System.Security.Permissions"], "netstandard2.1": ["Microsoft.Build.Framework", "Microsoft.NET.StringTools", "System.Collections.Immutable", "System.Configuration.ConfigurationManager", "System.Security.Permissions"]}, "targeting_pack_overrides": [], "framework_list": []}, + {"name": "Microsoft.CodeAnalysis", "id": "Microsoft.CodeAnalysis", "version": "4.9.2", "sha512": "sha512-CJh/yj/ZWnDn0qRDovqeb7qhXl4MDFR5CELAQ2B5K9dcEC6JPg7Fkm2ADRiBM4UF7ub+n6fkiE5+/+GPD5WbFg==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": ["Microsoft.CodeAnalysis.CSharp.Workspaces", "Microsoft.CodeAnalysis.VisualBasic.Workspaces"], "net462": ["Microsoft.CodeAnalysis.CSharp.Workspaces", "Microsoft.CodeAnalysis.VisualBasic.Workspaces"], "net47": ["Microsoft.CodeAnalysis.CSharp.Workspaces", "Microsoft.CodeAnalysis.VisualBasic.Workspaces"], "net471": ["Microsoft.CodeAnalysis.CSharp.Workspaces", "Microsoft.CodeAnalysis.VisualBasic.Workspaces"], "net472": ["Microsoft.CodeAnalysis.CSharp.Workspaces", "Microsoft.CodeAnalysis.VisualBasic.Workspaces"], "net48": ["Microsoft.CodeAnalysis.CSharp.Workspaces", "Microsoft.CodeAnalysis.VisualBasic.Workspaces"], "net5.0": ["Microsoft.CodeAnalysis.CSharp.Workspaces", "Microsoft.CodeAnalysis.VisualBasic.Workspaces"], "net6.0": ["Microsoft.CodeAnalysis.CSharp.Workspaces", "Microsoft.CodeAnalysis.VisualBasic.Workspaces"], "net7.0": ["Microsoft.CodeAnalysis.CSharp.Workspaces", "Microsoft.CodeAnalysis.VisualBasic.Workspaces"], "net8.0": ["Microsoft.CodeAnalysis.CSharp.Workspaces", "Microsoft.CodeAnalysis.VisualBasic.Workspaces"], "net9.0": ["Microsoft.CodeAnalysis.CSharp.Workspaces", "Microsoft.CodeAnalysis.VisualBasic.Workspaces"], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": ["Microsoft.CodeAnalysis.CSharp.Workspaces", "Microsoft.CodeAnalysis.VisualBasic.Workspaces"], "netcoreapp2.1": ["Microsoft.CodeAnalysis.CSharp.Workspaces", "Microsoft.CodeAnalysis.VisualBasic.Workspaces"], "netcoreapp2.2": ["Microsoft.CodeAnalysis.CSharp.Workspaces", "Microsoft.CodeAnalysis.VisualBasic.Workspaces"], "netcoreapp3.0": ["Microsoft.CodeAnalysis.CSharp.Workspaces", "Microsoft.CodeAnalysis.VisualBasic.Workspaces"], "netcoreapp3.1": ["Microsoft.CodeAnalysis.CSharp.Workspaces", "Microsoft.CodeAnalysis.VisualBasic.Workspaces"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": ["Microsoft.CodeAnalysis.CSharp.Workspaces", "Microsoft.CodeAnalysis.VisualBasic.Workspaces"], "netstandard2.1": ["Microsoft.CodeAnalysis.CSharp.Workspaces", "Microsoft.CodeAnalysis.VisualBasic.Workspaces"]}, "targeting_pack_overrides": [], "framework_list": []}, + {"name": "Microsoft.CodeAnalysis.Analyzers", "id": "Microsoft.CodeAnalysis.Analyzers", "version": "3.3.4", "sha512": "sha512-I+Riw6/6WjNICydoiNpDjN/GGP7u4XsL6VsI9lG/OjFufH3flvSEy/fxNhGDVGwZWwq/5BlnqX+LH2dmheaPfg==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": [], "net48": [], "net5.0": [], "net6.0": [], "net7.0": [], "net8.0": [], "net9.0": [], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": [], "netcoreapp2.1": [], "netcoreapp2.2": [], "netcoreapp3.0": [], "netcoreapp3.1": [], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": [], "netstandard2.1": []}, "targeting_pack_overrides": [], "framework_list": []}, + {"name": "Microsoft.CodeAnalysis.Common", "id": "Microsoft.CodeAnalysis.Common", "version": "4.9.2", "sha512": "sha512-XCtqPQdnoqfrBSidFWIESm8exXVHF4yPY94e84St2PVZPc2bGeQNXdFNwadu1Bd2sr/bAgM5B0UHbCqBz+/SeQ==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": ["Microsoft.CodeAnalysis.Analyzers", "System.Collections.Immutable", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe"], "net462": ["Microsoft.CodeAnalysis.Analyzers", "System.Collections.Immutable", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe"], "net47": ["Microsoft.CodeAnalysis.Analyzers", "System.Collections.Immutable", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe"], "net471": ["Microsoft.CodeAnalysis.Analyzers", "System.Collections.Immutable", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe"], "net472": ["Microsoft.CodeAnalysis.Analyzers", "System.Collections.Immutable", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe"], "net48": ["Microsoft.CodeAnalysis.Analyzers", "System.Collections.Immutable", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe"], "net5.0": ["Microsoft.CodeAnalysis.Analyzers", "System.Collections.Immutable", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe"], "net6.0": ["Microsoft.CodeAnalysis.Analyzers", "System.Collections.Immutable", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe"], "net7.0": ["Microsoft.CodeAnalysis.Analyzers", "System.Collections.Immutable", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe"], "net8.0": ["Microsoft.CodeAnalysis.Analyzers", "System.Collections.Immutable", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe"], "net9.0": ["Microsoft.CodeAnalysis.Analyzers", "System.Collections.Immutable", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe"], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": ["Microsoft.CodeAnalysis.Analyzers", "System.Collections.Immutable", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe"], "netcoreapp2.1": ["Microsoft.CodeAnalysis.Analyzers", "System.Collections.Immutable", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe"], "netcoreapp2.2": ["Microsoft.CodeAnalysis.Analyzers", "System.Collections.Immutable", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe"], "netcoreapp3.0": ["Microsoft.CodeAnalysis.Analyzers", "System.Collections.Immutable", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe"], "netcoreapp3.1": ["Microsoft.CodeAnalysis.Analyzers", "System.Collections.Immutable", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": ["Microsoft.CodeAnalysis.Analyzers", "System.Collections.Immutable", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe"], "netstandard2.1": ["Microsoft.CodeAnalysis.Analyzers", "System.Collections.Immutable", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe"]}, "targeting_pack_overrides": [], "framework_list": []}, + {"name": "Microsoft.CodeAnalysis.CSharp", "id": "Microsoft.CodeAnalysis.CSharp", "version": "4.9.2", "sha512": "sha512-oy5nUdJOaOQEjUZimhYH4xU6nVxt8ctkdP7HT2fc32ecvH50QeIwJXgjNt7MGUyhJO+Wd3SipQWQ5QyDw7VuLg==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": ["Microsoft.CodeAnalysis.Common"], "net462": ["Microsoft.CodeAnalysis.Common"], "net47": ["Microsoft.CodeAnalysis.Common"], "net471": ["Microsoft.CodeAnalysis.Common"], "net472": ["Microsoft.CodeAnalysis.Common"], "net48": ["Microsoft.CodeAnalysis.Common"], "net5.0": ["Microsoft.CodeAnalysis.Common"], "net6.0": ["Microsoft.CodeAnalysis.Common"], "net7.0": ["Microsoft.CodeAnalysis.Common"], "net8.0": ["Microsoft.CodeAnalysis.Common"], "net9.0": ["Microsoft.CodeAnalysis.Common"], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": ["Microsoft.CodeAnalysis.Common"], "netcoreapp2.1": ["Microsoft.CodeAnalysis.Common"], "netcoreapp2.2": ["Microsoft.CodeAnalysis.Common"], "netcoreapp3.0": ["Microsoft.CodeAnalysis.Common"], "netcoreapp3.1": ["Microsoft.CodeAnalysis.Common"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": ["Microsoft.CodeAnalysis.Common"], "netstandard2.1": ["Microsoft.CodeAnalysis.Common"]}, "targeting_pack_overrides": [], "framework_list": []}, + {"name": "Microsoft.CodeAnalysis.CSharp.Workspaces", "id": "Microsoft.CodeAnalysis.CSharp.Workspaces", "version": "4.9.2", "sha512": "sha512-NfP1c+OjN0KbFxhSN2DXilIjZzH6p/DzkF+yemB0v/7nhQkvRq7cDle6TpWgpw12JKOSa6lSirfECbRSyLFGhA==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.CSharp", "Microsoft.CodeAnalysis.Workspaces.Common", "Humanizer.Core"], "net462": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.CSharp", "Microsoft.CodeAnalysis.Workspaces.Common", "Humanizer.Core"], "net47": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.CSharp", "Microsoft.CodeAnalysis.Workspaces.Common", "Humanizer.Core"], "net471": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.CSharp", "Microsoft.CodeAnalysis.Workspaces.Common", "Humanizer.Core"], "net472": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.CSharp", "Microsoft.CodeAnalysis.Workspaces.Common", "Humanizer.Core"], "net48": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.CSharp", "Microsoft.CodeAnalysis.Workspaces.Common", "Humanizer.Core"], "net5.0": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.CSharp", "Microsoft.CodeAnalysis.Workspaces.Common", "Humanizer.Core"], "net6.0": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.CSharp", "Microsoft.CodeAnalysis.Workspaces.Common", "Humanizer.Core"], "net7.0": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.CSharp", "Microsoft.CodeAnalysis.Workspaces.Common", "Humanizer.Core"], "net8.0": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.CSharp", "Microsoft.CodeAnalysis.Workspaces.Common", "Humanizer.Core"], "net9.0": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.CSharp", "Microsoft.CodeAnalysis.Workspaces.Common", "Humanizer.Core"], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.CSharp", "Microsoft.CodeAnalysis.Workspaces.Common", "Humanizer.Core"], "netcoreapp2.1": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.CSharp", "Microsoft.CodeAnalysis.Workspaces.Common", "Humanizer.Core"], "netcoreapp2.2": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.CSharp", "Microsoft.CodeAnalysis.Workspaces.Common", "Humanizer.Core"], "netcoreapp3.0": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.CSharp", "Microsoft.CodeAnalysis.Workspaces.Common", "Humanizer.Core"], "netcoreapp3.1": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.CSharp", "Microsoft.CodeAnalysis.Workspaces.Common", "Humanizer.Core"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.CSharp", "Microsoft.CodeAnalysis.Workspaces.Common", "Humanizer.Core"], "netstandard2.1": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.CSharp", "Microsoft.CodeAnalysis.Workspaces.Common", "Humanizer.Core"]}, "targeting_pack_overrides": [], "framework_list": []}, + {"name": "Microsoft.CodeAnalysis.VisualBasic", "id": "Microsoft.CodeAnalysis.VisualBasic", "version": "4.9.2", "sha512": "sha512-Jx3d7jpZ2bdCb/FzVBPD2a4P8jFDhdoEugGoxLxVKtBDzHA5+RdQL0BWvzwrP1Tdw3YPshrUelNlZXmcNXqZyA==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": ["Microsoft.CodeAnalysis.Common"], "net462": ["Microsoft.CodeAnalysis.Common"], "net47": ["Microsoft.CodeAnalysis.Common"], "net471": ["Microsoft.CodeAnalysis.Common"], "net472": ["Microsoft.CodeAnalysis.Common"], "net48": ["Microsoft.CodeAnalysis.Common"], "net5.0": ["Microsoft.CodeAnalysis.Common"], "net6.0": ["Microsoft.CodeAnalysis.Common"], "net7.0": ["Microsoft.CodeAnalysis.Common"], "net8.0": ["Microsoft.CodeAnalysis.Common"], "net9.0": ["Microsoft.CodeAnalysis.Common"], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": ["Microsoft.CodeAnalysis.Common"], "netcoreapp2.1": ["Microsoft.CodeAnalysis.Common"], "netcoreapp2.2": ["Microsoft.CodeAnalysis.Common"], "netcoreapp3.0": ["Microsoft.CodeAnalysis.Common"], "netcoreapp3.1": ["Microsoft.CodeAnalysis.Common"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": ["Microsoft.CodeAnalysis.Common"], "netstandard2.1": ["Microsoft.CodeAnalysis.Common"]}, "targeting_pack_overrides": [], "framework_list": []}, + {"name": "Microsoft.CodeAnalysis.VisualBasic.Workspaces", "id": "Microsoft.CodeAnalysis.VisualBasic.Workspaces", "version": "4.9.2", "sha512": "sha512-v07rvZvckHiPLDzKXFs9AXfEGsDeTvR+N9YHO9wQqboXgms4HCv0fTrZOOgqM/aVS7racJKRo1tf62UfjqMeEw==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.VisualBasic", "Microsoft.CodeAnalysis.Workspaces.Common"], "net462": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.VisualBasic", "Microsoft.CodeAnalysis.Workspaces.Common"], "net47": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.VisualBasic", "Microsoft.CodeAnalysis.Workspaces.Common"], "net471": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.VisualBasic", "Microsoft.CodeAnalysis.Workspaces.Common"], "net472": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.VisualBasic", "Microsoft.CodeAnalysis.Workspaces.Common"], "net48": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.VisualBasic", "Microsoft.CodeAnalysis.Workspaces.Common"], "net5.0": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.VisualBasic", "Microsoft.CodeAnalysis.Workspaces.Common"], "net6.0": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.VisualBasic", "Microsoft.CodeAnalysis.Workspaces.Common"], "net7.0": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.VisualBasic", "Microsoft.CodeAnalysis.Workspaces.Common"], "net8.0": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.VisualBasic", "Microsoft.CodeAnalysis.Workspaces.Common"], "net9.0": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.VisualBasic", "Microsoft.CodeAnalysis.Workspaces.Common"], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.VisualBasic", "Microsoft.CodeAnalysis.Workspaces.Common"], "netcoreapp2.1": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.VisualBasic", "Microsoft.CodeAnalysis.Workspaces.Common"], "netcoreapp2.2": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.VisualBasic", "Microsoft.CodeAnalysis.Workspaces.Common"], "netcoreapp3.0": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.VisualBasic", "Microsoft.CodeAnalysis.Workspaces.Common"], "netcoreapp3.1": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.VisualBasic", "Microsoft.CodeAnalysis.Workspaces.Common"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.VisualBasic", "Microsoft.CodeAnalysis.Workspaces.Common"], "netstandard2.1": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.VisualBasic", "Microsoft.CodeAnalysis.Workspaces.Common"]}, "targeting_pack_overrides": [], "framework_list": []}, + {"name": "Microsoft.CodeAnalysis.Workspaces.Common", "id": "Microsoft.CodeAnalysis.Workspaces.Common", "version": "4.9.2", "sha512": "sha512-DieswZYcYVGDPeT6m7M4i+0aKkjSgyjmI9z9HJEDSRZdvXfKYLEKwmlFGUTyzFS4brnyMCwLSiw2KWVAydpzVA==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": ["Microsoft.CodeAnalysis.Common", "Humanizer.Core", "System.Composition", "System.IO.Pipelines", "System.Threading.Channels"], "net462": ["Microsoft.CodeAnalysis.Common", "Humanizer.Core", "System.Composition", "System.IO.Pipelines", "System.Threading.Channels"], "net47": ["Microsoft.CodeAnalysis.Common", "Humanizer.Core", "System.Composition", "System.IO.Pipelines", "System.Threading.Channels"], "net471": ["Microsoft.CodeAnalysis.Common", "Humanizer.Core", "System.Composition", "System.IO.Pipelines", "System.Threading.Channels"], "net472": ["Microsoft.CodeAnalysis.Common", "Humanizer.Core", "System.Composition", "System.IO.Pipelines", "System.Threading.Channels"], "net48": ["Microsoft.CodeAnalysis.Common", "Humanizer.Core", "System.Composition", "System.IO.Pipelines", "System.Threading.Channels"], "net5.0": ["Microsoft.CodeAnalysis.Common", "Humanizer.Core", "System.Composition", "System.IO.Pipelines", "System.Threading.Channels"], "net6.0": ["Microsoft.CodeAnalysis.Common", "Humanizer.Core", "System.Composition", "System.IO.Pipelines", "System.Threading.Channels"], "net7.0": ["Microsoft.CodeAnalysis.Common", "Humanizer.Core", "System.Composition", "System.IO.Pipelines", "System.Threading.Channels"], "net8.0": ["Microsoft.CodeAnalysis.Common", "Humanizer.Core", "System.Composition", "System.IO.Pipelines", "System.Threading.Channels"], "net9.0": ["Microsoft.CodeAnalysis.Common", "Humanizer.Core", "System.Composition", "System.IO.Pipelines", "System.Threading.Channels"], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": ["Microsoft.CodeAnalysis.Common", "Humanizer.Core", "System.Composition", "System.IO.Pipelines", "System.Threading.Channels"], "netcoreapp2.1": ["Microsoft.CodeAnalysis.Common", "Humanizer.Core", "System.Composition", "System.IO.Pipelines", "System.Threading.Channels"], "netcoreapp2.2": ["Microsoft.CodeAnalysis.Common", "Humanizer.Core", "System.Composition", "System.IO.Pipelines", "System.Threading.Channels"], "netcoreapp3.0": ["Microsoft.CodeAnalysis.Common", "Humanizer.Core", "System.Composition", "System.IO.Pipelines", "System.Threading.Channels"], "netcoreapp3.1": ["Microsoft.CodeAnalysis.Common", "Humanizer.Core", "System.Composition", "System.IO.Pipelines", "System.Threading.Channels"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": ["Microsoft.CodeAnalysis.Common", "Humanizer.Core", "System.Composition", "System.IO.Pipelines", "System.Threading.Channels"], "netstandard2.1": ["Microsoft.CodeAnalysis.Common", "Humanizer.Core", "System.Composition", "System.IO.Pipelines", "System.Threading.Channels"]}, "targeting_pack_overrides": [], "framework_list": []}, + {"name": "Microsoft.CodeCoverage", "id": "Microsoft.CodeCoverage", "version": "17.11.1", "sha512": "sha512-ZJ4Ch1u7AemIzNpc0BbLoysJ0dJildIvAybL2vBUfbqho86N2VqzX9PGNc9a9pemZ//1Y6AOJ7SJxi/pCvLhHA==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": [], "net48": [], "net5.0": [], "net6.0": [], "net7.0": [], "net8.0": [], "net9.0": [], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": [], "netcoreapp2.1": [], "netcoreapp2.2": [], "netcoreapp3.0": [], "netcoreapp3.1": [], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": [], "netstandard2.1": []}, "targeting_pack_overrides": [], "framework_list": []}, + {"name": "Microsoft.Extensions.ObjectPool", "id": "Microsoft.Extensions.ObjectPool", "version": "7.0.13", "sha512": "sha512-N66kAzKBfcs4zIX/iVMUOhfn8Xv3Ye1QpLGS8IUSpCHa+Vxh2ZsdDiqd0Y2m7ryPU6FU2LOTnZ+0ymmm83vC6w==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": [], "net48": [], "net5.0": [], "net6.0": [], "net7.0": [], "net8.0": [], "net9.0": [], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": [], "netcoreapp2.1": [], "netcoreapp2.2": [], "netcoreapp3.0": [], "netcoreapp3.1": [], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": [], "netstandard2.1": []}, "targeting_pack_overrides": [], "framework_list": []}, + {"name": "Microsoft.NET.StringTools", "id": "Microsoft.NET.StringTools", "version": "17.8.3", "sha512": "sha512-3N/Ika66JZeORrIZ68fap6M0LSQ9+SQz277NxjA/dxETnR3dZwJXj67jAAc4FkijG6w//QzrC5NEregtIVjz1w==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": ["System.Runtime.CompilerServices.Unsafe"], "net48": ["System.Runtime.CompilerServices.Unsafe"], "net5.0": ["System.Runtime.CompilerServices.Unsafe"], "net6.0": ["System.Runtime.CompilerServices.Unsafe"], "net7.0": ["System.Runtime.CompilerServices.Unsafe"], "net8.0": [], "net9.0": [], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": ["System.Runtime.CompilerServices.Unsafe"], "netcoreapp2.1": ["System.Runtime.CompilerServices.Unsafe"], "netcoreapp2.2": ["System.Runtime.CompilerServices.Unsafe"], "netcoreapp3.0": ["System.Runtime.CompilerServices.Unsafe"], "netcoreapp3.1": ["System.Runtime.CompilerServices.Unsafe"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": ["System.Runtime.CompilerServices.Unsafe"], "netstandard2.1": ["System.Runtime.CompilerServices.Unsafe"]}, "targeting_pack_overrides": [], "framework_list": []}, + {"name": "Microsoft.NET.Test.Sdk", "id": "Microsoft.NET.Test.Sdk", "version": "17.11.1", "sha512": "sha512-k3ULrpyrTHKhVeKqdFwiUDOwqKVRtVTcyjmfKqKw/NrIHJ54mkTaGlU5ARUakDC894X1wTyXtdmzzaDZqelliA==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": ["Microsoft.CodeCoverage"], "net47": ["Microsoft.CodeCoverage"], "net471": ["Microsoft.CodeCoverage"], "net472": ["Microsoft.CodeCoverage"], "net48": ["Microsoft.CodeCoverage"], "net5.0": ["Microsoft.TestPlatform.TestHost", "Microsoft.CodeCoverage"], "net6.0": ["Microsoft.TestPlatform.TestHost", "Microsoft.CodeCoverage"], "net7.0": ["Microsoft.TestPlatform.TestHost", "Microsoft.CodeCoverage"], "net8.0": ["Microsoft.TestPlatform.TestHost", "Microsoft.CodeCoverage"], "net9.0": ["Microsoft.TestPlatform.TestHost", "Microsoft.CodeCoverage"], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": [], "netcoreapp2.1": [], "netcoreapp2.2": [], "netcoreapp3.0": [], "netcoreapp3.1": ["Microsoft.TestPlatform.TestHost", "Microsoft.CodeCoverage"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": [], "netstandard2.1": []}, "targeting_pack_overrides": [], "framework_list": []}, + {"name": "Microsoft.NETCore.Platforms", "id": "Microsoft.NETCore.Platforms", "version": "1.1.1", "sha512": "sha512-mDUJD1eLXIzmUnWCzWlmNQZGDp/cVGT8KyhzMcJNk2nlfdFUOoZai9idT8/FacJr8Nv8zhAmdf39FHm5qWUoGQ==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": [], "net48": [], "net5.0": [], "net6.0": [], "net7.0": [], "net8.0": [], "net9.0": [], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": [], "netcoreapp2.1": [], "netcoreapp2.2": [], "netcoreapp3.0": [], "netcoreapp3.1": [], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": [], "netstandard2.1": []}, "targeting_pack_overrides": [], "framework_list": []}, + {"name": "Microsoft.NETCore.Targets", "id": "Microsoft.NETCore.Targets", "version": "1.1.3", "sha512": "sha512-pxwq8g2PYRiEF5KXVjmZFMNTqsg2Gr1puv/pR1sqAduAKHAGbaCuJ6+yc3pAJseClQUD29S2Ubrm7n/ZD78dUg==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": [], "net48": [], "net5.0": [], "net6.0": [], "net7.0": [], "net8.0": [], "net9.0": [], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": [], "netcoreapp2.1": [], "netcoreapp2.2": [], "netcoreapp3.0": [], "netcoreapp3.1": [], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": [], "netstandard2.1": []}, "targeting_pack_overrides": [], "framework_list": []}, + {"name": "Microsoft.TestPlatform.ObjectModel", "id": "Microsoft.TestPlatform.ObjectModel", "version": "17.11.1", "sha512": "sha512-9hJ6Gbf3IaPwOP2qgdADYLEk9NXtAsp5y3szBogAe0lj7zaBWU0n8GiCVxpJL8RaoPee46qlJBfZcu1z9DQgAA==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": ["System.Reflection.Metadata"], "net462": ["System.Reflection.Metadata"], "net47": ["System.Reflection.Metadata"], "net471": ["System.Reflection.Metadata"], "net472": ["System.Reflection.Metadata"], "net48": ["System.Reflection.Metadata"], "net5.0": ["System.Reflection.Metadata"], "net6.0": ["System.Reflection.Metadata"], "net7.0": ["System.Reflection.Metadata"], "net8.0": ["System.Reflection.Metadata"], "net9.0": ["System.Reflection.Metadata"], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": ["System.Reflection.Metadata"], "netcoreapp2.1": ["System.Reflection.Metadata"], "netcoreapp2.2": ["System.Reflection.Metadata"], "netcoreapp3.0": ["System.Reflection.Metadata"], "netcoreapp3.1": ["System.Reflection.Metadata"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": ["System.Reflection.Metadata"], "netstandard2.1": ["System.Reflection.Metadata"]}, "targeting_pack_overrides": [], "framework_list": []}, + {"name": "Microsoft.TestPlatform.TestHost", "id": "Microsoft.TestPlatform.TestHost", "version": "17.11.1", "sha512": "sha512-deRHZRRzHUWbCu31aoFmFt9qelMkDmuBsgJ3jgqQt8KEIj2Tx0R1Qe7nDRZ3YUF84YGICMXMBd+BABtWRw3Wxg==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": [], "net48": [], "net5.0": ["Microsoft.TestPlatform.ObjectModel", "Newtonsoft.Json"], "net6.0": ["Microsoft.TestPlatform.ObjectModel", "Newtonsoft.Json"], "net7.0": ["Microsoft.TestPlatform.ObjectModel", "Newtonsoft.Json"], "net8.0": ["Microsoft.TestPlatform.ObjectModel", "Newtonsoft.Json"], "net9.0": ["Microsoft.TestPlatform.ObjectModel", "Newtonsoft.Json"], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": [], "netcoreapp2.1": [], "netcoreapp2.2": [], "netcoreapp3.0": [], "netcoreapp3.1": ["Microsoft.TestPlatform.ObjectModel", "Newtonsoft.Json"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": [], "netstandard2.1": []}, "targeting_pack_overrides": [], "framework_list": []}, + {"name": "Microsoft.Win32.Primitives", "id": "Microsoft.Win32.Primitives", "version": "4.3.0", "sha512": "sha512-Nm8Hp51y9tYcK3xD6qk43Wjftrg1mdH24CCJsTb6gr7HS21U1uA+CKPGEtUcVZbjU1y8Kynzm5eoJ7Pnx5gm8A==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": [], "net48": [], "net5.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "net6.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "net7.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "net8.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "net9.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "netcoreapp1.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "netcoreapp1.1": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "netcoreapp2.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "netcoreapp2.1": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "netcoreapp2.2": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "netcoreapp3.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "netcoreapp3.1": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "netstandard1.4": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "netstandard1.5": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "netstandard1.6": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "netstandard2.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "netstandard2.1": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"]}, "targeting_pack_overrides": [], "framework_list": []}, + {"name": "Microsoft.Win32.SystemEvents", "id": "Microsoft.Win32.SystemEvents", "version": "7.0.0", "sha512": "sha512-GO6SWx/wSZIFvxOn67Y6OiIGdz9JGCg5CRDDbSAAvBDQeZFbybu9sEOUb9w/vUlQv+A2XakTFZg9Ug1w+tgbWQ==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": [], "net48": [], "net5.0": [], "net6.0": [], "net7.0": [], "net8.0": [], "net9.0": [], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": [], "netcoreapp2.1": [], "netcoreapp2.2": [], "netcoreapp3.0": [], "netcoreapp3.1": [], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": [], "netstandard2.1": []}, "targeting_pack_overrides": [], "framework_list": []}, + {"name": "Mono.Posix.NETStandard", "id": "Mono.Posix.NETStandard", "version": "1.0.0", "sha512": "sha512-RtGiutQZJAmajvQ0QvBvh73VJye85iW9f9tjZlzF88idLxNMo4lAktP/4Y9ilCpais0LDO0tpoICt9Hdv6wooA==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": [], "net48": [], "net5.0": [], "net6.0": [], "net7.0": [], "net8.0": [], "net9.0": [], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": [], "netcoreapp2.1": [], "netcoreapp2.2": [], "netcoreapp3.0": [], "netcoreapp3.1": [], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": [], "netstandard2.1": []}, "targeting_pack_overrides": [], "framework_list": []}, + {"name": "MSBuild.StructuredLogger", "id": "MSBuild.StructuredLogger", "version": "2.2.235", "sha512": "sha512-9ige0SOByBirmeIYZ3fwlwbnXrYZA2trdZV7Mad8z7FiuGbVNOVkGYrzln/+G1eIvmRh9J0pt6xBLwqIYaMxyQ==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": ["Microsoft.Build.Framework", "Microsoft.Build.Utilities.Core"], "net462": ["Microsoft.Build.Framework", "Microsoft.Build.Utilities.Core"], "net47": ["Microsoft.Build.Framework", "Microsoft.Build.Utilities.Core"], "net471": ["Microsoft.Build.Framework", "Microsoft.Build.Utilities.Core"], "net472": ["Microsoft.Build.Framework", "Microsoft.Build.Utilities.Core"], "net48": ["Microsoft.Build.Framework", "Microsoft.Build.Utilities.Core"], "net5.0": ["Microsoft.Build.Framework", "Microsoft.Build.Utilities.Core"], "net6.0": ["Microsoft.Build.Framework", "Microsoft.Build.Utilities.Core"], "net7.0": ["Microsoft.Build.Framework", "Microsoft.Build.Utilities.Core"], "net8.0": ["Microsoft.Build.Framework", "Microsoft.Build.Utilities.Core"], "net9.0": ["Microsoft.Build.Framework", "Microsoft.Build.Utilities.Core"], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": ["Microsoft.Build.Framework", "Microsoft.Build.Utilities.Core"], "netcoreapp2.1": ["Microsoft.Build.Framework", "Microsoft.Build.Utilities.Core"], "netcoreapp2.2": ["Microsoft.Build.Framework", "Microsoft.Build.Utilities.Core"], "netcoreapp3.0": ["Microsoft.Build.Framework", "Microsoft.Build.Utilities.Core"], "netcoreapp3.1": ["Microsoft.Build.Framework", "Microsoft.Build.Utilities.Core"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": ["Microsoft.Build.Framework", "Microsoft.Build.Utilities.Core"], "netstandard2.1": ["Microsoft.Build.Framework", "Microsoft.Build.Utilities.Core"]}, "targeting_pack_overrides": [], "framework_list": []}, + {"name": "Newtonsoft.Json", "id": "Newtonsoft.Json", "version": "13.0.3", "sha512": "sha512-mbJSvHfRxfX3tR/U6n1WU+mWHXswYc+SB/hkOpx8yZZe68hNZGfymJu0cjsaJEkVzCMqePiU6LdIyogqfIn7kg==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": [], "net48": [], "net5.0": [], "net6.0": [], "net7.0": [], "net8.0": [], "net9.0": [], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": [], "netcoreapp2.1": [], "netcoreapp2.2": [], "netcoreapp3.0": [], "netcoreapp3.1": [], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": [], "netstandard2.1": []}, "targeting_pack_overrides": [], "framework_list": []}, + {"name": "System.Collections.Immutable", "id": "System.Collections.Immutable", "version": "8.0.0", "sha512": "sha512-BXqVkcIrhimvvem6q2ChWkuW6XYYirvb6FlhvuwaMoBqBdpcr4nehJBKP65Tw40UqcUM6oDoODsecM0yjZ6AUw==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": ["System.Runtime.CompilerServices.Unsafe"], "net462": ["System.Runtime.CompilerServices.Unsafe"], "net47": ["System.Runtime.CompilerServices.Unsafe"], "net471": ["System.Runtime.CompilerServices.Unsafe"], "net472": ["System.Runtime.CompilerServices.Unsafe"], "net48": ["System.Runtime.CompilerServices.Unsafe"], "net5.0": ["System.Runtime.CompilerServices.Unsafe"], "net6.0": ["System.Runtime.CompilerServices.Unsafe"], "net7.0": [], "net8.0": [], "net9.0": [], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": ["System.Runtime.CompilerServices.Unsafe"], "netcoreapp2.1": ["System.Runtime.CompilerServices.Unsafe"], "netcoreapp2.2": ["System.Runtime.CompilerServices.Unsafe"], "netcoreapp3.0": ["System.Runtime.CompilerServices.Unsafe"], "netcoreapp3.1": ["System.Runtime.CompilerServices.Unsafe"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": ["System.Runtime.CompilerServices.Unsafe"], "netstandard2.1": ["System.Runtime.CompilerServices.Unsafe"]}, "targeting_pack_overrides": [], "framework_list": []}, + {"name": "System.Composition", "id": "System.Composition", "version": "8.0.0", "sha512": "sha512-/AZ/S+sX6awiSeSvOv7997aiwbU6HCcOBJDLecdYQJjDo+4nYCrWwWKQQIZ38VZ6BLh1pDmcYFPZockIuoRIYw==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": ["System.Composition.AttributedModel", "System.Composition.Convention", "System.Composition.Hosting", "System.Composition.Runtime", "System.Composition.TypedParts"], "net462": ["System.Composition.AttributedModel", "System.Composition.Convention", "System.Composition.Hosting", "System.Composition.Runtime", "System.Composition.TypedParts"], "net47": ["System.Composition.AttributedModel", "System.Composition.Convention", "System.Composition.Hosting", "System.Composition.Runtime", "System.Composition.TypedParts"], "net471": ["System.Composition.AttributedModel", "System.Composition.Convention", "System.Composition.Hosting", "System.Composition.Runtime", "System.Composition.TypedParts"], "net472": ["System.Composition.AttributedModel", "System.Composition.Convention", "System.Composition.Hosting", "System.Composition.Runtime", "System.Composition.TypedParts"], "net48": ["System.Composition.AttributedModel", "System.Composition.Convention", "System.Composition.Hosting", "System.Composition.Runtime", "System.Composition.TypedParts"], "net5.0": ["System.Composition.AttributedModel", "System.Composition.Convention", "System.Composition.Hosting", "System.Composition.Runtime", "System.Composition.TypedParts"], "net6.0": ["System.Composition.AttributedModel", "System.Composition.Convention", "System.Composition.Hosting", "System.Composition.Runtime", "System.Composition.TypedParts"], "net7.0": ["System.Composition.AttributedModel", "System.Composition.Convention", "System.Composition.Hosting", "System.Composition.Runtime", "System.Composition.TypedParts"], "net8.0": ["System.Composition.AttributedModel", "System.Composition.Convention", "System.Composition.Hosting", "System.Composition.Runtime", "System.Composition.TypedParts"], "net9.0": ["System.Composition.AttributedModel", "System.Composition.Convention", "System.Composition.Hosting", "System.Composition.Runtime", "System.Composition.TypedParts"], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": ["System.Composition.AttributedModel", "System.Composition.Convention", "System.Composition.Hosting", "System.Composition.Runtime", "System.Composition.TypedParts"], "netcoreapp2.1": ["System.Composition.AttributedModel", "System.Composition.Convention", "System.Composition.Hosting", "System.Composition.Runtime", "System.Composition.TypedParts"], "netcoreapp2.2": ["System.Composition.AttributedModel", "System.Composition.Convention", "System.Composition.Hosting", "System.Composition.Runtime", "System.Composition.TypedParts"], "netcoreapp3.0": ["System.Composition.AttributedModel", "System.Composition.Convention", "System.Composition.Hosting", "System.Composition.Runtime", "System.Composition.TypedParts"], "netcoreapp3.1": ["System.Composition.AttributedModel", "System.Composition.Convention", "System.Composition.Hosting", "System.Composition.Runtime", "System.Composition.TypedParts"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": ["System.Composition.AttributedModel", "System.Composition.Convention", "System.Composition.Hosting", "System.Composition.Runtime", "System.Composition.TypedParts"], "netstandard2.1": ["System.Composition.AttributedModel", "System.Composition.Convention", "System.Composition.Hosting", "System.Composition.Runtime", "System.Composition.TypedParts"]}, "targeting_pack_overrides": [], "framework_list": []}, + {"name": "System.Composition.AttributedModel", "id": "System.Composition.AttributedModel", "version": "8.0.0", "sha512": "sha512-gmEwpwXz+COPtuAASK+ichAg8+0oQAaPOV59g6fDdnt1KWbrymdixAn06bNbkdCUGcBXb8RX5k79cqg0Hqlv1g==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": [], "net48": [], "net5.0": [], "net6.0": [], "net7.0": [], "net8.0": [], "net9.0": [], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": [], "netcoreapp2.1": [], "netcoreapp2.2": [], "netcoreapp3.0": [], "netcoreapp3.1": [], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": [], "netstandard2.1": []}, "targeting_pack_overrides": [], "framework_list": []}, + {"name": "System.Composition.Convention", "id": "System.Composition.Convention", "version": "8.0.0", "sha512": "sha512-MP7qMadQGUcMOEyGON5dmy9T+OXubvIx04kFHvTVPfZ/9+ns8dqmFToxoF7IDzJVSWmtOQHDUP2fL1x8F6slTA==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": ["System.Composition.AttributedModel"], "net462": ["System.Composition.AttributedModel"], "net47": ["System.Composition.AttributedModel"], "net471": ["System.Composition.AttributedModel"], "net472": ["System.Composition.AttributedModel"], "net48": ["System.Composition.AttributedModel"], "net5.0": ["System.Composition.AttributedModel"], "net6.0": ["System.Composition.AttributedModel"], "net7.0": ["System.Composition.AttributedModel"], "net8.0": ["System.Composition.AttributedModel"], "net9.0": ["System.Composition.AttributedModel"], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": ["System.Composition.AttributedModel"], "netcoreapp2.1": ["System.Composition.AttributedModel"], "netcoreapp2.2": ["System.Composition.AttributedModel"], "netcoreapp3.0": ["System.Composition.AttributedModel"], "netcoreapp3.1": ["System.Composition.AttributedModel"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": ["System.Composition.AttributedModel"], "netstandard2.1": ["System.Composition.AttributedModel"]}, "targeting_pack_overrides": [], "framework_list": []}, + {"name": "System.Composition.Hosting", "id": "System.Composition.Hosting", "version": "8.0.0", "sha512": "sha512-HK6mWN38TLXo0jQOzR6so8cH1J8/6MzCfSsQS15bWbFEYKeonKRAZKyTC2E92o+wB1KCkocNpOy01ix61JnWjQ==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": ["System.Composition.Runtime"], "net462": ["System.Composition.Runtime"], "net47": ["System.Composition.Runtime"], "net471": ["System.Composition.Runtime"], "net472": ["System.Composition.Runtime"], "net48": ["System.Composition.Runtime"], "net5.0": ["System.Composition.Runtime"], "net6.0": ["System.Composition.Runtime"], "net7.0": ["System.Composition.Runtime"], "net8.0": ["System.Composition.Runtime"], "net9.0": ["System.Composition.Runtime"], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": ["System.Composition.Runtime"], "netcoreapp2.1": ["System.Composition.Runtime"], "netcoreapp2.2": ["System.Composition.Runtime"], "netcoreapp3.0": ["System.Composition.Runtime"], "netcoreapp3.1": ["System.Composition.Runtime"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": ["System.Composition.Runtime"], "netstandard2.1": ["System.Composition.Runtime"]}, "targeting_pack_overrides": [], "framework_list": []}, + {"name": "System.Composition.Runtime", "id": "System.Composition.Runtime", "version": "8.0.0", "sha512": "sha512-hgGA3KDIx9FN3WYkpMvy0pUqWAul9BTehmqq49dqPxu5E+MbUKqgksU5XRP8M9LoBPZFa8FqBbKeFgCZ3rja2w==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": [], "net48": [], "net5.0": [], "net6.0": [], "net7.0": [], "net8.0": [], "net9.0": [], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": [], "netcoreapp2.1": [], "netcoreapp2.2": [], "netcoreapp3.0": [], "netcoreapp3.1": [], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": [], "netstandard2.1": []}, "targeting_pack_overrides": [], "framework_list": []}, + {"name": "System.Composition.TypedParts", "id": "System.Composition.TypedParts", "version": "8.0.0", "sha512": "sha512-rKu0GdZ4JYOWUF7br1W7UQFI/UgzWTU03CHY6tnTLZXCMth6YSADGJRRQYrLzpwh2+NuNcBIuv7a7x8J1xsfdw==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": ["System.Composition.AttributedModel", "System.Composition.Hosting", "System.Composition.Runtime"], "net462": ["System.Composition.AttributedModel", "System.Composition.Hosting", "System.Composition.Runtime"], "net47": ["System.Composition.AttributedModel", "System.Composition.Hosting", "System.Composition.Runtime"], "net471": ["System.Composition.AttributedModel", "System.Composition.Hosting", "System.Composition.Runtime"], "net472": ["System.Composition.AttributedModel", "System.Composition.Hosting", "System.Composition.Runtime"], "net48": ["System.Composition.AttributedModel", "System.Composition.Hosting", "System.Composition.Runtime"], "net5.0": ["System.Composition.AttributedModel", "System.Composition.Hosting", "System.Composition.Runtime"], "net6.0": ["System.Composition.AttributedModel", "System.Composition.Hosting", "System.Composition.Runtime"], "net7.0": ["System.Composition.AttributedModel", "System.Composition.Hosting", "System.Composition.Runtime"], "net8.0": ["System.Composition.AttributedModel", "System.Composition.Hosting", "System.Composition.Runtime"], "net9.0": ["System.Composition.AttributedModel", "System.Composition.Hosting", "System.Composition.Runtime"], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": ["System.Composition.AttributedModel", "System.Composition.Hosting", "System.Composition.Runtime"], "netcoreapp2.1": ["System.Composition.AttributedModel", "System.Composition.Hosting", "System.Composition.Runtime"], "netcoreapp2.2": ["System.Composition.AttributedModel", "System.Composition.Hosting", "System.Composition.Runtime"], "netcoreapp3.0": ["System.Composition.AttributedModel", "System.Composition.Hosting", "System.Composition.Runtime"], "netcoreapp3.1": ["System.Composition.AttributedModel", "System.Composition.Hosting", "System.Composition.Runtime"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": ["System.Composition.AttributedModel", "System.Composition.Hosting", "System.Composition.Runtime"], "netstandard2.1": ["System.Composition.AttributedModel", "System.Composition.Hosting", "System.Composition.Runtime"]}, "targeting_pack_overrides": [], "framework_list": []}, + {"name": "System.Configuration.ConfigurationManager", "id": "System.Configuration.ConfigurationManager", "version": "7.0.0", "sha512": "sha512-g3iVgTpIcjMYpH+sMq5VKjytevOJv+ABsYLKOLj0UZrXp3diFFdnPPqL+orxMD5ktyaTagg2S7ONJInu8itIaQ==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": ["System.Security.Cryptography.ProtectedData", "System.Security.Permissions"], "net462": ["System.Security.Permissions"], "net47": ["System.Security.Permissions"], "net471": ["System.Security.Permissions"], "net472": ["System.Security.Permissions"], "net48": ["System.Security.Permissions"], "net5.0": ["System.Security.Cryptography.ProtectedData", "System.Security.Permissions"], "net6.0": ["System.Security.Cryptography.ProtectedData", "System.Security.Permissions"], "net7.0": ["System.Diagnostics.EventLog", "System.Security.Cryptography.ProtectedData", "System.Security.Permissions"], "net8.0": ["System.Diagnostics.EventLog", "System.Security.Cryptography.ProtectedData", "System.Security.Permissions"], "net9.0": ["System.Diagnostics.EventLog", "System.Security.Cryptography.ProtectedData", "System.Security.Permissions"], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": ["System.Security.Cryptography.ProtectedData", "System.Security.Permissions"], "netcoreapp2.1": ["System.Security.Cryptography.ProtectedData", "System.Security.Permissions"], "netcoreapp2.2": ["System.Security.Cryptography.ProtectedData", "System.Security.Permissions"], "netcoreapp3.0": ["System.Security.Cryptography.ProtectedData", "System.Security.Permissions"], "netcoreapp3.1": ["System.Security.Cryptography.ProtectedData", "System.Security.Permissions"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": ["System.Security.Cryptography.ProtectedData", "System.Security.Permissions"], "netstandard2.1": ["System.Security.Cryptography.ProtectedData", "System.Security.Permissions"]}, "targeting_pack_overrides": [], "framework_list": []}, + {"name": "System.Diagnostics.EventLog", "id": "System.Diagnostics.EventLog", "version": "7.0.0", "sha512": "sha512-m/H4Rg7KukGEmfRpl+rXU1UbMN3GYbv42cbMHRgMwHIiUL3svKoFFR76Fk/mHN5TgrwGx64fS0Fp+p3qICKg/Q==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": ["System.Security.Principal.Windows"], "net462": ["System.Security.Principal.Windows"], "net47": ["System.Security.Principal.Windows"], "net471": ["System.Security.Principal.Windows"], "net472": ["System.Security.Principal.Windows"], "net48": ["System.Security.Principal.Windows"], "net5.0": ["System.Security.Principal.Windows"], "net6.0": [], "net7.0": [], "net8.0": [], "net9.0": [], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": ["System.Security.Principal.Windows"], "netcoreapp2.1": ["System.Security.Principal.Windows"], "netcoreapp2.2": ["System.Security.Principal.Windows"], "netcoreapp3.0": ["System.Security.Principal.Windows"], "netcoreapp3.1": ["System.Security.Principal.Windows"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": ["System.Security.Principal.Windows"], "netstandard2.1": ["System.Security.Principal.Windows"]}, "targeting_pack_overrides": [], "framework_list": []}, + {"name": "System.Drawing.Common", "id": "System.Drawing.Common", "version": "7.0.0", "sha512": "sha512-0TJd5U26gRDgGa/rqABgHC5OBAiyl7Mm3pIzPgKfpmPXFQ8CFVWyGi+4mkEaCK715ViOBDkU2pC2nAiPunLw7Q==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": [], "net48": [], "net5.0": [], "net6.0": ["Microsoft.Win32.SystemEvents"], "net7.0": ["Microsoft.Win32.SystemEvents"], "net8.0": ["Microsoft.Win32.SystemEvents"], "net9.0": ["Microsoft.Win32.SystemEvents"], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": [], "netcoreapp2.1": [], "netcoreapp2.2": [], "netcoreapp3.0": [], "netcoreapp3.1": [], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": [], "netstandard2.1": []}, "targeting_pack_overrides": [], "framework_list": []}, + {"name": "System.IO", "id": "System.IO", "version": "4.3.0", "sha512": "sha512-v8paIePhmGuXZbE9xvvNb4uJ5ME4OFXR1+8la/G/L1GIl2nbU2WFnddgb79kVK3U2us7q1aZT/uY/R0D/ovB5g==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": [], "net48": [], "net5.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime", "System.Text.Encoding", "System.Threading.Tasks"], "net6.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime", "System.Text.Encoding", "System.Threading.Tasks"], "net7.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime", "System.Text.Encoding", "System.Threading.Tasks"], "net8.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime", "System.Text.Encoding", "System.Threading.Tasks"], "net9.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime", "System.Text.Encoding", "System.Threading.Tasks"], "netcoreapp1.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime", "System.Text.Encoding", "System.Threading.Tasks"], "netcoreapp1.1": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime", "System.Text.Encoding", "System.Threading.Tasks"], "netcoreapp2.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime", "System.Text.Encoding", "System.Threading.Tasks"], "netcoreapp2.1": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime", "System.Text.Encoding", "System.Threading.Tasks"], "netcoreapp2.2": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime", "System.Text.Encoding", "System.Threading.Tasks"], "netcoreapp3.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime", "System.Text.Encoding", "System.Threading.Tasks"], "netcoreapp3.1": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime", "System.Text.Encoding", "System.Threading.Tasks"], "netstandard": [], "netstandard1.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime", "System.Text.Encoding", "System.Threading.Tasks"], "netstandard1.1": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime", "System.Text.Encoding", "System.Threading.Tasks"], "netstandard1.2": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime", "System.Text.Encoding", "System.Threading.Tasks"], "netstandard1.3": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime", "System.Text.Encoding", "System.Threading.Tasks"], "netstandard1.4": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime", "System.Text.Encoding", "System.Threading.Tasks"], "netstandard1.5": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime", "System.Text.Encoding", "System.Threading.Tasks"], "netstandard1.6": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime", "System.Text.Encoding", "System.Threading.Tasks"], "netstandard2.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime", "System.Text.Encoding", "System.Threading.Tasks"], "netstandard2.1": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime", "System.Text.Encoding", "System.Threading.Tasks"]}, "targeting_pack_overrides": [], "framework_list": []}, + {"name": "System.IO.FileSystem", "id": "System.IO.FileSystem", "version": "4.3.0", "sha512": "sha512-T7WB1vhblSmgkaDpdGM3Uqo55Qsr5sip5eyowrwiXOoHBkzOx3ePd9+Zh97r9NzOwFCxqX7awO6RBxQuao7n7g==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": ["System.IO.FileSystem.Primitives"], "net461": ["System.IO.FileSystem.Primitives"], "net462": ["System.IO.FileSystem.Primitives"], "net47": ["System.IO.FileSystem.Primitives"], "net471": ["System.IO.FileSystem.Primitives"], "net472": ["System.IO.FileSystem.Primitives"], "net48": ["System.IO.FileSystem.Primitives"], "net5.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.IO", "System.IO.FileSystem.Primitives", "System.Runtime", "System.Runtime.Handles", "System.Text.Encoding", "System.Threading.Tasks"], "net6.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.IO", "System.IO.FileSystem.Primitives", "System.Runtime", "System.Runtime.Handles", "System.Text.Encoding", "System.Threading.Tasks"], "net7.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.IO", "System.IO.FileSystem.Primitives", "System.Runtime", "System.Runtime.Handles", "System.Text.Encoding", "System.Threading.Tasks"], "net8.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.IO", "System.IO.FileSystem.Primitives", "System.Runtime", "System.Runtime.Handles", "System.Text.Encoding", "System.Threading.Tasks"], "net9.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.IO", "System.IO.FileSystem.Primitives", "System.Runtime", "System.Runtime.Handles", "System.Text.Encoding", "System.Threading.Tasks"], "netcoreapp1.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.IO", "System.IO.FileSystem.Primitives", "System.Runtime", "System.Runtime.Handles", "System.Text.Encoding", "System.Threading.Tasks"], "netcoreapp1.1": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.IO", "System.IO.FileSystem.Primitives", "System.Runtime", "System.Runtime.Handles", "System.Text.Encoding", "System.Threading.Tasks"], "netcoreapp2.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.IO", "System.IO.FileSystem.Primitives", "System.Runtime", "System.Runtime.Handles", "System.Text.Encoding", "System.Threading.Tasks"], "netcoreapp2.1": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.IO", "System.IO.FileSystem.Primitives", "System.Runtime", "System.Runtime.Handles", "System.Text.Encoding", "System.Threading.Tasks"], "netcoreapp2.2": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.IO", "System.IO.FileSystem.Primitives", "System.Runtime", "System.Runtime.Handles", "System.Text.Encoding", "System.Threading.Tasks"], "netcoreapp3.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.IO", "System.IO.FileSystem.Primitives", "System.Runtime", "System.Runtime.Handles", "System.Text.Encoding", "System.Threading.Tasks"], "netcoreapp3.1": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.IO", "System.IO.FileSystem.Primitives", "System.Runtime", "System.Runtime.Handles", "System.Text.Encoding", "System.Threading.Tasks"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.IO", "System.IO.FileSystem.Primitives", "System.Runtime", "System.Runtime.Handles", "System.Text.Encoding", "System.Threading.Tasks"], "netstandard1.4": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.IO", "System.IO.FileSystem.Primitives", "System.Runtime", "System.Runtime.Handles", "System.Text.Encoding", "System.Threading.Tasks"], "netstandard1.5": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.IO", "System.IO.FileSystem.Primitives", "System.Runtime", "System.Runtime.Handles", "System.Text.Encoding", "System.Threading.Tasks"], "netstandard1.6": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.IO", "System.IO.FileSystem.Primitives", "System.Runtime", "System.Runtime.Handles", "System.Text.Encoding", "System.Threading.Tasks"], "netstandard2.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.IO", "System.IO.FileSystem.Primitives", "System.Runtime", "System.Runtime.Handles", "System.Text.Encoding", "System.Threading.Tasks"], "netstandard2.1": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.IO", "System.IO.FileSystem.Primitives", "System.Runtime", "System.Runtime.Handles", "System.Text.Encoding", "System.Threading.Tasks"]}, "targeting_pack_overrides": [], "framework_list": []}, + {"name": "System.IO.FileSystem.Primitives", "id": "System.IO.FileSystem.Primitives", "version": "4.3.0", "sha512": "sha512-WIWVPQlYLP/Zc9I6IakpBk1y8ryVGK83MtZx//zGKKi2hvHQWKAB7moRQCOz5Is/wNDksiYpocf3FeA3le6e5Q==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": [], "net48": [], "net5.0": ["System.Runtime"], "net6.0": ["System.Runtime"], "net7.0": ["System.Runtime"], "net8.0": ["System.Runtime"], "net9.0": ["System.Runtime"], "netcoreapp1.0": ["System.Runtime"], "netcoreapp1.1": ["System.Runtime"], "netcoreapp2.0": ["System.Runtime"], "netcoreapp2.1": ["System.Runtime"], "netcoreapp2.2": ["System.Runtime"], "netcoreapp3.0": ["System.Runtime"], "netcoreapp3.1": ["System.Runtime"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": ["System.Runtime"], "netstandard1.4": ["System.Runtime"], "netstandard1.5": ["System.Runtime"], "netstandard1.6": ["System.Runtime"], "netstandard2.0": ["System.Runtime"], "netstandard2.1": ["System.Runtime"]}, "targeting_pack_overrides": [], "framework_list": []}, + {"name": "System.IO.Pipelines", "id": "System.IO.Pipelines", "version": "8.0.0", "sha512": "sha512-V+tqEehPQKSLV7HcV4agGqmFISK30VNjSQ2KEsmkWL+ZqN30wMAke+mFWcK0LnaaEL2ixamBdzVITZYNxlLrEg==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": [], "net48": [], "net5.0": [], "net6.0": [], "net7.0": [], "net8.0": [], "net9.0": [], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": [], "netcoreapp2.1": [], "netcoreapp2.2": [], "netcoreapp3.0": [], "netcoreapp3.1": [], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": [], "netstandard2.1": []}, "targeting_pack_overrides": [], "framework_list": []}, + {"name": "System.Net.Primitives", "id": "System.Net.Primitives", "version": "4.3.1", "sha512": "sha512-BgdlyYCI7rrdh36p3lMTqbkvaafPETpB1bk9iQlFdQxYE692kiXvmseXs8ghL+gEgQF2xgDc8GH4QLkSgUUs+Q==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": [], "net48": [], "net5.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime", "System.Runtime.Handles"], "net6.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime", "System.Runtime.Handles"], "net7.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime", "System.Runtime.Handles"], "net8.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime", "System.Runtime.Handles"], "net9.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime", "System.Runtime.Handles"], "netcoreapp1.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime", "System.Runtime.Handles"], "netcoreapp1.1": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime", "System.Runtime.Handles"], "netcoreapp2.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime", "System.Runtime.Handles"], "netcoreapp2.1": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime", "System.Runtime.Handles"], "netcoreapp2.2": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime", "System.Runtime.Handles"], "netcoreapp3.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime", "System.Runtime.Handles"], "netcoreapp3.1": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime", "System.Runtime.Handles"], "netstandard": [], "netstandard1.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "netstandard1.1": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "netstandard1.2": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "netstandard1.3": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime", "System.Runtime.Handles"], "netstandard1.4": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime", "System.Runtime.Handles"], "netstandard1.5": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime", "System.Runtime.Handles"], "netstandard1.6": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime", "System.Runtime.Handles"], "netstandard2.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime", "System.Runtime.Handles"], "netstandard2.1": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime", "System.Runtime.Handles"]}, "targeting_pack_overrides": [], "framework_list": []}, + {"name": "System.Reflection.Metadata", "id": "System.Reflection.Metadata", "version": "8.0.0", "sha512": "sha512-+6sMdkJjee0B6nm3AlBBl7cQaI0oPniLvvkrkFhmEN3fo/hGONaFdwpAaO+GRTlbZe4kRZzFwU7kSXQW0RyJxg==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": ["System.Collections.Immutable"], "net462": ["System.Collections.Immutable"], "net47": ["System.Collections.Immutable"], "net471": ["System.Collections.Immutable"], "net472": ["System.Collections.Immutable"], "net48": ["System.Collections.Immutable"], "net5.0": ["System.Collections.Immutable"], "net6.0": ["System.Collections.Immutable"], "net7.0": ["System.Collections.Immutable"], "net8.0": ["System.Collections.Immutable"], "net9.0": ["System.Collections.Immutable"], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": ["System.Collections.Immutable"], "netcoreapp2.1": ["System.Collections.Immutable"], "netcoreapp2.2": ["System.Collections.Immutable"], "netcoreapp3.0": ["System.Collections.Immutable"], "netcoreapp3.1": ["System.Collections.Immutable"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": ["System.Collections.Immutable"], "netstandard2.1": ["System.Collections.Immutable"]}, "targeting_pack_overrides": [], "framework_list": []}, + {"name": "System.Reflection.MetadataLoadContext", "id": "System.Reflection.MetadataLoadContext", "version": "7.0.0", "sha512": "sha512-dqk0PmO2SGulqNpuJlALPc/5vqFVZc6As4ToHeZvd+6B/DomA1/JM1nAOpSU2hkBVytU0GlwsBr4YfKSnGSchg==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": ["System.Collections.Immutable", "System.Reflection.Metadata"], "net462": ["System.Collections.Immutable", "System.Reflection.Metadata"], "net47": ["System.Collections.Immutable", "System.Reflection.Metadata"], "net471": ["System.Collections.Immutable", "System.Reflection.Metadata"], "net472": ["System.Collections.Immutable", "System.Reflection.Metadata"], "net48": ["System.Collections.Immutable", "System.Reflection.Metadata"], "net5.0": ["System.Collections.Immutable", "System.Reflection.Metadata"], "net6.0": ["System.Collections.Immutable", "System.Reflection.Metadata"], "net7.0": ["System.Collections.Immutable", "System.Reflection.Metadata"], "net8.0": ["System.Collections.Immutable", "System.Reflection.Metadata"], "net9.0": ["System.Collections.Immutable", "System.Reflection.Metadata"], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": ["System.Collections.Immutable", "System.Reflection.Metadata"], "netcoreapp2.1": ["System.Collections.Immutable", "System.Reflection.Metadata"], "netcoreapp2.2": ["System.Collections.Immutable", "System.Reflection.Metadata"], "netcoreapp3.0": ["System.Collections.Immutable", "System.Reflection.Metadata"], "netcoreapp3.1": ["System.Collections.Immutable", "System.Reflection.Metadata"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": ["System.Collections.Immutable", "System.Reflection.Metadata"], "netstandard2.1": ["System.Collections.Immutable", "System.Reflection.Metadata"]}, "targeting_pack_overrides": [], "framework_list": []}, + {"name": "System.Runtime", "id": "System.Runtime", "version": "4.3.1", "sha512": "sha512-Al69mPDfzdD+bKGK2HAfB+lNFOHFqnkqzNnUJmmvUe1/qEPK9M7EiTT4zuycKDPy7ev11xz8XVgJWKP0hm7NIA==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": [], "net48": [], "net5.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets"], "net6.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets"], "net7.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets"], "net8.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets"], "net9.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets"], "netcoreapp1.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets"], "netcoreapp1.1": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets"], "netcoreapp2.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets"], "netcoreapp2.1": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets"], "netcoreapp2.2": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets"], "netcoreapp3.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets"], "netcoreapp3.1": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets"], "netstandard": [], "netstandard1.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets"], "netstandard1.1": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets"], "netstandard1.2": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets"], "netstandard1.3": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets"], "netstandard1.4": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets"], "netstandard1.5": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets"], "netstandard1.6": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets"], "netstandard2.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets"], "netstandard2.1": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets"]}, "targeting_pack_overrides": [], "framework_list": []}, + {"name": "System.Runtime.CompilerServices.Unsafe", "id": "System.Runtime.CompilerServices.Unsafe", "version": "6.0.0", "sha512": "sha512-1AVzAb5OxJNvJLnOADtexNmWgattm2XVOT3TjQTN7Dd4SqoSwai1CsN2fth42uQldJSQdz/sAec0+TzxBFgisw==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": [], "net48": [], "net5.0": [], "net6.0": [], "net7.0": [], "net8.0": [], "net9.0": [], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": [], "netcoreapp2.1": [], "netcoreapp2.2": [], "netcoreapp3.0": [], "netcoreapp3.1": [], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": [], "netstandard2.1": []}, "targeting_pack_overrides": [], "framework_list": []}, + {"name": "System.Runtime.Handles", "id": "System.Runtime.Handles", "version": "4.3.0", "sha512": "sha512-CluvHdVUv54BvLTOCCyybugreDNk/rR8unMPruzXDtxSjvrQOU3M4R831/lQf4YI8VYp668FGQa/01E+Rq8PEQ==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": [], "net48": [], "net5.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "net6.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "net7.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "net8.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "net9.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "netcoreapp1.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "netcoreapp1.1": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "netcoreapp2.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "netcoreapp2.1": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "netcoreapp2.2": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "netcoreapp3.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "netcoreapp3.1": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "netstandard1.4": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "netstandard1.5": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "netstandard1.6": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "netstandard2.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "netstandard2.1": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"]}, "targeting_pack_overrides": [], "framework_list": []}, + {"name": "System.Security.Cryptography.ProtectedData", "id": "System.Security.Cryptography.ProtectedData", "version": "7.0.0", "sha512": "sha512-a34SHiyaMcLRjw/1IGXokS2cH9j8XoOhs1jUYq3m+kQcnPp6fhmeuqe5U947WqojDsVMhWAsCE6rIg8grBv9BA==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": [], "net48": [], "net5.0": [], "net6.0": [], "net7.0": [], "net8.0": [], "net9.0": [], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": [], "netcoreapp2.1": [], "netcoreapp2.2": [], "netcoreapp3.0": [], "netcoreapp3.1": [], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": [], "netstandard2.1": []}, "targeting_pack_overrides": [], "framework_list": []}, + {"name": "System.Security.Permissions", "id": "System.Security.Permissions", "version": "7.0.0", "sha512": "sha512-XNVTmQ9JuCRwRXRTDoOHEzEt0wmQeRudH9lThP0l3OBja4P3jmRHq/0H0N9Ns1OD6gNmKpjLdOeHCQEXv4iVrA==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": [], "net48": [], "net5.0": [], "net6.0": ["System.Windows.Extensions"], "net7.0": ["System.Windows.Extensions"], "net8.0": ["System.Windows.Extensions"], "net9.0": ["System.Windows.Extensions"], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": [], "netcoreapp2.1": [], "netcoreapp2.2": [], "netcoreapp3.0": [], "netcoreapp3.1": [], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": [], "netstandard2.1": []}, "targeting_pack_overrides": [], "framework_list": []}, + {"name": "System.Security.Principal", "id": "System.Security.Principal", "version": "4.3.0", "sha512": "sha512-24oe0NGJY32e+DFHVQzl2okM9uwYmn0Aa6nehqtVZ55/Al4Yva7S3BN934Kn5qATH7TVTUJkgxhisdfF7mKDfg==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": [], "net48": [], "net5.0": ["System.Runtime"], "net6.0": ["System.Runtime"], "net7.0": ["System.Runtime"], "net8.0": ["System.Runtime"], "net9.0": ["System.Runtime"], "netcoreapp1.0": ["System.Runtime"], "netcoreapp1.1": ["System.Runtime"], "netcoreapp2.0": ["System.Runtime"], "netcoreapp2.1": ["System.Runtime"], "netcoreapp2.2": ["System.Runtime"], "netcoreapp3.0": ["System.Runtime"], "netcoreapp3.1": ["System.Runtime"], "netstandard": [], "netstandard1.0": ["System.Runtime"], "netstandard1.1": ["System.Runtime"], "netstandard1.2": ["System.Runtime"], "netstandard1.3": ["System.Runtime"], "netstandard1.4": ["System.Runtime"], "netstandard1.5": ["System.Runtime"], "netstandard1.6": ["System.Runtime"], "netstandard2.0": ["System.Runtime"], "netstandard2.1": ["System.Runtime"]}, "targeting_pack_overrides": [], "framework_list": []}, + {"name": "System.Security.Principal.Windows", "id": "System.Security.Principal.Windows", "version": "5.0.0", "sha512": "sha512-RKkgqq8ishctQTGbtXqyuOGkUx1fAhkqb1OoHYdRJRlbYLoLWkSkWYHRN/17DzplsSlZtf2Xr8BXjNhO8nRnzQ==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": [], "net48": [], "net5.0": [], "net6.0": [], "net7.0": [], "net8.0": [], "net9.0": [], "netcoreapp1.0": ["Microsoft.Win32.Primitives", "System.Runtime", "System.Runtime.Handles", "System.Security.Principal", "System.Text.Encoding"], "netcoreapp1.1": ["Microsoft.Win32.Primitives", "System.Runtime", "System.Runtime.Handles", "System.Security.Principal", "System.Text.Encoding"], "netcoreapp2.0": ["Microsoft.NETCore.Platforms"], "netcoreapp2.1": ["Microsoft.NETCore.Platforms"], "netcoreapp2.2": ["Microsoft.NETCore.Platforms"], "netcoreapp3.0": [], "netcoreapp3.1": [], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": ["Microsoft.Win32.Primitives", "System.Runtime", "System.Runtime.Handles", "System.Security.Principal", "System.Text.Encoding"], "netstandard1.4": ["Microsoft.Win32.Primitives", "System.Runtime", "System.Runtime.Handles", "System.Security.Principal", "System.Text.Encoding"], "netstandard1.5": ["Microsoft.Win32.Primitives", "System.Runtime", "System.Runtime.Handles", "System.Security.Principal", "System.Text.Encoding"], "netstandard1.6": ["Microsoft.Win32.Primitives", "System.Runtime", "System.Runtime.Handles", "System.Security.Principal", "System.Text.Encoding"], "netstandard2.0": [], "netstandard2.1": []}, "targeting_pack_overrides": [], "framework_list": []}, + {"name": "System.Text.Encoding", "id": "System.Text.Encoding", "version": "4.3.0", "sha512": "sha512-b/f+7HMTpxIfeV7H03bkuHKMFylCGfr9/U6gePnfFFW0aF8LOWLDgQCY6V1oWUqDksC3mdNuyChM1vy9TP4sZw==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": [], "net48": [], "net5.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "net6.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "net7.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "net8.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "net9.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "netcoreapp1.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "netcoreapp1.1": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "netcoreapp2.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "netcoreapp2.1": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "netcoreapp2.2": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "netcoreapp3.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "netcoreapp3.1": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "netstandard": [], "netstandard1.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "netstandard1.1": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "netstandard1.2": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "netstandard1.3": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "netstandard1.4": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "netstandard1.5": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "netstandard1.6": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "netstandard2.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "netstandard2.1": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"]}, "targeting_pack_overrides": [], "framework_list": []}, + {"name": "System.Threading.Channels", "id": "System.Threading.Channels", "version": "8.0.0", "sha512": "sha512-M1s365f1lOc6s2585/ATW+KRRFFnaI6JvSSdE14n9ZKgvWnZHoJGoccqV41XvtRDrHMCMRNlwWFgt9yXTu3xQQ==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": [], "net48": [], "net5.0": [], "net6.0": [], "net7.0": [], "net8.0": [], "net9.0": [], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": [], "netcoreapp2.1": [], "netcoreapp2.2": [], "netcoreapp3.0": [], "netcoreapp3.1": [], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": [], "netstandard2.1": []}, "targeting_pack_overrides": [], "framework_list": []}, + {"name": "System.Threading.Tasks", "id": "System.Threading.Tasks", "version": "4.3.0", "sha512": "sha512-fUiP+CyyCjs872OA8trl6p97qma/da1xGq3h4zAbJZk8zyaU4zyEfqW5vbkP80xG/Nimun1vlWBboMEk7XxdEw==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": [], "net48": [], "net5.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "net6.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "net7.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "net8.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "net9.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "netcoreapp1.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "netcoreapp1.1": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "netcoreapp2.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "netcoreapp2.1": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "netcoreapp2.2": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "netcoreapp3.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "netcoreapp3.1": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "netstandard": [], "netstandard1.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "netstandard1.1": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "netstandard1.2": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "netstandard1.3": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "netstandard1.4": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "netstandard1.5": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "netstandard1.6": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "netstandard2.0": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"], "netstandard2.1": ["Microsoft.NETCore.Platforms", "Microsoft.NETCore.Targets", "System.Runtime"]}, "targeting_pack_overrides": [], "framework_list": []}, + {"name": "System.Threading.Tasks.Dataflow", "id": "System.Threading.Tasks.Dataflow", "version": "7.0.0", "sha512": "sha512-nB6cUBEEimO35tPK+KmhUF8jxxisO1E+8KU3eDIA9/o156qulMs8YeozOTcVRYHZWvgn1YCDI/ZR2ga9ErXIfg==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": [], "net48": [], "net5.0": [], "net6.0": [], "net7.0": [], "net8.0": [], "net9.0": [], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": [], "netcoreapp2.1": [], "netcoreapp2.2": [], "netcoreapp3.0": [], "netcoreapp3.1": [], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": [], "netstandard2.1": []}, "targeting_pack_overrides": [], "framework_list": []}, + {"name": "System.Threading.ThreadPool", "id": "System.Threading.ThreadPool", "version": "4.3.0", "sha512": "sha512-RQpA+UpI6Tlpeedk5JStYk2DM/M3i5HqabI/yDbfj1xDu9bIz9kdoquVpHbh/wQjOJaOCbcgRH8iQcAUv8dRWQ==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": [], "net48": [], "net5.0": ["System.Runtime", "System.Runtime.Handles"], "net6.0": ["System.Runtime", "System.Runtime.Handles"], "net7.0": ["System.Runtime", "System.Runtime.Handles"], "net8.0": ["System.Runtime", "System.Runtime.Handles"], "net9.0": ["System.Runtime", "System.Runtime.Handles"], "netcoreapp1.0": ["System.Runtime", "System.Runtime.Handles"], "netcoreapp1.1": ["System.Runtime", "System.Runtime.Handles"], "netcoreapp2.0": ["System.Runtime", "System.Runtime.Handles"], "netcoreapp2.1": ["System.Runtime", "System.Runtime.Handles"], "netcoreapp2.2": ["System.Runtime", "System.Runtime.Handles"], "netcoreapp3.0": ["System.Runtime", "System.Runtime.Handles"], "netcoreapp3.1": ["System.Runtime", "System.Runtime.Handles"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": ["System.Runtime", "System.Runtime.Handles"], "netstandard1.4": ["System.Runtime", "System.Runtime.Handles"], "netstandard1.5": ["System.Runtime", "System.Runtime.Handles"], "netstandard1.6": ["System.Runtime", "System.Runtime.Handles"], "netstandard2.0": ["System.Runtime", "System.Runtime.Handles"], "netstandard2.1": ["System.Runtime", "System.Runtime.Handles"]}, "targeting_pack_overrides": [], "framework_list": []}, + {"name": "System.Windows.Extensions", "id": "System.Windows.Extensions", "version": "7.0.0", "sha512": "sha512-KNnH0GX7T/oRAzOtJjefboYngi+d/bNGd63j+ZIFFTIR8RM0dwptuImNXiKqvD78kzcWAf3kd3yjcih+UTYkbw==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": [], "net48": [], "net5.0": [], "net6.0": ["System.Drawing.Common"], "net7.0": ["System.Drawing.Common"], "net8.0": ["System.Drawing.Common"], "net9.0": ["System.Drawing.Common"], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": [], "netcoreapp2.1": [], "netcoreapp2.2": [], "netcoreapp3.0": [], "netcoreapp3.1": [], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": [], "netstandard2.1": []}, "targeting_pack_overrides": [], "framework_list": []}, + {"name": "xunit", "id": "xunit", "version": "2.9.2", "sha512": "sha512-bs4ccplaqCT7+jdAJhtt75uKq9qA3Jeld1ugiOgGEGSnzq8gkoa0VUqNEKkMPkBwV5COlAllNJGtGBfgxoZDrA==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": ["xunit.core", "xunit.assert", "xunit.analyzers"], "net20": ["xunit.core", "xunit.assert", "xunit.analyzers"], "net30": ["xunit.core", "xunit.assert", "xunit.analyzers"], "net35": ["xunit.core", "xunit.assert", "xunit.analyzers"], "net40": ["xunit.core", "xunit.assert", "xunit.analyzers"], "net403": ["xunit.core", "xunit.assert", "xunit.analyzers"], "net45": ["xunit.core", "xunit.assert", "xunit.analyzers"], "net451": ["xunit.core", "xunit.assert", "xunit.analyzers"], "net452": ["xunit.core", "xunit.assert", "xunit.analyzers"], "net46": ["xunit.core", "xunit.assert", "xunit.analyzers"], "net461": ["xunit.core", "xunit.assert", "xunit.analyzers"], "net462": ["xunit.core", "xunit.assert", "xunit.analyzers"], "net47": ["xunit.core", "xunit.assert", "xunit.analyzers"], "net471": ["xunit.core", "xunit.assert", "xunit.analyzers"], "net472": ["xunit.core", "xunit.assert", "xunit.analyzers"], "net48": ["xunit.core", "xunit.assert", "xunit.analyzers"], "net5.0": ["xunit.core", "xunit.assert", "xunit.analyzers"], "net6.0": ["xunit.core", "xunit.assert", "xunit.analyzers"], "net7.0": ["xunit.core", "xunit.assert", "xunit.analyzers"], "net8.0": ["xunit.core", "xunit.assert", "xunit.analyzers"], "net9.0": ["xunit.core", "xunit.assert", "xunit.analyzers"], "netcoreapp1.0": ["xunit.core", "xunit.assert", "xunit.analyzers"], "netcoreapp1.1": ["xunit.core", "xunit.assert", "xunit.analyzers"], "netcoreapp2.0": ["xunit.core", "xunit.assert", "xunit.analyzers"], "netcoreapp2.1": ["xunit.core", "xunit.assert", "xunit.analyzers"], "netcoreapp2.2": ["xunit.core", "xunit.assert", "xunit.analyzers"], "netcoreapp3.0": ["xunit.core", "xunit.assert", "xunit.analyzers"], "netcoreapp3.1": ["xunit.core", "xunit.assert", "xunit.analyzers"], "netstandard": ["xunit.core", "xunit.assert", "xunit.analyzers"], "netstandard1.0": ["xunit.core", "xunit.assert", "xunit.analyzers"], "netstandard1.1": ["xunit.core", "xunit.assert", "xunit.analyzers"], "netstandard1.2": ["xunit.core", "xunit.assert", "xunit.analyzers"], "netstandard1.3": ["xunit.core", "xunit.assert", "xunit.analyzers"], "netstandard1.4": ["xunit.core", "xunit.assert", "xunit.analyzers"], "netstandard1.5": ["xunit.core", "xunit.assert", "xunit.analyzers"], "netstandard1.6": ["xunit.core", "xunit.assert", "xunit.analyzers"], "netstandard2.0": ["xunit.core", "xunit.assert", "xunit.analyzers"], "netstandard2.1": ["xunit.core", "xunit.assert", "xunit.analyzers"]}, "targeting_pack_overrides": [], "framework_list": []}, + {"name": "xunit.abstractions", "id": "xunit.abstractions", "version": "2.0.3", "sha512": "sha512-PKJri5f0qEQPFvgY6CZR9XG8JROlWSdC/ZYLkkDQuID++Egn+yWjB+Yf57AZ8U6GRlP7z33uDQ4/r5BZPer2JA==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": [], "net48": [], "net5.0": [], "net6.0": [], "net7.0": [], "net8.0": [], "net9.0": [], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": [], "netcoreapp2.1": [], "netcoreapp2.2": [], "netcoreapp3.0": [], "netcoreapp3.1": [], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": [], "netstandard2.1": []}, "targeting_pack_overrides": [], "framework_list": []}, + {"name": "xunit.analyzers", "id": "xunit.analyzers", "version": "1.16.0", "sha512": "sha512-65QLxnRoOqpAn2hMnjI1FLmQEjzUye2h4MwRVe1k151K+UFG1Ehr/s/MLwNJ6pCNoyoJjOoNuF7OGW4mH2bdaQ==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": [], "net48": [], "net5.0": [], "net6.0": [], "net7.0": [], "net8.0": [], "net9.0": [], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": [], "netcoreapp2.1": [], "netcoreapp2.2": [], "netcoreapp3.0": [], "netcoreapp3.1": [], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": [], "netstandard2.1": []}, "targeting_pack_overrides": [], "framework_list": []}, + {"name": "xunit.assert", "id": "xunit.assert", "version": "2.9.2", "sha512": "sha512-huNfINLH5HnyiPImimKv7liIJJ2MgRdJYT7ky3464zR62SH7o9JjsgMiSZRXha46kgTCNjKSNN1VvctC+USp7w==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": [], "net48": [], "net5.0": [], "net6.0": [], "net7.0": [], "net8.0": [], "net9.0": [], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": [], "netcoreapp2.1": [], "netcoreapp2.2": [], "netcoreapp3.0": [], "netcoreapp3.1": [], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": [], "netstandard2.1": []}, "targeting_pack_overrides": [], "framework_list": []}, + {"name": "xunit.core", "id": "xunit.core", "version": "2.9.2", "sha512": "sha512-kW48d7YL7ryT4zuWTjJN491cJwY8aYiIAxDaXJRebgMIw40PmlREiiaIz33QUFmglcfLlaoRyZcI4sl70kARiw==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": ["xunit.extensibility.core", "xunit.extensibility.execution"], "net20": ["xunit.extensibility.core", "xunit.extensibility.execution"], "net30": ["xunit.extensibility.core", "xunit.extensibility.execution"], "net35": ["xunit.extensibility.core", "xunit.extensibility.execution"], "net40": ["xunit.extensibility.core", "xunit.extensibility.execution"], "net403": ["xunit.extensibility.core", "xunit.extensibility.execution"], "net45": ["xunit.extensibility.core", "xunit.extensibility.execution"], "net451": ["xunit.extensibility.core", "xunit.extensibility.execution"], "net452": ["xunit.extensibility.core", "xunit.extensibility.execution"], "net46": ["xunit.extensibility.core", "xunit.extensibility.execution"], "net461": ["xunit.extensibility.core", "xunit.extensibility.execution"], "net462": ["xunit.extensibility.core", "xunit.extensibility.execution"], "net47": ["xunit.extensibility.core", "xunit.extensibility.execution"], "net471": ["xunit.extensibility.core", "xunit.extensibility.execution"], "net472": ["xunit.extensibility.core", "xunit.extensibility.execution"], "net48": ["xunit.extensibility.core", "xunit.extensibility.execution"], "net5.0": ["xunit.extensibility.core", "xunit.extensibility.execution"], "net6.0": ["xunit.extensibility.core", "xunit.extensibility.execution"], "net7.0": ["xunit.extensibility.core", "xunit.extensibility.execution"], "net8.0": ["xunit.extensibility.core", "xunit.extensibility.execution"], "net9.0": ["xunit.extensibility.core", "xunit.extensibility.execution"], "netcoreapp1.0": ["xunit.extensibility.core", "xunit.extensibility.execution"], "netcoreapp1.1": ["xunit.extensibility.core", "xunit.extensibility.execution"], "netcoreapp2.0": ["xunit.extensibility.core", "xunit.extensibility.execution"], "netcoreapp2.1": ["xunit.extensibility.core", "xunit.extensibility.execution"], "netcoreapp2.2": ["xunit.extensibility.core", "xunit.extensibility.execution"], "netcoreapp3.0": ["xunit.extensibility.core", "xunit.extensibility.execution"], "netcoreapp3.1": ["xunit.extensibility.core", "xunit.extensibility.execution"], "netstandard": ["xunit.extensibility.core", "xunit.extensibility.execution"], "netstandard1.0": ["xunit.extensibility.core", "xunit.extensibility.execution"], "netstandard1.1": ["xunit.extensibility.core", "xunit.extensibility.execution"], "netstandard1.2": ["xunit.extensibility.core", "xunit.extensibility.execution"], "netstandard1.3": ["xunit.extensibility.core", "xunit.extensibility.execution"], "netstandard1.4": ["xunit.extensibility.core", "xunit.extensibility.execution"], "netstandard1.5": ["xunit.extensibility.core", "xunit.extensibility.execution"], "netstandard1.6": ["xunit.extensibility.core", "xunit.extensibility.execution"], "netstandard2.0": ["xunit.extensibility.core", "xunit.extensibility.execution"], "netstandard2.1": ["xunit.extensibility.core", "xunit.extensibility.execution"]}, "targeting_pack_overrides": [], "framework_list": []}, + {"name": "xunit.extensibility.core", "id": "xunit.extensibility.core", "version": "2.9.2", "sha512": "sha512-sosk+dg5Cn4N9MKOjQ1wFTvfgduqiX1DLRZHEYXIaLOuTJbCJeXfn7XhAVDGY+zeB8aX3jCKL8BcDp4EJCdZXw==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": ["xunit.abstractions"], "net451": ["xunit.abstractions"], "net452": ["xunit.abstractions"], "net46": ["xunit.abstractions"], "net461": ["xunit.abstractions"], "net462": ["xunit.abstractions"], "net47": ["xunit.abstractions"], "net471": ["xunit.abstractions"], "net472": ["xunit.abstractions"], "net48": ["xunit.abstractions"], "net5.0": ["xunit.abstractions"], "net6.0": ["xunit.abstractions"], "net7.0": ["xunit.abstractions"], "net8.0": ["xunit.abstractions"], "net9.0": ["xunit.abstractions"], "netcoreapp1.0": ["xunit.abstractions"], "netcoreapp1.1": ["xunit.abstractions"], "netcoreapp2.0": ["xunit.abstractions"], "netcoreapp2.1": ["xunit.abstractions"], "netcoreapp2.2": ["xunit.abstractions"], "netcoreapp3.0": ["xunit.abstractions"], "netcoreapp3.1": ["xunit.abstractions"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": ["xunit.abstractions"], "netstandard1.2": ["xunit.abstractions"], "netstandard1.3": ["xunit.abstractions"], "netstandard1.4": ["xunit.abstractions"], "netstandard1.5": ["xunit.abstractions"], "netstandard1.6": ["xunit.abstractions"], "netstandard2.0": ["xunit.abstractions"], "netstandard2.1": ["xunit.abstractions"]}, "targeting_pack_overrides": [], "framework_list": []}, + {"name": "xunit.extensibility.execution", "id": "xunit.extensibility.execution", "version": "2.9.2", "sha512": "sha512-oOnG3GsmntYZqZleKMHFlAxxCxn+ZQrcY7GEKDFP0Zpjx/sTE61cEblJk4Dkl4He0t02DN4gmJ4hsQDoLTdo7g==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": ["xunit.extensibility.core"], "net451": ["xunit.extensibility.core"], "net452": ["xunit.extensibility.core"], "net46": ["xunit.extensibility.core"], "net461": ["xunit.extensibility.core"], "net462": ["xunit.extensibility.core"], "net47": ["xunit.extensibility.core"], "net471": ["xunit.extensibility.core"], "net472": ["xunit.extensibility.core"], "net48": ["xunit.extensibility.core"], "net5.0": ["xunit.extensibility.core"], "net6.0": ["xunit.extensibility.core"], "net7.0": ["xunit.extensibility.core"], "net8.0": ["xunit.extensibility.core"], "net9.0": ["xunit.extensibility.core"], "netcoreapp1.0": ["xunit.extensibility.core"], "netcoreapp1.1": ["xunit.extensibility.core"], "netcoreapp2.0": ["xunit.extensibility.core"], "netcoreapp2.1": ["xunit.extensibility.core"], "netcoreapp2.2": ["xunit.extensibility.core"], "netcoreapp3.0": ["xunit.extensibility.core"], "netcoreapp3.1": ["xunit.extensibility.core"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": ["xunit.extensibility.core"], "netstandard1.2": ["xunit.extensibility.core"], "netstandard1.3": ["xunit.extensibility.core"], "netstandard1.4": ["xunit.extensibility.core"], "netstandard1.5": ["xunit.extensibility.core"], "netstandard1.6": ["xunit.extensibility.core"], "netstandard2.0": ["xunit.extensibility.core"], "netstandard2.1": ["xunit.extensibility.core"]}, "targeting_pack_overrides": [], "framework_list": []}, + {"name": "xunit.runner.utility", "id": "xunit.runner.utility", "version": "2.9.2", "sha512": "sha512-uXH4JqD2cHxrS6L/NXbaKPa+i0/RarJp68Fu+9NMVKJuDjVXDQFtnzgaP9gB+77GbjsJ14SWdJEDkh+D+UX7jw==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": ["xunit.abstractions"], "net40": ["xunit.abstractions"], "net403": ["xunit.abstractions"], "net45": ["xunit.abstractions"], "net451": ["xunit.abstractions"], "net452": ["xunit.abstractions"], "net46": ["xunit.abstractions"], "net461": ["xunit.abstractions"], "net462": ["xunit.abstractions"], "net47": ["xunit.abstractions"], "net471": ["xunit.abstractions"], "net472": ["xunit.abstractions"], "net48": ["xunit.abstractions"], "net5.0": ["xunit.abstractions"], "net6.0": ["xunit.abstractions"], "net7.0": ["xunit.abstractions"], "net8.0": ["xunit.abstractions"], "net9.0": ["xunit.abstractions"], "netcoreapp1.0": ["xunit.abstractions"], "netcoreapp1.1": ["xunit.abstractions"], "netcoreapp2.0": ["xunit.abstractions"], "netcoreapp2.1": ["xunit.abstractions"], "netcoreapp2.2": ["xunit.abstractions"], "netcoreapp3.0": ["xunit.abstractions"], "netcoreapp3.1": ["xunit.abstractions"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": ["xunit.abstractions"], "netstandard1.2": ["xunit.abstractions"], "netstandard1.3": ["xunit.abstractions"], "netstandard1.4": ["xunit.abstractions"], "netstandard1.5": ["xunit.abstractions"], "netstandard1.6": ["xunit.abstractions"], "netstandard2.0": ["xunit.abstractions"], "netstandard2.1": ["xunit.abstractions"]}, "targeting_pack_overrides": [], "framework_list": []}, + {"name": "xunit.runner.visualstudio", "id": "xunit.runner.visualstudio", "version": "2.8.2", "sha512": "sha512-z+EzhXxLlgn/n7FQ5J0DJxbGns/1vx1kPJh4Uq+OPChRpdSy3x/MCqQ/jtkboc7BRMthz14k7pL0D3iq/e4d0A==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": ["Microsoft.TestPlatform.ObjectModel"], "net47": ["Microsoft.TestPlatform.ObjectModel"], "net471": ["Microsoft.TestPlatform.ObjectModel"], "net472": ["Microsoft.TestPlatform.ObjectModel"], "net48": ["Microsoft.TestPlatform.ObjectModel"], "net5.0": [], "net6.0": [], "net7.0": [], "net8.0": [], "net9.0": [], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": [], "netcoreapp2.1": [], "netcoreapp2.2": [], "netcoreapp3.0": [], "netcoreapp3.1": [], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": [], "netstandard2.1": []}, "targeting_pack_overrides": [], "framework_list": []}, ], ) diff --git a/csharp/scripts/gen-assembly-info.py b/csharp/scripts/gen-assembly-info.py index fe24524eb10b..ca88f5e1683d 100644 --- a/csharp/scripts/gen-assembly-info.py +++ b/csharp/scripts/gen-assembly-info.py @@ -28,7 +28,7 @@ def options(): [assembly: AssemblyCompany("GitHub")] [assembly: AssemblyCopyright("Copyright © 2024 GitHub")] -[assembly: System.Runtime.Versioning.TargetFramework(".NETCoreApp,Version=v8.0", FrameworkDisplayName = ".NET 8.0")] +[assembly: System.Runtime.Versioning.TargetFramework(".NETCoreApp,Version=v9.0", FrameworkDisplayName = ".NET 9.0")] """ output_file.write_text(output_file_contents) From 57e0e2dba1cea614155dccdf07ff4f0a61fe262a Mon Sep 17 00:00:00 2001 From: Michael Nebel Date: Fri, 15 Nov 2024 14:38:54 +0100 Subject: [PATCH 249/347] C#: Update workflow files and scripts. --- .github/workflows/codeql-analysis.yml | 2 +- .github/workflows/csharp-qltest.yml | 10 +++++----- csharp/actions/create-extractor-pack/action.yml | 4 ++-- csharp/scripts/create-extractor-pack.sh | 2 +- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index fbe5338e4ca7..d571d961e677 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -30,7 +30,7 @@ jobs: - name: Setup dotnet uses: actions/setup-dotnet@v4 with: - dotnet-version: 8.0.101 + dotnet-version: 9.0.100 - name: Checkout repository uses: actions/checkout@v4 diff --git a/.github/workflows/csharp-qltest.yml b/.github/workflows/csharp-qltest.yml index 35bbcf0896a7..cb301d65f9aa 100644 --- a/.github/workflows/csharp-qltest.yml +++ b/.github/workflows/csharp-qltest.yml @@ -39,14 +39,14 @@ jobs: - name: Setup dotnet uses: actions/setup-dotnet@v4 with: - dotnet-version: 8.0.101 + dotnet-version: 9.0.100 - name: Extractor unit tests run: | dotnet tool restore - dotnet test -p:RuntimeFrameworkVersion=8.0.1 extractor/Semmle.Util.Tests - dotnet test -p:RuntimeFrameworkVersion=8.0.1 extractor/Semmle.Extraction.Tests - dotnet test -p:RuntimeFrameworkVersion=8.0.1 autobuilder/Semmle.Autobuild.CSharp.Tests - dotnet test -p:RuntimeFrameworkVersion=8.0.1 autobuilder/Semmle.Autobuild.Cpp.Tests + dotnet test -p:RuntimeFrameworkVersion=9.0.0 extractor/Semmle.Util.Tests + dotnet test -p:RuntimeFrameworkVersion=9.0.0 extractor/Semmle.Extraction.Tests + dotnet test -p:RuntimeFrameworkVersion=9.0.0 autobuilder/Semmle.Autobuild.CSharp.Tests + dotnet test -p:RuntimeFrameworkVersion=9.0.0 autobuilder/Semmle.Autobuild.Cpp.Tests shell: bash stubgentest: runs-on: ubuntu-latest diff --git a/csharp/actions/create-extractor-pack/action.yml b/csharp/actions/create-extractor-pack/action.yml index 3f8150c04598..2386fe151019 100644 --- a/csharp/actions/create-extractor-pack/action.yml +++ b/csharp/actions/create-extractor-pack/action.yml @@ -5,9 +5,9 @@ runs: steps: - uses: ./.github/actions/fetch-codeql - name: Setup dotnet - uses: actions/setup-dotnet@v3 + uses: actions/setup-dotnet@v4 with: - dotnet-version: 8.0.101 + dotnet-version: 9.0.100 - name: Build Extractor shell: bash run: scripts/create-extractor-pack.sh diff --git a/csharp/scripts/create-extractor-pack.sh b/csharp/scripts/create-extractor-pack.sh index 7eb2b753471f..c3e6090a6351 100755 --- a/csharp/scripts/create-extractor-pack.sh +++ b/csharp/scripts/create-extractor-pack.sh @@ -21,7 +21,7 @@ mkdir -p extractor-pack mkdir -p extractor-pack/tools/${platform} function dotnet_publish { - dotnet publish --self-contained --configuration Release --runtime ${dotnet_platform} -p:RuntimeFrameworkVersion=8.0.1 $1 --output extractor-pack/tools/${platform} + dotnet publish --self-contained --configuration Release --runtime ${dotnet_platform} -p:RuntimeFrameworkVersion=9.0.0 $1 --output extractor-pack/tools/${platform} } dotnet tool restore From 6b9d9a2c945ee2622b0f663283424e3148aad486 Mon Sep 17 00:00:00 2001 From: Michael Nebel Date: Fri, 15 Nov 2024 14:41:01 +0100 Subject: [PATCH 250/347] C#: Update stub generator script. --- csharp/scripts/stubs/helpers.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/csharp/scripts/stubs/helpers.py b/csharp/scripts/stubs/helpers.py index 33b8f2663f80..d1f3bdb59c2f 100644 --- a/csharp/scripts/stubs/helpers.py +++ b/csharp/scripts/stubs/helpers.py @@ -56,7 +56,7 @@ def remove_files(path, ext): def write_csproj_prefix(ioWrapper): ioWrapper.write('\n') ioWrapper.write(' \n') - ioWrapper.write(' net8.0\n') + ioWrapper.write(' net9.0\n') ioWrapper.write(' true\n') ioWrapper.write(' bin\\n') ioWrapper.write( @@ -73,7 +73,7 @@ def __init__(self, thisScript, relativeWorkDir, template): self.projectDirIn = os.path.join(self.workDir, self.projectNameIn) self.template = template print("\n* Creating new input project") - self.run_cmd(['dotnet', 'new', self.template, "-f", "net8.0", "--language", "C#", '--name', + self.run_cmd(['dotnet', 'new', self.template, "-f", "net9.0", "--language", "C#", '--name', self.projectNameIn, '--output', self.projectDirIn]) remove_files(self.projectDirIn, '.cs') @@ -118,7 +118,7 @@ def make_stubs(self): bqrsFile = os.path.join(rawOutputDir, outputName + '.bqrs') jsonFile = os.path.join(rawOutputDir, outputName + '.json') - sdk_version = '8.0.101' + sdk_version = '9.0.100' print("\n* Creating new global.json file and setting SDK to " + sdk_version) self.run_cmd(['dotnet', 'new', 'globaljson', '--force', '--sdk-version', sdk_version, '--output', self.workDir]) From d8313fc7b4d747442094049705d337323af1fd3d Mon Sep 17 00:00:00 2001 From: Michael Nebel Date: Fri, 15 Nov 2024 14:47:57 +0100 Subject: [PATCH 251/347] C#: Update .NET version in project files. --- csharp/ql/integration-tests/all-platforms/binlog/a/test.csproj | 2 +- csharp/ql/integration-tests/all-platforms/binlog/b/test.csproj | 2 +- .../all-platforms/binlog_multiple/a/test.csproj | 2 +- .../all-platforms/binlog_multiple/b/test.csproj | 2 +- .../all-platforms/conditional_compilation/test.csproj | 2 +- csharp/ql/integration-tests/all-platforms/cshtml/cshtml.csproj | 2 +- .../all-platforms/cshtml_standalone/cshtml.csproj | 2 +- .../all-platforms/cshtml_standalone_disabled/cshtml.csproj | 2 +- .../all-platforms/cshtml_standalone_flowsteps/cshtml.csproj | 2 +- .../all-platforms/diag_missing_xamarin_sdk/test.csproj | 2 +- .../all-platforms/diag_recursive_generics/test.csproj | 2 +- .../all-platforms/dotnet_build/dotnet_build.csproj | 2 +- .../all-platforms/dotnet_no_args_inject/dotnet_build.csproj | 2 +- .../all-platforms/dotnet_pack/dotnet_pack.csproj | 2 +- .../all-platforms/dotnet_publish/dotnet_publish.csproj | 2 +- .../all-platforms/dotnet_run/dotnet_run.csproj | 2 +- .../all-platforms/source_generator/test.csproj | 2 +- .../all-platforms/standalone/standalone.csproj | 2 +- .../all-platforms/standalone_buildless_option/standalone.csproj | 2 +- .../all-platforms/standalone_failed/standalone.csproj | 2 +- .../integration-tests/all-platforms/standalone_resx/resx.csproj | 2 +- .../all-platforms/standalone_winforms/winforms.csproj | 2 +- csharp/ql/integration-tests/linux/compiler_args/test.csproj | 2 +- .../linux/standalone_dependencies_non_utf8_filename/test.csproj | 2 +- .../ql/integration-tests/posix/dotnet_test/dotnet_test.csproj | 2 +- .../posix/dotnet_test_mstest/dotnet_test_mstest.csproj | 2 +- .../posix/inherit-env-vars/proj.csproj.no_auto | 2 +- .../posix/standalone_dependencies/standalone.csproj | 2 +- .../standalone_dependencies_multi_project/standalone1.csproj | 2 +- .../standalone_dependencies_multi_project/standalone2.csproj | 2 +- .../posix/standalone_dependencies_multi_target/net70.csproj | 2 +- .../posix/standalone_dependencies_no_framework/test_sdk.csproj | 2 +- .../standalone_dependencies_nuget_config_error/proj/proj.csproj | 2 +- .../proj/proj.csproj | 2 +- .../proj/proj.csproj | 2 +- .../standalone_dependencies_nuget_versions/d1/test1.csproj | 2 +- .../standalone_dependencies_nuget_versions/d2/test2.csproj | 2 +- .../ql/integration-tests/posix/warn_as_error/WarnAsError.csproj | 2 +- .../windows/standalone_dependencies/standalone.csproj | 2 +- .../2.7.0/Amazon.Lambda.APIGatewayEvents.csproj | 2 +- .../stubs/Amazon.Lambda.Core/2.2.0/Amazon.Lambda.Core.csproj | 2 +- .../resources/stubs/Antlr3.Runtime/3.5.1/Antlr3.Runtime.csproj | 2 +- csharp/ql/test/resources/stubs/Dapper/2.1.24/Dapper.csproj | 2 +- .../stubs/EntityFramework/6.4.4/EntityFramework.csproj | 2 +- .../stubs/Iesi.Collections/4.0.4/Iesi.Collections.csproj | 2 +- .../stubs/Microsoft.CSharp/4.7.0/Microsoft.CSharp.csproj | 2 +- ...Microsoft.Extensions.DependencyInjection.Abstractions.csproj | 2 +- .../6.0.0/Microsoft.Extensions.DependencyInjection.csproj | 2 +- .../6.0.0/Microsoft.Extensions.Http.csproj | 2 +- .../6.0.0/Microsoft.Extensions.Logging.Abstractions.csproj | 2 +- .../6.0.0/Microsoft.Extensions.Logging.csproj | 2 +- .../6.0.0/Microsoft.Extensions.Options.csproj | 2 +- .../6.0.0/Microsoft.Extensions.Primitives.csproj | 2 +- .../1.1.0/Microsoft.NETCore.Platforms.csproj | 2 +- .../3.1.0/Microsoft.NETCore.Platforms.csproj | 2 +- .../1.1.0/Microsoft.NETCore.Targets.csproj | 2 +- .../4.3.0/Microsoft.Win32.Primitives.csproj | 2 +- .../4.7.0/Microsoft.Win32.Registry.csproj | 2 +- .../6.0.0/Microsoft.Win32.SystemEvents.csproj | 2 +- .../stubs/NETStandard.Library/1.6.1/NETStandard.Library.csproj | 2 +- .../ql/test/resources/stubs/NHibernate/5.4.7/NHibernate.csproj | 2 +- .../stubs/Newtonsoft.Json/13.0.3/Newtonsoft.Json.csproj | 2 +- .../2.2.0/Remotion.Linq.EagerFetching.csproj | 2 +- .../resources/stubs/Remotion.Linq/2.2.0/Remotion.Linq.csproj | 2 +- .../stubs/ServiceStack.Client/8.0.0/ServiceStack.Client.csproj | 2 +- .../stubs/ServiceStack.Common/8.0.0/ServiceStack.Common.csproj | 2 +- .../8.0.0/ServiceStack.Interfaces.csproj | 2 +- .../8.0.0/ServiceStack.OrmLite.SqlServer.csproj | 2 +- .../ServiceStack.OrmLite/8.0.0/ServiceStack.OrmLite.csproj | 2 +- .../stubs/ServiceStack.Text/8.0.0/ServiceStack.Text.csproj | 2 +- .../test/resources/stubs/ServiceStack/8.0.0/ServiceStack.csproj | 2 +- .../1.0.118/Stub.System.Data.SQLite.Core.NetStandard.csproj | 2 +- .../stubs/System.AppContext/4.3.0/System.AppContext.csproj | 2 +- .../resources/stubs/System.Buffers/4.3.0/System.Buffers.csproj | 2 +- .../resources/stubs/System.CodeDom/4.7.0/System.CodeDom.csproj | 2 +- .../4.3.0/System.Collections.Concurrent.csproj | 2 +- .../4.3.0/System.Collections.NonGeneric.csproj | 2 +- .../stubs/System.Collections/4.3.0/System.Collections.csproj | 2 +- .../5.0.0/System.ComponentModel.Annotations.csproj | 2 +- .../4.3.0/System.ComponentModel.Primitives.csproj | 2 +- .../System.ComponentModel/4.3.0/System.ComponentModel.csproj | 2 +- .../6.0.0/System.Configuration.ConfigurationManager.csproj | 2 +- .../8.0.0/System.Configuration.ConfigurationManager.csproj | 2 +- .../resources/stubs/System.Console/4.3.0/System.Console.csproj | 2 +- .../stubs/System.Data.OleDb/8.0.0/System.Data.OleDb.csproj | 2 +- .../1.0.118/System.Data.SQLite.Core.csproj | 2 +- .../1.0.118/System.Data.SQLite.EF6.csproj | 2 +- .../stubs/System.Data.SQLite/1.0.118/System.Data.SQLite.csproj | 2 +- .../System.Data.SqlClient/4.8.5/System.Data.SqlClient.csproj | 2 +- .../4.3.0/System.Diagnostics.Debug.csproj | 2 +- .../6.0.0/System.Diagnostics.DiagnosticSource.csproj | 2 +- .../8.0.0/System.Diagnostics.EventLog.csproj | 2 +- .../8.0.0/System.Diagnostics.PerformanceCounter.csproj | 2 +- .../4.3.0/System.Diagnostics.Tools.csproj | 2 +- .../4.3.0/System.Diagnostics.Tracing.csproj | 2 +- .../System.Drawing.Common/6.0.0/System.Drawing.Common.csproj | 2 +- .../System.Dynamic.Runtime/4.3.0/System.Dynamic.Runtime.csproj | 2 +- .../4.3.0/System.Globalization.Calendars.csproj | 2 +- .../4.3.0/System.Globalization.Extensions.csproj | 2 +- .../System.Globalization/4.3.0/System.Globalization.csproj | 2 +- .../4.3.0/System.IO.Compression.ZipFile.csproj | 2 +- .../System.IO.Compression/4.3.0/System.IO.Compression.csproj | 2 +- .../4.3.0/System.IO.FileSystem.Primitives.csproj | 2 +- .../System.IO.FileSystem/4.3.0/System.IO.FileSystem.csproj | 2 +- csharp/ql/test/resources/stubs/System.IO/4.3.0/System.IO.csproj | 2 +- .../4.3.0/System.Linq.Expressions.csproj | 2 +- .../System.Linq.Queryable/4.0.1/System.Linq.Queryable.csproj | 2 +- .../test/resources/stubs/System.Linq/4.3.0/System.Linq.csproj | 2 +- .../resources/stubs/System.Memory/4.5.5/System.Memory.csproj | 2 +- .../stubs/System.Net.Http/4.3.0/System.Net.Http.csproj | 2 +- .../System.Net.Primitives/4.3.0/System.Net.Primitives.csproj | 2 +- .../stubs/System.Net.Sockets/4.3.0/System.Net.Sockets.csproj | 2 +- .../stubs/System.ObjectModel/4.3.0/System.ObjectModel.csproj | 2 +- .../4.3.0/System.Reflection.Emit.ILGeneration.csproj | 2 +- .../4.7.0/System.Reflection.Emit.Lightweight.csproj | 2 +- .../System.Reflection.Emit/4.7.0/System.Reflection.Emit.csproj | 2 +- .../4.3.0/System.Reflection.Extensions.csproj | 2 +- .../4.3.0/System.Reflection.Primitives.csproj | 2 +- .../4.7.0/System.Reflection.TypeExtensions.csproj | 2 +- .../stubs/System.Reflection/4.3.0/System.Reflection.csproj | 2 +- .../4.3.0/System.Resources.ResourceManager.csproj | 2 +- .../6.0.0/System.Runtime.CompilerServices.Unsafe.csproj | 2 +- .../4.3.0/System.Runtime.Extensions.csproj | 2 +- .../System.Runtime.Handles/4.3.0/System.Runtime.Handles.csproj | 2 +- .../System.Runtime.InteropServices.RuntimeInformation.csproj | 2 +- .../4.3.0/System.Runtime.InteropServices.csproj | 2 +- .../4.3.0/System.Runtime.Numerics.csproj | 2 +- .../4.3.0/System.Runtime.Serialization.Formatters.csproj | 2 +- .../4.3.0/System.Runtime.Serialization.Primitives.csproj | 2 +- .../resources/stubs/System.Runtime/4.3.0/System.Runtime.csproj | 2 +- .../4.7.0/System.Security.AccessControl.csproj | 2 +- .../6.0.0/System.Security.AccessControl.csproj | 2 +- .../4.3.0/System.Security.Cryptography.Algorithms.csproj | 2 +- .../4.3.0/System.Security.Cryptography.Cng.csproj | 2 +- .../4.3.0/System.Security.Cryptography.Csp.csproj | 2 +- .../4.3.0/System.Security.Cryptography.Encoding.csproj | 2 +- .../4.3.0/System.Security.Cryptography.OpenSsl.csproj | 2 +- .../4.3.0/System.Security.Cryptography.Primitives.csproj | 2 +- .../6.0.0/System.Security.Cryptography.ProtectedData.csproj | 2 +- .../8.0.0/System.Security.Cryptography.ProtectedData.csproj | 2 +- .../4.3.0/System.Security.Cryptography.X509Certificates.csproj | 2 +- .../6.0.0/System.Security.Permissions.csproj | 2 +- .../4.7.0/System.Security.Principal.Windows.csproj | 2 +- .../4.3.0/System.Text.Encoding.Extensions.csproj | 2 +- .../System.Text.Encoding/4.3.0/System.Text.Encoding.csproj | 2 +- .../4.3.0/System.Text.RegularExpressions.csproj | 2 +- .../4.3.0/System.Threading.Tasks.Extensions.csproj | 2 +- .../System.Threading.Tasks/4.3.0/System.Threading.Tasks.csproj | 2 +- .../System.Threading.Timer/4.3.0/System.Threading.Timer.csproj | 2 +- .../stubs/System.Threading/4.3.0/System.Threading.csproj | 2 +- .../6.0.0/System.Windows.Extensions.csproj | 2 +- .../4.3.0/System.Xml.ReaderWriter.csproj | 2 +- .../System.Xml.XDocument/4.3.0/System.Xml.XDocument.csproj | 2 +- .../System.Xml.XmlDocument/4.3.0/System.Xml.XmlDocument.csproj | 2 +- .../Microsoft.AspNetCore.App/Microsoft.AspNetCore.App.csproj | 2 +- .../Microsoft.NETCore.App/Microsoft.NETCore.App.csproj | 2 +- ...4.runtime.native.System.Security.Cryptography.OpenSsl.csproj | 2 +- ...4.runtime.native.System.Security.Cryptography.OpenSsl.csproj | 2 +- ...4.runtime.native.System.Security.Cryptography.OpenSsl.csproj | 2 +- .../4.7.0/runtime.native.System.Data.SqlClient.sni.csproj | 2 +- .../4.3.0/runtime.native.System.IO.Compression.csproj | 2 +- .../4.3.0/runtime.native.System.Net.Http.csproj | 2 +- .../runtime.native.System.Security.Cryptography.Apple.csproj | 2 +- .../runtime.native.System.Security.Cryptography.OpenSsl.csproj | 2 +- .../runtime.native.System/4.3.0/runtime.native.System.csproj | 2 +- ...4.runtime.native.System.Security.Cryptography.OpenSsl.csproj | 2 +- ...4.runtime.native.System.Security.Cryptography.OpenSsl.csproj | 2 +- ...x64.runtime.native.System.Security.Cryptography.Apple.csproj | 2 +- ...4.runtime.native.System.Security.Cryptography.OpenSsl.csproj | 2 +- ...4.runtime.native.System.Security.Cryptography.OpenSsl.csproj | 2 +- ...4.runtime.native.System.Security.Cryptography.OpenSsl.csproj | 2 +- ...4.runtime.native.System.Security.Cryptography.OpenSsl.csproj | 2 +- ...4.runtime.native.System.Security.Cryptography.OpenSsl.csproj | 2 +- ...me.win-arm64.runtime.native.System.Data.SqlClient.sni.csproj | 2 +- ...time.win-x64.runtime.native.System.Data.SqlClient.sni.csproj | 2 +- ...time.win-x86.runtime.native.System.Data.SqlClient.sni.csproj | 2 +- 176 files changed, 176 insertions(+), 176 deletions(-) diff --git a/csharp/ql/integration-tests/all-platforms/binlog/a/test.csproj b/csharp/ql/integration-tests/all-platforms/binlog/a/test.csproj index 91b464afeacc..694035b3acd5 100644 --- a/csharp/ql/integration-tests/all-platforms/binlog/a/test.csproj +++ b/csharp/ql/integration-tests/all-platforms/binlog/a/test.csproj @@ -2,7 +2,7 @@ Exe - net8.0 + net9.0 enable enable diff --git a/csharp/ql/integration-tests/all-platforms/binlog/b/test.csproj b/csharp/ql/integration-tests/all-platforms/binlog/b/test.csproj index 91b464afeacc..694035b3acd5 100644 --- a/csharp/ql/integration-tests/all-platforms/binlog/b/test.csproj +++ b/csharp/ql/integration-tests/all-platforms/binlog/b/test.csproj @@ -2,7 +2,7 @@ Exe - net8.0 + net9.0 enable enable diff --git a/csharp/ql/integration-tests/all-platforms/binlog_multiple/a/test.csproj b/csharp/ql/integration-tests/all-platforms/binlog_multiple/a/test.csproj index 91b464afeacc..694035b3acd5 100644 --- a/csharp/ql/integration-tests/all-platforms/binlog_multiple/a/test.csproj +++ b/csharp/ql/integration-tests/all-platforms/binlog_multiple/a/test.csproj @@ -2,7 +2,7 @@ Exe - net8.0 + net9.0 enable enable diff --git a/csharp/ql/integration-tests/all-platforms/binlog_multiple/b/test.csproj b/csharp/ql/integration-tests/all-platforms/binlog_multiple/b/test.csproj index 91b464afeacc..694035b3acd5 100644 --- a/csharp/ql/integration-tests/all-platforms/binlog_multiple/b/test.csproj +++ b/csharp/ql/integration-tests/all-platforms/binlog_multiple/b/test.csproj @@ -2,7 +2,7 @@ Exe - net8.0 + net9.0 enable enable diff --git a/csharp/ql/integration-tests/all-platforms/conditional_compilation/test.csproj b/csharp/ql/integration-tests/all-platforms/conditional_compilation/test.csproj index e7ed4bf01737..d457711bd99f 100644 --- a/csharp/ql/integration-tests/all-platforms/conditional_compilation/test.csproj +++ b/csharp/ql/integration-tests/all-platforms/conditional_compilation/test.csproj @@ -2,7 +2,7 @@ Exe - net8.0 + net9.0 enable enable diff --git a/csharp/ql/integration-tests/all-platforms/cshtml/cshtml.csproj b/csharp/ql/integration-tests/all-platforms/cshtml/cshtml.csproj index 8a366ff09d4f..bdb0e0d0c31a 100644 --- a/csharp/ql/integration-tests/all-platforms/cshtml/cshtml.csproj +++ b/csharp/ql/integration-tests/all-platforms/cshtml/cshtml.csproj @@ -2,7 +2,7 @@ Exe - net8.0 + net9.0 enable enable diff --git a/csharp/ql/integration-tests/all-platforms/cshtml_standalone/cshtml.csproj b/csharp/ql/integration-tests/all-platforms/cshtml_standalone/cshtml.csproj index 8a366ff09d4f..bdb0e0d0c31a 100644 --- a/csharp/ql/integration-tests/all-platforms/cshtml_standalone/cshtml.csproj +++ b/csharp/ql/integration-tests/all-platforms/cshtml_standalone/cshtml.csproj @@ -2,7 +2,7 @@ Exe - net8.0 + net9.0 enable enable diff --git a/csharp/ql/integration-tests/all-platforms/cshtml_standalone_disabled/cshtml.csproj b/csharp/ql/integration-tests/all-platforms/cshtml_standalone_disabled/cshtml.csproj index 8a366ff09d4f..bdb0e0d0c31a 100644 --- a/csharp/ql/integration-tests/all-platforms/cshtml_standalone_disabled/cshtml.csproj +++ b/csharp/ql/integration-tests/all-platforms/cshtml_standalone_disabled/cshtml.csproj @@ -2,7 +2,7 @@ Exe - net8.0 + net9.0 enable enable diff --git a/csharp/ql/integration-tests/all-platforms/cshtml_standalone_flowsteps/cshtml.csproj b/csharp/ql/integration-tests/all-platforms/cshtml_standalone_flowsteps/cshtml.csproj index 1b28a01c81c7..6568b3dcfb4b 100644 --- a/csharp/ql/integration-tests/all-platforms/cshtml_standalone_flowsteps/cshtml.csproj +++ b/csharp/ql/integration-tests/all-platforms/cshtml_standalone_flowsteps/cshtml.csproj @@ -1,7 +1,7 @@ - net8.0 + net9.0 enable enable diff --git a/csharp/ql/integration-tests/all-platforms/diag_missing_xamarin_sdk/test.csproj b/csharp/ql/integration-tests/all-platforms/diag_missing_xamarin_sdk/test.csproj index d0ac3e77f7aa..6bb5914483b3 100644 --- a/csharp/ql/integration-tests/all-platforms/diag_missing_xamarin_sdk/test.csproj +++ b/csharp/ql/integration-tests/all-platforms/diag_missing_xamarin_sdk/test.csproj @@ -2,7 +2,7 @@ Exe - net8.0 + net9.0 enable enable $(MSBuildExtensionsPath)\Xamarin\iOS\Xamarin.iOS.CSharp.targets diff --git a/csharp/ql/integration-tests/all-platforms/diag_recursive_generics/test.csproj b/csharp/ql/integration-tests/all-platforms/diag_recursive_generics/test.csproj index ec516c57e78d..546e25e0172a 100644 --- a/csharp/ql/integration-tests/all-platforms/diag_recursive_generics/test.csproj +++ b/csharp/ql/integration-tests/all-platforms/diag_recursive_generics/test.csproj @@ -2,7 +2,7 @@ Exe - net8.0 + net9.0 diff --git a/csharp/ql/integration-tests/all-platforms/dotnet_build/dotnet_build.csproj b/csharp/ql/integration-tests/all-platforms/dotnet_build/dotnet_build.csproj index 91b464afeacc..694035b3acd5 100644 --- a/csharp/ql/integration-tests/all-platforms/dotnet_build/dotnet_build.csproj +++ b/csharp/ql/integration-tests/all-platforms/dotnet_build/dotnet_build.csproj @@ -2,7 +2,7 @@ Exe - net8.0 + net9.0 enable enable diff --git a/csharp/ql/integration-tests/all-platforms/dotnet_no_args_inject/dotnet_build.csproj b/csharp/ql/integration-tests/all-platforms/dotnet_no_args_inject/dotnet_build.csproj index 91b464afeacc..694035b3acd5 100644 --- a/csharp/ql/integration-tests/all-platforms/dotnet_no_args_inject/dotnet_build.csproj +++ b/csharp/ql/integration-tests/all-platforms/dotnet_no_args_inject/dotnet_build.csproj @@ -2,7 +2,7 @@ Exe - net8.0 + net9.0 enable enable diff --git a/csharp/ql/integration-tests/all-platforms/dotnet_pack/dotnet_pack.csproj b/csharp/ql/integration-tests/all-platforms/dotnet_pack/dotnet_pack.csproj index 91b464afeacc..694035b3acd5 100644 --- a/csharp/ql/integration-tests/all-platforms/dotnet_pack/dotnet_pack.csproj +++ b/csharp/ql/integration-tests/all-platforms/dotnet_pack/dotnet_pack.csproj @@ -2,7 +2,7 @@ Exe - net8.0 + net9.0 enable enable diff --git a/csharp/ql/integration-tests/all-platforms/dotnet_publish/dotnet_publish.csproj b/csharp/ql/integration-tests/all-platforms/dotnet_publish/dotnet_publish.csproj index 91b464afeacc..694035b3acd5 100644 --- a/csharp/ql/integration-tests/all-platforms/dotnet_publish/dotnet_publish.csproj +++ b/csharp/ql/integration-tests/all-platforms/dotnet_publish/dotnet_publish.csproj @@ -2,7 +2,7 @@ Exe - net8.0 + net9.0 enable enable diff --git a/csharp/ql/integration-tests/all-platforms/dotnet_run/dotnet_run.csproj b/csharp/ql/integration-tests/all-platforms/dotnet_run/dotnet_run.csproj index 324eba5d4ef1..8bb8e6387f97 100644 --- a/csharp/ql/integration-tests/all-platforms/dotnet_run/dotnet_run.csproj +++ b/csharp/ql/integration-tests/all-platforms/dotnet_run/dotnet_run.csproj @@ -2,7 +2,7 @@ Exe - net8.0 + net9.0 enable enable diff --git a/csharp/ql/integration-tests/all-platforms/source_generator/test.csproj b/csharp/ql/integration-tests/all-platforms/source_generator/test.csproj index 4c275900f09d..966a7fdb5c57 100644 --- a/csharp/ql/integration-tests/all-platforms/source_generator/test.csproj +++ b/csharp/ql/integration-tests/all-platforms/source_generator/test.csproj @@ -2,7 +2,7 @@ Exe - net8.0 + net9.0 enable enable diff --git a/csharp/ql/integration-tests/all-platforms/standalone/standalone.csproj b/csharp/ql/integration-tests/all-platforms/standalone/standalone.csproj index 324eba5d4ef1..8bb8e6387f97 100644 --- a/csharp/ql/integration-tests/all-platforms/standalone/standalone.csproj +++ b/csharp/ql/integration-tests/all-platforms/standalone/standalone.csproj @@ -2,7 +2,7 @@ Exe - net8.0 + net9.0 enable enable diff --git a/csharp/ql/integration-tests/all-platforms/standalone_buildless_option/standalone.csproj b/csharp/ql/integration-tests/all-platforms/standalone_buildless_option/standalone.csproj index a269962b552f..92e46ddaccf8 100644 --- a/csharp/ql/integration-tests/all-platforms/standalone_buildless_option/standalone.csproj +++ b/csharp/ql/integration-tests/all-platforms/standalone_buildless_option/standalone.csproj @@ -2,7 +2,7 @@ Exe - net8.0 + net9.0 diff --git a/csharp/ql/integration-tests/all-platforms/standalone_failed/standalone.csproj b/csharp/ql/integration-tests/all-platforms/standalone_failed/standalone.csproj index 324eba5d4ef1..8bb8e6387f97 100644 --- a/csharp/ql/integration-tests/all-platforms/standalone_failed/standalone.csproj +++ b/csharp/ql/integration-tests/all-platforms/standalone_failed/standalone.csproj @@ -2,7 +2,7 @@ Exe - net8.0 + net9.0 enable enable diff --git a/csharp/ql/integration-tests/all-platforms/standalone_resx/resx.csproj b/csharp/ql/integration-tests/all-platforms/standalone_resx/resx.csproj index cda97396b08c..951f79551f23 100644 --- a/csharp/ql/integration-tests/all-platforms/standalone_resx/resx.csproj +++ b/csharp/ql/integration-tests/all-platforms/standalone_resx/resx.csproj @@ -2,7 +2,7 @@ Exe - net8.0 + net9.0 enable enable Resx.Test1.Test2 diff --git a/csharp/ql/integration-tests/all-platforms/standalone_winforms/winforms.csproj b/csharp/ql/integration-tests/all-platforms/standalone_winforms/winforms.csproj index bcc83124518c..355e815cdeec 100644 --- a/csharp/ql/integration-tests/all-platforms/standalone_winforms/winforms.csproj +++ b/csharp/ql/integration-tests/all-platforms/standalone_winforms/winforms.csproj @@ -2,7 +2,7 @@ WinExe - net8.0-windows + net9.0-windows enable true enable diff --git a/csharp/ql/integration-tests/linux/compiler_args/test.csproj b/csharp/ql/integration-tests/linux/compiler_args/test.csproj index 324eba5d4ef1..8bb8e6387f97 100644 --- a/csharp/ql/integration-tests/linux/compiler_args/test.csproj +++ b/csharp/ql/integration-tests/linux/compiler_args/test.csproj @@ -2,7 +2,7 @@ Exe - net8.0 + net9.0 enable enable diff --git a/csharp/ql/integration-tests/linux/standalone_dependencies_non_utf8_filename/test.csproj b/csharp/ql/integration-tests/linux/standalone_dependencies_non_utf8_filename/test.csproj index a269962b552f..92e46ddaccf8 100644 --- a/csharp/ql/integration-tests/linux/standalone_dependencies_non_utf8_filename/test.csproj +++ b/csharp/ql/integration-tests/linux/standalone_dependencies_non_utf8_filename/test.csproj @@ -2,7 +2,7 @@ Exe - net8.0 + net9.0 diff --git a/csharp/ql/integration-tests/posix/dotnet_test/dotnet_test.csproj b/csharp/ql/integration-tests/posix/dotnet_test/dotnet_test.csproj index 385a784dce07..ae7979043154 100644 --- a/csharp/ql/integration-tests/posix/dotnet_test/dotnet_test.csproj +++ b/csharp/ql/integration-tests/posix/dotnet_test/dotnet_test.csproj @@ -1,7 +1,7 @@ - net8.0 + net9.0 enable false diff --git a/csharp/ql/integration-tests/posix/dotnet_test_mstest/dotnet_test_mstest.csproj b/csharp/ql/integration-tests/posix/dotnet_test_mstest/dotnet_test_mstest.csproj index acbb9e7fe2bf..45ccf93ee740 100644 --- a/csharp/ql/integration-tests/posix/dotnet_test_mstest/dotnet_test_mstest.csproj +++ b/csharp/ql/integration-tests/posix/dotnet_test_mstest/dotnet_test_mstest.csproj @@ -1,7 +1,7 @@ - net8.0 + net9.0 enable enable diff --git a/csharp/ql/integration-tests/posix/inherit-env-vars/proj.csproj.no_auto b/csharp/ql/integration-tests/posix/inherit-env-vars/proj.csproj.no_auto index 91b464afeacc..694035b3acd5 100644 --- a/csharp/ql/integration-tests/posix/inherit-env-vars/proj.csproj.no_auto +++ b/csharp/ql/integration-tests/posix/inherit-env-vars/proj.csproj.no_auto @@ -2,7 +2,7 @@ Exe - net8.0 + net9.0 enable enable diff --git a/csharp/ql/integration-tests/posix/standalone_dependencies/standalone.csproj b/csharp/ql/integration-tests/posix/standalone_dependencies/standalone.csproj index a8f3cc44512c..58df1d80a862 100644 --- a/csharp/ql/integration-tests/posix/standalone_dependencies/standalone.csproj +++ b/csharp/ql/integration-tests/posix/standalone_dependencies/standalone.csproj @@ -2,7 +2,7 @@ Exe - net8.0;net6.0;netcoreapp3.1;netstandard2.0;net48 + net9.0;net6.0;netcoreapp3.1;netstandard2.0;net48 diff --git a/csharp/ql/integration-tests/posix/standalone_dependencies_multi_project/standalone1.csproj b/csharp/ql/integration-tests/posix/standalone_dependencies_multi_project/standalone1.csproj index 67d37d1a7608..45639c4ecd27 100644 --- a/csharp/ql/integration-tests/posix/standalone_dependencies_multi_project/standalone1.csproj +++ b/csharp/ql/integration-tests/posix/standalone_dependencies_multi_project/standalone1.csproj @@ -2,7 +2,7 @@ Exe - net8.0 + net9.0 diff --git a/csharp/ql/integration-tests/posix/standalone_dependencies_multi_project/standalone2.csproj b/csharp/ql/integration-tests/posix/standalone_dependencies_multi_project/standalone2.csproj index 05fb5c1aa487..40d116df47fe 100644 --- a/csharp/ql/integration-tests/posix/standalone_dependencies_multi_project/standalone2.csproj +++ b/csharp/ql/integration-tests/posix/standalone_dependencies_multi_project/standalone2.csproj @@ -2,7 +2,7 @@ Exe - net8.0 + net9.0 diff --git a/csharp/ql/integration-tests/posix/standalone_dependencies_multi_target/net70.csproj b/csharp/ql/integration-tests/posix/standalone_dependencies_multi_target/net70.csproj index 91b464afeacc..694035b3acd5 100644 --- a/csharp/ql/integration-tests/posix/standalone_dependencies_multi_target/net70.csproj +++ b/csharp/ql/integration-tests/posix/standalone_dependencies_multi_target/net70.csproj @@ -2,7 +2,7 @@ Exe - net8.0 + net9.0 enable enable diff --git a/csharp/ql/integration-tests/posix/standalone_dependencies_no_framework/test_sdk.csproj b/csharp/ql/integration-tests/posix/standalone_dependencies_no_framework/test_sdk.csproj index 4425f1c1431b..3beee773f83e 100644 --- a/csharp/ql/integration-tests/posix/standalone_dependencies_no_framework/test_sdk.csproj +++ b/csharp/ql/integration-tests/posix/standalone_dependencies_no_framework/test_sdk.csproj @@ -2,7 +2,7 @@ Exe - net8.0 + net9.0 diff --git a/csharp/ql/integration-tests/posix/standalone_dependencies_nuget_config_error/proj/proj.csproj b/csharp/ql/integration-tests/posix/standalone_dependencies_nuget_config_error/proj/proj.csproj index cef71796352c..b73f743f95c2 100644 --- a/csharp/ql/integration-tests/posix/standalone_dependencies_nuget_config_error/proj/proj.csproj +++ b/csharp/ql/integration-tests/posix/standalone_dependencies_nuget_config_error/proj/proj.csproj @@ -2,7 +2,7 @@ Exe - net8.0 + net9.0 diff --git a/csharp/ql/integration-tests/posix/standalone_dependencies_nuget_config_error_timeout/proj/proj.csproj b/csharp/ql/integration-tests/posix/standalone_dependencies_nuget_config_error_timeout/proj/proj.csproj index cef71796352c..b73f743f95c2 100644 --- a/csharp/ql/integration-tests/posix/standalone_dependencies_nuget_config_error_timeout/proj/proj.csproj +++ b/csharp/ql/integration-tests/posix/standalone_dependencies_nuget_config_error_timeout/proj/proj.csproj @@ -2,7 +2,7 @@ Exe - net8.0 + net9.0 diff --git a/csharp/ql/integration-tests/posix/standalone_dependencies_nuget_config_fallback/proj/proj.csproj b/csharp/ql/integration-tests/posix/standalone_dependencies_nuget_config_fallback/proj/proj.csproj index cef71796352c..b73f743f95c2 100644 --- a/csharp/ql/integration-tests/posix/standalone_dependencies_nuget_config_fallback/proj/proj.csproj +++ b/csharp/ql/integration-tests/posix/standalone_dependencies_nuget_config_fallback/proj/proj.csproj @@ -2,7 +2,7 @@ Exe - net8.0 + net9.0 diff --git a/csharp/ql/integration-tests/posix/standalone_dependencies_nuget_versions/d1/test1.csproj b/csharp/ql/integration-tests/posix/standalone_dependencies_nuget_versions/d1/test1.csproj index 1cce9e65b060..47798ff95a4c 100644 --- a/csharp/ql/integration-tests/posix/standalone_dependencies_nuget_versions/d1/test1.csproj +++ b/csharp/ql/integration-tests/posix/standalone_dependencies_nuget_versions/d1/test1.csproj @@ -2,7 +2,7 @@ Exe - net8.0 + net9.0 diff --git a/csharp/ql/integration-tests/posix/standalone_dependencies_nuget_versions/d2/test2.csproj b/csharp/ql/integration-tests/posix/standalone_dependencies_nuget_versions/d2/test2.csproj index 94772f7cc04d..29604e2cbd87 100644 --- a/csharp/ql/integration-tests/posix/standalone_dependencies_nuget_versions/d2/test2.csproj +++ b/csharp/ql/integration-tests/posix/standalone_dependencies_nuget_versions/d2/test2.csproj @@ -2,7 +2,7 @@ Exe - net8.0 + net9.0 diff --git a/csharp/ql/integration-tests/posix/warn_as_error/WarnAsError.csproj b/csharp/ql/integration-tests/posix/warn_as_error/WarnAsError.csproj index eb001ff56e73..3c234e423027 100644 --- a/csharp/ql/integration-tests/posix/warn_as_error/WarnAsError.csproj +++ b/csharp/ql/integration-tests/posix/warn_as_error/WarnAsError.csproj @@ -2,7 +2,7 @@ Exe - net8.0 + net9.0 enable enable true diff --git a/csharp/ql/integration-tests/windows/standalone_dependencies/standalone.csproj b/csharp/ql/integration-tests/windows/standalone_dependencies/standalone.csproj index a8f3cc44512c..58df1d80a862 100644 --- a/csharp/ql/integration-tests/windows/standalone_dependencies/standalone.csproj +++ b/csharp/ql/integration-tests/windows/standalone_dependencies/standalone.csproj @@ -2,7 +2,7 @@ Exe - net8.0;net6.0;netcoreapp3.1;netstandard2.0;net48 + net9.0;net6.0;netcoreapp3.1;netstandard2.0;net48 diff --git a/csharp/ql/test/resources/stubs/Amazon.Lambda.APIGatewayEvents/2.7.0/Amazon.Lambda.APIGatewayEvents.csproj b/csharp/ql/test/resources/stubs/Amazon.Lambda.APIGatewayEvents/2.7.0/Amazon.Lambda.APIGatewayEvents.csproj index 61622bc5296c..c7646fbae204 100644 --- a/csharp/ql/test/resources/stubs/Amazon.Lambda.APIGatewayEvents/2.7.0/Amazon.Lambda.APIGatewayEvents.csproj +++ b/csharp/ql/test/resources/stubs/Amazon.Lambda.APIGatewayEvents/2.7.0/Amazon.Lambda.APIGatewayEvents.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/Amazon.Lambda.Core/2.2.0/Amazon.Lambda.Core.csproj b/csharp/ql/test/resources/stubs/Amazon.Lambda.Core/2.2.0/Amazon.Lambda.Core.csproj index 61622bc5296c..c7646fbae204 100644 --- a/csharp/ql/test/resources/stubs/Amazon.Lambda.Core/2.2.0/Amazon.Lambda.Core.csproj +++ b/csharp/ql/test/resources/stubs/Amazon.Lambda.Core/2.2.0/Amazon.Lambda.Core.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/Antlr3.Runtime/3.5.1/Antlr3.Runtime.csproj b/csharp/ql/test/resources/stubs/Antlr3.Runtime/3.5.1/Antlr3.Runtime.csproj index bb22225f8f53..38998301525b 100644 --- a/csharp/ql/test/resources/stubs/Antlr3.Runtime/3.5.1/Antlr3.Runtime.csproj +++ b/csharp/ql/test/resources/stubs/Antlr3.Runtime/3.5.1/Antlr3.Runtime.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/Dapper/2.1.24/Dapper.csproj b/csharp/ql/test/resources/stubs/Dapper/2.1.24/Dapper.csproj index 61622bc5296c..c7646fbae204 100644 --- a/csharp/ql/test/resources/stubs/Dapper/2.1.24/Dapper.csproj +++ b/csharp/ql/test/resources/stubs/Dapper/2.1.24/Dapper.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/EntityFramework/6.4.4/EntityFramework.csproj b/csharp/ql/test/resources/stubs/EntityFramework/6.4.4/EntityFramework.csproj index 359b400bb100..9666926fafda 100644 --- a/csharp/ql/test/resources/stubs/EntityFramework/6.4.4/EntityFramework.csproj +++ b/csharp/ql/test/resources/stubs/EntityFramework/6.4.4/EntityFramework.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/Iesi.Collections/4.0.4/Iesi.Collections.csproj b/csharp/ql/test/resources/stubs/Iesi.Collections/4.0.4/Iesi.Collections.csproj index a1c8b50b3eba..eedd49158a14 100644 --- a/csharp/ql/test/resources/stubs/Iesi.Collections/4.0.4/Iesi.Collections.csproj +++ b/csharp/ql/test/resources/stubs/Iesi.Collections/4.0.4/Iesi.Collections.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/Microsoft.CSharp/4.7.0/Microsoft.CSharp.csproj b/csharp/ql/test/resources/stubs/Microsoft.CSharp/4.7.0/Microsoft.CSharp.csproj index 61622bc5296c..c7646fbae204 100644 --- a/csharp/ql/test/resources/stubs/Microsoft.CSharp/4.7.0/Microsoft.CSharp.csproj +++ b/csharp/ql/test/resources/stubs/Microsoft.CSharp/4.7.0/Microsoft.CSharp.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/Microsoft.Extensions.DependencyInjection.Abstractions/6.0.0/Microsoft.Extensions.DependencyInjection.Abstractions.csproj b/csharp/ql/test/resources/stubs/Microsoft.Extensions.DependencyInjection.Abstractions/6.0.0/Microsoft.Extensions.DependencyInjection.Abstractions.csproj index 61622bc5296c..c7646fbae204 100644 --- a/csharp/ql/test/resources/stubs/Microsoft.Extensions.DependencyInjection.Abstractions/6.0.0/Microsoft.Extensions.DependencyInjection.Abstractions.csproj +++ b/csharp/ql/test/resources/stubs/Microsoft.Extensions.DependencyInjection.Abstractions/6.0.0/Microsoft.Extensions.DependencyInjection.Abstractions.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/Microsoft.Extensions.DependencyInjection/6.0.0/Microsoft.Extensions.DependencyInjection.csproj b/csharp/ql/test/resources/stubs/Microsoft.Extensions.DependencyInjection/6.0.0/Microsoft.Extensions.DependencyInjection.csproj index e5c735afcc1f..44f64ecc4338 100644 --- a/csharp/ql/test/resources/stubs/Microsoft.Extensions.DependencyInjection/6.0.0/Microsoft.Extensions.DependencyInjection.csproj +++ b/csharp/ql/test/resources/stubs/Microsoft.Extensions.DependencyInjection/6.0.0/Microsoft.Extensions.DependencyInjection.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/Microsoft.Extensions.Http/6.0.0/Microsoft.Extensions.Http.csproj b/csharp/ql/test/resources/stubs/Microsoft.Extensions.Http/6.0.0/Microsoft.Extensions.Http.csproj index e09b1f57deff..5f64ad1ae514 100644 --- a/csharp/ql/test/resources/stubs/Microsoft.Extensions.Http/6.0.0/Microsoft.Extensions.Http.csproj +++ b/csharp/ql/test/resources/stubs/Microsoft.Extensions.Http/6.0.0/Microsoft.Extensions.Http.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/Microsoft.Extensions.Logging.Abstractions/6.0.0/Microsoft.Extensions.Logging.Abstractions.csproj b/csharp/ql/test/resources/stubs/Microsoft.Extensions.Logging.Abstractions/6.0.0/Microsoft.Extensions.Logging.Abstractions.csproj index 61622bc5296c..c7646fbae204 100644 --- a/csharp/ql/test/resources/stubs/Microsoft.Extensions.Logging.Abstractions/6.0.0/Microsoft.Extensions.Logging.Abstractions.csproj +++ b/csharp/ql/test/resources/stubs/Microsoft.Extensions.Logging.Abstractions/6.0.0/Microsoft.Extensions.Logging.Abstractions.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/Microsoft.Extensions.Logging/6.0.0/Microsoft.Extensions.Logging.csproj b/csharp/ql/test/resources/stubs/Microsoft.Extensions.Logging/6.0.0/Microsoft.Extensions.Logging.csproj index 9f413987cb3a..976e4f248178 100644 --- a/csharp/ql/test/resources/stubs/Microsoft.Extensions.Logging/6.0.0/Microsoft.Extensions.Logging.csproj +++ b/csharp/ql/test/resources/stubs/Microsoft.Extensions.Logging/6.0.0/Microsoft.Extensions.Logging.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/Microsoft.Extensions.Options/6.0.0/Microsoft.Extensions.Options.csproj b/csharp/ql/test/resources/stubs/Microsoft.Extensions.Options/6.0.0/Microsoft.Extensions.Options.csproj index c8f4cdbdb3a8..df60e16932c2 100644 --- a/csharp/ql/test/resources/stubs/Microsoft.Extensions.Options/6.0.0/Microsoft.Extensions.Options.csproj +++ b/csharp/ql/test/resources/stubs/Microsoft.Extensions.Options/6.0.0/Microsoft.Extensions.Options.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/Microsoft.Extensions.Primitives/6.0.0/Microsoft.Extensions.Primitives.csproj b/csharp/ql/test/resources/stubs/Microsoft.Extensions.Primitives/6.0.0/Microsoft.Extensions.Primitives.csproj index 105b29a4077a..44f3b6c98d18 100644 --- a/csharp/ql/test/resources/stubs/Microsoft.Extensions.Primitives/6.0.0/Microsoft.Extensions.Primitives.csproj +++ b/csharp/ql/test/resources/stubs/Microsoft.Extensions.Primitives/6.0.0/Microsoft.Extensions.Primitives.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/Microsoft.NETCore.Platforms/1.1.0/Microsoft.NETCore.Platforms.csproj b/csharp/ql/test/resources/stubs/Microsoft.NETCore.Platforms/1.1.0/Microsoft.NETCore.Platforms.csproj index 61622bc5296c..c7646fbae204 100644 --- a/csharp/ql/test/resources/stubs/Microsoft.NETCore.Platforms/1.1.0/Microsoft.NETCore.Platforms.csproj +++ b/csharp/ql/test/resources/stubs/Microsoft.NETCore.Platforms/1.1.0/Microsoft.NETCore.Platforms.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/Microsoft.NETCore.Platforms/3.1.0/Microsoft.NETCore.Platforms.csproj b/csharp/ql/test/resources/stubs/Microsoft.NETCore.Platforms/3.1.0/Microsoft.NETCore.Platforms.csproj index 61622bc5296c..c7646fbae204 100644 --- a/csharp/ql/test/resources/stubs/Microsoft.NETCore.Platforms/3.1.0/Microsoft.NETCore.Platforms.csproj +++ b/csharp/ql/test/resources/stubs/Microsoft.NETCore.Platforms/3.1.0/Microsoft.NETCore.Platforms.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/Microsoft.NETCore.Targets/1.1.0/Microsoft.NETCore.Targets.csproj b/csharp/ql/test/resources/stubs/Microsoft.NETCore.Targets/1.1.0/Microsoft.NETCore.Targets.csproj index 61622bc5296c..c7646fbae204 100644 --- a/csharp/ql/test/resources/stubs/Microsoft.NETCore.Targets/1.1.0/Microsoft.NETCore.Targets.csproj +++ b/csharp/ql/test/resources/stubs/Microsoft.NETCore.Targets/1.1.0/Microsoft.NETCore.Targets.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/Microsoft.Win32.Primitives/4.3.0/Microsoft.Win32.Primitives.csproj b/csharp/ql/test/resources/stubs/Microsoft.Win32.Primitives/4.3.0/Microsoft.Win32.Primitives.csproj index 3f330ea92b93..db450608bc56 100644 --- a/csharp/ql/test/resources/stubs/Microsoft.Win32.Primitives/4.3.0/Microsoft.Win32.Primitives.csproj +++ b/csharp/ql/test/resources/stubs/Microsoft.Win32.Primitives/4.3.0/Microsoft.Win32.Primitives.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/Microsoft.Win32.Registry/4.7.0/Microsoft.Win32.Registry.csproj b/csharp/ql/test/resources/stubs/Microsoft.Win32.Registry/4.7.0/Microsoft.Win32.Registry.csproj index 16712452bb57..d1c554af8c17 100644 --- a/csharp/ql/test/resources/stubs/Microsoft.Win32.Registry/4.7.0/Microsoft.Win32.Registry.csproj +++ b/csharp/ql/test/resources/stubs/Microsoft.Win32.Registry/4.7.0/Microsoft.Win32.Registry.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/Microsoft.Win32.SystemEvents/6.0.0/Microsoft.Win32.SystemEvents.csproj b/csharp/ql/test/resources/stubs/Microsoft.Win32.SystemEvents/6.0.0/Microsoft.Win32.SystemEvents.csproj index 61622bc5296c..c7646fbae204 100644 --- a/csharp/ql/test/resources/stubs/Microsoft.Win32.SystemEvents/6.0.0/Microsoft.Win32.SystemEvents.csproj +++ b/csharp/ql/test/resources/stubs/Microsoft.Win32.SystemEvents/6.0.0/Microsoft.Win32.SystemEvents.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/NETStandard.Library/1.6.1/NETStandard.Library.csproj b/csharp/ql/test/resources/stubs/NETStandard.Library/1.6.1/NETStandard.Library.csproj index 28cc59552fb4..8e22b3ef0714 100644 --- a/csharp/ql/test/resources/stubs/NETStandard.Library/1.6.1/NETStandard.Library.csproj +++ b/csharp/ql/test/resources/stubs/NETStandard.Library/1.6.1/NETStandard.Library.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/NHibernate/5.4.7/NHibernate.csproj b/csharp/ql/test/resources/stubs/NHibernate/5.4.7/NHibernate.csproj index a8ea6c51033e..ecb2dae082bc 100644 --- a/csharp/ql/test/resources/stubs/NHibernate/5.4.7/NHibernate.csproj +++ b/csharp/ql/test/resources/stubs/NHibernate/5.4.7/NHibernate.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/Newtonsoft.Json/13.0.3/Newtonsoft.Json.csproj b/csharp/ql/test/resources/stubs/Newtonsoft.Json/13.0.3/Newtonsoft.Json.csproj index 61622bc5296c..c7646fbae204 100644 --- a/csharp/ql/test/resources/stubs/Newtonsoft.Json/13.0.3/Newtonsoft.Json.csproj +++ b/csharp/ql/test/resources/stubs/Newtonsoft.Json/13.0.3/Newtonsoft.Json.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/Remotion.Linq.EagerFetching/2.2.0/Remotion.Linq.EagerFetching.csproj b/csharp/ql/test/resources/stubs/Remotion.Linq.EagerFetching/2.2.0/Remotion.Linq.EagerFetching.csproj index 47626505cb9c..c1ed1379cbda 100644 --- a/csharp/ql/test/resources/stubs/Remotion.Linq.EagerFetching/2.2.0/Remotion.Linq.EagerFetching.csproj +++ b/csharp/ql/test/resources/stubs/Remotion.Linq.EagerFetching/2.2.0/Remotion.Linq.EagerFetching.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/Remotion.Linq/2.2.0/Remotion.Linq.csproj b/csharp/ql/test/resources/stubs/Remotion.Linq/2.2.0/Remotion.Linq.csproj index 7804bd3e5528..d6c4929252c5 100644 --- a/csharp/ql/test/resources/stubs/Remotion.Linq/2.2.0/Remotion.Linq.csproj +++ b/csharp/ql/test/resources/stubs/Remotion.Linq/2.2.0/Remotion.Linq.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/ServiceStack.Client/8.0.0/ServiceStack.Client.csproj b/csharp/ql/test/resources/stubs/ServiceStack.Client/8.0.0/ServiceStack.Client.csproj index 87757811bc5d..cfcee25916a8 100644 --- a/csharp/ql/test/resources/stubs/ServiceStack.Client/8.0.0/ServiceStack.Client.csproj +++ b/csharp/ql/test/resources/stubs/ServiceStack.Client/8.0.0/ServiceStack.Client.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/ServiceStack.Common/8.0.0/ServiceStack.Common.csproj b/csharp/ql/test/resources/stubs/ServiceStack.Common/8.0.0/ServiceStack.Common.csproj index 31cd858c123a..9528c1b201ac 100644 --- a/csharp/ql/test/resources/stubs/ServiceStack.Common/8.0.0/ServiceStack.Common.csproj +++ b/csharp/ql/test/resources/stubs/ServiceStack.Common/8.0.0/ServiceStack.Common.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/ServiceStack.Interfaces/8.0.0/ServiceStack.Interfaces.csproj b/csharp/ql/test/resources/stubs/ServiceStack.Interfaces/8.0.0/ServiceStack.Interfaces.csproj index 61622bc5296c..c7646fbae204 100644 --- a/csharp/ql/test/resources/stubs/ServiceStack.Interfaces/8.0.0/ServiceStack.Interfaces.csproj +++ b/csharp/ql/test/resources/stubs/ServiceStack.Interfaces/8.0.0/ServiceStack.Interfaces.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/ServiceStack.OrmLite.SqlServer/8.0.0/ServiceStack.OrmLite.SqlServer.csproj b/csharp/ql/test/resources/stubs/ServiceStack.OrmLite.SqlServer/8.0.0/ServiceStack.OrmLite.SqlServer.csproj index e41f3957573f..fd266ab85305 100644 --- a/csharp/ql/test/resources/stubs/ServiceStack.OrmLite.SqlServer/8.0.0/ServiceStack.OrmLite.SqlServer.csproj +++ b/csharp/ql/test/resources/stubs/ServiceStack.OrmLite.SqlServer/8.0.0/ServiceStack.OrmLite.SqlServer.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/ServiceStack.OrmLite/8.0.0/ServiceStack.OrmLite.csproj b/csharp/ql/test/resources/stubs/ServiceStack.OrmLite/8.0.0/ServiceStack.OrmLite.csproj index 9e2be7e1342a..612c11986e5a 100644 --- a/csharp/ql/test/resources/stubs/ServiceStack.OrmLite/8.0.0/ServiceStack.OrmLite.csproj +++ b/csharp/ql/test/resources/stubs/ServiceStack.OrmLite/8.0.0/ServiceStack.OrmLite.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/ServiceStack.Text/8.0.0/ServiceStack.Text.csproj b/csharp/ql/test/resources/stubs/ServiceStack.Text/8.0.0/ServiceStack.Text.csproj index d52b8950187c..f47ae39c2dd0 100644 --- a/csharp/ql/test/resources/stubs/ServiceStack.Text/8.0.0/ServiceStack.Text.csproj +++ b/csharp/ql/test/resources/stubs/ServiceStack.Text/8.0.0/ServiceStack.Text.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/ServiceStack/8.0.0/ServiceStack.csproj b/csharp/ql/test/resources/stubs/ServiceStack/8.0.0/ServiceStack.csproj index 48a94bf1c5c7..b3a2b6df735b 100644 --- a/csharp/ql/test/resources/stubs/ServiceStack/8.0.0/ServiceStack.csproj +++ b/csharp/ql/test/resources/stubs/ServiceStack/8.0.0/ServiceStack.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/Stub.System.Data.SQLite.Core.NetStandard/1.0.118/Stub.System.Data.SQLite.Core.NetStandard.csproj b/csharp/ql/test/resources/stubs/Stub.System.Data.SQLite.Core.NetStandard/1.0.118/Stub.System.Data.SQLite.Core.NetStandard.csproj index 61622bc5296c..c7646fbae204 100644 --- a/csharp/ql/test/resources/stubs/Stub.System.Data.SQLite.Core.NetStandard/1.0.118/Stub.System.Data.SQLite.Core.NetStandard.csproj +++ b/csharp/ql/test/resources/stubs/Stub.System.Data.SQLite.Core.NetStandard/1.0.118/Stub.System.Data.SQLite.Core.NetStandard.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/System.AppContext/4.3.0/System.AppContext.csproj b/csharp/ql/test/resources/stubs/System.AppContext/4.3.0/System.AppContext.csproj index eedea2ceb3c5..05ae99d36ae6 100644 --- a/csharp/ql/test/resources/stubs/System.AppContext/4.3.0/System.AppContext.csproj +++ b/csharp/ql/test/resources/stubs/System.AppContext/4.3.0/System.AppContext.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/System.Buffers/4.3.0/System.Buffers.csproj b/csharp/ql/test/resources/stubs/System.Buffers/4.3.0/System.Buffers.csproj index 3de5fd5d2fb7..461a9c76cd82 100644 --- a/csharp/ql/test/resources/stubs/System.Buffers/4.3.0/System.Buffers.csproj +++ b/csharp/ql/test/resources/stubs/System.Buffers/4.3.0/System.Buffers.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/System.CodeDom/4.7.0/System.CodeDom.csproj b/csharp/ql/test/resources/stubs/System.CodeDom/4.7.0/System.CodeDom.csproj index 61622bc5296c..c7646fbae204 100644 --- a/csharp/ql/test/resources/stubs/System.CodeDom/4.7.0/System.CodeDom.csproj +++ b/csharp/ql/test/resources/stubs/System.CodeDom/4.7.0/System.CodeDom.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/System.Collections.Concurrent/4.3.0/System.Collections.Concurrent.csproj b/csharp/ql/test/resources/stubs/System.Collections.Concurrent/4.3.0/System.Collections.Concurrent.csproj index 43202c093875..e14050e856c7 100644 --- a/csharp/ql/test/resources/stubs/System.Collections.Concurrent/4.3.0/System.Collections.Concurrent.csproj +++ b/csharp/ql/test/resources/stubs/System.Collections.Concurrent/4.3.0/System.Collections.Concurrent.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/System.Collections.NonGeneric/4.3.0/System.Collections.NonGeneric.csproj b/csharp/ql/test/resources/stubs/System.Collections.NonGeneric/4.3.0/System.Collections.NonGeneric.csproj index 9405dc7c7123..c90f517b0d7d 100644 --- a/csharp/ql/test/resources/stubs/System.Collections.NonGeneric/4.3.0/System.Collections.NonGeneric.csproj +++ b/csharp/ql/test/resources/stubs/System.Collections.NonGeneric/4.3.0/System.Collections.NonGeneric.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/System.Collections/4.3.0/System.Collections.csproj b/csharp/ql/test/resources/stubs/System.Collections/4.3.0/System.Collections.csproj index 3f330ea92b93..db450608bc56 100644 --- a/csharp/ql/test/resources/stubs/System.Collections/4.3.0/System.Collections.csproj +++ b/csharp/ql/test/resources/stubs/System.Collections/4.3.0/System.Collections.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/System.ComponentModel.Annotations/5.0.0/System.ComponentModel.Annotations.csproj b/csharp/ql/test/resources/stubs/System.ComponentModel.Annotations/5.0.0/System.ComponentModel.Annotations.csproj index 61622bc5296c..c7646fbae204 100644 --- a/csharp/ql/test/resources/stubs/System.ComponentModel.Annotations/5.0.0/System.ComponentModel.Annotations.csproj +++ b/csharp/ql/test/resources/stubs/System.ComponentModel.Annotations/5.0.0/System.ComponentModel.Annotations.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/System.ComponentModel.Primitives/4.3.0/System.ComponentModel.Primitives.csproj b/csharp/ql/test/resources/stubs/System.ComponentModel.Primitives/4.3.0/System.ComponentModel.Primitives.csproj index 49b42f6256e4..a3f8fc48b0ce 100644 --- a/csharp/ql/test/resources/stubs/System.ComponentModel.Primitives/4.3.0/System.ComponentModel.Primitives.csproj +++ b/csharp/ql/test/resources/stubs/System.ComponentModel.Primitives/4.3.0/System.ComponentModel.Primitives.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/System.ComponentModel/4.3.0/System.ComponentModel.csproj b/csharp/ql/test/resources/stubs/System.ComponentModel/4.3.0/System.ComponentModel.csproj index eedea2ceb3c5..05ae99d36ae6 100644 --- a/csharp/ql/test/resources/stubs/System.ComponentModel/4.3.0/System.ComponentModel.csproj +++ b/csharp/ql/test/resources/stubs/System.ComponentModel/4.3.0/System.ComponentModel.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/System.Configuration.ConfigurationManager/6.0.0/System.Configuration.ConfigurationManager.csproj b/csharp/ql/test/resources/stubs/System.Configuration.ConfigurationManager/6.0.0/System.Configuration.ConfigurationManager.csproj index f4d8c459feb9..0fb5c831ef48 100644 --- a/csharp/ql/test/resources/stubs/System.Configuration.ConfigurationManager/6.0.0/System.Configuration.ConfigurationManager.csproj +++ b/csharp/ql/test/resources/stubs/System.Configuration.ConfigurationManager/6.0.0/System.Configuration.ConfigurationManager.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/System.Configuration.ConfigurationManager/8.0.0/System.Configuration.ConfigurationManager.csproj b/csharp/ql/test/resources/stubs/System.Configuration.ConfigurationManager/8.0.0/System.Configuration.ConfigurationManager.csproj index aca3cc90fda3..667751f24f8b 100644 --- a/csharp/ql/test/resources/stubs/System.Configuration.ConfigurationManager/8.0.0/System.Configuration.ConfigurationManager.csproj +++ b/csharp/ql/test/resources/stubs/System.Configuration.ConfigurationManager/8.0.0/System.Configuration.ConfigurationManager.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/System.Console/4.3.0/System.Console.csproj b/csharp/ql/test/resources/stubs/System.Console/4.3.0/System.Console.csproj index 56d50420a3bb..f7904b15ea98 100644 --- a/csharp/ql/test/resources/stubs/System.Console/4.3.0/System.Console.csproj +++ b/csharp/ql/test/resources/stubs/System.Console/4.3.0/System.Console.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/System.Data.OleDb/8.0.0/System.Data.OleDb.csproj b/csharp/ql/test/resources/stubs/System.Data.OleDb/8.0.0/System.Data.OleDb.csproj index 5d32dddf523b..2d971f7e28d3 100644 --- a/csharp/ql/test/resources/stubs/System.Data.OleDb/8.0.0/System.Data.OleDb.csproj +++ b/csharp/ql/test/resources/stubs/System.Data.OleDb/8.0.0/System.Data.OleDb.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/System.Data.SQLite.Core/1.0.118/System.Data.SQLite.Core.csproj b/csharp/ql/test/resources/stubs/System.Data.SQLite.Core/1.0.118/System.Data.SQLite.Core.csproj index 6261e40e6e1b..ef421dea523f 100644 --- a/csharp/ql/test/resources/stubs/System.Data.SQLite.Core/1.0.118/System.Data.SQLite.Core.csproj +++ b/csharp/ql/test/resources/stubs/System.Data.SQLite.Core/1.0.118/System.Data.SQLite.Core.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/System.Data.SQLite.EF6/1.0.118/System.Data.SQLite.EF6.csproj b/csharp/ql/test/resources/stubs/System.Data.SQLite.EF6/1.0.118/System.Data.SQLite.EF6.csproj index 103dc686e354..7c63e4386aec 100644 --- a/csharp/ql/test/resources/stubs/System.Data.SQLite.EF6/1.0.118/System.Data.SQLite.EF6.csproj +++ b/csharp/ql/test/resources/stubs/System.Data.SQLite.EF6/1.0.118/System.Data.SQLite.EF6.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/System.Data.SQLite/1.0.118/System.Data.SQLite.csproj b/csharp/ql/test/resources/stubs/System.Data.SQLite/1.0.118/System.Data.SQLite.csproj index 6597dafaab78..51f6a87e102f 100644 --- a/csharp/ql/test/resources/stubs/System.Data.SQLite/1.0.118/System.Data.SQLite.csproj +++ b/csharp/ql/test/resources/stubs/System.Data.SQLite/1.0.118/System.Data.SQLite.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/System.Data.SqlClient/4.8.5/System.Data.SqlClient.csproj b/csharp/ql/test/resources/stubs/System.Data.SqlClient/4.8.5/System.Data.SqlClient.csproj index 771049ea6404..14d16d202ed0 100644 --- a/csharp/ql/test/resources/stubs/System.Data.SqlClient/4.8.5/System.Data.SqlClient.csproj +++ b/csharp/ql/test/resources/stubs/System.Data.SqlClient/4.8.5/System.Data.SqlClient.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/System.Diagnostics.Debug/4.3.0/System.Diagnostics.Debug.csproj b/csharp/ql/test/resources/stubs/System.Diagnostics.Debug/4.3.0/System.Diagnostics.Debug.csproj index 3f330ea92b93..db450608bc56 100644 --- a/csharp/ql/test/resources/stubs/System.Diagnostics.Debug/4.3.0/System.Diagnostics.Debug.csproj +++ b/csharp/ql/test/resources/stubs/System.Diagnostics.Debug/4.3.0/System.Diagnostics.Debug.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/System.Diagnostics.DiagnosticSource/6.0.0/System.Diagnostics.DiagnosticSource.csproj b/csharp/ql/test/resources/stubs/System.Diagnostics.DiagnosticSource/6.0.0/System.Diagnostics.DiagnosticSource.csproj index 105b29a4077a..44f3b6c98d18 100644 --- a/csharp/ql/test/resources/stubs/System.Diagnostics.DiagnosticSource/6.0.0/System.Diagnostics.DiagnosticSource.csproj +++ b/csharp/ql/test/resources/stubs/System.Diagnostics.DiagnosticSource/6.0.0/System.Diagnostics.DiagnosticSource.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/System.Diagnostics.EventLog/8.0.0/System.Diagnostics.EventLog.csproj b/csharp/ql/test/resources/stubs/System.Diagnostics.EventLog/8.0.0/System.Diagnostics.EventLog.csproj index 61622bc5296c..c7646fbae204 100644 --- a/csharp/ql/test/resources/stubs/System.Diagnostics.EventLog/8.0.0/System.Diagnostics.EventLog.csproj +++ b/csharp/ql/test/resources/stubs/System.Diagnostics.EventLog/8.0.0/System.Diagnostics.EventLog.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/System.Diagnostics.PerformanceCounter/8.0.0/System.Diagnostics.PerformanceCounter.csproj b/csharp/ql/test/resources/stubs/System.Diagnostics.PerformanceCounter/8.0.0/System.Diagnostics.PerformanceCounter.csproj index 6ea89ebc26b7..940cf37d4051 100644 --- a/csharp/ql/test/resources/stubs/System.Diagnostics.PerformanceCounter/8.0.0/System.Diagnostics.PerformanceCounter.csproj +++ b/csharp/ql/test/resources/stubs/System.Diagnostics.PerformanceCounter/8.0.0/System.Diagnostics.PerformanceCounter.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/System.Diagnostics.Tools/4.3.0/System.Diagnostics.Tools.csproj b/csharp/ql/test/resources/stubs/System.Diagnostics.Tools/4.3.0/System.Diagnostics.Tools.csproj index 3f330ea92b93..db450608bc56 100644 --- a/csharp/ql/test/resources/stubs/System.Diagnostics.Tools/4.3.0/System.Diagnostics.Tools.csproj +++ b/csharp/ql/test/resources/stubs/System.Diagnostics.Tools/4.3.0/System.Diagnostics.Tools.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/System.Diagnostics.Tracing/4.3.0/System.Diagnostics.Tracing.csproj b/csharp/ql/test/resources/stubs/System.Diagnostics.Tracing/4.3.0/System.Diagnostics.Tracing.csproj index 3f330ea92b93..db450608bc56 100644 --- a/csharp/ql/test/resources/stubs/System.Diagnostics.Tracing/4.3.0/System.Diagnostics.Tracing.csproj +++ b/csharp/ql/test/resources/stubs/System.Diagnostics.Tracing/4.3.0/System.Diagnostics.Tracing.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/System.Drawing.Common/6.0.0/System.Drawing.Common.csproj b/csharp/ql/test/resources/stubs/System.Drawing.Common/6.0.0/System.Drawing.Common.csproj index 2867bcd7ddfd..e98953c444a8 100644 --- a/csharp/ql/test/resources/stubs/System.Drawing.Common/6.0.0/System.Drawing.Common.csproj +++ b/csharp/ql/test/resources/stubs/System.Drawing.Common/6.0.0/System.Drawing.Common.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/System.Dynamic.Runtime/4.3.0/System.Dynamic.Runtime.csproj b/csharp/ql/test/resources/stubs/System.Dynamic.Runtime/4.3.0/System.Dynamic.Runtime.csproj index b2092da3e556..d22ce2d8ece6 100644 --- a/csharp/ql/test/resources/stubs/System.Dynamic.Runtime/4.3.0/System.Dynamic.Runtime.csproj +++ b/csharp/ql/test/resources/stubs/System.Dynamic.Runtime/4.3.0/System.Dynamic.Runtime.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/System.Globalization.Calendars/4.3.0/System.Globalization.Calendars.csproj b/csharp/ql/test/resources/stubs/System.Globalization.Calendars/4.3.0/System.Globalization.Calendars.csproj index ada9cced7e80..4ae99ff61b19 100644 --- a/csharp/ql/test/resources/stubs/System.Globalization.Calendars/4.3.0/System.Globalization.Calendars.csproj +++ b/csharp/ql/test/resources/stubs/System.Globalization.Calendars/4.3.0/System.Globalization.Calendars.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/System.Globalization.Extensions/4.3.0/System.Globalization.Extensions.csproj b/csharp/ql/test/resources/stubs/System.Globalization.Extensions/4.3.0/System.Globalization.Extensions.csproj index eae80e844941..a0326b9978ea 100644 --- a/csharp/ql/test/resources/stubs/System.Globalization.Extensions/4.3.0/System.Globalization.Extensions.csproj +++ b/csharp/ql/test/resources/stubs/System.Globalization.Extensions/4.3.0/System.Globalization.Extensions.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/System.Globalization/4.3.0/System.Globalization.csproj b/csharp/ql/test/resources/stubs/System.Globalization/4.3.0/System.Globalization.csproj index 3f330ea92b93..db450608bc56 100644 --- a/csharp/ql/test/resources/stubs/System.Globalization/4.3.0/System.Globalization.csproj +++ b/csharp/ql/test/resources/stubs/System.Globalization/4.3.0/System.Globalization.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/System.IO.Compression.ZipFile/4.3.0/System.IO.Compression.ZipFile.csproj b/csharp/ql/test/resources/stubs/System.IO.Compression.ZipFile/4.3.0/System.IO.Compression.ZipFile.csproj index 9ea0cb694d3f..aa49337117c3 100644 --- a/csharp/ql/test/resources/stubs/System.IO.Compression.ZipFile/4.3.0/System.IO.Compression.ZipFile.csproj +++ b/csharp/ql/test/resources/stubs/System.IO.Compression.ZipFile/4.3.0/System.IO.Compression.ZipFile.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/System.IO.Compression/4.3.0/System.IO.Compression.csproj b/csharp/ql/test/resources/stubs/System.IO.Compression/4.3.0/System.IO.Compression.csproj index 571ca8ac7023..3cba3792b5c9 100644 --- a/csharp/ql/test/resources/stubs/System.IO.Compression/4.3.0/System.IO.Compression.csproj +++ b/csharp/ql/test/resources/stubs/System.IO.Compression/4.3.0/System.IO.Compression.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/System.IO.FileSystem.Primitives/4.3.0/System.IO.FileSystem.Primitives.csproj b/csharp/ql/test/resources/stubs/System.IO.FileSystem.Primitives/4.3.0/System.IO.FileSystem.Primitives.csproj index eedea2ceb3c5..05ae99d36ae6 100644 --- a/csharp/ql/test/resources/stubs/System.IO.FileSystem.Primitives/4.3.0/System.IO.FileSystem.Primitives.csproj +++ b/csharp/ql/test/resources/stubs/System.IO.FileSystem.Primitives/4.3.0/System.IO.FileSystem.Primitives.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/System.IO.FileSystem/4.3.0/System.IO.FileSystem.csproj b/csharp/ql/test/resources/stubs/System.IO.FileSystem/4.3.0/System.IO.FileSystem.csproj index 29f8407694c0..1a793bec2073 100644 --- a/csharp/ql/test/resources/stubs/System.IO.FileSystem/4.3.0/System.IO.FileSystem.csproj +++ b/csharp/ql/test/resources/stubs/System.IO.FileSystem/4.3.0/System.IO.FileSystem.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/System.IO/4.3.0/System.IO.csproj b/csharp/ql/test/resources/stubs/System.IO/4.3.0/System.IO.csproj index 5f5c9da5ddde..6d81c1f3f9e0 100644 --- a/csharp/ql/test/resources/stubs/System.IO/4.3.0/System.IO.csproj +++ b/csharp/ql/test/resources/stubs/System.IO/4.3.0/System.IO.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/System.Linq.Expressions/4.3.0/System.Linq.Expressions.csproj b/csharp/ql/test/resources/stubs/System.Linq.Expressions/4.3.0/System.Linq.Expressions.csproj index 0af3dc685d2f..2942048df30e 100644 --- a/csharp/ql/test/resources/stubs/System.Linq.Expressions/4.3.0/System.Linq.Expressions.csproj +++ b/csharp/ql/test/resources/stubs/System.Linq.Expressions/4.3.0/System.Linq.Expressions.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/System.Linq.Queryable/4.0.1/System.Linq.Queryable.csproj b/csharp/ql/test/resources/stubs/System.Linq.Queryable/4.0.1/System.Linq.Queryable.csproj index 2f932907bcdc..1b9179010ea4 100644 --- a/csharp/ql/test/resources/stubs/System.Linq.Queryable/4.0.1/System.Linq.Queryable.csproj +++ b/csharp/ql/test/resources/stubs/System.Linq.Queryable/4.0.1/System.Linq.Queryable.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/System.Linq/4.3.0/System.Linq.csproj b/csharp/ql/test/resources/stubs/System.Linq/4.3.0/System.Linq.csproj index 8e5bc7596e35..df71d560e137 100644 --- a/csharp/ql/test/resources/stubs/System.Linq/4.3.0/System.Linq.csproj +++ b/csharp/ql/test/resources/stubs/System.Linq/4.3.0/System.Linq.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/System.Memory/4.5.5/System.Memory.csproj b/csharp/ql/test/resources/stubs/System.Memory/4.5.5/System.Memory.csproj index 61622bc5296c..c7646fbae204 100644 --- a/csharp/ql/test/resources/stubs/System.Memory/4.5.5/System.Memory.csproj +++ b/csharp/ql/test/resources/stubs/System.Memory/4.5.5/System.Memory.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/System.Net.Http/4.3.0/System.Net.Http.csproj b/csharp/ql/test/resources/stubs/System.Net.Http/4.3.0/System.Net.Http.csproj index 8f34cf081282..c1ae5bf67432 100644 --- a/csharp/ql/test/resources/stubs/System.Net.Http/4.3.0/System.Net.Http.csproj +++ b/csharp/ql/test/resources/stubs/System.Net.Http/4.3.0/System.Net.Http.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/System.Net.Primitives/4.3.0/System.Net.Primitives.csproj b/csharp/ql/test/resources/stubs/System.Net.Primitives/4.3.0/System.Net.Primitives.csproj index 6a8c1133b6aa..e9dd3007c6e2 100644 --- a/csharp/ql/test/resources/stubs/System.Net.Primitives/4.3.0/System.Net.Primitives.csproj +++ b/csharp/ql/test/resources/stubs/System.Net.Primitives/4.3.0/System.Net.Primitives.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/System.Net.Sockets/4.3.0/System.Net.Sockets.csproj b/csharp/ql/test/resources/stubs/System.Net.Sockets/4.3.0/System.Net.Sockets.csproj index 5448cc1e8d44..6f404cfd263b 100644 --- a/csharp/ql/test/resources/stubs/System.Net.Sockets/4.3.0/System.Net.Sockets.csproj +++ b/csharp/ql/test/resources/stubs/System.Net.Sockets/4.3.0/System.Net.Sockets.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/System.ObjectModel/4.3.0/System.ObjectModel.csproj b/csharp/ql/test/resources/stubs/System.ObjectModel/4.3.0/System.ObjectModel.csproj index f7895d929a1a..6aa1406d634d 100644 --- a/csharp/ql/test/resources/stubs/System.ObjectModel/4.3.0/System.ObjectModel.csproj +++ b/csharp/ql/test/resources/stubs/System.ObjectModel/4.3.0/System.ObjectModel.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/System.Reflection.Emit.ILGeneration/4.3.0/System.Reflection.Emit.ILGeneration.csproj b/csharp/ql/test/resources/stubs/System.Reflection.Emit.ILGeneration/4.3.0/System.Reflection.Emit.ILGeneration.csproj index 168e2690d6e1..80dffb6c91a3 100644 --- a/csharp/ql/test/resources/stubs/System.Reflection.Emit.ILGeneration/4.3.0/System.Reflection.Emit.ILGeneration.csproj +++ b/csharp/ql/test/resources/stubs/System.Reflection.Emit.ILGeneration/4.3.0/System.Reflection.Emit.ILGeneration.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/System.Reflection.Emit.Lightweight/4.7.0/System.Reflection.Emit.Lightweight.csproj b/csharp/ql/test/resources/stubs/System.Reflection.Emit.Lightweight/4.7.0/System.Reflection.Emit.Lightweight.csproj index 61622bc5296c..c7646fbae204 100644 --- a/csharp/ql/test/resources/stubs/System.Reflection.Emit.Lightweight/4.7.0/System.Reflection.Emit.Lightweight.csproj +++ b/csharp/ql/test/resources/stubs/System.Reflection.Emit.Lightweight/4.7.0/System.Reflection.Emit.Lightweight.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/System.Reflection.Emit/4.7.0/System.Reflection.Emit.csproj b/csharp/ql/test/resources/stubs/System.Reflection.Emit/4.7.0/System.Reflection.Emit.csproj index 61622bc5296c..c7646fbae204 100644 --- a/csharp/ql/test/resources/stubs/System.Reflection.Emit/4.7.0/System.Reflection.Emit.csproj +++ b/csharp/ql/test/resources/stubs/System.Reflection.Emit/4.7.0/System.Reflection.Emit.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/System.Reflection.Extensions/4.3.0/System.Reflection.Extensions.csproj b/csharp/ql/test/resources/stubs/System.Reflection.Extensions/4.3.0/System.Reflection.Extensions.csproj index 04f8570acc52..28562e7f81a8 100644 --- a/csharp/ql/test/resources/stubs/System.Reflection.Extensions/4.3.0/System.Reflection.Extensions.csproj +++ b/csharp/ql/test/resources/stubs/System.Reflection.Extensions/4.3.0/System.Reflection.Extensions.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/System.Reflection.Primitives/4.3.0/System.Reflection.Primitives.csproj b/csharp/ql/test/resources/stubs/System.Reflection.Primitives/4.3.0/System.Reflection.Primitives.csproj index 3f330ea92b93..db450608bc56 100644 --- a/csharp/ql/test/resources/stubs/System.Reflection.Primitives/4.3.0/System.Reflection.Primitives.csproj +++ b/csharp/ql/test/resources/stubs/System.Reflection.Primitives/4.3.0/System.Reflection.Primitives.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/System.Reflection.TypeExtensions/4.7.0/System.Reflection.TypeExtensions.csproj b/csharp/ql/test/resources/stubs/System.Reflection.TypeExtensions/4.7.0/System.Reflection.TypeExtensions.csproj index 61622bc5296c..c7646fbae204 100644 --- a/csharp/ql/test/resources/stubs/System.Reflection.TypeExtensions/4.7.0/System.Reflection.TypeExtensions.csproj +++ b/csharp/ql/test/resources/stubs/System.Reflection.TypeExtensions/4.7.0/System.Reflection.TypeExtensions.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/System.Reflection/4.3.0/System.Reflection.csproj b/csharp/ql/test/resources/stubs/System.Reflection/4.3.0/System.Reflection.csproj index 4c9aaa8917a8..2979d196c842 100644 --- a/csharp/ql/test/resources/stubs/System.Reflection/4.3.0/System.Reflection.csproj +++ b/csharp/ql/test/resources/stubs/System.Reflection/4.3.0/System.Reflection.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/System.Resources.ResourceManager/4.3.0/System.Resources.ResourceManager.csproj b/csharp/ql/test/resources/stubs/System.Resources.ResourceManager/4.3.0/System.Resources.ResourceManager.csproj index 244dbe7b4f2f..f13388a0b79d 100644 --- a/csharp/ql/test/resources/stubs/System.Resources.ResourceManager/4.3.0/System.Resources.ResourceManager.csproj +++ b/csharp/ql/test/resources/stubs/System.Resources.ResourceManager/4.3.0/System.Resources.ResourceManager.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/System.Runtime.CompilerServices.Unsafe/6.0.0/System.Runtime.CompilerServices.Unsafe.csproj b/csharp/ql/test/resources/stubs/System.Runtime.CompilerServices.Unsafe/6.0.0/System.Runtime.CompilerServices.Unsafe.csproj index 61622bc5296c..c7646fbae204 100644 --- a/csharp/ql/test/resources/stubs/System.Runtime.CompilerServices.Unsafe/6.0.0/System.Runtime.CompilerServices.Unsafe.csproj +++ b/csharp/ql/test/resources/stubs/System.Runtime.CompilerServices.Unsafe/6.0.0/System.Runtime.CompilerServices.Unsafe.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/System.Runtime.Extensions/4.3.0/System.Runtime.Extensions.csproj b/csharp/ql/test/resources/stubs/System.Runtime.Extensions/4.3.0/System.Runtime.Extensions.csproj index 3f330ea92b93..db450608bc56 100644 --- a/csharp/ql/test/resources/stubs/System.Runtime.Extensions/4.3.0/System.Runtime.Extensions.csproj +++ b/csharp/ql/test/resources/stubs/System.Runtime.Extensions/4.3.0/System.Runtime.Extensions.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/System.Runtime.Handles/4.3.0/System.Runtime.Handles.csproj b/csharp/ql/test/resources/stubs/System.Runtime.Handles/4.3.0/System.Runtime.Handles.csproj index 3f330ea92b93..db450608bc56 100644 --- a/csharp/ql/test/resources/stubs/System.Runtime.Handles/4.3.0/System.Runtime.Handles.csproj +++ b/csharp/ql/test/resources/stubs/System.Runtime.Handles/4.3.0/System.Runtime.Handles.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/System.Runtime.InteropServices.RuntimeInformation/4.3.0/System.Runtime.InteropServices.RuntimeInformation.csproj b/csharp/ql/test/resources/stubs/System.Runtime.InteropServices.RuntimeInformation/4.3.0/System.Runtime.InteropServices.RuntimeInformation.csproj index 2b9d6db8e7d2..6f9c25eb7441 100644 --- a/csharp/ql/test/resources/stubs/System.Runtime.InteropServices.RuntimeInformation/4.3.0/System.Runtime.InteropServices.RuntimeInformation.csproj +++ b/csharp/ql/test/resources/stubs/System.Runtime.InteropServices.RuntimeInformation/4.3.0/System.Runtime.InteropServices.RuntimeInformation.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/System.Runtime.InteropServices/4.3.0/System.Runtime.InteropServices.csproj b/csharp/ql/test/resources/stubs/System.Runtime.InteropServices/4.3.0/System.Runtime.InteropServices.csproj index 662d4b0211bc..0750843c2df6 100644 --- a/csharp/ql/test/resources/stubs/System.Runtime.InteropServices/4.3.0/System.Runtime.InteropServices.csproj +++ b/csharp/ql/test/resources/stubs/System.Runtime.InteropServices/4.3.0/System.Runtime.InteropServices.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/System.Runtime.Numerics/4.3.0/System.Runtime.Numerics.csproj b/csharp/ql/test/resources/stubs/System.Runtime.Numerics/4.3.0/System.Runtime.Numerics.csproj index 06b8a11a3a06..57754ba8a4e1 100644 --- a/csharp/ql/test/resources/stubs/System.Runtime.Numerics/4.3.0/System.Runtime.Numerics.csproj +++ b/csharp/ql/test/resources/stubs/System.Runtime.Numerics/4.3.0/System.Runtime.Numerics.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/System.Runtime.Serialization.Formatters/4.3.0/System.Runtime.Serialization.Formatters.csproj b/csharp/ql/test/resources/stubs/System.Runtime.Serialization.Formatters/4.3.0/System.Runtime.Serialization.Formatters.csproj index 688fbf926e37..969789e70054 100644 --- a/csharp/ql/test/resources/stubs/System.Runtime.Serialization.Formatters/4.3.0/System.Runtime.Serialization.Formatters.csproj +++ b/csharp/ql/test/resources/stubs/System.Runtime.Serialization.Formatters/4.3.0/System.Runtime.Serialization.Formatters.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/System.Runtime.Serialization.Primitives/4.3.0/System.Runtime.Serialization.Primitives.csproj b/csharp/ql/test/resources/stubs/System.Runtime.Serialization.Primitives/4.3.0/System.Runtime.Serialization.Primitives.csproj index e5981041968d..296b55a60a8f 100644 --- a/csharp/ql/test/resources/stubs/System.Runtime.Serialization.Primitives/4.3.0/System.Runtime.Serialization.Primitives.csproj +++ b/csharp/ql/test/resources/stubs/System.Runtime.Serialization.Primitives/4.3.0/System.Runtime.Serialization.Primitives.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/System.Runtime/4.3.0/System.Runtime.csproj b/csharp/ql/test/resources/stubs/System.Runtime/4.3.0/System.Runtime.csproj index 2753de6e2e9e..02dc0eedbee0 100644 --- a/csharp/ql/test/resources/stubs/System.Runtime/4.3.0/System.Runtime.csproj +++ b/csharp/ql/test/resources/stubs/System.Runtime/4.3.0/System.Runtime.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/System.Security.AccessControl/4.7.0/System.Security.AccessControl.csproj b/csharp/ql/test/resources/stubs/System.Security.AccessControl/4.7.0/System.Security.AccessControl.csproj index d602f3967efe..8f1adeb25730 100644 --- a/csharp/ql/test/resources/stubs/System.Security.AccessControl/4.7.0/System.Security.AccessControl.csproj +++ b/csharp/ql/test/resources/stubs/System.Security.AccessControl/4.7.0/System.Security.AccessControl.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/System.Security.AccessControl/6.0.0/System.Security.AccessControl.csproj b/csharp/ql/test/resources/stubs/System.Security.AccessControl/6.0.0/System.Security.AccessControl.csproj index 61622bc5296c..c7646fbae204 100644 --- a/csharp/ql/test/resources/stubs/System.Security.AccessControl/6.0.0/System.Security.AccessControl.csproj +++ b/csharp/ql/test/resources/stubs/System.Security.AccessControl/6.0.0/System.Security.AccessControl.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/System.Security.Cryptography.Algorithms/4.3.0/System.Security.Cryptography.Algorithms.csproj b/csharp/ql/test/resources/stubs/System.Security.Cryptography.Algorithms/4.3.0/System.Security.Cryptography.Algorithms.csproj index c02ec388dcf9..2612829411e3 100644 --- a/csharp/ql/test/resources/stubs/System.Security.Cryptography.Algorithms/4.3.0/System.Security.Cryptography.Algorithms.csproj +++ b/csharp/ql/test/resources/stubs/System.Security.Cryptography.Algorithms/4.3.0/System.Security.Cryptography.Algorithms.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/System.Security.Cryptography.Cng/4.3.0/System.Security.Cryptography.Cng.csproj b/csharp/ql/test/resources/stubs/System.Security.Cryptography.Cng/4.3.0/System.Security.Cryptography.Cng.csproj index 8b6bdc45f576..ad94b10cd1a6 100644 --- a/csharp/ql/test/resources/stubs/System.Security.Cryptography.Cng/4.3.0/System.Security.Cryptography.Cng.csproj +++ b/csharp/ql/test/resources/stubs/System.Security.Cryptography.Cng/4.3.0/System.Security.Cryptography.Cng.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/System.Security.Cryptography.Csp/4.3.0/System.Security.Cryptography.Csp.csproj b/csharp/ql/test/resources/stubs/System.Security.Cryptography.Csp/4.3.0/System.Security.Cryptography.Csp.csproj index 18435c50e8ec..c4c48bc1cf71 100644 --- a/csharp/ql/test/resources/stubs/System.Security.Cryptography.Csp/4.3.0/System.Security.Cryptography.Csp.csproj +++ b/csharp/ql/test/resources/stubs/System.Security.Cryptography.Csp/4.3.0/System.Security.Cryptography.Csp.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/System.Security.Cryptography.Encoding/4.3.0/System.Security.Cryptography.Encoding.csproj b/csharp/ql/test/resources/stubs/System.Security.Cryptography.Encoding/4.3.0/System.Security.Cryptography.Encoding.csproj index f203f16da16d..fe25f9a89400 100644 --- a/csharp/ql/test/resources/stubs/System.Security.Cryptography.Encoding/4.3.0/System.Security.Cryptography.Encoding.csproj +++ b/csharp/ql/test/resources/stubs/System.Security.Cryptography.Encoding/4.3.0/System.Security.Cryptography.Encoding.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/System.Security.Cryptography.OpenSsl/4.3.0/System.Security.Cryptography.OpenSsl.csproj b/csharp/ql/test/resources/stubs/System.Security.Cryptography.OpenSsl/4.3.0/System.Security.Cryptography.OpenSsl.csproj index 98989a1a9585..8ba6c5da32d0 100644 --- a/csharp/ql/test/resources/stubs/System.Security.Cryptography.OpenSsl/4.3.0/System.Security.Cryptography.OpenSsl.csproj +++ b/csharp/ql/test/resources/stubs/System.Security.Cryptography.OpenSsl/4.3.0/System.Security.Cryptography.OpenSsl.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/System.Security.Cryptography.Primitives/4.3.0/System.Security.Cryptography.Primitives.csproj b/csharp/ql/test/resources/stubs/System.Security.Cryptography.Primitives/4.3.0/System.Security.Cryptography.Primitives.csproj index 01dc9200b712..4ea09d97c5cf 100644 --- a/csharp/ql/test/resources/stubs/System.Security.Cryptography.Primitives/4.3.0/System.Security.Cryptography.Primitives.csproj +++ b/csharp/ql/test/resources/stubs/System.Security.Cryptography.Primitives/4.3.0/System.Security.Cryptography.Primitives.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/System.Security.Cryptography.ProtectedData/6.0.0/System.Security.Cryptography.ProtectedData.csproj b/csharp/ql/test/resources/stubs/System.Security.Cryptography.ProtectedData/6.0.0/System.Security.Cryptography.ProtectedData.csproj index 61622bc5296c..c7646fbae204 100644 --- a/csharp/ql/test/resources/stubs/System.Security.Cryptography.ProtectedData/6.0.0/System.Security.Cryptography.ProtectedData.csproj +++ b/csharp/ql/test/resources/stubs/System.Security.Cryptography.ProtectedData/6.0.0/System.Security.Cryptography.ProtectedData.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/System.Security.Cryptography.ProtectedData/8.0.0/System.Security.Cryptography.ProtectedData.csproj b/csharp/ql/test/resources/stubs/System.Security.Cryptography.ProtectedData/8.0.0/System.Security.Cryptography.ProtectedData.csproj index 61622bc5296c..c7646fbae204 100644 --- a/csharp/ql/test/resources/stubs/System.Security.Cryptography.ProtectedData/8.0.0/System.Security.Cryptography.ProtectedData.csproj +++ b/csharp/ql/test/resources/stubs/System.Security.Cryptography.ProtectedData/8.0.0/System.Security.Cryptography.ProtectedData.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/System.Security.Cryptography.X509Certificates/4.3.0/System.Security.Cryptography.X509Certificates.csproj b/csharp/ql/test/resources/stubs/System.Security.Cryptography.X509Certificates/4.3.0/System.Security.Cryptography.X509Certificates.csproj index 58db72aeedd7..43161445311a 100644 --- a/csharp/ql/test/resources/stubs/System.Security.Cryptography.X509Certificates/4.3.0/System.Security.Cryptography.X509Certificates.csproj +++ b/csharp/ql/test/resources/stubs/System.Security.Cryptography.X509Certificates/4.3.0/System.Security.Cryptography.X509Certificates.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/System.Security.Permissions/6.0.0/System.Security.Permissions.csproj b/csharp/ql/test/resources/stubs/System.Security.Permissions/6.0.0/System.Security.Permissions.csproj index 6eee91e4a0de..17c156f764f7 100644 --- a/csharp/ql/test/resources/stubs/System.Security.Permissions/6.0.0/System.Security.Permissions.csproj +++ b/csharp/ql/test/resources/stubs/System.Security.Permissions/6.0.0/System.Security.Permissions.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/System.Security.Principal.Windows/4.7.0/System.Security.Principal.Windows.csproj b/csharp/ql/test/resources/stubs/System.Security.Principal.Windows/4.7.0/System.Security.Principal.Windows.csproj index 61622bc5296c..c7646fbae204 100644 --- a/csharp/ql/test/resources/stubs/System.Security.Principal.Windows/4.7.0/System.Security.Principal.Windows.csproj +++ b/csharp/ql/test/resources/stubs/System.Security.Principal.Windows/4.7.0/System.Security.Principal.Windows.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/System.Text.Encoding.Extensions/4.3.0/System.Text.Encoding.Extensions.csproj b/csharp/ql/test/resources/stubs/System.Text.Encoding.Extensions/4.3.0/System.Text.Encoding.Extensions.csproj index a5763e7e929e..001908d17268 100644 --- a/csharp/ql/test/resources/stubs/System.Text.Encoding.Extensions/4.3.0/System.Text.Encoding.Extensions.csproj +++ b/csharp/ql/test/resources/stubs/System.Text.Encoding.Extensions/4.3.0/System.Text.Encoding.Extensions.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/System.Text.Encoding/4.3.0/System.Text.Encoding.csproj b/csharp/ql/test/resources/stubs/System.Text.Encoding/4.3.0/System.Text.Encoding.csproj index 3f330ea92b93..db450608bc56 100644 --- a/csharp/ql/test/resources/stubs/System.Text.Encoding/4.3.0/System.Text.Encoding.csproj +++ b/csharp/ql/test/resources/stubs/System.Text.Encoding/4.3.0/System.Text.Encoding.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/System.Text.RegularExpressions/4.3.0/System.Text.RegularExpressions.csproj b/csharp/ql/test/resources/stubs/System.Text.RegularExpressions/4.3.0/System.Text.RegularExpressions.csproj index eedea2ceb3c5..05ae99d36ae6 100644 --- a/csharp/ql/test/resources/stubs/System.Text.RegularExpressions/4.3.0/System.Text.RegularExpressions.csproj +++ b/csharp/ql/test/resources/stubs/System.Text.RegularExpressions/4.3.0/System.Text.RegularExpressions.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/System.Threading.Tasks.Extensions/4.3.0/System.Threading.Tasks.Extensions.csproj b/csharp/ql/test/resources/stubs/System.Threading.Tasks.Extensions/4.3.0/System.Threading.Tasks.Extensions.csproj index 238a9e8005ca..9719080f3140 100644 --- a/csharp/ql/test/resources/stubs/System.Threading.Tasks.Extensions/4.3.0/System.Threading.Tasks.Extensions.csproj +++ b/csharp/ql/test/resources/stubs/System.Threading.Tasks.Extensions/4.3.0/System.Threading.Tasks.Extensions.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/System.Threading.Tasks/4.3.0/System.Threading.Tasks.csproj b/csharp/ql/test/resources/stubs/System.Threading.Tasks/4.3.0/System.Threading.Tasks.csproj index 3f330ea92b93..db450608bc56 100644 --- a/csharp/ql/test/resources/stubs/System.Threading.Tasks/4.3.0/System.Threading.Tasks.csproj +++ b/csharp/ql/test/resources/stubs/System.Threading.Tasks/4.3.0/System.Threading.Tasks.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/System.Threading.Timer/4.3.0/System.Threading.Timer.csproj b/csharp/ql/test/resources/stubs/System.Threading.Timer/4.3.0/System.Threading.Timer.csproj index 3f330ea92b93..db450608bc56 100644 --- a/csharp/ql/test/resources/stubs/System.Threading.Timer/4.3.0/System.Threading.Timer.csproj +++ b/csharp/ql/test/resources/stubs/System.Threading.Timer/4.3.0/System.Threading.Timer.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/System.Threading/4.3.0/System.Threading.csproj b/csharp/ql/test/resources/stubs/System.Threading/4.3.0/System.Threading.csproj index e20b1bd00217..a52b105bcb73 100644 --- a/csharp/ql/test/resources/stubs/System.Threading/4.3.0/System.Threading.csproj +++ b/csharp/ql/test/resources/stubs/System.Threading/4.3.0/System.Threading.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/System.Windows.Extensions/6.0.0/System.Windows.Extensions.csproj b/csharp/ql/test/resources/stubs/System.Windows.Extensions/6.0.0/System.Windows.Extensions.csproj index 6ccc9797b286..50999e71d783 100644 --- a/csharp/ql/test/resources/stubs/System.Windows.Extensions/6.0.0/System.Windows.Extensions.csproj +++ b/csharp/ql/test/resources/stubs/System.Windows.Extensions/6.0.0/System.Windows.Extensions.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/System.Xml.ReaderWriter/4.3.0/System.Xml.ReaderWriter.csproj b/csharp/ql/test/resources/stubs/System.Xml.ReaderWriter/4.3.0/System.Xml.ReaderWriter.csproj index 4f6ef393595f..57b27b200a4c 100644 --- a/csharp/ql/test/resources/stubs/System.Xml.ReaderWriter/4.3.0/System.Xml.ReaderWriter.csproj +++ b/csharp/ql/test/resources/stubs/System.Xml.ReaderWriter/4.3.0/System.Xml.ReaderWriter.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/System.Xml.XDocument/4.3.0/System.Xml.XDocument.csproj b/csharp/ql/test/resources/stubs/System.Xml.XDocument/4.3.0/System.Xml.XDocument.csproj index 089c431ca07c..d594a8ea0f40 100644 --- a/csharp/ql/test/resources/stubs/System.Xml.XDocument/4.3.0/System.Xml.XDocument.csproj +++ b/csharp/ql/test/resources/stubs/System.Xml.XDocument/4.3.0/System.Xml.XDocument.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/System.Xml.XmlDocument/4.3.0/System.Xml.XmlDocument.csproj b/csharp/ql/test/resources/stubs/System.Xml.XmlDocument/4.3.0/System.Xml.XmlDocument.csproj index 39ff4e0fa12b..bc19ef9507fd 100644 --- a/csharp/ql/test/resources/stubs/System.Xml.XmlDocument/4.3.0/System.Xml.XmlDocument.csproj +++ b/csharp/ql/test/resources/stubs/System.Xml.XmlDocument/4.3.0/System.Xml.XmlDocument.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.App.csproj b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.App.csproj index 77d84a43bbf0..adf087e7314c 100644 --- a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.App.csproj +++ b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.App.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/Microsoft.NETCore.App.csproj b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/Microsoft.NETCore.App.csproj index 65a95d1b8b0a..396498c82614 100644 --- a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/Microsoft.NETCore.App.csproj +++ b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/Microsoft.NETCore.App.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0/runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl.csproj b/csharp/ql/test/resources/stubs/runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0/runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl.csproj index 61622bc5296c..c7646fbae204 100644 --- a/csharp/ql/test/resources/stubs/runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0/runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl.csproj +++ b/csharp/ql/test/resources/stubs/runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0/runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0/runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl.csproj b/csharp/ql/test/resources/stubs/runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0/runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl.csproj index 61622bc5296c..c7646fbae204 100644 --- a/csharp/ql/test/resources/stubs/runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0/runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl.csproj +++ b/csharp/ql/test/resources/stubs/runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0/runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0/runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl.csproj b/csharp/ql/test/resources/stubs/runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0/runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl.csproj index 61622bc5296c..c7646fbae204 100644 --- a/csharp/ql/test/resources/stubs/runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0/runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl.csproj +++ b/csharp/ql/test/resources/stubs/runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0/runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/runtime.native.System.Data.SqlClient.sni/4.7.0/runtime.native.System.Data.SqlClient.sni.csproj b/csharp/ql/test/resources/stubs/runtime.native.System.Data.SqlClient.sni/4.7.0/runtime.native.System.Data.SqlClient.sni.csproj index 7df8df7fe388..db0fe00833ee 100644 --- a/csharp/ql/test/resources/stubs/runtime.native.System.Data.SqlClient.sni/4.7.0/runtime.native.System.Data.SqlClient.sni.csproj +++ b/csharp/ql/test/resources/stubs/runtime.native.System.Data.SqlClient.sni/4.7.0/runtime.native.System.Data.SqlClient.sni.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/runtime.native.System.IO.Compression/4.3.0/runtime.native.System.IO.Compression.csproj b/csharp/ql/test/resources/stubs/runtime.native.System.IO.Compression/4.3.0/runtime.native.System.IO.Compression.csproj index 2753de6e2e9e..02dc0eedbee0 100644 --- a/csharp/ql/test/resources/stubs/runtime.native.System.IO.Compression/4.3.0/runtime.native.System.IO.Compression.csproj +++ b/csharp/ql/test/resources/stubs/runtime.native.System.IO.Compression/4.3.0/runtime.native.System.IO.Compression.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/runtime.native.System.Net.Http/4.3.0/runtime.native.System.Net.Http.csproj b/csharp/ql/test/resources/stubs/runtime.native.System.Net.Http/4.3.0/runtime.native.System.Net.Http.csproj index 2753de6e2e9e..02dc0eedbee0 100644 --- a/csharp/ql/test/resources/stubs/runtime.native.System.Net.Http/4.3.0/runtime.native.System.Net.Http.csproj +++ b/csharp/ql/test/resources/stubs/runtime.native.System.Net.Http/4.3.0/runtime.native.System.Net.Http.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/runtime.native.System.Security.Cryptography.Apple/4.3.0/runtime.native.System.Security.Cryptography.Apple.csproj b/csharp/ql/test/resources/stubs/runtime.native.System.Security.Cryptography.Apple/4.3.0/runtime.native.System.Security.Cryptography.Apple.csproj index ebf014861040..27e7adb1b755 100644 --- a/csharp/ql/test/resources/stubs/runtime.native.System.Security.Cryptography.Apple/4.3.0/runtime.native.System.Security.Cryptography.Apple.csproj +++ b/csharp/ql/test/resources/stubs/runtime.native.System.Security.Cryptography.Apple/4.3.0/runtime.native.System.Security.Cryptography.Apple.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/runtime.native.System.Security.Cryptography.OpenSsl/4.3.0/runtime.native.System.Security.Cryptography.OpenSsl.csproj b/csharp/ql/test/resources/stubs/runtime.native.System.Security.Cryptography.OpenSsl/4.3.0/runtime.native.System.Security.Cryptography.OpenSsl.csproj index a9b70c91ccdb..a864639497f2 100644 --- a/csharp/ql/test/resources/stubs/runtime.native.System.Security.Cryptography.OpenSsl/4.3.0/runtime.native.System.Security.Cryptography.OpenSsl.csproj +++ b/csharp/ql/test/resources/stubs/runtime.native.System.Security.Cryptography.OpenSsl/4.3.0/runtime.native.System.Security.Cryptography.OpenSsl.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/runtime.native.System/4.3.0/runtime.native.System.csproj b/csharp/ql/test/resources/stubs/runtime.native.System/4.3.0/runtime.native.System.csproj index 2753de6e2e9e..02dc0eedbee0 100644 --- a/csharp/ql/test/resources/stubs/runtime.native.System/4.3.0/runtime.native.System.csproj +++ b/csharp/ql/test/resources/stubs/runtime.native.System/4.3.0/runtime.native.System.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0/runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl.csproj b/csharp/ql/test/resources/stubs/runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0/runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl.csproj index 61622bc5296c..c7646fbae204 100644 --- a/csharp/ql/test/resources/stubs/runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0/runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl.csproj +++ b/csharp/ql/test/resources/stubs/runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0/runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0/runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl.csproj b/csharp/ql/test/resources/stubs/runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0/runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl.csproj index 61622bc5296c..c7646fbae204 100644 --- a/csharp/ql/test/resources/stubs/runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0/runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl.csproj +++ b/csharp/ql/test/resources/stubs/runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0/runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple/4.3.0/runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple.csproj b/csharp/ql/test/resources/stubs/runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple/4.3.0/runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple.csproj index 61622bc5296c..c7646fbae204 100644 --- a/csharp/ql/test/resources/stubs/runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple/4.3.0/runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple.csproj +++ b/csharp/ql/test/resources/stubs/runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple/4.3.0/runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0/runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl.csproj b/csharp/ql/test/resources/stubs/runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0/runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl.csproj index 61622bc5296c..c7646fbae204 100644 --- a/csharp/ql/test/resources/stubs/runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0/runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl.csproj +++ b/csharp/ql/test/resources/stubs/runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0/runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0/runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl.csproj b/csharp/ql/test/resources/stubs/runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0/runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl.csproj index 61622bc5296c..c7646fbae204 100644 --- a/csharp/ql/test/resources/stubs/runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0/runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl.csproj +++ b/csharp/ql/test/resources/stubs/runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0/runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0/runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl.csproj b/csharp/ql/test/resources/stubs/runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0/runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl.csproj index 61622bc5296c..c7646fbae204 100644 --- a/csharp/ql/test/resources/stubs/runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0/runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl.csproj +++ b/csharp/ql/test/resources/stubs/runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0/runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0/runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl.csproj b/csharp/ql/test/resources/stubs/runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0/runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl.csproj index 61622bc5296c..c7646fbae204 100644 --- a/csharp/ql/test/resources/stubs/runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0/runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl.csproj +++ b/csharp/ql/test/resources/stubs/runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0/runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0/runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl.csproj b/csharp/ql/test/resources/stubs/runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0/runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl.csproj index 61622bc5296c..c7646fbae204 100644 --- a/csharp/ql/test/resources/stubs/runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0/runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl.csproj +++ b/csharp/ql/test/resources/stubs/runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0/runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/runtime.win-arm64.runtime.native.System.Data.SqlClient.sni/4.4.0/runtime.win-arm64.runtime.native.System.Data.SqlClient.sni.csproj b/csharp/ql/test/resources/stubs/runtime.win-arm64.runtime.native.System.Data.SqlClient.sni/4.4.0/runtime.win-arm64.runtime.native.System.Data.SqlClient.sni.csproj index 61622bc5296c..c7646fbae204 100644 --- a/csharp/ql/test/resources/stubs/runtime.win-arm64.runtime.native.System.Data.SqlClient.sni/4.4.0/runtime.win-arm64.runtime.native.System.Data.SqlClient.sni.csproj +++ b/csharp/ql/test/resources/stubs/runtime.win-arm64.runtime.native.System.Data.SqlClient.sni/4.4.0/runtime.win-arm64.runtime.native.System.Data.SqlClient.sni.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/runtime.win-x64.runtime.native.System.Data.SqlClient.sni/4.4.0/runtime.win-x64.runtime.native.System.Data.SqlClient.sni.csproj b/csharp/ql/test/resources/stubs/runtime.win-x64.runtime.native.System.Data.SqlClient.sni/4.4.0/runtime.win-x64.runtime.native.System.Data.SqlClient.sni.csproj index 61622bc5296c..c7646fbae204 100644 --- a/csharp/ql/test/resources/stubs/runtime.win-x64.runtime.native.System.Data.SqlClient.sni/4.4.0/runtime.win-x64.runtime.native.System.Data.SqlClient.sni.csproj +++ b/csharp/ql/test/resources/stubs/runtime.win-x64.runtime.native.System.Data.SqlClient.sni/4.4.0/runtime.win-x64.runtime.native.System.Data.SqlClient.sni.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false diff --git a/csharp/ql/test/resources/stubs/runtime.win-x86.runtime.native.System.Data.SqlClient.sni/4.4.0/runtime.win-x86.runtime.native.System.Data.SqlClient.sni.csproj b/csharp/ql/test/resources/stubs/runtime.win-x86.runtime.native.System.Data.SqlClient.sni/4.4.0/runtime.win-x86.runtime.native.System.Data.SqlClient.sni.csproj index 61622bc5296c..c7646fbae204 100644 --- a/csharp/ql/test/resources/stubs/runtime.win-x86.runtime.native.System.Data.SqlClient.sni/4.4.0/runtime.win-x86.runtime.native.System.Data.SqlClient.sni.csproj +++ b/csharp/ql/test/resources/stubs/runtime.win-x86.runtime.native.System.Data.SqlClient.sni/4.4.0/runtime.win-x86.runtime.native.System.Data.SqlClient.sni.csproj @@ -1,6 +1,6 @@ - net8.0 + net9.0 true bin\ false From 05a19adc8f70208988f4b93c1199b5fc57b52027 Mon Sep 17 00:00:00 2001 From: Michael Nebel Date: Fri, 15 Nov 2024 14:49:06 +0100 Subject: [PATCH 252/347] C#: Update global.json files. --- csharp/ql/integration-tests/all-platforms/binlog/global.json | 2 +- .../integration-tests/all-platforms/binlog_multiple/global.json | 2 +- .../all-platforms/conditional_compilation/global.json | 2 +- csharp/ql/integration-tests/all-platforms/cshtml/global.json | 2 +- .../all-platforms/cshtml_standalone/global.json | 2 +- .../all-platforms/cshtml_standalone_disabled/global.json | 2 +- .../all-platforms/cshtml_standalone_flowsteps/global.json | 2 +- .../all-platforms/diag_dotnet_incompatible/global.json | 2 +- .../all-platforms/diag_missing_project_files/global.json | 2 +- .../all-platforms/diag_missing_xamarin_sdk/global.json | 2 +- .../all-platforms/diag_recursive_generics/global.json | 2 +- .../ql/integration-tests/all-platforms/dotnet_build/global.json | 2 +- .../all-platforms/dotnet_no_args_inject/global.json | 2 +- .../ql/integration-tests/all-platforms/dotnet_pack/global.json | 2 +- .../integration-tests/all-platforms/dotnet_publish/global.json | 2 +- .../ql/integration-tests/all-platforms/dotnet_run/global.json | 2 +- .../all-platforms/source_generator/global.json | 2 +- .../ql/integration-tests/all-platforms/standalone/global.json | 2 +- .../all-platforms/standalone_buildless_option/global.json | 2 +- .../all-platforms/standalone_dependencies_net48/global.json | 2 +- .../integration-tests/all-platforms/standalone_resx/global.json | 2 +- .../all-platforms/standalone_winforms/global.json | 2 +- csharp/ql/integration-tests/linux/compiler_args/global.json | 2 +- .../linux/standalone_dependencies_non_utf8_filename/global.json | 2 +- csharp/ql/integration-tests/posix/dotnet_test/global.json | 2 +- .../ql/integration-tests/posix/dotnet_test_mstest/global.json | 2 +- csharp/ql/integration-tests/posix/inherit-env-vars/global.json | 2 +- .../integration-tests/posix/standalone_dependencies/global.json | 2 +- .../posix/standalone_dependencies_multi_project/global.json | 2 +- .../posix/standalone_dependencies_multi_target/global.json | 2 +- .../posix/standalone_dependencies_no_framework/global.json | 2 +- .../posix/standalone_dependencies_nuget with_space/global.json | 2 +- .../posix/standalone_dependencies_nuget/global.json | 2 +- .../standalone_dependencies_nuget_no_sources/proj/global.json | 2 +- .../posix/standalone_dependencies_nuget_versions/global.json | 2 +- csharp/ql/integration-tests/posix/warn_as_error/global.json | 2 +- .../windows/standalone_dependencies/global.json | 2 +- 37 files changed, 37 insertions(+), 37 deletions(-) diff --git a/csharp/ql/integration-tests/all-platforms/binlog/global.json b/csharp/ql/integration-tests/all-platforms/binlog/global.json index 5c3fd64fbd12..76474f06d044 100644 --- a/csharp/ql/integration-tests/all-platforms/binlog/global.json +++ b/csharp/ql/integration-tests/all-platforms/binlog/global.json @@ -1,5 +1,5 @@ { "sdk": { - "version": "8.0.101" + "version": "9.0.100" } } diff --git a/csharp/ql/integration-tests/all-platforms/binlog_multiple/global.json b/csharp/ql/integration-tests/all-platforms/binlog_multiple/global.json index 5c3fd64fbd12..76474f06d044 100644 --- a/csharp/ql/integration-tests/all-platforms/binlog_multiple/global.json +++ b/csharp/ql/integration-tests/all-platforms/binlog_multiple/global.json @@ -1,5 +1,5 @@ { "sdk": { - "version": "8.0.101" + "version": "9.0.100" } } diff --git a/csharp/ql/integration-tests/all-platforms/conditional_compilation/global.json b/csharp/ql/integration-tests/all-platforms/conditional_compilation/global.json index 5c3fd64fbd12..76474f06d044 100644 --- a/csharp/ql/integration-tests/all-platforms/conditional_compilation/global.json +++ b/csharp/ql/integration-tests/all-platforms/conditional_compilation/global.json @@ -1,5 +1,5 @@ { "sdk": { - "version": "8.0.101" + "version": "9.0.100" } } diff --git a/csharp/ql/integration-tests/all-platforms/cshtml/global.json b/csharp/ql/integration-tests/all-platforms/cshtml/global.json index 5c3fd64fbd12..76474f06d044 100644 --- a/csharp/ql/integration-tests/all-platforms/cshtml/global.json +++ b/csharp/ql/integration-tests/all-platforms/cshtml/global.json @@ -1,5 +1,5 @@ { "sdk": { - "version": "8.0.101" + "version": "9.0.100" } } diff --git a/csharp/ql/integration-tests/all-platforms/cshtml_standalone/global.json b/csharp/ql/integration-tests/all-platforms/cshtml_standalone/global.json index 5c3fd64fbd12..76474f06d044 100644 --- a/csharp/ql/integration-tests/all-platforms/cshtml_standalone/global.json +++ b/csharp/ql/integration-tests/all-platforms/cshtml_standalone/global.json @@ -1,5 +1,5 @@ { "sdk": { - "version": "8.0.101" + "version": "9.0.100" } } diff --git a/csharp/ql/integration-tests/all-platforms/cshtml_standalone_disabled/global.json b/csharp/ql/integration-tests/all-platforms/cshtml_standalone_disabled/global.json index 5c3fd64fbd12..76474f06d044 100644 --- a/csharp/ql/integration-tests/all-platforms/cshtml_standalone_disabled/global.json +++ b/csharp/ql/integration-tests/all-platforms/cshtml_standalone_disabled/global.json @@ -1,5 +1,5 @@ { "sdk": { - "version": "8.0.101" + "version": "9.0.100" } } diff --git a/csharp/ql/integration-tests/all-platforms/cshtml_standalone_flowsteps/global.json b/csharp/ql/integration-tests/all-platforms/cshtml_standalone_flowsteps/global.json index b11f794bfce2..d68ee8382ed0 100644 --- a/csharp/ql/integration-tests/all-platforms/cshtml_standalone_flowsteps/global.json +++ b/csharp/ql/integration-tests/all-platforms/cshtml_standalone_flowsteps/global.json @@ -2,4 +2,4 @@ "sdk": { "version": "8.0.300" } -} \ No newline at end of file +} diff --git a/csharp/ql/integration-tests/all-platforms/diag_dotnet_incompatible/global.json b/csharp/ql/integration-tests/all-platforms/diag_dotnet_incompatible/global.json index 5c3fd64fbd12..76474f06d044 100644 --- a/csharp/ql/integration-tests/all-platforms/diag_dotnet_incompatible/global.json +++ b/csharp/ql/integration-tests/all-platforms/diag_dotnet_incompatible/global.json @@ -1,5 +1,5 @@ { "sdk": { - "version": "8.0.101" + "version": "9.0.100" } } diff --git a/csharp/ql/integration-tests/all-platforms/diag_missing_project_files/global.json b/csharp/ql/integration-tests/all-platforms/diag_missing_project_files/global.json index 5c3fd64fbd12..76474f06d044 100644 --- a/csharp/ql/integration-tests/all-platforms/diag_missing_project_files/global.json +++ b/csharp/ql/integration-tests/all-platforms/diag_missing_project_files/global.json @@ -1,5 +1,5 @@ { "sdk": { - "version": "8.0.101" + "version": "9.0.100" } } diff --git a/csharp/ql/integration-tests/all-platforms/diag_missing_xamarin_sdk/global.json b/csharp/ql/integration-tests/all-platforms/diag_missing_xamarin_sdk/global.json index 5c3fd64fbd12..76474f06d044 100644 --- a/csharp/ql/integration-tests/all-platforms/diag_missing_xamarin_sdk/global.json +++ b/csharp/ql/integration-tests/all-platforms/diag_missing_xamarin_sdk/global.json @@ -1,5 +1,5 @@ { "sdk": { - "version": "8.0.101" + "version": "9.0.100" } } diff --git a/csharp/ql/integration-tests/all-platforms/diag_recursive_generics/global.json b/csharp/ql/integration-tests/all-platforms/diag_recursive_generics/global.json index 5c3fd64fbd12..76474f06d044 100644 --- a/csharp/ql/integration-tests/all-platforms/diag_recursive_generics/global.json +++ b/csharp/ql/integration-tests/all-platforms/diag_recursive_generics/global.json @@ -1,5 +1,5 @@ { "sdk": { - "version": "8.0.101" + "version": "9.0.100" } } diff --git a/csharp/ql/integration-tests/all-platforms/dotnet_build/global.json b/csharp/ql/integration-tests/all-platforms/dotnet_build/global.json index 5c3fd64fbd12..76474f06d044 100644 --- a/csharp/ql/integration-tests/all-platforms/dotnet_build/global.json +++ b/csharp/ql/integration-tests/all-platforms/dotnet_build/global.json @@ -1,5 +1,5 @@ { "sdk": { - "version": "8.0.101" + "version": "9.0.100" } } diff --git a/csharp/ql/integration-tests/all-platforms/dotnet_no_args_inject/global.json b/csharp/ql/integration-tests/all-platforms/dotnet_no_args_inject/global.json index 5c3fd64fbd12..76474f06d044 100644 --- a/csharp/ql/integration-tests/all-platforms/dotnet_no_args_inject/global.json +++ b/csharp/ql/integration-tests/all-platforms/dotnet_no_args_inject/global.json @@ -1,5 +1,5 @@ { "sdk": { - "version": "8.0.101" + "version": "9.0.100" } } diff --git a/csharp/ql/integration-tests/all-platforms/dotnet_pack/global.json b/csharp/ql/integration-tests/all-platforms/dotnet_pack/global.json index 5c3fd64fbd12..76474f06d044 100644 --- a/csharp/ql/integration-tests/all-platforms/dotnet_pack/global.json +++ b/csharp/ql/integration-tests/all-platforms/dotnet_pack/global.json @@ -1,5 +1,5 @@ { "sdk": { - "version": "8.0.101" + "version": "9.0.100" } } diff --git a/csharp/ql/integration-tests/all-platforms/dotnet_publish/global.json b/csharp/ql/integration-tests/all-platforms/dotnet_publish/global.json index 5c3fd64fbd12..76474f06d044 100644 --- a/csharp/ql/integration-tests/all-platforms/dotnet_publish/global.json +++ b/csharp/ql/integration-tests/all-platforms/dotnet_publish/global.json @@ -1,5 +1,5 @@ { "sdk": { - "version": "8.0.101" + "version": "9.0.100" } } diff --git a/csharp/ql/integration-tests/all-platforms/dotnet_run/global.json b/csharp/ql/integration-tests/all-platforms/dotnet_run/global.json index 5c3fd64fbd12..76474f06d044 100644 --- a/csharp/ql/integration-tests/all-platforms/dotnet_run/global.json +++ b/csharp/ql/integration-tests/all-platforms/dotnet_run/global.json @@ -1,5 +1,5 @@ { "sdk": { - "version": "8.0.101" + "version": "9.0.100" } } diff --git a/csharp/ql/integration-tests/all-platforms/source_generator/global.json b/csharp/ql/integration-tests/all-platforms/source_generator/global.json index 5c3fd64fbd12..76474f06d044 100644 --- a/csharp/ql/integration-tests/all-platforms/source_generator/global.json +++ b/csharp/ql/integration-tests/all-platforms/source_generator/global.json @@ -1,5 +1,5 @@ { "sdk": { - "version": "8.0.101" + "version": "9.0.100" } } diff --git a/csharp/ql/integration-tests/all-platforms/standalone/global.json b/csharp/ql/integration-tests/all-platforms/standalone/global.json index 5c3fd64fbd12..76474f06d044 100644 --- a/csharp/ql/integration-tests/all-platforms/standalone/global.json +++ b/csharp/ql/integration-tests/all-platforms/standalone/global.json @@ -1,5 +1,5 @@ { "sdk": { - "version": "8.0.101" + "version": "9.0.100" } } diff --git a/csharp/ql/integration-tests/all-platforms/standalone_buildless_option/global.json b/csharp/ql/integration-tests/all-platforms/standalone_buildless_option/global.json index 5c3fd64fbd12..76474f06d044 100644 --- a/csharp/ql/integration-tests/all-platforms/standalone_buildless_option/global.json +++ b/csharp/ql/integration-tests/all-platforms/standalone_buildless_option/global.json @@ -1,5 +1,5 @@ { "sdk": { - "version": "8.0.101" + "version": "9.0.100" } } diff --git a/csharp/ql/integration-tests/all-platforms/standalone_dependencies_net48/global.json b/csharp/ql/integration-tests/all-platforms/standalone_dependencies_net48/global.json index d54915e8d4d0..653245229847 100644 --- a/csharp/ql/integration-tests/all-platforms/standalone_dependencies_net48/global.json +++ b/csharp/ql/integration-tests/all-platforms/standalone_dependencies_net48/global.json @@ -1,5 +1,5 @@ { "sdk": { - "version": "8.0.101" + "version": "9.0.100" } } diff --git a/csharp/ql/integration-tests/all-platforms/standalone_resx/global.json b/csharp/ql/integration-tests/all-platforms/standalone_resx/global.json index 5c3fd64fbd12..76474f06d044 100644 --- a/csharp/ql/integration-tests/all-platforms/standalone_resx/global.json +++ b/csharp/ql/integration-tests/all-platforms/standalone_resx/global.json @@ -1,5 +1,5 @@ { "sdk": { - "version": "8.0.101" + "version": "9.0.100" } } diff --git a/csharp/ql/integration-tests/all-platforms/standalone_winforms/global.json b/csharp/ql/integration-tests/all-platforms/standalone_winforms/global.json index 5c3fd64fbd12..76474f06d044 100644 --- a/csharp/ql/integration-tests/all-platforms/standalone_winforms/global.json +++ b/csharp/ql/integration-tests/all-platforms/standalone_winforms/global.json @@ -1,5 +1,5 @@ { "sdk": { - "version": "8.0.101" + "version": "9.0.100" } } diff --git a/csharp/ql/integration-tests/linux/compiler_args/global.json b/csharp/ql/integration-tests/linux/compiler_args/global.json index 5c3fd64fbd12..76474f06d044 100644 --- a/csharp/ql/integration-tests/linux/compiler_args/global.json +++ b/csharp/ql/integration-tests/linux/compiler_args/global.json @@ -1,5 +1,5 @@ { "sdk": { - "version": "8.0.101" + "version": "9.0.100" } } diff --git a/csharp/ql/integration-tests/linux/standalone_dependencies_non_utf8_filename/global.json b/csharp/ql/integration-tests/linux/standalone_dependencies_non_utf8_filename/global.json index 5c3fd64fbd12..76474f06d044 100644 --- a/csharp/ql/integration-tests/linux/standalone_dependencies_non_utf8_filename/global.json +++ b/csharp/ql/integration-tests/linux/standalone_dependencies_non_utf8_filename/global.json @@ -1,5 +1,5 @@ { "sdk": { - "version": "8.0.101" + "version": "9.0.100" } } diff --git a/csharp/ql/integration-tests/posix/dotnet_test/global.json b/csharp/ql/integration-tests/posix/dotnet_test/global.json index 5c3fd64fbd12..76474f06d044 100644 --- a/csharp/ql/integration-tests/posix/dotnet_test/global.json +++ b/csharp/ql/integration-tests/posix/dotnet_test/global.json @@ -1,5 +1,5 @@ { "sdk": { - "version": "8.0.101" + "version": "9.0.100" } } diff --git a/csharp/ql/integration-tests/posix/dotnet_test_mstest/global.json b/csharp/ql/integration-tests/posix/dotnet_test_mstest/global.json index 5c3fd64fbd12..76474f06d044 100644 --- a/csharp/ql/integration-tests/posix/dotnet_test_mstest/global.json +++ b/csharp/ql/integration-tests/posix/dotnet_test_mstest/global.json @@ -1,5 +1,5 @@ { "sdk": { - "version": "8.0.101" + "version": "9.0.100" } } diff --git a/csharp/ql/integration-tests/posix/inherit-env-vars/global.json b/csharp/ql/integration-tests/posix/inherit-env-vars/global.json index 5c3fd64fbd12..76474f06d044 100644 --- a/csharp/ql/integration-tests/posix/inherit-env-vars/global.json +++ b/csharp/ql/integration-tests/posix/inherit-env-vars/global.json @@ -1,5 +1,5 @@ { "sdk": { - "version": "8.0.101" + "version": "9.0.100" } } diff --git a/csharp/ql/integration-tests/posix/standalone_dependencies/global.json b/csharp/ql/integration-tests/posix/standalone_dependencies/global.json index d54915e8d4d0..653245229847 100644 --- a/csharp/ql/integration-tests/posix/standalone_dependencies/global.json +++ b/csharp/ql/integration-tests/posix/standalone_dependencies/global.json @@ -1,5 +1,5 @@ { "sdk": { - "version": "8.0.101" + "version": "9.0.100" } } diff --git a/csharp/ql/integration-tests/posix/standalone_dependencies_multi_project/global.json b/csharp/ql/integration-tests/posix/standalone_dependencies_multi_project/global.json index d54915e8d4d0..653245229847 100644 --- a/csharp/ql/integration-tests/posix/standalone_dependencies_multi_project/global.json +++ b/csharp/ql/integration-tests/posix/standalone_dependencies_multi_project/global.json @@ -1,5 +1,5 @@ { "sdk": { - "version": "8.0.101" + "version": "9.0.100" } } diff --git a/csharp/ql/integration-tests/posix/standalone_dependencies_multi_target/global.json b/csharp/ql/integration-tests/posix/standalone_dependencies_multi_target/global.json index d54915e8d4d0..653245229847 100644 --- a/csharp/ql/integration-tests/posix/standalone_dependencies_multi_target/global.json +++ b/csharp/ql/integration-tests/posix/standalone_dependencies_multi_target/global.json @@ -1,5 +1,5 @@ { "sdk": { - "version": "8.0.101" + "version": "9.0.100" } } diff --git a/csharp/ql/integration-tests/posix/standalone_dependencies_no_framework/global.json b/csharp/ql/integration-tests/posix/standalone_dependencies_no_framework/global.json index 5c3fd64fbd12..76474f06d044 100644 --- a/csharp/ql/integration-tests/posix/standalone_dependencies_no_framework/global.json +++ b/csharp/ql/integration-tests/posix/standalone_dependencies_no_framework/global.json @@ -1,5 +1,5 @@ { "sdk": { - "version": "8.0.101" + "version": "9.0.100" } } diff --git a/csharp/ql/integration-tests/posix/standalone_dependencies_nuget with_space/global.json b/csharp/ql/integration-tests/posix/standalone_dependencies_nuget with_space/global.json index 5c3fd64fbd12..76474f06d044 100644 --- a/csharp/ql/integration-tests/posix/standalone_dependencies_nuget with_space/global.json +++ b/csharp/ql/integration-tests/posix/standalone_dependencies_nuget with_space/global.json @@ -1,5 +1,5 @@ { "sdk": { - "version": "8.0.101" + "version": "9.0.100" } } diff --git a/csharp/ql/integration-tests/posix/standalone_dependencies_nuget/global.json b/csharp/ql/integration-tests/posix/standalone_dependencies_nuget/global.json index 5c3fd64fbd12..76474f06d044 100644 --- a/csharp/ql/integration-tests/posix/standalone_dependencies_nuget/global.json +++ b/csharp/ql/integration-tests/posix/standalone_dependencies_nuget/global.json @@ -1,5 +1,5 @@ { "sdk": { - "version": "8.0.101" + "version": "9.0.100" } } diff --git a/csharp/ql/integration-tests/posix/standalone_dependencies_nuget_no_sources/proj/global.json b/csharp/ql/integration-tests/posix/standalone_dependencies_nuget_no_sources/proj/global.json index 5c3fd64fbd12..76474f06d044 100644 --- a/csharp/ql/integration-tests/posix/standalone_dependencies_nuget_no_sources/proj/global.json +++ b/csharp/ql/integration-tests/posix/standalone_dependencies_nuget_no_sources/proj/global.json @@ -1,5 +1,5 @@ { "sdk": { - "version": "8.0.101" + "version": "9.0.100" } } diff --git a/csharp/ql/integration-tests/posix/standalone_dependencies_nuget_versions/global.json b/csharp/ql/integration-tests/posix/standalone_dependencies_nuget_versions/global.json index 5c3fd64fbd12..76474f06d044 100644 --- a/csharp/ql/integration-tests/posix/standalone_dependencies_nuget_versions/global.json +++ b/csharp/ql/integration-tests/posix/standalone_dependencies_nuget_versions/global.json @@ -1,5 +1,5 @@ { "sdk": { - "version": "8.0.101" + "version": "9.0.100" } } diff --git a/csharp/ql/integration-tests/posix/warn_as_error/global.json b/csharp/ql/integration-tests/posix/warn_as_error/global.json index 5c3fd64fbd12..76474f06d044 100644 --- a/csharp/ql/integration-tests/posix/warn_as_error/global.json +++ b/csharp/ql/integration-tests/posix/warn_as_error/global.json @@ -1,5 +1,5 @@ { "sdk": { - "version": "8.0.101" + "version": "9.0.100" } } diff --git a/csharp/ql/integration-tests/windows/standalone_dependencies/global.json b/csharp/ql/integration-tests/windows/standalone_dependencies/global.json index d54915e8d4d0..653245229847 100644 --- a/csharp/ql/integration-tests/windows/standalone_dependencies/global.json +++ b/csharp/ql/integration-tests/windows/standalone_dependencies/global.json @@ -1,5 +1,5 @@ { "sdk": { - "version": "8.0.101" + "version": "9.0.100" } } From f89e80f4027299245eca664d24531e2263c45a48 Mon Sep 17 00:00:00 2001 From: Michael Nebel Date: Mon, 18 Nov 2024 09:15:32 +0100 Subject: [PATCH 253/347] C#: Update integration tests expected output. --- .../all-platforms/binlog/Files.expected | 16 +- .../binlog_multiple/Files.expected | 16 +- .../all-platforms/cshtml/Files.expected | 10 +- .../source_generator/Files.expected | 6 +- .../standalone_winforms/Assemblies.expected | 96 ++-- .../linux/compiler_args/CompilerArgs.expected | 386 ++++++++-------- .../Assemblies.expected | 327 +++++++------- .../Assemblies.expected | 327 +++++++------- .../Assemblies.expected | 327 +++++++------- .../Assemblies.expected | 417 +++++++++--------- 10 files changed, 969 insertions(+), 959 deletions(-) diff --git a/csharp/ql/integration-tests/all-platforms/binlog/Files.expected b/csharp/ql/integration-tests/all-platforms/binlog/Files.expected index bf3694ff9caa..1b566ea2fd24 100644 --- a/csharp/ql/integration-tests/all-platforms/binlog/Files.expected +++ b/csharp/ql/integration-tests/all-platforms/binlog/Files.expected @@ -1,10 +1,10 @@ | a/A.cs:0:0:0:0 | a/A.cs | -| a/obj/Debug/net8.0/.NETCoreApp,Version=v8.0.AssemblyAttributes.cs:0:0:0:0 | a/obj/Debug/net8.0/.NETCoreApp,Version=v8.0.AssemblyAttributes.cs | -| a/obj/Debug/net8.0/test.AssemblyInfo.cs:0:0:0:0 | a/obj/Debug/net8.0/test.AssemblyInfo.cs | -| a/obj/Debug/net8.0/test.GlobalUsings.g.cs:0:0:0:0 | a/obj/Debug/net8.0/test.GlobalUsings.g.cs | +| a/obj/Debug/net9.0/.NETCoreApp,Version=v9.0.AssemblyAttributes.cs:0:0:0:0 | a/obj/Debug/net9.0/.NETCoreApp,Version=v9.0.AssemblyAttributes.cs | +| a/obj/Debug/net9.0/test.AssemblyInfo.cs:0:0:0:0 | a/obj/Debug/net9.0/test.AssemblyInfo.cs | +| a/obj/Debug/net9.0/test.GlobalUsings.g.cs:0:0:0:0 | a/obj/Debug/net9.0/test.GlobalUsings.g.cs | | b/B.cs:0:0:0:0 | b/B.cs | -| b/obj/Debug/net8.0/.NETCoreApp,Version=v8.0.AssemblyAttributes.cs:0:0:0:0 | b/obj/Debug/net8.0/.NETCoreApp,Version=v8.0.AssemblyAttributes.cs | -| b/obj/Debug/net8.0/test.AssemblyInfo.cs:0:0:0:0 | b/obj/Debug/net8.0/test.AssemblyInfo.cs | -| b/obj/Debug/net8.0/test.GlobalUsings.g.cs:0:0:0:0 | b/obj/Debug/net8.0/test.GlobalUsings.g.cs | -| generated/a/test.csproj (net8.0)/System.Text.RegularExpressions.Generator/System.Text.RegularExpressions.Generator.RegexGenerator/RegexGenerator.g.cs:0:0:0:0 | generated/a/test.csproj (net8.0)/System.Text.RegularExpressions.Generator/System.Text.RegularExpressions.Generator.RegexGenerator/RegexGenerator.g.cs | -| generated/b/test.csproj (net8.0)/System.Text.RegularExpressions.Generator/System.Text.RegularExpressions.Generator.RegexGenerator/RegexGenerator.g.cs:0:0:0:0 | generated/b/test.csproj (net8.0)/System.Text.RegularExpressions.Generator/System.Text.RegularExpressions.Generator.RegexGenerator/RegexGenerator.g.cs | +| b/obj/Debug/net9.0/.NETCoreApp,Version=v9.0.AssemblyAttributes.cs:0:0:0:0 | b/obj/Debug/net9.0/.NETCoreApp,Version=v9.0.AssemblyAttributes.cs | +| b/obj/Debug/net9.0/test.AssemblyInfo.cs:0:0:0:0 | b/obj/Debug/net9.0/test.AssemblyInfo.cs | +| b/obj/Debug/net9.0/test.GlobalUsings.g.cs:0:0:0:0 | b/obj/Debug/net9.0/test.GlobalUsings.g.cs | +| generated/a/test.csproj (net9.0)/System.Text.RegularExpressions.Generator/System.Text.RegularExpressions.Generator.RegexGenerator/RegexGenerator.g.cs:0:0:0:0 | generated/a/test.csproj (net9.0)/System.Text.RegularExpressions.Generator/System.Text.RegularExpressions.Generator.RegexGenerator/RegexGenerator.g.cs | +| generated/b/test.csproj (net9.0)/System.Text.RegularExpressions.Generator/System.Text.RegularExpressions.Generator.RegexGenerator/RegexGenerator.g.cs:0:0:0:0 | generated/b/test.csproj (net9.0)/System.Text.RegularExpressions.Generator/System.Text.RegularExpressions.Generator.RegexGenerator/RegexGenerator.g.cs | diff --git a/csharp/ql/integration-tests/all-platforms/binlog_multiple/Files.expected b/csharp/ql/integration-tests/all-platforms/binlog_multiple/Files.expected index bf3694ff9caa..1b566ea2fd24 100644 --- a/csharp/ql/integration-tests/all-platforms/binlog_multiple/Files.expected +++ b/csharp/ql/integration-tests/all-platforms/binlog_multiple/Files.expected @@ -1,10 +1,10 @@ | a/A.cs:0:0:0:0 | a/A.cs | -| a/obj/Debug/net8.0/.NETCoreApp,Version=v8.0.AssemblyAttributes.cs:0:0:0:0 | a/obj/Debug/net8.0/.NETCoreApp,Version=v8.0.AssemblyAttributes.cs | -| a/obj/Debug/net8.0/test.AssemblyInfo.cs:0:0:0:0 | a/obj/Debug/net8.0/test.AssemblyInfo.cs | -| a/obj/Debug/net8.0/test.GlobalUsings.g.cs:0:0:0:0 | a/obj/Debug/net8.0/test.GlobalUsings.g.cs | +| a/obj/Debug/net9.0/.NETCoreApp,Version=v9.0.AssemblyAttributes.cs:0:0:0:0 | a/obj/Debug/net9.0/.NETCoreApp,Version=v9.0.AssemblyAttributes.cs | +| a/obj/Debug/net9.0/test.AssemblyInfo.cs:0:0:0:0 | a/obj/Debug/net9.0/test.AssemblyInfo.cs | +| a/obj/Debug/net9.0/test.GlobalUsings.g.cs:0:0:0:0 | a/obj/Debug/net9.0/test.GlobalUsings.g.cs | | b/B.cs:0:0:0:0 | b/B.cs | -| b/obj/Debug/net8.0/.NETCoreApp,Version=v8.0.AssemblyAttributes.cs:0:0:0:0 | b/obj/Debug/net8.0/.NETCoreApp,Version=v8.0.AssemblyAttributes.cs | -| b/obj/Debug/net8.0/test.AssemblyInfo.cs:0:0:0:0 | b/obj/Debug/net8.0/test.AssemblyInfo.cs | -| b/obj/Debug/net8.0/test.GlobalUsings.g.cs:0:0:0:0 | b/obj/Debug/net8.0/test.GlobalUsings.g.cs | -| generated/a/test.csproj (net8.0)/System.Text.RegularExpressions.Generator/System.Text.RegularExpressions.Generator.RegexGenerator/RegexGenerator.g.cs:0:0:0:0 | generated/a/test.csproj (net8.0)/System.Text.RegularExpressions.Generator/System.Text.RegularExpressions.Generator.RegexGenerator/RegexGenerator.g.cs | -| generated/b/test.csproj (net8.0)/System.Text.RegularExpressions.Generator/System.Text.RegularExpressions.Generator.RegexGenerator/RegexGenerator.g.cs:0:0:0:0 | generated/b/test.csproj (net8.0)/System.Text.RegularExpressions.Generator/System.Text.RegularExpressions.Generator.RegexGenerator/RegexGenerator.g.cs | +| b/obj/Debug/net9.0/.NETCoreApp,Version=v9.0.AssemblyAttributes.cs:0:0:0:0 | b/obj/Debug/net9.0/.NETCoreApp,Version=v9.0.AssemblyAttributes.cs | +| b/obj/Debug/net9.0/test.AssemblyInfo.cs:0:0:0:0 | b/obj/Debug/net9.0/test.AssemblyInfo.cs | +| b/obj/Debug/net9.0/test.GlobalUsings.g.cs:0:0:0:0 | b/obj/Debug/net9.0/test.GlobalUsings.g.cs | +| generated/a/test.csproj (net9.0)/System.Text.RegularExpressions.Generator/System.Text.RegularExpressions.Generator.RegexGenerator/RegexGenerator.g.cs:0:0:0:0 | generated/a/test.csproj (net9.0)/System.Text.RegularExpressions.Generator/System.Text.RegularExpressions.Generator.RegexGenerator/RegexGenerator.g.cs | +| generated/b/test.csproj (net9.0)/System.Text.RegularExpressions.Generator/System.Text.RegularExpressions.Generator.RegexGenerator/RegexGenerator.g.cs:0:0:0:0 | generated/b/test.csproj (net9.0)/System.Text.RegularExpressions.Generator/System.Text.RegularExpressions.Generator.RegexGenerator/RegexGenerator.g.cs | diff --git a/csharp/ql/integration-tests/all-platforms/cshtml/Files.expected b/csharp/ql/integration-tests/all-platforms/cshtml/Files.expected index debab01086f4..946bef624625 100644 --- a/csharp/ql/integration-tests/all-platforms/cshtml/Files.expected +++ b/csharp/ql/integration-tests/all-platforms/cshtml/Files.expected @@ -1,7 +1,7 @@ | Program.cs:0:0:0:0 | Program.cs | | Views/Home/Index.cshtml:0:0:0:0 | Views/Home/Index.cshtml | -| obj/Debug/net8.0/.NETCoreApp,Version=v8.0.AssemblyAttributes.cs:0:0:0:0 | obj/Debug/net8.0/.NETCoreApp,Version=v8.0.AssemblyAttributes.cs | -| obj/Debug/net8.0/cshtml.AssemblyInfo.cs:0:0:0:0 | obj/Debug/net8.0/cshtml.AssemblyInfo.cs | -| obj/Debug/net8.0/cshtml.GlobalUsings.g.cs:0:0:0:0 | obj/Debug/net8.0/cshtml.GlobalUsings.g.cs | -| obj/Debug/net8.0/cshtml.RazorAssemblyInfo.cs:0:0:0:0 | obj/Debug/net8.0/cshtml.RazorAssemblyInfo.cs | -| obj/Debug/net8.0/generated/Microsoft.NET.Sdk.Razor.SourceGenerators/Microsoft.NET.Sdk.Razor.SourceGenerators.RazorSourceGenerator/Views_Home_Index_cshtml.g.cs:0:0:0:0 | obj/Debug/net8.0/generated/Microsoft.NET.Sdk.Razor.SourceGenerators/Microsoft.NET.Sdk.Razor.SourceGenerators.RazorSourceGenerator/Views_Home_Index_cshtml.g.cs | +| obj/Debug/net9.0/.NETCoreApp,Version=v9.0.AssemblyAttributes.cs:0:0:0:0 | obj/Debug/net9.0/.NETCoreApp,Version=v9.0.AssemblyAttributes.cs | +| obj/Debug/net9.0/cshtml.AssemblyInfo.cs:0:0:0:0 | obj/Debug/net9.0/cshtml.AssemblyInfo.cs | +| obj/Debug/net9.0/cshtml.GlobalUsings.g.cs:0:0:0:0 | obj/Debug/net9.0/cshtml.GlobalUsings.g.cs | +| obj/Debug/net9.0/cshtml.RazorAssemblyInfo.cs:0:0:0:0 | obj/Debug/net9.0/cshtml.RazorAssemblyInfo.cs | +| obj/Debug/net9.0/generated/Microsoft.CodeAnalysis.Razor.Compiler/Microsoft.NET.Sdk.Razor.SourceGenerators.RazorSourceGenerator/Views_Home_Index_cshtml.g.cs:0:0:0:0 | obj/Debug/net9.0/generated/Microsoft.CodeAnalysis.Razor.Compiler/Microsoft.NET.Sdk.Razor.SourceGenerators.RazorSourceGenerator/Views_Home_Index_cshtml.g.cs | diff --git a/csharp/ql/integration-tests/all-platforms/source_generator/Files.expected b/csharp/ql/integration-tests/all-platforms/source_generator/Files.expected index 25cb51a5bdb8..48151f8387f9 100644 --- a/csharp/ql/integration-tests/all-platforms/source_generator/Files.expected +++ b/csharp/ql/integration-tests/all-platforms/source_generator/Files.expected @@ -1,6 +1,6 @@ | Generated/System.Text.RegularExpressions.Generator/System.Text.RegularExpressions.Generator.RegexGenerator/RegexGenerator.g.cs:0:0:0:0 | Generated/System.Text.RegularExpressions.Generator/System.Text.RegularExpressions.Generator.RegexGenerator/RegexGenerator.g.cs | | Generated/x.cs:0:0:0:0 | Generated/x.cs | | Program.cs:0:0:0:0 | Program.cs | -| obj/Debug/net8.0/.NETCoreApp,Version=v8.0.AssemblyAttributes.cs:0:0:0:0 | obj/Debug/net8.0/.NETCoreApp,Version=v8.0.AssemblyAttributes.cs | -| obj/Debug/net8.0/test.AssemblyInfo.cs:0:0:0:0 | obj/Debug/net8.0/test.AssemblyInfo.cs | -| obj/Debug/net8.0/test.GlobalUsings.g.cs:0:0:0:0 | obj/Debug/net8.0/test.GlobalUsings.g.cs | +| obj/Debug/net9.0/.NETCoreApp,Version=v9.0.AssemblyAttributes.cs:0:0:0:0 | obj/Debug/net9.0/.NETCoreApp,Version=v9.0.AssemblyAttributes.cs | +| obj/Debug/net9.0/test.AssemblyInfo.cs:0:0:0:0 | obj/Debug/net9.0/test.AssemblyInfo.cs | +| obj/Debug/net9.0/test.GlobalUsings.g.cs:0:0:0:0 | obj/Debug/net9.0/test.GlobalUsings.g.cs | diff --git a/csharp/ql/integration-tests/all-platforms/standalone_winforms/Assemblies.expected b/csharp/ql/integration-tests/all-platforms/standalone_winforms/Assemblies.expected index 8b1e8810a078..cee8db1f7560 100644 --- a/csharp/ql/integration-tests/all-platforms/standalone_winforms/Assemblies.expected +++ b/csharp/ql/integration-tests/all-platforms/standalone_winforms/Assemblies.expected @@ -1,47 +1,49 @@ -| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/Accessibility.dll:0:0:0:0 | Accessibility, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | -| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/Microsoft.VisualBasic.Forms.dll:0:0:0:0 | Microsoft.VisualBasic.Forms, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/Microsoft.VisualBasic.dll:0:0:0:0 | Microsoft.VisualBasic, Version=10.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/Microsoft.Win32.Registry.AccessControl.dll:0:0:0:0 | Microsoft.Win32.Registry.AccessControl, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/Microsoft.Win32.SystemEvents.dll:0:0:0:0 | Microsoft.Win32.SystemEvents, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | -| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/PresentationCore.dll:0:0:0:0 | PresentationCore, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | -| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/PresentationFramework.Aero2.dll:0:0:0:0 | PresentationFramework.Aero2, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | -| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/PresentationFramework.Aero.dll:0:0:0:0 | PresentationFramework.Aero, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | -| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/PresentationFramework.AeroLite.dll:0:0:0:0 | PresentationFramework.AeroLite, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | -| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/PresentationFramework.Classic.dll:0:0:0:0 | PresentationFramework.Classic, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | -| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/PresentationFramework.Luna.dll:0:0:0:0 | PresentationFramework.Luna, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | -| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/PresentationFramework.Royale.dll:0:0:0:0 | PresentationFramework.Royale, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | -| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/PresentationFramework.dll:0:0:0:0 | PresentationFramework, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | -| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/PresentationUI.dll:0:0:0:0 | PresentationUI, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/ReachFramework.dll:0:0:0:0 | ReachFramework, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | -| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.CodeDom.dll:0:0:0:0 | System.CodeDom, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | -| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Configuration.ConfigurationManager.dll:0:0:0:0 | System.Configuration.ConfigurationManager, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | -| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Design.dll:0:0:0:0 | System.Design, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Diagnostics.EventLog.dll:0:0:0:0 | System.Diagnostics.EventLog, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | -| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Diagnostics.PerformanceCounter.dll:0:0:0:0 | System.Diagnostics.PerformanceCounter, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | -| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.DirectoryServices.dll:0:0:0:0 | System.DirectoryServices, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Drawing.Common.dll:0:0:0:0 | System.Drawing.Common, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | -| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Drawing.Design.dll:0:0:0:0 | System.Drawing.Design, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Drawing.dll:0:0:0:0 | System.Drawing, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.IO.Packaging.dll:0:0:0:0 | System.IO.Packaging, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Printing.dll:0:0:0:0 | System.Printing, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | -| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Resources.Extensions.dll:0:0:0:0 | System.Resources.Extensions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | -| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Security.Cryptography.Pkcs.dll:0:0:0:0 | System.Security.Cryptography.Pkcs, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Security.Cryptography.ProtectedData.dll:0:0:0:0 | System.Security.Cryptography.ProtectedData, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Security.Cryptography.Xml.dll:0:0:0:0 | System.Security.Cryptography.Xml, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | -| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Security.Permissions.dll:0:0:0:0 | System.Security.Permissions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | -| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Threading.AccessControl.dll:0:0:0:0 | System.Threading.AccessControl, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Windows.Controls.Ribbon.dll:0:0:0:0 | System.Windows.Controls.Ribbon, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Windows.Extensions.dll:0:0:0:0 | System.Windows.Extensions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | -| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Windows.Forms.Design.Editors.dll:0:0:0:0 | System.Windows.Forms.Design.Editors, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Windows.Forms.Design.dll:0:0:0:0 | System.Windows.Forms.Design, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Windows.Forms.Primitives.dll:0:0:0:0 | System.Windows.Forms.Primitives, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Windows.Forms.dll:0:0:0:0 | System.Windows.Forms, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Windows.Input.Manipulations.dll:0:0:0:0 | System.Windows.Input.Manipulations, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Windows.Presentation.dll:0:0:0:0 | System.Windows.Presentation, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Xaml.dll:0:0:0:0 | System.Xaml, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/UIAutomationClient.dll:0:0:0:0 | UIAutomationClient, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | -| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/UIAutomationClientSideProviders.dll:0:0:0:0 | UIAutomationClientSideProviders, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/UIAutomationProvider.dll:0:0:0:0 | UIAutomationProvider, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | -| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/UIAutomationTypes.dll:0:0:0:0 | UIAutomationTypes, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | -| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/WindowsBase.dll:0:0:0:0 | WindowsBase, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | -| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/WindowsFormsIntegration.dll:0:0:0:0 | WindowsFormsIntegration, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/9.0.0/ref/net9.0/Accessibility.dll:0:0:0:0 | Accessibility, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/9.0.0/ref/net9.0/Microsoft.VisualBasic.Forms.dll:0:0:0:0 | Microsoft.VisualBasic.Forms, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/9.0.0/ref/net9.0/Microsoft.VisualBasic.dll:0:0:0:0 | Microsoft.VisualBasic, Version=10.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/9.0.0/ref/net9.0/Microsoft.Win32.Registry.AccessControl.dll:0:0:0:0 | Microsoft.Win32.Registry.AccessControl, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/9.0.0/ref/net9.0/Microsoft.Win32.SystemEvents.dll:0:0:0:0 | Microsoft.Win32.SystemEvents, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/9.0.0/ref/net9.0/PresentationCore.dll:0:0:0:0 | PresentationCore, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/9.0.0/ref/net9.0/PresentationFramework.Aero2.dll:0:0:0:0 | PresentationFramework.Aero2, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/9.0.0/ref/net9.0/PresentationFramework.Aero.dll:0:0:0:0 | PresentationFramework.Aero, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/9.0.0/ref/net9.0/PresentationFramework.AeroLite.dll:0:0:0:0 | PresentationFramework.AeroLite, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/9.0.0/ref/net9.0/PresentationFramework.Classic.dll:0:0:0:0 | PresentationFramework.Classic, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/9.0.0/ref/net9.0/PresentationFramework.Luna.dll:0:0:0:0 | PresentationFramework.Luna, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/9.0.0/ref/net9.0/PresentationFramework.Royale.dll:0:0:0:0 | PresentationFramework.Royale, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/9.0.0/ref/net9.0/PresentationFramework.dll:0:0:0:0 | PresentationFramework, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/9.0.0/ref/net9.0/PresentationUI.dll:0:0:0:0 | PresentationUI, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/9.0.0/ref/net9.0/ReachFramework.dll:0:0:0:0 | ReachFramework, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/9.0.0/ref/net9.0/System.CodeDom.dll:0:0:0:0 | System.CodeDom, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/9.0.0/ref/net9.0/System.Configuration.ConfigurationManager.dll:0:0:0:0 | System.Configuration.ConfigurationManager, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/9.0.0/ref/net9.0/System.Design.dll:0:0:0:0 | System.Design, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/9.0.0/ref/net9.0/System.Diagnostics.EventLog.dll:0:0:0:0 | System.Diagnostics.EventLog, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/9.0.0/ref/net9.0/System.Diagnostics.PerformanceCounter.dll:0:0:0:0 | System.Diagnostics.PerformanceCounter, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/9.0.0/ref/net9.0/System.DirectoryServices.dll:0:0:0:0 | System.DirectoryServices, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/9.0.0/ref/net9.0/System.Drawing.Common.dll:0:0:0:0 | System.Drawing.Common, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/9.0.0/ref/net9.0/System.Drawing.Design.dll:0:0:0:0 | System.Drawing.Design, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/9.0.0/ref/net9.0/System.Drawing.dll:0:0:0:0 | System.Drawing, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/9.0.0/ref/net9.0/System.Formats.Nrbf.dll:0:0:0:0 | System.Formats.Nrbf, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/9.0.0/ref/net9.0/System.IO.Packaging.dll:0:0:0:0 | System.IO.Packaging, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/9.0.0/ref/net9.0/System.Printing.dll:0:0:0:0 | System.Printing, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/9.0.0/ref/net9.0/System.Private.Windows.Core.dll:0:0:0:0 | System.Private.Windows.Core, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/9.0.0/ref/net9.0/System.Resources.Extensions.dll:0:0:0:0 | System.Resources.Extensions, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/9.0.0/ref/net9.0/System.Security.Cryptography.Pkcs.dll:0:0:0:0 | System.Security.Cryptography.Pkcs, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/9.0.0/ref/net9.0/System.Security.Cryptography.ProtectedData.dll:0:0:0:0 | System.Security.Cryptography.ProtectedData, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/9.0.0/ref/net9.0/System.Security.Cryptography.Xml.dll:0:0:0:0 | System.Security.Cryptography.Xml, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/9.0.0/ref/net9.0/System.Security.Permissions.dll:0:0:0:0 | System.Security.Permissions, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/9.0.0/ref/net9.0/System.Threading.AccessControl.dll:0:0:0:0 | System.Threading.AccessControl, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/9.0.0/ref/net9.0/System.Windows.Controls.Ribbon.dll:0:0:0:0 | System.Windows.Controls.Ribbon, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/9.0.0/ref/net9.0/System.Windows.Extensions.dll:0:0:0:0 | System.Windows.Extensions, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/9.0.0/ref/net9.0/System.Windows.Forms.Design.Editors.dll:0:0:0:0 | System.Windows.Forms.Design.Editors, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/9.0.0/ref/net9.0/System.Windows.Forms.Design.dll:0:0:0:0 | System.Windows.Forms.Design, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/9.0.0/ref/net9.0/System.Windows.Forms.Primitives.dll:0:0:0:0 | System.Windows.Forms.Primitives, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/9.0.0/ref/net9.0/System.Windows.Forms.dll:0:0:0:0 | System.Windows.Forms, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/9.0.0/ref/net9.0/System.Windows.Input.Manipulations.dll:0:0:0:0 | System.Windows.Input.Manipulations, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/9.0.0/ref/net9.0/System.Windows.Presentation.dll:0:0:0:0 | System.Windows.Presentation, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/9.0.0/ref/net9.0/System.Xaml.dll:0:0:0:0 | System.Xaml, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/9.0.0/ref/net9.0/UIAutomationClient.dll:0:0:0:0 | UIAutomationClient, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/9.0.0/ref/net9.0/UIAutomationClientSideProviders.dll:0:0:0:0 | UIAutomationClientSideProviders, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/9.0.0/ref/net9.0/UIAutomationProvider.dll:0:0:0:0 | UIAutomationProvider, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/9.0.0/ref/net9.0/UIAutomationTypes.dll:0:0:0:0 | UIAutomationTypes, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/9.0.0/ref/net9.0/WindowsBase.dll:0:0:0:0 | WindowsBase, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/9.0.0/ref/net9.0/WindowsFormsIntegration.dll:0:0:0:0 | WindowsFormsIntegration, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | diff --git a/csharp/ql/integration-tests/linux/compiler_args/CompilerArgs.expected b/csharp/ql/integration-tests/linux/compiler_args/CompilerArgs.expected index a2f04cfb759d..17e51d0b76fc 100644 --- a/csharp/ql/integration-tests/linux/compiler_args/CompilerArgs.expected +++ b/csharp/ql/integration-tests/linux/compiler_args/CompilerArgs.expected @@ -5,197 +5,199 @@ | 4 | /fullpaths | | 5 | /nostdlib+ | | 6 | /errorreport:prompt | -| 7 | /warn:8 | -| 8 | /define:TRACE;DEBUG;NET;NET8_0;NETCOREAPP;NET5_0_OR_GREATER;NET6_0_OR_GREATER;NET7_0_OR_GREATER;NET8_0_OR_GREATER;NETCOREAPP1_0_OR_GREATER;NETCOREAPP1_1_OR_GREATER;NETCOREAPP2_0_OR_GREATER;NETCOREAPP2_1_OR_GREATER;NETCOREAPP2_2_OR_GREATER;NETCOREAPP3_0_OR_GREATER;NETCOREAPP3_1_OR_GREATER | +| 7 | /warn:9 | +| 8 | /define:TRACE;DEBUG;NET;NET9_0;NETCOREAPP;NET5_0_OR_GREATER;NET6_0_OR_GREATER;NET7_0_OR_GREATER;NET8_0_OR_GREATER;NET9_0_OR_GREATER;NETCOREAPP1_0_OR_GREATER;NETCOREAPP1_1_OR_GREATER;NETCOREAPP2_0_OR_GREATER;NETCOREAPP2_1_OR_GREATER;NETCOREAPP2_2_OR_GREATER;NETCOREAPP3_0_OR_GREATER;NETCOREAPP3_1_OR_GREATER | | 9 | /highentropyva+ | | 10 | /nullable:enable | -| 11 | /reference:[...]/8.0.1/ref/net8.0/Microsoft.CSharp.dll | -| 12 | /reference:[...]/8.0.1/ref/net8.0/Microsoft.VisualBasic.Core.dll | -| 13 | /reference:[...]/8.0.1/ref/net8.0/Microsoft.VisualBasic.dll | -| 14 | /reference:[...]/8.0.1/ref/net8.0/Microsoft.Win32.Primitives.dll | -| 15 | /reference:[...]/8.0.1/ref/net8.0/Microsoft.Win32.Registry.dll | -| 16 | /reference:[...]/8.0.1/ref/net8.0/mscorlib.dll | -| 17 | /reference:[...]/8.0.1/ref/net8.0/netstandard.dll | -| 18 | /reference:[...]/8.0.1/ref/net8.0/System.AppContext.dll | -| 19 | /reference:[...]/8.0.1/ref/net8.0/System.Buffers.dll | -| 20 | /reference:[...]/8.0.1/ref/net8.0/System.Collections.Concurrent.dll | -| 21 | /reference:[...]/8.0.1/ref/net8.0/System.Collections.dll | -| 22 | /reference:[...]/8.0.1/ref/net8.0/System.Collections.Immutable.dll | -| 23 | /reference:[...]/8.0.1/ref/net8.0/System.Collections.NonGeneric.dll | -| 24 | /reference:[...]/8.0.1/ref/net8.0/System.Collections.Specialized.dll | -| 25 | /reference:[...]/8.0.1/ref/net8.0/System.ComponentModel.Annotations.dll | -| 26 | /reference:[...]/8.0.1/ref/net8.0/System.ComponentModel.DataAnnotations.dll | -| 27 | /reference:[...]/8.0.1/ref/net8.0/System.ComponentModel.dll | -| 28 | /reference:[...]/8.0.1/ref/net8.0/System.ComponentModel.EventBasedAsync.dll | -| 29 | /reference:[...]/8.0.1/ref/net8.0/System.ComponentModel.Primitives.dll | -| 30 | /reference:[...]/8.0.1/ref/net8.0/System.ComponentModel.TypeConverter.dll | -| 31 | /reference:[...]/8.0.1/ref/net8.0/System.Configuration.dll | -| 32 | /reference:[...]/8.0.1/ref/net8.0/System.Console.dll | -| 33 | /reference:[...]/8.0.1/ref/net8.0/System.Core.dll | -| 34 | /reference:[...]/8.0.1/ref/net8.0/System.Data.Common.dll | -| 35 | /reference:[...]/8.0.1/ref/net8.0/System.Data.DataSetExtensions.dll | -| 36 | /reference:[...]/8.0.1/ref/net8.0/System.Data.dll | -| 37 | /reference:[...]/8.0.1/ref/net8.0/System.Diagnostics.Contracts.dll | -| 38 | /reference:[...]/8.0.1/ref/net8.0/System.Diagnostics.Debug.dll | -| 39 | /reference:[...]/8.0.1/ref/net8.0/System.Diagnostics.DiagnosticSource.dll | -| 40 | /reference:[...]/8.0.1/ref/net8.0/System.Diagnostics.FileVersionInfo.dll | -| 41 | /reference:[...]/8.0.1/ref/net8.0/System.Diagnostics.Process.dll | -| 42 | /reference:[...]/8.0.1/ref/net8.0/System.Diagnostics.StackTrace.dll | -| 43 | /reference:[...]/8.0.1/ref/net8.0/System.Diagnostics.TextWriterTraceListener.dll | -| 44 | /reference:[...]/8.0.1/ref/net8.0/System.Diagnostics.Tools.dll | -| 45 | /reference:[...]/8.0.1/ref/net8.0/System.Diagnostics.TraceSource.dll | -| 46 | /reference:[...]/8.0.1/ref/net8.0/System.Diagnostics.Tracing.dll | -| 47 | /reference:[...]/8.0.1/ref/net8.0/System.dll | -| 48 | /reference:[...]/8.0.1/ref/net8.0/System.Drawing.dll | -| 49 | /reference:[...]/8.0.1/ref/net8.0/System.Drawing.Primitives.dll | -| 50 | /reference:[...]/8.0.1/ref/net8.0/System.Dynamic.Runtime.dll | -| 51 | /reference:[...]/8.0.1/ref/net8.0/System.Formats.Asn1.dll | -| 52 | /reference:[...]/8.0.1/ref/net8.0/System.Formats.Tar.dll | -| 53 | /reference:[...]/8.0.1/ref/net8.0/System.Globalization.Calendars.dll | -| 54 | /reference:[...]/8.0.1/ref/net8.0/System.Globalization.dll | -| 55 | /reference:[...]/8.0.1/ref/net8.0/System.Globalization.Extensions.dll | -| 56 | /reference:[...]/8.0.1/ref/net8.0/System.IO.Compression.Brotli.dll | -| 57 | /reference:[...]/8.0.1/ref/net8.0/System.IO.Compression.dll | -| 58 | /reference:[...]/8.0.1/ref/net8.0/System.IO.Compression.FileSystem.dll | -| 59 | /reference:[...]/8.0.1/ref/net8.0/System.IO.Compression.ZipFile.dll | -| 60 | /reference:[...]/8.0.1/ref/net8.0/System.IO.dll | -| 61 | /reference:[...]/8.0.1/ref/net8.0/System.IO.FileSystem.AccessControl.dll | -| 62 | /reference:[...]/8.0.1/ref/net8.0/System.IO.FileSystem.dll | -| 63 | /reference:[...]/8.0.1/ref/net8.0/System.IO.FileSystem.DriveInfo.dll | -| 64 | /reference:[...]/8.0.1/ref/net8.0/System.IO.FileSystem.Primitives.dll | -| 65 | /reference:[...]/8.0.1/ref/net8.0/System.IO.FileSystem.Watcher.dll | -| 66 | /reference:[...]/8.0.1/ref/net8.0/System.IO.IsolatedStorage.dll | -| 67 | /reference:[...]/8.0.1/ref/net8.0/System.IO.MemoryMappedFiles.dll | -| 68 | /reference:[...]/8.0.1/ref/net8.0/System.IO.Pipes.AccessControl.dll | -| 69 | /reference:[...]/8.0.1/ref/net8.0/System.IO.Pipes.dll | -| 70 | /reference:[...]/8.0.1/ref/net8.0/System.IO.UnmanagedMemoryStream.dll | -| 71 | /reference:[...]/8.0.1/ref/net8.0/System.Linq.dll | -| 72 | /reference:[...]/8.0.1/ref/net8.0/System.Linq.Expressions.dll | -| 73 | /reference:[...]/8.0.1/ref/net8.0/System.Linq.Parallel.dll | -| 74 | /reference:[...]/8.0.1/ref/net8.0/System.Linq.Queryable.dll | -| 75 | /reference:[...]/8.0.1/ref/net8.0/System.Memory.dll | -| 76 | /reference:[...]/8.0.1/ref/net8.0/System.Net.dll | -| 77 | /reference:[...]/8.0.1/ref/net8.0/System.Net.Http.dll | -| 78 | /reference:[...]/8.0.1/ref/net8.0/System.Net.Http.Json.dll | -| 79 | /reference:[...]/8.0.1/ref/net8.0/System.Net.HttpListener.dll | -| 80 | /reference:[...]/8.0.1/ref/net8.0/System.Net.Mail.dll | -| 81 | /reference:[...]/8.0.1/ref/net8.0/System.Net.NameResolution.dll | -| 82 | /reference:[...]/8.0.1/ref/net8.0/System.Net.NetworkInformation.dll | -| 83 | /reference:[...]/8.0.1/ref/net8.0/System.Net.Ping.dll | -| 84 | /reference:[...]/8.0.1/ref/net8.0/System.Net.Primitives.dll | -| 85 | /reference:[...]/8.0.1/ref/net8.0/System.Net.Quic.dll | -| 86 | /reference:[...]/8.0.1/ref/net8.0/System.Net.Requests.dll | -| 87 | /reference:[...]/8.0.1/ref/net8.0/System.Net.Security.dll | -| 88 | /reference:[...]/8.0.1/ref/net8.0/System.Net.ServicePoint.dll | -| 89 | /reference:[...]/8.0.1/ref/net8.0/System.Net.Sockets.dll | -| 90 | /reference:[...]/8.0.1/ref/net8.0/System.Net.WebClient.dll | -| 91 | /reference:[...]/8.0.1/ref/net8.0/System.Net.WebHeaderCollection.dll | -| 92 | /reference:[...]/8.0.1/ref/net8.0/System.Net.WebProxy.dll | -| 93 | /reference:[...]/8.0.1/ref/net8.0/System.Net.WebSockets.Client.dll | -| 94 | /reference:[...]/8.0.1/ref/net8.0/System.Net.WebSockets.dll | -| 95 | /reference:[...]/8.0.1/ref/net8.0/System.Numerics.dll | -| 96 | /reference:[...]/8.0.1/ref/net8.0/System.Numerics.Vectors.dll | -| 97 | /reference:[...]/8.0.1/ref/net8.0/System.ObjectModel.dll | -| 98 | /reference:[...]/8.0.1/ref/net8.0/System.Reflection.DispatchProxy.dll | -| 99 | /reference:[...]/8.0.1/ref/net8.0/System.Reflection.dll | -| 100 | /reference:[...]/8.0.1/ref/net8.0/System.Reflection.Emit.dll | -| 101 | /reference:[...]/8.0.1/ref/net8.0/System.Reflection.Emit.ILGeneration.dll | -| 102 | /reference:[...]/8.0.1/ref/net8.0/System.Reflection.Emit.Lightweight.dll | -| 103 | /reference:[...]/8.0.1/ref/net8.0/System.Reflection.Extensions.dll | -| 104 | /reference:[...]/8.0.1/ref/net8.0/System.Reflection.Metadata.dll | -| 105 | /reference:[...]/8.0.1/ref/net8.0/System.Reflection.Primitives.dll | -| 106 | /reference:[...]/8.0.1/ref/net8.0/System.Reflection.TypeExtensions.dll | -| 107 | /reference:[...]/8.0.1/ref/net8.0/System.Resources.Reader.dll | -| 108 | /reference:[...]/8.0.1/ref/net8.0/System.Resources.ResourceManager.dll | -| 109 | /reference:[...]/8.0.1/ref/net8.0/System.Resources.Writer.dll | -| 110 | /reference:[...]/8.0.1/ref/net8.0/System.Runtime.CompilerServices.Unsafe.dll | -| 111 | /reference:[...]/8.0.1/ref/net8.0/System.Runtime.CompilerServices.VisualC.dll | -| 112 | /reference:[...]/8.0.1/ref/net8.0/System.Runtime.dll | -| 113 | /reference:[...]/8.0.1/ref/net8.0/System.Runtime.Extensions.dll | -| 114 | /reference:[...]/8.0.1/ref/net8.0/System.Runtime.Handles.dll | -| 115 | /reference:[...]/8.0.1/ref/net8.0/System.Runtime.InteropServices.dll | -| 116 | /reference:[...]/8.0.1/ref/net8.0/System.Runtime.InteropServices.JavaScript.dll | -| 117 | /reference:[...]/8.0.1/ref/net8.0/System.Runtime.InteropServices.RuntimeInformation.dll | -| 118 | /reference:[...]/8.0.1/ref/net8.0/System.Runtime.Intrinsics.dll | -| 119 | /reference:[...]/8.0.1/ref/net8.0/System.Runtime.Loader.dll | -| 120 | /reference:[...]/8.0.1/ref/net8.0/System.Runtime.Numerics.dll | -| 121 | /reference:[...]/8.0.1/ref/net8.0/System.Runtime.Serialization.dll | -| 122 | /reference:[...]/8.0.1/ref/net8.0/System.Runtime.Serialization.Formatters.dll | -| 123 | /reference:[...]/8.0.1/ref/net8.0/System.Runtime.Serialization.Json.dll | -| 124 | /reference:[...]/8.0.1/ref/net8.0/System.Runtime.Serialization.Primitives.dll | -| 125 | /reference:[...]/8.0.1/ref/net8.0/System.Runtime.Serialization.Xml.dll | -| 126 | /reference:[...]/8.0.1/ref/net8.0/System.Security.AccessControl.dll | -| 127 | /reference:[...]/8.0.1/ref/net8.0/System.Security.Claims.dll | -| 128 | /reference:[...]/8.0.1/ref/net8.0/System.Security.Cryptography.Algorithms.dll | -| 129 | /reference:[...]/8.0.1/ref/net8.0/System.Security.Cryptography.Cng.dll | -| 130 | /reference:[...]/8.0.1/ref/net8.0/System.Security.Cryptography.Csp.dll | -| 131 | /reference:[...]/8.0.1/ref/net8.0/System.Security.Cryptography.dll | -| 132 | /reference:[...]/8.0.1/ref/net8.0/System.Security.Cryptography.Encoding.dll | -| 133 | /reference:[...]/8.0.1/ref/net8.0/System.Security.Cryptography.OpenSsl.dll | -| 134 | /reference:[...]/8.0.1/ref/net8.0/System.Security.Cryptography.Primitives.dll | -| 135 | /reference:[...]/8.0.1/ref/net8.0/System.Security.Cryptography.X509Certificates.dll | -| 136 | /reference:[...]/8.0.1/ref/net8.0/System.Security.dll | -| 137 | /reference:[...]/8.0.1/ref/net8.0/System.Security.Principal.dll | -| 138 | /reference:[...]/8.0.1/ref/net8.0/System.Security.Principal.Windows.dll | -| 139 | /reference:[...]/8.0.1/ref/net8.0/System.Security.SecureString.dll | -| 140 | /reference:[...]/8.0.1/ref/net8.0/System.ServiceModel.Web.dll | -| 141 | /reference:[...]/8.0.1/ref/net8.0/System.ServiceProcess.dll | -| 142 | /reference:[...]/8.0.1/ref/net8.0/System.Text.Encoding.CodePages.dll | -| 143 | /reference:[...]/8.0.1/ref/net8.0/System.Text.Encoding.dll | -| 144 | /reference:[...]/8.0.1/ref/net8.0/System.Text.Encoding.Extensions.dll | -| 145 | /reference:[...]/8.0.1/ref/net8.0/System.Text.Encodings.Web.dll | -| 146 | /reference:[...]/8.0.1/ref/net8.0/System.Text.Json.dll | -| 147 | /reference:[...]/8.0.1/ref/net8.0/System.Text.RegularExpressions.dll | -| 148 | /reference:[...]/8.0.1/ref/net8.0/System.Threading.Channels.dll | -| 149 | /reference:[...]/8.0.1/ref/net8.0/System.Threading.dll | -| 150 | /reference:[...]/8.0.1/ref/net8.0/System.Threading.Overlapped.dll | -| 151 | /reference:[...]/8.0.1/ref/net8.0/System.Threading.Tasks.Dataflow.dll | -| 152 | /reference:[...]/8.0.1/ref/net8.0/System.Threading.Tasks.dll | -| 153 | /reference:[...]/8.0.1/ref/net8.0/System.Threading.Tasks.Extensions.dll | -| 154 | /reference:[...]/8.0.1/ref/net8.0/System.Threading.Tasks.Parallel.dll | -| 155 | /reference:[...]/8.0.1/ref/net8.0/System.Threading.Thread.dll | -| 156 | /reference:[...]/8.0.1/ref/net8.0/System.Threading.ThreadPool.dll | -| 157 | /reference:[...]/8.0.1/ref/net8.0/System.Threading.Timer.dll | -| 158 | /reference:[...]/8.0.1/ref/net8.0/System.Transactions.dll | -| 159 | /reference:[...]/8.0.1/ref/net8.0/System.Transactions.Local.dll | -| 160 | /reference:[...]/8.0.1/ref/net8.0/System.ValueTuple.dll | -| 161 | /reference:[...]/8.0.1/ref/net8.0/System.Web.dll | -| 162 | /reference:[...]/8.0.1/ref/net8.0/System.Web.HttpUtility.dll | -| 163 | /reference:[...]/8.0.1/ref/net8.0/System.Windows.dll | -| 164 | /reference:[...]/8.0.1/ref/net8.0/System.Xml.dll | -| 165 | /reference:[...]/8.0.1/ref/net8.0/System.Xml.Linq.dll | -| 166 | /reference:[...]/8.0.1/ref/net8.0/System.Xml.ReaderWriter.dll | -| 167 | /reference:[...]/8.0.1/ref/net8.0/System.Xml.Serialization.dll | -| 168 | /reference:[...]/8.0.1/ref/net8.0/System.Xml.XDocument.dll | -| 169 | /reference:[...]/8.0.1/ref/net8.0/System.Xml.XmlDocument.dll | -| 170 | /reference:[...]/8.0.1/ref/net8.0/System.Xml.XmlSerializer.dll | -| 171 | /reference:[...]/8.0.1/ref/net8.0/System.Xml.XPath.dll | -| 172 | /reference:[...]/8.0.1/ref/net8.0/System.Xml.XPath.XDocument.dll | -| 173 | /reference:[...]/8.0.1/ref/net8.0/WindowsBase.dll | -| 174 | /debug+ | -| 175 | /debug:portable | -| 176 | /filealign:512 | -| 177 | /generatedfilesout:obj/Debug/net8.0//generated | -| 178 | /optimize- | -| 179 | /out:obj/Debug/net8.0/test.dll | -| 180 | /refout:obj/Debug/net8.0/refint/test.dll | -| 181 | /target:exe | -| 182 | /warnaserror- | -| 183 | /utf8output | -| 184 | /deterministic+ | -| 185 | /langversion:12.0 | -| 186 | /analyzerconfig:obj/Debug/net8.0/test.GeneratedMSBuildEditorConfig.editorconfig | -| 187 | /analyzerconfig:[...]/8.0.101/Sdks/Microsoft.NET.Sdk/analyzers/build/config/analysislevel_8_default.globalconfig | -| 188 | /analyzer:[...]/8.0.101/Sdks/Microsoft.NET.Sdk/targets/../analyzers/Microsoft.CodeAnalysis.CSharp.NetAnalyzers.dll | -| 189 | /analyzer:[...]/8.0.101/Sdks/Microsoft.NET.Sdk/targets/../analyzers/Microsoft.CodeAnalysis.NetAnalyzers.dll | -| 190 | /analyzer:[...]/8.0.1/analyzers/dotnet/cs/Microsoft.Interop.ComInterfaceGenerator.dll | -| 191 | /analyzer:[...]/8.0.1/analyzers/dotnet/cs/Microsoft.Interop.JavaScript.JSImportGenerator.dll | -| 192 | /analyzer:[...]/8.0.1/analyzers/dotnet/cs/Microsoft.Interop.LibraryImportGenerator.dll | -| 193 | /analyzer:[...]/8.0.1/analyzers/dotnet/cs/Microsoft.Interop.SourceGeneration.dll | -| 194 | /analyzer:[...]/8.0.1/analyzers/dotnet/cs/System.Text.Json.SourceGeneration.dll | -| 195 | /analyzer:[...]/8.0.1/analyzers/dotnet/cs/System.Text.RegularExpressions.Generator.dll | -| 196 | Program.cs | -| 197 | obj/Debug/net8.0/test.GlobalUsings.g.cs | -| 198 | obj/Debug/net8.0/.NETCoreApp,Version=v8.0.AssemblyAttributes.cs | -| 199 | obj/Debug/net8.0/test.AssemblyInfo.cs | -| 200 | /warnaserror+:NU1605,SYSLIB0011 | +| 11 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/Microsoft.CSharp.dll | +| 12 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/Microsoft.VisualBasic.Core.dll | +| 13 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/Microsoft.VisualBasic.dll | +| 14 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/Microsoft.Win32.Primitives.dll | +| 15 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/Microsoft.Win32.Registry.dll | +| 16 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/mscorlib.dll | +| 17 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/netstandard.dll | +| 18 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.AppContext.dll | +| 19 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Buffers.dll | +| 20 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Collections.Concurrent.dll | +| 21 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Collections.dll | +| 22 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Collections.Immutable.dll | +| 23 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Collections.NonGeneric.dll | +| 24 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Collections.Specialized.dll | +| 25 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.ComponentModel.Annotations.dll | +| 26 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.ComponentModel.DataAnnotations.dll | +| 27 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.ComponentModel.dll | +| 28 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.ComponentModel.EventBasedAsync.dll | +| 29 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.ComponentModel.Primitives.dll | +| 30 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.ComponentModel.TypeConverter.dll | +| 31 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Configuration.dll | +| 32 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Console.dll | +| 33 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Core.dll | +| 34 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Data.Common.dll | +| 35 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Data.DataSetExtensions.dll | +| 36 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Data.dll | +| 37 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Diagnostics.Contracts.dll | +| 38 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Diagnostics.Debug.dll | +| 39 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Diagnostics.DiagnosticSource.dll | +| 40 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Diagnostics.FileVersionInfo.dll | +| 41 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Diagnostics.Process.dll | +| 42 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Diagnostics.StackTrace.dll | +| 43 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Diagnostics.TextWriterTraceListener.dll | +| 44 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Diagnostics.Tools.dll | +| 45 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Diagnostics.TraceSource.dll | +| 46 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Diagnostics.Tracing.dll | +| 47 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.dll | +| 48 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Drawing.dll | +| 49 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Drawing.Primitives.dll | +| 50 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Dynamic.Runtime.dll | +| 51 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Formats.Asn1.dll | +| 52 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Formats.Tar.dll | +| 53 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Globalization.Calendars.dll | +| 54 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Globalization.dll | +| 55 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Globalization.Extensions.dll | +| 56 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.IO.Compression.Brotli.dll | +| 57 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.IO.Compression.dll | +| 58 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.IO.Compression.FileSystem.dll | +| 59 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.IO.Compression.ZipFile.dll | +| 60 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.IO.dll | +| 61 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.IO.FileSystem.AccessControl.dll | +| 62 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.IO.FileSystem.dll | +| 63 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.IO.FileSystem.DriveInfo.dll | +| 64 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.IO.FileSystem.Primitives.dll | +| 65 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.IO.FileSystem.Watcher.dll | +| 66 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.IO.IsolatedStorage.dll | +| 67 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.IO.MemoryMappedFiles.dll | +| 68 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.IO.Pipelines.dll | +| 69 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.IO.Pipes.AccessControl.dll | +| 70 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.IO.Pipes.dll | +| 71 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.IO.UnmanagedMemoryStream.dll | +| 72 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Linq.dll | +| 73 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Linq.Expressions.dll | +| 74 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Linq.Parallel.dll | +| 75 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Linq.Queryable.dll | +| 76 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Memory.dll | +| 77 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Net.dll | +| 78 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Net.Http.dll | +| 79 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Net.Http.Json.dll | +| 80 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Net.HttpListener.dll | +| 81 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Net.Mail.dll | +| 82 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Net.NameResolution.dll | +| 83 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Net.NetworkInformation.dll | +| 84 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Net.Ping.dll | +| 85 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Net.Primitives.dll | +| 86 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Net.Quic.dll | +| 87 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Net.Requests.dll | +| 88 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Net.Security.dll | +| 89 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Net.ServicePoint.dll | +| 90 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Net.Sockets.dll | +| 91 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Net.WebClient.dll | +| 92 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Net.WebHeaderCollection.dll | +| 93 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Net.WebProxy.dll | +| 94 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Net.WebSockets.Client.dll | +| 95 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Net.WebSockets.dll | +| 96 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Numerics.dll | +| 97 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Numerics.Vectors.dll | +| 98 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.ObjectModel.dll | +| 99 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Reflection.DispatchProxy.dll | +| 100 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Reflection.dll | +| 101 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Reflection.Emit.dll | +| 102 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Reflection.Emit.ILGeneration.dll | +| 103 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Reflection.Emit.Lightweight.dll | +| 104 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Reflection.Extensions.dll | +| 105 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Reflection.Metadata.dll | +| 106 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Reflection.Primitives.dll | +| 107 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Reflection.TypeExtensions.dll | +| 108 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Resources.Reader.dll | +| 109 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Resources.ResourceManager.dll | +| 110 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Resources.Writer.dll | +| 111 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Runtime.CompilerServices.Unsafe.dll | +| 112 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Runtime.CompilerServices.VisualC.dll | +| 113 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Runtime.dll | +| 114 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Runtime.Extensions.dll | +| 115 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Runtime.Handles.dll | +| 116 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Runtime.InteropServices.dll | +| 117 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Runtime.InteropServices.JavaScript.dll | +| 118 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Runtime.InteropServices.RuntimeInformation.dll | +| 119 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Runtime.Intrinsics.dll | +| 120 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Runtime.Loader.dll | +| 121 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Runtime.Numerics.dll | +| 122 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Runtime.Serialization.dll | +| 123 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Runtime.Serialization.Formatters.dll | +| 124 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Runtime.Serialization.Json.dll | +| 125 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Runtime.Serialization.Primitives.dll | +| 126 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Runtime.Serialization.Xml.dll | +| 127 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Security.AccessControl.dll | +| 128 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Security.Claims.dll | +| 129 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Security.Cryptography.Algorithms.dll | +| 130 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Security.Cryptography.Cng.dll | +| 131 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Security.Cryptography.Csp.dll | +| 132 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Security.Cryptography.dll | +| 133 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Security.Cryptography.Encoding.dll | +| 134 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Security.Cryptography.OpenSsl.dll | +| 135 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Security.Cryptography.Primitives.dll | +| 136 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Security.Cryptography.X509Certificates.dll | +| 137 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Security.dll | +| 138 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Security.Principal.dll | +| 139 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Security.Principal.Windows.dll | +| 140 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Security.SecureString.dll | +| 141 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.ServiceModel.Web.dll | +| 142 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.ServiceProcess.dll | +| 143 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Text.Encoding.CodePages.dll | +| 144 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Text.Encoding.dll | +| 145 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Text.Encoding.Extensions.dll | +| 146 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Text.Encodings.Web.dll | +| 147 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Text.Json.dll | +| 148 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Text.RegularExpressions.dll | +| 149 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Threading.Channels.dll | +| 150 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Threading.dll | +| 151 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Threading.Overlapped.dll | +| 152 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Threading.Tasks.Dataflow.dll | +| 153 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Threading.Tasks.dll | +| 154 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Threading.Tasks.Extensions.dll | +| 155 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Threading.Tasks.Parallel.dll | +| 156 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Threading.Thread.dll | +| 157 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Threading.ThreadPool.dll | +| 158 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Threading.Timer.dll | +| 159 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Transactions.dll | +| 160 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Transactions.Local.dll | +| 161 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.ValueTuple.dll | +| 162 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Web.dll | +| 163 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Web.HttpUtility.dll | +| 164 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Windows.dll | +| 165 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Xml.dll | +| 166 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Xml.Linq.dll | +| 167 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Xml.ReaderWriter.dll | +| 168 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Xml.Serialization.dll | +| 169 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Xml.XDocument.dll | +| 170 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Xml.XmlDocument.dll | +| 171 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Xml.XmlSerializer.dll | +| 172 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Xml.XPath.dll | +| 173 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/System.Xml.XPath.XDocument.dll | +| 174 | /reference:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/ref/net9.0/WindowsBase.dll | +| 175 | /debug+ | +| 176 | /debug:portable | +| 177 | /filealign:512 | +| 178 | /generatedfilesout:obj/Debug/net9.0//generated | +| 179 | /optimize- | +| 180 | /out:obj/Debug/net9.0/test.dll | +| 181 | /refout:obj/Debug/net9.0/refint/test.dll | +| 182 | /target:exe | +| 183 | /warnaserror- | +| 184 | /utf8output | +| 185 | /deterministic+ | +| 186 | /langversion:13.0 | +| 187 | /analyzerconfig:/usr/share/dotnet/sdk/9.0.100/Sdks/Microsoft.NET.Sdk/codestyle/cs/build/config/analysislevelstyle_default.globalconfig | +| 188 | /analyzerconfig:obj/Debug/net9.0/test.GeneratedMSBuildEditorConfig.editorconfig | +| 189 | /analyzerconfig:/usr/share/dotnet/sdk/9.0.100/Sdks/Microsoft.NET.Sdk/analyzers/build/config/analysislevel_9_default.globalconfig | +| 190 | /analyzer:/usr/share/dotnet/sdk/9.0.100/Sdks/Microsoft.NET.Sdk/targets/../analyzers/Microsoft.CodeAnalysis.CSharp.NetAnalyzers.dll | +| 191 | /analyzer:/usr/share/dotnet/sdk/9.0.100/Sdks/Microsoft.NET.Sdk/targets/../analyzers/Microsoft.CodeAnalysis.NetAnalyzers.dll | +| 192 | /analyzer:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/analyzers/dotnet/cs/Microsoft.Interop.ComInterfaceGenerator.dll | +| 193 | /analyzer:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/analyzers/dotnet/cs/Microsoft.Interop.JavaScript.JSImportGenerator.dll | +| 194 | /analyzer:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/analyzers/dotnet/cs/Microsoft.Interop.LibraryImportGenerator.dll | +| 195 | /analyzer:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/analyzers/dotnet/cs/Microsoft.Interop.SourceGeneration.dll | +| 196 | /analyzer:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/analyzers/dotnet/cs/System.Text.Json.SourceGeneration.dll | +| 197 | /analyzer:/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/9.0.0/analyzers/dotnet/cs/System.Text.RegularExpressions.Generator.dll | +| 198 | Program.cs | +| 199 | obj/Debug/net9.0/test.GlobalUsings.g.cs | +| 200 | obj/Debug/net9.0/.NETCoreApp,Version=v9.0.AssemblyAttributes.cs | +| 201 | obj/Debug/net9.0/test.AssemblyInfo.cs | +| 202 | /warnaserror+:NU1605,SYSLIB0011 | \ No newline at end of file diff --git a/csharp/ql/integration-tests/posix/standalone_dependencies/Assemblies.expected b/csharp/ql/integration-tests/posix/standalone_dependencies/Assemblies.expected index d1602665e16d..3e9c8fa753b0 100644 --- a/csharp/ql/integration-tests/posix/standalone_dependencies/Assemblies.expected +++ b/csharp/ql/integration-tests/posix/standalone_dependencies/Assemblies.expected @@ -1,166 +1,167 @@ | test-db/working/packages/avalara.avatax/23.11.0/lib/netstandard2.0/Avalara.AvaTax.RestClient.dll:0:0:0:0 | Avalara.AvaTax.RestClient, Version=0.0.0.0, Culture=neutral, PublicKeyToken=be94eb8ba37fd33c | | test-db/working/packages/microsoft.bcl.asyncinterfaces/8.0.0/lib/netstandard2.1/Microsoft.Bcl.AsyncInterfaces.dll:0:0:0:0 | Microsoft.Bcl.AsyncInterfaces, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/Microsoft.CSharp.dll:0:0:0:0 | Microsoft.CSharp, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/Microsoft.VisualBasic.Core.dll:0:0:0:0 | Microsoft.VisualBasic.Core, Version=13.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/Microsoft.VisualBasic.dll:0:0:0:0 | Microsoft.VisualBasic, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/Microsoft.Win32.Primitives.dll:0:0:0:0 | Microsoft.Win32.Primitives, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/Microsoft.Win32.Registry.dll:0:0:0:0 | Microsoft.Win32.Registry, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.AppContext.dll:0:0:0:0 | System.AppContext, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Buffers.dll:0:0:0:0 | System.Buffers, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Collections.Concurrent.dll:0:0:0:0 | System.Collections.Concurrent, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Collections.Immutable.dll:0:0:0:0 | System.Collections.Immutable, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Collections.NonGeneric.dll:0:0:0:0 | System.Collections.NonGeneric, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Collections.Specialized.dll:0:0:0:0 | System.Collections.Specialized, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Collections.dll:0:0:0:0 | System.Collections, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.ComponentModel.Annotations.dll:0:0:0:0 | System.ComponentModel.Annotations, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.ComponentModel.DataAnnotations.dll:0:0:0:0 | System.ComponentModel.DataAnnotations, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.ComponentModel.EventBasedAsync.dll:0:0:0:0 | System.ComponentModel.EventBasedAsync, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.ComponentModel.Primitives.dll:0:0:0:0 | System.ComponentModel.Primitives, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.ComponentModel.TypeConverter.dll:0:0:0:0 | System.ComponentModel.TypeConverter, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.ComponentModel.dll:0:0:0:0 | System.ComponentModel, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Configuration.dll:0:0:0:0 | System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Console.dll:0:0:0:0 | System.Console, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Core.dll:0:0:0:0 | System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Data.Common.dll:0:0:0:0 | System.Data.Common, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Data.DataSetExtensions.dll:0:0:0:0 | System.Data.DataSetExtensions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Data.dll:0:0:0:0 | System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Diagnostics.Contracts.dll:0:0:0:0 | System.Diagnostics.Contracts, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Diagnostics.Debug.dll:0:0:0:0 | System.Diagnostics.Debug, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Diagnostics.DiagnosticSource.dll:0:0:0:0 | System.Diagnostics.DiagnosticSource, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Diagnostics.FileVersionInfo.dll:0:0:0:0 | System.Diagnostics.FileVersionInfo, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Diagnostics.Process.dll:0:0:0:0 | System.Diagnostics.Process, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Diagnostics.StackTrace.dll:0:0:0:0 | System.Diagnostics.StackTrace, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Diagnostics.TextWriterTraceListener.dll:0:0:0:0 | System.Diagnostics.TextWriterTraceListener, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Diagnostics.Tools.dll:0:0:0:0 | System.Diagnostics.Tools, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Diagnostics.TraceSource.dll:0:0:0:0 | System.Diagnostics.TraceSource, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Diagnostics.Tracing.dll:0:0:0:0 | System.Diagnostics.Tracing, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Drawing.Primitives.dll:0:0:0:0 | System.Drawing.Primitives, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Drawing.dll:0:0:0:0 | System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Dynamic.Runtime.dll:0:0:0:0 | System.Dynamic.Runtime, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Formats.Asn1.dll:0:0:0:0 | System.Formats.Asn1, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Formats.Tar.dll:0:0:0:0 | System.Formats.Tar, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Globalization.Calendars.dll:0:0:0:0 | System.Globalization.Calendars, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Globalization.Extensions.dll:0:0:0:0 | System.Globalization.Extensions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Globalization.dll:0:0:0:0 | System.Globalization, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.Compression.Brotli.dll:0:0:0:0 | System.IO.Compression.Brotli, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.Compression.FileSystem.dll:0:0:0:0 | System.IO.Compression.FileSystem, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.Compression.ZipFile.dll:0:0:0:0 | System.IO.Compression.ZipFile, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.Compression.dll:0:0:0:0 | System.IO.Compression, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.FileSystem.AccessControl.dll:0:0:0:0 | System.IO.FileSystem.AccessControl, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.FileSystem.DriveInfo.dll:0:0:0:0 | System.IO.FileSystem.DriveInfo, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.FileSystem.Primitives.dll:0:0:0:0 | System.IO.FileSystem.Primitives, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.FileSystem.Watcher.dll:0:0:0:0 | System.IO.FileSystem.Watcher, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.FileSystem.dll:0:0:0:0 | System.IO.FileSystem, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.IsolatedStorage.dll:0:0:0:0 | System.IO.IsolatedStorage, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.MemoryMappedFiles.dll:0:0:0:0 | System.IO.MemoryMappedFiles, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.Pipes.AccessControl.dll:0:0:0:0 | System.IO.Pipes.AccessControl, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.Pipes.dll:0:0:0:0 | System.IO.Pipes, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.UnmanagedMemoryStream.dll:0:0:0:0 | System.IO.UnmanagedMemoryStream, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.dll:0:0:0:0 | System.IO, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Linq.Expressions.dll:0:0:0:0 | System.Linq.Expressions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Linq.Parallel.dll:0:0:0:0 | System.Linq.Parallel, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Linq.Queryable.dll:0:0:0:0 | System.Linq.Queryable, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Linq.dll:0:0:0:0 | System.Linq, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Memory.dll:0:0:0:0 | System.Memory, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.Http.Json.dll:0:0:0:0 | System.Net.Http.Json, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.Http.dll:0:0:0:0 | System.Net.Http, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.HttpListener.dll:0:0:0:0 | System.Net.HttpListener, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.Mail.dll:0:0:0:0 | System.Net.Mail, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.NameResolution.dll:0:0:0:0 | System.Net.NameResolution, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.NetworkInformation.dll:0:0:0:0 | System.Net.NetworkInformation, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.Ping.dll:0:0:0:0 | System.Net.Ping, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.Primitives.dll:0:0:0:0 | System.Net.Primitives, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.Quic.dll:0:0:0:0 | System.Net.Quic, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.Requests.dll:0:0:0:0 | System.Net.Requests, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.Security.dll:0:0:0:0 | System.Net.Security, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.ServicePoint.dll:0:0:0:0 | System.Net.ServicePoint, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.Sockets.dll:0:0:0:0 | System.Net.Sockets, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.WebClient.dll:0:0:0:0 | System.Net.WebClient, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.WebHeaderCollection.dll:0:0:0:0 | System.Net.WebHeaderCollection, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.WebProxy.dll:0:0:0:0 | System.Net.WebProxy, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.WebSockets.Client.dll:0:0:0:0 | System.Net.WebSockets.Client, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.WebSockets.dll:0:0:0:0 | System.Net.WebSockets, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.dll:0:0:0:0 | System.Net, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Numerics.Vectors.dll:0:0:0:0 | System.Numerics.Vectors, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Numerics.dll:0:0:0:0 | System.Numerics, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.ObjectModel.dll:0:0:0:0 | System.ObjectModel, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Reflection.DispatchProxy.dll:0:0:0:0 | System.Reflection.DispatchProxy, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Reflection.Emit.ILGeneration.dll:0:0:0:0 | System.Reflection.Emit.ILGeneration, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Reflection.Emit.Lightweight.dll:0:0:0:0 | System.Reflection.Emit.Lightweight, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Reflection.Emit.dll:0:0:0:0 | System.Reflection.Emit, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Reflection.Extensions.dll:0:0:0:0 | System.Reflection.Extensions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Reflection.Metadata.dll:0:0:0:0 | System.Reflection.Metadata, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Reflection.Primitives.dll:0:0:0:0 | System.Reflection.Primitives, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Reflection.TypeExtensions.dll:0:0:0:0 | System.Reflection.TypeExtensions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Reflection.dll:0:0:0:0 | System.Reflection, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Resources.Reader.dll:0:0:0:0 | System.Resources.Reader, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Resources.ResourceManager.dll:0:0:0:0 | System.Resources.ResourceManager, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Resources.Writer.dll:0:0:0:0 | System.Resources.Writer, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.CompilerServices.Unsafe.dll:0:0:0:0 | System.Runtime.CompilerServices.Unsafe, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.CompilerServices.VisualC.dll:0:0:0:0 | System.Runtime.CompilerServices.VisualC, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.Extensions.dll:0:0:0:0 | System.Runtime.Extensions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.Handles.dll:0:0:0:0 | System.Runtime.Handles, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.InteropServices.JavaScript.dll:0:0:0:0 | System.Runtime.InteropServices.JavaScript, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.InteropServices.RuntimeInformation.dll:0:0:0:0 | System.Runtime.InteropServices.RuntimeInformation, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.InteropServices.dll:0:0:0:0 | System.Runtime.InteropServices, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.Intrinsics.dll:0:0:0:0 | System.Runtime.Intrinsics, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.Loader.dll:0:0:0:0 | System.Runtime.Loader, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.Numerics.dll:0:0:0:0 | System.Runtime.Numerics, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.Serialization.Formatters.dll:0:0:0:0 | System.Runtime.Serialization.Formatters, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.Serialization.Json.dll:0:0:0:0 | System.Runtime.Serialization.Json, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.Serialization.Primitives.dll:0:0:0:0 | System.Runtime.Serialization.Primitives, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.Serialization.Xml.dll:0:0:0:0 | System.Runtime.Serialization.Xml, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.Serialization.dll:0:0:0:0 | System.Runtime.Serialization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.dll:0:0:0:0 | System.Runtime, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.AccessControl.dll:0:0:0:0 | System.Security.AccessControl, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Claims.dll:0:0:0:0 | System.Security.Claims, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Cryptography.Algorithms.dll:0:0:0:0 | System.Security.Cryptography.Algorithms, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Cryptography.Cng.dll:0:0:0:0 | System.Security.Cryptography.Cng, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Cryptography.Csp.dll:0:0:0:0 | System.Security.Cryptography.Csp, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Cryptography.Encoding.dll:0:0:0:0 | System.Security.Cryptography.Encoding, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Cryptography.OpenSsl.dll:0:0:0:0 | System.Security.Cryptography.OpenSsl, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Cryptography.Primitives.dll:0:0:0:0 | System.Security.Cryptography.Primitives, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Cryptography.X509Certificates.dll:0:0:0:0 | System.Security.Cryptography.X509Certificates, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Cryptography.dll:0:0:0:0 | System.Security.Cryptography, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Principal.Windows.dll:0:0:0:0 | System.Security.Principal.Windows, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Principal.dll:0:0:0:0 | System.Security.Principal, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.SecureString.dll:0:0:0:0 | System.Security.SecureString, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.dll:0:0:0:0 | System.Security, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.ServiceModel.Web.dll:0:0:0:0 | System.ServiceModel.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.ServiceProcess.dll:0:0:0:0 | System.ServiceProcess, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Text.Encoding.CodePages.dll:0:0:0:0 | System.Text.Encoding.CodePages, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Text.Encoding.Extensions.dll:0:0:0:0 | System.Text.Encoding.Extensions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Text.Encoding.dll:0:0:0:0 | System.Text.Encoding, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Text.Encodings.Web.dll:0:0:0:0 | System.Text.Encodings.Web, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Text.Json.dll:0:0:0:0 | System.Text.Json, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Text.RegularExpressions.dll:0:0:0:0 | System.Text.RegularExpressions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Threading.Channels.dll:0:0:0:0 | System.Threading.Channels, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Threading.Overlapped.dll:0:0:0:0 | System.Threading.Overlapped, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Threading.Tasks.Dataflow.dll:0:0:0:0 | System.Threading.Tasks.Dataflow, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Threading.Tasks.Extensions.dll:0:0:0:0 | System.Threading.Tasks.Extensions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Threading.Tasks.Parallel.dll:0:0:0:0 | System.Threading.Tasks.Parallel, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Threading.Tasks.dll:0:0:0:0 | System.Threading.Tasks, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Threading.Thread.dll:0:0:0:0 | System.Threading.Thread, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Threading.ThreadPool.dll:0:0:0:0 | System.Threading.ThreadPool, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Threading.Timer.dll:0:0:0:0 | System.Threading.Timer, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Threading.dll:0:0:0:0 | System.Threading, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Transactions.Local.dll:0:0:0:0 | System.Transactions.Local, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Transactions.dll:0:0:0:0 | System.Transactions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.ValueTuple.dll:0:0:0:0 | System.ValueTuple, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Web.HttpUtility.dll:0:0:0:0 | System.Web.HttpUtility, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Web.dll:0:0:0:0 | System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Windows.dll:0:0:0:0 | System.Windows, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Xml.Linq.dll:0:0:0:0 | System.Xml.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Xml.ReaderWriter.dll:0:0:0:0 | System.Xml.ReaderWriter, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Xml.Serialization.dll:0:0:0:0 | System.Xml.Serialization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Xml.XDocument.dll:0:0:0:0 | System.Xml.XDocument, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Xml.XPath.XDocument.dll:0:0:0:0 | System.Xml.XPath.XDocument, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Xml.XPath.dll:0:0:0:0 | System.Xml.XPath, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Xml.XmlDocument.dll:0:0:0:0 | System.Xml.XmlDocument, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Xml.XmlSerializer.dll:0:0:0:0 | System.Xml.XmlSerializer, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Xml.dll:0:0:0:0 | System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.dll:0:0:0:0 | System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/WindowsBase.dll:0:0:0:0 | WindowsBase, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/mscorlib.dll:0:0:0:0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/netstandard.dll:0:0:0:0 | netstandard, Version=2.1.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/Microsoft.CSharp.dll:0:0:0:0 | Microsoft.CSharp, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/Microsoft.VisualBasic.Core.dll:0:0:0:0 | Microsoft.VisualBasic.Core, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/Microsoft.VisualBasic.dll:0:0:0:0 | Microsoft.VisualBasic, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/Microsoft.Win32.Primitives.dll:0:0:0:0 | Microsoft.Win32.Primitives, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/Microsoft.Win32.Registry.dll:0:0:0:0 | Microsoft.Win32.Registry, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.AppContext.dll:0:0:0:0 | System.AppContext, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Buffers.dll:0:0:0:0 | System.Buffers, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Collections.Concurrent.dll:0:0:0:0 | System.Collections.Concurrent, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Collections.Immutable.dll:0:0:0:0 | System.Collections.Immutable, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Collections.NonGeneric.dll:0:0:0:0 | System.Collections.NonGeneric, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Collections.Specialized.dll:0:0:0:0 | System.Collections.Specialized, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Collections.dll:0:0:0:0 | System.Collections, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.ComponentModel.Annotations.dll:0:0:0:0 | System.ComponentModel.Annotations, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.ComponentModel.DataAnnotations.dll:0:0:0:0 | System.ComponentModel.DataAnnotations, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.ComponentModel.EventBasedAsync.dll:0:0:0:0 | System.ComponentModel.EventBasedAsync, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.ComponentModel.Primitives.dll:0:0:0:0 | System.ComponentModel.Primitives, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.ComponentModel.TypeConverter.dll:0:0:0:0 | System.ComponentModel.TypeConverter, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.ComponentModel.dll:0:0:0:0 | System.ComponentModel, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Configuration.dll:0:0:0:0 | System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Console.dll:0:0:0:0 | System.Console, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Core.dll:0:0:0:0 | System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Data.Common.dll:0:0:0:0 | System.Data.Common, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Data.DataSetExtensions.dll:0:0:0:0 | System.Data.DataSetExtensions, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Data.dll:0:0:0:0 | System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Diagnostics.Contracts.dll:0:0:0:0 | System.Diagnostics.Contracts, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Diagnostics.Debug.dll:0:0:0:0 | System.Diagnostics.Debug, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Diagnostics.DiagnosticSource.dll:0:0:0:0 | System.Diagnostics.DiagnosticSource, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Diagnostics.FileVersionInfo.dll:0:0:0:0 | System.Diagnostics.FileVersionInfo, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Diagnostics.Process.dll:0:0:0:0 | System.Diagnostics.Process, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Diagnostics.StackTrace.dll:0:0:0:0 | System.Diagnostics.StackTrace, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Diagnostics.TextWriterTraceListener.dll:0:0:0:0 | System.Diagnostics.TextWriterTraceListener, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Diagnostics.Tools.dll:0:0:0:0 | System.Diagnostics.Tools, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Diagnostics.TraceSource.dll:0:0:0:0 | System.Diagnostics.TraceSource, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Diagnostics.Tracing.dll:0:0:0:0 | System.Diagnostics.Tracing, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Drawing.Primitives.dll:0:0:0:0 | System.Drawing.Primitives, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Drawing.dll:0:0:0:0 | System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Dynamic.Runtime.dll:0:0:0:0 | System.Dynamic.Runtime, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Formats.Asn1.dll:0:0:0:0 | System.Formats.Asn1, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Formats.Tar.dll:0:0:0:0 | System.Formats.Tar, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Globalization.Calendars.dll:0:0:0:0 | System.Globalization.Calendars, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Globalization.Extensions.dll:0:0:0:0 | System.Globalization.Extensions, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Globalization.dll:0:0:0:0 | System.Globalization, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.IO.Compression.Brotli.dll:0:0:0:0 | System.IO.Compression.Brotli, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.IO.Compression.FileSystem.dll:0:0:0:0 | System.IO.Compression.FileSystem, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.IO.Compression.ZipFile.dll:0:0:0:0 | System.IO.Compression.ZipFile, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.IO.Compression.dll:0:0:0:0 | System.IO.Compression, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.IO.FileSystem.AccessControl.dll:0:0:0:0 | System.IO.FileSystem.AccessControl, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.IO.FileSystem.DriveInfo.dll:0:0:0:0 | System.IO.FileSystem.DriveInfo, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.IO.FileSystem.Primitives.dll:0:0:0:0 | System.IO.FileSystem.Primitives, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.IO.FileSystem.Watcher.dll:0:0:0:0 | System.IO.FileSystem.Watcher, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.IO.FileSystem.dll:0:0:0:0 | System.IO.FileSystem, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.IO.IsolatedStorage.dll:0:0:0:0 | System.IO.IsolatedStorage, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.IO.MemoryMappedFiles.dll:0:0:0:0 | System.IO.MemoryMappedFiles, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.IO.Pipelines.dll:0:0:0:0 | System.IO.Pipelines, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.IO.Pipes.AccessControl.dll:0:0:0:0 | System.IO.Pipes.AccessControl, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.IO.Pipes.dll:0:0:0:0 | System.IO.Pipes, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.IO.UnmanagedMemoryStream.dll:0:0:0:0 | System.IO.UnmanagedMemoryStream, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.IO.dll:0:0:0:0 | System.IO, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Linq.Expressions.dll:0:0:0:0 | System.Linq.Expressions, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Linq.Parallel.dll:0:0:0:0 | System.Linq.Parallel, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Linq.Queryable.dll:0:0:0:0 | System.Linq.Queryable, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Linq.dll:0:0:0:0 | System.Linq, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Memory.dll:0:0:0:0 | System.Memory, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Net.Http.Json.dll:0:0:0:0 | System.Net.Http.Json, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Net.Http.dll:0:0:0:0 | System.Net.Http, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Net.HttpListener.dll:0:0:0:0 | System.Net.HttpListener, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Net.Mail.dll:0:0:0:0 | System.Net.Mail, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Net.NameResolution.dll:0:0:0:0 | System.Net.NameResolution, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Net.NetworkInformation.dll:0:0:0:0 | System.Net.NetworkInformation, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Net.Ping.dll:0:0:0:0 | System.Net.Ping, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Net.Primitives.dll:0:0:0:0 | System.Net.Primitives, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Net.Quic.dll:0:0:0:0 | System.Net.Quic, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Net.Requests.dll:0:0:0:0 | System.Net.Requests, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Net.Security.dll:0:0:0:0 | System.Net.Security, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Net.ServicePoint.dll:0:0:0:0 | System.Net.ServicePoint, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Net.Sockets.dll:0:0:0:0 | System.Net.Sockets, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Net.WebClient.dll:0:0:0:0 | System.Net.WebClient, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Net.WebHeaderCollection.dll:0:0:0:0 | System.Net.WebHeaderCollection, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Net.WebProxy.dll:0:0:0:0 | System.Net.WebProxy, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Net.WebSockets.Client.dll:0:0:0:0 | System.Net.WebSockets.Client, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Net.WebSockets.dll:0:0:0:0 | System.Net.WebSockets, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Net.dll:0:0:0:0 | System.Net, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Numerics.Vectors.dll:0:0:0:0 | System.Numerics.Vectors, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Numerics.dll:0:0:0:0 | System.Numerics, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.ObjectModel.dll:0:0:0:0 | System.ObjectModel, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Reflection.DispatchProxy.dll:0:0:0:0 | System.Reflection.DispatchProxy, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Reflection.Emit.ILGeneration.dll:0:0:0:0 | System.Reflection.Emit.ILGeneration, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Reflection.Emit.Lightweight.dll:0:0:0:0 | System.Reflection.Emit.Lightweight, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Reflection.Emit.dll:0:0:0:0 | System.Reflection.Emit, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Reflection.Extensions.dll:0:0:0:0 | System.Reflection.Extensions, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Reflection.Metadata.dll:0:0:0:0 | System.Reflection.Metadata, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Reflection.Primitives.dll:0:0:0:0 | System.Reflection.Primitives, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Reflection.TypeExtensions.dll:0:0:0:0 | System.Reflection.TypeExtensions, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Reflection.dll:0:0:0:0 | System.Reflection, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Resources.Reader.dll:0:0:0:0 | System.Resources.Reader, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Resources.ResourceManager.dll:0:0:0:0 | System.Resources.ResourceManager, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Resources.Writer.dll:0:0:0:0 | System.Resources.Writer, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Runtime.CompilerServices.Unsafe.dll:0:0:0:0 | System.Runtime.CompilerServices.Unsafe, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Runtime.CompilerServices.VisualC.dll:0:0:0:0 | System.Runtime.CompilerServices.VisualC, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Runtime.Extensions.dll:0:0:0:0 | System.Runtime.Extensions, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Runtime.Handles.dll:0:0:0:0 | System.Runtime.Handles, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Runtime.InteropServices.JavaScript.dll:0:0:0:0 | System.Runtime.InteropServices.JavaScript, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Runtime.InteropServices.RuntimeInformation.dll:0:0:0:0 | System.Runtime.InteropServices.RuntimeInformation, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Runtime.InteropServices.dll:0:0:0:0 | System.Runtime.InteropServices, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Runtime.Intrinsics.dll:0:0:0:0 | System.Runtime.Intrinsics, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Runtime.Loader.dll:0:0:0:0 | System.Runtime.Loader, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Runtime.Numerics.dll:0:0:0:0 | System.Runtime.Numerics, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Runtime.Serialization.Formatters.dll:0:0:0:0 | System.Runtime.Serialization.Formatters, Version=8.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Runtime.Serialization.Json.dll:0:0:0:0 | System.Runtime.Serialization.Json, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Runtime.Serialization.Primitives.dll:0:0:0:0 | System.Runtime.Serialization.Primitives, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Runtime.Serialization.Xml.dll:0:0:0:0 | System.Runtime.Serialization.Xml, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Runtime.Serialization.dll:0:0:0:0 | System.Runtime.Serialization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Runtime.dll:0:0:0:0 | System.Runtime, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Security.AccessControl.dll:0:0:0:0 | System.Security.AccessControl, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Security.Claims.dll:0:0:0:0 | System.Security.Claims, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Security.Cryptography.Algorithms.dll:0:0:0:0 | System.Security.Cryptography.Algorithms, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Security.Cryptography.Cng.dll:0:0:0:0 | System.Security.Cryptography.Cng, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Security.Cryptography.Csp.dll:0:0:0:0 | System.Security.Cryptography.Csp, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Security.Cryptography.Encoding.dll:0:0:0:0 | System.Security.Cryptography.Encoding, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Security.Cryptography.OpenSsl.dll:0:0:0:0 | System.Security.Cryptography.OpenSsl, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Security.Cryptography.Primitives.dll:0:0:0:0 | System.Security.Cryptography.Primitives, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Security.Cryptography.X509Certificates.dll:0:0:0:0 | System.Security.Cryptography.X509Certificates, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Security.Cryptography.dll:0:0:0:0 | System.Security.Cryptography, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Security.Principal.Windows.dll:0:0:0:0 | System.Security.Principal.Windows, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Security.Principal.dll:0:0:0:0 | System.Security.Principal, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Security.SecureString.dll:0:0:0:0 | System.Security.SecureString, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Security.dll:0:0:0:0 | System.Security, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.ServiceModel.Web.dll:0:0:0:0 | System.ServiceModel.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.ServiceProcess.dll:0:0:0:0 | System.ServiceProcess, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Text.Encoding.CodePages.dll:0:0:0:0 | System.Text.Encoding.CodePages, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Text.Encoding.Extensions.dll:0:0:0:0 | System.Text.Encoding.Extensions, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Text.Encoding.dll:0:0:0:0 | System.Text.Encoding, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Text.Encodings.Web.dll:0:0:0:0 | System.Text.Encodings.Web, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Text.Json.dll:0:0:0:0 | System.Text.Json, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Text.RegularExpressions.dll:0:0:0:0 | System.Text.RegularExpressions, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Threading.Channels.dll:0:0:0:0 | System.Threading.Channels, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Threading.Overlapped.dll:0:0:0:0 | System.Threading.Overlapped, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Threading.Tasks.Dataflow.dll:0:0:0:0 | System.Threading.Tasks.Dataflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Threading.Tasks.Extensions.dll:0:0:0:0 | System.Threading.Tasks.Extensions, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Threading.Tasks.Parallel.dll:0:0:0:0 | System.Threading.Tasks.Parallel, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Threading.Tasks.dll:0:0:0:0 | System.Threading.Tasks, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Threading.Thread.dll:0:0:0:0 | System.Threading.Thread, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Threading.ThreadPool.dll:0:0:0:0 | System.Threading.ThreadPool, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Threading.Timer.dll:0:0:0:0 | System.Threading.Timer, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Threading.dll:0:0:0:0 | System.Threading, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Transactions.Local.dll:0:0:0:0 | System.Transactions.Local, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Transactions.dll:0:0:0:0 | System.Transactions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.ValueTuple.dll:0:0:0:0 | System.ValueTuple, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Web.HttpUtility.dll:0:0:0:0 | System.Web.HttpUtility, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Web.dll:0:0:0:0 | System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Windows.dll:0:0:0:0 | System.Windows, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Xml.Linq.dll:0:0:0:0 | System.Xml.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Xml.ReaderWriter.dll:0:0:0:0 | System.Xml.ReaderWriter, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Xml.Serialization.dll:0:0:0:0 | System.Xml.Serialization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Xml.XDocument.dll:0:0:0:0 | System.Xml.XDocument, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Xml.XPath.XDocument.dll:0:0:0:0 | System.Xml.XPath.XDocument, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Xml.XPath.dll:0:0:0:0 | System.Xml.XPath, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Xml.XmlDocument.dll:0:0:0:0 | System.Xml.XmlDocument, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Xml.XmlSerializer.dll:0:0:0:0 | System.Xml.XmlSerializer, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Xml.dll:0:0:0:0 | System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.dll:0:0:0:0 | System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/WindowsBase.dll:0:0:0:0 | WindowsBase, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/mscorlib.dll:0:0:0:0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/netstandard.dll:0:0:0:0 | netstandard, Version=2.1.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | | test-db/working/packages/newtonsoft.json/12.0.1/lib/netstandard2.0/Newtonsoft.Json.dll:0:0:0:0 | Newtonsoft.Json, Version=12.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed | diff --git a/csharp/ql/integration-tests/posix/standalone_dependencies_multi_project/Assemblies.expected b/csharp/ql/integration-tests/posix/standalone_dependencies_multi_project/Assemblies.expected index d1602665e16d..3e9c8fa753b0 100644 --- a/csharp/ql/integration-tests/posix/standalone_dependencies_multi_project/Assemblies.expected +++ b/csharp/ql/integration-tests/posix/standalone_dependencies_multi_project/Assemblies.expected @@ -1,166 +1,167 @@ | test-db/working/packages/avalara.avatax/23.11.0/lib/netstandard2.0/Avalara.AvaTax.RestClient.dll:0:0:0:0 | Avalara.AvaTax.RestClient, Version=0.0.0.0, Culture=neutral, PublicKeyToken=be94eb8ba37fd33c | | test-db/working/packages/microsoft.bcl.asyncinterfaces/8.0.0/lib/netstandard2.1/Microsoft.Bcl.AsyncInterfaces.dll:0:0:0:0 | Microsoft.Bcl.AsyncInterfaces, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/Microsoft.CSharp.dll:0:0:0:0 | Microsoft.CSharp, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/Microsoft.VisualBasic.Core.dll:0:0:0:0 | Microsoft.VisualBasic.Core, Version=13.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/Microsoft.VisualBasic.dll:0:0:0:0 | Microsoft.VisualBasic, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/Microsoft.Win32.Primitives.dll:0:0:0:0 | Microsoft.Win32.Primitives, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/Microsoft.Win32.Registry.dll:0:0:0:0 | Microsoft.Win32.Registry, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.AppContext.dll:0:0:0:0 | System.AppContext, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Buffers.dll:0:0:0:0 | System.Buffers, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Collections.Concurrent.dll:0:0:0:0 | System.Collections.Concurrent, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Collections.Immutable.dll:0:0:0:0 | System.Collections.Immutable, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Collections.NonGeneric.dll:0:0:0:0 | System.Collections.NonGeneric, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Collections.Specialized.dll:0:0:0:0 | System.Collections.Specialized, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Collections.dll:0:0:0:0 | System.Collections, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.ComponentModel.Annotations.dll:0:0:0:0 | System.ComponentModel.Annotations, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.ComponentModel.DataAnnotations.dll:0:0:0:0 | System.ComponentModel.DataAnnotations, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.ComponentModel.EventBasedAsync.dll:0:0:0:0 | System.ComponentModel.EventBasedAsync, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.ComponentModel.Primitives.dll:0:0:0:0 | System.ComponentModel.Primitives, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.ComponentModel.TypeConverter.dll:0:0:0:0 | System.ComponentModel.TypeConverter, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.ComponentModel.dll:0:0:0:0 | System.ComponentModel, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Configuration.dll:0:0:0:0 | System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Console.dll:0:0:0:0 | System.Console, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Core.dll:0:0:0:0 | System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Data.Common.dll:0:0:0:0 | System.Data.Common, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Data.DataSetExtensions.dll:0:0:0:0 | System.Data.DataSetExtensions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Data.dll:0:0:0:0 | System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Diagnostics.Contracts.dll:0:0:0:0 | System.Diagnostics.Contracts, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Diagnostics.Debug.dll:0:0:0:0 | System.Diagnostics.Debug, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Diagnostics.DiagnosticSource.dll:0:0:0:0 | System.Diagnostics.DiagnosticSource, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Diagnostics.FileVersionInfo.dll:0:0:0:0 | System.Diagnostics.FileVersionInfo, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Diagnostics.Process.dll:0:0:0:0 | System.Diagnostics.Process, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Diagnostics.StackTrace.dll:0:0:0:0 | System.Diagnostics.StackTrace, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Diagnostics.TextWriterTraceListener.dll:0:0:0:0 | System.Diagnostics.TextWriterTraceListener, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Diagnostics.Tools.dll:0:0:0:0 | System.Diagnostics.Tools, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Diagnostics.TraceSource.dll:0:0:0:0 | System.Diagnostics.TraceSource, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Diagnostics.Tracing.dll:0:0:0:0 | System.Diagnostics.Tracing, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Drawing.Primitives.dll:0:0:0:0 | System.Drawing.Primitives, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Drawing.dll:0:0:0:0 | System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Dynamic.Runtime.dll:0:0:0:0 | System.Dynamic.Runtime, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Formats.Asn1.dll:0:0:0:0 | System.Formats.Asn1, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Formats.Tar.dll:0:0:0:0 | System.Formats.Tar, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Globalization.Calendars.dll:0:0:0:0 | System.Globalization.Calendars, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Globalization.Extensions.dll:0:0:0:0 | System.Globalization.Extensions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Globalization.dll:0:0:0:0 | System.Globalization, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.Compression.Brotli.dll:0:0:0:0 | System.IO.Compression.Brotli, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.Compression.FileSystem.dll:0:0:0:0 | System.IO.Compression.FileSystem, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.Compression.ZipFile.dll:0:0:0:0 | System.IO.Compression.ZipFile, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.Compression.dll:0:0:0:0 | System.IO.Compression, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.FileSystem.AccessControl.dll:0:0:0:0 | System.IO.FileSystem.AccessControl, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.FileSystem.DriveInfo.dll:0:0:0:0 | System.IO.FileSystem.DriveInfo, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.FileSystem.Primitives.dll:0:0:0:0 | System.IO.FileSystem.Primitives, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.FileSystem.Watcher.dll:0:0:0:0 | System.IO.FileSystem.Watcher, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.FileSystem.dll:0:0:0:0 | System.IO.FileSystem, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.IsolatedStorage.dll:0:0:0:0 | System.IO.IsolatedStorage, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.MemoryMappedFiles.dll:0:0:0:0 | System.IO.MemoryMappedFiles, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.Pipes.AccessControl.dll:0:0:0:0 | System.IO.Pipes.AccessControl, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.Pipes.dll:0:0:0:0 | System.IO.Pipes, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.UnmanagedMemoryStream.dll:0:0:0:0 | System.IO.UnmanagedMemoryStream, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.dll:0:0:0:0 | System.IO, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Linq.Expressions.dll:0:0:0:0 | System.Linq.Expressions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Linq.Parallel.dll:0:0:0:0 | System.Linq.Parallel, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Linq.Queryable.dll:0:0:0:0 | System.Linq.Queryable, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Linq.dll:0:0:0:0 | System.Linq, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Memory.dll:0:0:0:0 | System.Memory, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.Http.Json.dll:0:0:0:0 | System.Net.Http.Json, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.Http.dll:0:0:0:0 | System.Net.Http, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.HttpListener.dll:0:0:0:0 | System.Net.HttpListener, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.Mail.dll:0:0:0:0 | System.Net.Mail, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.NameResolution.dll:0:0:0:0 | System.Net.NameResolution, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.NetworkInformation.dll:0:0:0:0 | System.Net.NetworkInformation, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.Ping.dll:0:0:0:0 | System.Net.Ping, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.Primitives.dll:0:0:0:0 | System.Net.Primitives, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.Quic.dll:0:0:0:0 | System.Net.Quic, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.Requests.dll:0:0:0:0 | System.Net.Requests, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.Security.dll:0:0:0:0 | System.Net.Security, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.ServicePoint.dll:0:0:0:0 | System.Net.ServicePoint, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.Sockets.dll:0:0:0:0 | System.Net.Sockets, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.WebClient.dll:0:0:0:0 | System.Net.WebClient, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.WebHeaderCollection.dll:0:0:0:0 | System.Net.WebHeaderCollection, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.WebProxy.dll:0:0:0:0 | System.Net.WebProxy, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.WebSockets.Client.dll:0:0:0:0 | System.Net.WebSockets.Client, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.WebSockets.dll:0:0:0:0 | System.Net.WebSockets, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.dll:0:0:0:0 | System.Net, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Numerics.Vectors.dll:0:0:0:0 | System.Numerics.Vectors, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Numerics.dll:0:0:0:0 | System.Numerics, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.ObjectModel.dll:0:0:0:0 | System.ObjectModel, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Reflection.DispatchProxy.dll:0:0:0:0 | System.Reflection.DispatchProxy, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Reflection.Emit.ILGeneration.dll:0:0:0:0 | System.Reflection.Emit.ILGeneration, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Reflection.Emit.Lightweight.dll:0:0:0:0 | System.Reflection.Emit.Lightweight, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Reflection.Emit.dll:0:0:0:0 | System.Reflection.Emit, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Reflection.Extensions.dll:0:0:0:0 | System.Reflection.Extensions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Reflection.Metadata.dll:0:0:0:0 | System.Reflection.Metadata, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Reflection.Primitives.dll:0:0:0:0 | System.Reflection.Primitives, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Reflection.TypeExtensions.dll:0:0:0:0 | System.Reflection.TypeExtensions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Reflection.dll:0:0:0:0 | System.Reflection, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Resources.Reader.dll:0:0:0:0 | System.Resources.Reader, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Resources.ResourceManager.dll:0:0:0:0 | System.Resources.ResourceManager, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Resources.Writer.dll:0:0:0:0 | System.Resources.Writer, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.CompilerServices.Unsafe.dll:0:0:0:0 | System.Runtime.CompilerServices.Unsafe, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.CompilerServices.VisualC.dll:0:0:0:0 | System.Runtime.CompilerServices.VisualC, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.Extensions.dll:0:0:0:0 | System.Runtime.Extensions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.Handles.dll:0:0:0:0 | System.Runtime.Handles, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.InteropServices.JavaScript.dll:0:0:0:0 | System.Runtime.InteropServices.JavaScript, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.InteropServices.RuntimeInformation.dll:0:0:0:0 | System.Runtime.InteropServices.RuntimeInformation, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.InteropServices.dll:0:0:0:0 | System.Runtime.InteropServices, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.Intrinsics.dll:0:0:0:0 | System.Runtime.Intrinsics, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.Loader.dll:0:0:0:0 | System.Runtime.Loader, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.Numerics.dll:0:0:0:0 | System.Runtime.Numerics, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.Serialization.Formatters.dll:0:0:0:0 | System.Runtime.Serialization.Formatters, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.Serialization.Json.dll:0:0:0:0 | System.Runtime.Serialization.Json, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.Serialization.Primitives.dll:0:0:0:0 | System.Runtime.Serialization.Primitives, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.Serialization.Xml.dll:0:0:0:0 | System.Runtime.Serialization.Xml, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.Serialization.dll:0:0:0:0 | System.Runtime.Serialization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.dll:0:0:0:0 | System.Runtime, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.AccessControl.dll:0:0:0:0 | System.Security.AccessControl, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Claims.dll:0:0:0:0 | System.Security.Claims, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Cryptography.Algorithms.dll:0:0:0:0 | System.Security.Cryptography.Algorithms, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Cryptography.Cng.dll:0:0:0:0 | System.Security.Cryptography.Cng, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Cryptography.Csp.dll:0:0:0:0 | System.Security.Cryptography.Csp, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Cryptography.Encoding.dll:0:0:0:0 | System.Security.Cryptography.Encoding, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Cryptography.OpenSsl.dll:0:0:0:0 | System.Security.Cryptography.OpenSsl, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Cryptography.Primitives.dll:0:0:0:0 | System.Security.Cryptography.Primitives, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Cryptography.X509Certificates.dll:0:0:0:0 | System.Security.Cryptography.X509Certificates, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Cryptography.dll:0:0:0:0 | System.Security.Cryptography, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Principal.Windows.dll:0:0:0:0 | System.Security.Principal.Windows, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Principal.dll:0:0:0:0 | System.Security.Principal, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.SecureString.dll:0:0:0:0 | System.Security.SecureString, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.dll:0:0:0:0 | System.Security, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.ServiceModel.Web.dll:0:0:0:0 | System.ServiceModel.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.ServiceProcess.dll:0:0:0:0 | System.ServiceProcess, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Text.Encoding.CodePages.dll:0:0:0:0 | System.Text.Encoding.CodePages, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Text.Encoding.Extensions.dll:0:0:0:0 | System.Text.Encoding.Extensions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Text.Encoding.dll:0:0:0:0 | System.Text.Encoding, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Text.Encodings.Web.dll:0:0:0:0 | System.Text.Encodings.Web, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Text.Json.dll:0:0:0:0 | System.Text.Json, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Text.RegularExpressions.dll:0:0:0:0 | System.Text.RegularExpressions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Threading.Channels.dll:0:0:0:0 | System.Threading.Channels, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Threading.Overlapped.dll:0:0:0:0 | System.Threading.Overlapped, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Threading.Tasks.Dataflow.dll:0:0:0:0 | System.Threading.Tasks.Dataflow, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Threading.Tasks.Extensions.dll:0:0:0:0 | System.Threading.Tasks.Extensions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Threading.Tasks.Parallel.dll:0:0:0:0 | System.Threading.Tasks.Parallel, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Threading.Tasks.dll:0:0:0:0 | System.Threading.Tasks, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Threading.Thread.dll:0:0:0:0 | System.Threading.Thread, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Threading.ThreadPool.dll:0:0:0:0 | System.Threading.ThreadPool, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Threading.Timer.dll:0:0:0:0 | System.Threading.Timer, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Threading.dll:0:0:0:0 | System.Threading, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Transactions.Local.dll:0:0:0:0 | System.Transactions.Local, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Transactions.dll:0:0:0:0 | System.Transactions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.ValueTuple.dll:0:0:0:0 | System.ValueTuple, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Web.HttpUtility.dll:0:0:0:0 | System.Web.HttpUtility, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Web.dll:0:0:0:0 | System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Windows.dll:0:0:0:0 | System.Windows, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Xml.Linq.dll:0:0:0:0 | System.Xml.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Xml.ReaderWriter.dll:0:0:0:0 | System.Xml.ReaderWriter, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Xml.Serialization.dll:0:0:0:0 | System.Xml.Serialization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Xml.XDocument.dll:0:0:0:0 | System.Xml.XDocument, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Xml.XPath.XDocument.dll:0:0:0:0 | System.Xml.XPath.XDocument, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Xml.XPath.dll:0:0:0:0 | System.Xml.XPath, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Xml.XmlDocument.dll:0:0:0:0 | System.Xml.XmlDocument, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Xml.XmlSerializer.dll:0:0:0:0 | System.Xml.XmlSerializer, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Xml.dll:0:0:0:0 | System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.dll:0:0:0:0 | System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/WindowsBase.dll:0:0:0:0 | WindowsBase, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/mscorlib.dll:0:0:0:0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/netstandard.dll:0:0:0:0 | netstandard, Version=2.1.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/Microsoft.CSharp.dll:0:0:0:0 | Microsoft.CSharp, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/Microsoft.VisualBasic.Core.dll:0:0:0:0 | Microsoft.VisualBasic.Core, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/Microsoft.VisualBasic.dll:0:0:0:0 | Microsoft.VisualBasic, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/Microsoft.Win32.Primitives.dll:0:0:0:0 | Microsoft.Win32.Primitives, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/Microsoft.Win32.Registry.dll:0:0:0:0 | Microsoft.Win32.Registry, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.AppContext.dll:0:0:0:0 | System.AppContext, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Buffers.dll:0:0:0:0 | System.Buffers, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Collections.Concurrent.dll:0:0:0:0 | System.Collections.Concurrent, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Collections.Immutable.dll:0:0:0:0 | System.Collections.Immutable, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Collections.NonGeneric.dll:0:0:0:0 | System.Collections.NonGeneric, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Collections.Specialized.dll:0:0:0:0 | System.Collections.Specialized, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Collections.dll:0:0:0:0 | System.Collections, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.ComponentModel.Annotations.dll:0:0:0:0 | System.ComponentModel.Annotations, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.ComponentModel.DataAnnotations.dll:0:0:0:0 | System.ComponentModel.DataAnnotations, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.ComponentModel.EventBasedAsync.dll:0:0:0:0 | System.ComponentModel.EventBasedAsync, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.ComponentModel.Primitives.dll:0:0:0:0 | System.ComponentModel.Primitives, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.ComponentModel.TypeConverter.dll:0:0:0:0 | System.ComponentModel.TypeConverter, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.ComponentModel.dll:0:0:0:0 | System.ComponentModel, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Configuration.dll:0:0:0:0 | System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Console.dll:0:0:0:0 | System.Console, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Core.dll:0:0:0:0 | System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Data.Common.dll:0:0:0:0 | System.Data.Common, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Data.DataSetExtensions.dll:0:0:0:0 | System.Data.DataSetExtensions, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Data.dll:0:0:0:0 | System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Diagnostics.Contracts.dll:0:0:0:0 | System.Diagnostics.Contracts, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Diagnostics.Debug.dll:0:0:0:0 | System.Diagnostics.Debug, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Diagnostics.DiagnosticSource.dll:0:0:0:0 | System.Diagnostics.DiagnosticSource, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Diagnostics.FileVersionInfo.dll:0:0:0:0 | System.Diagnostics.FileVersionInfo, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Diagnostics.Process.dll:0:0:0:0 | System.Diagnostics.Process, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Diagnostics.StackTrace.dll:0:0:0:0 | System.Diagnostics.StackTrace, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Diagnostics.TextWriterTraceListener.dll:0:0:0:0 | System.Diagnostics.TextWriterTraceListener, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Diagnostics.Tools.dll:0:0:0:0 | System.Diagnostics.Tools, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Diagnostics.TraceSource.dll:0:0:0:0 | System.Diagnostics.TraceSource, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Diagnostics.Tracing.dll:0:0:0:0 | System.Diagnostics.Tracing, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Drawing.Primitives.dll:0:0:0:0 | System.Drawing.Primitives, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Drawing.dll:0:0:0:0 | System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Dynamic.Runtime.dll:0:0:0:0 | System.Dynamic.Runtime, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Formats.Asn1.dll:0:0:0:0 | System.Formats.Asn1, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Formats.Tar.dll:0:0:0:0 | System.Formats.Tar, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Globalization.Calendars.dll:0:0:0:0 | System.Globalization.Calendars, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Globalization.Extensions.dll:0:0:0:0 | System.Globalization.Extensions, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Globalization.dll:0:0:0:0 | System.Globalization, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.IO.Compression.Brotli.dll:0:0:0:0 | System.IO.Compression.Brotli, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.IO.Compression.FileSystem.dll:0:0:0:0 | System.IO.Compression.FileSystem, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.IO.Compression.ZipFile.dll:0:0:0:0 | System.IO.Compression.ZipFile, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.IO.Compression.dll:0:0:0:0 | System.IO.Compression, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.IO.FileSystem.AccessControl.dll:0:0:0:0 | System.IO.FileSystem.AccessControl, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.IO.FileSystem.DriveInfo.dll:0:0:0:0 | System.IO.FileSystem.DriveInfo, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.IO.FileSystem.Primitives.dll:0:0:0:0 | System.IO.FileSystem.Primitives, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.IO.FileSystem.Watcher.dll:0:0:0:0 | System.IO.FileSystem.Watcher, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.IO.FileSystem.dll:0:0:0:0 | System.IO.FileSystem, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.IO.IsolatedStorage.dll:0:0:0:0 | System.IO.IsolatedStorage, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.IO.MemoryMappedFiles.dll:0:0:0:0 | System.IO.MemoryMappedFiles, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.IO.Pipelines.dll:0:0:0:0 | System.IO.Pipelines, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.IO.Pipes.AccessControl.dll:0:0:0:0 | System.IO.Pipes.AccessControl, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.IO.Pipes.dll:0:0:0:0 | System.IO.Pipes, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.IO.UnmanagedMemoryStream.dll:0:0:0:0 | System.IO.UnmanagedMemoryStream, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.IO.dll:0:0:0:0 | System.IO, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Linq.Expressions.dll:0:0:0:0 | System.Linq.Expressions, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Linq.Parallel.dll:0:0:0:0 | System.Linq.Parallel, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Linq.Queryable.dll:0:0:0:0 | System.Linq.Queryable, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Linq.dll:0:0:0:0 | System.Linq, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Memory.dll:0:0:0:0 | System.Memory, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Net.Http.Json.dll:0:0:0:0 | System.Net.Http.Json, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Net.Http.dll:0:0:0:0 | System.Net.Http, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Net.HttpListener.dll:0:0:0:0 | System.Net.HttpListener, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Net.Mail.dll:0:0:0:0 | System.Net.Mail, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Net.NameResolution.dll:0:0:0:0 | System.Net.NameResolution, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Net.NetworkInformation.dll:0:0:0:0 | System.Net.NetworkInformation, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Net.Ping.dll:0:0:0:0 | System.Net.Ping, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Net.Primitives.dll:0:0:0:0 | System.Net.Primitives, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Net.Quic.dll:0:0:0:0 | System.Net.Quic, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Net.Requests.dll:0:0:0:0 | System.Net.Requests, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Net.Security.dll:0:0:0:0 | System.Net.Security, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Net.ServicePoint.dll:0:0:0:0 | System.Net.ServicePoint, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Net.Sockets.dll:0:0:0:0 | System.Net.Sockets, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Net.WebClient.dll:0:0:0:0 | System.Net.WebClient, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Net.WebHeaderCollection.dll:0:0:0:0 | System.Net.WebHeaderCollection, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Net.WebProxy.dll:0:0:0:0 | System.Net.WebProxy, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Net.WebSockets.Client.dll:0:0:0:0 | System.Net.WebSockets.Client, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Net.WebSockets.dll:0:0:0:0 | System.Net.WebSockets, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Net.dll:0:0:0:0 | System.Net, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Numerics.Vectors.dll:0:0:0:0 | System.Numerics.Vectors, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Numerics.dll:0:0:0:0 | System.Numerics, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.ObjectModel.dll:0:0:0:0 | System.ObjectModel, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Reflection.DispatchProxy.dll:0:0:0:0 | System.Reflection.DispatchProxy, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Reflection.Emit.ILGeneration.dll:0:0:0:0 | System.Reflection.Emit.ILGeneration, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Reflection.Emit.Lightweight.dll:0:0:0:0 | System.Reflection.Emit.Lightweight, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Reflection.Emit.dll:0:0:0:0 | System.Reflection.Emit, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Reflection.Extensions.dll:0:0:0:0 | System.Reflection.Extensions, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Reflection.Metadata.dll:0:0:0:0 | System.Reflection.Metadata, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Reflection.Primitives.dll:0:0:0:0 | System.Reflection.Primitives, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Reflection.TypeExtensions.dll:0:0:0:0 | System.Reflection.TypeExtensions, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Reflection.dll:0:0:0:0 | System.Reflection, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Resources.Reader.dll:0:0:0:0 | System.Resources.Reader, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Resources.ResourceManager.dll:0:0:0:0 | System.Resources.ResourceManager, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Resources.Writer.dll:0:0:0:0 | System.Resources.Writer, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Runtime.CompilerServices.Unsafe.dll:0:0:0:0 | System.Runtime.CompilerServices.Unsafe, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Runtime.CompilerServices.VisualC.dll:0:0:0:0 | System.Runtime.CompilerServices.VisualC, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Runtime.Extensions.dll:0:0:0:0 | System.Runtime.Extensions, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Runtime.Handles.dll:0:0:0:0 | System.Runtime.Handles, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Runtime.InteropServices.JavaScript.dll:0:0:0:0 | System.Runtime.InteropServices.JavaScript, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Runtime.InteropServices.RuntimeInformation.dll:0:0:0:0 | System.Runtime.InteropServices.RuntimeInformation, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Runtime.InteropServices.dll:0:0:0:0 | System.Runtime.InteropServices, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Runtime.Intrinsics.dll:0:0:0:0 | System.Runtime.Intrinsics, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Runtime.Loader.dll:0:0:0:0 | System.Runtime.Loader, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Runtime.Numerics.dll:0:0:0:0 | System.Runtime.Numerics, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Runtime.Serialization.Formatters.dll:0:0:0:0 | System.Runtime.Serialization.Formatters, Version=8.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Runtime.Serialization.Json.dll:0:0:0:0 | System.Runtime.Serialization.Json, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Runtime.Serialization.Primitives.dll:0:0:0:0 | System.Runtime.Serialization.Primitives, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Runtime.Serialization.Xml.dll:0:0:0:0 | System.Runtime.Serialization.Xml, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Runtime.Serialization.dll:0:0:0:0 | System.Runtime.Serialization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Runtime.dll:0:0:0:0 | System.Runtime, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Security.AccessControl.dll:0:0:0:0 | System.Security.AccessControl, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Security.Claims.dll:0:0:0:0 | System.Security.Claims, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Security.Cryptography.Algorithms.dll:0:0:0:0 | System.Security.Cryptography.Algorithms, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Security.Cryptography.Cng.dll:0:0:0:0 | System.Security.Cryptography.Cng, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Security.Cryptography.Csp.dll:0:0:0:0 | System.Security.Cryptography.Csp, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Security.Cryptography.Encoding.dll:0:0:0:0 | System.Security.Cryptography.Encoding, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Security.Cryptography.OpenSsl.dll:0:0:0:0 | System.Security.Cryptography.OpenSsl, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Security.Cryptography.Primitives.dll:0:0:0:0 | System.Security.Cryptography.Primitives, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Security.Cryptography.X509Certificates.dll:0:0:0:0 | System.Security.Cryptography.X509Certificates, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Security.Cryptography.dll:0:0:0:0 | System.Security.Cryptography, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Security.Principal.Windows.dll:0:0:0:0 | System.Security.Principal.Windows, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Security.Principal.dll:0:0:0:0 | System.Security.Principal, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Security.SecureString.dll:0:0:0:0 | System.Security.SecureString, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Security.dll:0:0:0:0 | System.Security, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.ServiceModel.Web.dll:0:0:0:0 | System.ServiceModel.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.ServiceProcess.dll:0:0:0:0 | System.ServiceProcess, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Text.Encoding.CodePages.dll:0:0:0:0 | System.Text.Encoding.CodePages, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Text.Encoding.Extensions.dll:0:0:0:0 | System.Text.Encoding.Extensions, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Text.Encoding.dll:0:0:0:0 | System.Text.Encoding, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Text.Encodings.Web.dll:0:0:0:0 | System.Text.Encodings.Web, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Text.Json.dll:0:0:0:0 | System.Text.Json, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Text.RegularExpressions.dll:0:0:0:0 | System.Text.RegularExpressions, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Threading.Channels.dll:0:0:0:0 | System.Threading.Channels, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Threading.Overlapped.dll:0:0:0:0 | System.Threading.Overlapped, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Threading.Tasks.Dataflow.dll:0:0:0:0 | System.Threading.Tasks.Dataflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Threading.Tasks.Extensions.dll:0:0:0:0 | System.Threading.Tasks.Extensions, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Threading.Tasks.Parallel.dll:0:0:0:0 | System.Threading.Tasks.Parallel, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Threading.Tasks.dll:0:0:0:0 | System.Threading.Tasks, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Threading.Thread.dll:0:0:0:0 | System.Threading.Thread, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Threading.ThreadPool.dll:0:0:0:0 | System.Threading.ThreadPool, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Threading.Timer.dll:0:0:0:0 | System.Threading.Timer, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Threading.dll:0:0:0:0 | System.Threading, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Transactions.Local.dll:0:0:0:0 | System.Transactions.Local, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Transactions.dll:0:0:0:0 | System.Transactions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.ValueTuple.dll:0:0:0:0 | System.ValueTuple, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Web.HttpUtility.dll:0:0:0:0 | System.Web.HttpUtility, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Web.dll:0:0:0:0 | System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Windows.dll:0:0:0:0 | System.Windows, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Xml.Linq.dll:0:0:0:0 | System.Xml.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Xml.ReaderWriter.dll:0:0:0:0 | System.Xml.ReaderWriter, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Xml.Serialization.dll:0:0:0:0 | System.Xml.Serialization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Xml.XDocument.dll:0:0:0:0 | System.Xml.XDocument, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Xml.XPath.XDocument.dll:0:0:0:0 | System.Xml.XPath.XDocument, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Xml.XPath.dll:0:0:0:0 | System.Xml.XPath, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Xml.XmlDocument.dll:0:0:0:0 | System.Xml.XmlDocument, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Xml.XmlSerializer.dll:0:0:0:0 | System.Xml.XmlSerializer, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Xml.dll:0:0:0:0 | System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.dll:0:0:0:0 | System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/WindowsBase.dll:0:0:0:0 | WindowsBase, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/mscorlib.dll:0:0:0:0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/netstandard.dll:0:0:0:0 | netstandard, Version=2.1.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | | test-db/working/packages/newtonsoft.json/12.0.1/lib/netstandard2.0/Newtonsoft.Json.dll:0:0:0:0 | Newtonsoft.Json, Version=12.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed | diff --git a/csharp/ql/integration-tests/posix/standalone_dependencies_multi_target/Assemblies.expected b/csharp/ql/integration-tests/posix/standalone_dependencies_multi_target/Assemblies.expected index 74544f88e710..eb5ca93485b6 100644 --- a/csharp/ql/integration-tests/posix/standalone_dependencies_multi_target/Assemblies.expected +++ b/csharp/ql/integration-tests/posix/standalone_dependencies_multi_target/Assemblies.expected @@ -1,163 +1,164 @@ -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/Microsoft.CSharp.dll:0:0:0:0 | Microsoft.CSharp, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/Microsoft.VisualBasic.Core.dll:0:0:0:0 | Microsoft.VisualBasic.Core, Version=13.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/Microsoft.VisualBasic.dll:0:0:0:0 | Microsoft.VisualBasic, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/Microsoft.Win32.Primitives.dll:0:0:0:0 | Microsoft.Win32.Primitives, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/Microsoft.Win32.Registry.dll:0:0:0:0 | Microsoft.Win32.Registry, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.AppContext.dll:0:0:0:0 | System.AppContext, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Buffers.dll:0:0:0:0 | System.Buffers, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Collections.Concurrent.dll:0:0:0:0 | System.Collections.Concurrent, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Collections.Immutable.dll:0:0:0:0 | System.Collections.Immutable, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Collections.NonGeneric.dll:0:0:0:0 | System.Collections.NonGeneric, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Collections.Specialized.dll:0:0:0:0 | System.Collections.Specialized, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Collections.dll:0:0:0:0 | System.Collections, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.ComponentModel.Annotations.dll:0:0:0:0 | System.ComponentModel.Annotations, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.ComponentModel.DataAnnotations.dll:0:0:0:0 | System.ComponentModel.DataAnnotations, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.ComponentModel.EventBasedAsync.dll:0:0:0:0 | System.ComponentModel.EventBasedAsync, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.ComponentModel.Primitives.dll:0:0:0:0 | System.ComponentModel.Primitives, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.ComponentModel.TypeConverter.dll:0:0:0:0 | System.ComponentModel.TypeConverter, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.ComponentModel.dll:0:0:0:0 | System.ComponentModel, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Configuration.dll:0:0:0:0 | System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Console.dll:0:0:0:0 | System.Console, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Core.dll:0:0:0:0 | System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Data.Common.dll:0:0:0:0 | System.Data.Common, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Data.DataSetExtensions.dll:0:0:0:0 | System.Data.DataSetExtensions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Data.dll:0:0:0:0 | System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Diagnostics.Contracts.dll:0:0:0:0 | System.Diagnostics.Contracts, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Diagnostics.Debug.dll:0:0:0:0 | System.Diagnostics.Debug, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Diagnostics.DiagnosticSource.dll:0:0:0:0 | System.Diagnostics.DiagnosticSource, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Diagnostics.FileVersionInfo.dll:0:0:0:0 | System.Diagnostics.FileVersionInfo, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Diagnostics.Process.dll:0:0:0:0 | System.Diagnostics.Process, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Diagnostics.StackTrace.dll:0:0:0:0 | System.Diagnostics.StackTrace, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Diagnostics.TextWriterTraceListener.dll:0:0:0:0 | System.Diagnostics.TextWriterTraceListener, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Diagnostics.Tools.dll:0:0:0:0 | System.Diagnostics.Tools, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Diagnostics.TraceSource.dll:0:0:0:0 | System.Diagnostics.TraceSource, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Diagnostics.Tracing.dll:0:0:0:0 | System.Diagnostics.Tracing, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Drawing.Primitives.dll:0:0:0:0 | System.Drawing.Primitives, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Drawing.dll:0:0:0:0 | System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Dynamic.Runtime.dll:0:0:0:0 | System.Dynamic.Runtime, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Formats.Asn1.dll:0:0:0:0 | System.Formats.Asn1, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Formats.Tar.dll:0:0:0:0 | System.Formats.Tar, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Globalization.Calendars.dll:0:0:0:0 | System.Globalization.Calendars, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Globalization.Extensions.dll:0:0:0:0 | System.Globalization.Extensions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Globalization.dll:0:0:0:0 | System.Globalization, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.Compression.Brotli.dll:0:0:0:0 | System.IO.Compression.Brotli, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.Compression.FileSystem.dll:0:0:0:0 | System.IO.Compression.FileSystem, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.Compression.ZipFile.dll:0:0:0:0 | System.IO.Compression.ZipFile, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.Compression.dll:0:0:0:0 | System.IO.Compression, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.FileSystem.AccessControl.dll:0:0:0:0 | System.IO.FileSystem.AccessControl, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.FileSystem.DriveInfo.dll:0:0:0:0 | System.IO.FileSystem.DriveInfo, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.FileSystem.Primitives.dll:0:0:0:0 | System.IO.FileSystem.Primitives, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.FileSystem.Watcher.dll:0:0:0:0 | System.IO.FileSystem.Watcher, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.FileSystem.dll:0:0:0:0 | System.IO.FileSystem, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.IsolatedStorage.dll:0:0:0:0 | System.IO.IsolatedStorage, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.MemoryMappedFiles.dll:0:0:0:0 | System.IO.MemoryMappedFiles, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.Pipes.AccessControl.dll:0:0:0:0 | System.IO.Pipes.AccessControl, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.Pipes.dll:0:0:0:0 | System.IO.Pipes, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.UnmanagedMemoryStream.dll:0:0:0:0 | System.IO.UnmanagedMemoryStream, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.dll:0:0:0:0 | System.IO, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Linq.Expressions.dll:0:0:0:0 | System.Linq.Expressions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Linq.Parallel.dll:0:0:0:0 | System.Linq.Parallel, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Linq.Queryable.dll:0:0:0:0 | System.Linq.Queryable, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Linq.dll:0:0:0:0 | System.Linq, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Memory.dll:0:0:0:0 | System.Memory, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.Http.Json.dll:0:0:0:0 | System.Net.Http.Json, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.Http.dll:0:0:0:0 | System.Net.Http, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.HttpListener.dll:0:0:0:0 | System.Net.HttpListener, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.Mail.dll:0:0:0:0 | System.Net.Mail, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.NameResolution.dll:0:0:0:0 | System.Net.NameResolution, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.NetworkInformation.dll:0:0:0:0 | System.Net.NetworkInformation, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.Ping.dll:0:0:0:0 | System.Net.Ping, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.Primitives.dll:0:0:0:0 | System.Net.Primitives, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.Quic.dll:0:0:0:0 | System.Net.Quic, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.Requests.dll:0:0:0:0 | System.Net.Requests, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.Security.dll:0:0:0:0 | System.Net.Security, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.ServicePoint.dll:0:0:0:0 | System.Net.ServicePoint, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.Sockets.dll:0:0:0:0 | System.Net.Sockets, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.WebClient.dll:0:0:0:0 | System.Net.WebClient, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.WebHeaderCollection.dll:0:0:0:0 | System.Net.WebHeaderCollection, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.WebProxy.dll:0:0:0:0 | System.Net.WebProxy, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.WebSockets.Client.dll:0:0:0:0 | System.Net.WebSockets.Client, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.WebSockets.dll:0:0:0:0 | System.Net.WebSockets, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.dll:0:0:0:0 | System.Net, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Numerics.Vectors.dll:0:0:0:0 | System.Numerics.Vectors, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Numerics.dll:0:0:0:0 | System.Numerics, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.ObjectModel.dll:0:0:0:0 | System.ObjectModel, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Reflection.DispatchProxy.dll:0:0:0:0 | System.Reflection.DispatchProxy, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Reflection.Emit.ILGeneration.dll:0:0:0:0 | System.Reflection.Emit.ILGeneration, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Reflection.Emit.Lightweight.dll:0:0:0:0 | System.Reflection.Emit.Lightweight, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Reflection.Emit.dll:0:0:0:0 | System.Reflection.Emit, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Reflection.Extensions.dll:0:0:0:0 | System.Reflection.Extensions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Reflection.Metadata.dll:0:0:0:0 | System.Reflection.Metadata, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Reflection.Primitives.dll:0:0:0:0 | System.Reflection.Primitives, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Reflection.TypeExtensions.dll:0:0:0:0 | System.Reflection.TypeExtensions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Reflection.dll:0:0:0:0 | System.Reflection, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Resources.Reader.dll:0:0:0:0 | System.Resources.Reader, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Resources.ResourceManager.dll:0:0:0:0 | System.Resources.ResourceManager, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Resources.Writer.dll:0:0:0:0 | System.Resources.Writer, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.CompilerServices.Unsafe.dll:0:0:0:0 | System.Runtime.CompilerServices.Unsafe, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.CompilerServices.VisualC.dll:0:0:0:0 | System.Runtime.CompilerServices.VisualC, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.Extensions.dll:0:0:0:0 | System.Runtime.Extensions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.Handles.dll:0:0:0:0 | System.Runtime.Handles, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.InteropServices.JavaScript.dll:0:0:0:0 | System.Runtime.InteropServices.JavaScript, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.InteropServices.RuntimeInformation.dll:0:0:0:0 | System.Runtime.InteropServices.RuntimeInformation, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.InteropServices.dll:0:0:0:0 | System.Runtime.InteropServices, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.Intrinsics.dll:0:0:0:0 | System.Runtime.Intrinsics, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.Loader.dll:0:0:0:0 | System.Runtime.Loader, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.Numerics.dll:0:0:0:0 | System.Runtime.Numerics, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.Serialization.Formatters.dll:0:0:0:0 | System.Runtime.Serialization.Formatters, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.Serialization.Json.dll:0:0:0:0 | System.Runtime.Serialization.Json, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.Serialization.Primitives.dll:0:0:0:0 | System.Runtime.Serialization.Primitives, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.Serialization.Xml.dll:0:0:0:0 | System.Runtime.Serialization.Xml, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.Serialization.dll:0:0:0:0 | System.Runtime.Serialization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.dll:0:0:0:0 | System.Runtime, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.AccessControl.dll:0:0:0:0 | System.Security.AccessControl, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Claims.dll:0:0:0:0 | System.Security.Claims, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Cryptography.Algorithms.dll:0:0:0:0 | System.Security.Cryptography.Algorithms, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Cryptography.Cng.dll:0:0:0:0 | System.Security.Cryptography.Cng, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Cryptography.Csp.dll:0:0:0:0 | System.Security.Cryptography.Csp, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Cryptography.Encoding.dll:0:0:0:0 | System.Security.Cryptography.Encoding, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Cryptography.OpenSsl.dll:0:0:0:0 | System.Security.Cryptography.OpenSsl, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Cryptography.Primitives.dll:0:0:0:0 | System.Security.Cryptography.Primitives, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Cryptography.X509Certificates.dll:0:0:0:0 | System.Security.Cryptography.X509Certificates, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Cryptography.dll:0:0:0:0 | System.Security.Cryptography, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Principal.Windows.dll:0:0:0:0 | System.Security.Principal.Windows, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Principal.dll:0:0:0:0 | System.Security.Principal, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.SecureString.dll:0:0:0:0 | System.Security.SecureString, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.dll:0:0:0:0 | System.Security, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.ServiceModel.Web.dll:0:0:0:0 | System.ServiceModel.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.ServiceProcess.dll:0:0:0:0 | System.ServiceProcess, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Text.Encoding.CodePages.dll:0:0:0:0 | System.Text.Encoding.CodePages, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Text.Encoding.Extensions.dll:0:0:0:0 | System.Text.Encoding.Extensions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Text.Encoding.dll:0:0:0:0 | System.Text.Encoding, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Text.Encodings.Web.dll:0:0:0:0 | System.Text.Encodings.Web, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Text.Json.dll:0:0:0:0 | System.Text.Json, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Text.RegularExpressions.dll:0:0:0:0 | System.Text.RegularExpressions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Threading.Channels.dll:0:0:0:0 | System.Threading.Channels, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Threading.Overlapped.dll:0:0:0:0 | System.Threading.Overlapped, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Threading.Tasks.Dataflow.dll:0:0:0:0 | System.Threading.Tasks.Dataflow, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Threading.Tasks.Extensions.dll:0:0:0:0 | System.Threading.Tasks.Extensions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Threading.Tasks.Parallel.dll:0:0:0:0 | System.Threading.Tasks.Parallel, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Threading.Tasks.dll:0:0:0:0 | System.Threading.Tasks, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Threading.Thread.dll:0:0:0:0 | System.Threading.Thread, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Threading.ThreadPool.dll:0:0:0:0 | System.Threading.ThreadPool, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Threading.Timer.dll:0:0:0:0 | System.Threading.Timer, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Threading.dll:0:0:0:0 | System.Threading, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Transactions.Local.dll:0:0:0:0 | System.Transactions.Local, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Transactions.dll:0:0:0:0 | System.Transactions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.ValueTuple.dll:0:0:0:0 | System.ValueTuple, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Web.HttpUtility.dll:0:0:0:0 | System.Web.HttpUtility, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Web.dll:0:0:0:0 | System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Windows.dll:0:0:0:0 | System.Windows, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Xml.Linq.dll:0:0:0:0 | System.Xml.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Xml.ReaderWriter.dll:0:0:0:0 | System.Xml.ReaderWriter, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Xml.Serialization.dll:0:0:0:0 | System.Xml.Serialization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Xml.XDocument.dll:0:0:0:0 | System.Xml.XDocument, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Xml.XPath.XDocument.dll:0:0:0:0 | System.Xml.XPath.XDocument, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Xml.XPath.dll:0:0:0:0 | System.Xml.XPath, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Xml.XmlDocument.dll:0:0:0:0 | System.Xml.XmlDocument, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Xml.XmlSerializer.dll:0:0:0:0 | System.Xml.XmlSerializer, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Xml.dll:0:0:0:0 | System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.dll:0:0:0:0 | System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/WindowsBase.dll:0:0:0:0 | WindowsBase, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/mscorlib.dll:0:0:0:0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/netstandard.dll:0:0:0:0 | netstandard, Version=2.1.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/Microsoft.CSharp.dll:0:0:0:0 | Microsoft.CSharp, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/Microsoft.VisualBasic.Core.dll:0:0:0:0 | Microsoft.VisualBasic.Core, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/Microsoft.VisualBasic.dll:0:0:0:0 | Microsoft.VisualBasic, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/Microsoft.Win32.Primitives.dll:0:0:0:0 | Microsoft.Win32.Primitives, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/Microsoft.Win32.Registry.dll:0:0:0:0 | Microsoft.Win32.Registry, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.AppContext.dll:0:0:0:0 | System.AppContext, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Buffers.dll:0:0:0:0 | System.Buffers, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Collections.Concurrent.dll:0:0:0:0 | System.Collections.Concurrent, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Collections.Immutable.dll:0:0:0:0 | System.Collections.Immutable, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Collections.NonGeneric.dll:0:0:0:0 | System.Collections.NonGeneric, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Collections.Specialized.dll:0:0:0:0 | System.Collections.Specialized, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Collections.dll:0:0:0:0 | System.Collections, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.ComponentModel.Annotations.dll:0:0:0:0 | System.ComponentModel.Annotations, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.ComponentModel.DataAnnotations.dll:0:0:0:0 | System.ComponentModel.DataAnnotations, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.ComponentModel.EventBasedAsync.dll:0:0:0:0 | System.ComponentModel.EventBasedAsync, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.ComponentModel.Primitives.dll:0:0:0:0 | System.ComponentModel.Primitives, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.ComponentModel.TypeConverter.dll:0:0:0:0 | System.ComponentModel.TypeConverter, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.ComponentModel.dll:0:0:0:0 | System.ComponentModel, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Configuration.dll:0:0:0:0 | System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Console.dll:0:0:0:0 | System.Console, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Core.dll:0:0:0:0 | System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Data.Common.dll:0:0:0:0 | System.Data.Common, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Data.DataSetExtensions.dll:0:0:0:0 | System.Data.DataSetExtensions, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Data.dll:0:0:0:0 | System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Diagnostics.Contracts.dll:0:0:0:0 | System.Diagnostics.Contracts, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Diagnostics.Debug.dll:0:0:0:0 | System.Diagnostics.Debug, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Diagnostics.DiagnosticSource.dll:0:0:0:0 | System.Diagnostics.DiagnosticSource, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Diagnostics.FileVersionInfo.dll:0:0:0:0 | System.Diagnostics.FileVersionInfo, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Diagnostics.Process.dll:0:0:0:0 | System.Diagnostics.Process, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Diagnostics.StackTrace.dll:0:0:0:0 | System.Diagnostics.StackTrace, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Diagnostics.TextWriterTraceListener.dll:0:0:0:0 | System.Diagnostics.TextWriterTraceListener, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Diagnostics.Tools.dll:0:0:0:0 | System.Diagnostics.Tools, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Diagnostics.TraceSource.dll:0:0:0:0 | System.Diagnostics.TraceSource, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Diagnostics.Tracing.dll:0:0:0:0 | System.Diagnostics.Tracing, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Drawing.Primitives.dll:0:0:0:0 | System.Drawing.Primitives, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Drawing.dll:0:0:0:0 | System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Dynamic.Runtime.dll:0:0:0:0 | System.Dynamic.Runtime, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Formats.Asn1.dll:0:0:0:0 | System.Formats.Asn1, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Formats.Tar.dll:0:0:0:0 | System.Formats.Tar, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Globalization.Calendars.dll:0:0:0:0 | System.Globalization.Calendars, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Globalization.Extensions.dll:0:0:0:0 | System.Globalization.Extensions, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Globalization.dll:0:0:0:0 | System.Globalization, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.IO.Compression.Brotli.dll:0:0:0:0 | System.IO.Compression.Brotli, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.IO.Compression.FileSystem.dll:0:0:0:0 | System.IO.Compression.FileSystem, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.IO.Compression.ZipFile.dll:0:0:0:0 | System.IO.Compression.ZipFile, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.IO.Compression.dll:0:0:0:0 | System.IO.Compression, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.IO.FileSystem.AccessControl.dll:0:0:0:0 | System.IO.FileSystem.AccessControl, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.IO.FileSystem.DriveInfo.dll:0:0:0:0 | System.IO.FileSystem.DriveInfo, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.IO.FileSystem.Primitives.dll:0:0:0:0 | System.IO.FileSystem.Primitives, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.IO.FileSystem.Watcher.dll:0:0:0:0 | System.IO.FileSystem.Watcher, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.IO.FileSystem.dll:0:0:0:0 | System.IO.FileSystem, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.IO.IsolatedStorage.dll:0:0:0:0 | System.IO.IsolatedStorage, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.IO.MemoryMappedFiles.dll:0:0:0:0 | System.IO.MemoryMappedFiles, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.IO.Pipelines.dll:0:0:0:0 | System.IO.Pipelines, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.IO.Pipes.AccessControl.dll:0:0:0:0 | System.IO.Pipes.AccessControl, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.IO.Pipes.dll:0:0:0:0 | System.IO.Pipes, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.IO.UnmanagedMemoryStream.dll:0:0:0:0 | System.IO.UnmanagedMemoryStream, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.IO.dll:0:0:0:0 | System.IO, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Linq.Expressions.dll:0:0:0:0 | System.Linq.Expressions, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Linq.Parallel.dll:0:0:0:0 | System.Linq.Parallel, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Linq.Queryable.dll:0:0:0:0 | System.Linq.Queryable, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Linq.dll:0:0:0:0 | System.Linq, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Memory.dll:0:0:0:0 | System.Memory, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Net.Http.Json.dll:0:0:0:0 | System.Net.Http.Json, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Net.Http.dll:0:0:0:0 | System.Net.Http, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Net.HttpListener.dll:0:0:0:0 | System.Net.HttpListener, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Net.Mail.dll:0:0:0:0 | System.Net.Mail, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Net.NameResolution.dll:0:0:0:0 | System.Net.NameResolution, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Net.NetworkInformation.dll:0:0:0:0 | System.Net.NetworkInformation, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Net.Ping.dll:0:0:0:0 | System.Net.Ping, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Net.Primitives.dll:0:0:0:0 | System.Net.Primitives, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Net.Quic.dll:0:0:0:0 | System.Net.Quic, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Net.Requests.dll:0:0:0:0 | System.Net.Requests, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Net.Security.dll:0:0:0:0 | System.Net.Security, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Net.ServicePoint.dll:0:0:0:0 | System.Net.ServicePoint, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Net.Sockets.dll:0:0:0:0 | System.Net.Sockets, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Net.WebClient.dll:0:0:0:0 | System.Net.WebClient, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Net.WebHeaderCollection.dll:0:0:0:0 | System.Net.WebHeaderCollection, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Net.WebProxy.dll:0:0:0:0 | System.Net.WebProxy, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Net.WebSockets.Client.dll:0:0:0:0 | System.Net.WebSockets.Client, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Net.WebSockets.dll:0:0:0:0 | System.Net.WebSockets, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Net.dll:0:0:0:0 | System.Net, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Numerics.Vectors.dll:0:0:0:0 | System.Numerics.Vectors, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Numerics.dll:0:0:0:0 | System.Numerics, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.ObjectModel.dll:0:0:0:0 | System.ObjectModel, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Reflection.DispatchProxy.dll:0:0:0:0 | System.Reflection.DispatchProxy, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Reflection.Emit.ILGeneration.dll:0:0:0:0 | System.Reflection.Emit.ILGeneration, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Reflection.Emit.Lightweight.dll:0:0:0:0 | System.Reflection.Emit.Lightweight, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Reflection.Emit.dll:0:0:0:0 | System.Reflection.Emit, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Reflection.Extensions.dll:0:0:0:0 | System.Reflection.Extensions, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Reflection.Metadata.dll:0:0:0:0 | System.Reflection.Metadata, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Reflection.Primitives.dll:0:0:0:0 | System.Reflection.Primitives, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Reflection.TypeExtensions.dll:0:0:0:0 | System.Reflection.TypeExtensions, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Reflection.dll:0:0:0:0 | System.Reflection, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Resources.Reader.dll:0:0:0:0 | System.Resources.Reader, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Resources.ResourceManager.dll:0:0:0:0 | System.Resources.ResourceManager, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Resources.Writer.dll:0:0:0:0 | System.Resources.Writer, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Runtime.CompilerServices.Unsafe.dll:0:0:0:0 | System.Runtime.CompilerServices.Unsafe, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Runtime.CompilerServices.VisualC.dll:0:0:0:0 | System.Runtime.CompilerServices.VisualC, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Runtime.Extensions.dll:0:0:0:0 | System.Runtime.Extensions, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Runtime.Handles.dll:0:0:0:0 | System.Runtime.Handles, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Runtime.InteropServices.JavaScript.dll:0:0:0:0 | System.Runtime.InteropServices.JavaScript, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Runtime.InteropServices.RuntimeInformation.dll:0:0:0:0 | System.Runtime.InteropServices.RuntimeInformation, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Runtime.InteropServices.dll:0:0:0:0 | System.Runtime.InteropServices, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Runtime.Intrinsics.dll:0:0:0:0 | System.Runtime.Intrinsics, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Runtime.Loader.dll:0:0:0:0 | System.Runtime.Loader, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Runtime.Numerics.dll:0:0:0:0 | System.Runtime.Numerics, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Runtime.Serialization.Formatters.dll:0:0:0:0 | System.Runtime.Serialization.Formatters, Version=8.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Runtime.Serialization.Json.dll:0:0:0:0 | System.Runtime.Serialization.Json, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Runtime.Serialization.Primitives.dll:0:0:0:0 | System.Runtime.Serialization.Primitives, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Runtime.Serialization.Xml.dll:0:0:0:0 | System.Runtime.Serialization.Xml, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Runtime.Serialization.dll:0:0:0:0 | System.Runtime.Serialization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Runtime.dll:0:0:0:0 | System.Runtime, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Security.AccessControl.dll:0:0:0:0 | System.Security.AccessControl, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Security.Claims.dll:0:0:0:0 | System.Security.Claims, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Security.Cryptography.Algorithms.dll:0:0:0:0 | System.Security.Cryptography.Algorithms, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Security.Cryptography.Cng.dll:0:0:0:0 | System.Security.Cryptography.Cng, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Security.Cryptography.Csp.dll:0:0:0:0 | System.Security.Cryptography.Csp, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Security.Cryptography.Encoding.dll:0:0:0:0 | System.Security.Cryptography.Encoding, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Security.Cryptography.OpenSsl.dll:0:0:0:0 | System.Security.Cryptography.OpenSsl, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Security.Cryptography.Primitives.dll:0:0:0:0 | System.Security.Cryptography.Primitives, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Security.Cryptography.X509Certificates.dll:0:0:0:0 | System.Security.Cryptography.X509Certificates, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Security.Cryptography.dll:0:0:0:0 | System.Security.Cryptography, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Security.Principal.Windows.dll:0:0:0:0 | System.Security.Principal.Windows, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Security.Principal.dll:0:0:0:0 | System.Security.Principal, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Security.SecureString.dll:0:0:0:0 | System.Security.SecureString, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Security.dll:0:0:0:0 | System.Security, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.ServiceModel.Web.dll:0:0:0:0 | System.ServiceModel.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.ServiceProcess.dll:0:0:0:0 | System.ServiceProcess, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Text.Encoding.CodePages.dll:0:0:0:0 | System.Text.Encoding.CodePages, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Text.Encoding.Extensions.dll:0:0:0:0 | System.Text.Encoding.Extensions, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Text.Encoding.dll:0:0:0:0 | System.Text.Encoding, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Text.Encodings.Web.dll:0:0:0:0 | System.Text.Encodings.Web, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Text.Json.dll:0:0:0:0 | System.Text.Json, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Text.RegularExpressions.dll:0:0:0:0 | System.Text.RegularExpressions, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Threading.Channels.dll:0:0:0:0 | System.Threading.Channels, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Threading.Overlapped.dll:0:0:0:0 | System.Threading.Overlapped, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Threading.Tasks.Dataflow.dll:0:0:0:0 | System.Threading.Tasks.Dataflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Threading.Tasks.Extensions.dll:0:0:0:0 | System.Threading.Tasks.Extensions, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Threading.Tasks.Parallel.dll:0:0:0:0 | System.Threading.Tasks.Parallel, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Threading.Tasks.dll:0:0:0:0 | System.Threading.Tasks, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Threading.Thread.dll:0:0:0:0 | System.Threading.Thread, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Threading.ThreadPool.dll:0:0:0:0 | System.Threading.ThreadPool, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Threading.Timer.dll:0:0:0:0 | System.Threading.Timer, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Threading.dll:0:0:0:0 | System.Threading, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Transactions.Local.dll:0:0:0:0 | System.Transactions.Local, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Transactions.dll:0:0:0:0 | System.Transactions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.ValueTuple.dll:0:0:0:0 | System.ValueTuple, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Web.HttpUtility.dll:0:0:0:0 | System.Web.HttpUtility, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Web.dll:0:0:0:0 | System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Windows.dll:0:0:0:0 | System.Windows, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Xml.Linq.dll:0:0:0:0 | System.Xml.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Xml.ReaderWriter.dll:0:0:0:0 | System.Xml.ReaderWriter, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Xml.Serialization.dll:0:0:0:0 | System.Xml.Serialization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Xml.XDocument.dll:0:0:0:0 | System.Xml.XDocument, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Xml.XPath.XDocument.dll:0:0:0:0 | System.Xml.XPath.XDocument, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Xml.XPath.dll:0:0:0:0 | System.Xml.XPath, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Xml.XmlDocument.dll:0:0:0:0 | System.Xml.XmlDocument, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Xml.XmlSerializer.dll:0:0:0:0 | System.Xml.XmlSerializer, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Xml.dll:0:0:0:0 | System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.dll:0:0:0:0 | System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/WindowsBase.dll:0:0:0:0 | WindowsBase, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/mscorlib.dll:0:0:0:0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/netstandard.dll:0:0:0:0 | netstandard, Version=2.1.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | diff --git a/csharp/ql/integration-tests/windows/standalone_dependencies/Assemblies.expected b/csharp/ql/integration-tests/windows/standalone_dependencies/Assemblies.expected index d4d36b1d0e63..a001f7f23d7d 100644 --- a/csharp/ql/integration-tests/windows/standalone_dependencies/Assemblies.expected +++ b/csharp/ql/integration-tests/windows/standalone_dependencies/Assemblies.expected @@ -1,210 +1,213 @@ | test-db/working/packages/avalara.avatax/23.11.0/lib/netstandard2.0/Avalara.AvaTax.RestClient.dll:0:0:0:0 | Avalara.AvaTax.RestClient, Version=0.0.0.0, Culture=neutral, PublicKeyToken=be94eb8ba37fd33c | | test-db/working/packages/microsoft.bcl.asyncinterfaces/8.0.0/lib/netstandard2.1/Microsoft.Bcl.AsyncInterfaces.dll:0:0:0:0 | Microsoft.Bcl.AsyncInterfaces, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/Microsoft.CSharp.dll:0:0:0:0 | Microsoft.CSharp, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/Microsoft.VisualBasic.Core.dll:0:0:0:0 | Microsoft.VisualBasic.Core, Version=13.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/Microsoft.Win32.Primitives.dll:0:0:0:0 | Microsoft.Win32.Primitives, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/Microsoft.Win32.Registry.dll:0:0:0:0 | Microsoft.Win32.Registry, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.AppContext.dll:0:0:0:0 | System.AppContext, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Buffers.dll:0:0:0:0 | System.Buffers, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Collections.Concurrent.dll:0:0:0:0 | System.Collections.Concurrent, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Collections.Immutable.dll:0:0:0:0 | System.Collections.Immutable, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Collections.NonGeneric.dll:0:0:0:0 | System.Collections.NonGeneric, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Collections.Specialized.dll:0:0:0:0 | System.Collections.Specialized, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Collections.dll:0:0:0:0 | System.Collections, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.ComponentModel.Annotations.dll:0:0:0:0 | System.ComponentModel.Annotations, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.ComponentModel.DataAnnotations.dll:0:0:0:0 | System.ComponentModel.DataAnnotations, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.ComponentModel.EventBasedAsync.dll:0:0:0:0 | System.ComponentModel.EventBasedAsync, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.ComponentModel.Primitives.dll:0:0:0:0 | System.ComponentModel.Primitives, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.ComponentModel.TypeConverter.dll:0:0:0:0 | System.ComponentModel.TypeConverter, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.ComponentModel.dll:0:0:0:0 | System.ComponentModel, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Configuration.dll:0:0:0:0 | System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Console.dll:0:0:0:0 | System.Console, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Core.dll:0:0:0:0 | System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Data.Common.dll:0:0:0:0 | System.Data.Common, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Data.DataSetExtensions.dll:0:0:0:0 | System.Data.DataSetExtensions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Data.dll:0:0:0:0 | System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Diagnostics.Contracts.dll:0:0:0:0 | System.Diagnostics.Contracts, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Diagnostics.Debug.dll:0:0:0:0 | System.Diagnostics.Debug, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Diagnostics.DiagnosticSource.dll:0:0:0:0 | System.Diagnostics.DiagnosticSource, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Diagnostics.FileVersionInfo.dll:0:0:0:0 | System.Diagnostics.FileVersionInfo, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Diagnostics.Process.dll:0:0:0:0 | System.Diagnostics.Process, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Diagnostics.StackTrace.dll:0:0:0:0 | System.Diagnostics.StackTrace, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Diagnostics.TextWriterTraceListener.dll:0:0:0:0 | System.Diagnostics.TextWriterTraceListener, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Diagnostics.Tools.dll:0:0:0:0 | System.Diagnostics.Tools, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Diagnostics.TraceSource.dll:0:0:0:0 | System.Diagnostics.TraceSource, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Diagnostics.Tracing.dll:0:0:0:0 | System.Diagnostics.Tracing, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Drawing.Primitives.dll:0:0:0:0 | System.Drawing.Primitives, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Dynamic.Runtime.dll:0:0:0:0 | System.Dynamic.Runtime, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Formats.Asn1.dll:0:0:0:0 | System.Formats.Asn1, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Formats.Tar.dll:0:0:0:0 | System.Formats.Tar, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Globalization.Calendars.dll:0:0:0:0 | System.Globalization.Calendars, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Globalization.Extensions.dll:0:0:0:0 | System.Globalization.Extensions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Globalization.dll:0:0:0:0 | System.Globalization, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.Compression.Brotli.dll:0:0:0:0 | System.IO.Compression.Brotli, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.Compression.FileSystem.dll:0:0:0:0 | System.IO.Compression.FileSystem, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.Compression.ZipFile.dll:0:0:0:0 | System.IO.Compression.ZipFile, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.Compression.dll:0:0:0:0 | System.IO.Compression, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.FileSystem.AccessControl.dll:0:0:0:0 | System.IO.FileSystem.AccessControl, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.FileSystem.DriveInfo.dll:0:0:0:0 | System.IO.FileSystem.DriveInfo, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.FileSystem.Primitives.dll:0:0:0:0 | System.IO.FileSystem.Primitives, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.FileSystem.Watcher.dll:0:0:0:0 | System.IO.FileSystem.Watcher, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.FileSystem.dll:0:0:0:0 | System.IO.FileSystem, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.IsolatedStorage.dll:0:0:0:0 | System.IO.IsolatedStorage, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.MemoryMappedFiles.dll:0:0:0:0 | System.IO.MemoryMappedFiles, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.Pipes.AccessControl.dll:0:0:0:0 | System.IO.Pipes.AccessControl, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.Pipes.dll:0:0:0:0 | System.IO.Pipes, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.UnmanagedMemoryStream.dll:0:0:0:0 | System.IO.UnmanagedMemoryStream, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.dll:0:0:0:0 | System.IO, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Linq.Expressions.dll:0:0:0:0 | System.Linq.Expressions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Linq.Parallel.dll:0:0:0:0 | System.Linq.Parallel, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Linq.Queryable.dll:0:0:0:0 | System.Linq.Queryable, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Linq.dll:0:0:0:0 | System.Linq, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Memory.dll:0:0:0:0 | System.Memory, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.Http.Json.dll:0:0:0:0 | System.Net.Http.Json, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.Http.dll:0:0:0:0 | System.Net.Http, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.HttpListener.dll:0:0:0:0 | System.Net.HttpListener, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.Mail.dll:0:0:0:0 | System.Net.Mail, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.NameResolution.dll:0:0:0:0 | System.Net.NameResolution, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.NetworkInformation.dll:0:0:0:0 | System.Net.NetworkInformation, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.Ping.dll:0:0:0:0 | System.Net.Ping, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.Primitives.dll:0:0:0:0 | System.Net.Primitives, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.Quic.dll:0:0:0:0 | System.Net.Quic, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.Requests.dll:0:0:0:0 | System.Net.Requests, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.Security.dll:0:0:0:0 | System.Net.Security, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.ServicePoint.dll:0:0:0:0 | System.Net.ServicePoint, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.Sockets.dll:0:0:0:0 | System.Net.Sockets, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.WebClient.dll:0:0:0:0 | System.Net.WebClient, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.WebHeaderCollection.dll:0:0:0:0 | System.Net.WebHeaderCollection, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.WebProxy.dll:0:0:0:0 | System.Net.WebProxy, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.WebSockets.Client.dll:0:0:0:0 | System.Net.WebSockets.Client, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.WebSockets.dll:0:0:0:0 | System.Net.WebSockets, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.dll:0:0:0:0 | System.Net, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Numerics.Vectors.dll:0:0:0:0 | System.Numerics.Vectors, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Numerics.dll:0:0:0:0 | System.Numerics, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.ObjectModel.dll:0:0:0:0 | System.ObjectModel, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Reflection.DispatchProxy.dll:0:0:0:0 | System.Reflection.DispatchProxy, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Reflection.Emit.ILGeneration.dll:0:0:0:0 | System.Reflection.Emit.ILGeneration, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Reflection.Emit.Lightweight.dll:0:0:0:0 | System.Reflection.Emit.Lightweight, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Reflection.Emit.dll:0:0:0:0 | System.Reflection.Emit, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Reflection.Extensions.dll:0:0:0:0 | System.Reflection.Extensions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Reflection.Metadata.dll:0:0:0:0 | System.Reflection.Metadata, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Reflection.Primitives.dll:0:0:0:0 | System.Reflection.Primitives, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Reflection.TypeExtensions.dll:0:0:0:0 | System.Reflection.TypeExtensions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Reflection.dll:0:0:0:0 | System.Reflection, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Resources.Reader.dll:0:0:0:0 | System.Resources.Reader, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Resources.ResourceManager.dll:0:0:0:0 | System.Resources.ResourceManager, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Resources.Writer.dll:0:0:0:0 | System.Resources.Writer, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.CompilerServices.Unsafe.dll:0:0:0:0 | System.Runtime.CompilerServices.Unsafe, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.CompilerServices.VisualC.dll:0:0:0:0 | System.Runtime.CompilerServices.VisualC, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.Extensions.dll:0:0:0:0 | System.Runtime.Extensions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.Handles.dll:0:0:0:0 | System.Runtime.Handles, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.InteropServices.JavaScript.dll:0:0:0:0 | System.Runtime.InteropServices.JavaScript, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.InteropServices.RuntimeInformation.dll:0:0:0:0 | System.Runtime.InteropServices.RuntimeInformation, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.InteropServices.dll:0:0:0:0 | System.Runtime.InteropServices, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.Intrinsics.dll:0:0:0:0 | System.Runtime.Intrinsics, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.Loader.dll:0:0:0:0 | System.Runtime.Loader, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.Numerics.dll:0:0:0:0 | System.Runtime.Numerics, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.Serialization.Formatters.dll:0:0:0:0 | System.Runtime.Serialization.Formatters, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.Serialization.Json.dll:0:0:0:0 | System.Runtime.Serialization.Json, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.Serialization.Primitives.dll:0:0:0:0 | System.Runtime.Serialization.Primitives, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.Serialization.Xml.dll:0:0:0:0 | System.Runtime.Serialization.Xml, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.Serialization.dll:0:0:0:0 | System.Runtime.Serialization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.dll:0:0:0:0 | System.Runtime, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.AccessControl.dll:0:0:0:0 | System.Security.AccessControl, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Claims.dll:0:0:0:0 | System.Security.Claims, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Cryptography.Algorithms.dll:0:0:0:0 | System.Security.Cryptography.Algorithms, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Cryptography.Cng.dll:0:0:0:0 | System.Security.Cryptography.Cng, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Cryptography.Csp.dll:0:0:0:0 | System.Security.Cryptography.Csp, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Cryptography.Encoding.dll:0:0:0:0 | System.Security.Cryptography.Encoding, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Cryptography.OpenSsl.dll:0:0:0:0 | System.Security.Cryptography.OpenSsl, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Cryptography.Primitives.dll:0:0:0:0 | System.Security.Cryptography.Primitives, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Cryptography.X509Certificates.dll:0:0:0:0 | System.Security.Cryptography.X509Certificates, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Cryptography.dll:0:0:0:0 | System.Security.Cryptography, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Principal.Windows.dll:0:0:0:0 | System.Security.Principal.Windows, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Principal.dll:0:0:0:0 | System.Security.Principal, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.SecureString.dll:0:0:0:0 | System.Security.SecureString, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.dll:0:0:0:0 | System.Security, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.ServiceModel.Web.dll:0:0:0:0 | System.ServiceModel.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.ServiceProcess.dll:0:0:0:0 | System.ServiceProcess, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Text.Encoding.CodePages.dll:0:0:0:0 | System.Text.Encoding.CodePages, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Text.Encoding.Extensions.dll:0:0:0:0 | System.Text.Encoding.Extensions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Text.Encoding.dll:0:0:0:0 | System.Text.Encoding, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Text.Encodings.Web.dll:0:0:0:0 | System.Text.Encodings.Web, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Text.Json.dll:0:0:0:0 | System.Text.Json, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Text.RegularExpressions.dll:0:0:0:0 | System.Text.RegularExpressions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Threading.Channels.dll:0:0:0:0 | System.Threading.Channels, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Threading.Overlapped.dll:0:0:0:0 | System.Threading.Overlapped, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Threading.Tasks.Dataflow.dll:0:0:0:0 | System.Threading.Tasks.Dataflow, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Threading.Tasks.Extensions.dll:0:0:0:0 | System.Threading.Tasks.Extensions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Threading.Tasks.Parallel.dll:0:0:0:0 | System.Threading.Tasks.Parallel, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Threading.Tasks.dll:0:0:0:0 | System.Threading.Tasks, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Threading.Thread.dll:0:0:0:0 | System.Threading.Thread, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Threading.ThreadPool.dll:0:0:0:0 | System.Threading.ThreadPool, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Threading.Timer.dll:0:0:0:0 | System.Threading.Timer, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Threading.dll:0:0:0:0 | System.Threading, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Transactions.Local.dll:0:0:0:0 | System.Transactions.Local, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Transactions.dll:0:0:0:0 | System.Transactions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.ValueTuple.dll:0:0:0:0 | System.ValueTuple, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Web.HttpUtility.dll:0:0:0:0 | System.Web.HttpUtility, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Web.dll:0:0:0:0 | System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Windows.dll:0:0:0:0 | System.Windows, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Xml.Linq.dll:0:0:0:0 | System.Xml.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Xml.ReaderWriter.dll:0:0:0:0 | System.Xml.ReaderWriter, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Xml.Serialization.dll:0:0:0:0 | System.Xml.Serialization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Xml.XDocument.dll:0:0:0:0 | System.Xml.XDocument, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Xml.XPath.XDocument.dll:0:0:0:0 | System.Xml.XPath.XDocument, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Xml.XPath.dll:0:0:0:0 | System.Xml.XPath, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Xml.XmlDocument.dll:0:0:0:0 | System.Xml.XmlDocument, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Xml.XmlSerializer.dll:0:0:0:0 | System.Xml.XmlSerializer, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Xml.dll:0:0:0:0 | System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.dll:0:0:0:0 | System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/mscorlib.dll:0:0:0:0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/netstandard.dll:0:0:0:0 | netstandard, Version=2.1.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | -| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/Accessibility.dll:0:0:0:0 | Accessibility, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | -| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/Microsoft.VisualBasic.Forms.dll:0:0:0:0 | Microsoft.VisualBasic.Forms, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/Microsoft.VisualBasic.dll:0:0:0:0 | Microsoft.VisualBasic, Version=10.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/Microsoft.Win32.Registry.AccessControl.dll:0:0:0:0 | Microsoft.Win32.Registry.AccessControl, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/Microsoft.Win32.SystemEvents.dll:0:0:0:0 | Microsoft.Win32.SystemEvents, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | -| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/PresentationCore.dll:0:0:0:0 | PresentationCore, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | -| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/PresentationFramework.Aero2.dll:0:0:0:0 | PresentationFramework.Aero2, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | -| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/PresentationFramework.Aero.dll:0:0:0:0 | PresentationFramework.Aero, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | -| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/PresentationFramework.AeroLite.dll:0:0:0:0 | PresentationFramework.AeroLite, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | -| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/PresentationFramework.Classic.dll:0:0:0:0 | PresentationFramework.Classic, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | -| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/PresentationFramework.Luna.dll:0:0:0:0 | PresentationFramework.Luna, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | -| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/PresentationFramework.Royale.dll:0:0:0:0 | PresentationFramework.Royale, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | -| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/PresentationFramework.dll:0:0:0:0 | PresentationFramework, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | -| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/PresentationUI.dll:0:0:0:0 | PresentationUI, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/ReachFramework.dll:0:0:0:0 | ReachFramework, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | -| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.CodeDom.dll:0:0:0:0 | System.CodeDom, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | -| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Configuration.ConfigurationManager.dll:0:0:0:0 | System.Configuration.ConfigurationManager, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | -| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Design.dll:0:0:0:0 | System.Design, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Diagnostics.EventLog.dll:0:0:0:0 | System.Diagnostics.EventLog, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | -| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Diagnostics.PerformanceCounter.dll:0:0:0:0 | System.Diagnostics.PerformanceCounter, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | -| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.DirectoryServices.dll:0:0:0:0 | System.DirectoryServices, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Drawing.Common.dll:0:0:0:0 | System.Drawing.Common, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | -| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Drawing.Design.dll:0:0:0:0 | System.Drawing.Design, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Drawing.dll:0:0:0:0 | System.Drawing, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.IO.Packaging.dll:0:0:0:0 | System.IO.Packaging, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Printing.dll:0:0:0:0 | System.Printing, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | -| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Resources.Extensions.dll:0:0:0:0 | System.Resources.Extensions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | -| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Security.Cryptography.Pkcs.dll:0:0:0:0 | System.Security.Cryptography.Pkcs, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Security.Cryptography.ProtectedData.dll:0:0:0:0 | System.Security.Cryptography.ProtectedData, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Security.Cryptography.Xml.dll:0:0:0:0 | System.Security.Cryptography.Xml, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | -| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Security.Permissions.dll:0:0:0:0 | System.Security.Permissions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | -| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Threading.AccessControl.dll:0:0:0:0 | System.Threading.AccessControl, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Windows.Controls.Ribbon.dll:0:0:0:0 | System.Windows.Controls.Ribbon, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Windows.Extensions.dll:0:0:0:0 | System.Windows.Extensions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | -| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Windows.Forms.Design.Editors.dll:0:0:0:0 | System.Windows.Forms.Design.Editors, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Windows.Forms.Design.dll:0:0:0:0 | System.Windows.Forms.Design, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Windows.Forms.Primitives.dll:0:0:0:0 | System.Windows.Forms.Primitives, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Windows.Forms.dll:0:0:0:0 | System.Windows.Forms, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Windows.Input.Manipulations.dll:0:0:0:0 | System.Windows.Input.Manipulations, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Windows.Presentation.dll:0:0:0:0 | System.Windows.Presentation, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Xaml.dll:0:0:0:0 | System.Xaml, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/UIAutomationClient.dll:0:0:0:0 | UIAutomationClient, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | -| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/UIAutomationClientSideProviders.dll:0:0:0:0 | UIAutomationClientSideProviders, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/UIAutomationProvider.dll:0:0:0:0 | UIAutomationProvider, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | -| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/UIAutomationTypes.dll:0:0:0:0 | UIAutomationTypes, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | -| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/WindowsBase.dll:0:0:0:0 | WindowsBase, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | -| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/WindowsFormsIntegration.dll:0:0:0:0 | WindowsFormsIntegration, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/Microsoft.CSharp.dll:0:0:0:0 | Microsoft.CSharp, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/Microsoft.VisualBasic.Core.dll:0:0:0:0 | Microsoft.VisualBasic.Core, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/Microsoft.Win32.Primitives.dll:0:0:0:0 | Microsoft.Win32.Primitives, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/Microsoft.Win32.Registry.dll:0:0:0:0 | Microsoft.Win32.Registry, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.AppContext.dll:0:0:0:0 | System.AppContext, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Buffers.dll:0:0:0:0 | System.Buffers, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Collections.Concurrent.dll:0:0:0:0 | System.Collections.Concurrent, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Collections.Immutable.dll:0:0:0:0 | System.Collections.Immutable, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Collections.NonGeneric.dll:0:0:0:0 | System.Collections.NonGeneric, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Collections.Specialized.dll:0:0:0:0 | System.Collections.Specialized, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Collections.dll:0:0:0:0 | System.Collections, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.ComponentModel.Annotations.dll:0:0:0:0 | System.ComponentModel.Annotations, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.ComponentModel.DataAnnotations.dll:0:0:0:0 | System.ComponentModel.DataAnnotations, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.ComponentModel.EventBasedAsync.dll:0:0:0:0 | System.ComponentModel.EventBasedAsync, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.ComponentModel.Primitives.dll:0:0:0:0 | System.ComponentModel.Primitives, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.ComponentModel.TypeConverter.dll:0:0:0:0 | System.ComponentModel.TypeConverter, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.ComponentModel.dll:0:0:0:0 | System.ComponentModel, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Configuration.dll:0:0:0:0 | System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Console.dll:0:0:0:0 | System.Console, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Core.dll:0:0:0:0 | System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Data.Common.dll:0:0:0:0 | System.Data.Common, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Data.DataSetExtensions.dll:0:0:0:0 | System.Data.DataSetExtensions, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Data.dll:0:0:0:0 | System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Diagnostics.Contracts.dll:0:0:0:0 | System.Diagnostics.Contracts, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Diagnostics.Debug.dll:0:0:0:0 | System.Diagnostics.Debug, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Diagnostics.DiagnosticSource.dll:0:0:0:0 | System.Diagnostics.DiagnosticSource, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Diagnostics.FileVersionInfo.dll:0:0:0:0 | System.Diagnostics.FileVersionInfo, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Diagnostics.Process.dll:0:0:0:0 | System.Diagnostics.Process, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Diagnostics.StackTrace.dll:0:0:0:0 | System.Diagnostics.StackTrace, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Diagnostics.TextWriterTraceListener.dll:0:0:0:0 | System.Diagnostics.TextWriterTraceListener, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Diagnostics.Tools.dll:0:0:0:0 | System.Diagnostics.Tools, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Diagnostics.TraceSource.dll:0:0:0:0 | System.Diagnostics.TraceSource, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Diagnostics.Tracing.dll:0:0:0:0 | System.Diagnostics.Tracing, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Drawing.Primitives.dll:0:0:0:0 | System.Drawing.Primitives, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Dynamic.Runtime.dll:0:0:0:0 | System.Dynamic.Runtime, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Formats.Asn1.dll:0:0:0:0 | System.Formats.Asn1, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Formats.Tar.dll:0:0:0:0 | System.Formats.Tar, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Globalization.Calendars.dll:0:0:0:0 | System.Globalization.Calendars, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Globalization.Extensions.dll:0:0:0:0 | System.Globalization.Extensions, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Globalization.dll:0:0:0:0 | System.Globalization, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.IO.Compression.Brotli.dll:0:0:0:0 | System.IO.Compression.Brotli, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.IO.Compression.FileSystem.dll:0:0:0:0 | System.IO.Compression.FileSystem, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.IO.Compression.ZipFile.dll:0:0:0:0 | System.IO.Compression.ZipFile, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.IO.Compression.dll:0:0:0:0 | System.IO.Compression, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.IO.FileSystem.AccessControl.dll:0:0:0:0 | System.IO.FileSystem.AccessControl, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.IO.FileSystem.DriveInfo.dll:0:0:0:0 | System.IO.FileSystem.DriveInfo, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.IO.FileSystem.Primitives.dll:0:0:0:0 | System.IO.FileSystem.Primitives, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.IO.FileSystem.Watcher.dll:0:0:0:0 | System.IO.FileSystem.Watcher, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.IO.FileSystem.dll:0:0:0:0 | System.IO.FileSystem, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.IO.IsolatedStorage.dll:0:0:0:0 | System.IO.IsolatedStorage, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.IO.MemoryMappedFiles.dll:0:0:0:0 | System.IO.MemoryMappedFiles, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.IO.Pipelines.dll:0:0:0:0 | System.IO.Pipelines, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.IO.Pipes.AccessControl.dll:0:0:0:0 | System.IO.Pipes.AccessControl, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.IO.Pipes.dll:0:0:0:0 | System.IO.Pipes, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.IO.UnmanagedMemoryStream.dll:0:0:0:0 | System.IO.UnmanagedMemoryStream, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.IO.dll:0:0:0:0 | System.IO, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Linq.Expressions.dll:0:0:0:0 | System.Linq.Expressions, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Linq.Parallel.dll:0:0:0:0 | System.Linq.Parallel, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Linq.Queryable.dll:0:0:0:0 | System.Linq.Queryable, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Linq.dll:0:0:0:0 | System.Linq, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Memory.dll:0:0:0:0 | System.Memory, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Net.Http.Json.dll:0:0:0:0 | System.Net.Http.Json, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Net.Http.dll:0:0:0:0 | System.Net.Http, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Net.HttpListener.dll:0:0:0:0 | System.Net.HttpListener, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Net.Mail.dll:0:0:0:0 | System.Net.Mail, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Net.NameResolution.dll:0:0:0:0 | System.Net.NameResolution, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Net.NetworkInformation.dll:0:0:0:0 | System.Net.NetworkInformation, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Net.Ping.dll:0:0:0:0 | System.Net.Ping, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Net.Primitives.dll:0:0:0:0 | System.Net.Primitives, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Net.Quic.dll:0:0:0:0 | System.Net.Quic, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Net.Requests.dll:0:0:0:0 | System.Net.Requests, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Net.Security.dll:0:0:0:0 | System.Net.Security, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Net.ServicePoint.dll:0:0:0:0 | System.Net.ServicePoint, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Net.Sockets.dll:0:0:0:0 | System.Net.Sockets, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Net.WebClient.dll:0:0:0:0 | System.Net.WebClient, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Net.WebHeaderCollection.dll:0:0:0:0 | System.Net.WebHeaderCollection, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Net.WebProxy.dll:0:0:0:0 | System.Net.WebProxy, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Net.WebSockets.Client.dll:0:0:0:0 | System.Net.WebSockets.Client, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Net.WebSockets.dll:0:0:0:0 | System.Net.WebSockets, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Net.dll:0:0:0:0 | System.Net, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Numerics.Vectors.dll:0:0:0:0 | System.Numerics.Vectors, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Numerics.dll:0:0:0:0 | System.Numerics, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.ObjectModel.dll:0:0:0:0 | System.ObjectModel, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Reflection.DispatchProxy.dll:0:0:0:0 | System.Reflection.DispatchProxy, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Reflection.Emit.ILGeneration.dll:0:0:0:0 | System.Reflection.Emit.ILGeneration, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Reflection.Emit.Lightweight.dll:0:0:0:0 | System.Reflection.Emit.Lightweight, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Reflection.Emit.dll:0:0:0:0 | System.Reflection.Emit, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Reflection.Extensions.dll:0:0:0:0 | System.Reflection.Extensions, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Reflection.Metadata.dll:0:0:0:0 | System.Reflection.Metadata, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Reflection.Primitives.dll:0:0:0:0 | System.Reflection.Primitives, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Reflection.TypeExtensions.dll:0:0:0:0 | System.Reflection.TypeExtensions, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Reflection.dll:0:0:0:0 | System.Reflection, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Resources.Reader.dll:0:0:0:0 | System.Resources.Reader, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Resources.ResourceManager.dll:0:0:0:0 | System.Resources.ResourceManager, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Resources.Writer.dll:0:0:0:0 | System.Resources.Writer, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Runtime.CompilerServices.Unsafe.dll:0:0:0:0 | System.Runtime.CompilerServices.Unsafe, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Runtime.CompilerServices.VisualC.dll:0:0:0:0 | System.Runtime.CompilerServices.VisualC, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Runtime.Extensions.dll:0:0:0:0 | System.Runtime.Extensions, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Runtime.Handles.dll:0:0:0:0 | System.Runtime.Handles, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Runtime.InteropServices.JavaScript.dll:0:0:0:0 | System.Runtime.InteropServices.JavaScript, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Runtime.InteropServices.RuntimeInformation.dll:0:0:0:0 | System.Runtime.InteropServices.RuntimeInformation, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Runtime.InteropServices.dll:0:0:0:0 | System.Runtime.InteropServices, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Runtime.Intrinsics.dll:0:0:0:0 | System.Runtime.Intrinsics, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Runtime.Loader.dll:0:0:0:0 | System.Runtime.Loader, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Runtime.Numerics.dll:0:0:0:0 | System.Runtime.Numerics, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Runtime.Serialization.Formatters.dll:0:0:0:0 | System.Runtime.Serialization.Formatters, Version=8.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Runtime.Serialization.Json.dll:0:0:0:0 | System.Runtime.Serialization.Json, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Runtime.Serialization.Primitives.dll:0:0:0:0 | System.Runtime.Serialization.Primitives, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Runtime.Serialization.Xml.dll:0:0:0:0 | System.Runtime.Serialization.Xml, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Runtime.Serialization.dll:0:0:0:0 | System.Runtime.Serialization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Runtime.dll:0:0:0:0 | System.Runtime, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Security.AccessControl.dll:0:0:0:0 | System.Security.AccessControl, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Security.Claims.dll:0:0:0:0 | System.Security.Claims, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Security.Cryptography.Algorithms.dll:0:0:0:0 | System.Security.Cryptography.Algorithms, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Security.Cryptography.Cng.dll:0:0:0:0 | System.Security.Cryptography.Cng, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Security.Cryptography.Csp.dll:0:0:0:0 | System.Security.Cryptography.Csp, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Security.Cryptography.Encoding.dll:0:0:0:0 | System.Security.Cryptography.Encoding, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Security.Cryptography.OpenSsl.dll:0:0:0:0 | System.Security.Cryptography.OpenSsl, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Security.Cryptography.Primitives.dll:0:0:0:0 | System.Security.Cryptography.Primitives, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Security.Cryptography.X509Certificates.dll:0:0:0:0 | System.Security.Cryptography.X509Certificates, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Security.Cryptography.dll:0:0:0:0 | System.Security.Cryptography, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Security.Principal.Windows.dll:0:0:0:0 | System.Security.Principal.Windows, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Security.Principal.dll:0:0:0:0 | System.Security.Principal, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Security.SecureString.dll:0:0:0:0 | System.Security.SecureString, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Security.dll:0:0:0:0 | System.Security, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.ServiceModel.Web.dll:0:0:0:0 | System.ServiceModel.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.ServiceProcess.dll:0:0:0:0 | System.ServiceProcess, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Text.Encoding.CodePages.dll:0:0:0:0 | System.Text.Encoding.CodePages, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Text.Encoding.Extensions.dll:0:0:0:0 | System.Text.Encoding.Extensions, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Text.Encoding.dll:0:0:0:0 | System.Text.Encoding, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Text.Encodings.Web.dll:0:0:0:0 | System.Text.Encodings.Web, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Text.Json.dll:0:0:0:0 | System.Text.Json, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Text.RegularExpressions.dll:0:0:0:0 | System.Text.RegularExpressions, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Threading.Channels.dll:0:0:0:0 | System.Threading.Channels, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Threading.Overlapped.dll:0:0:0:0 | System.Threading.Overlapped, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Threading.Tasks.Dataflow.dll:0:0:0:0 | System.Threading.Tasks.Dataflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Threading.Tasks.Extensions.dll:0:0:0:0 | System.Threading.Tasks.Extensions, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Threading.Tasks.Parallel.dll:0:0:0:0 | System.Threading.Tasks.Parallel, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Threading.Tasks.dll:0:0:0:0 | System.Threading.Tasks, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Threading.Thread.dll:0:0:0:0 | System.Threading.Thread, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Threading.ThreadPool.dll:0:0:0:0 | System.Threading.ThreadPool, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Threading.Timer.dll:0:0:0:0 | System.Threading.Timer, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Threading.dll:0:0:0:0 | System.Threading, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Transactions.Local.dll:0:0:0:0 | System.Transactions.Local, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Transactions.dll:0:0:0:0 | System.Transactions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.ValueTuple.dll:0:0:0:0 | System.ValueTuple, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Web.HttpUtility.dll:0:0:0:0 | System.Web.HttpUtility, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Web.dll:0:0:0:0 | System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Windows.dll:0:0:0:0 | System.Windows, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Xml.Linq.dll:0:0:0:0 | System.Xml.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Xml.ReaderWriter.dll:0:0:0:0 | System.Xml.ReaderWriter, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Xml.Serialization.dll:0:0:0:0 | System.Xml.Serialization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Xml.XDocument.dll:0:0:0:0 | System.Xml.XDocument, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Xml.XPath.XDocument.dll:0:0:0:0 | System.Xml.XPath.XDocument, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Xml.XPath.dll:0:0:0:0 | System.Xml.XPath, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Xml.XmlDocument.dll:0:0:0:0 | System.Xml.XmlDocument, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Xml.XmlSerializer.dll:0:0:0:0 | System.Xml.XmlSerializer, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.Xml.dll:0:0:0:0 | System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/System.dll:0:0:0:0 | System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/mscorlib.dll:0:0:0:0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netcore.app.ref/9.0.0/ref/net9.0/netstandard.dll:0:0:0:0 | netstandard, Version=2.1.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/9.0.0/ref/net9.0/Accessibility.dll:0:0:0:0 | Accessibility, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/9.0.0/ref/net9.0/Microsoft.VisualBasic.Forms.dll:0:0:0:0 | Microsoft.VisualBasic.Forms, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/9.0.0/ref/net9.0/Microsoft.VisualBasic.dll:0:0:0:0 | Microsoft.VisualBasic, Version=10.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/9.0.0/ref/net9.0/Microsoft.Win32.Registry.AccessControl.dll:0:0:0:0 | Microsoft.Win32.Registry.AccessControl, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/9.0.0/ref/net9.0/Microsoft.Win32.SystemEvents.dll:0:0:0:0 | Microsoft.Win32.SystemEvents, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/9.0.0/ref/net9.0/PresentationCore.dll:0:0:0:0 | PresentationCore, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/9.0.0/ref/net9.0/PresentationFramework.Aero2.dll:0:0:0:0 | PresentationFramework.Aero2, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/9.0.0/ref/net9.0/PresentationFramework.Aero.dll:0:0:0:0 | PresentationFramework.Aero, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/9.0.0/ref/net9.0/PresentationFramework.AeroLite.dll:0:0:0:0 | PresentationFramework.AeroLite, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/9.0.0/ref/net9.0/PresentationFramework.Classic.dll:0:0:0:0 | PresentationFramework.Classic, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/9.0.0/ref/net9.0/PresentationFramework.Luna.dll:0:0:0:0 | PresentationFramework.Luna, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/9.0.0/ref/net9.0/PresentationFramework.Royale.dll:0:0:0:0 | PresentationFramework.Royale, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/9.0.0/ref/net9.0/PresentationFramework.dll:0:0:0:0 | PresentationFramework, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/9.0.0/ref/net9.0/PresentationUI.dll:0:0:0:0 | PresentationUI, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/9.0.0/ref/net9.0/ReachFramework.dll:0:0:0:0 | ReachFramework, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/9.0.0/ref/net9.0/System.CodeDom.dll:0:0:0:0 | System.CodeDom, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/9.0.0/ref/net9.0/System.Configuration.ConfigurationManager.dll:0:0:0:0 | System.Configuration.ConfigurationManager, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/9.0.0/ref/net9.0/System.Design.dll:0:0:0:0 | System.Design, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/9.0.0/ref/net9.0/System.Diagnostics.EventLog.dll:0:0:0:0 | System.Diagnostics.EventLog, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/9.0.0/ref/net9.0/System.Diagnostics.PerformanceCounter.dll:0:0:0:0 | System.Diagnostics.PerformanceCounter, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/9.0.0/ref/net9.0/System.DirectoryServices.dll:0:0:0:0 | System.DirectoryServices, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/9.0.0/ref/net9.0/System.Drawing.Common.dll:0:0:0:0 | System.Drawing.Common, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/9.0.0/ref/net9.0/System.Drawing.Design.dll:0:0:0:0 | System.Drawing.Design, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/9.0.0/ref/net9.0/System.Drawing.dll:0:0:0:0 | System.Drawing, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/9.0.0/ref/net9.0/System.Formats.Nrbf.dll:0:0:0:0 | System.Formats.Nrbf, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/9.0.0/ref/net9.0/System.IO.Packaging.dll:0:0:0:0 | System.IO.Packaging, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/9.0.0/ref/net9.0/System.Printing.dll:0:0:0:0 | System.Printing, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/9.0.0/ref/net9.0/System.Private.Windows.Core.dll:0:0:0:0 | System.Private.Windows.Core, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/9.0.0/ref/net9.0/System.Resources.Extensions.dll:0:0:0:0 | System.Resources.Extensions, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/9.0.0/ref/net9.0/System.Security.Cryptography.Pkcs.dll:0:0:0:0 | System.Security.Cryptography.Pkcs, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/9.0.0/ref/net9.0/System.Security.Cryptography.ProtectedData.dll:0:0:0:0 | System.Security.Cryptography.ProtectedData, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/9.0.0/ref/net9.0/System.Security.Cryptography.Xml.dll:0:0:0:0 | System.Security.Cryptography.Xml, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/9.0.0/ref/net9.0/System.Security.Permissions.dll:0:0:0:0 | System.Security.Permissions, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/9.0.0/ref/net9.0/System.Threading.AccessControl.dll:0:0:0:0 | System.Threading.AccessControl, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/9.0.0/ref/net9.0/System.Windows.Controls.Ribbon.dll:0:0:0:0 | System.Windows.Controls.Ribbon, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/9.0.0/ref/net9.0/System.Windows.Extensions.dll:0:0:0:0 | System.Windows.Extensions, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/9.0.0/ref/net9.0/System.Windows.Forms.Design.Editors.dll:0:0:0:0 | System.Windows.Forms.Design.Editors, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/9.0.0/ref/net9.0/System.Windows.Forms.Design.dll:0:0:0:0 | System.Windows.Forms.Design, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/9.0.0/ref/net9.0/System.Windows.Forms.Primitives.dll:0:0:0:0 | System.Windows.Forms.Primitives, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/9.0.0/ref/net9.0/System.Windows.Forms.dll:0:0:0:0 | System.Windows.Forms, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/9.0.0/ref/net9.0/System.Windows.Input.Manipulations.dll:0:0:0:0 | System.Windows.Input.Manipulations, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/9.0.0/ref/net9.0/System.Windows.Presentation.dll:0:0:0:0 | System.Windows.Presentation, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/9.0.0/ref/net9.0/System.Xaml.dll:0:0:0:0 | System.Xaml, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/9.0.0/ref/net9.0/UIAutomationClient.dll:0:0:0:0 | UIAutomationClient, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/9.0.0/ref/net9.0/UIAutomationClientSideProviders.dll:0:0:0:0 | UIAutomationClientSideProviders, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/9.0.0/ref/net9.0/UIAutomationProvider.dll:0:0:0:0 | UIAutomationProvider, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/9.0.0/ref/net9.0/UIAutomationTypes.dll:0:0:0:0 | UIAutomationTypes, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/9.0.0/ref/net9.0/WindowsBase.dll:0:0:0:0 | WindowsBase, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/9.0.0/ref/net9.0/WindowsFormsIntegration.dll:0:0:0:0 | WindowsFormsIntegration, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | | test-db/working/packages/newtonsoft.json/12.0.1/lib/netstandard2.0/Newtonsoft.Json.dll:0:0:0:0 | Newtonsoft.Json, Version=12.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed | From 263a4a9fcb06ec27e87ab0f578c6cba77af1b26e Mon Sep 17 00:00:00 2001 From: Michael Nebel Date: Mon, 18 Nov 2024 11:19:04 +0100 Subject: [PATCH 254/347] C#: Allow other characters between build-stdput and the expected message. --- .../integration-tests/all-platforms/dotnet_build/test.py | 7 +++++-- .../ql/integration-tests/all-platforms/dotnet_run/test.py | 4 ++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/csharp/ql/integration-tests/all-platforms/dotnet_build/test.py b/csharp/ql/integration-tests/all-platforms/dotnet_build/test.py index 2b0869a6823e..c32d966acb4a 100644 --- a/csharp/ql/integration-tests/all-platforms/dotnet_build/test.py +++ b/csharp/ql/integration-tests/all-platforms/dotnet_build/test.py @@ -1,9 +1,12 @@ +import os + def check_build_out(msg, s): + lines = s.splitlines() + lines = s.splitlines() assert ( - "[build-stdout] " + msg in s + any (("[build-stdout]" in line) and (msg in line) for line in lines) ), f"The C# tracer did not interpret the dotnet path-to-application command correctly." - def test1(codeql, csharp): codeql.database.create(command="dotnet build") diff --git a/csharp/ql/integration-tests/all-platforms/dotnet_run/test.py b/csharp/ql/integration-tests/all-platforms/dotnet_run/test.py index ad71240ff9bd..8740bad71a84 100644 --- a/csharp/ql/integration-tests/all-platforms/dotnet_run/test.py +++ b/csharp/ql/integration-tests/all-platforms/dotnet_run/test.py @@ -1,9 +1,9 @@ def check_build_out(msg, s): + lines = s.splitlines() assert ( - "[build-stdout] " + msg in s + any (("[build-stdout]" in line) and (msg in line) for line in lines) ), "The C# tracer did not interpret the 'dotnet run' command correctly" - # no arguments def test_no_args(codeql, csharp): s = codeql.database.create(command="dotnet run", _capture="stdout") From 40b8406d62bbb2b0876dd2068b17ba4204ecf075 Mon Sep 17 00:00:00 2001 From: Paolo Tranquilli Date: Tue, 19 Nov 2024 10:32:21 +0100 Subject: [PATCH 255/347] Bazel: use installer shortcut in docs and workflows --- .github/workflows/cpp-swift-analysis.yml | 2 +- rust/README.md | 2 +- swift/README.md | 2 +- swift/actions/build-and-test/action.yml | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/cpp-swift-analysis.yml b/.github/workflows/cpp-swift-analysis.yml index 4b923f1b39c6..ef38cb893933 100644 --- a/.github/workflows/cpp-swift-analysis.yml +++ b/.github/workflows/cpp-swift-analysis.yml @@ -48,7 +48,7 @@ jobs: - name: "Build Swift extractor using Bazel" run: | bazel clean --expunge - bazel run //swift:create-extractor-pack --nouse_action_cache --noremote_accept_cached --noremote_upload_local_results --spawn_strategy=local + bazel run //swift:installer --nouse_action_cache --noremote_accept_cached --noremote_upload_local_results --spawn_strategy=local bazel shutdown - name: Perform CodeQL Analysis diff --git a/rust/README.md b/rust/README.md index 87c7072c6758..4be6372f266b 100644 --- a/rust/README.md +++ b/rust/README.md @@ -13,7 +13,7 @@ If you don't have the `semmle-code` repo you may need to install Bazel manually, This approach uses a released `codeql` version and is simpler to use for QL development. From your `semmle-code` directory run: ```bash -bazel run @codeql//rust:rust-installer +bazel run @codeql//rust:installer ``` You now need to create a [per-user CodeQL configuration file](https://docs.github.com/en/code-security/codeql-cli/using-the-advanced-functionality-of-the-codeql-cli/specifying-command-options-in-a-codeql-configuration-file#using-a-codeql-configuration-file) and specify the option: ``` diff --git a/swift/README.md b/swift/README.md index a39c0ea55788..79970d90d964 100644 --- a/swift/README.md +++ b/swift/README.md @@ -13,7 +13,7 @@ brew install bazelisk then from the `ql` directory run ```bash -bazel run //swift:create-extractor-pack +bazel run //swift:installer ``` If you are running on macOS and you encounter errors mentioning `XXX is unavailable: introduced in macOS YY.ZZ`, diff --git a/swift/actions/build-and-test/action.yml b/swift/actions/build-and-test/action.yml index 2522f545c05f..16a8e02a7a1c 100644 --- a/swift/actions/build-and-test/action.yml +++ b/swift/actions/build-and-test/action.yml @@ -48,7 +48,7 @@ runs: - name: Build Swift extractor shell: bash run: | - bazel run //swift:create-extractor-pack + bazel run //swift:installer - name: Run codegen tests if : ${{ github.event_name == 'pull_request' }} shell: bash From b6103e1ef49df279aac81b548dfd6982bdc6acde Mon Sep 17 00:00:00 2001 From: Tom Hvitved Date: Tue, 19 Nov 2024 10:22:08 +0100 Subject: [PATCH 256/347] Rust: Add CFG test for early return in `async` block Also made the test comply with `cargo check`. --- .../controlflow-unstable/Cfg.expected | 53 + .../controlflow-unstable/Cfg.qlref | 1 + .../options.yml | 0 .../controlflow-unstable/test.rs | 22 + .../library-tests/controlflow/Cfg.expected | 2060 +++++++++-------- .../ql/test/library-tests/controlflow/test.rs | 103 +- 6 files changed, 1176 insertions(+), 1063 deletions(-) create mode 100644 rust/ql/test/library-tests/controlflow-unstable/Cfg.expected create mode 100644 rust/ql/test/library-tests/controlflow-unstable/Cfg.qlref rename rust/ql/test/library-tests/{controlflow => controlflow-unstable}/options.yml (100%) create mode 100644 rust/ql/test/library-tests/controlflow-unstable/test.rs diff --git a/rust/ql/test/library-tests/controlflow-unstable/Cfg.expected b/rust/ql/test/library-tests/controlflow-unstable/Cfg.expected new file mode 100644 index 000000000000..05851289a35f --- /dev/null +++ b/rust/ql/test/library-tests/controlflow-unstable/Cfg.expected @@ -0,0 +1,53 @@ +edges +| test.rs:5:5:11:5 | enter test_and_if_let | test.rs:5:24:5:24 | a | | +| test.rs:5:5:11:5 | exit test_and_if_let (normal) | test.rs:5:5:11:5 | exit test_and_if_let | | +| test.rs:5:24:5:24 | a | test.rs:5:24:5:30 | Param | match | +| test.rs:5:24:5:30 | Param | test.rs:5:33:5:33 | b | | +| test.rs:5:33:5:33 | b | test.rs:5:33:5:47 | Param | match | +| test.rs:5:33:5:47 | Param | test.rs:5:50:5:50 | c | | +| test.rs:5:50:5:50 | c | test.rs:5:50:5:56 | Param | match | +| test.rs:5:50:5:56 | Param | test.rs:6:12:6:12 | a | | +| test.rs:5:67:11:5 | BlockExpr | test.rs:5:5:11:5 | exit test_and_if_let (normal) | | +| test.rs:6:9:10:9 | IfExpr | test.rs:5:67:11:5 | BlockExpr | | +| test.rs:6:12:6:12 | a | test.rs:6:12:6:31 | [boolean(false)] ... && ... | false | +| test.rs:6:12:6:12 | a | test.rs:6:17:6:31 | LetExpr | true | +| test.rs:6:12:6:31 | [boolean(false)] ... && ... | test.rs:9:13:9:17 | false | false | +| test.rs:6:12:6:31 | [boolean(true)] ... && ... | test.rs:7:13:7:13 | d | true | +| test.rs:6:17:6:31 | LetExpr | test.rs:6:31:6:31 | b | | +| test.rs:6:21:6:27 | TupleStructPat | test.rs:6:12:6:31 | [boolean(false)] ... && ... | no-match | +| test.rs:6:21:6:27 | TupleStructPat | test.rs:6:26:6:26 | d | match | +| test.rs:6:26:6:26 | d | test.rs:6:12:6:31 | [boolean(true)] ... && ... | match | +| test.rs:6:31:6:31 | b | test.rs:6:21:6:27 | TupleStructPat | | +| test.rs:6:33:8:9 | BlockExpr | test.rs:6:9:10:9 | IfExpr | | +| test.rs:7:13:7:13 | d | test.rs:6:33:8:9 | BlockExpr | | +| test.rs:8:16:10:9 | BlockExpr | test.rs:6:9:10:9 | IfExpr | | +| test.rs:9:13:9:17 | false | test.rs:8:16:10:9 | BlockExpr | | +| test.rs:13:5:21:5 | enter test_and_if_let2 | test.rs:13:25:13:25 | a | | +| test.rs:13:5:21:5 | exit test_and_if_let2 (normal) | test.rs:13:5:21:5 | exit test_and_if_let2 | | +| test.rs:13:25:13:25 | a | test.rs:13:25:13:31 | Param | match | +| test.rs:13:25:13:31 | Param | test.rs:13:34:13:34 | b | | +| test.rs:13:34:13:34 | b | test.rs:13:34:13:39 | Param | match | +| test.rs:13:34:13:39 | Param | test.rs:13:42:13:42 | c | | +| test.rs:13:42:13:42 | c | test.rs:13:42:13:48 | Param | match | +| test.rs:13:42:13:48 | Param | test.rs:14:12:14:12 | a | | +| test.rs:13:59:21:5 | BlockExpr | test.rs:13:5:21:5 | exit test_and_if_let2 (normal) | | +| test.rs:14:9:20:9 | IfExpr | test.rs:13:59:21:5 | BlockExpr | | +| test.rs:14:12:14:12 | a | test.rs:14:12:14:25 | [boolean(false)] ... && ... | false | +| test.rs:14:12:14:12 | a | test.rs:14:17:14:25 | LetExpr | true | +| test.rs:14:12:14:25 | [boolean(false)] ... && ... | test.rs:14:12:15:16 | [boolean(false)] ... && ... | false | +| test.rs:14:12:14:25 | [boolean(true)] ... && ... | test.rs:15:16:15:16 | c | true | +| test.rs:14:12:15:16 | [boolean(false)] ... && ... | test.rs:19:13:19:17 | false | false | +| test.rs:14:12:15:16 | [boolean(true)] ... && ... | test.rs:17:13:17:13 | d | true | +| test.rs:14:17:14:25 | LetExpr | test.rs:14:25:14:25 | b | | +| test.rs:14:21:14:21 | d | test.rs:14:12:14:25 | [boolean(true)] ... && ... | match | +| test.rs:14:25:14:25 | b | test.rs:14:21:14:21 | d | | +| test.rs:15:16:15:16 | c | test.rs:14:12:15:16 | [boolean(false)] ... && ... | false | +| test.rs:15:16:15:16 | c | test.rs:14:12:15:16 | [boolean(true)] ... && ... | true | +| test.rs:16:9:18:9 | BlockExpr | test.rs:14:9:20:9 | IfExpr | | +| test.rs:17:13:17:13 | d | test.rs:17:17:17:17 | 0 | | +| test.rs:17:13:17:17 | ... > ... | test.rs:16:9:18:9 | BlockExpr | | +| test.rs:17:17:17:17 | 0 | test.rs:17:13:17:17 | ... > ... | | +| test.rs:18:16:20:9 | BlockExpr | test.rs:14:9:20:9 | IfExpr | | +| test.rs:19:13:19:17 | false | test.rs:18:16:20:9 | BlockExpr | | +breakTarget +continueTarget diff --git a/rust/ql/test/library-tests/controlflow-unstable/Cfg.qlref b/rust/ql/test/library-tests/controlflow-unstable/Cfg.qlref new file mode 100644 index 000000000000..ba4ee4b414f1 --- /dev/null +++ b/rust/ql/test/library-tests/controlflow-unstable/Cfg.qlref @@ -0,0 +1 @@ +query: utils/Cfg.ql \ No newline at end of file diff --git a/rust/ql/test/library-tests/controlflow/options.yml b/rust/ql/test/library-tests/controlflow-unstable/options.yml similarity index 100% rename from rust/ql/test/library-tests/controlflow/options.yml rename to rust/ql/test/library-tests/controlflow-unstable/options.yml diff --git a/rust/ql/test/library-tests/controlflow-unstable/test.rs b/rust/ql/test/library-tests/controlflow-unstable/test.rs new file mode 100644 index 000000000000..738d696bebe6 --- /dev/null +++ b/rust/ql/test/library-tests/controlflow-unstable/test.rs @@ -0,0 +1,22 @@ +// TODO: Move these tests into `controlflow` when they become stable features + +mod if_expression { + + fn test_and_if_let(a: bool, b: Option, c: bool) -> bool { + if a && let Some(d) = b { + d + } else { + false + } + } + + fn test_and_if_let2(a: bool, b: i64, c: bool) -> bool { + if a && let d = b + && c + { + d > 0 + } else { + false + } + } +} diff --git a/rust/ql/test/library-tests/controlflow/Cfg.expected b/rust/ql/test/library-tests/controlflow/Cfg.expected index 9539787a4e89..9b112133edd9 100644 --- a/rust/ql/test/library-tests/controlflow/Cfg.expected +++ b/rust/ql/test/library-tests/controlflow/Cfg.expected @@ -1,17 +1,16 @@ edges -| test.rs:5:5:8:5 | enter function_call | test.rs:6:9:6:45 | ExprStmt | | +| test.rs:5:5:8:5 | enter function_call | test.rs:6:9:6:64 | ExprStmt | | | test.rs:5:5:8:5 | exit function_call (normal) | test.rs:5:5:8:5 | exit function_call | | | test.rs:5:24:8:5 | BlockExpr | test.rs:5:5:8:5 | exit function_call (normal) | | -| test.rs:6:9:6:25 | test_and_operator | test.rs:6:27:6:30 | true | | -| test.rs:6:9:6:44 | CallExpr | test.rs:7:9:7:28 | ExprStmt | | -| test.rs:6:9:6:45 | ExprStmt | test.rs:6:9:6:25 | test_and_operator | | -| test.rs:6:27:6:30 | true | test.rs:6:33:6:37 | false | | -| test.rs:6:33:6:37 | false | test.rs:6:40:6:43 | true | | -| test.rs:6:40:6:43 | true | test.rs:6:9:6:44 | CallExpr | | -| test.rs:7:9:7:23 | foo::<...> | test.rs:7:25:7:26 | 42 | | -| test.rs:7:9:7:27 | CallExpr | test.rs:5:24:8:5 | BlockExpr | | -| test.rs:7:9:7:28 | ExprStmt | test.rs:7:9:7:23 | foo::<...> | | -| test.rs:7:25:7:26 | 42 | test.rs:7:9:7:27 | CallExpr | | +| test.rs:6:9:6:44 | logical_operators::test_and_operator | test.rs:6:46:6:49 | true | | +| test.rs:6:9:6:63 | CallExpr | test.rs:7:9:7:22 | ExprStmt | | +| test.rs:6:9:6:64 | ExprStmt | test.rs:6:9:6:44 | logical_operators::test_and_operator | | +| test.rs:6:46:6:49 | true | test.rs:6:52:6:56 | false | | +| test.rs:6:52:6:56 | false | test.rs:6:59:6:62 | true | | +| test.rs:6:59:6:62 | true | test.rs:6:9:6:63 | CallExpr | | +| test.rs:7:9:7:19 | method_call | test.rs:7:9:7:21 | CallExpr | | +| test.rs:7:9:7:21 | CallExpr | test.rs:5:24:8:5 | BlockExpr | | +| test.rs:7:9:7:22 | ExprStmt | test.rs:7:9:7:19 | method_call | | | test.rs:10:5:13:5 | enter method_call | test.rs:11:9:11:37 | LetStmt | | | test.rs:10:5:13:5 | exit method_call (normal) | test.rs:10:5:13:5 | exit method_call | | | test.rs:10:22:13:5 | BlockExpr | test.rs:10:5:13:5 | exit method_call (normal) | | @@ -24,1021 +23,1046 @@ edges | test.rs:12:9:12:28 | ExprStmt | test.rs:12:9:12:11 | map | | | test.rs:12:20:12:21 | 37 | test.rs:12:24:12:26 | "a" | | | test.rs:12:24:12:26 | "a" | test.rs:12:9:12:27 | ... .insert(...) | | -| test.rs:18:5:34:5 | enter test_break_and_continue | test.rs:18:32:18:32 | n | | -| test.rs:18:5:34:5 | exit test_break_and_continue (normal) | test.rs:18:5:34:5 | exit test_break_and_continue | | -| test.rs:18:32:18:32 | n | test.rs:18:32:18:37 | Param | match | -| test.rs:18:32:18:37 | Param | test.rs:19:9:19:22 | LetStmt | | -| test.rs:19:9:19:22 | LetStmt | test.rs:19:21:19:21 | n | | -| test.rs:19:13:19:17 | i | test.rs:20:9:32:9 | ExprStmt | match | -| test.rs:19:21:19:21 | n | test.rs:19:13:19:17 | i | | -| test.rs:20:9:32:9 | ExprStmt | test.rs:21:13:21:24 | ExprStmt | | -| test.rs:20:9:32:9 | LoopExpr | test.rs:33:9:33:20 | ExprStmt | | -| test.rs:20:14:32:9 | BlockExpr | test.rs:21:13:21:24 | ExprStmt | | -| test.rs:21:13:21:13 | i | test.rs:21:17:21:20 | next | | -| test.rs:21:13:21:23 | ... = ... | test.rs:22:13:24:13 | ExprStmt | | -| test.rs:21:13:21:24 | ExprStmt | test.rs:21:13:21:13 | i | | -| test.rs:21:17:21:20 | next | test.rs:21:22:21:22 | i | | -| test.rs:21:17:21:23 | CallExpr | test.rs:21:13:21:23 | ... = ... | | -| test.rs:21:22:21:22 | i | test.rs:21:17:21:23 | CallExpr | | -| test.rs:22:13:24:13 | ExprStmt | test.rs:22:16:22:16 | i | | -| test.rs:22:13:24:13 | IfExpr | test.rs:25:13:27:13 | ExprStmt | | -| test.rs:22:16:22:16 | i | test.rs:22:20:22:24 | 10000 | | -| test.rs:22:16:22:24 | ... > ... | test.rs:22:13:24:13 | IfExpr | false | -| test.rs:22:16:22:24 | ... > ... | test.rs:23:17:23:29 | ExprStmt | true | -| test.rs:22:20:22:24 | 10000 | test.rs:22:16:22:24 | ... > ... | | -| test.rs:23:17:23:28 | ReturnExpr | test.rs:18:5:34:5 | exit test_break_and_continue (normal) | return | -| test.rs:23:17:23:29 | ExprStmt | test.rs:23:24:23:28 | false | | -| test.rs:23:24:23:28 | false | test.rs:23:17:23:28 | ReturnExpr | | -| test.rs:25:13:27:13 | ExprStmt | test.rs:25:16:25:16 | i | | -| test.rs:25:13:27:13 | IfExpr | test.rs:28:13:30:13 | ExprStmt | | -| test.rs:25:16:25:16 | i | test.rs:25:21:25:21 | 1 | | -| test.rs:25:16:25:21 | ... == ... | test.rs:25:13:27:13 | IfExpr | false | -| test.rs:25:16:25:21 | ... == ... | test.rs:26:17:26:22 | ExprStmt | true | -| test.rs:25:21:25:21 | 1 | test.rs:25:16:25:21 | ... == ... | | -| test.rs:26:17:26:21 | BreakExpr | test.rs:20:9:32:9 | LoopExpr | break | -| test.rs:26:17:26:22 | ExprStmt | test.rs:26:17:26:21 | BreakExpr | | -| test.rs:28:13:30:13 | ExprStmt | test.rs:28:16:28:16 | i | | -| test.rs:28:13:30:13 | IfExpr | test.rs:31:13:31:13 | i | | -| test.rs:28:16:28:16 | i | test.rs:28:20:28:20 | 2 | | -| test.rs:28:16:28:20 | ... % ... | test.rs:28:25:28:25 | 0 | | -| test.rs:28:16:28:25 | ... != ... | test.rs:28:13:30:13 | IfExpr | false | -| test.rs:28:16:28:25 | ... != ... | test.rs:29:17:29:25 | ExprStmt | true | -| test.rs:28:20:28:20 | 2 | test.rs:28:16:28:20 | ... % ... | | -| test.rs:28:25:28:25 | 0 | test.rs:28:16:28:25 | ... != ... | | -| test.rs:29:17:29:24 | ContinueExpr | test.rs:21:13:21:24 | ExprStmt | continue | -| test.rs:29:17:29:25 | ExprStmt | test.rs:29:17:29:24 | ContinueExpr | | -| test.rs:31:13:31:13 | i | test.rs:31:17:31:17 | i | | -| test.rs:31:13:31:21 | ... = ... | test.rs:20:14:32:9 | BlockExpr | | -| test.rs:31:17:31:17 | i | test.rs:31:21:31:21 | 2 | | -| test.rs:31:17:31:21 | ... / ... | test.rs:31:13:31:21 | ... = ... | | -| test.rs:31:21:31:21 | 2 | test.rs:31:17:31:21 | ... / ... | | -| test.rs:33:9:33:19 | ReturnExpr | test.rs:18:5:34:5 | exit test_break_and_continue (normal) | return | -| test.rs:33:9:33:20 | ExprStmt | test.rs:33:16:33:19 | true | | -| test.rs:33:16:33:19 | true | test.rs:33:9:33:19 | ReturnExpr | | -| test.rs:36:5:48:5 | enter test_break_with_labels | test.rs:36:31:36:31 | b | | -| test.rs:36:5:48:5 | exit test_break_with_labels (normal) | test.rs:36:5:48:5 | exit test_break_with_labels | | -| test.rs:36:31:36:31 | b | test.rs:36:31:36:37 | Param | match | -| test.rs:36:31:36:37 | Param | test.rs:37:9:46:9 | ExprStmt | | -| test.rs:36:48:48:5 | BlockExpr | test.rs:36:5:48:5 | exit test_break_with_labels (normal) | | -| test.rs:37:9:46:9 | ExprStmt | test.rs:39:17:43:17 | ExprStmt | | -| test.rs:37:9:46:9 | LoopExpr | test.rs:47:9:47:12 | true | | -| test.rs:37:22:46:9 | BlockExpr | test.rs:39:17:43:17 | ExprStmt | | -| test.rs:38:13:45:13 | LoopExpr | test.rs:37:22:46:9 | BlockExpr | | -| test.rs:39:17:43:17 | ExprStmt | test.rs:39:20:39:20 | b | | -| test.rs:39:17:43:17 | IfExpr | test.rs:44:17:44:29 | ExprStmt | | -| test.rs:39:20:39:20 | b | test.rs:40:21:40:26 | ExprStmt | true | -| test.rs:39:20:39:20 | b | test.rs:41:27:41:27 | b | false | -| test.rs:40:21:40:25 | BreakExpr | test.rs:38:13:45:13 | LoopExpr | break | -| test.rs:40:21:40:26 | ExprStmt | test.rs:40:21:40:25 | BreakExpr | | -| test.rs:41:24:43:17 | IfExpr | test.rs:39:17:43:17 | IfExpr | | -| test.rs:41:27:41:27 | b | test.rs:41:24:43:17 | IfExpr | false | -| test.rs:41:27:41:27 | b | test.rs:42:21:42:33 | ExprStmt | true | -| test.rs:42:21:42:32 | BreakExpr | test.rs:37:9:46:9 | LoopExpr | break | -| test.rs:42:21:42:33 | ExprStmt | test.rs:42:21:42:32 | BreakExpr | | -| test.rs:44:17:44:28 | BreakExpr | test.rs:38:13:45:13 | LoopExpr | break | -| test.rs:44:17:44:29 | ExprStmt | test.rs:44:17:44:28 | BreakExpr | | -| test.rs:47:9:47:12 | true | test.rs:36:48:48:5 | BlockExpr | | -| test.rs:50:5:62:5 | enter test_continue_with_labels | test.rs:50:34:50:34 | b | | -| test.rs:50:34:50:34 | b | test.rs:50:34:50:40 | Param | match | -| test.rs:50:34:50:40 | Param | test.rs:52:13:52:14 | ExprStmt | | -| test.rs:52:13:52:13 | 1 | test.rs:54:17:58:17 | ExprStmt | | -| test.rs:52:13:52:14 | ExprStmt | test.rs:52:13:52:13 | 1 | | -| test.rs:54:17:58:17 | ExprStmt | test.rs:54:20:54:20 | b | | -| test.rs:54:17:58:17 | IfExpr | test.rs:59:17:59:32 | ExprStmt | | -| test.rs:54:20:54:20 | b | test.rs:55:21:55:29 | ExprStmt | true | -| test.rs:54:20:54:20 | b | test.rs:56:27:56:27 | b | false | -| test.rs:55:21:55:28 | ContinueExpr | test.rs:54:17:58:17 | ExprStmt | continue | -| test.rs:55:21:55:29 | ExprStmt | test.rs:55:21:55:28 | ContinueExpr | | -| test.rs:56:24:58:17 | IfExpr | test.rs:54:17:58:17 | IfExpr | | -| test.rs:56:27:56:27 | b | test.rs:56:24:58:17 | IfExpr | false | -| test.rs:56:27:56:27 | b | test.rs:57:21:57:36 | ExprStmt | true | -| test.rs:57:21:57:35 | ContinueExpr | test.rs:52:13:52:14 | ExprStmt | continue | -| test.rs:57:21:57:36 | ExprStmt | test.rs:57:21:57:35 | ContinueExpr | | -| test.rs:59:17:59:31 | ContinueExpr | test.rs:54:17:58:17 | ExprStmt | continue | -| test.rs:59:17:59:32 | ExprStmt | test.rs:59:17:59:31 | ContinueExpr | | -| test.rs:64:5:76:5 | enter test_loop_label_shadowing | test.rs:64:34:64:34 | b | | -| test.rs:64:34:64:34 | b | test.rs:64:34:64:40 | Param | match | -| test.rs:64:34:64:40 | Param | test.rs:66:13:66:14 | ExprStmt | | -| test.rs:66:13:66:13 | 1 | test.rs:68:17:72:17 | ExprStmt | | -| test.rs:66:13:66:14 | ExprStmt | test.rs:66:13:66:13 | 1 | | -| test.rs:68:17:72:17 | ExprStmt | test.rs:68:20:68:20 | b | | -| test.rs:68:17:72:17 | IfExpr | test.rs:73:17:73:32 | ExprStmt | | -| test.rs:68:20:68:20 | b | test.rs:69:21:69:29 | ExprStmt | true | -| test.rs:68:20:68:20 | b | test.rs:70:27:70:27 | b | false | -| test.rs:69:21:69:28 | ContinueExpr | test.rs:68:17:72:17 | ExprStmt | continue | -| test.rs:69:21:69:29 | ExprStmt | test.rs:69:21:69:28 | ContinueExpr | | -| test.rs:70:24:72:17 | IfExpr | test.rs:68:17:72:17 | IfExpr | | -| test.rs:70:27:70:27 | b | test.rs:70:24:72:17 | IfExpr | false | -| test.rs:70:27:70:27 | b | test.rs:71:21:71:36 | ExprStmt | true | -| test.rs:71:21:71:35 | ContinueExpr | test.rs:68:17:72:17 | ExprStmt | continue | -| test.rs:71:21:71:36 | ExprStmt | test.rs:71:21:71:35 | ContinueExpr | | -| test.rs:73:17:73:31 | ContinueExpr | test.rs:68:17:72:17 | ExprStmt | continue | -| test.rs:73:17:73:32 | ExprStmt | test.rs:73:17:73:31 | ContinueExpr | | -| test.rs:78:5:87:5 | enter test_while | test.rs:78:19:78:19 | i | | -| test.rs:78:5:87:5 | exit test_while (normal) | test.rs:78:5:87:5 | exit test_while | | -| test.rs:78:19:78:19 | i | test.rs:78:19:78:24 | Param | match | -| test.rs:78:19:78:24 | Param | test.rs:79:9:79:25 | LetStmt | | -| test.rs:78:27:87:5 | BlockExpr | test.rs:78:5:87:5 | exit test_while (normal) | | -| test.rs:79:9:79:25 | LetStmt | test.rs:79:21:79:24 | true | | -| test.rs:79:13:79:17 | b | test.rs:80:15:80:15 | b | match | -| test.rs:79:21:79:24 | true | test.rs:79:13:79:17 | b | | -| test.rs:80:9:86:9 | WhileExpr | test.rs:78:27:87:5 | BlockExpr | | -| test.rs:80:15:80:15 | b | test.rs:80:9:86:9 | WhileExpr | false | -| test.rs:80:15:80:15 | b | test.rs:81:13:81:14 | ExprStmt | true | -| test.rs:80:17:86:9 | BlockExpr | test.rs:80:15:80:15 | b | | -| test.rs:81:13:81:13 | 1 | test.rs:82:13:84:13 | ExprStmt | | -| test.rs:81:13:81:14 | ExprStmt | test.rs:81:13:81:13 | 1 | | -| test.rs:82:13:84:13 | ExprStmt | test.rs:82:17:82:17 | i | | -| test.rs:82:13:84:13 | IfExpr | test.rs:85:13:85:22 | ExprStmt | | -| test.rs:82:17:82:17 | i | test.rs:82:21:82:21 | 0 | | -| test.rs:82:17:82:21 | ... > ... | test.rs:82:13:84:13 | IfExpr | false | -| test.rs:82:17:82:21 | ... > ... | test.rs:83:17:83:22 | ExprStmt | true | -| test.rs:82:21:82:21 | 0 | test.rs:82:17:82:21 | ... > ... | | -| test.rs:83:17:83:21 | BreakExpr | test.rs:80:9:86:9 | WhileExpr | break | -| test.rs:83:17:83:22 | ExprStmt | test.rs:83:17:83:21 | BreakExpr | | -| test.rs:85:13:85:13 | b | test.rs:85:17:85:21 | false | | -| test.rs:85:13:85:21 | ... = ... | test.rs:80:17:86:9 | BlockExpr | | -| test.rs:85:13:85:22 | ExprStmt | test.rs:85:13:85:13 | b | | -| test.rs:85:17:85:21 | false | test.rs:85:13:85:21 | ... = ... | | -| test.rs:89:5:96:5 | enter test_while_let | test.rs:90:9:90:29 | LetStmt | | -| test.rs:89:5:96:5 | exit test_while_let (normal) | test.rs:89:5:96:5 | exit test_while_let | | -| test.rs:89:25:96:5 | BlockExpr | test.rs:89:5:96:5 | exit test_while_let (normal) | | -| test.rs:90:9:90:29 | LetStmt | test.rs:90:24:90:24 | 1 | | -| test.rs:90:13:90:20 | iter | test.rs:91:15:91:39 | LetExpr | match | -| test.rs:90:24:90:24 | 1 | test.rs:90:27:90:28 | 10 | | -| test.rs:90:24:90:28 | RangeExpr | test.rs:90:13:90:20 | iter | | -| test.rs:90:27:90:28 | 10 | test.rs:90:24:90:28 | RangeExpr | | -| test.rs:91:9:95:9 | WhileExpr | test.rs:89:25:96:5 | BlockExpr | | -| test.rs:91:15:91:39 | LetExpr | test.rs:91:29:91:32 | iter | | -| test.rs:91:19:91:25 | TupleStructPat | test.rs:91:9:95:9 | WhileExpr | no-match | -| test.rs:91:19:91:25 | TupleStructPat | test.rs:91:24:91:24 | x | match | -| test.rs:91:24:91:24 | x | test.rs:92:17:92:17 | i | match | -| test.rs:91:29:91:32 | iter | test.rs:91:29:91:39 | ... .next(...) | | -| test.rs:91:29:91:39 | ... .next(...) | test.rs:91:19:91:25 | TupleStructPat | | -| test.rs:91:41:95:9 | BlockExpr | test.rs:91:15:91:39 | LetExpr | | -| test.rs:92:13:94:13 | IfExpr | test.rs:91:41:95:9 | BlockExpr | | -| test.rs:92:17:92:17 | i | test.rs:92:21:92:21 | 5 | | -| test.rs:92:17:92:21 | ... = ... | test.rs:92:13:94:13 | IfExpr | false | -| test.rs:92:17:92:21 | ... = ... | test.rs:93:17:93:22 | ExprStmt | true | -| test.rs:92:21:92:21 | 5 | test.rs:92:17:92:21 | ... = ... | | -| test.rs:93:17:93:21 | BreakExpr | test.rs:91:9:95:9 | WhileExpr | break | -| test.rs:93:17:93:22 | ExprStmt | test.rs:93:17:93:21 | BreakExpr | | -| test.rs:98:5:105:5 | enter test_for | test.rs:98:17:98:17 | j | | -| test.rs:98:5:105:5 | exit test_for (normal) | test.rs:98:5:105:5 | exit test_for | | -| test.rs:98:17:98:17 | j | test.rs:98:17:98:22 | Param | match | -| test.rs:98:17:98:22 | Param | test.rs:99:18:99:18 | 0 | | -| test.rs:98:25:105:5 | BlockExpr | test.rs:98:5:105:5 | exit test_for (normal) | | -| test.rs:99:9:104:9 | ForExpr | test.rs:98:25:105:5 | BlockExpr | | -| test.rs:99:13:99:13 | i | test.rs:99:9:104:9 | ForExpr | no-match | -| test.rs:99:13:99:13 | i | test.rs:100:13:102:13 | ExprStmt | match | -| test.rs:99:18:99:18 | 0 | test.rs:99:21:99:22 | 10 | | -| test.rs:99:18:99:22 | RangeExpr | test.rs:99:13:99:13 | i | | -| test.rs:99:21:99:22 | 10 | test.rs:99:18:99:22 | RangeExpr | | -| test.rs:99:24:104:9 | BlockExpr | test.rs:99:13:99:13 | i | | -| test.rs:100:13:102:13 | ExprStmt | test.rs:100:17:100:17 | i | | -| test.rs:100:13:102:13 | IfExpr | test.rs:103:13:103:14 | ExprStmt | | -| test.rs:100:17:100:17 | i | test.rs:100:22:100:22 | j | | +| test.rs:18:5:24:5 | enter next | test.rs:18:13:18:13 | n | | +| test.rs:18:5:24:5 | exit next (normal) | test.rs:18:5:24:5 | exit next | | +| test.rs:18:13:18:13 | n | test.rs:18:13:18:18 | Param | match | +| test.rs:18:13:18:18 | Param | test.rs:19:12:19:12 | n | | +| test.rs:18:28:24:5 | BlockExpr | test.rs:18:5:24:5 | exit next (normal) | | +| test.rs:19:9:23:9 | IfExpr | test.rs:18:28:24:5 | BlockExpr | | +| test.rs:19:12:19:12 | n | test.rs:19:16:19:16 | 2 | | +| test.rs:19:12:19:16 | ... % ... | test.rs:19:21:19:21 | 0 | | +| test.rs:19:12:19:21 | ... == ... | test.rs:20:13:20:13 | n | true | +| test.rs:19:12:19:21 | ... == ... | test.rs:22:13:22:13 | 3 | false | +| test.rs:19:16:19:16 | 2 | test.rs:19:12:19:16 | ... % ... | | +| test.rs:19:21:19:21 | 0 | test.rs:19:12:19:21 | ... == ... | | +| test.rs:19:23:21:9 | BlockExpr | test.rs:19:9:23:9 | IfExpr | | +| test.rs:20:13:20:13 | n | test.rs:20:17:20:17 | 2 | | +| test.rs:20:13:20:17 | ... / ... | test.rs:19:23:21:9 | BlockExpr | | +| test.rs:20:17:20:17 | 2 | test.rs:20:13:20:17 | ... / ... | | +| test.rs:21:16:23:9 | BlockExpr | test.rs:19:9:23:9 | IfExpr | | +| test.rs:22:13:22:13 | 3 | test.rs:22:17:22:17 | n | | +| test.rs:22:13:22:17 | ... * ... | test.rs:22:21:22:21 | 1 | | +| test.rs:22:13:22:21 | ... + ... | test.rs:21:16:23:9 | BlockExpr | | +| test.rs:22:17:22:17 | n | test.rs:22:13:22:17 | ... * ... | | +| test.rs:22:21:22:21 | 1 | test.rs:22:13:22:21 | ... + ... | | +| test.rs:26:5:42:5 | enter test_break_and_continue | test.rs:26:32:26:32 | n | | +| test.rs:26:5:42:5 | exit test_break_and_continue (normal) | test.rs:26:5:42:5 | exit test_break_and_continue | | +| test.rs:26:32:26:32 | n | test.rs:26:32:26:37 | Param | match | +| test.rs:26:32:26:37 | Param | test.rs:27:9:27:22 | LetStmt | | +| test.rs:27:9:27:22 | LetStmt | test.rs:27:21:27:21 | n | | +| test.rs:27:13:27:17 | i | test.rs:28:9:40:9 | ExprStmt | match | +| test.rs:27:21:27:21 | n | test.rs:27:13:27:17 | i | | +| test.rs:28:9:40:9 | ExprStmt | test.rs:29:13:29:24 | ExprStmt | | +| test.rs:28:9:40:9 | LoopExpr | test.rs:41:9:41:20 | ExprStmt | | +| test.rs:28:14:40:9 | BlockExpr | test.rs:29:13:29:24 | ExprStmt | | +| test.rs:29:13:29:13 | i | test.rs:29:17:29:20 | next | | +| test.rs:29:13:29:23 | ... = ... | test.rs:30:13:32:13 | ExprStmt | | +| test.rs:29:13:29:24 | ExprStmt | test.rs:29:13:29:13 | i | | +| test.rs:29:17:29:20 | next | test.rs:29:22:29:22 | i | | +| test.rs:29:17:29:23 | CallExpr | test.rs:29:13:29:23 | ... = ... | | +| test.rs:29:22:29:22 | i | test.rs:29:17:29:23 | CallExpr | | +| test.rs:30:13:32:13 | ExprStmt | test.rs:30:16:30:16 | i | | +| test.rs:30:13:32:13 | IfExpr | test.rs:33:13:35:13 | ExprStmt | | +| test.rs:30:16:30:16 | i | test.rs:30:20:30:24 | 10000 | | +| test.rs:30:16:30:24 | ... > ... | test.rs:30:13:32:13 | IfExpr | false | +| test.rs:30:16:30:24 | ... > ... | test.rs:31:17:31:29 | ExprStmt | true | +| test.rs:30:20:30:24 | 10000 | test.rs:30:16:30:24 | ... > ... | | +| test.rs:31:17:31:28 | ReturnExpr | test.rs:26:5:42:5 | exit test_break_and_continue (normal) | return | +| test.rs:31:17:31:29 | ExprStmt | test.rs:31:24:31:28 | false | | +| test.rs:31:24:31:28 | false | test.rs:31:17:31:28 | ReturnExpr | | +| test.rs:33:13:35:13 | ExprStmt | test.rs:33:16:33:16 | i | | +| test.rs:33:13:35:13 | IfExpr | test.rs:36:13:38:13 | ExprStmt | | +| test.rs:33:16:33:16 | i | test.rs:33:21:33:21 | 1 | | +| test.rs:33:16:33:21 | ... == ... | test.rs:33:13:35:13 | IfExpr | false | +| test.rs:33:16:33:21 | ... == ... | test.rs:34:17:34:22 | ExprStmt | true | +| test.rs:33:21:33:21 | 1 | test.rs:33:16:33:21 | ... == ... | | +| test.rs:34:17:34:21 | BreakExpr | test.rs:28:9:40:9 | LoopExpr | break | +| test.rs:34:17:34:22 | ExprStmt | test.rs:34:17:34:21 | BreakExpr | | +| test.rs:36:13:38:13 | ExprStmt | test.rs:36:16:36:16 | i | | +| test.rs:36:13:38:13 | IfExpr | test.rs:39:13:39:13 | i | | +| test.rs:36:16:36:16 | i | test.rs:36:20:36:20 | 2 | | +| test.rs:36:16:36:20 | ... % ... | test.rs:36:25:36:25 | 0 | | +| test.rs:36:16:36:25 | ... != ... | test.rs:36:13:38:13 | IfExpr | false | +| test.rs:36:16:36:25 | ... != ... | test.rs:37:17:37:25 | ExprStmt | true | +| test.rs:36:20:36:20 | 2 | test.rs:36:16:36:20 | ... % ... | | +| test.rs:36:25:36:25 | 0 | test.rs:36:16:36:25 | ... != ... | | +| test.rs:37:17:37:24 | ContinueExpr | test.rs:29:13:29:24 | ExprStmt | continue | +| test.rs:37:17:37:25 | ExprStmt | test.rs:37:17:37:24 | ContinueExpr | | +| test.rs:39:13:39:13 | i | test.rs:39:17:39:17 | i | | +| test.rs:39:13:39:21 | ... = ... | test.rs:28:14:40:9 | BlockExpr | | +| test.rs:39:17:39:17 | i | test.rs:39:21:39:21 | 2 | | +| test.rs:39:17:39:21 | ... / ... | test.rs:39:13:39:21 | ... = ... | | +| test.rs:39:21:39:21 | 2 | test.rs:39:17:39:21 | ... / ... | | +| test.rs:41:9:41:19 | ReturnExpr | test.rs:26:5:42:5 | exit test_break_and_continue (normal) | return | +| test.rs:41:9:41:20 | ExprStmt | test.rs:41:16:41:19 | true | | +| test.rs:41:16:41:19 | true | test.rs:41:9:41:19 | ReturnExpr | | +| test.rs:44:5:56:5 | enter test_break_with_labels | test.rs:44:31:44:31 | b | | +| test.rs:44:5:56:5 | exit test_break_with_labels (normal) | test.rs:44:5:56:5 | exit test_break_with_labels | | +| test.rs:44:31:44:31 | b | test.rs:44:31:44:37 | Param | match | +| test.rs:44:31:44:37 | Param | test.rs:45:9:54:9 | ExprStmt | | +| test.rs:44:48:56:5 | BlockExpr | test.rs:44:5:56:5 | exit test_break_with_labels (normal) | | +| test.rs:45:9:54:9 | ExprStmt | test.rs:47:17:51:17 | ExprStmt | | +| test.rs:45:9:54:9 | LoopExpr | test.rs:55:9:55:12 | true | | +| test.rs:45:22:54:9 | BlockExpr | test.rs:47:17:51:17 | ExprStmt | | +| test.rs:46:13:53:13 | LoopExpr | test.rs:45:22:54:9 | BlockExpr | | +| test.rs:47:17:51:17 | ExprStmt | test.rs:47:20:47:20 | b | | +| test.rs:47:17:51:17 | IfExpr | test.rs:52:17:52:29 | ExprStmt | | +| test.rs:47:20:47:20 | b | test.rs:48:21:48:26 | ExprStmt | true | +| test.rs:47:20:47:20 | b | test.rs:49:27:49:27 | b | false | +| test.rs:48:21:48:25 | BreakExpr | test.rs:46:13:53:13 | LoopExpr | break | +| test.rs:48:21:48:26 | ExprStmt | test.rs:48:21:48:25 | BreakExpr | | +| test.rs:49:24:51:17 | IfExpr | test.rs:47:17:51:17 | IfExpr | | +| test.rs:49:27:49:27 | b | test.rs:49:24:51:17 | IfExpr | false | +| test.rs:49:27:49:27 | b | test.rs:50:21:50:33 | ExprStmt | true | +| test.rs:50:21:50:32 | BreakExpr | test.rs:45:9:54:9 | LoopExpr | break | +| test.rs:50:21:50:33 | ExprStmt | test.rs:50:21:50:32 | BreakExpr | | +| test.rs:52:17:52:28 | BreakExpr | test.rs:46:13:53:13 | LoopExpr | break | +| test.rs:52:17:52:29 | ExprStmt | test.rs:52:17:52:28 | BreakExpr | | +| test.rs:55:9:55:12 | true | test.rs:44:48:56:5 | BlockExpr | | +| test.rs:58:5:70:5 | enter test_continue_with_labels | test.rs:58:34:58:34 | b | | +| test.rs:58:34:58:34 | b | test.rs:58:34:58:40 | Param | match | +| test.rs:58:34:58:40 | Param | test.rs:60:13:60:14 | ExprStmt | | +| test.rs:60:13:60:13 | 1 | test.rs:62:17:66:17 | ExprStmt | | +| test.rs:60:13:60:14 | ExprStmt | test.rs:60:13:60:13 | 1 | | +| test.rs:62:17:66:17 | ExprStmt | test.rs:62:20:62:20 | b | | +| test.rs:62:17:66:17 | IfExpr | test.rs:67:17:67:32 | ExprStmt | | +| test.rs:62:20:62:20 | b | test.rs:63:21:63:29 | ExprStmt | true | +| test.rs:62:20:62:20 | b | test.rs:64:27:64:27 | b | false | +| test.rs:63:21:63:28 | ContinueExpr | test.rs:62:17:66:17 | ExprStmt | continue | +| test.rs:63:21:63:29 | ExprStmt | test.rs:63:21:63:28 | ContinueExpr | | +| test.rs:64:24:66:17 | IfExpr | test.rs:62:17:66:17 | IfExpr | | +| test.rs:64:27:64:27 | b | test.rs:64:24:66:17 | IfExpr | false | +| test.rs:64:27:64:27 | b | test.rs:65:21:65:36 | ExprStmt | true | +| test.rs:65:21:65:35 | ContinueExpr | test.rs:60:13:60:14 | ExprStmt | continue | +| test.rs:65:21:65:36 | ExprStmt | test.rs:65:21:65:35 | ContinueExpr | | +| test.rs:67:17:67:31 | ContinueExpr | test.rs:62:17:66:17 | ExprStmt | continue | +| test.rs:67:17:67:32 | ExprStmt | test.rs:67:17:67:31 | ContinueExpr | | +| test.rs:72:5:84:5 | enter test_loop_label_shadowing | test.rs:72:34:72:34 | b | | +| test.rs:72:34:72:34 | b | test.rs:72:34:72:40 | Param | match | +| test.rs:72:34:72:40 | Param | test.rs:74:13:74:14 | ExprStmt | | +| test.rs:74:13:74:13 | 1 | test.rs:76:17:80:17 | ExprStmt | | +| test.rs:74:13:74:14 | ExprStmt | test.rs:74:13:74:13 | 1 | | +| test.rs:76:17:80:17 | ExprStmt | test.rs:76:20:76:20 | b | | +| test.rs:76:17:80:17 | IfExpr | test.rs:81:17:81:32 | ExprStmt | | +| test.rs:76:20:76:20 | b | test.rs:77:21:77:29 | ExprStmt | true | +| test.rs:76:20:76:20 | b | test.rs:78:27:78:27 | b | false | +| test.rs:77:21:77:28 | ContinueExpr | test.rs:76:17:80:17 | ExprStmt | continue | +| test.rs:77:21:77:29 | ExprStmt | test.rs:77:21:77:28 | ContinueExpr | | +| test.rs:78:24:80:17 | IfExpr | test.rs:76:17:80:17 | IfExpr | | +| test.rs:78:27:78:27 | b | test.rs:78:24:80:17 | IfExpr | false | +| test.rs:78:27:78:27 | b | test.rs:79:21:79:36 | ExprStmt | true | +| test.rs:79:21:79:35 | ContinueExpr | test.rs:76:17:80:17 | ExprStmt | continue | +| test.rs:79:21:79:36 | ExprStmt | test.rs:79:21:79:35 | ContinueExpr | | +| test.rs:81:17:81:31 | ContinueExpr | test.rs:76:17:80:17 | ExprStmt | continue | +| test.rs:81:17:81:32 | ExprStmt | test.rs:81:17:81:31 | ContinueExpr | | +| test.rs:86:5:95:5 | enter test_while | test.rs:86:19:86:19 | i | | +| test.rs:86:5:95:5 | exit test_while (normal) | test.rs:86:5:95:5 | exit test_while | | +| test.rs:86:19:86:19 | i | test.rs:86:19:86:24 | Param | match | +| test.rs:86:19:86:24 | Param | test.rs:87:9:87:25 | LetStmt | | +| test.rs:86:27:95:5 | BlockExpr | test.rs:86:5:95:5 | exit test_while (normal) | | +| test.rs:87:9:87:25 | LetStmt | test.rs:87:21:87:24 | true | | +| test.rs:87:13:87:17 | b | test.rs:88:15:88:15 | b | match | +| test.rs:87:21:87:24 | true | test.rs:87:13:87:17 | b | | +| test.rs:88:9:94:9 | WhileExpr | test.rs:86:27:95:5 | BlockExpr | | +| test.rs:88:15:88:15 | b | test.rs:88:9:94:9 | WhileExpr | false | +| test.rs:88:15:88:15 | b | test.rs:89:13:89:14 | ExprStmt | true | +| test.rs:88:17:94:9 | BlockExpr | test.rs:88:15:88:15 | b | | +| test.rs:89:13:89:13 | 1 | test.rs:90:13:92:13 | ExprStmt | | +| test.rs:89:13:89:14 | ExprStmt | test.rs:89:13:89:13 | 1 | | +| test.rs:90:13:92:13 | ExprStmt | test.rs:90:17:90:17 | i | | +| test.rs:90:13:92:13 | IfExpr | test.rs:93:13:93:22 | ExprStmt | | +| test.rs:90:17:90:17 | i | test.rs:90:21:90:21 | 0 | | +| test.rs:90:17:90:21 | ... > ... | test.rs:90:13:92:13 | IfExpr | false | +| test.rs:90:17:90:21 | ... > ... | test.rs:91:17:91:22 | ExprStmt | true | +| test.rs:90:21:90:21 | 0 | test.rs:90:17:90:21 | ... > ... | | +| test.rs:91:17:91:21 | BreakExpr | test.rs:88:9:94:9 | WhileExpr | break | +| test.rs:91:17:91:22 | ExprStmt | test.rs:91:17:91:21 | BreakExpr | | +| test.rs:93:13:93:13 | b | test.rs:93:17:93:21 | false | | +| test.rs:93:13:93:21 | ... = ... | test.rs:88:17:94:9 | BlockExpr | | +| test.rs:93:13:93:22 | ExprStmt | test.rs:93:13:93:13 | b | | +| test.rs:93:17:93:21 | false | test.rs:93:13:93:21 | ... = ... | | +| test.rs:97:5:104:5 | enter test_while_let | test.rs:98:9:98:29 | LetStmt | | +| test.rs:97:5:104:5 | exit test_while_let (normal) | test.rs:97:5:104:5 | exit test_while_let | | +| test.rs:97:25:104:5 | BlockExpr | test.rs:97:5:104:5 | exit test_while_let (normal) | | +| test.rs:98:9:98:29 | LetStmt | test.rs:98:24:98:24 | 1 | | +| test.rs:98:13:98:20 | iter | test.rs:99:15:99:39 | LetExpr | match | +| test.rs:98:24:98:24 | 1 | test.rs:98:27:98:28 | 10 | | +| test.rs:98:24:98:28 | RangeExpr | test.rs:98:13:98:20 | iter | | +| test.rs:98:27:98:28 | 10 | test.rs:98:24:98:28 | RangeExpr | | +| test.rs:99:9:103:9 | WhileExpr | test.rs:97:25:104:5 | BlockExpr | | +| test.rs:99:15:99:39 | LetExpr | test.rs:99:29:99:32 | iter | | +| test.rs:99:19:99:25 | TupleStructPat | test.rs:99:9:103:9 | WhileExpr | no-match | +| test.rs:99:19:99:25 | TupleStructPat | test.rs:99:24:99:24 | x | match | +| test.rs:99:24:99:24 | x | test.rs:100:17:100:17 | x | match | +| test.rs:99:29:99:32 | iter | test.rs:99:29:99:39 | ... .next(...) | | +| test.rs:99:29:99:39 | ... .next(...) | test.rs:99:19:99:25 | TupleStructPat | | +| test.rs:99:41:103:9 | BlockExpr | test.rs:99:15:99:39 | LetExpr | | +| test.rs:100:13:102:13 | IfExpr | test.rs:99:41:103:9 | BlockExpr | | +| test.rs:100:17:100:17 | x | test.rs:100:22:100:22 | 5 | | | test.rs:100:17:100:22 | ... == ... | test.rs:100:13:102:13 | IfExpr | false | | test.rs:100:17:100:22 | ... == ... | test.rs:101:17:101:22 | ExprStmt | true | -| test.rs:100:22:100:22 | j | test.rs:100:17:100:22 | ... == ... | | -| test.rs:101:17:101:21 | BreakExpr | test.rs:99:9:104:9 | ForExpr | break | +| test.rs:100:22:100:22 | 5 | test.rs:100:17:100:22 | ... == ... | | +| test.rs:101:17:101:21 | BreakExpr | test.rs:99:9:103:9 | WhileExpr | break | | test.rs:101:17:101:22 | ExprStmt | test.rs:101:17:101:21 | BreakExpr | | -| test.rs:103:13:103:13 | 1 | test.rs:99:24:104:9 | BlockExpr | | -| test.rs:103:13:103:14 | ExprStmt | test.rs:103:13:103:13 | 1 | | -| test.rs:107:5:111:5 | enter break_with_return | test.rs:109:13:109:27 | ExprStmt | | -| test.rs:107:5:111:5 | exit break_with_return (normal) | test.rs:107:5:111:5 | exit break_with_return | | -| test.rs:109:13:109:27 | ExprStmt | test.rs:109:26:109:26 | 1 | | -| test.rs:109:19:109:26 | ReturnExpr | test.rs:107:5:111:5 | exit break_with_return (normal) | return | -| test.rs:109:26:109:26 | 1 | test.rs:109:19:109:26 | ReturnExpr | | -| test.rs:114:1:117:1 | enter test_nested_function | test.rs:114:25:114:25 | n | | -| test.rs:114:1:117:1 | exit test_nested_function (normal) | test.rs:114:1:117:1 | exit test_nested_function | | -| test.rs:114:25:114:25 | n | test.rs:114:25:114:30 | Param | match | -| test.rs:114:25:114:30 | Param | test.rs:115:5:115:28 | LetStmt | | -| test.rs:114:40:117:1 | BlockExpr | test.rs:114:1:117:1 | exit test_nested_function (normal) | | -| test.rs:115:5:115:28 | LetStmt | test.rs:115:19:115:27 | ClosureExpr | | -| test.rs:115:9:115:15 | add_one | test.rs:116:5:116:11 | add_one | match | -| test.rs:115:19:115:27 | ClosureExpr | test.rs:115:9:115:15 | add_one | | -| test.rs:115:19:115:27 | enter ClosureExpr | test.rs:115:20:115:20 | i | | -| test.rs:115:19:115:27 | exit ClosureExpr (normal) | test.rs:115:19:115:27 | exit ClosureExpr | | -| test.rs:115:20:115:20 | Param | test.rs:115:23:115:23 | i | | -| test.rs:115:20:115:20 | i | test.rs:115:20:115:20 | Param | match | -| test.rs:115:23:115:23 | i | test.rs:115:27:115:27 | 1 | | -| test.rs:115:23:115:27 | ... + ... | test.rs:115:19:115:27 | exit ClosureExpr (normal) | | -| test.rs:115:27:115:27 | 1 | test.rs:115:23:115:27 | ... + ... | | -| test.rs:116:5:116:11 | add_one | test.rs:116:13:116:19 | add_one | | -| test.rs:116:5:116:23 | CallExpr | test.rs:114:40:117:1 | BlockExpr | | -| test.rs:116:13:116:19 | add_one | test.rs:116:21:116:21 | n | | -| test.rs:116:13:116:22 | CallExpr | test.rs:116:5:116:23 | CallExpr | | -| test.rs:116:21:116:21 | n | test.rs:116:13:116:22 | CallExpr | | -| test.rs:121:5:127:5 | enter test_if_else | test.rs:121:21:121:21 | n | | -| test.rs:121:5:127:5 | exit test_if_else (normal) | test.rs:121:5:127:5 | exit test_if_else | | -| test.rs:121:21:121:21 | n | test.rs:121:21:121:26 | Param | match | -| test.rs:121:21:121:26 | Param | test.rs:122:12:122:12 | n | | -| test.rs:121:36:127:5 | BlockExpr | test.rs:121:5:127:5 | exit test_if_else (normal) | | -| test.rs:122:9:126:9 | IfExpr | test.rs:121:36:127:5 | BlockExpr | | -| test.rs:122:12:122:12 | n | test.rs:122:17:122:17 | 0 | | -| test.rs:122:12:122:17 | ... <= ... | test.rs:123:13:123:13 | 0 | true | -| test.rs:122:12:122:17 | ... <= ... | test.rs:125:13:125:13 | n | false | -| test.rs:122:17:122:17 | 0 | test.rs:122:12:122:17 | ... <= ... | | -| test.rs:122:19:124:9 | BlockExpr | test.rs:122:9:126:9 | IfExpr | | -| test.rs:123:13:123:13 | 0 | test.rs:122:19:124:9 | BlockExpr | | -| test.rs:124:16:126:9 | BlockExpr | test.rs:122:9:126:9 | IfExpr | | -| test.rs:125:13:125:13 | n | test.rs:125:17:125:17 | 1 | | -| test.rs:125:13:125:17 | ... - ... | test.rs:124:16:126:9 | BlockExpr | | -| test.rs:125:17:125:17 | 1 | test.rs:125:13:125:17 | ... - ... | | -| test.rs:129:5:135:5 | enter test_if_let_else | test.rs:129:25:129:25 | a | | -| test.rs:129:5:135:5 | exit test_if_let_else (normal) | test.rs:129:5:135:5 | exit test_if_let_else | | -| test.rs:129:25:129:25 | a | test.rs:129:25:129:38 | Param | match | -| test.rs:129:25:129:38 | Param | test.rs:130:12:130:26 | LetExpr | | -| test.rs:129:48:135:5 | BlockExpr | test.rs:129:5:135:5 | exit test_if_let_else (normal) | | -| test.rs:130:9:134:9 | IfExpr | test.rs:129:48:135:5 | BlockExpr | | -| test.rs:130:12:130:26 | LetExpr | test.rs:130:26:130:26 | a | | -| test.rs:130:16:130:22 | TupleStructPat | test.rs:130:21:130:21 | n | match | -| test.rs:130:16:130:22 | TupleStructPat | test.rs:133:13:133:13 | 0 | no-match | -| test.rs:130:21:130:21 | n | test.rs:131:13:131:13 | n | match | -| test.rs:130:26:130:26 | a | test.rs:130:16:130:22 | TupleStructPat | | -| test.rs:130:28:132:9 | BlockExpr | test.rs:130:9:134:9 | IfExpr | | -| test.rs:131:13:131:13 | n | test.rs:130:28:132:9 | BlockExpr | | +| test.rs:106:5:113:5 | enter test_for | test.rs:106:17:106:17 | j | | +| test.rs:106:5:113:5 | exit test_for (normal) | test.rs:106:5:113:5 | exit test_for | | +| test.rs:106:17:106:17 | j | test.rs:106:17:106:22 | Param | match | +| test.rs:106:17:106:22 | Param | test.rs:107:18:107:18 | 0 | | +| test.rs:106:25:113:5 | BlockExpr | test.rs:106:5:113:5 | exit test_for (normal) | | +| test.rs:107:9:112:9 | ForExpr | test.rs:106:25:113:5 | BlockExpr | | +| test.rs:107:13:107:13 | i | test.rs:107:9:112:9 | ForExpr | no-match | +| test.rs:107:13:107:13 | i | test.rs:108:13:110:13 | ExprStmt | match | +| test.rs:107:18:107:18 | 0 | test.rs:107:21:107:22 | 10 | | +| test.rs:107:18:107:22 | RangeExpr | test.rs:107:13:107:13 | i | | +| test.rs:107:21:107:22 | 10 | test.rs:107:18:107:22 | RangeExpr | | +| test.rs:107:24:112:9 | BlockExpr | test.rs:107:13:107:13 | i | | +| test.rs:108:13:110:13 | ExprStmt | test.rs:108:17:108:17 | i | | +| test.rs:108:13:110:13 | IfExpr | test.rs:111:13:111:14 | ExprStmt | | +| test.rs:108:17:108:17 | i | test.rs:108:22:108:22 | j | | +| test.rs:108:17:108:22 | ... == ... | test.rs:108:13:110:13 | IfExpr | false | +| test.rs:108:17:108:22 | ... == ... | test.rs:109:17:109:22 | ExprStmt | true | +| test.rs:108:22:108:22 | j | test.rs:108:17:108:22 | ... == ... | | +| test.rs:109:17:109:21 | BreakExpr | test.rs:107:9:112:9 | ForExpr | break | +| test.rs:109:17:109:22 | ExprStmt | test.rs:109:17:109:21 | BreakExpr | | +| test.rs:111:13:111:13 | 1 | test.rs:107:24:112:9 | BlockExpr | | +| test.rs:111:13:111:14 | ExprStmt | test.rs:111:13:111:13 | 1 | | +| test.rs:115:5:119:5 | enter break_with_return | test.rs:117:13:117:27 | ExprStmt | | +| test.rs:115:5:119:5 | exit break_with_return (normal) | test.rs:115:5:119:5 | exit break_with_return | | +| test.rs:117:13:117:27 | ExprStmt | test.rs:117:26:117:26 | 1 | | +| test.rs:117:19:117:26 | ReturnExpr | test.rs:115:5:119:5 | exit break_with_return (normal) | return | +| test.rs:117:26:117:26 | 1 | test.rs:117:19:117:26 | ReturnExpr | | +| test.rs:122:1:125:1 | enter test_nested_function | test.rs:122:25:122:25 | n | | +| test.rs:122:1:125:1 | exit test_nested_function (normal) | test.rs:122:1:125:1 | exit test_nested_function | | +| test.rs:122:25:122:25 | n | test.rs:122:25:122:30 | Param | match | +| test.rs:122:25:122:30 | Param | test.rs:123:5:123:28 | LetStmt | | +| test.rs:122:40:125:1 | BlockExpr | test.rs:122:1:125:1 | exit test_nested_function (normal) | | +| test.rs:123:5:123:28 | LetStmt | test.rs:123:19:123:27 | ClosureExpr | | +| test.rs:123:9:123:15 | add_one | test.rs:124:5:124:11 | add_one | match | +| test.rs:123:19:123:27 | ClosureExpr | test.rs:123:9:123:15 | add_one | | +| test.rs:123:19:123:27 | enter ClosureExpr | test.rs:123:20:123:20 | i | | +| test.rs:123:19:123:27 | exit ClosureExpr (normal) | test.rs:123:19:123:27 | exit ClosureExpr | | +| test.rs:123:20:123:20 | Param | test.rs:123:23:123:23 | i | | +| test.rs:123:20:123:20 | i | test.rs:123:20:123:20 | Param | match | +| test.rs:123:23:123:23 | i | test.rs:123:27:123:27 | 1 | | +| test.rs:123:23:123:27 | ... + ... | test.rs:123:19:123:27 | exit ClosureExpr (normal) | | +| test.rs:123:27:123:27 | 1 | test.rs:123:23:123:27 | ... + ... | | +| test.rs:124:5:124:11 | add_one | test.rs:124:13:124:19 | add_one | | +| test.rs:124:5:124:23 | CallExpr | test.rs:122:40:125:1 | BlockExpr | | +| test.rs:124:13:124:19 | add_one | test.rs:124:21:124:21 | n | | +| test.rs:124:13:124:22 | CallExpr | test.rs:124:5:124:23 | CallExpr | | +| test.rs:124:21:124:21 | n | test.rs:124:13:124:22 | CallExpr | | +| test.rs:129:5:135:5 | enter test_if_else | test.rs:129:21:129:21 | n | | +| test.rs:129:5:135:5 | exit test_if_else (normal) | test.rs:129:5:135:5 | exit test_if_else | | +| test.rs:129:21:129:21 | n | test.rs:129:21:129:26 | Param | match | +| test.rs:129:21:129:26 | Param | test.rs:130:12:130:12 | n | | +| test.rs:129:36:135:5 | BlockExpr | test.rs:129:5:135:5 | exit test_if_else (normal) | | +| test.rs:130:9:134:9 | IfExpr | test.rs:129:36:135:5 | BlockExpr | | +| test.rs:130:12:130:12 | n | test.rs:130:17:130:17 | 0 | | +| test.rs:130:12:130:17 | ... <= ... | test.rs:131:13:131:13 | 0 | true | +| test.rs:130:12:130:17 | ... <= ... | test.rs:133:13:133:13 | n | false | +| test.rs:130:17:130:17 | 0 | test.rs:130:12:130:17 | ... <= ... | | +| test.rs:130:19:132:9 | BlockExpr | test.rs:130:9:134:9 | IfExpr | | +| test.rs:131:13:131:13 | 0 | test.rs:130:19:132:9 | BlockExpr | | | test.rs:132:16:134:9 | BlockExpr | test.rs:130:9:134:9 | IfExpr | | -| test.rs:133:13:133:13 | 0 | test.rs:132:16:134:9 | BlockExpr | | -| test.rs:137:5:142:5 | enter test_if_let | test.rs:137:20:137:20 | a | | -| test.rs:137:5:142:5 | exit test_if_let (normal) | test.rs:137:5:142:5 | exit test_if_let | | -| test.rs:137:20:137:20 | a | test.rs:137:20:137:33 | Param | match | -| test.rs:137:20:137:33 | Param | test.rs:138:9:140:9 | ExprStmt | | -| test.rs:137:43:142:5 | BlockExpr | test.rs:137:5:142:5 | exit test_if_let (normal) | | -| test.rs:138:9:140:9 | ExprStmt | test.rs:138:12:138:26 | LetExpr | | -| test.rs:138:9:140:9 | IfExpr | test.rs:141:9:141:9 | 0 | | +| test.rs:133:13:133:13 | n | test.rs:133:17:133:17 | 1 | | +| test.rs:133:13:133:17 | ... - ... | test.rs:132:16:134:9 | BlockExpr | | +| test.rs:133:17:133:17 | 1 | test.rs:133:13:133:17 | ... - ... | | +| test.rs:137:5:143:5 | enter test_if_let_else | test.rs:137:25:137:25 | a | | +| test.rs:137:5:143:5 | exit test_if_let_else (normal) | test.rs:137:5:143:5 | exit test_if_let_else | | +| test.rs:137:25:137:25 | a | test.rs:137:25:137:38 | Param | match | +| test.rs:137:25:137:38 | Param | test.rs:138:12:138:26 | LetExpr | | +| test.rs:137:48:143:5 | BlockExpr | test.rs:137:5:143:5 | exit test_if_let_else (normal) | | +| test.rs:138:9:142:9 | IfExpr | test.rs:137:48:143:5 | BlockExpr | | | test.rs:138:12:138:26 | LetExpr | test.rs:138:26:138:26 | a | | -| test.rs:138:16:138:22 | TupleStructPat | test.rs:138:9:140:9 | IfExpr | no-match | | test.rs:138:16:138:22 | TupleStructPat | test.rs:138:21:138:21 | n | match | +| test.rs:138:16:138:22 | TupleStructPat | test.rs:141:13:141:13 | 0 | no-match | | test.rs:138:21:138:21 | n | test.rs:139:13:139:13 | n | match | | test.rs:138:26:138:26 | a | test.rs:138:16:138:22 | TupleStructPat | | -| test.rs:138:28:140:9 | BlockExpr | test.rs:138:9:140:9 | IfExpr | | +| test.rs:138:28:140:9 | BlockExpr | test.rs:138:9:142:9 | IfExpr | | | test.rs:139:13:139:13 | n | test.rs:138:28:140:9 | BlockExpr | | -| test.rs:141:9:141:9 | 0 | test.rs:137:43:142:5 | BlockExpr | | -| test.rs:144:5:150:5 | enter test_and_if_let | test.rs:144:24:144:24 | a | | -| test.rs:144:5:150:5 | exit test_and_if_let (normal) | test.rs:144:5:150:5 | exit test_and_if_let | | -| test.rs:144:24:144:24 | a | test.rs:144:24:144:30 | Param | match | -| test.rs:144:24:144:30 | Param | test.rs:144:33:144:33 | b | | -| test.rs:144:33:144:33 | b | test.rs:144:33:144:47 | Param | match | -| test.rs:144:33:144:47 | Param | test.rs:144:50:144:50 | c | | -| test.rs:144:50:144:50 | c | test.rs:144:50:144:56 | Param | match | -| test.rs:144:50:144:56 | Param | test.rs:145:12:145:12 | a | | -| test.rs:144:67:150:5 | BlockExpr | test.rs:144:5:150:5 | exit test_and_if_let (normal) | | -| test.rs:145:9:149:9 | IfExpr | test.rs:144:67:150:5 | BlockExpr | | -| test.rs:145:12:145:12 | a | test.rs:145:12:145:31 | [boolean(false)] ... && ... | false | -| test.rs:145:12:145:12 | a | test.rs:145:17:145:31 | LetExpr | true | -| test.rs:145:12:145:31 | [boolean(false)] ... && ... | test.rs:148:13:148:17 | false | false | -| test.rs:145:12:145:31 | [boolean(true)] ... && ... | test.rs:146:13:146:13 | d | true | -| test.rs:145:17:145:31 | LetExpr | test.rs:145:31:145:31 | b | | -| test.rs:145:21:145:27 | TupleStructPat | test.rs:145:12:145:31 | [boolean(false)] ... && ... | no-match | -| test.rs:145:21:145:27 | TupleStructPat | test.rs:145:26:145:26 | d | match | -| test.rs:145:26:145:26 | d | test.rs:145:12:145:31 | [boolean(true)] ... && ... | match | -| test.rs:145:31:145:31 | b | test.rs:145:21:145:27 | TupleStructPat | | -| test.rs:145:33:147:9 | BlockExpr | test.rs:145:9:149:9 | IfExpr | | -| test.rs:146:13:146:13 | d | test.rs:145:33:147:9 | BlockExpr | | -| test.rs:147:16:149:9 | BlockExpr | test.rs:145:9:149:9 | IfExpr | | -| test.rs:148:13:148:17 | false | test.rs:147:16:149:9 | BlockExpr | | -| test.rs:152:5:160:5 | enter test_and_if_let2 | test.rs:152:25:152:25 | a | | -| test.rs:152:5:160:5 | exit test_and_if_let2 (normal) | test.rs:152:5:160:5 | exit test_and_if_let2 | | -| test.rs:152:25:152:25 | a | test.rs:152:25:152:31 | Param | match | -| test.rs:152:25:152:31 | Param | test.rs:152:34:152:34 | b | | -| test.rs:152:34:152:34 | b | test.rs:152:34:152:39 | Param | match | -| test.rs:152:34:152:39 | Param | test.rs:152:42:152:42 | c | | -| test.rs:152:42:152:42 | c | test.rs:152:42:152:48 | Param | match | -| test.rs:152:42:152:48 | Param | test.rs:153:12:153:12 | a | | -| test.rs:152:59:160:5 | BlockExpr | test.rs:152:5:160:5 | exit test_and_if_let2 (normal) | | -| test.rs:153:9:159:9 | IfExpr | test.rs:152:59:160:5 | BlockExpr | | -| test.rs:153:12:153:12 | a | test.rs:153:12:153:25 | [boolean(false)] ... && ... | false | -| test.rs:153:12:153:12 | a | test.rs:153:17:153:25 | LetExpr | true | -| test.rs:153:12:153:25 | [boolean(false)] ... && ... | test.rs:153:12:154:16 | [boolean(false)] ... && ... | false | -| test.rs:153:12:153:25 | [boolean(true)] ... && ... | test.rs:154:16:154:16 | c | true | -| test.rs:153:12:154:16 | [boolean(false)] ... && ... | test.rs:158:13:158:17 | false | false | -| test.rs:153:12:154:16 | [boolean(true)] ... && ... | test.rs:156:13:156:13 | d | true | -| test.rs:153:17:153:25 | LetExpr | test.rs:153:25:153:25 | b | | -| test.rs:153:21:153:21 | d | test.rs:153:12:153:25 | [boolean(true)] ... && ... | match | -| test.rs:153:25:153:25 | b | test.rs:153:21:153:21 | d | | -| test.rs:154:16:154:16 | c | test.rs:153:12:154:16 | [boolean(false)] ... && ... | false | -| test.rs:154:16:154:16 | c | test.rs:153:12:154:16 | [boolean(true)] ... && ... | true | -| test.rs:155:9:157:9 | BlockExpr | test.rs:153:9:159:9 | IfExpr | | -| test.rs:156:13:156:13 | d | test.rs:156:17:156:17 | 0 | | -| test.rs:156:13:156:17 | ... > ... | test.rs:155:9:157:9 | BlockExpr | | -| test.rs:156:17:156:17 | 0 | test.rs:156:13:156:17 | ... > ... | | -| test.rs:157:16:159:9 | BlockExpr | test.rs:153:9:159:9 | IfExpr | | -| test.rs:158:13:158:17 | false | test.rs:157:16:159:9 | BlockExpr | | -| test.rs:162:5:168:5 | enter test_nested_if | test.rs:162:23:162:23 | a | | -| test.rs:162:5:168:5 | exit test_nested_if (normal) | test.rs:162:5:168:5 | exit test_nested_if | | -| test.rs:162:23:162:23 | a | test.rs:162:23:162:28 | Param | match | -| test.rs:162:23:162:28 | Param | test.rs:163:16:163:16 | a | | -| test.rs:162:38:168:5 | BlockExpr | test.rs:162:5:168:5 | exit test_nested_if (normal) | | -| test.rs:163:9:167:9 | IfExpr | test.rs:162:38:168:5 | BlockExpr | | -| test.rs:163:13:163:48 | [boolean(false)] IfExpr | test.rs:166:13:166:13 | 0 | false | -| test.rs:163:13:163:48 | [boolean(true)] IfExpr | test.rs:164:13:164:13 | 1 | true | -| test.rs:163:16:163:16 | a | test.rs:163:20:163:20 | 0 | | -| test.rs:163:16:163:20 | ... < ... | test.rs:163:24:163:24 | a | true | -| test.rs:163:16:163:20 | ... < ... | test.rs:163:41:163:41 | a | false | -| test.rs:163:20:163:20 | 0 | test.rs:163:16:163:20 | ... < ... | | -| test.rs:163:22:163:32 | [boolean(false)] BlockExpr | test.rs:163:13:163:48 | [boolean(false)] IfExpr | false | -| test.rs:163:22:163:32 | [boolean(true)] BlockExpr | test.rs:163:13:163:48 | [boolean(true)] IfExpr | true | -| test.rs:163:24:163:24 | a | test.rs:163:29:163:30 | 10 | | -| test.rs:163:24:163:30 | ... < ... | test.rs:163:22:163:32 | [boolean(false)] BlockExpr | false | -| test.rs:163:24:163:30 | ... < ... | test.rs:163:22:163:32 | [boolean(true)] BlockExpr | true | -| test.rs:163:28:163:30 | - ... | test.rs:163:24:163:30 | ... < ... | | -| test.rs:163:29:163:30 | 10 | test.rs:163:28:163:30 | - ... | | -| test.rs:163:39:163:48 | [boolean(false)] BlockExpr | test.rs:163:13:163:48 | [boolean(false)] IfExpr | false | -| test.rs:163:39:163:48 | [boolean(true)] BlockExpr | test.rs:163:13:163:48 | [boolean(true)] IfExpr | true | -| test.rs:163:41:163:41 | a | test.rs:163:45:163:46 | 10 | | -| test.rs:163:41:163:46 | ... > ... | test.rs:163:39:163:48 | [boolean(false)] BlockExpr | false | -| test.rs:163:41:163:46 | ... > ... | test.rs:163:39:163:48 | [boolean(true)] BlockExpr | true | -| test.rs:163:45:163:46 | 10 | test.rs:163:41:163:46 | ... > ... | | -| test.rs:163:51:165:9 | BlockExpr | test.rs:163:9:167:9 | IfExpr | | -| test.rs:164:13:164:13 | 1 | test.rs:163:51:165:9 | BlockExpr | | -| test.rs:165:16:167:9 | BlockExpr | test.rs:163:9:167:9 | IfExpr | | -| test.rs:166:13:166:13 | 0 | test.rs:165:16:167:9 | BlockExpr | | -| test.rs:170:5:179:5 | enter test_nested_if_match | test.rs:170:29:170:29 | a | | -| test.rs:170:5:179:5 | exit test_nested_if_match (normal) | test.rs:170:5:179:5 | exit test_nested_if_match | | -| test.rs:170:29:170:29 | a | test.rs:170:29:170:34 | Param | match | -| test.rs:170:29:170:34 | Param | test.rs:171:19:171:19 | a | | -| test.rs:170:44:179:5 | BlockExpr | test.rs:170:5:179:5 | exit test_nested_if_match (normal) | | -| test.rs:171:9:178:9 | IfExpr | test.rs:170:44:179:5 | BlockExpr | | -| test.rs:171:13:174:9 | [boolean(false)] MatchExpr | test.rs:177:13:177:13 | 0 | false | -| test.rs:171:13:174:9 | [boolean(true)] MatchExpr | test.rs:175:13:175:13 | 1 | true | -| test.rs:171:19:171:19 | a | test.rs:172:13:172:13 | 0 | | -| test.rs:172:13:172:13 | 0 | test.rs:172:13:172:13 | LiteralPat | | -| test.rs:172:13:172:13 | LiteralPat | test.rs:172:18:172:21 | true | match | -| test.rs:172:13:172:13 | LiteralPat | test.rs:173:13:173:13 | WildcardPat | no-match | -| test.rs:172:18:172:21 | true | test.rs:171:13:174:9 | [boolean(true)] MatchExpr | true | -| test.rs:173:13:173:13 | WildcardPat | test.rs:173:18:173:22 | false | match | -| test.rs:173:18:173:22 | false | test.rs:171:13:174:9 | [boolean(false)] MatchExpr | false | -| test.rs:174:12:176:9 | BlockExpr | test.rs:171:9:178:9 | IfExpr | | -| test.rs:175:13:175:13 | 1 | test.rs:174:12:176:9 | BlockExpr | | -| test.rs:176:16:178:9 | BlockExpr | test.rs:171:9:178:9 | IfExpr | | -| test.rs:177:13:177:13 | 0 | test.rs:176:16:178:9 | BlockExpr | | -| test.rs:181:5:190:5 | enter test_nested_if_block | test.rs:181:29:181:29 | a | | -| test.rs:181:5:190:5 | exit test_nested_if_block (normal) | test.rs:181:5:190:5 | exit test_nested_if_block | | -| test.rs:181:29:181:29 | a | test.rs:181:29:181:34 | Param | match | -| test.rs:181:29:181:34 | Param | test.rs:183:13:183:15 | ExprStmt | | -| test.rs:181:44:190:5 | BlockExpr | test.rs:181:5:190:5 | exit test_nested_if_block (normal) | | -| test.rs:182:9:189:9 | IfExpr | test.rs:181:44:190:5 | BlockExpr | | -| test.rs:182:12:185:9 | [boolean(false)] BlockExpr | test.rs:188:13:188:13 | 0 | false | -| test.rs:182:12:185:9 | [boolean(true)] BlockExpr | test.rs:186:13:186:13 | 1 | true | -| test.rs:183:13:183:14 | TupleExpr | test.rs:184:13:184:13 | a | | -| test.rs:183:13:183:15 | ExprStmt | test.rs:183:13:183:14 | TupleExpr | | -| test.rs:184:13:184:13 | a | test.rs:184:17:184:17 | 0 | | -| test.rs:184:13:184:17 | ... > ... | test.rs:182:12:185:9 | [boolean(false)] BlockExpr | false | -| test.rs:184:13:184:17 | ... > ... | test.rs:182:12:185:9 | [boolean(true)] BlockExpr | true | -| test.rs:184:17:184:17 | 0 | test.rs:184:13:184:17 | ... > ... | | -| test.rs:185:11:187:9 | BlockExpr | test.rs:182:9:189:9 | IfExpr | | -| test.rs:186:13:186:13 | 1 | test.rs:185:11:187:9 | BlockExpr | | -| test.rs:187:16:189:9 | BlockExpr | test.rs:182:9:189:9 | IfExpr | | -| test.rs:188:13:188:13 | 0 | test.rs:187:16:189:9 | BlockExpr | | -| test.rs:192:5:199:5 | enter test_if_assignment | test.rs:192:27:192:27 | a | | -| test.rs:192:5:199:5 | exit test_if_assignment (normal) | test.rs:192:5:199:5 | exit test_if_assignment | | -| test.rs:192:27:192:27 | a | test.rs:192:27:192:32 | Param | match | -| test.rs:192:27:192:32 | Param | test.rs:193:9:193:26 | LetStmt | | -| test.rs:192:42:199:5 | BlockExpr | test.rs:192:5:199:5 | exit test_if_assignment (normal) | | -| test.rs:193:9:193:26 | LetStmt | test.rs:193:21:193:25 | false | | -| test.rs:193:13:193:17 | x | test.rs:194:12:194:12 | x | match | -| test.rs:193:21:193:25 | false | test.rs:193:13:193:17 | x | | -| test.rs:194:9:198:9 | IfExpr | test.rs:192:42:199:5 | BlockExpr | | -| test.rs:194:12:194:12 | x | test.rs:194:16:194:19 | true | | -| test.rs:194:12:194:19 | ... = ... | test.rs:195:13:195:13 | 1 | true | -| test.rs:194:12:194:19 | ... = ... | test.rs:197:13:197:13 | 0 | false | -| test.rs:194:16:194:19 | true | test.rs:194:12:194:19 | ... = ... | | -| test.rs:194:21:196:9 | BlockExpr | test.rs:194:9:198:9 | IfExpr | | -| test.rs:195:13:195:13 | 1 | test.rs:194:21:196:9 | BlockExpr | | -| test.rs:196:16:198:9 | BlockExpr | test.rs:194:9:198:9 | IfExpr | | -| test.rs:197:13:197:13 | 0 | test.rs:196:16:198:9 | BlockExpr | | -| test.rs:201:5:212:5 | enter test_if_loop1 | test.rs:201:22:201:22 | a | | -| test.rs:201:5:212:5 | exit test_if_loop1 (normal) | test.rs:201:5:212:5 | exit test_if_loop1 | | -| test.rs:201:22:201:22 | a | test.rs:201:22:201:27 | Param | match | -| test.rs:201:22:201:27 | Param | test.rs:203:13:205:14 | ExprStmt | | -| test.rs:201:37:212:5 | BlockExpr | test.rs:201:5:212:5 | exit test_if_loop1 (normal) | | -| test.rs:202:9:211:9 | IfExpr | test.rs:201:37:212:5 | BlockExpr | | -| test.rs:202:13:207:9 | [boolean(false)] LoopExpr | test.rs:210:13:210:13 | 0 | false | -| test.rs:202:13:207:9 | [boolean(true)] LoopExpr | test.rs:208:13:208:13 | 1 | true | -| test.rs:202:18:207:9 | BlockExpr | test.rs:203:13:205:14 | ExprStmt | | -| test.rs:203:13:205:13 | IfExpr | test.rs:206:13:206:19 | ExprStmt | | -| test.rs:203:13:205:14 | ExprStmt | test.rs:203:16:203:16 | a | | -| test.rs:203:16:203:16 | a | test.rs:203:20:203:20 | 0 | | -| test.rs:203:16:203:20 | ... > ... | test.rs:203:13:205:13 | IfExpr | false | -| test.rs:203:16:203:20 | ... > ... | test.rs:204:17:204:29 | ExprStmt | true | -| test.rs:203:20:203:20 | 0 | test.rs:203:16:203:20 | ... > ... | | -| test.rs:204:17:204:28 | [boolean(false)] BreakExpr | test.rs:202:13:207:9 | [boolean(false)] LoopExpr | break | -| test.rs:204:17:204:28 | [boolean(true)] BreakExpr | test.rs:202:13:207:9 | [boolean(true)] LoopExpr | break | -| test.rs:204:17:204:29 | ExprStmt | test.rs:204:23:204:23 | a | | -| test.rs:204:23:204:23 | a | test.rs:204:27:204:28 | 10 | | -| test.rs:204:23:204:28 | ... > ... | test.rs:204:17:204:28 | [boolean(false)] BreakExpr | false | -| test.rs:204:23:204:28 | ... > ... | test.rs:204:17:204:28 | [boolean(true)] BreakExpr | true | -| test.rs:204:27:204:28 | 10 | test.rs:204:23:204:28 | ... > ... | | -| test.rs:206:13:206:13 | a | test.rs:206:17:206:18 | 10 | | -| test.rs:206:13:206:18 | ... < ... | test.rs:202:18:207:9 | BlockExpr | | -| test.rs:206:13:206:19 | ExprStmt | test.rs:206:13:206:13 | a | | -| test.rs:206:17:206:18 | 10 | test.rs:206:13:206:18 | ... < ... | | -| test.rs:207:12:209:9 | BlockExpr | test.rs:202:9:211:9 | IfExpr | | -| test.rs:208:13:208:13 | 1 | test.rs:207:12:209:9 | BlockExpr | | -| test.rs:209:16:211:9 | BlockExpr | test.rs:202:9:211:9 | IfExpr | | -| test.rs:210:13:210:13 | 0 | test.rs:209:16:211:9 | BlockExpr | | -| test.rs:214:5:225:5 | enter test_if_loop2 | test.rs:214:22:214:22 | a | | -| test.rs:214:5:225:5 | exit test_if_loop2 (normal) | test.rs:214:5:225:5 | exit test_if_loop2 | | -| test.rs:214:22:214:22 | a | test.rs:214:22:214:27 | Param | match | -| test.rs:214:22:214:27 | Param | test.rs:216:13:218:14 | ExprStmt | | -| test.rs:214:37:225:5 | BlockExpr | test.rs:214:5:225:5 | exit test_if_loop2 (normal) | | -| test.rs:215:9:224:9 | IfExpr | test.rs:214:37:225:5 | BlockExpr | | -| test.rs:215:13:220:9 | [boolean(false)] LoopExpr | test.rs:223:13:223:13 | 0 | false | -| test.rs:215:13:220:9 | [boolean(true)] LoopExpr | test.rs:221:13:221:13 | 1 | true | -| test.rs:215:26:220:9 | BlockExpr | test.rs:216:13:218:14 | ExprStmt | | -| test.rs:216:13:218:13 | IfExpr | test.rs:219:13:219:19 | ExprStmt | | -| test.rs:216:13:218:14 | ExprStmt | test.rs:216:16:216:16 | a | | -| test.rs:216:16:216:16 | a | test.rs:216:20:216:20 | 0 | | -| test.rs:216:16:216:20 | ... > ... | test.rs:216:13:218:13 | IfExpr | false | -| test.rs:216:16:216:20 | ... > ... | test.rs:217:17:217:36 | ExprStmt | true | -| test.rs:216:20:216:20 | 0 | test.rs:216:16:216:20 | ... > ... | | -| test.rs:217:17:217:35 | [boolean(false)] BreakExpr | test.rs:215:13:220:9 | [boolean(false)] LoopExpr | break | -| test.rs:217:17:217:35 | [boolean(true)] BreakExpr | test.rs:215:13:220:9 | [boolean(true)] LoopExpr | break | -| test.rs:217:17:217:36 | ExprStmt | test.rs:217:30:217:30 | a | | -| test.rs:217:30:217:30 | a | test.rs:217:34:217:35 | 10 | | -| test.rs:217:30:217:35 | ... > ... | test.rs:217:17:217:35 | [boolean(false)] BreakExpr | false | -| test.rs:217:30:217:35 | ... > ... | test.rs:217:17:217:35 | [boolean(true)] BreakExpr | true | -| test.rs:217:34:217:35 | 10 | test.rs:217:30:217:35 | ... > ... | | -| test.rs:219:13:219:13 | a | test.rs:219:17:219:18 | 10 | | -| test.rs:219:13:219:18 | ... < ... | test.rs:215:26:220:9 | BlockExpr | | -| test.rs:219:13:219:19 | ExprStmt | test.rs:219:13:219:13 | a | | -| test.rs:219:17:219:18 | 10 | test.rs:219:13:219:18 | ... < ... | | -| test.rs:220:12:222:9 | BlockExpr | test.rs:215:9:224:9 | IfExpr | | -| test.rs:221:13:221:13 | 1 | test.rs:220:12:222:9 | BlockExpr | | -| test.rs:222:16:224:9 | BlockExpr | test.rs:215:9:224:9 | IfExpr | | -| test.rs:223:13:223:13 | 0 | test.rs:222:16:224:9 | BlockExpr | | -| test.rs:227:5:235:5 | enter test_labelled_block | test.rs:227:28:227:28 | a | | -| test.rs:227:5:235:5 | exit test_labelled_block (normal) | test.rs:227:5:235:5 | exit test_labelled_block | | -| test.rs:227:28:227:28 | a | test.rs:227:28:227:33 | Param | match | -| test.rs:227:28:227:33 | Param | test.rs:229:13:229:31 | ExprStmt | | -| test.rs:227:43:235:5 | BlockExpr | test.rs:227:5:235:5 | exit test_labelled_block (normal) | | -| test.rs:228:9:234:9 | IfExpr | test.rs:227:43:235:5 | BlockExpr | | -| test.rs:228:13:230:9 | [boolean(false)] BlockExpr | test.rs:233:13:233:13 | 0 | false | -| test.rs:228:13:230:9 | [boolean(true)] BlockExpr | test.rs:231:13:231:13 | 1 | true | -| test.rs:229:13:229:30 | [boolean(false)] BreakExpr | test.rs:228:13:230:9 | [boolean(false)] BlockExpr | break | -| test.rs:229:13:229:30 | [boolean(true)] BreakExpr | test.rs:228:13:230:9 | [boolean(true)] BlockExpr | break | -| test.rs:229:13:229:31 | ExprStmt | test.rs:229:26:229:26 | a | | -| test.rs:229:26:229:26 | a | test.rs:229:30:229:30 | 0 | | -| test.rs:229:26:229:30 | ... > ... | test.rs:229:13:229:30 | [boolean(false)] BreakExpr | false | -| test.rs:229:26:229:30 | ... > ... | test.rs:229:13:229:30 | [boolean(true)] BreakExpr | true | -| test.rs:229:30:229:30 | 0 | test.rs:229:26:229:30 | ... > ... | | -| test.rs:230:12:232:9 | BlockExpr | test.rs:228:9:234:9 | IfExpr | | -| test.rs:231:13:231:13 | 1 | test.rs:230:12:232:9 | BlockExpr | | -| test.rs:232:16:234:9 | BlockExpr | test.rs:228:9:234:9 | IfExpr | | -| test.rs:233:13:233:13 | 0 | test.rs:232:16:234:9 | BlockExpr | | -| test.rs:240:5:243:5 | enter test_and_operator | test.rs:240:26:240:26 | a | | -| test.rs:240:5:243:5 | exit test_and_operator (normal) | test.rs:240:5:243:5 | exit test_and_operator | | -| test.rs:240:26:240:26 | a | test.rs:240:26:240:32 | Param | match | -| test.rs:240:26:240:32 | Param | test.rs:240:35:240:35 | b | | -| test.rs:240:35:240:35 | b | test.rs:240:35:240:41 | Param | match | -| test.rs:240:35:240:41 | Param | test.rs:240:44:240:44 | c | | -| test.rs:240:44:240:44 | c | test.rs:240:44:240:50 | Param | match | -| test.rs:240:44:240:50 | Param | test.rs:241:9:241:28 | LetStmt | | -| test.rs:240:61:243:5 | BlockExpr | test.rs:240:5:243:5 | exit test_and_operator (normal) | | -| test.rs:241:9:241:28 | LetStmt | test.rs:241:17:241:17 | a | | -| test.rs:241:13:241:13 | d | test.rs:242:9:242:9 | d | match | -| test.rs:241:17:241:17 | a | test.rs:241:17:241:22 | [boolean(false)] ... && ... | false | -| test.rs:241:17:241:17 | a | test.rs:241:22:241:22 | b | true | -| test.rs:241:17:241:22 | [boolean(false)] ... && ... | test.rs:241:17:241:27 | ... && ... | false | -| test.rs:241:17:241:22 | [boolean(true)] ... && ... | test.rs:241:27:241:27 | c | true | -| test.rs:241:17:241:27 | ... && ... | test.rs:241:13:241:13 | d | | -| test.rs:241:22:241:22 | b | test.rs:241:17:241:22 | [boolean(false)] ... && ... | false | -| test.rs:241:22:241:22 | b | test.rs:241:17:241:22 | [boolean(true)] ... && ... | true | -| test.rs:241:27:241:27 | c | test.rs:241:17:241:27 | ... && ... | | -| test.rs:242:9:242:9 | d | test.rs:240:61:243:5 | BlockExpr | | -| test.rs:245:5:248:5 | enter test_or_operator | test.rs:245:25:245:25 | a | | -| test.rs:245:5:248:5 | exit test_or_operator (normal) | test.rs:245:5:248:5 | exit test_or_operator | | -| test.rs:245:25:245:25 | a | test.rs:245:25:245:31 | Param | match | -| test.rs:245:25:245:31 | Param | test.rs:245:34:245:34 | b | | -| test.rs:245:34:245:34 | b | test.rs:245:34:245:40 | Param | match | -| test.rs:245:34:245:40 | Param | test.rs:245:43:245:43 | c | | -| test.rs:245:43:245:43 | c | test.rs:245:43:245:49 | Param | match | -| test.rs:245:43:245:49 | Param | test.rs:246:9:246:28 | LetStmt | | -| test.rs:245:60:248:5 | BlockExpr | test.rs:245:5:248:5 | exit test_or_operator (normal) | | -| test.rs:246:9:246:28 | LetStmt | test.rs:246:17:246:17 | a | | -| test.rs:246:13:246:13 | d | test.rs:247:9:247:9 | d | match | -| test.rs:246:17:246:17 | a | test.rs:246:17:246:22 | [boolean(true)] ... \|\| ... | true | -| test.rs:246:17:246:17 | a | test.rs:246:22:246:22 | b | false | -| test.rs:246:17:246:22 | [boolean(false)] ... \|\| ... | test.rs:246:27:246:27 | c | false | -| test.rs:246:17:246:22 | [boolean(true)] ... \|\| ... | test.rs:246:17:246:27 | ... \|\| ... | true | -| test.rs:246:17:246:27 | ... \|\| ... | test.rs:246:13:246:13 | d | | -| test.rs:246:22:246:22 | b | test.rs:246:17:246:22 | [boolean(false)] ... \|\| ... | false | -| test.rs:246:22:246:22 | b | test.rs:246:17:246:22 | [boolean(true)] ... \|\| ... | true | -| test.rs:246:27:246:27 | c | test.rs:246:17:246:27 | ... \|\| ... | | -| test.rs:247:9:247:9 | d | test.rs:245:60:248:5 | BlockExpr | | -| test.rs:250:5:253:5 | enter test_or_operator_2 | test.rs:250:27:250:27 | a | | -| test.rs:250:5:253:5 | exit test_or_operator_2 (normal) | test.rs:250:5:253:5 | exit test_or_operator_2 | | -| test.rs:250:27:250:27 | a | test.rs:250:27:250:33 | Param | match | -| test.rs:250:27:250:33 | Param | test.rs:250:36:250:36 | b | | -| test.rs:250:36:250:36 | b | test.rs:250:36:250:41 | Param | match | -| test.rs:250:36:250:41 | Param | test.rs:250:44:250:44 | c | | -| test.rs:250:44:250:44 | c | test.rs:250:44:250:50 | Param | match | -| test.rs:250:44:250:50 | Param | test.rs:251:9:251:36 | LetStmt | | -| test.rs:250:61:253:5 | BlockExpr | test.rs:250:5:253:5 | exit test_or_operator_2 (normal) | | -| test.rs:251:9:251:36 | LetStmt | test.rs:251:17:251:17 | a | | -| test.rs:251:13:251:13 | d | test.rs:252:9:252:9 | d | match | -| test.rs:251:17:251:17 | a | test.rs:251:17:251:30 | [boolean(true)] ... \|\| ... | true | -| test.rs:251:17:251:17 | a | test.rs:251:23:251:23 | b | false | -| test.rs:251:17:251:30 | [boolean(false)] ... \|\| ... | test.rs:251:35:251:35 | c | false | -| test.rs:251:17:251:30 | [boolean(true)] ... \|\| ... | test.rs:251:17:251:35 | ... \|\| ... | true | -| test.rs:251:17:251:35 | ... \|\| ... | test.rs:251:13:251:13 | d | | -| test.rs:251:23:251:23 | b | test.rs:251:28:251:29 | 28 | | -| test.rs:251:23:251:29 | ... == ... | test.rs:251:17:251:30 | [boolean(false)] ... \|\| ... | false | -| test.rs:251:23:251:29 | ... == ... | test.rs:251:17:251:30 | [boolean(true)] ... \|\| ... | true | -| test.rs:251:28:251:29 | 28 | test.rs:251:23:251:29 | ... == ... | | -| test.rs:251:35:251:35 | c | test.rs:251:17:251:35 | ... \|\| ... | | -| test.rs:252:9:252:9 | d | test.rs:250:61:253:5 | BlockExpr | | -| test.rs:255:5:258:5 | enter test_not_operator | test.rs:255:26:255:26 | a | | -| test.rs:255:5:258:5 | exit test_not_operator (normal) | test.rs:255:5:258:5 | exit test_not_operator | | -| test.rs:255:26:255:26 | a | test.rs:255:26:255:32 | Param | match | -| test.rs:255:26:255:32 | Param | test.rs:256:9:256:19 | LetStmt | | -| test.rs:255:43:258:5 | BlockExpr | test.rs:255:5:258:5 | exit test_not_operator (normal) | | -| test.rs:256:9:256:19 | LetStmt | test.rs:256:18:256:18 | a | | -| test.rs:256:13:256:13 | d | test.rs:257:9:257:9 | d | match | -| test.rs:256:17:256:18 | ! ... | test.rs:256:13:256:13 | d | | -| test.rs:256:18:256:18 | a | test.rs:256:17:256:18 | ! ... | | -| test.rs:257:9:257:9 | d | test.rs:255:43:258:5 | BlockExpr | | -| test.rs:260:5:266:5 | enter test_if_and_operator | test.rs:260:29:260:29 | a | | -| test.rs:260:5:266:5 | exit test_if_and_operator (normal) | test.rs:260:5:266:5 | exit test_if_and_operator | | -| test.rs:260:29:260:29 | a | test.rs:260:29:260:35 | Param | match | -| test.rs:260:29:260:35 | Param | test.rs:260:38:260:38 | b | | -| test.rs:260:38:260:38 | b | test.rs:260:38:260:43 | Param | match | -| test.rs:260:38:260:43 | Param | test.rs:260:46:260:46 | c | | -| test.rs:260:46:260:46 | c | test.rs:260:46:260:52 | Param | match | -| test.rs:260:46:260:52 | Param | test.rs:261:12:261:12 | a | | -| test.rs:260:63:266:5 | BlockExpr | test.rs:260:5:266:5 | exit test_if_and_operator (normal) | | -| test.rs:261:9:265:9 | IfExpr | test.rs:260:63:266:5 | BlockExpr | | -| test.rs:261:12:261:12 | a | test.rs:261:12:261:17 | [boolean(false)] ... && ... | false | -| test.rs:261:12:261:12 | a | test.rs:261:17:261:17 | b | true | -| test.rs:261:12:261:17 | [boolean(false)] ... && ... | test.rs:261:12:261:22 | [boolean(false)] ... && ... | false | -| test.rs:261:12:261:17 | [boolean(true)] ... && ... | test.rs:261:22:261:22 | c | true | -| test.rs:261:12:261:22 | [boolean(false)] ... && ... | test.rs:264:13:264:17 | false | false | -| test.rs:261:12:261:22 | [boolean(true)] ... && ... | test.rs:262:13:262:16 | true | true | -| test.rs:261:17:261:17 | b | test.rs:261:12:261:17 | [boolean(false)] ... && ... | false | -| test.rs:261:17:261:17 | b | test.rs:261:12:261:17 | [boolean(true)] ... && ... | true | -| test.rs:261:22:261:22 | c | test.rs:261:12:261:22 | [boolean(false)] ... && ... | false | -| test.rs:261:22:261:22 | c | test.rs:261:12:261:22 | [boolean(true)] ... && ... | true | -| test.rs:261:24:263:9 | BlockExpr | test.rs:261:9:265:9 | IfExpr | | -| test.rs:262:13:262:16 | true | test.rs:261:24:263:9 | BlockExpr | | -| test.rs:263:16:265:9 | BlockExpr | test.rs:261:9:265:9 | IfExpr | | -| test.rs:264:13:264:17 | false | test.rs:263:16:265:9 | BlockExpr | | -| test.rs:268:5:274:5 | enter test_if_or_operator | test.rs:268:28:268:28 | a | | -| test.rs:268:5:274:5 | exit test_if_or_operator (normal) | test.rs:268:5:274:5 | exit test_if_or_operator | | -| test.rs:268:28:268:28 | a | test.rs:268:28:268:34 | Param | match | -| test.rs:268:28:268:34 | Param | test.rs:268:37:268:37 | b | | -| test.rs:268:37:268:37 | b | test.rs:268:37:268:42 | Param | match | -| test.rs:268:37:268:42 | Param | test.rs:268:45:268:45 | c | | -| test.rs:268:45:268:45 | c | test.rs:268:45:268:51 | Param | match | -| test.rs:268:45:268:51 | Param | test.rs:269:12:269:12 | a | | -| test.rs:268:62:274:5 | BlockExpr | test.rs:268:5:274:5 | exit test_if_or_operator (normal) | | -| test.rs:269:9:273:9 | IfExpr | test.rs:268:62:274:5 | BlockExpr | | -| test.rs:269:12:269:12 | a | test.rs:269:12:269:17 | [boolean(true)] ... \|\| ... | true | -| test.rs:269:12:269:12 | a | test.rs:269:17:269:17 | b | false | -| test.rs:269:12:269:17 | [boolean(false)] ... \|\| ... | test.rs:269:22:269:22 | c | false | -| test.rs:269:12:269:17 | [boolean(true)] ... \|\| ... | test.rs:269:12:269:22 | [boolean(true)] ... \|\| ... | true | -| test.rs:269:12:269:22 | [boolean(false)] ... \|\| ... | test.rs:272:13:272:17 | false | false | -| test.rs:269:12:269:22 | [boolean(true)] ... \|\| ... | test.rs:270:13:270:16 | true | true | -| test.rs:269:17:269:17 | b | test.rs:269:12:269:17 | [boolean(false)] ... \|\| ... | false | -| test.rs:269:17:269:17 | b | test.rs:269:12:269:17 | [boolean(true)] ... \|\| ... | true | -| test.rs:269:22:269:22 | c | test.rs:269:12:269:22 | [boolean(false)] ... \|\| ... | false | -| test.rs:269:22:269:22 | c | test.rs:269:12:269:22 | [boolean(true)] ... \|\| ... | true | -| test.rs:269:24:271:9 | BlockExpr | test.rs:269:9:273:9 | IfExpr | | -| test.rs:270:13:270:16 | true | test.rs:269:24:271:9 | BlockExpr | | -| test.rs:271:16:273:9 | BlockExpr | test.rs:269:9:273:9 | IfExpr | | -| test.rs:272:13:272:17 | false | test.rs:271:16:273:9 | BlockExpr | | -| test.rs:276:5:282:5 | enter test_if_not_operator | test.rs:276:29:276:29 | a | | -| test.rs:276:5:282:5 | exit test_if_not_operator (normal) | test.rs:276:5:282:5 | exit test_if_not_operator | | -| test.rs:276:29:276:29 | a | test.rs:276:29:276:35 | Param | match | -| test.rs:276:29:276:35 | Param | test.rs:277:13:277:13 | a | | -| test.rs:276:46:282:5 | BlockExpr | test.rs:276:5:282:5 | exit test_if_not_operator (normal) | | -| test.rs:277:9:281:9 | IfExpr | test.rs:276:46:282:5 | BlockExpr | | -| test.rs:277:12:277:13 | [boolean(false)] ! ... | test.rs:280:13:280:17 | false | false | -| test.rs:277:12:277:13 | [boolean(true)] ! ... | test.rs:278:13:278:16 | true | true | -| test.rs:277:13:277:13 | a | test.rs:277:12:277:13 | [boolean(false)] ! ... | true | -| test.rs:277:13:277:13 | a | test.rs:277:12:277:13 | [boolean(true)] ! ... | false | -| test.rs:277:15:279:9 | BlockExpr | test.rs:277:9:281:9 | IfExpr | | -| test.rs:278:13:278:16 | true | test.rs:277:15:279:9 | BlockExpr | | -| test.rs:279:16:281:9 | BlockExpr | test.rs:277:9:281:9 | IfExpr | | -| test.rs:280:13:280:17 | false | test.rs:279:16:281:9 | BlockExpr | | -| test.rs:284:5:286:5 | enter test_and_return | test.rs:284:24:284:24 | a | | -| test.rs:284:5:286:5 | exit test_and_return (normal) | test.rs:284:5:286:5 | exit test_and_return | | -| test.rs:284:24:284:24 | a | test.rs:284:24:284:30 | Param | match | -| test.rs:284:24:284:30 | Param | test.rs:285:9:285:20 | ExprStmt | | -| test.rs:284:33:286:5 | BlockExpr | test.rs:284:5:286:5 | exit test_and_return (normal) | | -| test.rs:285:9:285:9 | a | test.rs:285:9:285:19 | ... && ... | false | -| test.rs:285:9:285:9 | a | test.rs:285:14:285:19 | ReturnExpr | true | -| test.rs:285:9:285:19 | ... && ... | test.rs:284:33:286:5 | BlockExpr | | -| test.rs:285:9:285:20 | ExprStmt | test.rs:285:9:285:9 | a | | -| test.rs:285:14:285:19 | ReturnExpr | test.rs:284:5:286:5 | exit test_and_return (normal) | return | -| test.rs:291:5:293:5 | enter test_question_mark_operator_1 | test.rs:291:38:291:38 | s | | -| test.rs:291:5:293:5 | exit test_question_mark_operator_1 (normal) | test.rs:291:5:293:5 | exit test_question_mark_operator_1 | | -| test.rs:291:38:291:38 | s | test.rs:291:38:291:44 | Param | match | -| test.rs:291:38:291:44 | Param | test.rs:292:9:292:11 | str | | -| test.rs:291:62:293:5 | BlockExpr | test.rs:291:5:293:5 | exit test_question_mark_operator_1 (normal) | | -| test.rs:292:9:292:11 | str | test.rs:292:9:292:26 | ... .parse(...) | | -| test.rs:292:9:292:26 | ... .parse(...) | test.rs:292:9:292:27 | TryExpr | | -| test.rs:292:9:292:27 | TryExpr | test.rs:291:5:293:5 | exit test_question_mark_operator_1 (normal) | return | -| test.rs:292:9:292:27 | TryExpr | test.rs:292:31:292:31 | 4 | match | -| test.rs:292:9:292:31 | ... + ... | test.rs:291:62:293:5 | BlockExpr | | -| test.rs:292:31:292:31 | 4 | test.rs:292:9:292:31 | ... + ... | | -| test.rs:295:5:300:5 | enter test_question_mark_operator_2 | test.rs:295:38:295:38 | b | | -| test.rs:295:5:300:5 | exit test_question_mark_operator_2 (normal) | test.rs:295:5:300:5 | exit test_question_mark_operator_2 | | -| test.rs:295:38:295:38 | b | test.rs:295:38:295:52 | Param | match | -| test.rs:295:38:295:52 | Param | test.rs:296:15:296:15 | b | | -| test.rs:295:71:300:5 | BlockExpr | test.rs:295:5:300:5 | exit test_question_mark_operator_2 (normal) | | -| test.rs:296:9:299:9 | MatchExpr | test.rs:295:71:300:5 | BlockExpr | | -| test.rs:296:15:296:15 | b | test.rs:296:15:296:16 | TryExpr | | -| test.rs:296:15:296:16 | TryExpr | test.rs:295:5:300:5 | exit test_question_mark_operator_2 (normal) | return | -| test.rs:296:15:296:16 | TryExpr | test.rs:297:13:297:16 | true | match | -| test.rs:297:13:297:16 | LiteralPat | test.rs:297:21:297:24 | Some | match | -| test.rs:297:13:297:16 | LiteralPat | test.rs:298:13:298:17 | false | no-match | -| test.rs:297:13:297:16 | true | test.rs:297:13:297:16 | LiteralPat | | -| test.rs:297:21:297:24 | Some | test.rs:297:26:297:30 | false | | -| test.rs:297:21:297:31 | CallExpr | test.rs:296:9:299:9 | MatchExpr | | -| test.rs:297:26:297:30 | false | test.rs:297:21:297:31 | CallExpr | | -| test.rs:298:13:298:17 | LiteralPat | test.rs:298:22:298:25 | Some | match | -| test.rs:298:13:298:17 | false | test.rs:298:13:298:17 | LiteralPat | | -| test.rs:298:22:298:25 | Some | test.rs:298:27:298:30 | true | | -| test.rs:298:22:298:31 | CallExpr | test.rs:296:9:299:9 | MatchExpr | | -| test.rs:298:27:298:30 | true | test.rs:298:22:298:31 | CallExpr | | -| test.rs:305:5:311:5 | enter test_match | test.rs:305:19:305:29 | maybe_digit | | -| test.rs:305:5:311:5 | exit test_match (normal) | test.rs:305:5:311:5 | exit test_match | | -| test.rs:305:19:305:29 | maybe_digit | test.rs:305:19:305:42 | Param | match | -| test.rs:305:19:305:42 | Param | test.rs:306:15:306:25 | maybe_digit | | -| test.rs:305:52:311:5 | BlockExpr | test.rs:305:5:311:5 | exit test_match (normal) | | -| test.rs:306:9:310:9 | MatchExpr | test.rs:305:52:311:5 | BlockExpr | | -| test.rs:306:15:306:25 | maybe_digit | test.rs:307:13:307:27 | TupleStructPat | | -| test.rs:307:13:307:27 | TupleStructPat | test.rs:307:26:307:26 | x | match | -| test.rs:307:13:307:27 | TupleStructPat | test.rs:308:13:308:27 | TupleStructPat | no-match | -| test.rs:307:26:307:26 | x | test.rs:307:32:307:32 | x | match | -| test.rs:307:32:307:32 | x | test.rs:307:36:307:37 | 10 | | -| test.rs:307:32:307:37 | ... < ... | test.rs:307:42:307:42 | x | true | -| test.rs:307:32:307:37 | ... < ... | test.rs:308:13:308:27 | TupleStructPat | false | -| test.rs:307:36:307:37 | 10 | test.rs:307:32:307:37 | ... < ... | | -| test.rs:307:42:307:42 | x | test.rs:307:46:307:46 | 5 | | -| test.rs:307:42:307:46 | ... + ... | test.rs:306:9:310:9 | MatchExpr | | -| test.rs:307:46:307:46 | 5 | test.rs:307:42:307:46 | ... + ... | | -| test.rs:308:13:308:27 | TupleStructPat | test.rs:308:26:308:26 | x | match | -| test.rs:308:13:308:27 | TupleStructPat | test.rs:309:13:309:24 | PathPat | no-match | -| test.rs:308:26:308:26 | x | test.rs:308:32:308:32 | x | match | -| test.rs:308:32:308:32 | x | test.rs:306:9:310:9 | MatchExpr | | -| test.rs:309:13:309:24 | PathPat | test.rs:309:29:309:29 | 5 | match | -| test.rs:309:29:309:29 | 5 | test.rs:306:9:310:9 | MatchExpr | | -| test.rs:313:5:322:5 | enter test_match_with_return_in_scrutinee | test.rs:313:44:313:54 | maybe_digit | | -| test.rs:313:5:322:5 | exit test_match_with_return_in_scrutinee (normal) | test.rs:313:5:322:5 | exit test_match_with_return_in_scrutinee | | -| test.rs:313:44:313:54 | maybe_digit | test.rs:313:44:313:67 | Param | match | -| test.rs:313:44:313:67 | Param | test.rs:314:19:314:29 | maybe_digit | | -| test.rs:313:77:322:5 | BlockExpr | test.rs:313:5:322:5 | exit test_match_with_return_in_scrutinee (normal) | | -| test.rs:314:9:321:9 | MatchExpr | test.rs:313:77:322:5 | BlockExpr | | -| test.rs:314:16:318:9 | IfExpr | test.rs:319:13:319:27 | TupleStructPat | | -| test.rs:314:19:314:29 | maybe_digit | test.rs:314:34:314:37 | Some | | -| test.rs:314:19:314:40 | ... == ... | test.rs:315:13:315:21 | ExprStmt | true | -| test.rs:314:19:314:40 | ... == ... | test.rs:317:13:317:23 | maybe_digit | false | -| test.rs:314:34:314:37 | Some | test.rs:314:39:314:39 | 3 | | -| test.rs:314:34:314:40 | CallExpr | test.rs:314:19:314:40 | ... == ... | | -| test.rs:314:39:314:39 | 3 | test.rs:314:34:314:40 | CallExpr | | -| test.rs:315:13:315:20 | ReturnExpr | test.rs:313:5:322:5 | exit test_match_with_return_in_scrutinee (normal) | return | -| test.rs:315:13:315:21 | ExprStmt | test.rs:315:20:315:20 | 3 | | -| test.rs:315:20:315:20 | 3 | test.rs:315:13:315:20 | ReturnExpr | | -| test.rs:316:16:318:9 | BlockExpr | test.rs:314:16:318:9 | IfExpr | | -| test.rs:317:13:317:23 | maybe_digit | test.rs:316:16:318:9 | BlockExpr | | -| test.rs:319:13:319:27 | TupleStructPat | test.rs:319:26:319:26 | x | match | -| test.rs:319:13:319:27 | TupleStructPat | test.rs:320:13:320:24 | PathPat | no-match | -| test.rs:319:26:319:26 | x | test.rs:319:32:319:32 | x | match | -| test.rs:319:32:319:32 | x | test.rs:319:36:319:36 | 5 | | -| test.rs:319:32:319:36 | ... + ... | test.rs:314:9:321:9 | MatchExpr | | -| test.rs:319:36:319:36 | 5 | test.rs:319:32:319:36 | ... + ... | | -| test.rs:320:13:320:24 | PathPat | test.rs:320:29:320:29 | 5 | match | -| test.rs:320:29:320:29 | 5 | test.rs:314:9:321:9 | MatchExpr | | -| test.rs:324:5:329:5 | enter test_match_and | test.rs:324:23:324:26 | cond | | -| test.rs:324:5:329:5 | exit test_match_and (normal) | test.rs:324:5:329:5 | exit test_match_and | | -| test.rs:324:23:324:26 | cond | test.rs:324:23:324:32 | Param | match | -| test.rs:324:23:324:32 | Param | test.rs:324:35:324:35 | r | | -| test.rs:324:35:324:35 | r | test.rs:324:35:324:48 | Param | match | -| test.rs:324:35:324:48 | Param | test.rs:325:16:325:16 | r | | -| test.rs:324:59:329:5 | BlockExpr | test.rs:324:5:329:5 | exit test_match_and (normal) | | -| test.rs:325:9:328:18 | ... && ... | test.rs:324:59:329:5 | BlockExpr | | -| test.rs:325:10:328:9 | [boolean(false)] MatchExpr | test.rs:325:9:328:18 | ... && ... | false | -| test.rs:325:10:328:9 | [boolean(true)] MatchExpr | test.rs:328:15:328:18 | cond | true | -| test.rs:325:16:325:16 | r | test.rs:326:13:326:19 | TupleStructPat | | -| test.rs:326:13:326:19 | TupleStructPat | test.rs:326:18:326:18 | a | match | -| test.rs:326:13:326:19 | TupleStructPat | test.rs:327:13:327:13 | WildcardPat | no-match | -| test.rs:326:18:326:18 | a | test.rs:326:24:326:24 | a | match | -| test.rs:326:24:326:24 | a | test.rs:325:10:328:9 | [boolean(false)] MatchExpr | false | -| test.rs:326:24:326:24 | a | test.rs:325:10:328:9 | [boolean(true)] MatchExpr | true | -| test.rs:327:13:327:13 | WildcardPat | test.rs:327:18:327:22 | false | match | -| test.rs:327:18:327:22 | false | test.rs:325:10:328:9 | [boolean(false)] MatchExpr | false | -| test.rs:328:15:328:18 | cond | test.rs:325:9:328:18 | ... && ... | | -| test.rs:331:5:336:5 | enter test_match_with_no_arms | test.rs:331:35:331:35 | r | | -| test.rs:331:5:336:5 | exit test_match_with_no_arms (normal) | test.rs:331:5:336:5 | exit test_match_with_no_arms | | -| test.rs:331:35:331:35 | r | test.rs:331:35:331:58 | Param | match | -| test.rs:331:35:331:58 | Param | test.rs:332:15:332:15 | r | | -| test.rs:331:66:336:5 | BlockExpr | test.rs:331:5:336:5 | exit test_match_with_no_arms (normal) | | -| test.rs:332:9:335:9 | MatchExpr | test.rs:331:66:336:5 | BlockExpr | | -| test.rs:332:15:332:15 | r | test.rs:333:13:333:21 | TupleStructPat | | -| test.rs:333:13:333:21 | TupleStructPat | test.rs:333:16:333:20 | value | match | -| test.rs:333:13:333:21 | TupleStructPat | test.rs:334:13:334:22 | TupleStructPat | no-match | -| test.rs:333:16:333:20 | value | test.rs:333:26:333:30 | value | match | -| test.rs:333:26:333:30 | value | test.rs:332:9:335:9 | MatchExpr | | -| test.rs:334:13:334:22 | TupleStructPat | test.rs:334:17:334:21 | never | match | -| test.rs:334:17:334:21 | never | test.rs:334:33:334:37 | never | match | -| test.rs:334:27:334:40 | MatchExpr | test.rs:332:9:335:9 | MatchExpr | | -| test.rs:334:33:334:37 | never | test.rs:334:27:334:40 | MatchExpr | | -| test.rs:341:5:344:5 | enter test_let_match | test.rs:341:23:341:23 | a | | -| test.rs:341:5:344:5 | exit test_let_match (normal) | test.rs:341:5:344:5 | exit test_let_match | | -| test.rs:341:23:341:23 | a | test.rs:341:23:341:36 | Param | match | -| test.rs:341:23:341:36 | Param | test.rs:342:9:342:49 | LetStmt | | -| test.rs:341:39:344:5 | BlockExpr | test.rs:341:5:344:5 | exit test_let_match (normal) | | -| test.rs:342:9:342:49 | LetStmt | test.rs:342:23:342:23 | a | | -| test.rs:342:13:342:19 | TupleStructPat | test.rs:342:18:342:18 | n | match | -| test.rs:342:13:342:19 | TupleStructPat | test.rs:342:32:342:46 | "Expected some" | no-match | -| test.rs:342:18:342:18 | n | test.rs:343:9:343:9 | n | match | -| test.rs:342:23:342:23 | a | test.rs:342:13:342:19 | TupleStructPat | | -| test.rs:342:32:342:46 | "Expected some" | test.rs:342:30:342:48 | BlockExpr | | -| test.rs:343:9:343:9 | n | test.rs:341:39:344:5 | BlockExpr | | -| test.rs:346:5:352:5 | enter test_let_with_return | test.rs:346:29:346:29 | m | | -| test.rs:346:5:352:5 | exit test_let_with_return (normal) | test.rs:346:5:352:5 | exit test_let_with_return | | -| test.rs:346:29:346:29 | m | test.rs:346:29:346:42 | Param | match | -| test.rs:346:29:346:42 | Param | test.rs:347:9:350:10 | LetStmt | | -| test.rs:346:45:352:5 | BlockExpr | test.rs:346:5:352:5 | exit test_let_with_return (normal) | | -| test.rs:347:9:350:10 | LetStmt | test.rs:347:25:347:25 | m | | -| test.rs:347:13:347:15 | ret | test.rs:351:9:351:12 | true | match | -| test.rs:347:19:350:9 | MatchExpr | test.rs:347:13:347:15 | ret | | -| test.rs:347:25:347:25 | m | test.rs:348:13:348:21 | TupleStructPat | | -| test.rs:348:13:348:21 | TupleStructPat | test.rs:348:18:348:20 | ret | match | -| test.rs:348:13:348:21 | TupleStructPat | test.rs:349:13:349:16 | None | no-match | -| test.rs:348:18:348:20 | ret | test.rs:348:26:348:28 | ret | match | -| test.rs:348:26:348:28 | ret | test.rs:347:19:350:9 | MatchExpr | | -| test.rs:349:13:349:16 | None | test.rs:349:28:349:32 | false | match | -| test.rs:349:21:349:32 | ReturnExpr | test.rs:346:5:352:5 | exit test_let_with_return (normal) | return | -| test.rs:349:28:349:32 | false | test.rs:349:21:349:32 | ReturnExpr | | -| test.rs:351:9:351:12 | true | test.rs:346:45:352:5 | BlockExpr | | -| test.rs:357:5:360:5 | enter empty_tuple_pattern | test.rs:357:28:357:31 | unit | | -| test.rs:357:5:360:5 | exit empty_tuple_pattern (normal) | test.rs:357:5:360:5 | exit empty_tuple_pattern | | -| test.rs:357:28:357:31 | unit | test.rs:357:28:357:35 | Param | match | -| test.rs:357:28:357:35 | Param | test.rs:358:9:358:22 | LetStmt | | -| test.rs:358:9:358:22 | LetStmt | test.rs:358:18:358:21 | unit | | -| test.rs:358:13:358:14 | TuplePat | test.rs:359:9:359:15 | ExprStmt | match | -| test.rs:358:18:358:21 | unit | test.rs:358:13:358:14 | TuplePat | | -| test.rs:359:9:359:14 | ReturnExpr | test.rs:357:5:360:5 | exit empty_tuple_pattern (normal) | return | -| test.rs:359:9:359:15 | ExprStmt | test.rs:359:9:359:14 | ReturnExpr | | -| test.rs:364:5:368:5 | enter empty_struct_pattern | test.rs:364:29:364:30 | st | | -| test.rs:364:5:368:5 | exit empty_struct_pattern (normal) | test.rs:364:5:368:5 | exit empty_struct_pattern | | -| test.rs:364:29:364:30 | st | test.rs:364:29:364:40 | Param | match | -| test.rs:364:29:364:40 | Param | test.rs:365:15:365:16 | st | | -| test.rs:364:50:368:5 | BlockExpr | test.rs:364:5:368:5 | exit empty_struct_pattern (normal) | | -| test.rs:365:9:367:9 | MatchExpr | test.rs:364:50:368:5 | BlockExpr | | -| test.rs:365:15:365:16 | st | test.rs:366:13:366:23 | RecordPat | | -| test.rs:366:13:366:23 | RecordPat | test.rs:366:28:366:28 | 1 | match | -| test.rs:366:28:366:28 | 1 | test.rs:365:9:367:9 | MatchExpr | | -| test.rs:370:5:377:5 | enter range_pattern | test.rs:371:15:371:16 | 42 | | -| test.rs:370:5:377:5 | exit range_pattern (normal) | test.rs:370:5:377:5 | exit range_pattern | | -| test.rs:370:31:377:5 | BlockExpr | test.rs:370:5:377:5 | exit range_pattern (normal) | | -| test.rs:371:9:376:9 | MatchExpr | test.rs:370:31:377:5 | BlockExpr | | -| test.rs:371:15:371:16 | 42 | test.rs:372:13:372:15 | RangePat | | -| test.rs:372:13:372:15 | RangePat | test.rs:372:15:372:15 | 0 | match | -| test.rs:372:13:372:15 | RangePat | test.rs:373:13:373:16 | RangePat | no-match | -| test.rs:372:15:372:15 | 0 | test.rs:372:15:372:15 | LiteralPat | | -| test.rs:372:15:372:15 | LiteralPat | test.rs:372:20:372:20 | 1 | match | -| test.rs:372:15:372:15 | LiteralPat | test.rs:373:13:373:16 | RangePat | no-match | -| test.rs:372:20:372:20 | 1 | test.rs:371:9:376:9 | MatchExpr | | -| test.rs:373:13:373:13 | 1 | test.rs:373:13:373:13 | LiteralPat | | -| test.rs:373:13:373:13 | LiteralPat | test.rs:373:16:373:16 | 2 | match | -| test.rs:373:13:373:13 | LiteralPat | test.rs:374:13:374:15 | RangePat | no-match | -| test.rs:373:13:373:16 | RangePat | test.rs:373:13:373:13 | 1 | match | -| test.rs:373:13:373:16 | RangePat | test.rs:374:13:374:15 | RangePat | no-match | -| test.rs:373:16:373:16 | 2 | test.rs:373:16:373:16 | LiteralPat | | -| test.rs:373:16:373:16 | LiteralPat | test.rs:373:21:373:21 | 2 | match | -| test.rs:373:16:373:16 | LiteralPat | test.rs:374:13:374:15 | RangePat | no-match | -| test.rs:373:21:373:21 | 2 | test.rs:371:9:376:9 | MatchExpr | | -| test.rs:374:13:374:13 | 5 | test.rs:374:13:374:13 | LiteralPat | | -| test.rs:374:13:374:13 | LiteralPat | test.rs:374:20:374:20 | 3 | match | -| test.rs:374:13:374:13 | LiteralPat | test.rs:375:13:375:14 | RestPat | no-match | -| test.rs:374:13:374:15 | RangePat | test.rs:374:13:374:13 | 5 | match | -| test.rs:374:13:374:15 | RangePat | test.rs:375:13:375:14 | RestPat | no-match | -| test.rs:374:20:374:20 | 3 | test.rs:371:9:376:9 | MatchExpr | | -| test.rs:375:13:375:14 | RestPat | test.rs:375:19:375:19 | 4 | match | -| test.rs:375:19:375:19 | 4 | test.rs:371:9:376:9 | MatchExpr | | -| test.rs:381:5:386:5 | enter test_infinite_loop | test.rs:382:9:384:9 | ExprStmt | | -| test.rs:382:9:384:9 | ExprStmt | test.rs:383:13:383:13 | 1 | | -| test.rs:382:14:384:9 | BlockExpr | test.rs:383:13:383:13 | 1 | | -| test.rs:383:13:383:13 | 1 | test.rs:382:14:384:9 | BlockExpr | | -| test.rs:390:5:392:5 | enter say_hello | test.rs:391:9:391:34 | ExprStmt | | -| test.rs:390:5:392:5 | exit say_hello (normal) | test.rs:390:5:392:5 | exit say_hello | | -| test.rs:390:26:392:5 | BlockExpr | test.rs:390:5:392:5 | exit say_hello (normal) | | -| test.rs:391:9:391:33 | $crate::io::_print | test.rs:391:18:391:32 | "hello, world!\\n" | | -| test.rs:391:9:391:33 | MacroExpr | test.rs:390:26:392:5 | BlockExpr | | -| test.rs:391:9:391:34 | ExprStmt | test.rs:391:18:391:32 | MacroStmts | | -| test.rs:391:18:391:32 | "hello, world!\\n" | test.rs:391:18:391:32 | FormatArgsExpr | | -| test.rs:391:18:391:32 | BlockExpr | test.rs:391:9:391:33 | MacroExpr | | -| test.rs:391:18:391:32 | CallExpr | test.rs:391:18:391:32 | BlockExpr | | -| test.rs:391:18:391:32 | ExprStmt | test.rs:391:9:391:33 | $crate::io::_print | | -| test.rs:391:18:391:32 | FormatArgsExpr | test.rs:391:18:391:32 | MacroExpr | | -| test.rs:391:18:391:32 | MacroExpr | test.rs:391:18:391:32 | CallExpr | | -| test.rs:391:18:391:32 | MacroStmts | test.rs:391:18:391:32 | ExprStmt | | -| test.rs:394:5:406:5 | enter async_block | test.rs:395:9:397:10 | LetStmt | | -| test.rs:394:5:406:5 | exit async_block (normal) | test.rs:394:5:406:5 | exit async_block | | -| test.rs:394:28:406:5 | BlockExpr | test.rs:394:5:406:5 | exit async_block (normal) | | -| test.rs:395:9:397:10 | LetStmt | test.rs:395:26:397:9 | BlockExpr | | -| test.rs:395:13:395:22 | say_godbye | test.rs:398:9:400:10 | LetStmt | match | -| test.rs:395:26:397:9 | BlockExpr | test.rs:395:13:395:22 | say_godbye | | -| test.rs:395:26:397:9 | enter BlockExpr | test.rs:396:13:396:42 | ExprStmt | | -| test.rs:395:26:397:9 | exit BlockExpr (normal) | test.rs:395:26:397:9 | exit BlockExpr | | -| test.rs:396:13:396:41 | $crate::io::_print | test.rs:396:22:396:40 | "godbye, everyone!\\n" | | -| test.rs:396:13:396:41 | MacroExpr | test.rs:395:26:397:9 | exit BlockExpr (normal) | | -| test.rs:396:13:396:42 | ExprStmt | test.rs:396:22:396:40 | MacroStmts | | -| test.rs:396:22:396:40 | "godbye, everyone!\\n" | test.rs:396:22:396:40 | FormatArgsExpr | | -| test.rs:396:22:396:40 | BlockExpr | test.rs:396:13:396:41 | MacroExpr | | -| test.rs:396:22:396:40 | CallExpr | test.rs:396:22:396:40 | BlockExpr | | -| test.rs:396:22:396:40 | ExprStmt | test.rs:396:13:396:41 | $crate::io::_print | | -| test.rs:396:22:396:40 | FormatArgsExpr | test.rs:396:22:396:40 | MacroExpr | | -| test.rs:396:22:396:40 | MacroExpr | test.rs:396:22:396:40 | CallExpr | | -| test.rs:396:22:396:40 | MacroStmts | test.rs:396:22:396:40 | ExprStmt | | -| test.rs:398:9:400:10 | LetStmt | test.rs:398:31:400:9 | BlockExpr | | -| test.rs:398:13:398:27 | say_how_are_you | test.rs:401:9:401:28 | LetStmt | match | -| test.rs:398:31:400:9 | BlockExpr | test.rs:398:13:398:27 | say_how_are_you | | -| test.rs:398:31:400:9 | enter BlockExpr | test.rs:399:13:399:37 | ExprStmt | | -| test.rs:398:31:400:9 | exit BlockExpr (normal) | test.rs:398:31:400:9 | exit BlockExpr | | -| test.rs:399:13:399:36 | $crate::io::_print | test.rs:399:22:399:35 | "how are you?\\n" | | -| test.rs:399:13:399:36 | MacroExpr | test.rs:398:31:400:9 | exit BlockExpr (normal) | | -| test.rs:399:13:399:37 | ExprStmt | test.rs:399:22:399:35 | MacroStmts | | -| test.rs:399:22:399:35 | "how are you?\\n" | test.rs:399:22:399:35 | FormatArgsExpr | | -| test.rs:399:22:399:35 | BlockExpr | test.rs:399:13:399:36 | MacroExpr | | -| test.rs:399:22:399:35 | CallExpr | test.rs:399:22:399:35 | BlockExpr | | -| test.rs:399:22:399:35 | ExprStmt | test.rs:399:13:399:36 | $crate::io::_print | | -| test.rs:399:22:399:35 | FormatArgsExpr | test.rs:399:22:399:35 | MacroExpr | | -| test.rs:399:22:399:35 | MacroExpr | test.rs:399:22:399:35 | CallExpr | | -| test.rs:399:22:399:35 | MacroStmts | test.rs:399:22:399:35 | ExprStmt | | -| test.rs:401:9:401:28 | LetStmt | test.rs:401:20:401:27 | BlockExpr | | -| test.rs:401:13:401:16 | noop | test.rs:402:9:402:26 | ExprStmt | match | -| test.rs:401:20:401:27 | BlockExpr | test.rs:401:13:401:16 | noop | | -| test.rs:402:9:402:17 | say_hello | test.rs:402:9:402:19 | CallExpr | | -| test.rs:402:9:402:19 | CallExpr | test.rs:402:9:402:25 | AwaitExpr | | -| test.rs:402:9:402:25 | AwaitExpr | test.rs:403:9:403:30 | ExprStmt | | -| test.rs:402:9:402:26 | ExprStmt | test.rs:402:9:402:17 | say_hello | | -| test.rs:403:9:403:23 | say_how_are_you | test.rs:403:9:403:29 | AwaitExpr | | -| test.rs:403:9:403:29 | AwaitExpr | test.rs:404:9:404:25 | ExprStmt | | -| test.rs:403:9:403:30 | ExprStmt | test.rs:403:9:403:23 | say_how_are_you | | -| test.rs:404:9:404:18 | say_godbye | test.rs:404:9:404:24 | AwaitExpr | | -| test.rs:404:9:404:24 | AwaitExpr | test.rs:405:9:405:19 | ExprStmt | | -| test.rs:404:9:404:25 | ExprStmt | test.rs:404:9:404:18 | say_godbye | | -| test.rs:405:9:405:12 | noop | test.rs:405:9:405:18 | AwaitExpr | | -| test.rs:405:9:405:18 | AwaitExpr | test.rs:394:28:406:5 | BlockExpr | | -| test.rs:405:9:405:19 | ExprStmt | test.rs:405:9:405:12 | noop | | -| test.rs:412:5:414:5 | enter add_two | test.rs:412:22:412:22 | n | | -| test.rs:412:5:414:5 | exit add_two (normal) | test.rs:412:5:414:5 | exit add_two | | -| test.rs:412:22:412:22 | n | test.rs:412:22:412:27 | Param | match | -| test.rs:412:22:412:27 | Param | test.rs:413:9:413:9 | n | | -| test.rs:412:37:414:5 | BlockExpr | test.rs:412:5:414:5 | exit add_two (normal) | | -| test.rs:413:9:413:9 | n | test.rs:413:13:413:13 | 2 | | -| test.rs:413:9:413:13 | ... + ... | test.rs:412:37:414:5 | BlockExpr | | -| test.rs:413:13:413:13 | 2 | test.rs:413:9:413:13 | ... + ... | | -| test.rs:418:5:426:5 | enter const_block_assert | test.rs:421:9:423:9 | ExprStmt | | -| test.rs:418:5:426:5 | exit const_block_assert (normal) | test.rs:418:5:426:5 | exit const_block_assert | | -| test.rs:418:41:426:5 | BlockExpr | test.rs:418:5:426:5 | exit const_block_assert (normal) | | -| test.rs:421:9:423:9 | BlockExpr | test.rs:425:9:425:10 | 42 | | -| test.rs:421:9:423:9 | ExprStmt | test.rs:422:13:422:50 | ExprStmt | | -| test.rs:422:13:422:49 | $crate::panicking::panic_explicit | test.rs:422:13:422:49 | CallExpr | | -| test.rs:422:13:422:49 | BlockExpr | test.rs:422:13:422:49 | MacroExpr | | -| test.rs:422:13:422:49 | BlockExpr | test.rs:422:13:422:49 | exit panic_cold_explicit (normal) | | -| test.rs:422:13:422:49 | BlockExpr | test.rs:422:21:422:48 | IfExpr | | -| test.rs:422:13:422:49 | CallExpr | test.rs:422:13:422:49 | BlockExpr | | -| test.rs:422:13:422:49 | CallExpr | test.rs:422:13:422:49 | BlockExpr | | -| test.rs:422:13:422:49 | ExprStmt | test.rs:422:13:422:49 | MacroStmts | | -| test.rs:422:13:422:49 | ExprStmt | test.rs:422:13:422:49 | panic_cold_explicit | | -| test.rs:422:13:422:49 | MacroExpr | test.rs:421:9:423:9 | BlockExpr | | -| test.rs:422:13:422:49 | MacroExpr | test.rs:422:13:422:49 | BlockExpr | | -| test.rs:422:13:422:49 | MacroStmts | test.rs:422:13:422:49 | panic_cold_explicit | | -| test.rs:422:13:422:49 | enter panic_cold_explicit | test.rs:422:13:422:49 | $crate::panicking::panic_explicit | | -| test.rs:422:13:422:49 | exit panic_cold_explicit (normal) | test.rs:422:13:422:49 | exit panic_cold_explicit | | -| test.rs:422:13:422:49 | panic_cold_explicit | test.rs:422:13:422:49 | CallExpr | | -| test.rs:422:13:422:49 | panic_cold_explicit | test.rs:422:13:422:49 | ExprStmt | | -| test.rs:422:13:422:50 | ExprStmt | test.rs:422:21:422:48 | MacroStmts | | -| test.rs:422:21:422:42 | std::mem::size_of::<...> | test.rs:422:21:422:44 | CallExpr | | -| test.rs:422:21:422:44 | CallExpr | test.rs:422:48:422:48 | 0 | | -| test.rs:422:21:422:48 | ... > ... | test.rs:422:21:422:48 | [boolean(false)] ! ... | true | -| test.rs:422:21:422:48 | ... > ... | test.rs:422:21:422:48 | [boolean(true)] ! ... | false | -| test.rs:422:21:422:48 | BlockExpr | test.rs:422:13:422:49 | MacroExpr | | -| test.rs:422:21:422:48 | IfExpr | test.rs:422:21:422:48 | BlockExpr | | -| test.rs:422:21:422:48 | MacroStmts | test.rs:422:21:422:42 | std::mem::size_of::<...> | | -| test.rs:422:21:422:48 | [boolean(false)] ! ... | test.rs:422:21:422:48 | IfExpr | false | -| test.rs:422:21:422:48 | [boolean(true)] ! ... | test.rs:422:13:422:49 | ExprStmt | true | -| test.rs:422:48:422:48 | 0 | test.rs:422:21:422:48 | ... > ... | | -| test.rs:425:9:425:10 | 42 | test.rs:418:41:426:5 | BlockExpr | | -| test.rs:428:5:437:5 | enter const_block_panic | test.rs:429:9:429:30 | Const | | -| test.rs:428:5:437:5 | exit const_block_panic (normal) | test.rs:428:5:437:5 | exit const_block_panic | | -| test.rs:428:35:437:5 | BlockExpr | test.rs:428:5:437:5 | exit const_block_panic (normal) | | -| test.rs:429:9:429:30 | Const | test.rs:430:9:435:9 | ExprStmt | | -| test.rs:430:9:435:9 | ExprStmt | test.rs:430:12:430:16 | false | | -| test.rs:430:9:435:9 | IfExpr | test.rs:436:9:436:9 | N | | -| test.rs:430:12:430:16 | false | test.rs:430:9:435:9 | IfExpr | false | -| test.rs:433:17:433:24 | $crate::panicking::panic_explicit | test.rs:433:17:433:24 | CallExpr | | -| test.rs:433:17:433:24 | BlockExpr | test.rs:433:17:433:24 | exit panic_cold_explicit (normal) | | -| test.rs:433:17:433:24 | CallExpr | test.rs:433:17:433:24 | BlockExpr | | -| test.rs:433:17:433:24 | enter panic_cold_explicit | test.rs:433:17:433:24 | $crate::panicking::panic_explicit | | -| test.rs:433:17:433:24 | exit panic_cold_explicit (normal) | test.rs:433:17:433:24 | exit panic_cold_explicit | | -| test.rs:436:9:436:9 | N | test.rs:428:35:437:5 | BlockExpr | | -| test.rs:440:1:445:1 | enter dead_code | test.rs:441:5:443:5 | ExprStmt | | -| test.rs:440:1:445:1 | exit dead_code (normal) | test.rs:440:1:445:1 | exit dead_code | | -| test.rs:441:5:443:5 | ExprStmt | test.rs:441:9:441:12 | true | | -| test.rs:441:9:441:12 | true | test.rs:442:9:442:17 | ExprStmt | true | -| test.rs:442:9:442:16 | ReturnExpr | test.rs:440:1:445:1 | exit dead_code (normal) | return | -| test.rs:442:9:442:17 | ExprStmt | test.rs:442:16:442:16 | 0 | | -| test.rs:442:16:442:16 | 0 | test.rs:442:9:442:16 | ReturnExpr | | -| test.rs:447:1:460:1 | enter labelled_block1 | test.rs:448:5:459:6 | LetStmt | | -| test.rs:447:1:460:1 | exit labelled_block1 (normal) | test.rs:447:1:460:1 | exit labelled_block1 | | -| test.rs:447:29:460:1 | BlockExpr | test.rs:447:1:460:1 | exit labelled_block1 (normal) | | -| test.rs:448:5:459:6 | LetStmt | test.rs:449:9:449:19 | ExprStmt | | -| test.rs:448:9:448:14 | result | test.rs:447:29:460:1 | BlockExpr | match | -| test.rs:448:18:459:5 | BlockExpr | test.rs:448:9:448:14 | result | | -| test.rs:449:9:449:16 | do_thing | test.rs:449:9:449:18 | CallExpr | | -| test.rs:449:9:449:18 | CallExpr | test.rs:450:9:452:9 | ExprStmt | | -| test.rs:449:9:449:19 | ExprStmt | test.rs:449:9:449:16 | do_thing | | -| test.rs:450:9:452:9 | ExprStmt | test.rs:450:12:450:28 | condition_not_met | | -| test.rs:450:9:452:9 | IfExpr | test.rs:453:9:453:24 | ExprStmt | | -| test.rs:450:12:450:28 | condition_not_met | test.rs:450:12:450:30 | CallExpr | | -| test.rs:450:12:450:30 | CallExpr | test.rs:450:9:452:9 | IfExpr | false | -| test.rs:450:12:450:30 | CallExpr | test.rs:451:13:451:27 | ExprStmt | true | -| test.rs:451:13:451:26 | BreakExpr | test.rs:448:18:459:5 | BlockExpr | break | -| test.rs:451:13:451:27 | ExprStmt | test.rs:451:26:451:26 | 1 | | -| test.rs:451:26:451:26 | 1 | test.rs:451:13:451:26 | BreakExpr | | -| test.rs:453:9:453:21 | do_next_thing | test.rs:453:9:453:23 | CallExpr | | -| test.rs:453:9:453:23 | CallExpr | test.rs:454:9:456:9 | ExprStmt | | -| test.rs:453:9:453:24 | ExprStmt | test.rs:453:9:453:21 | do_next_thing | | -| test.rs:454:9:456:9 | ExprStmt | test.rs:454:12:454:28 | condition_not_met | | -| test.rs:454:9:456:9 | IfExpr | test.rs:457:9:457:24 | ExprStmt | | -| test.rs:454:12:454:28 | condition_not_met | test.rs:454:12:454:30 | CallExpr | | -| test.rs:454:12:454:30 | CallExpr | test.rs:454:9:456:9 | IfExpr | false | -| test.rs:454:12:454:30 | CallExpr | test.rs:455:13:455:27 | ExprStmt | true | -| test.rs:455:13:455:26 | BreakExpr | test.rs:448:18:459:5 | BlockExpr | break | -| test.rs:455:13:455:27 | ExprStmt | test.rs:455:26:455:26 | 2 | | -| test.rs:455:26:455:26 | 2 | test.rs:455:13:455:26 | BreakExpr | | -| test.rs:457:9:457:21 | do_last_thing | test.rs:457:9:457:23 | CallExpr | | -| test.rs:457:9:457:23 | CallExpr | test.rs:458:9:458:9 | 3 | | -| test.rs:457:9:457:24 | ExprStmt | test.rs:457:9:457:21 | do_last_thing | | -| test.rs:458:9:458:9 | 3 | test.rs:448:18:459:5 | BlockExpr | | -| test.rs:462:1:470:1 | enter labelled_block2 | test.rs:463:5:469:6 | LetStmt | | -| test.rs:462:1:470:1 | exit labelled_block2 (normal) | test.rs:462:1:470:1 | exit labelled_block2 | | -| test.rs:462:29:470:1 | BlockExpr | test.rs:462:1:470:1 | exit labelled_block2 (normal) | | -| test.rs:463:5:469:6 | LetStmt | test.rs:464:9:464:34 | LetStmt | | -| test.rs:463:9:463:14 | result | test.rs:462:29:470:1 | BlockExpr | match | -| test.rs:463:18:469:5 | BlockExpr | test.rs:463:9:463:14 | result | | -| test.rs:464:9:464:34 | LetStmt | test.rs:464:30:464:33 | None | | -| test.rs:464:13:464:13 | x | test.rs:465:9:467:10 | LetStmt | match | -| test.rs:464:30:464:33 | None | test.rs:464:13:464:13 | x | | -| test.rs:465:9:467:10 | LetStmt | test.rs:465:23:465:23 | x | | -| test.rs:465:13:465:19 | TupleStructPat | test.rs:465:18:465:18 | y | match | -| test.rs:465:13:465:19 | TupleStructPat | test.rs:466:13:466:27 | ExprStmt | no-match | -| test.rs:465:18:465:18 | y | test.rs:468:9:468:9 | x | match | -| test.rs:465:23:465:23 | x | test.rs:465:13:465:19 | TupleStructPat | | -| test.rs:466:13:466:26 | BreakExpr | test.rs:463:18:469:5 | BlockExpr | break | -| test.rs:466:13:466:27 | ExprStmt | test.rs:466:26:466:26 | 1 | | -| test.rs:466:26:466:26 | 1 | test.rs:466:13:466:26 | BreakExpr | | -| test.rs:468:9:468:9 | x | test.rs:463:18:469:5 | BlockExpr | | -| test.rs:472:1:478:1 | enter test_nested_function | test.rs:473:5:473:18 | LetStmt | | -| test.rs:472:1:478:1 | exit test_nested_function (normal) | test.rs:472:1:478:1 | exit test_nested_function | | -| test.rs:472:27:478:1 | BlockExpr | test.rs:472:1:478:1 | exit test_nested_function (normal) | | -| test.rs:473:5:473:18 | LetStmt | test.rs:473:17:473:17 | 0 | | -| test.rs:473:9:473:13 | x | test.rs:474:5:476:5 | nested | match | -| test.rs:473:17:473:17 | 0 | test.rs:473:9:473:13 | x | | -| test.rs:474:5:476:5 | enter nested | test.rs:474:15:474:15 | x | | -| test.rs:474:5:476:5 | exit nested (normal) | test.rs:474:5:476:5 | exit nested | | -| test.rs:474:5:476:5 | nested | test.rs:477:5:477:19 | ExprStmt | | -| test.rs:474:15:474:15 | x | test.rs:474:15:474:25 | Param | match | -| test.rs:474:15:474:25 | Param | test.rs:475:9:475:16 | ExprStmt | | -| test.rs:474:28:476:5 | BlockExpr | test.rs:474:5:476:5 | exit nested (normal) | | -| test.rs:475:9:475:10 | * ... | test.rs:475:15:475:15 | 1 | | -| test.rs:475:9:475:15 | ... += ... | test.rs:474:28:476:5 | BlockExpr | | -| test.rs:475:9:475:16 | ExprStmt | test.rs:475:10:475:10 | x | | -| test.rs:475:10:475:10 | x | test.rs:475:9:475:10 | * ... | | -| test.rs:475:15:475:15 | 1 | test.rs:475:9:475:15 | ... += ... | | -| test.rs:477:5:477:10 | nested | test.rs:477:17:477:17 | x | | -| test.rs:477:5:477:18 | CallExpr | test.rs:472:27:478:1 | BlockExpr | | -| test.rs:477:5:477:19 | ExprStmt | test.rs:477:5:477:10 | nested | | -| test.rs:477:12:477:17 | RefExpr | test.rs:477:5:477:18 | CallExpr | | -| test.rs:477:17:477:17 | x | test.rs:477:12:477:17 | RefExpr | | +| test.rs:140:16:142:9 | BlockExpr | test.rs:138:9:142:9 | IfExpr | | +| test.rs:141:13:141:13 | 0 | test.rs:140:16:142:9 | BlockExpr | | +| test.rs:145:5:150:5 | enter test_if_let | test.rs:145:20:145:20 | a | | +| test.rs:145:5:150:5 | exit test_if_let (normal) | test.rs:145:5:150:5 | exit test_if_let | | +| test.rs:145:20:145:20 | a | test.rs:145:20:145:33 | Param | match | +| test.rs:145:20:145:33 | Param | test.rs:146:9:148:9 | ExprStmt | | +| test.rs:145:43:150:5 | BlockExpr | test.rs:145:5:150:5 | exit test_if_let (normal) | | +| test.rs:146:9:148:9 | ExprStmt | test.rs:146:12:146:26 | LetExpr | | +| test.rs:146:9:148:9 | IfExpr | test.rs:149:9:149:9 | 0 | | +| test.rs:146:12:146:26 | LetExpr | test.rs:146:26:146:26 | a | | +| test.rs:146:16:146:22 | TupleStructPat | test.rs:146:9:148:9 | IfExpr | no-match | +| test.rs:146:16:146:22 | TupleStructPat | test.rs:146:21:146:21 | n | match | +| test.rs:146:21:146:21 | n | test.rs:147:13:147:21 | ExprStmt | match | +| test.rs:146:26:146:26 | a | test.rs:146:16:146:22 | TupleStructPat | | +| test.rs:147:13:147:20 | ReturnExpr | test.rs:145:5:150:5 | exit test_if_let (normal) | return | +| test.rs:147:13:147:21 | ExprStmt | test.rs:147:20:147:20 | n | | +| test.rs:147:20:147:20 | n | test.rs:147:13:147:20 | ReturnExpr | | +| test.rs:149:9:149:9 | 0 | test.rs:145:43:150:5 | BlockExpr | | +| test.rs:152:5:158:5 | enter test_nested_if | test.rs:152:23:152:23 | a | | +| test.rs:152:5:158:5 | exit test_nested_if (normal) | test.rs:152:5:158:5 | exit test_nested_if | | +| test.rs:152:23:152:23 | a | test.rs:152:23:152:28 | Param | match | +| test.rs:152:23:152:28 | Param | test.rs:153:16:153:16 | a | | +| test.rs:152:38:158:5 | BlockExpr | test.rs:152:5:158:5 | exit test_nested_if (normal) | | +| test.rs:153:9:157:9 | IfExpr | test.rs:152:38:158:5 | BlockExpr | | +| test.rs:153:13:153:48 | [boolean(false)] IfExpr | test.rs:156:13:156:13 | 0 | false | +| test.rs:153:13:153:48 | [boolean(true)] IfExpr | test.rs:154:13:154:13 | 1 | true | +| test.rs:153:16:153:16 | a | test.rs:153:20:153:20 | 0 | | +| test.rs:153:16:153:20 | ... < ... | test.rs:153:24:153:24 | a | true | +| test.rs:153:16:153:20 | ... < ... | test.rs:153:41:153:41 | a | false | +| test.rs:153:20:153:20 | 0 | test.rs:153:16:153:20 | ... < ... | | +| test.rs:153:22:153:32 | [boolean(false)] BlockExpr | test.rs:153:13:153:48 | [boolean(false)] IfExpr | false | +| test.rs:153:22:153:32 | [boolean(true)] BlockExpr | test.rs:153:13:153:48 | [boolean(true)] IfExpr | true | +| test.rs:153:24:153:24 | a | test.rs:153:29:153:30 | 10 | | +| test.rs:153:24:153:30 | ... < ... | test.rs:153:22:153:32 | [boolean(false)] BlockExpr | false | +| test.rs:153:24:153:30 | ... < ... | test.rs:153:22:153:32 | [boolean(true)] BlockExpr | true | +| test.rs:153:28:153:30 | - ... | test.rs:153:24:153:30 | ... < ... | | +| test.rs:153:29:153:30 | 10 | test.rs:153:28:153:30 | - ... | | +| test.rs:153:39:153:48 | [boolean(false)] BlockExpr | test.rs:153:13:153:48 | [boolean(false)] IfExpr | false | +| test.rs:153:39:153:48 | [boolean(true)] BlockExpr | test.rs:153:13:153:48 | [boolean(true)] IfExpr | true | +| test.rs:153:41:153:41 | a | test.rs:153:45:153:46 | 10 | | +| test.rs:153:41:153:46 | ... > ... | test.rs:153:39:153:48 | [boolean(false)] BlockExpr | false | +| test.rs:153:41:153:46 | ... > ... | test.rs:153:39:153:48 | [boolean(true)] BlockExpr | true | +| test.rs:153:45:153:46 | 10 | test.rs:153:41:153:46 | ... > ... | | +| test.rs:153:51:155:9 | BlockExpr | test.rs:153:9:157:9 | IfExpr | | +| test.rs:154:13:154:13 | 1 | test.rs:153:51:155:9 | BlockExpr | | +| test.rs:155:16:157:9 | BlockExpr | test.rs:153:9:157:9 | IfExpr | | +| test.rs:156:13:156:13 | 0 | test.rs:155:16:157:9 | BlockExpr | | +| test.rs:160:5:169:5 | enter test_nested_if_match | test.rs:160:29:160:29 | a | | +| test.rs:160:5:169:5 | exit test_nested_if_match (normal) | test.rs:160:5:169:5 | exit test_nested_if_match | | +| test.rs:160:29:160:29 | a | test.rs:160:29:160:34 | Param | match | +| test.rs:160:29:160:34 | Param | test.rs:161:19:161:19 | a | | +| test.rs:160:44:169:5 | BlockExpr | test.rs:160:5:169:5 | exit test_nested_if_match (normal) | | +| test.rs:161:9:168:9 | IfExpr | test.rs:160:44:169:5 | BlockExpr | | +| test.rs:161:13:164:9 | [boolean(false)] MatchExpr | test.rs:167:13:167:13 | 0 | false | +| test.rs:161:13:164:9 | [boolean(true)] MatchExpr | test.rs:165:13:165:13 | 1 | true | +| test.rs:161:19:161:19 | a | test.rs:162:13:162:13 | 0 | | +| test.rs:162:13:162:13 | 0 | test.rs:162:13:162:13 | LiteralPat | | +| test.rs:162:13:162:13 | LiteralPat | test.rs:162:18:162:21 | true | match | +| test.rs:162:13:162:13 | LiteralPat | test.rs:163:13:163:13 | WildcardPat | no-match | +| test.rs:162:18:162:21 | true | test.rs:161:13:164:9 | [boolean(true)] MatchExpr | true | +| test.rs:163:13:163:13 | WildcardPat | test.rs:163:18:163:22 | false | match | +| test.rs:163:18:163:22 | false | test.rs:161:13:164:9 | [boolean(false)] MatchExpr | false | +| test.rs:164:12:166:9 | BlockExpr | test.rs:161:9:168:9 | IfExpr | | +| test.rs:165:13:165:13 | 1 | test.rs:164:12:166:9 | BlockExpr | | +| test.rs:166:16:168:9 | BlockExpr | test.rs:161:9:168:9 | IfExpr | | +| test.rs:167:13:167:13 | 0 | test.rs:166:16:168:9 | BlockExpr | | +| test.rs:171:5:180:5 | enter test_nested_if_block | test.rs:171:29:171:29 | a | | +| test.rs:171:5:180:5 | exit test_nested_if_block (normal) | test.rs:171:5:180:5 | exit test_nested_if_block | | +| test.rs:171:29:171:29 | a | test.rs:171:29:171:34 | Param | match | +| test.rs:171:29:171:34 | Param | test.rs:173:13:173:15 | ExprStmt | | +| test.rs:171:44:180:5 | BlockExpr | test.rs:171:5:180:5 | exit test_nested_if_block (normal) | | +| test.rs:172:9:179:9 | IfExpr | test.rs:171:44:180:5 | BlockExpr | | +| test.rs:172:12:175:9 | [boolean(false)] BlockExpr | test.rs:178:13:178:13 | 0 | false | +| test.rs:172:12:175:9 | [boolean(true)] BlockExpr | test.rs:176:13:176:13 | 1 | true | +| test.rs:173:13:173:14 | TupleExpr | test.rs:174:13:174:13 | a | | +| test.rs:173:13:173:15 | ExprStmt | test.rs:173:13:173:14 | TupleExpr | | +| test.rs:174:13:174:13 | a | test.rs:174:17:174:17 | 0 | | +| test.rs:174:13:174:17 | ... > ... | test.rs:172:12:175:9 | [boolean(false)] BlockExpr | false | +| test.rs:174:13:174:17 | ... > ... | test.rs:172:12:175:9 | [boolean(true)] BlockExpr | true | +| test.rs:174:17:174:17 | 0 | test.rs:174:13:174:17 | ... > ... | | +| test.rs:175:11:177:9 | BlockExpr | test.rs:172:9:179:9 | IfExpr | | +| test.rs:176:13:176:13 | 1 | test.rs:175:11:177:9 | BlockExpr | | +| test.rs:177:16:179:9 | BlockExpr | test.rs:172:9:179:9 | IfExpr | | +| test.rs:178:13:178:13 | 0 | test.rs:177:16:179:9 | BlockExpr | | +| test.rs:182:5:192:5 | enter test_if_assignment | test.rs:182:27:182:27 | a | | +| test.rs:182:5:192:5 | exit test_if_assignment (normal) | test.rs:182:5:192:5 | exit test_if_assignment | | +| test.rs:182:27:182:27 | a | test.rs:182:27:182:32 | Param | match | +| test.rs:182:27:182:32 | Param | test.rs:183:9:183:26 | LetStmt | | +| test.rs:182:42:192:5 | BlockExpr | test.rs:182:5:192:5 | exit test_if_assignment (normal) | | +| test.rs:183:9:183:26 | LetStmt | test.rs:183:21:183:25 | false | | +| test.rs:183:13:183:17 | x | test.rs:185:13:185:21 | ExprStmt | match | +| test.rs:183:21:183:25 | false | test.rs:183:13:183:17 | x | | +| test.rs:184:9:191:9 | IfExpr | test.rs:182:42:192:5 | BlockExpr | | +| test.rs:184:12:187:9 | [boolean(false)] BlockExpr | test.rs:190:13:190:13 | 0 | false | +| test.rs:184:12:187:9 | [boolean(true)] BlockExpr | test.rs:188:13:188:13 | 1 | true | +| test.rs:185:13:185:13 | x | test.rs:185:17:185:20 | true | | +| test.rs:185:13:185:20 | ... = ... | test.rs:186:13:186:13 | x | | +| test.rs:185:13:185:21 | ExprStmt | test.rs:185:13:185:13 | x | | +| test.rs:185:17:185:20 | true | test.rs:185:13:185:20 | ... = ... | | +| test.rs:186:13:186:13 | x | test.rs:184:12:187:9 | [boolean(false)] BlockExpr | false | +| test.rs:186:13:186:13 | x | test.rs:184:12:187:9 | [boolean(true)] BlockExpr | true | +| test.rs:187:11:189:9 | BlockExpr | test.rs:184:9:191:9 | IfExpr | | +| test.rs:188:13:188:13 | 1 | test.rs:187:11:189:9 | BlockExpr | | +| test.rs:189:16:191:9 | BlockExpr | test.rs:184:9:191:9 | IfExpr | | +| test.rs:190:13:190:13 | 0 | test.rs:189:16:191:9 | BlockExpr | | +| test.rs:194:5:205:5 | enter test_if_loop1 | test.rs:194:22:194:22 | a | | +| test.rs:194:5:205:5 | exit test_if_loop1 (normal) | test.rs:194:5:205:5 | exit test_if_loop1 | | +| test.rs:194:22:194:22 | a | test.rs:194:22:194:27 | Param | match | +| test.rs:194:22:194:27 | Param | test.rs:196:13:198:14 | ExprStmt | | +| test.rs:194:37:205:5 | BlockExpr | test.rs:194:5:205:5 | exit test_if_loop1 (normal) | | +| test.rs:195:9:204:9 | IfExpr | test.rs:194:37:205:5 | BlockExpr | | +| test.rs:195:13:200:9 | [boolean(false)] LoopExpr | test.rs:203:13:203:13 | 0 | false | +| test.rs:195:13:200:9 | [boolean(true)] LoopExpr | test.rs:201:13:201:13 | 1 | true | +| test.rs:195:18:200:9 | BlockExpr | test.rs:196:13:198:14 | ExprStmt | | +| test.rs:196:13:198:13 | IfExpr | test.rs:199:13:199:19 | ExprStmt | | +| test.rs:196:13:198:14 | ExprStmt | test.rs:196:16:196:16 | a | | +| test.rs:196:16:196:16 | a | test.rs:196:20:196:20 | 0 | | +| test.rs:196:16:196:20 | ... > ... | test.rs:196:13:198:13 | IfExpr | false | +| test.rs:196:16:196:20 | ... > ... | test.rs:197:17:197:29 | ExprStmt | true | +| test.rs:196:20:196:20 | 0 | test.rs:196:16:196:20 | ... > ... | | +| test.rs:197:17:197:28 | [boolean(false)] BreakExpr | test.rs:195:13:200:9 | [boolean(false)] LoopExpr | break | +| test.rs:197:17:197:28 | [boolean(true)] BreakExpr | test.rs:195:13:200:9 | [boolean(true)] LoopExpr | break | +| test.rs:197:17:197:29 | ExprStmt | test.rs:197:23:197:23 | a | | +| test.rs:197:23:197:23 | a | test.rs:197:27:197:28 | 10 | | +| test.rs:197:23:197:28 | ... > ... | test.rs:197:17:197:28 | [boolean(false)] BreakExpr | false | +| test.rs:197:23:197:28 | ... > ... | test.rs:197:17:197:28 | [boolean(true)] BreakExpr | true | +| test.rs:197:27:197:28 | 10 | test.rs:197:23:197:28 | ... > ... | | +| test.rs:199:13:199:13 | a | test.rs:199:17:199:18 | 10 | | +| test.rs:199:13:199:18 | ... < ... | test.rs:195:18:200:9 | BlockExpr | | +| test.rs:199:13:199:19 | ExprStmt | test.rs:199:13:199:13 | a | | +| test.rs:199:17:199:18 | 10 | test.rs:199:13:199:18 | ... < ... | | +| test.rs:200:12:202:9 | BlockExpr | test.rs:195:9:204:9 | IfExpr | | +| test.rs:201:13:201:13 | 1 | test.rs:200:12:202:9 | BlockExpr | | +| test.rs:202:16:204:9 | BlockExpr | test.rs:195:9:204:9 | IfExpr | | +| test.rs:203:13:203:13 | 0 | test.rs:202:16:204:9 | BlockExpr | | +| test.rs:207:5:218:5 | enter test_if_loop2 | test.rs:207:22:207:22 | a | | +| test.rs:207:5:218:5 | exit test_if_loop2 (normal) | test.rs:207:5:218:5 | exit test_if_loop2 | | +| test.rs:207:22:207:22 | a | test.rs:207:22:207:27 | Param | match | +| test.rs:207:22:207:27 | Param | test.rs:209:13:211:14 | ExprStmt | | +| test.rs:207:37:218:5 | BlockExpr | test.rs:207:5:218:5 | exit test_if_loop2 (normal) | | +| test.rs:208:9:217:9 | IfExpr | test.rs:207:37:218:5 | BlockExpr | | +| test.rs:208:13:213:9 | [boolean(false)] LoopExpr | test.rs:216:13:216:13 | 0 | false | +| test.rs:208:13:213:9 | [boolean(true)] LoopExpr | test.rs:214:13:214:13 | 1 | true | +| test.rs:208:26:213:9 | BlockExpr | test.rs:209:13:211:14 | ExprStmt | | +| test.rs:209:13:211:13 | IfExpr | test.rs:212:13:212:19 | ExprStmt | | +| test.rs:209:13:211:14 | ExprStmt | test.rs:209:16:209:16 | a | | +| test.rs:209:16:209:16 | a | test.rs:209:20:209:20 | 0 | | +| test.rs:209:16:209:20 | ... > ... | test.rs:209:13:211:13 | IfExpr | false | +| test.rs:209:16:209:20 | ... > ... | test.rs:210:17:210:36 | ExprStmt | true | +| test.rs:209:20:209:20 | 0 | test.rs:209:16:209:20 | ... > ... | | +| test.rs:210:17:210:35 | [boolean(false)] BreakExpr | test.rs:208:13:213:9 | [boolean(false)] LoopExpr | break | +| test.rs:210:17:210:35 | [boolean(true)] BreakExpr | test.rs:208:13:213:9 | [boolean(true)] LoopExpr | break | +| test.rs:210:17:210:36 | ExprStmt | test.rs:210:30:210:30 | a | | +| test.rs:210:30:210:30 | a | test.rs:210:34:210:35 | 10 | | +| test.rs:210:30:210:35 | ... > ... | test.rs:210:17:210:35 | [boolean(false)] BreakExpr | false | +| test.rs:210:30:210:35 | ... > ... | test.rs:210:17:210:35 | [boolean(true)] BreakExpr | true | +| test.rs:210:34:210:35 | 10 | test.rs:210:30:210:35 | ... > ... | | +| test.rs:212:13:212:13 | a | test.rs:212:17:212:18 | 10 | | +| test.rs:212:13:212:18 | ... < ... | test.rs:208:26:213:9 | BlockExpr | | +| test.rs:212:13:212:19 | ExprStmt | test.rs:212:13:212:13 | a | | +| test.rs:212:17:212:18 | 10 | test.rs:212:13:212:18 | ... < ... | | +| test.rs:213:12:215:9 | BlockExpr | test.rs:208:9:217:9 | IfExpr | | +| test.rs:214:13:214:13 | 1 | test.rs:213:12:215:9 | BlockExpr | | +| test.rs:215:16:217:9 | BlockExpr | test.rs:208:9:217:9 | IfExpr | | +| test.rs:216:13:216:13 | 0 | test.rs:215:16:217:9 | BlockExpr | | +| test.rs:220:5:228:5 | enter test_labelled_block | test.rs:220:28:220:28 | a | | +| test.rs:220:5:228:5 | exit test_labelled_block (normal) | test.rs:220:5:228:5 | exit test_labelled_block | | +| test.rs:220:28:220:28 | a | test.rs:220:28:220:33 | Param | match | +| test.rs:220:28:220:33 | Param | test.rs:222:13:222:31 | ExprStmt | | +| test.rs:220:43:228:5 | BlockExpr | test.rs:220:5:228:5 | exit test_labelled_block (normal) | | +| test.rs:221:9:227:9 | IfExpr | test.rs:220:43:228:5 | BlockExpr | | +| test.rs:221:13:223:9 | [boolean(false)] BlockExpr | test.rs:226:13:226:13 | 0 | false | +| test.rs:221:13:223:9 | [boolean(true)] BlockExpr | test.rs:224:13:224:13 | 1 | true | +| test.rs:222:13:222:30 | [boolean(false)] BreakExpr | test.rs:221:13:223:9 | [boolean(false)] BlockExpr | break | +| test.rs:222:13:222:30 | [boolean(true)] BreakExpr | test.rs:221:13:223:9 | [boolean(true)] BlockExpr | break | +| test.rs:222:13:222:31 | ExprStmt | test.rs:222:26:222:26 | a | | +| test.rs:222:26:222:26 | a | test.rs:222:30:222:30 | 0 | | +| test.rs:222:26:222:30 | ... > ... | test.rs:222:13:222:30 | [boolean(false)] BreakExpr | false | +| test.rs:222:26:222:30 | ... > ... | test.rs:222:13:222:30 | [boolean(true)] BreakExpr | true | +| test.rs:222:30:222:30 | 0 | test.rs:222:26:222:30 | ... > ... | | +| test.rs:223:12:225:9 | BlockExpr | test.rs:221:9:227:9 | IfExpr | | +| test.rs:224:13:224:13 | 1 | test.rs:223:12:225:9 | BlockExpr | | +| test.rs:225:16:227:9 | BlockExpr | test.rs:221:9:227:9 | IfExpr | | +| test.rs:226:13:226:13 | 0 | test.rs:225:16:227:9 | BlockExpr | | +| test.rs:233:5:236:5 | enter test_and_operator | test.rs:233:30:233:30 | a | | +| test.rs:233:5:236:5 | exit test_and_operator (normal) | test.rs:233:5:236:5 | exit test_and_operator | | +| test.rs:233:30:233:30 | a | test.rs:233:30:233:36 | Param | match | +| test.rs:233:30:233:36 | Param | test.rs:233:39:233:39 | b | | +| test.rs:233:39:233:39 | b | test.rs:233:39:233:45 | Param | match | +| test.rs:233:39:233:45 | Param | test.rs:233:48:233:48 | c | | +| test.rs:233:48:233:48 | c | test.rs:233:48:233:54 | Param | match | +| test.rs:233:48:233:54 | Param | test.rs:234:9:234:28 | LetStmt | | +| test.rs:233:65:236:5 | BlockExpr | test.rs:233:5:236:5 | exit test_and_operator (normal) | | +| test.rs:234:9:234:28 | LetStmt | test.rs:234:17:234:17 | a | | +| test.rs:234:13:234:13 | d | test.rs:235:9:235:9 | d | match | +| test.rs:234:17:234:17 | a | test.rs:234:17:234:22 | [boolean(false)] ... && ... | false | +| test.rs:234:17:234:17 | a | test.rs:234:22:234:22 | b | true | +| test.rs:234:17:234:22 | [boolean(false)] ... && ... | test.rs:234:17:234:27 | ... && ... | false | +| test.rs:234:17:234:22 | [boolean(true)] ... && ... | test.rs:234:27:234:27 | c | true | +| test.rs:234:17:234:27 | ... && ... | test.rs:234:13:234:13 | d | | +| test.rs:234:22:234:22 | b | test.rs:234:17:234:22 | [boolean(false)] ... && ... | false | +| test.rs:234:22:234:22 | b | test.rs:234:17:234:22 | [boolean(true)] ... && ... | true | +| test.rs:234:27:234:27 | c | test.rs:234:17:234:27 | ... && ... | | +| test.rs:235:9:235:9 | d | test.rs:233:65:236:5 | BlockExpr | | +| test.rs:238:5:241:5 | enter test_or_operator | test.rs:238:25:238:25 | a | | +| test.rs:238:5:241:5 | exit test_or_operator (normal) | test.rs:238:5:241:5 | exit test_or_operator | | +| test.rs:238:25:238:25 | a | test.rs:238:25:238:31 | Param | match | +| test.rs:238:25:238:31 | Param | test.rs:238:34:238:34 | b | | +| test.rs:238:34:238:34 | b | test.rs:238:34:238:40 | Param | match | +| test.rs:238:34:238:40 | Param | test.rs:238:43:238:43 | c | | +| test.rs:238:43:238:43 | c | test.rs:238:43:238:49 | Param | match | +| test.rs:238:43:238:49 | Param | test.rs:239:9:239:28 | LetStmt | | +| test.rs:238:60:241:5 | BlockExpr | test.rs:238:5:241:5 | exit test_or_operator (normal) | | +| test.rs:239:9:239:28 | LetStmt | test.rs:239:17:239:17 | a | | +| test.rs:239:13:239:13 | d | test.rs:240:9:240:9 | d | match | +| test.rs:239:17:239:17 | a | test.rs:239:17:239:22 | [boolean(true)] ... \|\| ... | true | +| test.rs:239:17:239:17 | a | test.rs:239:22:239:22 | b | false | +| test.rs:239:17:239:22 | [boolean(false)] ... \|\| ... | test.rs:239:27:239:27 | c | false | +| test.rs:239:17:239:22 | [boolean(true)] ... \|\| ... | test.rs:239:17:239:27 | ... \|\| ... | true | +| test.rs:239:17:239:27 | ... \|\| ... | test.rs:239:13:239:13 | d | | +| test.rs:239:22:239:22 | b | test.rs:239:17:239:22 | [boolean(false)] ... \|\| ... | false | +| test.rs:239:22:239:22 | b | test.rs:239:17:239:22 | [boolean(true)] ... \|\| ... | true | +| test.rs:239:27:239:27 | c | test.rs:239:17:239:27 | ... \|\| ... | | +| test.rs:240:9:240:9 | d | test.rs:238:60:241:5 | BlockExpr | | +| test.rs:243:5:246:5 | enter test_or_operator_2 | test.rs:243:27:243:27 | a | | +| test.rs:243:5:246:5 | exit test_or_operator_2 (normal) | test.rs:243:5:246:5 | exit test_or_operator_2 | | +| test.rs:243:27:243:27 | a | test.rs:243:27:243:33 | Param | match | +| test.rs:243:27:243:33 | Param | test.rs:243:36:243:36 | b | | +| test.rs:243:36:243:36 | b | test.rs:243:36:243:41 | Param | match | +| test.rs:243:36:243:41 | Param | test.rs:243:44:243:44 | c | | +| test.rs:243:44:243:44 | c | test.rs:243:44:243:50 | Param | match | +| test.rs:243:44:243:50 | Param | test.rs:244:9:244:36 | LetStmt | | +| test.rs:243:61:246:5 | BlockExpr | test.rs:243:5:246:5 | exit test_or_operator_2 (normal) | | +| test.rs:244:9:244:36 | LetStmt | test.rs:244:17:244:17 | a | | +| test.rs:244:13:244:13 | d | test.rs:245:9:245:9 | d | match | +| test.rs:244:17:244:17 | a | test.rs:244:17:244:30 | [boolean(true)] ... \|\| ... | true | +| test.rs:244:17:244:17 | a | test.rs:244:23:244:23 | b | false | +| test.rs:244:17:244:30 | [boolean(false)] ... \|\| ... | test.rs:244:35:244:35 | c | false | +| test.rs:244:17:244:30 | [boolean(true)] ... \|\| ... | test.rs:244:17:244:35 | ... \|\| ... | true | +| test.rs:244:17:244:35 | ... \|\| ... | test.rs:244:13:244:13 | d | | +| test.rs:244:23:244:23 | b | test.rs:244:28:244:29 | 28 | | +| test.rs:244:23:244:29 | ... == ... | test.rs:244:17:244:30 | [boolean(false)] ... \|\| ... | false | +| test.rs:244:23:244:29 | ... == ... | test.rs:244:17:244:30 | [boolean(true)] ... \|\| ... | true | +| test.rs:244:28:244:29 | 28 | test.rs:244:23:244:29 | ... == ... | | +| test.rs:244:35:244:35 | c | test.rs:244:17:244:35 | ... \|\| ... | | +| test.rs:245:9:245:9 | d | test.rs:243:61:246:5 | BlockExpr | | +| test.rs:248:5:251:5 | enter test_not_operator | test.rs:248:26:248:26 | a | | +| test.rs:248:5:251:5 | exit test_not_operator (normal) | test.rs:248:5:251:5 | exit test_not_operator | | +| test.rs:248:26:248:26 | a | test.rs:248:26:248:32 | Param | match | +| test.rs:248:26:248:32 | Param | test.rs:249:9:249:19 | LetStmt | | +| test.rs:248:43:251:5 | BlockExpr | test.rs:248:5:251:5 | exit test_not_operator (normal) | | +| test.rs:249:9:249:19 | LetStmt | test.rs:249:18:249:18 | a | | +| test.rs:249:13:249:13 | d | test.rs:250:9:250:9 | d | match | +| test.rs:249:17:249:18 | ! ... | test.rs:249:13:249:13 | d | | +| test.rs:249:18:249:18 | a | test.rs:249:17:249:18 | ! ... | | +| test.rs:250:9:250:9 | d | test.rs:248:43:251:5 | BlockExpr | | +| test.rs:253:5:259:5 | enter test_if_and_operator | test.rs:253:29:253:29 | a | | +| test.rs:253:5:259:5 | exit test_if_and_operator (normal) | test.rs:253:5:259:5 | exit test_if_and_operator | | +| test.rs:253:29:253:29 | a | test.rs:253:29:253:35 | Param | match | +| test.rs:253:29:253:35 | Param | test.rs:253:38:253:38 | b | | +| test.rs:253:38:253:38 | b | test.rs:253:38:253:44 | Param | match | +| test.rs:253:38:253:44 | Param | test.rs:253:47:253:47 | c | | +| test.rs:253:47:253:47 | c | test.rs:253:47:253:53 | Param | match | +| test.rs:253:47:253:53 | Param | test.rs:254:12:254:12 | a | | +| test.rs:253:64:259:5 | BlockExpr | test.rs:253:5:259:5 | exit test_if_and_operator (normal) | | +| test.rs:254:9:258:9 | IfExpr | test.rs:253:64:259:5 | BlockExpr | | +| test.rs:254:12:254:12 | a | test.rs:254:12:254:17 | [boolean(false)] ... && ... | false | +| test.rs:254:12:254:12 | a | test.rs:254:17:254:17 | b | true | +| test.rs:254:12:254:17 | [boolean(false)] ... && ... | test.rs:254:12:254:22 | [boolean(false)] ... && ... | false | +| test.rs:254:12:254:17 | [boolean(true)] ... && ... | test.rs:254:22:254:22 | c | true | +| test.rs:254:12:254:22 | [boolean(false)] ... && ... | test.rs:257:13:257:17 | false | false | +| test.rs:254:12:254:22 | [boolean(true)] ... && ... | test.rs:255:13:255:16 | true | true | +| test.rs:254:17:254:17 | b | test.rs:254:12:254:17 | [boolean(false)] ... && ... | false | +| test.rs:254:17:254:17 | b | test.rs:254:12:254:17 | [boolean(true)] ... && ... | true | +| test.rs:254:22:254:22 | c | test.rs:254:12:254:22 | [boolean(false)] ... && ... | false | +| test.rs:254:22:254:22 | c | test.rs:254:12:254:22 | [boolean(true)] ... && ... | true | +| test.rs:254:24:256:9 | BlockExpr | test.rs:254:9:258:9 | IfExpr | | +| test.rs:255:13:255:16 | true | test.rs:254:24:256:9 | BlockExpr | | +| test.rs:256:16:258:9 | BlockExpr | test.rs:254:9:258:9 | IfExpr | | +| test.rs:257:13:257:17 | false | test.rs:256:16:258:9 | BlockExpr | | +| test.rs:261:5:267:5 | enter test_if_or_operator | test.rs:261:28:261:28 | a | | +| test.rs:261:5:267:5 | exit test_if_or_operator (normal) | test.rs:261:5:267:5 | exit test_if_or_operator | | +| test.rs:261:28:261:28 | a | test.rs:261:28:261:34 | Param | match | +| test.rs:261:28:261:34 | Param | test.rs:261:37:261:37 | b | | +| test.rs:261:37:261:37 | b | test.rs:261:37:261:43 | Param | match | +| test.rs:261:37:261:43 | Param | test.rs:261:46:261:46 | c | | +| test.rs:261:46:261:46 | c | test.rs:261:46:261:52 | Param | match | +| test.rs:261:46:261:52 | Param | test.rs:262:12:262:12 | a | | +| test.rs:261:63:267:5 | BlockExpr | test.rs:261:5:267:5 | exit test_if_or_operator (normal) | | +| test.rs:262:9:266:9 | IfExpr | test.rs:261:63:267:5 | BlockExpr | | +| test.rs:262:12:262:12 | a | test.rs:262:12:262:17 | [boolean(true)] ... \|\| ... | true | +| test.rs:262:12:262:12 | a | test.rs:262:17:262:17 | b | false | +| test.rs:262:12:262:17 | [boolean(false)] ... \|\| ... | test.rs:262:22:262:22 | c | false | +| test.rs:262:12:262:17 | [boolean(true)] ... \|\| ... | test.rs:262:12:262:22 | [boolean(true)] ... \|\| ... | true | +| test.rs:262:12:262:22 | [boolean(false)] ... \|\| ... | test.rs:265:13:265:17 | false | false | +| test.rs:262:12:262:22 | [boolean(true)] ... \|\| ... | test.rs:263:13:263:16 | true | true | +| test.rs:262:17:262:17 | b | test.rs:262:12:262:17 | [boolean(false)] ... \|\| ... | false | +| test.rs:262:17:262:17 | b | test.rs:262:12:262:17 | [boolean(true)] ... \|\| ... | true | +| test.rs:262:22:262:22 | c | test.rs:262:12:262:22 | [boolean(false)] ... \|\| ... | false | +| test.rs:262:22:262:22 | c | test.rs:262:12:262:22 | [boolean(true)] ... \|\| ... | true | +| test.rs:262:24:264:9 | BlockExpr | test.rs:262:9:266:9 | IfExpr | | +| test.rs:263:13:263:16 | true | test.rs:262:24:264:9 | BlockExpr | | +| test.rs:264:16:266:9 | BlockExpr | test.rs:262:9:266:9 | IfExpr | | +| test.rs:265:13:265:17 | false | test.rs:264:16:266:9 | BlockExpr | | +| test.rs:269:5:275:5 | enter test_if_not_operator | test.rs:269:29:269:29 | a | | +| test.rs:269:5:275:5 | exit test_if_not_operator (normal) | test.rs:269:5:275:5 | exit test_if_not_operator | | +| test.rs:269:29:269:29 | a | test.rs:269:29:269:35 | Param | match | +| test.rs:269:29:269:35 | Param | test.rs:270:13:270:13 | a | | +| test.rs:269:46:275:5 | BlockExpr | test.rs:269:5:275:5 | exit test_if_not_operator (normal) | | +| test.rs:270:9:274:9 | IfExpr | test.rs:269:46:275:5 | BlockExpr | | +| test.rs:270:12:270:13 | [boolean(false)] ! ... | test.rs:273:13:273:17 | false | false | +| test.rs:270:12:270:13 | [boolean(true)] ! ... | test.rs:271:13:271:16 | true | true | +| test.rs:270:13:270:13 | a | test.rs:270:12:270:13 | [boolean(false)] ! ... | true | +| test.rs:270:13:270:13 | a | test.rs:270:12:270:13 | [boolean(true)] ! ... | false | +| test.rs:270:15:272:9 | BlockExpr | test.rs:270:9:274:9 | IfExpr | | +| test.rs:271:13:271:16 | true | test.rs:270:15:272:9 | BlockExpr | | +| test.rs:272:16:274:9 | BlockExpr | test.rs:270:9:274:9 | IfExpr | | +| test.rs:273:13:273:17 | false | test.rs:272:16:274:9 | BlockExpr | | +| test.rs:277:5:279:5 | enter test_and_return | test.rs:277:24:277:24 | a | | +| test.rs:277:5:279:5 | exit test_and_return (normal) | test.rs:277:5:279:5 | exit test_and_return | | +| test.rs:277:24:277:24 | a | test.rs:277:24:277:30 | Param | match | +| test.rs:277:24:277:30 | Param | test.rs:278:9:278:20 | ExprStmt | | +| test.rs:277:33:279:5 | BlockExpr | test.rs:277:5:279:5 | exit test_and_return (normal) | | +| test.rs:278:9:278:9 | a | test.rs:278:9:278:19 | ... && ... | false | +| test.rs:278:9:278:9 | a | test.rs:278:14:278:19 | ReturnExpr | true | +| test.rs:278:9:278:19 | ... && ... | test.rs:277:33:279:5 | BlockExpr | | +| test.rs:278:9:278:20 | ExprStmt | test.rs:278:9:278:9 | a | | +| test.rs:278:14:278:19 | ReturnExpr | test.rs:277:5:279:5 | exit test_and_return (normal) | return | +| test.rs:285:5:287:5 | enter test_question_mark_operator_1 | test.rs:285:38:285:38 | s | | +| test.rs:285:5:287:5 | exit test_question_mark_operator_1 (normal) | test.rs:285:5:287:5 | exit test_question_mark_operator_1 | | +| test.rs:285:38:285:38 | s | test.rs:285:38:285:44 | Param | match | +| test.rs:285:38:285:44 | Param | test.rs:286:9:286:10 | Ok | | +| test.rs:285:87:287:5 | BlockExpr | test.rs:285:5:287:5 | exit test_question_mark_operator_1 (normal) | | +| test.rs:286:9:286:10 | Ok | test.rs:286:12:286:12 | s | | +| test.rs:286:9:286:33 | CallExpr | test.rs:285:87:287:5 | BlockExpr | | +| test.rs:286:12:286:12 | s | test.rs:286:12:286:27 | ... .parse(...) | | +| test.rs:286:12:286:27 | ... .parse(...) | test.rs:286:12:286:28 | TryExpr | | +| test.rs:286:12:286:28 | TryExpr | test.rs:285:5:287:5 | exit test_question_mark_operator_1 (normal) | return | +| test.rs:286:12:286:28 | TryExpr | test.rs:286:32:286:32 | 4 | match | +| test.rs:286:12:286:32 | ... + ... | test.rs:286:9:286:33 | CallExpr | | +| test.rs:286:32:286:32 | 4 | test.rs:286:12:286:32 | ... + ... | | +| test.rs:289:5:294:5 | enter test_question_mark_operator_2 | test.rs:289:38:289:38 | b | | +| test.rs:289:5:294:5 | exit test_question_mark_operator_2 (normal) | test.rs:289:5:294:5 | exit test_question_mark_operator_2 | | +| test.rs:289:38:289:38 | b | test.rs:289:38:289:52 | Param | match | +| test.rs:289:38:289:52 | Param | test.rs:290:15:290:15 | b | | +| test.rs:289:71:294:5 | BlockExpr | test.rs:289:5:294:5 | exit test_question_mark_operator_2 (normal) | | +| test.rs:290:9:293:9 | MatchExpr | test.rs:289:71:294:5 | BlockExpr | | +| test.rs:290:15:290:15 | b | test.rs:290:15:290:16 | TryExpr | | +| test.rs:290:15:290:16 | TryExpr | test.rs:289:5:294:5 | exit test_question_mark_operator_2 (normal) | return | +| test.rs:290:15:290:16 | TryExpr | test.rs:291:13:291:16 | true | match | +| test.rs:291:13:291:16 | LiteralPat | test.rs:291:21:291:24 | Some | match | +| test.rs:291:13:291:16 | LiteralPat | test.rs:292:13:292:17 | false | no-match | +| test.rs:291:13:291:16 | true | test.rs:291:13:291:16 | LiteralPat | | +| test.rs:291:21:291:24 | Some | test.rs:291:26:291:30 | false | | +| test.rs:291:21:291:31 | CallExpr | test.rs:290:9:293:9 | MatchExpr | | +| test.rs:291:26:291:30 | false | test.rs:291:21:291:31 | CallExpr | | +| test.rs:292:13:292:17 | LiteralPat | test.rs:292:22:292:25 | Some | match | +| test.rs:292:13:292:17 | false | test.rs:292:13:292:17 | LiteralPat | | +| test.rs:292:22:292:25 | Some | test.rs:292:27:292:30 | true | | +| test.rs:292:22:292:31 | CallExpr | test.rs:290:9:293:9 | MatchExpr | | +| test.rs:292:27:292:30 | true | test.rs:292:22:292:31 | CallExpr | | +| test.rs:300:5:306:5 | enter test_match | test.rs:300:19:300:29 | maybe_digit | | +| test.rs:300:5:306:5 | exit test_match (normal) | test.rs:300:5:306:5 | exit test_match | | +| test.rs:300:19:300:29 | maybe_digit | test.rs:300:19:300:42 | Param | match | +| test.rs:300:19:300:42 | Param | test.rs:301:15:301:25 | maybe_digit | | +| test.rs:300:52:306:5 | BlockExpr | test.rs:300:5:306:5 | exit test_match (normal) | | +| test.rs:301:9:305:9 | MatchExpr | test.rs:300:52:306:5 | BlockExpr | | +| test.rs:301:15:301:25 | maybe_digit | test.rs:302:13:302:27 | TupleStructPat | | +| test.rs:302:13:302:27 | TupleStructPat | test.rs:302:26:302:26 | x | match | +| test.rs:302:13:302:27 | TupleStructPat | test.rs:303:13:303:27 | TupleStructPat | no-match | +| test.rs:302:26:302:26 | x | test.rs:302:32:302:32 | x | match | +| test.rs:302:32:302:32 | x | test.rs:302:36:302:37 | 10 | | +| test.rs:302:32:302:37 | ... < ... | test.rs:302:42:302:42 | x | true | +| test.rs:302:32:302:37 | ... < ... | test.rs:303:13:303:27 | TupleStructPat | false | +| test.rs:302:36:302:37 | 10 | test.rs:302:32:302:37 | ... < ... | | +| test.rs:302:42:302:42 | x | test.rs:302:46:302:46 | 5 | | +| test.rs:302:42:302:46 | ... + ... | test.rs:301:9:305:9 | MatchExpr | | +| test.rs:302:46:302:46 | 5 | test.rs:302:42:302:46 | ... + ... | | +| test.rs:303:13:303:27 | TupleStructPat | test.rs:303:26:303:26 | x | match | +| test.rs:303:13:303:27 | TupleStructPat | test.rs:304:13:304:24 | PathPat | no-match | +| test.rs:303:26:303:26 | x | test.rs:303:32:303:32 | x | match | +| test.rs:303:32:303:32 | x | test.rs:301:9:305:9 | MatchExpr | | +| test.rs:304:13:304:24 | PathPat | test.rs:304:29:304:29 | 5 | match | +| test.rs:304:29:304:29 | 5 | test.rs:301:9:305:9 | MatchExpr | | +| test.rs:308:5:317:5 | enter test_match_with_return_in_scrutinee | test.rs:308:44:308:54 | maybe_digit | | +| test.rs:308:5:317:5 | exit test_match_with_return_in_scrutinee (normal) | test.rs:308:5:317:5 | exit test_match_with_return_in_scrutinee | | +| test.rs:308:44:308:54 | maybe_digit | test.rs:308:44:308:67 | Param | match | +| test.rs:308:44:308:67 | Param | test.rs:309:19:309:29 | maybe_digit | | +| test.rs:308:77:317:5 | BlockExpr | test.rs:308:5:317:5 | exit test_match_with_return_in_scrutinee (normal) | | +| test.rs:309:9:316:9 | MatchExpr | test.rs:308:77:317:5 | BlockExpr | | +| test.rs:309:16:313:9 | IfExpr | test.rs:314:13:314:27 | TupleStructPat | | +| test.rs:309:19:309:29 | maybe_digit | test.rs:309:34:309:37 | Some | | +| test.rs:309:19:309:40 | ... == ... | test.rs:310:13:310:21 | ExprStmt | true | +| test.rs:309:19:309:40 | ... == ... | test.rs:312:13:312:23 | maybe_digit | false | +| test.rs:309:34:309:37 | Some | test.rs:309:39:309:39 | 3 | | +| test.rs:309:34:309:40 | CallExpr | test.rs:309:19:309:40 | ... == ... | | +| test.rs:309:39:309:39 | 3 | test.rs:309:34:309:40 | CallExpr | | +| test.rs:310:13:310:20 | ReturnExpr | test.rs:308:5:317:5 | exit test_match_with_return_in_scrutinee (normal) | return | +| test.rs:310:13:310:21 | ExprStmt | test.rs:310:20:310:20 | 3 | | +| test.rs:310:20:310:20 | 3 | test.rs:310:13:310:20 | ReturnExpr | | +| test.rs:311:16:313:9 | BlockExpr | test.rs:309:16:313:9 | IfExpr | | +| test.rs:312:13:312:23 | maybe_digit | test.rs:311:16:313:9 | BlockExpr | | +| test.rs:314:13:314:27 | TupleStructPat | test.rs:314:26:314:26 | x | match | +| test.rs:314:13:314:27 | TupleStructPat | test.rs:315:13:315:24 | PathPat | no-match | +| test.rs:314:26:314:26 | x | test.rs:314:32:314:32 | x | match | +| test.rs:314:32:314:32 | x | test.rs:314:36:314:36 | 5 | | +| test.rs:314:32:314:36 | ... + ... | test.rs:309:9:316:9 | MatchExpr | | +| test.rs:314:36:314:36 | 5 | test.rs:314:32:314:36 | ... + ... | | +| test.rs:315:13:315:24 | PathPat | test.rs:315:29:315:29 | 5 | match | +| test.rs:315:29:315:29 | 5 | test.rs:309:9:316:9 | MatchExpr | | +| test.rs:319:5:324:5 | enter test_match_and | test.rs:319:23:319:26 | cond | | +| test.rs:319:5:324:5 | exit test_match_and (normal) | test.rs:319:5:324:5 | exit test_match_and | | +| test.rs:319:23:319:26 | cond | test.rs:319:23:319:32 | Param | match | +| test.rs:319:23:319:32 | Param | test.rs:319:35:319:35 | r | | +| test.rs:319:35:319:35 | r | test.rs:319:35:319:49 | Param | match | +| test.rs:319:35:319:49 | Param | test.rs:320:16:320:16 | r | | +| test.rs:319:60:324:5 | BlockExpr | test.rs:319:5:324:5 | exit test_match_and (normal) | | +| test.rs:320:9:323:18 | ... && ... | test.rs:319:60:324:5 | BlockExpr | | +| test.rs:320:10:323:9 | [boolean(false)] MatchExpr | test.rs:320:9:323:18 | ... && ... | false | +| test.rs:320:10:323:9 | [boolean(true)] MatchExpr | test.rs:323:15:323:18 | cond | true | +| test.rs:320:16:320:16 | r | test.rs:321:13:321:19 | TupleStructPat | | +| test.rs:321:13:321:19 | TupleStructPat | test.rs:321:18:321:18 | a | match | +| test.rs:321:13:321:19 | TupleStructPat | test.rs:322:13:322:13 | WildcardPat | no-match | +| test.rs:321:18:321:18 | a | test.rs:321:24:321:24 | a | match | +| test.rs:321:24:321:24 | a | test.rs:320:10:323:9 | [boolean(false)] MatchExpr | false | +| test.rs:321:24:321:24 | a | test.rs:320:10:323:9 | [boolean(true)] MatchExpr | true | +| test.rs:322:13:322:13 | WildcardPat | test.rs:322:18:322:22 | false | match | +| test.rs:322:18:322:22 | false | test.rs:320:10:323:9 | [boolean(false)] MatchExpr | false | +| test.rs:323:15:323:18 | cond | test.rs:320:9:323:18 | ... && ... | | +| test.rs:326:5:331:5 | enter test_match_with_no_arms | test.rs:326:35:326:35 | r | | +| test.rs:326:5:331:5 | exit test_match_with_no_arms (normal) | test.rs:326:5:331:5 | exit test_match_with_no_arms | | +| test.rs:326:35:326:35 | r | test.rs:326:35:326:58 | Param | match | +| test.rs:326:35:326:58 | Param | test.rs:327:15:327:15 | r | | +| test.rs:326:66:331:5 | BlockExpr | test.rs:326:5:331:5 | exit test_match_with_no_arms (normal) | | +| test.rs:327:9:330:9 | MatchExpr | test.rs:326:66:331:5 | BlockExpr | | +| test.rs:327:15:327:15 | r | test.rs:328:13:328:21 | TupleStructPat | | +| test.rs:328:13:328:21 | TupleStructPat | test.rs:328:16:328:20 | value | match | +| test.rs:328:13:328:21 | TupleStructPat | test.rs:329:13:329:22 | TupleStructPat | no-match | +| test.rs:328:16:328:20 | value | test.rs:328:26:328:30 | value | match | +| test.rs:328:26:328:30 | value | test.rs:327:9:330:9 | MatchExpr | | +| test.rs:329:13:329:22 | TupleStructPat | test.rs:329:17:329:21 | never | match | +| test.rs:329:17:329:21 | never | test.rs:329:33:329:37 | never | match | +| test.rs:329:27:329:40 | MatchExpr | test.rs:327:9:330:9 | MatchExpr | | +| test.rs:329:33:329:37 | never | test.rs:329:27:329:40 | MatchExpr | | +| test.rs:336:5:339:5 | enter test_let_match | test.rs:336:23:336:23 | a | | +| test.rs:336:5:339:5 | exit test_let_match (normal) | test.rs:336:5:339:5 | exit test_let_match | | +| test.rs:336:23:336:23 | a | test.rs:336:23:336:36 | Param | match | +| test.rs:336:23:336:36 | Param | test.rs:337:9:337:57 | LetStmt | | +| test.rs:336:46:339:5 | BlockExpr | test.rs:336:5:339:5 | exit test_let_match (normal) | | +| test.rs:337:9:337:57 | LetStmt | test.rs:337:23:337:23 | a | | +| test.rs:337:13:337:19 | TupleStructPat | test.rs:337:18:337:18 | n | match | +| test.rs:337:13:337:19 | TupleStructPat | test.rs:337:39:337:53 | MacroStmts | no-match | +| test.rs:337:18:337:18 | n | test.rs:338:9:338:9 | n | match | +| test.rs:337:23:337:23 | a | test.rs:337:13:337:19 | TupleStructPat | | +| test.rs:337:32:337:54 | $crate::panicking::panic_fmt | test.rs:337:39:337:53 | "Expected some" | | +| test.rs:337:32:337:54 | MacroExpr | test.rs:337:30:337:56 | BlockExpr | | +| test.rs:337:39:337:53 | "Expected some" | test.rs:337:39:337:53 | FormatArgsExpr | | +| test.rs:337:39:337:53 | BlockExpr | test.rs:337:39:337:53 | MacroExpr | | +| test.rs:337:39:337:53 | CallExpr | test.rs:337:39:337:53 | BlockExpr | | +| test.rs:337:39:337:53 | ExprStmt | test.rs:337:32:337:54 | $crate::panicking::panic_fmt | | +| test.rs:337:39:337:53 | FormatArgsExpr | test.rs:337:39:337:53 | MacroExpr | | +| test.rs:337:39:337:53 | MacroExpr | test.rs:337:32:337:54 | MacroExpr | | +| test.rs:337:39:337:53 | MacroExpr | test.rs:337:39:337:53 | CallExpr | | +| test.rs:337:39:337:53 | MacroStmts | test.rs:337:39:337:53 | ExprStmt | | +| test.rs:337:39:337:53 | MacroStmts | test.rs:337:39:337:53 | MacroStmts | | +| test.rs:338:9:338:9 | n | test.rs:336:46:339:5 | BlockExpr | | +| test.rs:341:5:347:5 | enter test_let_with_return | test.rs:341:29:341:29 | m | | +| test.rs:341:5:347:5 | exit test_let_with_return (normal) | test.rs:341:5:347:5 | exit test_let_with_return | | +| test.rs:341:29:341:29 | m | test.rs:341:29:341:42 | Param | match | +| test.rs:341:29:341:42 | Param | test.rs:342:9:345:10 | LetStmt | | +| test.rs:341:53:347:5 | BlockExpr | test.rs:341:5:347:5 | exit test_let_with_return (normal) | | +| test.rs:342:9:345:10 | LetStmt | test.rs:342:25:342:25 | m | | +| test.rs:342:13:342:15 | ret | test.rs:346:9:346:12 | true | match | +| test.rs:342:19:345:9 | MatchExpr | test.rs:342:13:342:15 | ret | | +| test.rs:342:25:342:25 | m | test.rs:343:13:343:21 | TupleStructPat | | +| test.rs:343:13:343:21 | TupleStructPat | test.rs:343:18:343:20 | ret | match | +| test.rs:343:13:343:21 | TupleStructPat | test.rs:344:13:344:16 | None | no-match | +| test.rs:343:18:343:20 | ret | test.rs:343:26:343:28 | ret | match | +| test.rs:343:26:343:28 | ret | test.rs:342:19:345:9 | MatchExpr | | +| test.rs:344:13:344:16 | None | test.rs:344:28:344:32 | false | match | +| test.rs:344:21:344:32 | ReturnExpr | test.rs:341:5:347:5 | exit test_let_with_return (normal) | return | +| test.rs:344:28:344:32 | false | test.rs:344:21:344:32 | ReturnExpr | | +| test.rs:346:9:346:12 | true | test.rs:341:53:347:5 | BlockExpr | | +| test.rs:352:5:355:5 | enter empty_tuple_pattern | test.rs:352:28:352:31 | unit | | +| test.rs:352:5:355:5 | exit empty_tuple_pattern (normal) | test.rs:352:5:355:5 | exit empty_tuple_pattern | | +| test.rs:352:28:352:31 | unit | test.rs:352:28:352:35 | Param | match | +| test.rs:352:28:352:35 | Param | test.rs:353:9:353:22 | LetStmt | | +| test.rs:353:9:353:22 | LetStmt | test.rs:353:18:353:21 | unit | | +| test.rs:353:13:353:14 | TuplePat | test.rs:354:9:354:15 | ExprStmt | match | +| test.rs:353:18:353:21 | unit | test.rs:353:13:353:14 | TuplePat | | +| test.rs:354:9:354:14 | ReturnExpr | test.rs:352:5:355:5 | exit empty_tuple_pattern (normal) | return | +| test.rs:354:9:354:15 | ExprStmt | test.rs:354:9:354:14 | ReturnExpr | | +| test.rs:359:5:363:5 | enter empty_struct_pattern | test.rs:359:29:359:30 | st | | +| test.rs:359:5:363:5 | exit empty_struct_pattern (normal) | test.rs:359:5:363:5 | exit empty_struct_pattern | | +| test.rs:359:29:359:30 | st | test.rs:359:29:359:40 | Param | match | +| test.rs:359:29:359:40 | Param | test.rs:360:15:360:16 | st | | +| test.rs:359:50:363:5 | BlockExpr | test.rs:359:5:363:5 | exit empty_struct_pattern (normal) | | +| test.rs:360:9:362:9 | MatchExpr | test.rs:359:50:363:5 | BlockExpr | | +| test.rs:360:15:360:16 | st | test.rs:361:13:361:27 | RecordPat | | +| test.rs:361:13:361:27 | RecordPat | test.rs:361:24:361:25 | RestPat | match | +| test.rs:361:24:361:25 | RestPat | test.rs:361:32:361:32 | 1 | match | +| test.rs:361:32:361:32 | 1 | test.rs:360:9:362:9 | MatchExpr | | +| test.rs:365:5:372:5 | enter range_pattern | test.rs:366:15:366:16 | 42 | | +| test.rs:365:5:372:5 | exit range_pattern (normal) | test.rs:365:5:372:5 | exit range_pattern | | +| test.rs:365:31:372:5 | BlockExpr | test.rs:365:5:372:5 | exit range_pattern (normal) | | +| test.rs:366:9:371:9 | MatchExpr | test.rs:365:31:372:5 | BlockExpr | | +| test.rs:366:15:366:16 | 42 | test.rs:367:13:367:15 | RangePat | | +| test.rs:367:13:367:15 | RangePat | test.rs:367:15:367:15 | 0 | match | +| test.rs:367:13:367:15 | RangePat | test.rs:368:13:368:16 | RangePat | no-match | +| test.rs:367:15:367:15 | 0 | test.rs:367:15:367:15 | LiteralPat | | +| test.rs:367:15:367:15 | LiteralPat | test.rs:367:20:367:20 | 1 | match | +| test.rs:367:15:367:15 | LiteralPat | test.rs:368:13:368:16 | RangePat | no-match | +| test.rs:367:20:367:20 | 1 | test.rs:366:9:371:9 | MatchExpr | | +| test.rs:368:13:368:13 | 1 | test.rs:368:13:368:13 | LiteralPat | | +| test.rs:368:13:368:13 | LiteralPat | test.rs:368:16:368:16 | 2 | match | +| test.rs:368:13:368:13 | LiteralPat | test.rs:369:13:369:15 | RangePat | no-match | +| test.rs:368:13:368:16 | RangePat | test.rs:368:13:368:13 | 1 | match | +| test.rs:368:13:368:16 | RangePat | test.rs:369:13:369:15 | RangePat | no-match | +| test.rs:368:16:368:16 | 2 | test.rs:368:16:368:16 | LiteralPat | | +| test.rs:368:16:368:16 | LiteralPat | test.rs:368:21:368:21 | 2 | match | +| test.rs:368:16:368:16 | LiteralPat | test.rs:369:13:369:15 | RangePat | no-match | +| test.rs:368:21:368:21 | 2 | test.rs:366:9:371:9 | MatchExpr | | +| test.rs:369:13:369:13 | 5 | test.rs:369:13:369:13 | LiteralPat | | +| test.rs:369:13:369:13 | LiteralPat | test.rs:369:20:369:20 | 3 | match | +| test.rs:369:13:369:13 | LiteralPat | test.rs:370:13:370:13 | WildcardPat | no-match | +| test.rs:369:13:369:15 | RangePat | test.rs:369:13:369:13 | 5 | match | +| test.rs:369:13:369:15 | RangePat | test.rs:370:13:370:13 | WildcardPat | no-match | +| test.rs:369:20:369:20 | 3 | test.rs:366:9:371:9 | MatchExpr | | +| test.rs:370:13:370:13 | WildcardPat | test.rs:370:18:370:18 | 4 | match | +| test.rs:370:18:370:18 | 4 | test.rs:366:9:371:9 | MatchExpr | | +| test.rs:376:5:381:5 | enter test_infinite_loop | test.rs:377:9:379:9 | ExprStmt | | +| test.rs:377:9:379:9 | ExprStmt | test.rs:378:13:378:14 | TupleExpr | | +| test.rs:377:14:379:9 | BlockExpr | test.rs:378:13:378:14 | TupleExpr | | +| test.rs:378:13:378:14 | TupleExpr | test.rs:377:14:379:9 | BlockExpr | | +| test.rs:385:5:387:5 | enter say_hello | test.rs:386:9:386:34 | ExprStmt | | +| test.rs:385:5:387:5 | exit say_hello (normal) | test.rs:385:5:387:5 | exit say_hello | | +| test.rs:385:26:387:5 | BlockExpr | test.rs:385:5:387:5 | exit say_hello (normal) | | +| test.rs:386:9:386:33 | $crate::io::_print | test.rs:386:18:386:32 | "hello, world!\\n" | | +| test.rs:386:9:386:33 | MacroExpr | test.rs:385:26:387:5 | BlockExpr | | +| test.rs:386:9:386:34 | ExprStmt | test.rs:386:18:386:32 | MacroStmts | | +| test.rs:386:18:386:32 | "hello, world!\\n" | test.rs:386:18:386:32 | FormatArgsExpr | | +| test.rs:386:18:386:32 | BlockExpr | test.rs:386:9:386:33 | MacroExpr | | +| test.rs:386:18:386:32 | CallExpr | test.rs:386:18:386:32 | BlockExpr | | +| test.rs:386:18:386:32 | ExprStmt | test.rs:386:9:386:33 | $crate::io::_print | | +| test.rs:386:18:386:32 | FormatArgsExpr | test.rs:386:18:386:32 | MacroExpr | | +| test.rs:386:18:386:32 | MacroExpr | test.rs:386:18:386:32 | CallExpr | | +| test.rs:386:18:386:32 | MacroStmts | test.rs:386:18:386:32 | ExprStmt | | +| test.rs:389:5:408:5 | enter async_block | test.rs:389:26:389:26 | b | | +| test.rs:389:5:408:5 | exit async_block (normal) | test.rs:389:5:408:5 | exit async_block | | +| test.rs:389:26:389:26 | b | test.rs:389:26:389:32 | Param | match | +| test.rs:389:26:389:32 | Param | test.rs:390:9:392:10 | LetStmt | | +| test.rs:389:35:408:5 | BlockExpr | test.rs:389:5:408:5 | exit async_block (normal) | | +| test.rs:390:9:392:10 | LetStmt | test.rs:390:26:392:9 | BlockExpr | | +| test.rs:390:13:390:22 | say_godbye | test.rs:393:9:395:10 | LetStmt | match | +| test.rs:390:26:392:9 | BlockExpr | test.rs:390:13:390:22 | say_godbye | | +| test.rs:390:26:392:9 | enter BlockExpr | test.rs:391:13:391:42 | ExprStmt | | +| test.rs:390:26:392:9 | exit BlockExpr (normal) | test.rs:390:26:392:9 | exit BlockExpr | | +| test.rs:391:13:391:41 | $crate::io::_print | test.rs:391:22:391:40 | "godbye, everyone!\\n" | | +| test.rs:391:13:391:41 | MacroExpr | test.rs:390:26:392:9 | exit BlockExpr (normal) | | +| test.rs:391:13:391:42 | ExprStmt | test.rs:391:22:391:40 | MacroStmts | | +| test.rs:391:22:391:40 | "godbye, everyone!\\n" | test.rs:391:22:391:40 | FormatArgsExpr | | +| test.rs:391:22:391:40 | BlockExpr | test.rs:391:13:391:41 | MacroExpr | | +| test.rs:391:22:391:40 | CallExpr | test.rs:391:22:391:40 | BlockExpr | | +| test.rs:391:22:391:40 | ExprStmt | test.rs:391:13:391:41 | $crate::io::_print | | +| test.rs:391:22:391:40 | FormatArgsExpr | test.rs:391:22:391:40 | MacroExpr | | +| test.rs:391:22:391:40 | MacroExpr | test.rs:391:22:391:40 | CallExpr | | +| test.rs:391:22:391:40 | MacroStmts | test.rs:391:22:391:40 | ExprStmt | | +| test.rs:393:9:395:10 | LetStmt | test.rs:393:31:395:9 | BlockExpr | | +| test.rs:393:13:393:27 | say_how_are_you | test.rs:396:9:396:28 | LetStmt | match | +| test.rs:393:31:395:9 | BlockExpr | test.rs:393:13:393:27 | say_how_are_you | | +| test.rs:393:31:395:9 | enter BlockExpr | test.rs:394:13:394:37 | ExprStmt | | +| test.rs:393:31:395:9 | exit BlockExpr (normal) | test.rs:393:31:395:9 | exit BlockExpr | | +| test.rs:394:13:394:36 | $crate::io::_print | test.rs:394:22:394:35 | "how are you?\\n" | | +| test.rs:394:13:394:36 | MacroExpr | test.rs:393:31:395:9 | exit BlockExpr (normal) | | +| test.rs:394:13:394:37 | ExprStmt | test.rs:394:22:394:35 | MacroStmts | | +| test.rs:394:22:394:35 | "how are you?\\n" | test.rs:394:22:394:35 | FormatArgsExpr | | +| test.rs:394:22:394:35 | BlockExpr | test.rs:394:13:394:36 | MacroExpr | | +| test.rs:394:22:394:35 | CallExpr | test.rs:394:22:394:35 | BlockExpr | | +| test.rs:394:22:394:35 | ExprStmt | test.rs:394:13:394:36 | $crate::io::_print | | +| test.rs:394:22:394:35 | FormatArgsExpr | test.rs:394:22:394:35 | MacroExpr | | +| test.rs:394:22:394:35 | MacroExpr | test.rs:394:22:394:35 | CallExpr | | +| test.rs:394:22:394:35 | MacroStmts | test.rs:394:22:394:35 | ExprStmt | | +| test.rs:396:9:396:28 | LetStmt | test.rs:396:20:396:27 | BlockExpr | | +| test.rs:396:13:396:16 | noop | test.rs:397:9:397:26 | ExprStmt | match | +| test.rs:396:20:396:27 | BlockExpr | test.rs:396:13:396:16 | noop | | +| test.rs:397:9:397:17 | say_hello | test.rs:397:9:397:19 | CallExpr | | +| test.rs:397:9:397:19 | CallExpr | test.rs:397:9:397:25 | AwaitExpr | | +| test.rs:397:9:397:25 | AwaitExpr | test.rs:398:9:398:30 | ExprStmt | | +| test.rs:397:9:397:26 | ExprStmt | test.rs:397:9:397:17 | say_hello | | +| test.rs:398:9:398:23 | say_how_are_you | test.rs:398:9:398:29 | AwaitExpr | | +| test.rs:398:9:398:29 | AwaitExpr | test.rs:399:9:399:25 | ExprStmt | | +| test.rs:398:9:398:30 | ExprStmt | test.rs:398:9:398:23 | say_how_are_you | | +| test.rs:399:9:399:18 | say_godbye | test.rs:399:9:399:24 | AwaitExpr | | +| test.rs:399:9:399:24 | AwaitExpr | test.rs:400:9:400:19 | ExprStmt | | +| test.rs:399:9:399:25 | ExprStmt | test.rs:399:9:399:18 | say_godbye | | +| test.rs:400:9:400:12 | noop | test.rs:400:9:400:18 | AwaitExpr | | +| test.rs:400:9:400:18 | AwaitExpr | test.rs:402:9:407:10 | LetStmt | | +| test.rs:400:9:400:19 | ExprStmt | test.rs:400:9:400:12 | noop | | +| test.rs:402:9:407:10 | LetStmt | test.rs:402:22:407:9 | ClosureExpr | | +| test.rs:402:13:402:18 | lambda | test.rs:389:35:408:5 | BlockExpr | match | +| test.rs:402:22:407:9 | ClosureExpr | test.rs:402:13:402:18 | lambda | | +| test.rs:402:22:407:9 | enter ClosureExpr | test.rs:402:23:402:25 | foo | | +| test.rs:402:22:407:9 | exit ClosureExpr (normal) | test.rs:402:22:407:9 | exit ClosureExpr | | +| test.rs:402:23:402:25 | Param | test.rs:402:28:407:9 | BlockExpr | | +| test.rs:402:23:402:25 | foo | test.rs:402:23:402:25 | Param | match | +| test.rs:402:28:407:9 | BlockExpr | test.rs:402:22:407:9 | exit ClosureExpr (normal) | | +| test.rs:402:28:407:9 | enter BlockExpr | test.rs:403:13:405:14 | ExprStmt | | +| test.rs:402:28:407:9 | exit BlockExpr (normal) | test.rs:402:28:407:9 | exit BlockExpr | | +| test.rs:403:13:405:13 | IfExpr | test.rs:406:13:406:15 | foo | | +| test.rs:403:13:405:14 | ExprStmt | test.rs:403:16:403:16 | b | | +| test.rs:403:16:403:16 | b | test.rs:403:13:405:13 | IfExpr | false | +| test.rs:403:16:403:16 | b | test.rs:404:17:404:41 | ExprStmt | true | +| test.rs:404:17:404:41 | ExprStmt | test.rs:404:24:404:34 | async_block | | +| test.rs:404:24:404:34 | async_block | test.rs:404:36:404:39 | true | | +| test.rs:404:24:404:40 | CallExpr | test.rs:404:17:404:40 | ReturnExpr | | +| test.rs:404:36:404:39 | true | test.rs:404:24:404:40 | CallExpr | | +| test.rs:406:13:406:15 | foo | test.rs:402:28:407:9 | exit BlockExpr (normal) | | +| test.rs:414:5:416:5 | enter add_two | test.rs:414:22:414:22 | n | | +| test.rs:414:5:416:5 | exit add_two (normal) | test.rs:414:5:416:5 | exit add_two | | +| test.rs:414:22:414:22 | n | test.rs:414:22:414:27 | Param | match | +| test.rs:414:22:414:27 | Param | test.rs:415:9:415:9 | n | | +| test.rs:414:37:416:5 | BlockExpr | test.rs:414:5:416:5 | exit add_two (normal) | | +| test.rs:415:9:415:9 | n | test.rs:415:13:415:13 | 2 | | +| test.rs:415:9:415:13 | ... + ... | test.rs:414:37:416:5 | BlockExpr | | +| test.rs:415:13:415:13 | 2 | test.rs:415:9:415:13 | ... + ... | | +| test.rs:420:5:428:5 | enter const_block_assert | test.rs:423:9:425:9 | ExprStmt | | +| test.rs:420:5:428:5 | exit const_block_assert (normal) | test.rs:420:5:428:5 | exit const_block_assert | | +| test.rs:420:41:428:5 | BlockExpr | test.rs:420:5:428:5 | exit const_block_assert (normal) | | +| test.rs:423:9:425:9 | BlockExpr | test.rs:427:9:427:10 | 42 | | +| test.rs:423:9:425:9 | ExprStmt | test.rs:424:13:424:50 | ExprStmt | | +| test.rs:424:13:424:49 | $crate::panicking::panic_explicit | test.rs:424:13:424:49 | CallExpr | | +| test.rs:424:13:424:49 | BlockExpr | test.rs:424:13:424:49 | MacroExpr | | +| test.rs:424:13:424:49 | BlockExpr | test.rs:424:13:424:49 | exit panic_cold_explicit (normal) | | +| test.rs:424:13:424:49 | BlockExpr | test.rs:424:21:424:48 | IfExpr | | +| test.rs:424:13:424:49 | CallExpr | test.rs:424:13:424:49 | BlockExpr | | +| test.rs:424:13:424:49 | CallExpr | test.rs:424:13:424:49 | BlockExpr | | +| test.rs:424:13:424:49 | ExprStmt | test.rs:424:13:424:49 | MacroStmts | | +| test.rs:424:13:424:49 | ExprStmt | test.rs:424:13:424:49 | panic_cold_explicit | | +| test.rs:424:13:424:49 | MacroExpr | test.rs:423:9:425:9 | BlockExpr | | +| test.rs:424:13:424:49 | MacroExpr | test.rs:424:13:424:49 | BlockExpr | | +| test.rs:424:13:424:49 | MacroStmts | test.rs:424:13:424:49 | panic_cold_explicit | | +| test.rs:424:13:424:49 | enter panic_cold_explicit | test.rs:424:13:424:49 | $crate::panicking::panic_explicit | | +| test.rs:424:13:424:49 | exit panic_cold_explicit (normal) | test.rs:424:13:424:49 | exit panic_cold_explicit | | +| test.rs:424:13:424:49 | panic_cold_explicit | test.rs:424:13:424:49 | CallExpr | | +| test.rs:424:13:424:49 | panic_cold_explicit | test.rs:424:13:424:49 | ExprStmt | | +| test.rs:424:13:424:50 | ExprStmt | test.rs:424:21:424:48 | MacroStmts | | +| test.rs:424:21:424:42 | std::mem::size_of::<...> | test.rs:424:21:424:44 | CallExpr | | +| test.rs:424:21:424:44 | CallExpr | test.rs:424:48:424:48 | 0 | | +| test.rs:424:21:424:48 | ... > ... | test.rs:424:21:424:48 | [boolean(false)] ! ... | true | +| test.rs:424:21:424:48 | ... > ... | test.rs:424:21:424:48 | [boolean(true)] ! ... | false | +| test.rs:424:21:424:48 | BlockExpr | test.rs:424:13:424:49 | MacroExpr | | +| test.rs:424:21:424:48 | IfExpr | test.rs:424:21:424:48 | BlockExpr | | +| test.rs:424:21:424:48 | MacroStmts | test.rs:424:21:424:42 | std::mem::size_of::<...> | | +| test.rs:424:21:424:48 | [boolean(false)] ! ... | test.rs:424:21:424:48 | IfExpr | false | +| test.rs:424:21:424:48 | [boolean(true)] ! ... | test.rs:424:13:424:49 | ExprStmt | true | +| test.rs:424:48:424:48 | 0 | test.rs:424:21:424:48 | ... > ... | | +| test.rs:427:9:427:10 | 42 | test.rs:420:41:428:5 | BlockExpr | | +| test.rs:430:5:439:5 | enter const_block_panic | test.rs:431:9:431:30 | Const | | +| test.rs:430:5:439:5 | exit const_block_panic (normal) | test.rs:430:5:439:5 | exit const_block_panic | | +| test.rs:430:35:439:5 | BlockExpr | test.rs:430:5:439:5 | exit const_block_panic (normal) | | +| test.rs:431:9:431:30 | Const | test.rs:432:9:437:9 | ExprStmt | | +| test.rs:432:9:437:9 | ExprStmt | test.rs:432:12:432:16 | false | | +| test.rs:432:9:437:9 | IfExpr | test.rs:438:9:438:9 | N | | +| test.rs:432:12:432:16 | false | test.rs:432:9:437:9 | IfExpr | false | +| test.rs:435:17:435:24 | $crate::panicking::panic_explicit | test.rs:435:17:435:24 | CallExpr | | +| test.rs:435:17:435:24 | BlockExpr | test.rs:435:17:435:24 | exit panic_cold_explicit (normal) | | +| test.rs:435:17:435:24 | CallExpr | test.rs:435:17:435:24 | BlockExpr | | +| test.rs:435:17:435:24 | enter panic_cold_explicit | test.rs:435:17:435:24 | $crate::panicking::panic_explicit | | +| test.rs:435:17:435:24 | exit panic_cold_explicit (normal) | test.rs:435:17:435:24 | exit panic_cold_explicit | | +| test.rs:438:9:438:9 | N | test.rs:430:35:439:5 | BlockExpr | | +| test.rs:442:1:447:1 | enter dead_code | test.rs:443:5:445:5 | ExprStmt | | +| test.rs:442:1:447:1 | exit dead_code (normal) | test.rs:442:1:447:1 | exit dead_code | | +| test.rs:443:5:445:5 | ExprStmt | test.rs:443:9:443:12 | true | | +| test.rs:443:9:443:12 | true | test.rs:444:9:444:17 | ExprStmt | true | +| test.rs:444:9:444:16 | ReturnExpr | test.rs:442:1:447:1 | exit dead_code (normal) | return | +| test.rs:444:9:444:17 | ExprStmt | test.rs:444:16:444:16 | 0 | | +| test.rs:444:16:444:16 | 0 | test.rs:444:9:444:16 | ReturnExpr | | +| test.rs:449:1:449:16 | enter do_thing | test.rs:449:15:449:16 | BlockExpr | | +| test.rs:449:1:449:16 | exit do_thing (normal) | test.rs:449:1:449:16 | exit do_thing | | +| test.rs:449:15:449:16 | BlockExpr | test.rs:449:1:449:16 | exit do_thing (normal) | | +| test.rs:451:1:453:1 | enter condition_not_met | test.rs:452:5:452:9 | false | | +| test.rs:451:1:453:1 | exit condition_not_met (normal) | test.rs:451:1:453:1 | exit condition_not_met | | +| test.rs:451:32:453:1 | BlockExpr | test.rs:451:1:453:1 | exit condition_not_met (normal) | | +| test.rs:452:5:452:9 | false | test.rs:451:32:453:1 | BlockExpr | | +| test.rs:455:1:455:21 | enter do_next_thing | test.rs:455:20:455:21 | BlockExpr | | +| test.rs:455:1:455:21 | exit do_next_thing (normal) | test.rs:455:1:455:21 | exit do_next_thing | | +| test.rs:455:20:455:21 | BlockExpr | test.rs:455:1:455:21 | exit do_next_thing (normal) | | +| test.rs:457:1:457:21 | enter do_last_thing | test.rs:457:20:457:21 | BlockExpr | | +| test.rs:457:1:457:21 | exit do_last_thing (normal) | test.rs:457:1:457:21 | exit do_last_thing | | +| test.rs:457:20:457:21 | BlockExpr | test.rs:457:1:457:21 | exit do_last_thing (normal) | | +| test.rs:459:1:473:1 | enter labelled_block1 | test.rs:460:5:471:6 | LetStmt | | +| test.rs:459:1:473:1 | exit labelled_block1 (normal) | test.rs:459:1:473:1 | exit labelled_block1 | | +| test.rs:459:29:473:1 | BlockExpr | test.rs:459:1:473:1 | exit labelled_block1 (normal) | | +| test.rs:460:5:471:6 | LetStmt | test.rs:461:9:461:19 | ExprStmt | | +| test.rs:460:9:460:14 | result | test.rs:472:5:472:10 | result | match | +| test.rs:460:18:471:5 | BlockExpr | test.rs:460:9:460:14 | result | | +| test.rs:461:9:461:16 | do_thing | test.rs:461:9:461:18 | CallExpr | | +| test.rs:461:9:461:18 | CallExpr | test.rs:462:9:464:9 | ExprStmt | | +| test.rs:461:9:461:19 | ExprStmt | test.rs:461:9:461:16 | do_thing | | +| test.rs:462:9:464:9 | ExprStmt | test.rs:462:12:462:28 | condition_not_met | | +| test.rs:462:9:464:9 | IfExpr | test.rs:465:9:465:24 | ExprStmt | | +| test.rs:462:12:462:28 | condition_not_met | test.rs:462:12:462:30 | CallExpr | | +| test.rs:462:12:462:30 | CallExpr | test.rs:462:9:464:9 | IfExpr | false | +| test.rs:462:12:462:30 | CallExpr | test.rs:463:13:463:27 | ExprStmt | true | +| test.rs:463:13:463:26 | BreakExpr | test.rs:460:18:471:5 | BlockExpr | break | +| test.rs:463:13:463:27 | ExprStmt | test.rs:463:26:463:26 | 1 | | +| test.rs:463:26:463:26 | 1 | test.rs:463:13:463:26 | BreakExpr | | +| test.rs:465:9:465:21 | do_next_thing | test.rs:465:9:465:23 | CallExpr | | +| test.rs:465:9:465:23 | CallExpr | test.rs:466:9:468:9 | ExprStmt | | +| test.rs:465:9:465:24 | ExprStmt | test.rs:465:9:465:21 | do_next_thing | | +| test.rs:466:9:468:9 | ExprStmt | test.rs:466:12:466:28 | condition_not_met | | +| test.rs:466:9:468:9 | IfExpr | test.rs:469:9:469:24 | ExprStmt | | +| test.rs:466:12:466:28 | condition_not_met | test.rs:466:12:466:30 | CallExpr | | +| test.rs:466:12:466:30 | CallExpr | test.rs:466:9:468:9 | IfExpr | false | +| test.rs:466:12:466:30 | CallExpr | test.rs:467:13:467:27 | ExprStmt | true | +| test.rs:467:13:467:26 | BreakExpr | test.rs:460:18:471:5 | BlockExpr | break | +| test.rs:467:13:467:27 | ExprStmt | test.rs:467:26:467:26 | 2 | | +| test.rs:467:26:467:26 | 2 | test.rs:467:13:467:26 | BreakExpr | | +| test.rs:469:9:469:21 | do_last_thing | test.rs:469:9:469:23 | CallExpr | | +| test.rs:469:9:469:23 | CallExpr | test.rs:470:9:470:9 | 3 | | +| test.rs:469:9:469:24 | ExprStmt | test.rs:469:9:469:21 | do_last_thing | | +| test.rs:470:9:470:9 | 3 | test.rs:460:18:471:5 | BlockExpr | | +| test.rs:472:5:472:10 | result | test.rs:459:29:473:1 | BlockExpr | | +| test.rs:475:1:483:1 | enter labelled_block2 | test.rs:476:5:482:6 | LetStmt | | +| test.rs:475:1:483:1 | exit labelled_block2 (normal) | test.rs:475:1:483:1 | exit labelled_block2 | | +| test.rs:475:22:483:1 | BlockExpr | test.rs:475:1:483:1 | exit labelled_block2 (normal) | | +| test.rs:476:5:482:6 | LetStmt | test.rs:477:9:477:34 | LetStmt | | +| test.rs:476:9:476:14 | result | test.rs:475:22:483:1 | BlockExpr | match | +| test.rs:476:18:482:5 | BlockExpr | test.rs:476:9:476:14 | result | | +| test.rs:477:9:477:34 | LetStmt | test.rs:477:30:477:33 | None | | +| test.rs:477:13:477:13 | x | test.rs:478:9:480:10 | LetStmt | match | +| test.rs:477:30:477:33 | None | test.rs:477:13:477:13 | x | | +| test.rs:478:9:480:10 | LetStmt | test.rs:478:23:478:23 | x | | +| test.rs:478:13:478:19 | TupleStructPat | test.rs:478:18:478:18 | y | match | +| test.rs:478:13:478:19 | TupleStructPat | test.rs:479:13:479:27 | ExprStmt | no-match | +| test.rs:478:18:478:18 | y | test.rs:481:9:481:9 | 0 | match | +| test.rs:478:23:478:23 | x | test.rs:478:13:478:19 | TupleStructPat | | +| test.rs:479:13:479:26 | BreakExpr | test.rs:476:18:482:5 | BlockExpr | break | +| test.rs:479:13:479:27 | ExprStmt | test.rs:479:26:479:26 | 1 | | +| test.rs:479:26:479:26 | 1 | test.rs:479:13:479:26 | BreakExpr | | +| test.rs:481:9:481:9 | 0 | test.rs:476:18:482:5 | BlockExpr | | +| test.rs:485:1:491:1 | enter test_nested_function2 | test.rs:486:5:486:18 | LetStmt | | +| test.rs:485:1:491:1 | exit test_nested_function2 (normal) | test.rs:485:1:491:1 | exit test_nested_function2 | | +| test.rs:485:28:491:1 | BlockExpr | test.rs:485:1:491:1 | exit test_nested_function2 (normal) | | +| test.rs:486:5:486:18 | LetStmt | test.rs:486:17:486:17 | 0 | | +| test.rs:486:9:486:13 | x | test.rs:487:5:489:5 | nested | match | +| test.rs:486:17:486:17 | 0 | test.rs:486:9:486:13 | x | | +| test.rs:487:5:489:5 | enter nested | test.rs:487:15:487:15 | x | | +| test.rs:487:5:489:5 | exit nested (normal) | test.rs:487:5:489:5 | exit nested | | +| test.rs:487:5:489:5 | nested | test.rs:490:5:490:19 | ExprStmt | | +| test.rs:487:15:487:15 | x | test.rs:487:15:487:25 | Param | match | +| test.rs:487:15:487:25 | Param | test.rs:488:9:488:16 | ExprStmt | | +| test.rs:487:28:489:5 | BlockExpr | test.rs:487:5:489:5 | exit nested (normal) | | +| test.rs:488:9:488:10 | * ... | test.rs:488:15:488:15 | 1 | | +| test.rs:488:9:488:15 | ... += ... | test.rs:487:28:489:5 | BlockExpr | | +| test.rs:488:9:488:16 | ExprStmt | test.rs:488:10:488:10 | x | | +| test.rs:488:10:488:10 | x | test.rs:488:9:488:10 | * ... | | +| test.rs:488:15:488:15 | 1 | test.rs:488:9:488:15 | ... += ... | | +| test.rs:490:5:490:10 | nested | test.rs:490:17:490:17 | x | | +| test.rs:490:5:490:18 | CallExpr | test.rs:485:28:491:1 | BlockExpr | | +| test.rs:490:5:490:19 | ExprStmt | test.rs:490:5:490:10 | nested | | +| test.rs:490:12:490:17 | RefExpr | test.rs:490:5:490:18 | CallExpr | | +| test.rs:490:17:490:17 | x | test.rs:490:12:490:17 | RefExpr | | breakTarget -| test.rs:26:17:26:21 | BreakExpr | test.rs:20:9:32:9 | LoopExpr | -| test.rs:40:21:40:25 | BreakExpr | test.rs:38:13:45:13 | LoopExpr | -| test.rs:42:21:42:32 | BreakExpr | test.rs:37:9:46:9 | LoopExpr | -| test.rs:44:17:44:28 | BreakExpr | test.rs:38:13:45:13 | LoopExpr | -| test.rs:83:17:83:21 | BreakExpr | test.rs:80:9:86:9 | WhileExpr | -| test.rs:93:17:93:21 | BreakExpr | test.rs:91:9:95:9 | WhileExpr | -| test.rs:101:17:101:21 | BreakExpr | test.rs:99:9:104:9 | ForExpr | -| test.rs:109:13:109:26 | BreakExpr | test.rs:108:9:110:9 | LoopExpr | -| test.rs:204:17:204:28 | BreakExpr | test.rs:202:13:207:9 | LoopExpr | -| test.rs:217:17:217:35 | BreakExpr | test.rs:215:13:220:9 | LoopExpr | -| test.rs:229:13:229:30 | BreakExpr | test.rs:228:13:230:9 | BlockExpr | -| test.rs:451:13:451:26 | BreakExpr | test.rs:448:18:459:5 | BlockExpr | -| test.rs:455:13:455:26 | BreakExpr | test.rs:448:18:459:5 | BlockExpr | -| test.rs:466:13:466:26 | BreakExpr | test.rs:463:18:469:5 | BlockExpr | +| test.rs:34:17:34:21 | BreakExpr | test.rs:28:9:40:9 | LoopExpr | +| test.rs:48:21:48:25 | BreakExpr | test.rs:46:13:53:13 | LoopExpr | +| test.rs:50:21:50:32 | BreakExpr | test.rs:45:9:54:9 | LoopExpr | +| test.rs:52:17:52:28 | BreakExpr | test.rs:46:13:53:13 | LoopExpr | +| test.rs:91:17:91:21 | BreakExpr | test.rs:88:9:94:9 | WhileExpr | +| test.rs:101:17:101:21 | BreakExpr | test.rs:99:9:103:9 | WhileExpr | +| test.rs:109:17:109:21 | BreakExpr | test.rs:107:9:112:9 | ForExpr | +| test.rs:117:13:117:26 | BreakExpr | test.rs:116:9:118:9 | LoopExpr | +| test.rs:197:17:197:28 | BreakExpr | test.rs:195:13:200:9 | LoopExpr | +| test.rs:210:17:210:35 | BreakExpr | test.rs:208:13:213:9 | LoopExpr | +| test.rs:222:13:222:30 | BreakExpr | test.rs:221:13:223:9 | BlockExpr | +| test.rs:463:13:463:26 | BreakExpr | test.rs:460:18:471:5 | BlockExpr | +| test.rs:467:13:467:26 | BreakExpr | test.rs:460:18:471:5 | BlockExpr | +| test.rs:479:13:479:26 | BreakExpr | test.rs:476:18:482:5 | BlockExpr | continueTarget -| test.rs:29:17:29:24 | ContinueExpr | test.rs:20:9:32:9 | LoopExpr | -| test.rs:55:21:55:28 | ContinueExpr | test.rs:53:13:60:13 | LoopExpr | -| test.rs:57:21:57:35 | ContinueExpr | test.rs:51:9:61:9 | LoopExpr | -| test.rs:59:17:59:31 | ContinueExpr | test.rs:53:13:60:13 | LoopExpr | -| test.rs:69:21:69:28 | ContinueExpr | test.rs:67:13:74:13 | LoopExpr | -| test.rs:71:21:71:35 | ContinueExpr | test.rs:67:13:74:13 | LoopExpr | -| test.rs:73:17:73:31 | ContinueExpr | test.rs:67:13:74:13 | LoopExpr | +| test.rs:37:17:37:24 | ContinueExpr | test.rs:28:9:40:9 | LoopExpr | +| test.rs:63:21:63:28 | ContinueExpr | test.rs:61:13:68:13 | LoopExpr | +| test.rs:65:21:65:35 | ContinueExpr | test.rs:59:9:69:9 | LoopExpr | +| test.rs:67:17:67:31 | ContinueExpr | test.rs:61:13:68:13 | LoopExpr | +| test.rs:77:21:77:28 | ContinueExpr | test.rs:75:13:82:13 | LoopExpr | +| test.rs:79:21:79:35 | ContinueExpr | test.rs:75:13:82:13 | LoopExpr | +| test.rs:81:17:81:31 | ContinueExpr | test.rs:75:13:82:13 | LoopExpr | diff --git a/rust/ql/test/library-tests/controlflow/test.rs b/rust/ql/test/library-tests/controlflow/test.rs index ed24e79c7704..e1d596188061 100644 --- a/rust/ql/test/library-tests/controlflow/test.rs +++ b/rust/ql/test/library-tests/controlflow/test.rs @@ -1,10 +1,10 @@ -use std::collections::HashMap; -use std::convert::Infallible; - mod calls { + use crate::test::logical_operators; + use std::collections::HashMap; + fn function_call() { - test_and_operator(true, false, true); - foo::(42); + logical_operators::test_and_operator(true, false, true); + method_call(); } fn method_call() { @@ -15,6 +15,14 @@ mod calls { mod loop_expression { + fn next(n: i64) -> i64 { + if n % 2 == 0 { + n / 2 + } else { + 3 * n + 1 + } + } + fn test_break_and_continue(n: i64) -> bool { let mut i = n; loop { @@ -89,7 +97,7 @@ mod loop_expression { fn test_while_let() { let mut iter = 1..10; while let Some(x) = iter.next() { - if (i = 5) { + if (x == 5) { break; } } @@ -136,29 +144,11 @@ mod if_expression { fn test_if_let(a: Option) -> i64 { if let Some(n) = a { - n + return n; } 0 } - fn test_and_if_let(a: bool, b: Option, c: bool) -> bool { - if a && let Some(d) = b { - d - } else { - false - } - } - - fn test_and_if_let2(a: bool, b: i64, c: bool) -> bool { - if a && let d = b - && c - { - d > 0 - } else { - false - } - } - fn test_nested_if(a: i64) -> i64 { if (if a < 0 { a < -10 } else { a > 10 }) { 1 @@ -191,7 +181,10 @@ mod if_expression { fn test_if_assignment(a: i64) -> i64 { let mut x = false; - if x = true { + if { + x = true; + x + } { 1 } else { 0 @@ -237,7 +230,7 @@ mod if_expression { mod logical_operators { - fn test_and_operator(a: bool, b: bool, c: bool) -> bool { + pub fn test_and_operator(a: bool, b: bool, c: bool) -> bool { let d = a && b && c; d } @@ -257,7 +250,7 @@ mod logical_operators { d } - fn test_if_and_operator(a: bool, b: i64, c: bool) -> bool { + fn test_if_and_operator(a: bool, b: bool, c: bool) -> bool { if a && b && c { true } else { @@ -265,7 +258,7 @@ mod logical_operators { } } - fn test_if_or_operator(a: bool, b: i64, c: bool) -> bool { + fn test_if_or_operator(a: bool, b: bool, c: bool) -> bool { if a || b || c { true } else { @@ -287,9 +280,10 @@ mod logical_operators { } mod question_mark_operator { + use std::num; - fn test_question_mark_operator_1(s: &str) -> Option { - str.parse::()? + 4 + fn test_question_mark_operator_1(s: &str) -> Result { + Ok(s.parse::()? + 4) } fn test_question_mark_operator_2(b: Option) -> Option { @@ -301,6 +295,7 @@ mod question_mark_operator { } mod match_expression { + use std::convert::Infallible; fn test_match(maybe_digit: Option) -> i64 { match maybe_digit { @@ -321,7 +316,7 @@ mod match_expression { } } - fn test_match_and(cond: bool, r: Opton) -> bool { + fn test_match_and(cond: bool, r: Option) -> bool { (match r { Some(a) => a, _ => false, @@ -338,12 +333,12 @@ mod match_expression { mod let_statement { - fn test_let_match(a: Option) { - let Some(n) = a else { "Expected some" }; + fn test_let_match(a: Option) -> i64 { + let Some(n) = a else { panic!("Expected some") }; n } - fn test_let_with_return(m: Option) { + fn test_let_with_return(m: Option) -> bool { let ret = match m { Some(ret) => ret, None => return false, @@ -354,7 +349,7 @@ mod let_statement { mod patterns { - fn empty_tuple_pattern(unit: ()) -> void { + fn empty_tuple_pattern(unit: ()) -> () { let () = unit; return; } @@ -363,7 +358,7 @@ mod patterns { fn empty_struct_pattern(st: MyStruct) -> i64 { match st { - MyStruct {} => 1, + MyStruct { .. } => 1, } } @@ -372,7 +367,7 @@ mod patterns { ..0 => 1, 1..2 => 2, 5.. => 3, - .. => 4, + _ => 4, } } } @@ -380,7 +375,7 @@ mod patterns { mod divergence { fn test_infinite_loop() -> &'static str { loop { - 1 + () } "never reached" } @@ -391,7 +386,7 @@ mod async_await { println!("hello, world!"); } - async fn async_block() { + async fn async_block(b: bool) { let say_godbye = async { println!("godbye, everyone!"); }; @@ -403,17 +398,24 @@ mod async_await { say_how_are_you.await; say_godbye.await; noop.await; + + let lambda = |foo| async { + if b { + return async_block(true); + }; + foo + }; } } mod const_evaluation { - const PI: i64 = 3.14159; + const PI: f64 = 3.14159; const fn add_two(n: i64) -> i64 { n + 2 } - const A_NUMBER: i64 = if add_two(2) + 2 == 4 { PI } else { 0 }; + const A_NUMBER: f64 = if add_two(2) + 2 == 4 { PI } else { 0.0 }; fn const_block_assert() -> usize { // If this code ever gets executed, then the assertion has definitely @@ -444,6 +446,16 @@ fn dead_code() -> i64 { return 1; } +fn do_thing() {} + +fn condition_not_met() -> bool { + false +} + +fn do_next_thing() {} + +fn do_last_thing() {} + fn labelled_block1() -> i64 { let result = 'block: { do_thing(); @@ -457,19 +469,20 @@ fn labelled_block1() -> i64 { do_last_thing(); 3 }; + result } -fn labelled_block2() -> i64 { +fn labelled_block2() { let result = 'block: { let x: Option = None; let Some(y) = x else { break 'block 1; }; - x + 0 }; } -fn test_nested_function() { +fn test_nested_function2() { let mut x = 0; fn nested(x: &mut i64) { *x += 1; From bb8d0b4881aae0b20f0c7c4f99bcb6c70e845c84 Mon Sep 17 00:00:00 2001 From: Tom Hvitved Date: Tue, 19 Nov 2024 10:24:08 +0100 Subject: [PATCH 257/347] Rust: Handle early returns in `async` blocks in CFG --- rust/ql/lib/codeql/rust/controlflow/internal/Scope.qll | 3 +++ rust/ql/test/library-tests/controlflow/Cfg.expected | 1 + 2 files changed, 4 insertions(+) diff --git a/rust/ql/lib/codeql/rust/controlflow/internal/Scope.qll b/rust/ql/lib/codeql/rust/controlflow/internal/Scope.qll index 5a752abf4b9a..7b3367690ec6 100644 --- a/rust/ql/lib/codeql/rust/controlflow/internal/Scope.qll +++ b/rust/ql/lib/codeql/rust/controlflow/internal/Scope.qll @@ -22,6 +22,9 @@ final class AsyncBlockScope extends CfgScopeImpl, AsyncBlockExpr instanceof Expr override predicate scopeLast(AstNode last, Completion c) { last(super.getLastChildElement(), last, c) + or + last(super.getChildNode(_), last, c) and + not c instanceof NormalCompletion } } diff --git a/rust/ql/test/library-tests/controlflow/Cfg.expected b/rust/ql/test/library-tests/controlflow/Cfg.expected index 9b112133edd9..620837abc826 100644 --- a/rust/ql/test/library-tests/controlflow/Cfg.expected +++ b/rust/ql/test/library-tests/controlflow/Cfg.expected @@ -892,6 +892,7 @@ edges | test.rs:403:13:405:14 | ExprStmt | test.rs:403:16:403:16 | b | | | test.rs:403:16:403:16 | b | test.rs:403:13:405:13 | IfExpr | false | | test.rs:403:16:403:16 | b | test.rs:404:17:404:41 | ExprStmt | true | +| test.rs:404:17:404:40 | ReturnExpr | test.rs:402:28:407:9 | exit BlockExpr (normal) | return | | test.rs:404:17:404:41 | ExprStmt | test.rs:404:24:404:34 | async_block | | | test.rs:404:24:404:34 | async_block | test.rs:404:36:404:39 | true | | | test.rs:404:24:404:40 | CallExpr | test.rs:404:17:404:40 | ReturnExpr | | From e8677b46d531f839bdb0339fbfc1ef0a92af13f6 Mon Sep 17 00:00:00 2001 From: Paolo Tranquilli Date: Tue, 19 Nov 2024 10:33:53 +0100 Subject: [PATCH 258/347] Bazel: rename shortcut to `install` --- .github/workflows/cpp-swift-analysis.yml | 2 +- misc/bazel/pkg.bzl | 6 +++--- rust/README.md | 2 +- swift/README.md | 2 +- swift/actions/build-and-test/action.yml | 2 +- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/cpp-swift-analysis.yml b/.github/workflows/cpp-swift-analysis.yml index ef38cb893933..3af9c3c5e4ea 100644 --- a/.github/workflows/cpp-swift-analysis.yml +++ b/.github/workflows/cpp-swift-analysis.yml @@ -48,7 +48,7 @@ jobs: - name: "Build Swift extractor using Bazel" run: | bazel clean --expunge - bazel run //swift:installer --nouse_action_cache --noremote_accept_cached --noremote_upload_local_results --spawn_strategy=local + bazel run //swift:install --nouse_action_cache --noremote_accept_cached --noremote_upload_local_results --spawn_strategy=local bazel shutdown - name: Perform CodeQL Analysis diff --git a/misc/bazel/pkg.bzl b/misc/bazel/pkg.bzl index 104393605415..8b4fcbdbd862 100644 --- a/misc/bazel/pkg.bzl +++ b/misc/bazel/pkg.bzl @@ -451,7 +451,7 @@ def codeql_pack( This rule also provides a convenient installer target named `-installer`, with a path governed by `install_dest`. This installer is used for installing this pack into the source-tree, relative to the directory where the rule is used. See `codeql_pack_install` for more details. The first `codeql_pack` defined in a bazel package also aliases this - installer target with the `installer` name as a shortcut. + installer target with the `install` name as a shortcut. This function does not accept `visibility`, as packs are always public to make it easy to define pack groups. """ @@ -475,8 +475,8 @@ def codeql_pack( visibility = ["//visibility:public"], ) _codeql_pack_install(internal("installer"), [name], install_dest = install_dest, apply_pack_prefix = False) - if not native.existing_rule("installer"): - native.alias(name = "installer", actual = internal("installer")) + if not native.existing_rule("install"): + native.alias(name = "install", actual = internal("installer")) strip_prefix = _strip_prefix diff --git a/rust/README.md b/rust/README.md index 4be6372f266b..2f9a7503abb7 100644 --- a/rust/README.md +++ b/rust/README.md @@ -13,7 +13,7 @@ If you don't have the `semmle-code` repo you may need to install Bazel manually, This approach uses a released `codeql` version and is simpler to use for QL development. From your `semmle-code` directory run: ```bash -bazel run @codeql//rust:installer +bazel run @codeql//rust:install ``` You now need to create a [per-user CodeQL configuration file](https://docs.github.com/en/code-security/codeql-cli/using-the-advanced-functionality-of-the-codeql-cli/specifying-command-options-in-a-codeql-configuration-file#using-a-codeql-configuration-file) and specify the option: ``` diff --git a/swift/README.md b/swift/README.md index 79970d90d964..b5be374b5e70 100644 --- a/swift/README.md +++ b/swift/README.md @@ -13,7 +13,7 @@ brew install bazelisk then from the `ql` directory run ```bash -bazel run //swift:installer +bazel run //swift:install ``` If you are running on macOS and you encounter errors mentioning `XXX is unavailable: introduced in macOS YY.ZZ`, diff --git a/swift/actions/build-and-test/action.yml b/swift/actions/build-and-test/action.yml index 16a8e02a7a1c..4048560640b2 100644 --- a/swift/actions/build-and-test/action.yml +++ b/swift/actions/build-and-test/action.yml @@ -48,7 +48,7 @@ runs: - name: Build Swift extractor shell: bash run: | - bazel run //swift:installer + bazel run //swift:install - name: Run codegen tests if : ${{ github.event_name == 'pull_request' }} shell: bash From e3990b7d04db2ca3ac99c029a0afc131e695db0b Mon Sep 17 00:00:00 2001 From: Michael Nebel Date: Tue, 19 Nov 2024 10:56:19 +0100 Subject: [PATCH 259/347] C#: Add change-note. --- csharp/ql/lib/change-notes/2024-11-19-extractor-dotnet.md | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 csharp/ql/lib/change-notes/2024-11-19-extractor-dotnet.md diff --git a/csharp/ql/lib/change-notes/2024-11-19-extractor-dotnet.md b/csharp/ql/lib/change-notes/2024-11-19-extractor-dotnet.md new file mode 100644 index 000000000000..58185aa0b0ef --- /dev/null +++ b/csharp/ql/lib/change-notes/2024-11-19-extractor-dotnet.md @@ -0,0 +1,4 @@ +--- +category: minorAnalysis +--- +* .NET 9 is now required to build the C# extractor. From 3673c7c813cec3c382c29733174a6425890dd565 Mon Sep 17 00:00:00 2001 From: Geoffrey White <40627776+geoffw0@users.noreply.github.com> Date: Wed, 30 Oct 2024 17:56:20 +0000 Subject: [PATCH 260/347] Rust: Add SQL injection test cases (complete and functioning). --- .../query-tests/security/CWE-089/.gitignore | 2 + .../query-tests/security/CWE-089/cargo.toml | 15 ++ .../migrations/20241031153051_create.sql | 12 + .../test/query-tests/security/CWE-089/sqlx.rs | 217 ++++++++++++++++++ 4 files changed, 246 insertions(+) create mode 100644 rust/ql/test/query-tests/security/CWE-089/.gitignore create mode 100644 rust/ql/test/query-tests/security/CWE-089/cargo.toml create mode 100644 rust/ql/test/query-tests/security/CWE-089/migrations/20241031153051_create.sql create mode 100644 rust/ql/test/query-tests/security/CWE-089/sqlx.rs diff --git a/rust/ql/test/query-tests/security/CWE-089/.gitignore b/rust/ql/test/query-tests/security/CWE-089/.gitignore new file mode 100644 index 000000000000..bdcfa82b5d5c --- /dev/null +++ b/rust/ql/test/query-tests/security/CWE-089/.gitignore @@ -0,0 +1,2 @@ +# sqlite database +*.db* diff --git a/rust/ql/test/query-tests/security/CWE-089/cargo.toml b/rust/ql/test/query-tests/security/CWE-089/cargo.toml new file mode 100644 index 000000000000..0f9f0b75510e --- /dev/null +++ b/rust/ql/test/query-tests/security/CWE-089/cargo.toml @@ -0,0 +1,15 @@ +[workspace] + +[package] +name = "CWE-089-Test" +version = "0.1.0" +edition = "2021" + +[dependencies] +reqwest = { version = "0.12.9", features = ["blocking"] } +sqlx = { version = "0.8", features = ["mysql", "sqlite", "postgres", "runtime-async-std", "tls-native-tls"] } +futures = { version = "0.3" } + +[[bin]] +name = "sqlx" +path = "./sqlx.rs" diff --git a/rust/ql/test/query-tests/security/CWE-089/migrations/20241031153051_create.sql b/rust/ql/test/query-tests/security/CWE-089/migrations/20241031153051_create.sql new file mode 100644 index 000000000000..c7d989a7258c --- /dev/null +++ b/rust/ql/test/query-tests/security/CWE-089/migrations/20241031153051_create.sql @@ -0,0 +1,12 @@ +CREATE TABLE IF NOT EXISTS people +( + id INTEGER PRIMARY KEY NOT NULL, + firstname TEXT NOT NULL, + lastname TEXT NOT NULL +); + +INSERT INTO people +VALUES (1, "Alice", "Adams"); + +INSERT INTO people +VALUES (2, "Bob", "Becket"); diff --git a/rust/ql/test/query-tests/security/CWE-089/sqlx.rs b/rust/ql/test/query-tests/security/CWE-089/sqlx.rs new file mode 100644 index 000000000000..bf4cd7a96aec --- /dev/null +++ b/rust/ql/test/query-tests/security/CWE-089/sqlx.rs @@ -0,0 +1,217 @@ +use sqlx::Connection; +use sqlx::Executor; + +/** + * This test is designed to be "run" in two ways: + * - you can extract and analyze the code here using the CodeQL test runner in the usual way, + * verifying the that various vulnerabilities are detected. + * - you can compile and run the code using `cargo`, verifying that it really is a complete + * program that compiles, runs and executes SQL commands (the sqlite ones, at least). + * + * To do the latter: + * + * Install `sqlx`: + * ``` + * cargo install sqlx-cli + * ``` + * + * Create the database: + * ``` + * export DATABASE_URL="sqlite:sqlite_database.db" + * sqlx db create + * sqlx migrate run + * ``` + * + * Build and run: + * ``` + * cargo run + * ``` + * + * You can also rebuild the sqlx 'query cache' in the `.sqlx` subdirectory + * with: + * ``` + * cargo sqlx prepare + * ``` + * This allows the code (in particular the `prepare!` macro) to be built + * in the test without setting `DATABASE_URL` first. + */ + +async fn test_sqlx_mysql(url: &str, enable_remote: bool) -> Result<(), sqlx::Error> { + // connect through a MySql connection pool + let pool = sqlx::mysql::MySqlPool::connect(url).await?; + let mut conn = pool.acquire().await?; + + // construct queries (with extra variants) + let const_string = String::from("Alice"); + let arg_string = std::env::args().nth(1).unwrap_or(String::from("Alice")); // $ MISSING Source=args1 + let remote_string = reqwest::blocking::get("http://example.com/").unwrap().text().unwrap_or(String::from("Alice")); // $ MISSING Source=remote1 + let remote_number = remote_string.parse::().unwrap_or(0); + let safe_query_1 = String::from("SELECT * FROM people WHERE firstname='Alice'"); + let safe_query_2 = String::from("SELECT * FROM people WHERE firstname='") + &const_string + "'"; + let safe_query_3 = format!("SELECT * FROM people WHERE firstname='{remote_number}'"); + let unsafe_query_1 = &arg_string; + let unsafe_query_2 = &remote_string; + let unsafe_query_3 = String::from("SELECT * FROM people WHERE firstname='") + &remote_string + "'"; + let unsafe_query_4 = format!("SELECT * FROM people WHERE firstname='{remote_string}'"); + let prepared_query_1 = String::from("SELECT * FROM people WHERE firstname=?"); // (prepared arguments are safe) + + // direct execution + let _ = conn.execute(safe_query_1.as_str()).await?; + let _ = conn.execute(safe_query_2.as_str()).await?; + let _ = conn.execute(safe_query_3.as_str()).await?; + let _ = conn.execute(unsafe_query_1.as_str()).await?; // $ MISSING Alert[sql-injection]=args1 + if enable_remote { + let _ = conn.execute(unsafe_query_2.as_str()).await?; // $ MISSING Alert[sql-injection]=remote1 + let _ = conn.execute(unsafe_query_3.as_str()).await?; // $ MISSING Alert[sql-injection]=remote1 + let _ = conn.execute(unsafe_query_4.as_str()).await?; // $ MISSING Alert[sql-injection]=remote1 + } + + // prepared queries + let _ = sqlx::query(safe_query_1.as_str()).execute(&pool).await?; + let _ = sqlx::query(safe_query_2.as_str()).execute(&pool).await?; + let _ = sqlx::query(safe_query_3.as_str()).execute(&pool).await?; + let _ = sqlx::query(unsafe_query_1.as_str()).execute(&pool).await?; // $ MISSING Alert[sql-injection]=args1 + if enable_remote { + let _ = sqlx::query(unsafe_query_2.as_str()).execute(&pool).await?; // $ MISSING Alert[sql-injection]=remote1 + let _ = sqlx::query(unsafe_query_3.as_str()).execute(&pool).await?; // $ MISSING Alert[sql-injection]=remote1 + let _ = sqlx::query(unsafe_query_4.as_str()).execute(&pool).await?; // $ MISSING Alert[sql-injection]=remote1 + } + let _ = sqlx::query(prepared_query_1.as_str()).bind(const_string).execute(&pool).await?; + let _ = sqlx::query(prepared_query_1.as_str()).bind(arg_string).execute(&pool).await?; + if enable_remote { + let _ = sqlx::query(prepared_query_1.as_str()).bind(remote_string).execute(&pool).await?; + let _ = sqlx::query(prepared_query_1.as_str()).bind(remote_number).execute(&pool).await?; + } + + Ok(()) +} + +async fn test_sqlx_sqlite(url: &str, enable_remote: bool) -> Result<(), sqlx::Error> { + // connect through Sqlite, no connection pool + let mut conn = sqlx::sqlite::SqliteConnection::connect(url).await?; + + // construct queries + let const_string = String::from("Alice"); + let remote_string = reqwest::blocking::get("http://example.com/").unwrap().text().unwrap_or(String::from("Alice")); // $ MISSING Source=remote2 + let safe_query_1 = String::from("SELECT * FROM people WHERE firstname='") + &const_string + "'"; + let unsafe_query_1 = String::from("SELECT * FROM people WHERE firstname='") + &remote_string + "'"; + let prepared_query_1 = String::from("SELECT * FROM people WHERE firstname=?"); // (prepared arguments are safe) + + // direct execution (with extra variants) + let _ = conn.execute(safe_query_1.as_str()).await?; + if enable_remote { + let _ = conn.execute(unsafe_query_1.as_str()).await?; // $ MISSING Alert[sql-injection]=remote2 + } + // ... + let _ = sqlx::raw_sql(safe_query_1.as_str()).execute(&mut conn).await?; + if enable_remote { + let _ = sqlx::raw_sql(unsafe_query_1.as_str()).execute(&mut conn).await?; // $ MISSING Alert[sql-injection]=remote2 + } + + // prepared queries (with extra variants) + let _ = sqlx::query(safe_query_1.as_str()).execute(&mut conn).await?; + let _ = sqlx::query(prepared_query_1.as_str()).bind(&const_string).execute(&mut conn).await?; + if enable_remote { + let _ = sqlx::query(unsafe_query_1.as_str()).execute(&mut conn).await?; // $ MISSING Alert[sql-injection]=remote2 + let _ = sqlx::query(prepared_query_1.as_str()).bind(&remote_string).execute(&mut conn).await?; + } + // ... + let _ = sqlx::query(safe_query_1.as_str()).fetch(&mut conn); + let _ = sqlx::query(prepared_query_1.as_str()).bind(&const_string).fetch(&mut conn); + if enable_remote { + let _ = sqlx::query(unsafe_query_1.as_str()).fetch(&mut conn); // $ MISSING Alert[sql-injection]=remote2 + let _ = sqlx::query(prepared_query_1.as_str()).bind(&remote_string).fetch(&mut conn); + } + // ... + let row1: (i64, String, String) = sqlx::query_as(safe_query_1.as_str()).fetch_one(&mut conn).await?; + println!(" row1 = {:?}", row1); + let row2: (i64, String, String) = sqlx::query_as(prepared_query_1.as_str()).bind(&const_string).fetch_one(&mut conn).await?; + println!(" row2 = {:?}", row2); + if enable_remote { + let _: (i64, String, String) = sqlx::query_as(unsafe_query_1.as_str()).fetch_one(&mut conn).await?; // $ MISSING Alert[sql-injection]=remote2 + let _: (i64, String, String) = sqlx::query_as(prepared_query_1.as_str()).bind(&remote_string).fetch_one(&mut conn).await?; + } + // ... + let row3: (i64, String, String) = sqlx::query_as(safe_query_1.as_str()).fetch_optional(&mut conn).await?.expect("no data"); + println!(" row3 = {:?}", row3); + let row4: (i64, String, String) = sqlx::query_as(prepared_query_1.as_str()).bind(&const_string).fetch_optional(&mut conn).await?.expect("no data"); + println!(" row4 = {:?}", row4); + if enable_remote { + let _: (i64, String, String) = sqlx::query_as(unsafe_query_1.as_str()).fetch_optional(&mut conn).await?.expect("no data"); // $ MISSING Alert[sql-injection]=remote2 + let _: (i64, String, String) = sqlx::query_as(prepared_query_1.as_str()).bind(&remote_string).fetch_optional(&mut conn).await?.expect("no data"); + } + // ... + let _ = sqlx::query(safe_query_1.as_str()).fetch_all(&mut conn).await?; + let _ = sqlx::query(prepared_query_1.as_str()).bind(&const_string).fetch_all(&mut conn).await?; + let _ = sqlx::query("SELECT * FROM people WHERE firstname=?").bind(&const_string).fetch_all(&mut conn).await?; + if enable_remote { + let _ = sqlx::query(unsafe_query_1.as_str()).fetch_all(&mut conn).await?; // $ MISSING Alert[sql-injection]=remote2 + let _ = sqlx::query(prepared_query_1.as_str()).bind(&remote_string).fetch_all(&mut conn).await?; + let _ = sqlx::query("SELECT * FROM people WHERE firstname=?").bind(&remote_string).fetch_all(&mut conn).await?; + } + // ... + let _ = sqlx::query!("SELECT * FROM people WHERE firstname=$1", const_string).fetch_all(&mut conn).await?; // (only takes string literals, so can't be vulnerable) + if enable_remote { + let _ = sqlx::query!("SELECT * FROM people WHERE firstname=$1", remote_string).fetch_all(&mut conn).await?; + } + + Ok(()) +} + +async fn test_sqlx_postgres(url: &str, enable_remote: bool) -> Result<(), sqlx::Error> { + // connect through a PostGres connection pool + let pool = sqlx::postgres::PgPool::connect(url).await?; + let mut conn = pool.acquire().await?; + + // construct queries + let const_string = String::from("Alice"); + let remote_string = reqwest::blocking::get("http://example.com/").unwrap().text().unwrap_or(String::from("Alice")); // $ MISSING Source=remote3 + let safe_query_1 = String::from("SELECT * FROM people WHERE firstname='") + &const_string + "'"; + let unsafe_query_1 = String::from("SELECT * FROM people WHERE firstname='") + &remote_string + "'"; + let prepared_query_1 = String::from("SELECT * FROM people WHERE firstname=$1"); // (prepared arguments are safe) + + // direct execution + let _ = conn.execute(safe_query_1.as_str()).await?; + if enable_remote { + let _ = conn.execute(unsafe_query_1.as_str()).await?; // $ MISSING Alert[sql-injection]=remote3 + } + + // prepared queries + let _ = sqlx::query(safe_query_1.as_str()).execute(&pool).await?; + let _ = sqlx::query(prepared_query_1.as_str()).bind(&const_string).execute(&pool).await?; + if enable_remote { + let _ = sqlx::query(unsafe_query_1.as_str()).execute(&pool).await?; // $ MISSING Alert[sql-injection]=remote3 + let _ = sqlx::query(prepared_query_1.as_str()).bind(&remote_string).execute(&pool).await?; + } + + Ok(()) +} + +fn main() { + println!("--- CWE-089 sqlx.rs test ---"); + + // we don't *actually* use data from a remote source unless we're explicitly told to at the + // command line; that's because this test is designed to be runnable, and we don't really + // want to expose the test database to potential SQL injection from http://example.com/ - + // no matter how unlikely, local and compartmentalized that may seem. + let enable_remote = std::env::args().nth(1) == Some(String::from("ENABLE_REMOTE")); + println!("enable_remote = {enable_remote}"); + + println!("test_sqlx_mysql..."); + match futures::executor::block_on(test_sqlx_mysql("", enable_remote)) { + Ok(_) => println!(" successful!"), + Err(e) => println!(" error: {}", e), + } + + println!("test_sqlx_sqlite..."); + match futures::executor::block_on(test_sqlx_sqlite("sqlite:sqlite_database.db", enable_remote)) { + Ok(_) => println!(" successful!"), + Err(e) => println!(" error: {}", e), + } + + println!("test_sqlx_postgres..."); + match futures::executor::block_on(test_sqlx_postgres("", enable_remote)) { + Ok(_) => println!(" successful!"), + Err(e) => println!(" error: {}", e), + } +} From 28d0ad94d503d76bc95cf88de7605b97a372875a Mon Sep 17 00:00:00 2001 From: Geoffrey White <40627776+geoffw0@users.noreply.github.com> Date: Thu, 31 Oct 2024 17:56:17 +0000 Subject: [PATCH 261/347] Rust: Add placeholder SQL injection query, linked in test. --- .../queries/security/CWE-089/SqlInjection.ql | 22 +++++++++++++++++++ .../security/CWE-089/SqlInjection.expected | 0 .../security/CWE-089/SqlInjection.qlref | 2 ++ 3 files changed, 24 insertions(+) create mode 100644 rust/ql/src/queries/security/CWE-089/SqlInjection.ql create mode 100644 rust/ql/test/query-tests/security/CWE-089/SqlInjection.expected create mode 100644 rust/ql/test/query-tests/security/CWE-089/SqlInjection.qlref diff --git a/rust/ql/src/queries/security/CWE-089/SqlInjection.ql b/rust/ql/src/queries/security/CWE-089/SqlInjection.ql new file mode 100644 index 000000000000..7d24d5d12070 --- /dev/null +++ b/rust/ql/src/queries/security/CWE-089/SqlInjection.ql @@ -0,0 +1,22 @@ +/** + * @name Database query built from user-controlled sources + * @description Building a database query from user-controlled sources is vulnerable to insertion of malicious code by the user. + * @kind path-problem + * @problem.severity error + * @security-severity 8.8 + * @precision high + * @id rust/sql-injection + * @tags security + * external/cwe/cwe-089 + */ + +import codeql.rust.dataflow.DataFlow +/*import codeql.rust.security.SqlInjectionQuery +import SqlInjectionFlow::PathGraph + +from SqlInjectionFlow::PathNode sourceNode, SqlInjectionFlow::PathNode sinkNode +where SqlInjectionFlow::flowPath(sourceNode, sinkNode) +select sinkNode.getNode(), sourceNode, sinkNode, "This query depends on a $@.", + sourceNode.getNode(), "user-provided value" +*/ +select 0 diff --git a/rust/ql/test/query-tests/security/CWE-089/SqlInjection.expected b/rust/ql/test/query-tests/security/CWE-089/SqlInjection.expected new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/rust/ql/test/query-tests/security/CWE-089/SqlInjection.qlref b/rust/ql/test/query-tests/security/CWE-089/SqlInjection.qlref new file mode 100644 index 000000000000..504d27ff30cc --- /dev/null +++ b/rust/ql/test/query-tests/security/CWE-089/SqlInjection.qlref @@ -0,0 +1,2 @@ +query: queries/security/CWE-089/SqlInjection.ql +postprocess: utils/InlineExpectationsTestQuery.ql From 2df565c84f1a5e8a886797b6cbe9d1ed315c4c3d Mon Sep 17 00:00:00 2001 From: Geoffrey White <40627776+geoffw0@users.noreply.github.com> Date: Mon, 18 Nov 2024 15:24:33 +0000 Subject: [PATCH 262/347] Rust: Add options.yml and sqlx 'query cache' (result of 'sqlx prepare') so that the query test can function. --- ...b6da5ed65c28f666a68c4d73a1918f0eaa6f6.json | 32 +++++++++++++++++++ .../security/CWE-089/SqlInjection.expected | 1 + .../CWE-089/{cargo.toml => cargo.toml.manual} | 0 .../query-tests/security/CWE-089/options.yml | 5 +++ .../test/query-tests/security/CWE-089/sqlx.rs | 3 +- 5 files changed, 40 insertions(+), 1 deletion(-) create mode 100644 rust/ql/test/query-tests/security/CWE-089/.sqlx/query-c996a36820ff0b98021fa553b09b6da5ed65c28f666a68c4d73a1918f0eaa6f6.json rename rust/ql/test/query-tests/security/CWE-089/{cargo.toml => cargo.toml.manual} (100%) create mode 100644 rust/ql/test/query-tests/security/CWE-089/options.yml diff --git a/rust/ql/test/query-tests/security/CWE-089/.sqlx/query-c996a36820ff0b98021fa553b09b6da5ed65c28f666a68c4d73a1918f0eaa6f6.json b/rust/ql/test/query-tests/security/CWE-089/.sqlx/query-c996a36820ff0b98021fa553b09b6da5ed65c28f666a68c4d73a1918f0eaa6f6.json new file mode 100644 index 000000000000..a4493e90c37d --- /dev/null +++ b/rust/ql/test/query-tests/security/CWE-089/.sqlx/query-c996a36820ff0b98021fa553b09b6da5ed65c28f666a68c4d73a1918f0eaa6f6.json @@ -0,0 +1,32 @@ +{ + "db_name": "SQLite", + "query": "SELECT * FROM people WHERE firstname=$1", + "describe": { + "columns": [ + { + "name": "id", + "ordinal": 0, + "type_info": "Integer" + }, + { + "name": "firstname", + "ordinal": 1, + "type_info": "Text" + }, + { + "name": "lastname", + "ordinal": 2, + "type_info": "Text" + } + ], + "parameters": { + "Right": 1 + }, + "nullable": [ + false, + false, + false + ] + }, + "hash": "c996a36820ff0b98021fa553b09b6da5ed65c28f666a68c4d73a1918f0eaa6f6" +} diff --git a/rust/ql/test/query-tests/security/CWE-089/SqlInjection.expected b/rust/ql/test/query-tests/security/CWE-089/SqlInjection.expected index e69de29bb2d1..f082a67fcf66 100644 --- a/rust/ql/test/query-tests/security/CWE-089/SqlInjection.expected +++ b/rust/ql/test/query-tests/security/CWE-089/SqlInjection.expected @@ -0,0 +1 @@ +| 0 | diff --git a/rust/ql/test/query-tests/security/CWE-089/cargo.toml b/rust/ql/test/query-tests/security/CWE-089/cargo.toml.manual similarity index 100% rename from rust/ql/test/query-tests/security/CWE-089/cargo.toml rename to rust/ql/test/query-tests/security/CWE-089/cargo.toml.manual diff --git a/rust/ql/test/query-tests/security/CWE-089/options.yml b/rust/ql/test/query-tests/security/CWE-089/options.yml new file mode 100644 index 000000000000..24744b7dfb45 --- /dev/null +++ b/rust/ql/test/query-tests/security/CWE-089/options.yml @@ -0,0 +1,5 @@ +qltest_cargo_check: true +qltest_dependencies: + - reqwest = { version = "0.12.9", features = ["blocking"] } + - sqlx = { version = "0.8", features = ["mysql", "sqlite", "postgres", "runtime-async-std", "tls-native-tls"] } + - futures = { version = "0.3" } diff --git a/rust/ql/test/query-tests/security/CWE-089/sqlx.rs b/rust/ql/test/query-tests/security/CWE-089/sqlx.rs index bf4cd7a96aec..b5cc25000f99 100644 --- a/rust/ql/test/query-tests/security/CWE-089/sqlx.rs +++ b/rust/ql/test/query-tests/security/CWE-089/sqlx.rs @@ -22,8 +22,9 @@ use sqlx::Executor; * sqlx migrate run * ``` * - * Build and run: + * Build and run with the provided `cargo.toml.manual`: * ``` + * cp cargo.toml.manual cargo.toml * cargo run * ``` * From bacc37d886a4122a8f374c8d6955dfc6c127b935 Mon Sep 17 00:00:00 2001 From: Simon Friis Vindum Date: Tue, 19 Nov 2024 12:07:26 +0100 Subject: [PATCH 263/347] Rust: Add additional tests for intraprocedural data flow --- .../dataflow/local/DataFlowStep.expected | 92 +++++++----- .../dataflow/local/inline-flow.expected | 8 ++ .../dataflow/local/inline-flow.ql | 12 ++ .../test/library-tests/dataflow/local/main.rs | 131 +++++++++++++++--- 4 files changed, 190 insertions(+), 53 deletions(-) create mode 100644 rust/ql/test/library-tests/dataflow/local/inline-flow.expected create mode 100644 rust/ql/test/library-tests/dataflow/local/inline-flow.ql diff --git a/rust/ql/test/library-tests/dataflow/local/DataFlowStep.expected b/rust/ql/test/library-tests/dataflow/local/DataFlowStep.expected index a9631f78affe..7803c981855b 100644 --- a/rust/ql/test/library-tests/dataflow/local/DataFlowStep.expected +++ b/rust/ql/test/library-tests/dataflow/local/DataFlowStep.expected @@ -1,31 +1,61 @@ -| main.rs:2:9:2:9 | [SSA] s | main.rs:3:33:3:33 | s | -| main.rs:2:13:2:19 | "Hello" | main.rs:2:9:2:9 | s | -| main.rs:6:18:6:21 | [SSA] cond | main.rs:9:16:9:19 | cond | -| main.rs:7:9:7:9 | [SSA] a | main.rs:10:9:10:9 | a | -| main.rs:7:13:7:13 | 1 | main.rs:7:9:7:9 | a | -| main.rs:8:9:8:9 | [SSA] b | main.rs:12:9:12:9 | b | -| main.rs:8:13:8:13 | 2 | main.rs:8:9:8:9 | b | -| main.rs:9:9:9:9 | [SSA] c | main.rs:14:5:14:5 | c | -| main.rs:9:13:13:5 | IfExpr | main.rs:9:9:9:9 | c | -| main.rs:9:21:11:5 | BlockExpr | main.rs:9:13:13:5 | IfExpr | -| main.rs:10:9:10:9 | a | main.rs:9:21:11:5 | BlockExpr | -| main.rs:11:12:13:5 | BlockExpr | main.rs:9:13:13:5 | IfExpr | -| main.rs:12:9:12:9 | b | main.rs:11:12:13:5 | BlockExpr | -| main.rs:14:5:14:5 | c | main.rs:6:37:15:1 | BlockExpr | -| main.rs:18:9:18:9 | [SSA] a | main.rs:20:15:20:15 | a | -| main.rs:18:13:18:13 | 1 | main.rs:18:9:18:9 | a | -| main.rs:19:9:19:9 | [SSA] b | main.rs:22:5:22:5 | b | -| main.rs:19:13:21:5 | LoopExpr | main.rs:19:9:19:9 | b | -| main.rs:20:9:20:15 | BreakExpr | main.rs:19:13:21:5 | LoopExpr | -| main.rs:20:15:20:15 | a | main.rs:20:9:20:15 | BreakExpr | -| main.rs:22:5:22:5 | b | main.rs:17:29:23:1 | BlockExpr | -| main.rs:26:17:26:17 | 1 | main.rs:26:9:26:13 | i | -| main.rs:27:5:27:5 | [SSA] i | main.rs:28:5:28:5 | i | -| main.rs:27:5:27:5 | i | main.rs:27:5:27:5 | [SSA] i | -| main.rs:28:5:28:5 | i | main.rs:25:24:29:1 | BlockExpr | -| main.rs:31:21:31:21 | [SSA] a | main.rs:33:20:33:20 | a | -| main.rs:31:29:31:29 | [SSA] b | main.rs:34:17:34:17 | b | -| main.rs:31:37:31:37 | [SSA] c | main.rs:32:11:32:11 | c | -| main.rs:32:5:35:5 | MatchExpr | main.rs:31:60:36:1 | BlockExpr | -| main.rs:33:20:33:20 | a | main.rs:32:5:35:5 | MatchExpr | -| main.rs:34:17:34:17 | b | main.rs:32:5:35:5 | MatchExpr | +| main.rs:3:11:3:11 | [SSA] i | main.rs:4:12:4:12 | i | +| main.rs:4:5:4:12 | ... + ... | main.rs:3:26:5:1 | BlockExpr | +| main.rs:7:9:7:9 | [SSA] s | main.rs:8:20:8:20 | s | +| main.rs:19:9:19:9 | [SSA] s | main.rs:20:10:20:10 | s | +| main.rs:19:13:19:21 | CallExpr | main.rs:19:9:19:9 | s | +| main.rs:23:18:23:21 | [SSA] cond | main.rs:26:16:26:19 | cond | +| main.rs:24:9:24:9 | [SSA] a | main.rs:26:23:26:23 | a | +| main.rs:24:13:24:21 | CallExpr | main.rs:24:9:24:9 | a | +| main.rs:25:9:25:9 | [SSA] b | main.rs:26:34:26:34 | b | +| main.rs:25:13:25:13 | 2 | main.rs:25:9:25:9 | b | +| main.rs:26:9:26:9 | [SSA] c | main.rs:27:10:27:10 | c | +| main.rs:26:13:26:36 | IfExpr | main.rs:26:9:26:9 | c | +| main.rs:26:21:26:25 | BlockExpr | main.rs:26:13:26:36 | IfExpr | +| main.rs:26:23:26:23 | a | main.rs:26:21:26:25 | BlockExpr | +| main.rs:26:32:26:36 | BlockExpr | main.rs:26:13:26:36 | IfExpr | +| main.rs:26:34:26:34 | b | main.rs:26:32:26:36 | BlockExpr | +| main.rs:30:21:30:21 | [SSA] m | main.rs:32:19:32:19 | m | +| main.rs:31:9:31:9 | [SSA] a | main.rs:33:20:33:20 | a | +| main.rs:31:13:31:21 | CallExpr | main.rs:31:9:31:9 | a | +| main.rs:32:9:32:9 | [SSA] b | main.rs:36:10:36:10 | b | +| main.rs:32:13:35:5 | MatchExpr | main.rs:32:9:32:9 | b | +| main.rs:33:20:33:20 | a | main.rs:32:13:35:5 | MatchExpr | +| main.rs:34:17:34:17 | 0 | main.rs:32:13:35:5 | MatchExpr | +| main.rs:40:9:40:9 | [SSA] a | main.rs:43:10:43:10 | a | +| main.rs:40:13:42:5 | LoopExpr | main.rs:40:9:40:9 | a | +| main.rs:41:9:41:15 | BreakExpr | main.rs:40:13:42:5 | LoopExpr | +| main.rs:41:15:41:15 | 1 | main.rs:41:9:41:15 | BreakExpr | +| main.rs:44:9:44:9 | [SSA] b | main.rs:47:10:47:10 | b | +| main.rs:44:13:46:5 | LoopExpr | main.rs:44:9:44:9 | b | +| main.rs:45:9:45:23 | BreakExpr | main.rs:44:13:46:5 | LoopExpr | +| main.rs:45:15:45:23 | CallExpr | main.rs:45:9:45:23 | BreakExpr | +| main.rs:51:9:51:13 | [SSA] i | main.rs:52:10:52:10 | i | +| main.rs:51:17:51:17 | 1 | main.rs:51:9:51:13 | i | +| main.rs:53:5:53:5 | [SSA] i | main.rs:54:10:54:10 | i | +| main.rs:53:5:53:5 | i | main.rs:53:5:53:5 | [SSA] i | +| main.rs:61:9:61:9 | [SSA] i | main.rs:62:11:62:11 | i | +| main.rs:61:13:61:31 | CallExpr | main.rs:61:9:61:9 | i | +| main.rs:66:9:66:9 | [SSA] a | main.rs:67:10:67:10 | a | +| main.rs:66:13:66:26 | TupleExpr | main.rs:66:9:66:9 | a | +| main.rs:67:10:67:10 | a | main.rs:68:10:68:10 | a | +| main.rs:78:9:78:9 | [SSA] p | main.rs:83:10:83:10 | p | +| main.rs:78:13:82:5 | RecordExpr | main.rs:78:9:78:9 | p | +| main.rs:83:10:83:10 | p | main.rs:84:10:84:10 | p | +| main.rs:84:10:84:10 | p | main.rs:85:10:85:10 | p | +| main.rs:92:9:92:9 | [SSA] p | main.rs:97:38:97:38 | p | +| main.rs:92:13:96:5 | RecordExpr | main.rs:92:9:92:9 | p | +| main.rs:97:20:97:20 | [SSA] a | main.rs:98:10:98:10 | a | +| main.rs:97:26:97:26 | [SSA] b | main.rs:99:10:99:10 | b | +| main.rs:97:32:97:32 | [SSA] c | main.rs:100:10:100:10 | c | +| main.rs:97:38:97:38 | p | main.rs:97:9:97:34 | RecordPat | +| main.rs:104:9:104:10 | [SSA] s1 | main.rs:106:11:106:12 | s1 | +| main.rs:104:14:104:28 | CallExpr | main.rs:104:9:104:10 | s1 | +| main.rs:105:9:105:10 | [SSA] s2 | main.rs:110:11:110:12 | s2 | +| main.rs:105:14:105:20 | CallExpr | main.rs:105:9:105:10 | s2 | +| main.rs:107:14:107:14 | [SSA] n | main.rs:107:25:107:25 | n | +| main.rs:107:20:107:26 | CallExpr | main.rs:106:5:109:5 | MatchExpr | +| main.rs:108:17:108:23 | CallExpr | main.rs:106:5:109:5 | MatchExpr | +| main.rs:110:5:113:5 | MatchExpr | main.rs:103:27:114:1 | BlockExpr | +| main.rs:111:14:111:14 | [SSA] n | main.rs:111:25:111:25 | n | +| main.rs:111:20:111:26 | CallExpr | main.rs:110:5:113:5 | MatchExpr | +| main.rs:112:17:112:23 | CallExpr | main.rs:110:5:113:5 | MatchExpr | diff --git a/rust/ql/test/library-tests/dataflow/local/inline-flow.expected b/rust/ql/test/library-tests/dataflow/local/inline-flow.expected new file mode 100644 index 000000000000..816045223e29 --- /dev/null +++ b/rust/ql/test/library-tests/dataflow/local/inline-flow.expected @@ -0,0 +1,8 @@ +models +edges +nodes +| main.rs:15:10:15:18 | CallExpr | semmle.label | CallExpr | +subpaths +testFailures +#select +| main.rs:15:10:15:18 | CallExpr | main.rs:15:10:15:18 | CallExpr | main.rs:15:10:15:18 | CallExpr | $@ | main.rs:15:10:15:18 | CallExpr | CallExpr | diff --git a/rust/ql/test/library-tests/dataflow/local/inline-flow.ql b/rust/ql/test/library-tests/dataflow/local/inline-flow.ql new file mode 100644 index 000000000000..ad553fe548dc --- /dev/null +++ b/rust/ql/test/library-tests/dataflow/local/inline-flow.ql @@ -0,0 +1,12 @@ +/** + * @kind path-problem + */ + +import rust +import utils.InlineFlowTest +import DefaultFlowTest +import ValueFlow::PathGraph + +from ValueFlow::PathNode source, ValueFlow::PathNode sink +where ValueFlow::flowPath(source, sink) +select sink, source, sink, "$@", source, source.toString() diff --git a/rust/ql/test/library-tests/dataflow/local/main.rs b/rust/ql/test/library-tests/dataflow/local/main.rs index e607ad357591..f4c2eeec2e13 100644 --- a/rust/ql/test/library-tests/dataflow/local/main.rs +++ b/rust/ql/test/library-tests/dataflow/local/main.rs @@ -1,41 +1,128 @@ -fn variable() { - let s = "Hello"; - println!("{:?} data flow!", s); +// Tests for intraprocedural data flow. + +fn source(i: i64) -> i64 { + 1000 + i +} + +fn sink(s: i64) { + println!("{}", s); +} + +// ----------------------------------------------------------------------------- +// Simple data flow through expressions and assignments + +fn direct() { + sink(source(1)); // $ hasValueFlow=1 +} + +fn variable_usage() { + let s = source(1); + sink(s); // $ MISSING: hasValueFlow=1 } -fn if_expression(cond: bool) -> i64 { - let a = 1; +fn if_expression(cond: bool) { + let a = source(1); let b = 2; - let c = if cond { - a - } else { - b + let c = if cond { a } else { b }; + sink(c); // $ MISSING: hasValueFlow=1 +} + +fn match_expression(m: Option) { + let a = source(1); + let b = match m { + Some(_) => a, + None => 0, }; - c + sink(b); // $ MISSING: hasValueFlow=1 } -fn loop_expression() -> i64 { - let a = 1; +fn loop_with_break() { + let a = loop { + break 1; + }; + sink(a); let b = loop { - break a; + break source(1); }; - b + sink(b); // $ MISSING: hasValueFlow=1 } -fn assignment() -> i64 { +fn assignment() { let mut i = 1; - i = 2; - i + sink(i); + i = source(2); + sink(i); // $ MISSING: hasValueFlow=2 } -fn match_expression(a: i64, b: i64, c: Option) -> i64 { - match c { - Some(_) => a, - None => b, +// ----------------------------------------------------------------------------- +// Data flow through data structures by writing and reading + +fn box_deref() { + let i = Box::new(source(1)); + sink(*i); // $ MISSING: hasValueFlow=1 +} + +fn tuple() { + let a = (source(1), 2); + sink(a.0); // $ MISSING: hasValueFlow=1 + sink(a.1); +} + +struct Point { + x: i64, + y: i64, + z: i64, +} + +fn struct_field() { + let p = Point { + x: source(1), + y: 2, + z: source(3), + }; + sink(p.x); // MISSING: hasValueFlow=1 + sink(p.y); + sink(p.z); // MISSING: hasValueFlow=3 +} + +// ----------------------------------------------------------------------------- +// Data flow through data structures by pattern matching + +fn struct_pattern_match() { + let p = Point { + x: source(1), + y: 2, + z: source(3), + }; + let Point { x: a, y: b, z: c } = p; + sink(a); // MISSING: hasValueFlow=1 + sink(b); + sink(c); // MISSING: hasValueFlow=3 +} + +fn option_pattern_match() { + let s1 = Some(source(1)); + let s2 = Some(2); + match s1 { + Some(n) => sink(n), // MISSING: hasValueFlow=3 + None => sink(0), + } + match s2 { + Some(n) => sink(n), + None => sink(0), } } fn main() { - variable(); + direct(); + variable_usage(); if_expression(true); + match_expression(Some(0)); + loop_with_break(); + assignment(); + box_deref(); + tuple(); + struct_field(); + struct_pattern_match(); + option_pattern_match(); } From 6a7fb060866a702e774951f302b234a9a3aa4db0 Mon Sep 17 00:00:00 2001 From: Geoffrey White <40627776+geoffw0@users.noreply.github.com> Date: Thu, 31 Oct 2024 18:24:05 +0000 Subject: [PATCH 264/347] Rust: Add .qhelp and examples. --- .../security/CWE-089/SqlInjection.qhelp | 39 +++++++++++++++++++ .../security/CWE-089/SqlInjectionBad.rs | 7 ++++ .../security/CWE-089/SqlInjectionGood.rs | 5 +++ 3 files changed, 51 insertions(+) create mode 100644 rust/ql/src/queries/security/CWE-089/SqlInjection.qhelp create mode 100644 rust/ql/src/queries/security/CWE-089/SqlInjectionBad.rs create mode 100644 rust/ql/src/queries/security/CWE-089/SqlInjectionGood.rs diff --git a/rust/ql/src/queries/security/CWE-089/SqlInjection.qhelp b/rust/ql/src/queries/security/CWE-089/SqlInjection.qhelp new file mode 100644 index 000000000000..bcf54fca5828 --- /dev/null +++ b/rust/ql/src/queries/security/CWE-089/SqlInjection.qhelp @@ -0,0 +1,39 @@ + + + + +

+If a database query (such as a SQL query) is built from user-provided data without sufficient sanitization, a user may be able to run malicious database queries. An attacker can craft the part of the query they control to change the overall meaning of the query. +

+ +
+ + +

+Most database connector libraries offer a way to safely embed untrusted data into a query using query parameters or prepared statements. You should use these features to build queries, rather than string concatenation or similar methods. You can also escape (sanitize) user-controlled strings so that they can be included directly in an SQL command. A library function should be used for escaping, because this approach is only safe if the escaping function is robust against all possible inputs. +

+ +
+ + +

+In the following examples, an SQL query is prepared using string formatting to directly include a user-controlled value remote_controlled_string. An attacker could craft remote_controlled_string to change the overall meaning of the SQL query. +

+ + + +

A better way to do this is with a prepared statement, binding remote_controlled_string to a parameter of that statement. An attacker who controls remote_controlled_string now cannot change the overall meaning of the query. +

+ + + +
+ + +
  • Wikipedia: SQL injection.
  • +
  • OWASP: SQL Injection Prevention Cheat Sheet.
  • + + + diff --git a/rust/ql/src/queries/security/CWE-089/SqlInjectionBad.rs b/rust/ql/src/queries/security/CWE-089/SqlInjectionBad.rs new file mode 100644 index 000000000000..cd0086b7eb27 --- /dev/null +++ b/rust/ql/src/queries/security/CWE-089/SqlInjectionBad.rs @@ -0,0 +1,7 @@ +// with SQLx + +let unsafe_query = format!("SELECT * FROM people WHERE firstname='{remote_controlled_string}'"); + +let _ = conn.execute(unsafe_query.as_str()).await?; // BAD (arbitrary SQL injection is possible) + +let _ = sqlx::query(unsafe_query.as_str()).fetch_all(&mut conn).await?; // $ BAD (arbitrary SQL injection is possible) diff --git a/rust/ql/src/queries/security/CWE-089/SqlInjectionGood.rs b/rust/ql/src/queries/security/CWE-089/SqlInjectionGood.rs new file mode 100644 index 000000000000..238665cc2739 --- /dev/null +++ b/rust/ql/src/queries/security/CWE-089/SqlInjectionGood.rs @@ -0,0 +1,5 @@ +// with SQLx + +let prepared_query = "SELECT * FROM people WHERE firstname=?"; + +let _ = sqlx::query(prepared_query_1).bind(&remote_controlled_string).fetch_all(&mut conn).await?; // GOOD (prepared statement with bound parameter) From c7c6924fdacb8779a717b1662e3fe0d6108b34e9 Mon Sep 17 00:00:00 2001 From: Geoffrey White <40627776+geoffw0@users.noreply.github.com> Date: Tue, 19 Nov 2024 09:08:00 +0000 Subject: [PATCH 265/347] Rust: Implement query, source/sink/barrier classes and concepts. All of this is framework, nothing is concretely modelled yet. --- rust/ql/lib/codeql/rust/Concepts.qll | 138 ++++++++++++++++++ .../rust/security/SqlInjectionExtensions.qll | 50 +++++++ rust/ql/lib/qlpack.yml | 1 + .../queries/security/CWE-089/SqlInjection.ql | 22 ++- .../security/CWE-089/SqlInjection.expected | 5 +- 5 files changed, 212 insertions(+), 4 deletions(-) create mode 100644 rust/ql/lib/codeql/rust/Concepts.qll create mode 100644 rust/ql/lib/codeql/rust/security/SqlInjectionExtensions.qll diff --git a/rust/ql/lib/codeql/rust/Concepts.qll b/rust/ql/lib/codeql/rust/Concepts.qll new file mode 100644 index 000000000000..f64d2444573c --- /dev/null +++ b/rust/ql/lib/codeql/rust/Concepts.qll @@ -0,0 +1,138 @@ +/** + * Provides abstract classes representing generic concepts such as file system + * access or system command execution, for which individual framework libraries + * provide concrete subclasses. + */ + +private import codeql.rust.dataflow.DataFlow +private import codeql.threatmodels.ThreatModels + +/** + * A data flow source for a specific threat-model. + * + * Extend this class to refine existing API models. If you want to model new APIs, + * extend `ThreatModelSource::Range` instead. + */ +class ThreatModelSource extends DataFlow::Node instanceof ThreatModelSource::Range { + /** + * Gets a string that represents the source kind with respect to threat modeling. + * + * See + * - https://github.com/github/codeql/blob/main/docs/codeql/reusables/threat-model-description.rst + * - https://github.com/github/codeql/blob/main/shared/threat-models/ext/threat-model-grouping.model.yml + */ + string getThreatModel() { result = super.getThreatModel() } + + /** + * Gets a string that describes the type of this threat-model source. + */ + string getSourceType() { result = super.getSourceType() } +} + +/** + * Provides a class for modeling new sources for specific threat-models. + */ +module ThreatModelSource { + /** + * A data flow source, for a specific threat-model. + */ + abstract class Range extends DataFlow::Node { + /** + * Gets a string that represents the source kind with respect to threat modeling. + */ + abstract string getThreatModel(); + + /** + * Gets a string that describes the type of this threat-model source. + */ + abstract string getSourceType(); + } +} + +/** + * A data flow source that is enabled in the current threat model configuration. + */ +class ActiveThreatModelSource extends ThreatModelSource { + ActiveThreatModelSource() { + currentThreatModel(this.getThreatModel()) + } +} + +/** + * A data-flow node that constructs a SQL statement. + * + * Often, it is worthy of an alert if a SQL statement is constructed such that + * executing it would be a security risk. + * + * If it is important that the SQL statement is executed, use `SqlExecution`. + * + * Extend this class to refine existing API models. If you want to model new APIs, + * extend `SqlConstruction::Range` instead. + */ +class SqlConstruction extends DataFlow::Node instanceof SqlConstruction::Range { + /** + * Gets the argument that specifies the SQL statements to be constructed. + */ + DataFlow::Node getSql() { result = super.getSql() } +} + +/** + * Provides a class for modeling new SQL execution APIs. + */ +module SqlConstruction { + /** + * A data-flow node that constructs a SQL statement. + */ + abstract class Range extends DataFlow::Node { + /** + * Gets the argument that specifies the SQL statements to be constructed. + */ + abstract DataFlow::Node getSql(); + } +} + +/** + * A data-flow node that executes SQL statements. + * + * If the context of interest is such that merely constructing a SQL statement + * would be valuable to report, consider using `SqlConstruction`. + * + * Extend this class to refine existing API models. If you want to model new APIs, + * extend `SqlExecution::Range` instead. + */ +class SqlExecution extends DataFlow::Node instanceof SqlExecution::Range { + /** + * Gets the argument that specifies the SQL statements to be executed. + */ + DataFlow::Node getSql() { result = super.getSql() } +} + +/** + * Provides a class for modeling new SQL execution APIs. + */ +module SqlExecution { + /** + * A data-flow node that executes SQL statements. + */ + abstract class Range extends DataFlow::Node { + /** + * Gets the argument that specifies the SQL statements to be executed. + */ + abstract DataFlow::Node getSql(); + } +} + +/** + * A data-flow node that performs SQL sanitization. + */ +class SqlSanitization extends DataFlow::Node instanceof SqlSanitization::Range { } + +/** + * Provides a class for modeling new SQL sanitization APIs. + */ +module SqlSanitization { + /** + * A data-flow node that performs SQL sanitization. + */ + abstract class Range extends DataFlow::Node { } +} diff --git a/rust/ql/lib/codeql/rust/security/SqlInjectionExtensions.qll b/rust/ql/lib/codeql/rust/security/SqlInjectionExtensions.qll new file mode 100644 index 000000000000..db6239d78110 --- /dev/null +++ b/rust/ql/lib/codeql/rust/security/SqlInjectionExtensions.qll @@ -0,0 +1,50 @@ +/** + * Provides classes and predicates for reasoning about database + * queries built from user-controlled sources (that is, SQL injection + * vulnerabilities). + */ + +import rust +private import codeql.rust.dataflow.DataFlow +private import codeql.rust.Concepts +private import codeql.util.Unit + +/** + * Provides default sources, sinks and barriers for detecting SQL injection + * vulnerabilities, as well as extension points for adding your own. + */ +module SqlInjection { + /** + * A data flow source for SQL injection vulnerabilities. + */ + abstract class Source extends DataFlow::Node { } + + /** + * A data flow sink for SQL injection vulnerabilities. + */ + abstract class Sink extends DataFlow::Node { } + + /** + * A barrier for SQL injection vulnerabilities. + */ + abstract class Barrier extends DataFlow::Node { } + + /** + * An active threat-model source, considered as a flow source. + */ + private class ActiveThreatModelSourceAsSource extends Source, ActiveThreatModelSource { } + + /** + * A flow sink that is the statement of an SQL construction. + */ + class SqlConstructionAsSink extends Sink { + SqlConstructionAsSink() { this = any(SqlConstruction c).getSql() } + } + + /** + * A flow sink that is the statement of an SQL execution. + */ + class SqlExecutionAsSink extends Sink { + SqlExecutionAsSink() { this = any(SqlExecution e).getSql() } + } +} diff --git a/rust/ql/lib/qlpack.yml b/rust/ql/lib/qlpack.yml index 649d02c8e3aa..53ccf6dfced4 100644 --- a/rust/ql/lib/qlpack.yml +++ b/rust/ql/lib/qlpack.yml @@ -8,6 +8,7 @@ dependencies: codeql/controlflow: ${workspace} codeql/dataflow: ${workspace} codeql/regex: ${workspace} + codeql/threat-models: ${workspace} codeql/mad: ${workspace} codeql/ssa: ${workspace} codeql/tutorial: ${workspace} diff --git a/rust/ql/src/queries/security/CWE-089/SqlInjection.ql b/rust/ql/src/queries/security/CWE-089/SqlInjection.ql index 7d24d5d12070..c8db4569e599 100644 --- a/rust/ql/src/queries/security/CWE-089/SqlInjection.ql +++ b/rust/ql/src/queries/security/CWE-089/SqlInjection.ql @@ -10,13 +10,29 @@ * external/cwe/cwe-089 */ +import rust import codeql.rust.dataflow.DataFlow -/*import codeql.rust.security.SqlInjectionQuery +import codeql.rust.dataflow.TaintTracking +import codeql.rust.security.SqlInjectionExtensions import SqlInjectionFlow::PathGraph +/** + * A taint configuration for tainted data that reaches a SQL sink. + */ +module SqlInjectionConfig implements DataFlow::ConfigSig { + predicate isSource(DataFlow::Node node) { node instanceof SqlInjection::Source } + + predicate isSink(DataFlow::Node node) { node instanceof SqlInjection::Sink } + + predicate isBarrier(DataFlow::Node barrier) { barrier instanceof SqlInjection::Barrier } +} + +/** + * Detect taint flow of tainted data that reaches a SQL sink. + */ +module SqlInjectionFlow = TaintTracking::Global; + from SqlInjectionFlow::PathNode sourceNode, SqlInjectionFlow::PathNode sinkNode where SqlInjectionFlow::flowPath(sourceNode, sinkNode) select sinkNode.getNode(), sourceNode, sinkNode, "This query depends on a $@.", sourceNode.getNode(), "user-provided value" -*/ -select 0 diff --git a/rust/ql/test/query-tests/security/CWE-089/SqlInjection.expected b/rust/ql/test/query-tests/security/CWE-089/SqlInjection.expected index f082a67fcf66..58f42bec0c84 100644 --- a/rust/ql/test/query-tests/security/CWE-089/SqlInjection.expected +++ b/rust/ql/test/query-tests/security/CWE-089/SqlInjection.expected @@ -1 +1,4 @@ -| 0 | +#select +edges +nodes +subpaths From 924467bebe60f37340ae673523a632d63568aa97 Mon Sep 17 00:00:00 2001 From: Owen Mansel-Chan Date: Thu, 8 Aug 2024 12:21:32 +0100 Subject: [PATCH 266/347] Convert squirrel sql-injection sinks to MaD (non-existent methods removed) Various non-existent methods were modeled, and I couldn't find any evidence that they used to exist. They aren't in the stubs or tests. I have removed them. --- .../github.com.mastermind.squirrel.model.yml | 51 +++++++++++++++++++ go/ql/lib/semmle/go/frameworks/SQL.qll | 44 +++------------- .../semmle/go/frameworks/SQL/squirrel.go | 18 +++---- 3 files changed, 68 insertions(+), 45 deletions(-) create mode 100644 go/ql/lib/ext/github.com.mastermind.squirrel.model.yml diff --git a/go/ql/lib/ext/github.com.mastermind.squirrel.model.yml b/go/ql/lib/ext/github.com.mastermind.squirrel.model.yml new file mode 100644 index 000000000000..a5f46d7c2149 --- /dev/null +++ b/go/ql/lib/ext/github.com.mastermind.squirrel.model.yml @@ -0,0 +1,51 @@ +extensions: + - addsTo: + pack: codeql/go-all + extensible: packageGrouping + data: + - ["squirrel", "github.com/Masterminds/squirrel"] + - ["squirrel", "gopkg.in/Masterminds/squirrel"] + - ["squirrel", "github.com/lann/squirrel"] + - addsTo: + pack: codeql/go-all + extensible: sinkModel + data: + - ["group:squirrel", "", True, "Delete", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:squirrel", "", True, "Expr", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:squirrel", "", True, "Insert", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:squirrel", "", True, "Select", "", "", "Argument[0]", "sql-injection", "manual"] # TODO: when sources can have access paths, use .ArrayElement + - ["group:squirrel", "", True, "Update", "", "", "Argument[0]", "sql-injection", "manual"] # TODO: when sources can have access paths, use .ArrayElement + + - ["group:squirrel", "DeleteBuilder", True, "From", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:squirrel", "DeleteBuilder", True, "OrderBy", "", "", "Argument[0]", "sql-injection", "manual"] # TODO: when sources can have access paths, use .ArrayElement + - ["group:squirrel", "DeleteBuilder", True, "Prefix", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:squirrel", "DeleteBuilder", True, "Suffix", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:squirrel", "DeleteBuilder", True, "Where", "", "", "Argument[0]", "sql-injection", "manual"] + + - ["group:squirrel", "InsertBuilder", True, "Columns", "", "", "Argument[0]", "sql-injection", "manual"] # TODO: when sources can have access paths, use .ArrayElement + - ["group:squirrel", "InsertBuilder", True, "Into", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:squirrel", "InsertBuilder", True, "Options", "", "", "Argument[0]", "sql-injection", "manual"] # TODO: when sources can have access paths, use .ArrayElement + - ["group:squirrel", "InsertBuilder", True, "Prefix", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:squirrel", "InsertBuilder", True, "Suffix", "", "", "Argument[0]", "sql-injection", "manual"] + + - ["group:squirrel", "SelectBuilder", True, "CrossJoin", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:squirrel", "SelectBuilder", True, "Column", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:squirrel", "SelectBuilder", True, "Columns", "", "", "Argument[0]", "sql-injection", "manual"] # TODO: when sources can have access paths, use .ArrayElement + - ["group:squirrel", "SelectBuilder", True, "From", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:squirrel", "SelectBuilder", True, "GroupBy", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:squirrel", "SelectBuilder", True, "InnerJoin", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:squirrel", "SelectBuilder", True, "LeftJoin", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:squirrel", "SelectBuilder", True, "Options", "", "", "Argument[0]", "sql-injection", "manual"] # TODO: when sources can have access paths, use .ArrayElement + - ["group:squirrel", "SelectBuilder", True, "OrderBy", "", "", "Argument[0]", "sql-injection", "manual"] # TODO: when sources can have access paths, use .ArrayElement + - ["group:squirrel", "SelectBuilder", True, "Prefix", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:squirrel", "SelectBuilder", True, "RightJoin", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:squirrel", "SelectBuilder", True, "Suffix", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:squirrel", "SelectBuilder", True, "Where", "", "", "Argument[0]", "sql-injection", "manual"] + + - ["group:squirrel", "UpdateBuilder", True, "From", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:squirrel", "UpdateBuilder", True, "OrderBy", "", "", "Argument[0]", "sql-injection", "manual"] # TODO: when sources can have access paths, use .ArrayElement + - ["group:squirrel", "UpdateBuilder", True, "Prefix", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:squirrel", "UpdateBuilder", True, "Set", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:squirrel", "UpdateBuilder", True, "Suffix", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:squirrel", "UpdateBuilder", True, "Table", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:squirrel", "UpdateBuilder", True, "Where", "", "", "Argument[0]", "sql-injection", "manual"] diff --git a/go/ql/lib/semmle/go/frameworks/SQL.qll b/go/ql/lib/semmle/go/frameworks/SQL.qll index 1a6e22807812..73cd5d93947e 100644 --- a/go/ql/lib/semmle/go/frameworks/SQL.qll +++ b/go/ql/lib/semmle/go/frameworks/SQL.qll @@ -67,42 +67,14 @@ module SQL { */ abstract class Range extends DataFlow::Node { } - /** - * An argument to an API of the squirrel library that is directly interpreted as SQL without - * taking syntactic structure into account. - */ - private class SquirrelQueryString extends Range { - SquirrelQueryString() { - exists(Function fn | - exists(string sq | - sq = - package([ - "github.com/Masterminds/squirrel", "gopkg.in/Masterminds/squirrel", - "github.com/lann/squirrel" - ], "") - | - fn.hasQualifiedName(sq, ["Delete", "Expr", "Insert", "Select", "Update"]) - or - exists(Method m, string builder | m = fn | - builder = ["DeleteBuilder", "InsertBuilder", "SelectBuilder", "UpdateBuilder"] and - m.hasQualifiedName(sq, builder, - ["Columns", "From", "Options", "OrderBy", "Prefix", "Suffix", "Where"]) - or - builder = "InsertBuilder" and - m.hasQualifiedName(sq, builder, ["Replace", "Into"]) - or - builder = "SelectBuilder" and - m.hasQualifiedName(sq, builder, - ["CrossJoin", "GroupBy", "InnerJoin", "LeftJoin", "RightJoin"]) - or - builder = "UpdateBuilder" and - m.hasQualifiedName(sq, builder, ["Set", "Table"]) - ) - ) and - this = fn.getACall().getArgument(0) - | - this.getType().getUnderlyingType() instanceof StringType or - this.getType().getUnderlyingType().(SliceType).getElementType() instanceof StringType + private class DefaultQueryString extends Range { + DefaultQueryString() { + exists(DataFlow::ArgumentNode arg | sinkNode(arg, "sql-injection") | + not arg instanceof DataFlow::ImplicitVarargsSlice and + this = arg + or + arg instanceof DataFlow::ImplicitVarargsSlice and + this = arg.getCall().getAnImplicitVarargsArgument() ) } } diff --git a/go/ql/test/library-tests/semmle/go/frameworks/SQL/squirrel.go b/go/ql/test/library-tests/semmle/go/frameworks/SQL/squirrel.go index 15b687c7ad16..3629b8087cbf 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/SQL/squirrel.go +++ b/go/ql/test/library-tests/semmle/go/frameworks/SQL/squirrel.go @@ -10,35 +10,35 @@ func squirrelTest(querypart string) { squirrel.Expr(querypart) // $ querystring=querypart deleteBuilder := squirrel.Delete(querypart) // $ querystring=querypart deleteBuilder.From(querypart) // $ querystring=querypart - deleteBuilder.OrderBy(querypart) // $ querystring=[]type{args} + deleteBuilder.OrderBy(querypart) // $ querystring=querypart deleteBuilder.Prefix(querypart) // $ querystring=querypart deleteBuilder.Suffix(querypart) // $ querystring=querypart deleteBuilder.Where(querypart) // $ querystring=querypart insertBuilder := squirrel.Insert(querypart) // $ querystring=querypart - insertBuilder.Columns(querypart) // $ querystring=[]type{args} - insertBuilder.Options(querypart) // $ querystring=[]type{args} + insertBuilder.Columns(querypart) // $ querystring=querypart + insertBuilder.Options(querypart) // $ querystring=querypart insertBuilder.Prefix(querypart) // $ querystring=querypart insertBuilder.Suffix(querypart) // $ querystring=querypart insertBuilder.Into(querypart) // $ querystring=querypart - selectBuilder := squirrel.Select(querypart) // $ querystring=[]type{args} - selectBuilder.Columns(querypart) // $ querystring=[]type{args} + selectBuilder := squirrel.Select(querypart) // $ querystring=querypart + selectBuilder.Columns(querypart) // $ querystring=querypart selectBuilder.From(querypart) // $ querystring=querypart - selectBuilder.Options(querypart) // $ querystring=[]type{args} - selectBuilder.OrderBy(querypart) // $ querystring=[]type{args} + selectBuilder.Options(querypart) // $ querystring=querypart + selectBuilder.OrderBy(querypart) // $ querystring=querypart selectBuilder.Prefix(querypart) // $ querystring=querypart selectBuilder.Suffix(querypart) // $ querystring=querypart selectBuilder.Where(querypart) // $ querystring=querypart selectBuilder.CrossJoin(querypart) // $ querystring=querypart - selectBuilder.GroupBy(querypart) // $ querystring=[]type{args} + selectBuilder.GroupBy(querypart) // $ querystring=querypart selectBuilder.InnerJoin(querypart) // $ querystring=querypart selectBuilder.LeftJoin(querypart) // $ querystring=querypart selectBuilder.RightJoin(querypart) // $ querystring=querypart updateBuilder := squirrel.Update(querypart) // $ querystring=querypart updateBuilder.From(querypart) // $ querystring=querypart - updateBuilder.OrderBy(querypart) // $ querystring=[]type{args} + updateBuilder.OrderBy(querypart) // $ querystring=querypart updateBuilder.Prefix(querypart) // $ querystring=querypart updateBuilder.Suffix(querypart) // $ querystring=querypart updateBuilder.Where(querypart) // $ querystring=querypart From 1315a1e9aef45a9d823443406755813eccd583c1 Mon Sep 17 00:00:00 2001 From: Owen Mansel-Chan Date: Thu, 15 Aug 2024 12:25:24 +0100 Subject: [PATCH 267/347] Upgrade and convert gorqlite sql-injection sinks to MaD --- .../ext/github.com.rqlite.gorqlite.model.yml | 35 ++++++ go/ql/lib/semmle/go/frameworks/SQL.qll | 24 ---- .../SQL/gorqlite/QueryString.expected | 3 + .../go/frameworks/SQL/gorqlite/QueryString.ql | 60 +++++++++ .../semmle/go/frameworks/SQL/gorqlite/go.mod | 2 +- .../frameworks/SQL/gorqlite/gorqlite.expected | 6 - .../go/frameworks/SQL/gorqlite/gorqlite.go | 39 +++++- .../go/frameworks/SQL/gorqlite/gorqlite.ql | 4 - .../vendor/github.com/rqlite/gorqlite/stub.go | 115 +++++++++++++++++- .../SQL/gorqlite/vendor/modules.txt | 2 +- 10 files changed, 245 insertions(+), 45 deletions(-) create mode 100644 go/ql/lib/ext/github.com.rqlite.gorqlite.model.yml create mode 100644 go/ql/test/library-tests/semmle/go/frameworks/SQL/gorqlite/QueryString.expected create mode 100644 go/ql/test/library-tests/semmle/go/frameworks/SQL/gorqlite/QueryString.ql delete mode 100644 go/ql/test/library-tests/semmle/go/frameworks/SQL/gorqlite/gorqlite.expected delete mode 100644 go/ql/test/library-tests/semmle/go/frameworks/SQL/gorqlite/gorqlite.ql diff --git a/go/ql/lib/ext/github.com.rqlite.gorqlite.model.yml b/go/ql/lib/ext/github.com.rqlite.gorqlite.model.yml new file mode 100644 index 000000000000..62e24f2c920b --- /dev/null +++ b/go/ql/lib/ext/github.com.rqlite.gorqlite.model.yml @@ -0,0 +1,35 @@ +extensions: + - addsTo: + pack: codeql/go-all + extensible: packageGrouping + data: + - ["gorqlite", "github.com/rqlite/gorqlite"] + - ["gorqlite", "github.com/raindog308/gorqlite"] + - addsTo: + pack: codeql/go-all + extensible: sinkModel + data: + - ["group:gorqlite", "Connection", True, "Query", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:gorqlite", "Connection", True, "QueryContext", "", "", "Argument[1]", "sql-injection", "manual"] + - ["group:gorqlite", "Connection", True, "QueryOne", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:gorqlite", "Connection", True, "QueryOneContext", "", "", "Argument[1]", "sql-injection", "manual"] + - ["group:gorqlite", "Connection", True, "QueryOneParameterized", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:gorqlite", "Connection", True, "QueryOneParameterizedContext", "", "", "Argument[1]", "sql-injection", "manual"] + - ["group:gorqlite", "Connection", True, "QueryParameterized", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:gorqlite", "Connection", True, "QueryParameterizedContext", "", "", "Argument[1]", "sql-injection", "manual"] + - ["group:gorqlite", "Connection", True, "Queue", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:gorqlite", "Connection", True, "QueueContext", "", "", "Argument[1]", "sql-injection", "manual"] + - ["group:gorqlite", "Connection", True, "QueueOne", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:gorqlite", "Connection", True, "QueueOneContext", "", "", "Argument[1]", "sql-injection", "manual"] + - ["group:gorqlite", "Connection", True, "QueueOneParameterized", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:gorqlite", "Connection", True, "QueueOneParameterizedContext", "", "", "Argument[1]", "sql-injection", "manual"] + - ["group:gorqlite", "Connection", True, "QueueParameterized", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:gorqlite", "Connection", True, "QueueParameterizedContext", "", "", "Argument[1]", "sql-injection", "manual"] + - ["group:gorqlite", "Connection", True, "Write", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:gorqlite", "Connection", True, "WriteContext", "", "", "Argument[1]", "sql-injection", "manual"] + - ["group:gorqlite", "Connection", True, "WriteOne", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:gorqlite", "Connection", True, "WriteOneContext", "", "", "Argument[1]", "sql-injection", "manual"] + - ["group:gorqlite", "Connection", True, "WriteOneParameterized", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:gorqlite", "Connection", True, "WriteOneParameterizedContext", "", "", "Argument[1]", "sql-injection", "manual"] + - ["group:gorqlite", "Connection", True, "WriteParameterized", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:gorqlite", "Connection", True, "WriteParameterizedContext", "", "", "Argument[1]", "sql-injection", "manual"] diff --git a/go/ql/lib/semmle/go/frameworks/SQL.qll b/go/ql/lib/semmle/go/frameworks/SQL.qll index 73cd5d93947e..e6318df82f2d 100644 --- a/go/ql/lib/semmle/go/frameworks/SQL.qll +++ b/go/ql/lib/semmle/go/frameworks/SQL.qll @@ -85,11 +85,6 @@ module SQL { /** A string that might identify package `go-pg/pg/orm` or a specific version of it. */ private string gopgorm() { result = package("github.com/go-pg/pg", "orm") } - /** A string that might identify package `github.com/rqlite/gorqlite` or `github.com/raindog308/gorqlite` or a specific version of it. */ - private string gorqlite() { - result = package(["github.com/rqlite/gorqlite", "github.com/raindog308/gorqlite"], "") - } - /** A string that might identify package `github.com/gogf/gf/database/gdb` or a specific version of it. */ private string gogf() { result = package("github.com/gogf/gf", "database/gdb") } @@ -158,25 +153,6 @@ module SQL { } } - /** - * A string argument to an API of `github.com/rqlite/gorqlite`, or a specific version of it, that is directly interpreted as SQL without - * taking syntactic structure into account. - */ - private class GorqliteQueryString extends Range { - GorqliteQueryString() { - // func (conn *Connection) Query(sqlStatements []string) (results []QueryResult, err error) - // func (conn *Connection) QueryOne(sqlStatement string) (qr QueryResult, err error) - // func (conn *Connection) Queue(sqlStatements []string) (seq int64, err error) - // func (conn *Connection) QueueOne(sqlStatement string) (seq int64, err error) - // func (conn *Connection) Write(sqlStatements []string) (results []WriteResult, err error) - // func (conn *Connection) WriteOne(sqlStatement string) (wr WriteResult, err error) - exists(Method m, string name | m.hasQualifiedName(gorqlite(), "Connection", name) | - name = ["Query", "QueryOne", "Queue", "QueueOne", "Write", "WriteOne"] and - this = m.getACall().getArgument(0) - ) - } - } - /** * A string argument to an API of `github.com/gogf/gf/database/gdb`, or a specific version of it, that is directly interpreted as SQL without * taking syntactic structure into account. diff --git a/go/ql/test/library-tests/semmle/go/frameworks/SQL/gorqlite/QueryString.expected b/go/ql/test/library-tests/semmle/go/frameworks/SQL/gorqlite/QueryString.expected new file mode 100644 index 000000000000..db33d6d2504a --- /dev/null +++ b/go/ql/test/library-tests/semmle/go/frameworks/SQL/gorqlite/QueryString.expected @@ -0,0 +1,3 @@ +testFailures +invalidModelRow +failures diff --git a/go/ql/test/library-tests/semmle/go/frameworks/SQL/gorqlite/QueryString.ql b/go/ql/test/library-tests/semmle/go/frameworks/SQL/gorqlite/QueryString.ql new file mode 100644 index 000000000000..eeb43a82fadd --- /dev/null +++ b/go/ql/test/library-tests/semmle/go/frameworks/SQL/gorqlite/QueryString.ql @@ -0,0 +1,60 @@ +import go +import semmle.go.dataflow.ExternalFlow +import ModelValidation +import TestUtilities.InlineExpectationsTest + +module SqlTest implements TestSig { + string getARelevantTag() { result = "query" } + + predicate hasActualResult(Location location, string element, string tag, string value) { + tag = "query" and + exists(SQL::Query q, SQL::QueryString qs | qs = q.getAQueryString() | + q.hasLocationInfo(location.getFile().getAbsolutePath(), location.getStartLine(), + location.getStartColumn(), location.getEndLine(), location.getEndColumn()) and + element = q.toString() and + value = qs.toString() + ) + } +} + +module QueryString implements TestSig { + string getARelevantTag() { result = "querystring" } + + predicate hasActualResult(Location location, string element, string tag, string value) { + tag = "querystring" and + element = "" and + exists(SQL::QueryString qs | not exists(SQL::Query q | qs = q.getAQueryString()) | + qs.hasLocationInfo(location.getFile().getAbsolutePath(), location.getStartLine(), + location.getStartColumn(), location.getEndLine(), location.getEndColumn()) and + value = qs.toString() + ) + } +} + +module Config implements DataFlow::ConfigSig { + predicate isSource(DataFlow::Node n) { n.asExpr() instanceof StringLit } + + predicate isSink(DataFlow::Node n) { + n = any(DataFlow::CallNode cn | cn.getTarget().getName() = "sink").getAnArgument() + } +} + +module Flow = TaintTracking::Global; + +module TaintFlow implements TestSig { + string getARelevantTag() { result = "flowfrom" } + + predicate hasActualResult(Location location, string element, string tag, string value) { + tag = "flowfrom" and + element = "" and + exists(DataFlow::Node fromNode, DataFlow::Node toNode | + toNode + .hasLocationInfo(location.getFile().getAbsolutePath(), location.getStartLine(), + location.getStartColumn(), location.getEndLine(), location.getEndColumn()) and + Flow::flow(fromNode, toNode) and + value = fromNode.asExpr().(StringLit).getValue() + ) + } +} + +import MakeTest> diff --git a/go/ql/test/library-tests/semmle/go/frameworks/SQL/gorqlite/go.mod b/go/ql/test/library-tests/semmle/go/frameworks/SQL/gorqlite/go.mod index 1f243775658a..826ed0eb1c05 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/SQL/gorqlite/go.mod +++ b/go/ql/test/library-tests/semmle/go/frameworks/SQL/gorqlite/go.mod @@ -2,4 +2,4 @@ module main go 1.18 -require github.com/rqlite/gorqlite v0.0.0-20220528150909-c4e99ae96be6 +require github.com/rqlite/gorqlite v0.0.0-20240808172217-12ae7d03ef19 diff --git a/go/ql/test/library-tests/semmle/go/frameworks/SQL/gorqlite/gorqlite.expected b/go/ql/test/library-tests/semmle/go/frameworks/SQL/gorqlite/gorqlite.expected deleted file mode 100644 index cbd8166ea5e1..000000000000 --- a/go/ql/test/library-tests/semmle/go/frameworks/SQL/gorqlite/gorqlite.expected +++ /dev/null @@ -1,6 +0,0 @@ -| gorqlite.go:11:13:11:16 | sqls | -| gorqlite.go:12:13:12:16 | sqls | -| gorqlite.go:13:13:13:16 | sqls | -| gorqlite.go:14:16:14:18 | sql | -| gorqlite.go:15:16:15:18 | sql | -| gorqlite.go:16:16:16:18 | sql | diff --git a/go/ql/test/library-tests/semmle/go/frameworks/SQL/gorqlite/gorqlite.go b/go/ql/test/library-tests/semmle/go/frameworks/SQL/gorqlite/gorqlite.go index 9b60c6684e67..ebd6e5fd9f3b 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/SQL/gorqlite/gorqlite.go +++ b/go/ql/test/library-tests/semmle/go/frameworks/SQL/gorqlite/gorqlite.go @@ -1,20 +1,49 @@ package main -//go:generate depstubber -vendor github.com/rqlite/gorqlite Connection Open +//go:generate depstubber -vendor github.com/rqlite/gorqlite Connection,ParameterizedStatement Open import ( + "context" + "github.com/rqlite/gorqlite" ) -func gorqlitetest(sql string, sqls []string) { +func gorqlitetest(sql string, sqls []string, param_sql gorqlite.ParameterizedStatement, param_sqls []gorqlite.ParameterizedStatement, ctx context.Context) { conn, _ := gorqlite.Open("dbUrl") - conn.Query(sqls) // $ querystring=sqls - conn.Queue(sqls) // $ querystring=sqls - conn.Write(sqls) // $ querystring=sqls + + conn.Query(sqls) // $ querystring=sqls + conn.Queue(sqls) // $ querystring=sqls + conn.Write(sqls) // $ querystring=sqls + conn.QueryOne(sql) // $ querystring=sql conn.QueueOne(sql) // $ querystring=sql conn.WriteOne(sql) // $ querystring=sql + + conn.QueryParameterized(param_sqls) // $ querystring=param_sqls + conn.QueueParameterized(param_sqls) // $ querystring=param_sqls + conn.WriteParameterized(param_sqls) // $ querystring=param_sqls + + conn.QueryOneParameterized(param_sql) // $ querystring=param_sql + conn.QueueOneParameterized(param_sql) // $ querystring=param_sql + conn.WriteOneParameterized(param_sql) // $ querystring=param_sql + + conn.QueryContext(ctx, sqls) // $ querystring=sqls + conn.QueueContext(ctx, sqls) // $ querystring=sqls + conn.WriteContext(ctx, sqls) // $ querystring=sqls + + conn.QueryOneContext(ctx, sql) // $ querystring=sql + conn.QueueOneContext(ctx, sql) // $ querystring=sql + conn.WriteOneContext(ctx, sql) // $ querystring=sql + + conn.QueryParameterizedContext(ctx, param_sqls) // $ querystring=param_sqls + conn.QueueParameterizedContext(ctx, param_sqls) // $ querystring=param_sqls + conn.WriteParameterizedContext(ctx, param_sqls) // $ querystring=param_sqls + + conn.QueryOneParameterizedContext(ctx, param_sql) // $ querystring=param_sql + conn.QueueOneParameterizedContext(ctx, param_sql) // $ querystring=param_sql + conn.WriteOneParameterizedContext(ctx, param_sql) // $ querystring=param_sql } + func main() { return } diff --git a/go/ql/test/library-tests/semmle/go/frameworks/SQL/gorqlite/gorqlite.ql b/go/ql/test/library-tests/semmle/go/frameworks/SQL/gorqlite/gorqlite.ql deleted file mode 100644 index 7b56fd974419..000000000000 --- a/go/ql/test/library-tests/semmle/go/frameworks/SQL/gorqlite/gorqlite.ql +++ /dev/null @@ -1,4 +0,0 @@ -import go - -from SQL::QueryString qs -select qs diff --git a/go/ql/test/library-tests/semmle/go/frameworks/SQL/gorqlite/vendor/github.com/rqlite/gorqlite/stub.go b/go/ql/test/library-tests/semmle/go/frameworks/SQL/gorqlite/vendor/github.com/rqlite/gorqlite/stub.go index f6f4ca18ec12..0572097582e0 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/SQL/gorqlite/vendor/github.com/rqlite/gorqlite/stub.go +++ b/go/ql/test/library-tests/semmle/go/frameworks/SQL/gorqlite/vendor/github.com/rqlite/gorqlite/stub.go @@ -2,11 +2,15 @@ // This is a simple stub for github.com/rqlite/gorqlite, strictly for use in testing. // See the LICENSE file for information about the licensing of the original library. -// Source: github.com/rqlite/gorqlite (exports: Connection; functions: Open) +// Source: github.com/rqlite/gorqlite (exports: Connection,ParameterizedStatement; functions: Open) // Package gorqlite is a stub of github.com/rqlite/gorqlite, generated by depstubber. package gorqlite +import ( + context "context" +) + type Connection struct { ID string } @@ -29,19 +33,83 @@ func (_ *Connection) Query(_ []string) ([]QueryResult, error) { return nil, nil } +func (_ *Connection) QueryContext(_ context.Context, _ []string) ([]QueryResult, error) { + return nil, nil +} + func (_ *Connection) QueryOne(_ string) (QueryResult, error) { return QueryResult{}, nil } +func (_ *Connection) QueryOneContext(_ context.Context, _ string) (QueryResult, error) { + return QueryResult{}, nil +} + +func (_ *Connection) QueryOneParameterized(_ ParameterizedStatement) (QueryResult, error) { + return QueryResult{}, nil +} + +func (_ *Connection) QueryOneParameterizedContext(_ context.Context, _ ParameterizedStatement) (QueryResult, error) { + return QueryResult{}, nil +} + +func (_ *Connection) QueryParameterized(_ []ParameterizedStatement) ([]QueryResult, error) { + return nil, nil +} + +func (_ *Connection) QueryParameterizedContext(_ context.Context, _ []ParameterizedStatement) ([]QueryResult, error) { + return nil, nil +} + func (_ *Connection) Queue(_ []string) (int64, error) { return 0, nil } +func (_ *Connection) QueueContext(_ context.Context, _ []string) (int64, error) { + return 0, nil +} + func (_ *Connection) QueueOne(_ string) (int64, error) { return 0, nil } -func (_ *Connection) SetConsistencyLevel(_ string) error { +func (_ *Connection) QueueOneContext(_ context.Context, _ string) (int64, error) { + return 0, nil +} + +func (_ *Connection) QueueOneParameterized(_ ParameterizedStatement) (int64, error) { + return 0, nil +} + +func (_ *Connection) QueueOneParameterizedContext(_ context.Context, _ ParameterizedStatement) (int64, error) { + return 0, nil +} + +func (_ *Connection) QueueParameterized(_ []ParameterizedStatement) (int64, error) { + return 0, nil +} + +func (_ *Connection) QueueParameterizedContext(_ context.Context, _ []ParameterizedStatement) (int64, error) { + return 0, nil +} + +func (_ *Connection) Request(_ []string) ([]RequestResult, error) { + return nil, nil +} + +func (_ *Connection) RequestContext(_ context.Context, _ []string) ([]RequestResult, error) { + return nil, nil +} + +func (_ *Connection) RequestParameterized(_ []ParameterizedStatement) ([]RequestResult, error) { + return nil, nil +} + +func (_ *Connection) RequestParameterizedContext(_ context.Context, _ []ParameterizedStatement) ([]RequestResult, error) { + return nil, nil +} + +func (_ *Connection) SetConsistencyLevel(_ interface{}) error { return nil } @@ -53,12 +121,41 @@ func (_ *Connection) Write(_ []string) ([]WriteResult, error) { return nil, nil } +func (_ *Connection) WriteContext(_ context.Context, _ []string) ([]WriteResult, error) { + return nil, nil +} + func (_ *Connection) WriteOne(_ string) (WriteResult, error) { return WriteResult{}, nil } -func Open(_ string) (Connection, error) { - return Connection{}, nil +func (_ *Connection) WriteOneContext(_ context.Context, _ string) (WriteResult, error) { + return WriteResult{}, nil +} + +func (_ *Connection) WriteOneParameterized(_ ParameterizedStatement) (WriteResult, error) { + return WriteResult{}, nil +} + +func (_ *Connection) WriteOneParameterizedContext(_ context.Context, _ ParameterizedStatement) (WriteResult, error) { + return WriteResult{}, nil +} + +func (_ *Connection) WriteParameterized(_ []ParameterizedStatement) ([]WriteResult, error) { + return nil, nil +} + +func (_ *Connection) WriteParameterizedContext(_ context.Context, _ []ParameterizedStatement) ([]WriteResult, error) { + return nil, nil +} + +func Open(_ string) (*Connection, error) { + return nil, nil +} + +type ParameterizedStatement struct { + Query string + Arguments []interface{} } type QueryResult struct { @@ -90,10 +187,20 @@ func (_ *QueryResult) Scan(_ ...interface{}) error { return nil } +func (_ *QueryResult) Slice() ([]interface{}, error) { + return nil, nil +} + func (_ *QueryResult) Types() []string { return nil } +type RequestResult struct { + Err error + Query *QueryResult + Write *WriteResult +} + type WriteResult struct { Err error Timing float64 diff --git a/go/ql/test/library-tests/semmle/go/frameworks/SQL/gorqlite/vendor/modules.txt b/go/ql/test/library-tests/semmle/go/frameworks/SQL/gorqlite/vendor/modules.txt index f5e5b9989ede..dafb7c6d1a98 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/SQL/gorqlite/vendor/modules.txt +++ b/go/ql/test/library-tests/semmle/go/frameworks/SQL/gorqlite/vendor/modules.txt @@ -1,3 +1,3 @@ -# github.com/rqlite/gorqlite v0.0.0-20220528150909-c4e99ae96be6 +# github.com/rqlite/gorqlite v0.0.0-20240808172217-12ae7d03ef19 ## explicit github.com/rqlite/gorqlite From d9d3e74e8c052faef3321366169466c8e0195e5b Mon Sep 17 00:00:00 2001 From: Owen Mansel-Chan Date: Thu, 15 Aug 2024 12:50:27 +0100 Subject: [PATCH 268/347] Convert gogf/gf sql-injection sinks to MaD --- .../github.com.gogf.gf.database.gdb.model.yml | 57 ++++++++++++++++++ go/ql/lib/semmle/go/frameworks/SQL.qll | 43 ------------- .../frameworks/SQL/gogf/QueryString.expected | 3 + .../go/frameworks/SQL/gogf/QueryString.ql | 60 +++++++++++++++++++ .../go/frameworks/SQL/gogf/gogf.expected | 47 --------------- .../semmle/go/frameworks/SQL/gogf/gogf.go | 38 ++++++------ .../semmle/go/frameworks/SQL/gogf/gogf.ql | 4 -- 7 files changed, 140 insertions(+), 112 deletions(-) create mode 100644 go/ql/lib/ext/github.com.gogf.gf.database.gdb.model.yml create mode 100644 go/ql/test/library-tests/semmle/go/frameworks/SQL/gogf/QueryString.expected create mode 100644 go/ql/test/library-tests/semmle/go/frameworks/SQL/gogf/QueryString.ql delete mode 100644 go/ql/test/library-tests/semmle/go/frameworks/SQL/gogf/gogf.expected delete mode 100644 go/ql/test/library-tests/semmle/go/frameworks/SQL/gogf/gogf.ql diff --git a/go/ql/lib/ext/github.com.gogf.gf.database.gdb.model.yml b/go/ql/lib/ext/github.com.gogf.gf.database.gdb.model.yml new file mode 100644 index 000000000000..030656c6eb8a --- /dev/null +++ b/go/ql/lib/ext/github.com.gogf.gf.database.gdb.model.yml @@ -0,0 +1,57 @@ +extensions: + - addsTo: + pack: codeql/go-all + extensible: sinkModel + data: + # These models are for v1. Some of them hold for v2, but we should model v2 properly. + - ["github.com/gogf/gf/database/gdb", "Core", True, "DoCommit", "", "", "Argument[2]", "sql-injection", "manual"] + - ["github.com/gogf/gf/database/gdb", "Core", True, "DoExec", "", "", "Argument[2]", "sql-injection", "manual"] + - ["github.com/gogf/gf/database/gdb", "Core", True, "DoGetAll", "", "", "Argument[2]", "sql-injection", "manual"] + - ["github.com/gogf/gf/database/gdb", "Core", True, "DoQuery", "", "", "Argument[2]", "sql-injection", "manual"] + - ["github.com/gogf/gf/database/gdb", "Core", True, "DoPrepare", "", "", "Argument[2]", "sql-injection", "manual"] + - ["github.com/gogf/gf/database/gdb", "Core", True, "Exec", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/gogf/gf/database/gdb", "Core", True, "GetAll", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/gogf/gf/database/gdb", "Core", True, "GetArray", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/gogf/gf/database/gdb", "Core", True, "GetCount", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/gogf/gf/database/gdb", "Core", True, "GetOne", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/gogf/gf/database/gdb", "Core", True, "GetScan", "", "", "Argument[1]", "sql-injection", "manual"] + - ["github.com/gogf/gf/database/gdb", "Core", True, "GetStruct", "", "", "Argument[1]", "sql-injection", "manual"] + - ["github.com/gogf/gf/database/gdb", "Core", True, "GetStructs", "", "", "Argument[1]", "sql-injection", "manual"] + - ["github.com/gogf/gf/database/gdb", "Core", True, "GetValue", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/gogf/gf/database/gdb", "Core", True, "Prepare", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/gogf/gf/database/gdb", "Core", True, "Query", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/gogf/gf/database/gdb", "Core", True, "Raw", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/gogf/gf/database/gdb", "DB", True, "DoCommit", "", "", "Argument[2]", "sql-injection", "manual"] + - ["github.com/gogf/gf/database/gdb", "DB", True, "DoExec", "", "", "Argument[2]", "sql-injection", "manual"] + - ["github.com/gogf/gf/database/gdb", "DB", True, "DoGetAll", "", "", "Argument[2]", "sql-injection", "manual"] + - ["github.com/gogf/gf/database/gdb", "DB", True, "DoQuery", "", "", "Argument[2]", "sql-injection", "manual"] + - ["github.com/gogf/gf/database/gdb", "DB", True, "DoPrepare", "", "", "Argument[2]", "sql-injection", "manual"] + - ["github.com/gogf/gf/database/gdb", "DB", True, "Exec", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/gogf/gf/database/gdb", "DB", True, "GetAll", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/gogf/gf/database/gdb", "DB", True, "GetArray", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/gogf/gf/database/gdb", "DB", True, "GetCount", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/gogf/gf/database/gdb", "DB", True, "GetOne", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/gogf/gf/database/gdb", "DB", True, "GetScan", "", "", "Argument[1]", "sql-injection", "manual"] + - ["github.com/gogf/gf/database/gdb", "DB", True, "GetStruct", "", "", "Argument[1]", "sql-injection", "manual"] + - ["github.com/gogf/gf/database/gdb", "DB", True, "GetStructs", "", "", "Argument[1]", "sql-injection", "manual"] + - ["github.com/gogf/gf/database/gdb", "DB", True, "GetValue", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/gogf/gf/database/gdb", "DB", True, "Prepare", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/gogf/gf/database/gdb", "DB", True, "Query", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/gogf/gf/database/gdb", "DB", True, "Raw", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/gogf/gf/database/gdb", "Tx", True, "DoCommit", "", "", "Argument[2]", "sql-injection", "manual"] + - ["github.com/gogf/gf/database/gdb", "Tx", True, "DoExec", "", "", "Argument[2]", "sql-injection", "manual"] + - ["github.com/gogf/gf/database/gdb", "Tx", True, "DoGetAll", "", "", "Argument[2]", "sql-injection", "manual"] + - ["github.com/gogf/gf/database/gdb", "Tx", True, "DoQuery", "", "", "Argument[2]", "sql-injection", "manual"] + - ["github.com/gogf/gf/database/gdb", "Tx", True, "DoPrepare", "", "", "Argument[2]", "sql-injection", "manual"] + - ["github.com/gogf/gf/database/gdb", "Tx", True, "Exec", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/gogf/gf/database/gdb", "Tx", True, "GetAll", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/gogf/gf/database/gdb", "Tx", True, "GetArray", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/gogf/gf/database/gdb", "Tx", True, "GetCount", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/gogf/gf/database/gdb", "Tx", True, "GetOne", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/gogf/gf/database/gdb", "Tx", True, "GetScan", "", "", "Argument[1]", "sql-injection", "manual"] + - ["github.com/gogf/gf/database/gdb", "Tx", True, "GetStruct", "", "", "Argument[1]", "sql-injection", "manual"] + - ["github.com/gogf/gf/database/gdb", "Tx", True, "GetStructs", "", "", "Argument[1]", "sql-injection", "manual"] + - ["github.com/gogf/gf/database/gdb", "Tx", True, "GetValue", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/gogf/gf/database/gdb", "Tx", True, "Prepare", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/gogf/gf/database/gdb", "Tx", True, "Query", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/gogf/gf/database/gdb", "Tx", True, "Raw", "", "", "Argument[0]", "sql-injection", "manual"] diff --git a/go/ql/lib/semmle/go/frameworks/SQL.qll b/go/ql/lib/semmle/go/frameworks/SQL.qll index e6318df82f2d..f960c214d84b 100644 --- a/go/ql/lib/semmle/go/frameworks/SQL.qll +++ b/go/ql/lib/semmle/go/frameworks/SQL.qll @@ -85,9 +85,6 @@ module SQL { /** A string that might identify package `go-pg/pg/orm` or a specific version of it. */ private string gopgorm() { result = package("github.com/go-pg/pg", "orm") } - /** A string that might identify package `github.com/gogf/gf/database/gdb` or a specific version of it. */ - private string gogf() { result = package("github.com/gogf/gf", "database/gdb") } - /** * A string argument to an API of `go-pg/pg` that is directly interpreted as SQL without * taking syntactic structure into account. @@ -152,46 +149,6 @@ module SQL { ) } } - - /** - * A string argument to an API of `github.com/gogf/gf/database/gdb`, or a specific version of it, that is directly interpreted as SQL without - * taking syntactic structure into account. - */ - private class GogfQueryString extends Range { - GogfQueryString() { - exists(Method m, string name | m.implements(gogf(), ["DB", "Core", "TX"], name) | - // func (c *Core) Exec(sql string, args ...interface{}) (result sql.Result, err error) - // func (c *Core) GetAll(sql string, args ...interface{}) (Result, error) - // func (c *Core) GetArray(sql string, args ...interface{}) ([]Value, error) - // func (c *Core) GetCount(sql string, args ...interface{}) (int, error) - // func (c *Core) GetOne(sql string, args ...interface{}) (Record, error) - // func (c *Core) GetValue(sql string, args ...interface{}) (Value, error) - // func (c *Core) Prepare(sql string, execOnMaster ...bool) (*Stmt, error) - // func (c *Core) Query(sql string, args ...interface{}) (rows *sql.Rows, err error) - // func (c *Core) Raw(rawSql string, args ...interface{}) *Model - name = - [ - "Query", "Exec", "Prepare", "GetAll", "GetOne", "GetValue", "GetArray", "GetCount", - "Raw" - ] and - this = m.getACall().getArgument(0) - or - // func (c *Core) GetScan(pointer interface{}, sql string, args ...interface{}) error - // func (c *Core) GetStruct(pointer interface{}, sql string, args ...interface{}) error - // func (c *Core) GetStructs(pointer interface{}, sql string, args ...interface{}) error - name = ["GetScan", "GetStruct", "GetStructs"] and - this = m.getACall().getArgument(1) - or - // func (c *Core) DoCommit(ctx context.Context, link Link, sql string, args []interface{}) (newSql string, newArgs []interface{}, err error) - // func (c *Core) DoExec(ctx context.Context, link Link, sql string, args ...interface{}) (result sql.Result, err error) - // func (c *Core) DoGetAll(ctx context.Context, link Link, sql string, args ...interface{}) (result Result, err error) - // func (c *Core) DoPrepare(ctx context.Context, link Link, sql string) (*Stmt, error) - // func (c *Core) DoQuery(ctx context.Context, link Link, sql string, args ...interface{}) (rows *sql.Rows, err error) - name = ["DoGetAll", "DoQuery", "DoExec", "DoCommit", "DoPrepare"] and - this = m.getACall().getArgument(2) - ) - } - } } /** A model for sinks of GORM. */ diff --git a/go/ql/test/library-tests/semmle/go/frameworks/SQL/gogf/QueryString.expected b/go/ql/test/library-tests/semmle/go/frameworks/SQL/gogf/QueryString.expected new file mode 100644 index 000000000000..db33d6d2504a --- /dev/null +++ b/go/ql/test/library-tests/semmle/go/frameworks/SQL/gogf/QueryString.expected @@ -0,0 +1,3 @@ +testFailures +invalidModelRow +failures diff --git a/go/ql/test/library-tests/semmle/go/frameworks/SQL/gogf/QueryString.ql b/go/ql/test/library-tests/semmle/go/frameworks/SQL/gogf/QueryString.ql new file mode 100644 index 000000000000..eeb43a82fadd --- /dev/null +++ b/go/ql/test/library-tests/semmle/go/frameworks/SQL/gogf/QueryString.ql @@ -0,0 +1,60 @@ +import go +import semmle.go.dataflow.ExternalFlow +import ModelValidation +import TestUtilities.InlineExpectationsTest + +module SqlTest implements TestSig { + string getARelevantTag() { result = "query" } + + predicate hasActualResult(Location location, string element, string tag, string value) { + tag = "query" and + exists(SQL::Query q, SQL::QueryString qs | qs = q.getAQueryString() | + q.hasLocationInfo(location.getFile().getAbsolutePath(), location.getStartLine(), + location.getStartColumn(), location.getEndLine(), location.getEndColumn()) and + element = q.toString() and + value = qs.toString() + ) + } +} + +module QueryString implements TestSig { + string getARelevantTag() { result = "querystring" } + + predicate hasActualResult(Location location, string element, string tag, string value) { + tag = "querystring" and + element = "" and + exists(SQL::QueryString qs | not exists(SQL::Query q | qs = q.getAQueryString()) | + qs.hasLocationInfo(location.getFile().getAbsolutePath(), location.getStartLine(), + location.getStartColumn(), location.getEndLine(), location.getEndColumn()) and + value = qs.toString() + ) + } +} + +module Config implements DataFlow::ConfigSig { + predicate isSource(DataFlow::Node n) { n.asExpr() instanceof StringLit } + + predicate isSink(DataFlow::Node n) { + n = any(DataFlow::CallNode cn | cn.getTarget().getName() = "sink").getAnArgument() + } +} + +module Flow = TaintTracking::Global; + +module TaintFlow implements TestSig { + string getARelevantTag() { result = "flowfrom" } + + predicate hasActualResult(Location location, string element, string tag, string value) { + tag = "flowfrom" and + element = "" and + exists(DataFlow::Node fromNode, DataFlow::Node toNode | + toNode + .hasLocationInfo(location.getFile().getAbsolutePath(), location.getStartLine(), + location.getStartColumn(), location.getEndLine(), location.getEndColumn()) and + Flow::flow(fromNode, toNode) and + value = fromNode.asExpr().(StringLit).getValue() + ) + } +} + +import MakeTest> diff --git a/go/ql/test/library-tests/semmle/go/frameworks/SQL/gogf/gogf.expected b/go/ql/test/library-tests/semmle/go/frameworks/SQL/gogf/gogf.expected deleted file mode 100644 index f4e3e4f15b0a..000000000000 --- a/go/ql/test/library-tests/semmle/go/frameworks/SQL/gogf/gogf.expected +++ /dev/null @@ -1,47 +0,0 @@ -| gogf.go:12:9:12:11 | sql | -| gogf.go:13:11:13:13 | sql | -| gogf.go:14:13:14:15 | sql | -| gogf.go:15:13:15:15 | sql | -| gogf.go:16:11:16:13 | sql | -| gogf.go:17:13:17:15 | sql | -| gogf.go:18:12:18:14 | sql | -| gogf.go:19:10:19:12 | sql | -| gogf.go:20:8:20:10 | sql | -| gogf.go:21:17:21:19 | sql | -| gogf.go:22:19:22:21 | sql | -| gogf.go:23:20:23:22 | sql | -| gogf.go:24:23:24:25 | sql | -| gogf.go:25:21:25:23 | sql | -| gogf.go:26:23:26:25 | sql | -| gogf.go:27:22:27:24 | sql | -| gogf.go:28:24:28:26 | sql | -| gogf.go:32:9:32:11 | sql | -| gogf.go:33:11:33:13 | sql | -| gogf.go:34:13:34:15 | sql | -| gogf.go:35:13:35:15 | sql | -| gogf.go:36:11:36:13 | sql | -| gogf.go:37:13:37:15 | sql | -| gogf.go:38:12:38:14 | sql | -| gogf.go:39:10:39:12 | sql | -| gogf.go:40:8:40:10 | sql | -| gogf.go:41:17:41:19 | sql | -| gogf.go:42:23:42:25 | sql | -| gogf.go:43:21:43:23 | sql | -| gogf.go:44:23:44:25 | sql | -| gogf.go:45:22:45:24 | sql | -| gogf.go:46:24:46:26 | sql | -| gogf.go:51:9:51:11 | sql | -| gogf.go:52:11:52:13 | sql | -| gogf.go:53:13:53:15 | sql | -| gogf.go:54:13:54:15 | sql | -| gogf.go:55:11:55:13 | sql | -| gogf.go:56:13:56:15 | sql | -| gogf.go:57:12:57:14 | sql | -| gogf.go:58:10:58:12 | sql | -| gogf.go:59:8:59:10 | sql | -| gogf.go:60:17:60:19 | sql | -| gogf.go:61:23:61:25 | sql | -| gogf.go:62:21:62:23 | sql | -| gogf.go:63:23:63:25 | sql | -| gogf.go:64:22:64:24 | sql | -| gogf.go:65:24:65:26 | sql | diff --git a/go/ql/test/library-tests/semmle/go/frameworks/SQL/gogf/gogf.go b/go/ql/test/library-tests/semmle/go/frameworks/SQL/gogf/gogf.go index d0eceaf862cf..e2db8016cf0d 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/SQL/gogf/gogf.go +++ b/go/ql/test/library-tests/semmle/go/frameworks/SQL/gogf/gogf.go @@ -4,11 +4,13 @@ package main //go:generate depstubber -vendor github.com/gogf/gf/database/gdb DB,Core,TX "" import ( + "context" + "github.com/gogf/gf/database/gdb" "github.com/gogf/gf/frame/g" ) -func gogfCoreTest(sql string, c *gdb.Core) { +func gogfCoreTest(sql string, c *gdb.Core, ctx context.Context) { c.Exec(sql, nil) // $ querystring=sql c.GetAll(sql, nil) // $ querystring=sql c.GetArray(sql, nil) // $ querystring=sql @@ -21,14 +23,14 @@ func gogfCoreTest(sql string, c *gdb.Core) { c.GetScan(nil, sql, nil) // $ querystring=sql c.GetStruct(nil, sql, nil) // $ querystring=sql c.GetStructs(nil, sql, nil) // $ querystring=sql - c.DoCommit(nil, nil, sql, nil) // $ querystring=sql - c.DoExec(nil, nil, sql, nil) // $ querystring=sql - c.DoGetAll(nil, nil, sql, nil) // $ querystring=sql - c.DoQuery(nil, nil, sql, nil) // $ querystring=sql - c.DoPrepare(nil, nil, sql) // $ querystring=sql + c.DoCommit(ctx, nil, sql, nil) // $ querystring=sql + c.DoExec(ctx, nil, sql, nil) // $ querystring=sql + c.DoGetAll(ctx, nil, sql, nil) // $ querystring=sql + c.DoQuery(ctx, nil, sql, nil) // $ querystring=sql + c.DoPrepare(ctx, nil, sql) // $ querystring=sql } -func gogfDbtest(sql string, c gdb.DB) { +func gogfDbtest(sql string, c gdb.DB, ctx context.Context) { c.Exec(sql, nil) // $ querystring=sql c.GetAll(sql, nil) // $ querystring=sql c.GetArray(sql, nil) // $ querystring=sql @@ -39,14 +41,14 @@ func gogfDbtest(sql string, c gdb.DB) { c.Query(sql, nil) // $ querystring=sql c.Raw(sql, nil) // $ querystring=sql c.GetScan(nil, sql, nil) // $ querystring=sql - c.DoCommit(nil, nil, sql, nil) // $ querystring=sql - c.DoExec(nil, nil, sql, nil) // $ querystring=sql - c.DoGetAll(nil, nil, sql, nil) // $ querystring=sql - c.DoQuery(nil, nil, sql, nil) // $ querystring=sql - c.DoPrepare(nil, nil, sql) // $ querystring=sql + c.DoCommit(ctx, nil, sql, nil) // $ querystring=sql + c.DoExec(ctx, nil, sql, nil) // $ querystring=sql + c.DoGetAll(ctx, nil, sql, nil) // $ querystring=sql + c.DoQuery(ctx, nil, sql, nil) // $ querystring=sql + c.DoPrepare(ctx, nil, sql) // $ querystring=sql } -func gogfGTest(sql string) { +func gogfGTest(sql string, ctx context.Context) { c := g.DB("ad") c.Exec(sql, nil) // $ querystring=sql c.GetAll(sql, nil) // $ querystring=sql @@ -58,11 +60,11 @@ func gogfGTest(sql string) { c.Query(sql, nil) // $ querystring=sql c.Raw(sql, nil) // $ querystring=sql c.GetScan(nil, sql, nil) // $ querystring=sql - c.DoCommit(nil, nil, sql, nil) // $ querystring=sql - c.DoExec(nil, nil, sql, nil) // $ querystring=sql - c.DoGetAll(nil, nil, sql, nil) // $ querystring=sql - c.DoQuery(nil, nil, sql, nil) // $ querystring=sql - c.DoPrepare(nil, nil, sql) // $ querystring=sql + c.DoCommit(ctx, nil, sql, nil) // $ querystring=sql + c.DoExec(ctx, nil, sql, nil) // $ querystring=sql + c.DoGetAll(ctx, nil, sql, nil) // $ querystring=sql + c.DoQuery(ctx, nil, sql, nil) // $ querystring=sql + c.DoPrepare(ctx, nil, sql) // $ querystring=sql } func main() { diff --git a/go/ql/test/library-tests/semmle/go/frameworks/SQL/gogf/gogf.ql b/go/ql/test/library-tests/semmle/go/frameworks/SQL/gogf/gogf.ql deleted file mode 100644 index 7b56fd974419..000000000000 --- a/go/ql/test/library-tests/semmle/go/frameworks/SQL/gogf/gogf.ql +++ /dev/null @@ -1,4 +0,0 @@ -import go - -from SQL::QueryString qs -select qs From fb050e8b431569094b1e872b9e1359b0dde2284d Mon Sep 17 00:00:00 2001 From: Owen Mansel-Chan Date: Thu, 15 Aug 2024 12:57:42 +0100 Subject: [PATCH 269/347] Convert sqlx sql-injection sinks to MaD --- .../lib/ext/github.com.jmoiron.sqlx.model.yml | 17 ++++++ go/ql/lib/semmle/go/frameworks/SQL.qll | 14 ----- .../frameworks/SQL/Sqlx/QueryString.expected | 3 + .../go/frameworks/SQL/Sqlx/QueryString.ql | 60 +++++++++++++++++++ .../go/frameworks/SQL/Sqlx/sqlx.expected | 12 ---- .../semmle/go/frameworks/SQL/Sqlx/sqlx.go | 24 ++++---- .../semmle/go/frameworks/SQL/Sqlx/sqlx.ql | 4 -- 7 files changed, 92 insertions(+), 42 deletions(-) create mode 100644 go/ql/lib/ext/github.com.jmoiron.sqlx.model.yml create mode 100644 go/ql/test/library-tests/semmle/go/frameworks/SQL/Sqlx/QueryString.expected create mode 100644 go/ql/test/library-tests/semmle/go/frameworks/SQL/Sqlx/QueryString.ql delete mode 100644 go/ql/test/library-tests/semmle/go/frameworks/SQL/Sqlx/sqlx.expected delete mode 100644 go/ql/test/library-tests/semmle/go/frameworks/SQL/Sqlx/sqlx.ql diff --git a/go/ql/lib/ext/github.com.jmoiron.sqlx.model.yml b/go/ql/lib/ext/github.com.jmoiron.sqlx.model.yml new file mode 100644 index 000000000000..8c9d19b4b85b --- /dev/null +++ b/go/ql/lib/ext/github.com.jmoiron.sqlx.model.yml @@ -0,0 +1,17 @@ +extensions: + - addsTo: + pack: codeql/go-all + extensible: sinkModel + data: + - ["github.com/jmoiron/sqlx", "DB", True, "Get", "", "", "Argument[1]", "sql-injection", "manual"] + - ["github.com/jmoiron/sqlx", "DB", True, "MustExec", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/jmoiron/sqlx", "DB", True, "NamedExec", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/jmoiron/sqlx", "DB", True, "NamedQuery", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/jmoiron/sqlx", "DB", True, "Queryx", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/jmoiron/sqlx", "DB", True, "Select", "", "", "Argument[1]", "sql-injection", "manual"] + - ["github.com/jmoiron/sqlx", "Tx", True, "Get", "", "", "Argument[1]", "sql-injection", "manual"] + - ["github.com/jmoiron/sqlx", "Tx", True, "MustExec", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/jmoiron/sqlx", "Tx", True, "NamedExec", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/jmoiron/sqlx", "Tx", True, "NamedQuery", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/jmoiron/sqlx", "Tx", True, "Queryx", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/jmoiron/sqlx", "Tx", True, "Select", "", "", "Argument[1]", "sql-injection", "manual"] diff --git a/go/ql/lib/semmle/go/frameworks/SQL.qll b/go/ql/lib/semmle/go/frameworks/SQL.qll index f960c214d84b..304c7f82d871 100644 --- a/go/ql/lib/semmle/go/frameworks/SQL.qll +++ b/go/ql/lib/semmle/go/frameworks/SQL.qll @@ -165,20 +165,6 @@ module SQL { ) } } - - /** A model for sinks of github.com/jmoiron/sqlx. */ - private class SqlxSink extends SQL::QueryString::Range { - SqlxSink() { - exists(Method meth, string name, int n | - meth.hasQualifiedName(package("github.com/jmoiron/sqlx", ""), ["DB", "Tx"], name) and - this = meth.getACall().getArgument(n) - | - name = ["Select", "Get"] and n = 1 - or - name = ["MustExec", "Queryx", "NamedExec", "NamedQuery"] and n = 0 - ) - } - } } /** diff --git a/go/ql/test/library-tests/semmle/go/frameworks/SQL/Sqlx/QueryString.expected b/go/ql/test/library-tests/semmle/go/frameworks/SQL/Sqlx/QueryString.expected new file mode 100644 index 000000000000..db33d6d2504a --- /dev/null +++ b/go/ql/test/library-tests/semmle/go/frameworks/SQL/Sqlx/QueryString.expected @@ -0,0 +1,3 @@ +testFailures +invalidModelRow +failures diff --git a/go/ql/test/library-tests/semmle/go/frameworks/SQL/Sqlx/QueryString.ql b/go/ql/test/library-tests/semmle/go/frameworks/SQL/Sqlx/QueryString.ql new file mode 100644 index 000000000000..eeb43a82fadd --- /dev/null +++ b/go/ql/test/library-tests/semmle/go/frameworks/SQL/Sqlx/QueryString.ql @@ -0,0 +1,60 @@ +import go +import semmle.go.dataflow.ExternalFlow +import ModelValidation +import TestUtilities.InlineExpectationsTest + +module SqlTest implements TestSig { + string getARelevantTag() { result = "query" } + + predicate hasActualResult(Location location, string element, string tag, string value) { + tag = "query" and + exists(SQL::Query q, SQL::QueryString qs | qs = q.getAQueryString() | + q.hasLocationInfo(location.getFile().getAbsolutePath(), location.getStartLine(), + location.getStartColumn(), location.getEndLine(), location.getEndColumn()) and + element = q.toString() and + value = qs.toString() + ) + } +} + +module QueryString implements TestSig { + string getARelevantTag() { result = "querystring" } + + predicate hasActualResult(Location location, string element, string tag, string value) { + tag = "querystring" and + element = "" and + exists(SQL::QueryString qs | not exists(SQL::Query q | qs = q.getAQueryString()) | + qs.hasLocationInfo(location.getFile().getAbsolutePath(), location.getStartLine(), + location.getStartColumn(), location.getEndLine(), location.getEndColumn()) and + value = qs.toString() + ) + } +} + +module Config implements DataFlow::ConfigSig { + predicate isSource(DataFlow::Node n) { n.asExpr() instanceof StringLit } + + predicate isSink(DataFlow::Node n) { + n = any(DataFlow::CallNode cn | cn.getTarget().getName() = "sink").getAnArgument() + } +} + +module Flow = TaintTracking::Global; + +module TaintFlow implements TestSig { + string getARelevantTag() { result = "flowfrom" } + + predicate hasActualResult(Location location, string element, string tag, string value) { + tag = "flowfrom" and + element = "" and + exists(DataFlow::Node fromNode, DataFlow::Node toNode | + toNode + .hasLocationInfo(location.getFile().getAbsolutePath(), location.getStartLine(), + location.getStartColumn(), location.getEndLine(), location.getEndColumn()) and + Flow::flow(fromNode, toNode) and + value = fromNode.asExpr().(StringLit).getValue() + ) + } +} + +import MakeTest> diff --git a/go/ql/test/library-tests/semmle/go/frameworks/SQL/Sqlx/sqlx.expected b/go/ql/test/library-tests/semmle/go/frameworks/SQL/Sqlx/sqlx.expected deleted file mode 100644 index 0540a78fb343..000000000000 --- a/go/ql/test/library-tests/semmle/go/frameworks/SQL/Sqlx/sqlx.expected +++ /dev/null @@ -1,12 +0,0 @@ -| sqlx.go:15:17:15:25 | untrusted | -| sqlx.go:16:14:16:22 | untrusted | -| sqlx.go:17:14:17:22 | untrusted | -| sqlx.go:18:12:18:20 | untrusted | -| sqlx.go:19:15:19:23 | untrusted | -| sqlx.go:20:16:20:24 | untrusted | -| sqlx.go:23:17:23:25 | untrusted | -| sqlx.go:24:14:24:22 | untrusted | -| sqlx.go:25:14:25:22 | untrusted | -| sqlx.go:26:12:26:20 | untrusted | -| sqlx.go:27:15:27:23 | untrusted | -| sqlx.go:28:16:28:24 | untrusted | diff --git a/go/ql/test/library-tests/semmle/go/frameworks/SQL/Sqlx/sqlx.go b/go/ql/test/library-tests/semmle/go/frameworks/SQL/Sqlx/sqlx.go index edc29c4d4eef..e4e8d43395bd 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/SQL/Sqlx/sqlx.go +++ b/go/ql/test/library-tests/semmle/go/frameworks/SQL/Sqlx/sqlx.go @@ -12,19 +12,19 @@ func main() { db := sqlx.DB{} untrusted := getUntrustedString() - db.Select(nil, untrusted) - db.Get(nil, untrusted) - db.MustExec(untrusted) - db.Queryx(untrusted) - db.NamedExec(untrusted, nil) - db.NamedQuery(untrusted, nil) + db.Select(nil, untrusted) // $ querystring=untrusted + db.Get(nil, untrusted) // $ querystring=untrusted + db.MustExec(untrusted) // $ querystring=untrusted + db.Queryx(untrusted) // $ querystring=untrusted + db.NamedExec(untrusted, nil) // $ querystring=untrusted + db.NamedQuery(untrusted, nil) // $ querystring=untrusted tx := sqlx.Tx{} - tx.Select(nil, untrusted) - tx.Get(nil, untrusted) - tx.MustExec(untrusted) - tx.Queryx(untrusted) - tx.NamedExec(untrusted, nil) - tx.NamedQuery(untrusted, nil) + tx.Select(nil, untrusted) // $ querystring=untrusted + tx.Get(nil, untrusted) // $ querystring=untrusted + tx.MustExec(untrusted) // $ querystring=untrusted + tx.Queryx(untrusted) // $ querystring=untrusted + tx.NamedExec(untrusted, nil) // $ querystring=untrusted + tx.NamedQuery(untrusted, nil) // $ querystring=untrusted } diff --git a/go/ql/test/library-tests/semmle/go/frameworks/SQL/Sqlx/sqlx.ql b/go/ql/test/library-tests/semmle/go/frameworks/SQL/Sqlx/sqlx.ql deleted file mode 100644 index 7b56fd974419..000000000000 --- a/go/ql/test/library-tests/semmle/go/frameworks/SQL/Sqlx/sqlx.ql +++ /dev/null @@ -1,4 +0,0 @@ -import go - -from SQL::QueryString qs -select qs From 1ab50fc62cc0c748f0ccb2630c2247ec3c725cfb Mon Sep 17 00:00:00 2001 From: Owen Mansel-Chan Date: Thu, 15 Aug 2024 15:24:56 +0100 Subject: [PATCH 270/347] Convert Gorm sql-injection sinks to MaD --- go/ql/lib/ext/gorm.io.gorm.model.yml | 25 ++++++++ go/ql/lib/semmle/go/frameworks/SQL.qll | 15 ----- .../frameworks/SQL/Gorm/QueryString.expected | 3 + .../go/frameworks/SQL/Gorm/QueryString.ql | 60 +++++++++++++++++++ .../go/frameworks/SQL/Gorm/gorm.expected | 25 -------- .../semmle/go/frameworks/SQL/Gorm/gorm.go | 51 ++++++++-------- .../semmle/go/frameworks/SQL/Gorm/gorm.ql | 5 -- 7 files changed, 113 insertions(+), 71 deletions(-) create mode 100644 go/ql/lib/ext/gorm.io.gorm.model.yml create mode 100644 go/ql/test/library-tests/semmle/go/frameworks/SQL/Gorm/QueryString.expected create mode 100644 go/ql/test/library-tests/semmle/go/frameworks/SQL/Gorm/QueryString.ql delete mode 100644 go/ql/test/library-tests/semmle/go/frameworks/SQL/Gorm/gorm.expected delete mode 100644 go/ql/test/library-tests/semmle/go/frameworks/SQL/Gorm/gorm.ql diff --git a/go/ql/lib/ext/gorm.io.gorm.model.yml b/go/ql/lib/ext/gorm.io.gorm.model.yml new file mode 100644 index 000000000000..bfcf1fa66a76 --- /dev/null +++ b/go/ql/lib/ext/gorm.io.gorm.model.yml @@ -0,0 +1,25 @@ +extensions: + - addsTo: + pack: codeql/go-all + extensible: packageGrouping + data: + - ["gorm", "gorm.io/gorm"] + - ["gorm", "github.com/jinzhu/gorm"] + - ["gorm", "github.com/go-gorm/gorm"] + - addsTo: + pack: codeql/go-all + extensible: sinkModel + data: + - ["group:gorm", "DB", True, "Where", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:gorm", "DB", True, "Raw", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:gorm", "DB", True, "Order", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:gorm", "DB", True, "Not", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:gorm", "DB", True, "Or", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:gorm", "DB", True, "Select", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:gorm", "DB", True, "Table", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:gorm", "DB", True, "Group", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:gorm", "DB", True, "Having", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:gorm", "DB", True, "Joins", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:gorm", "DB", True, "Exec", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:gorm", "DB", True, "Distinct", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:gorm", "DB", True, "Pluck", "", "", "Argument[0]", "sql-injection", "manual"] diff --git a/go/ql/lib/semmle/go/frameworks/SQL.qll b/go/ql/lib/semmle/go/frameworks/SQL.qll index 304c7f82d871..72003985d77f 100644 --- a/go/ql/lib/semmle/go/frameworks/SQL.qll +++ b/go/ql/lib/semmle/go/frameworks/SQL.qll @@ -150,21 +150,6 @@ module SQL { } } } - - /** A model for sinks of GORM. */ - private class GormSink extends SQL::QueryString::Range { - GormSink() { - exists(Method meth, string package, string name | - meth.hasQualifiedName(package, "DB", name) and - this = meth.getACall().getSyntacticArgument(0) and - package = Gorm::packagePath() and - name in [ - "Where", "Raw", "Order", "Not", "Or", "Select", "Table", "Group", "Having", "Joins", - "Exec", "Distinct", "Pluck" - ] - ) - } - } } /** diff --git a/go/ql/test/library-tests/semmle/go/frameworks/SQL/Gorm/QueryString.expected b/go/ql/test/library-tests/semmle/go/frameworks/SQL/Gorm/QueryString.expected new file mode 100644 index 000000000000..db33d6d2504a --- /dev/null +++ b/go/ql/test/library-tests/semmle/go/frameworks/SQL/Gorm/QueryString.expected @@ -0,0 +1,3 @@ +testFailures +invalidModelRow +failures diff --git a/go/ql/test/library-tests/semmle/go/frameworks/SQL/Gorm/QueryString.ql b/go/ql/test/library-tests/semmle/go/frameworks/SQL/Gorm/QueryString.ql new file mode 100644 index 000000000000..eeb43a82fadd --- /dev/null +++ b/go/ql/test/library-tests/semmle/go/frameworks/SQL/Gorm/QueryString.ql @@ -0,0 +1,60 @@ +import go +import semmle.go.dataflow.ExternalFlow +import ModelValidation +import TestUtilities.InlineExpectationsTest + +module SqlTest implements TestSig { + string getARelevantTag() { result = "query" } + + predicate hasActualResult(Location location, string element, string tag, string value) { + tag = "query" and + exists(SQL::Query q, SQL::QueryString qs | qs = q.getAQueryString() | + q.hasLocationInfo(location.getFile().getAbsolutePath(), location.getStartLine(), + location.getStartColumn(), location.getEndLine(), location.getEndColumn()) and + element = q.toString() and + value = qs.toString() + ) + } +} + +module QueryString implements TestSig { + string getARelevantTag() { result = "querystring" } + + predicate hasActualResult(Location location, string element, string tag, string value) { + tag = "querystring" and + element = "" and + exists(SQL::QueryString qs | not exists(SQL::Query q | qs = q.getAQueryString()) | + qs.hasLocationInfo(location.getFile().getAbsolutePath(), location.getStartLine(), + location.getStartColumn(), location.getEndLine(), location.getEndColumn()) and + value = qs.toString() + ) + } +} + +module Config implements DataFlow::ConfigSig { + predicate isSource(DataFlow::Node n) { n.asExpr() instanceof StringLit } + + predicate isSink(DataFlow::Node n) { + n = any(DataFlow::CallNode cn | cn.getTarget().getName() = "sink").getAnArgument() + } +} + +module Flow = TaintTracking::Global; + +module TaintFlow implements TestSig { + string getARelevantTag() { result = "flowfrom" } + + predicate hasActualResult(Location location, string element, string tag, string value) { + tag = "flowfrom" and + element = "" and + exists(DataFlow::Node fromNode, DataFlow::Node toNode | + toNode + .hasLocationInfo(location.getFile().getAbsolutePath(), location.getStartLine(), + location.getStartColumn(), location.getEndLine(), location.getEndColumn()) and + Flow::flow(fromNode, toNode) and + value = fromNode.asExpr().(StringLit).getValue() + ) + } +} + +import MakeTest> diff --git a/go/ql/test/library-tests/semmle/go/frameworks/SQL/Gorm/gorm.expected b/go/ql/test/library-tests/semmle/go/frameworks/SQL/Gorm/gorm.expected deleted file mode 100644 index ca70ed07c33d..000000000000 --- a/go/ql/test/library-tests/semmle/go/frameworks/SQL/Gorm/gorm.expected +++ /dev/null @@ -1,25 +0,0 @@ -| gorm.go:20:12:20:20 | untrusted | github.com/jinzhu/gorm | DB | Where | -| gorm.go:21:10:21:18 | untrusted | github.com/jinzhu/gorm | DB | Raw | -| gorm.go:22:10:22:18 | untrusted | github.com/jinzhu/gorm | DB | Not | -| gorm.go:23:12:23:20 | untrusted | github.com/jinzhu/gorm | DB | Order | -| gorm.go:24:9:24:17 | untrusted | github.com/jinzhu/gorm | DB | Or | -| gorm.go:25:13:25:21 | untrusted | github.com/jinzhu/gorm | DB | Select | -| gorm.go:26:12:26:20 | untrusted | github.com/jinzhu/gorm | DB | Table | -| gorm.go:27:12:27:20 | untrusted | github.com/jinzhu/gorm | DB | Group | -| gorm.go:28:13:28:21 | untrusted | github.com/jinzhu/gorm | DB | Having | -| gorm.go:29:12:29:20 | untrusted | github.com/jinzhu/gorm | DB | Joins | -| gorm.go:30:11:30:19 | untrusted | github.com/jinzhu/gorm | DB | Exec | -| gorm.go:31:12:31:20 | untrusted | github.com/jinzhu/gorm | DB | Pluck | -| gorm.go:34:12:34:20 | untrusted | gorm.io/gorm | DB | Where | -| gorm.go:35:10:35:18 | untrusted | gorm.io/gorm | DB | Raw | -| gorm.go:36:10:36:18 | untrusted | gorm.io/gorm | DB | Not | -| gorm.go:37:12:37:20 | untrusted | gorm.io/gorm | DB | Order | -| gorm.go:38:9:38:17 | untrusted | gorm.io/gorm | DB | Or | -| gorm.go:39:13:39:21 | untrusted | gorm.io/gorm | DB | Select | -| gorm.go:40:12:40:20 | untrusted | gorm.io/gorm | DB | Table | -| gorm.go:41:12:41:20 | untrusted | gorm.io/gorm | DB | Group | -| gorm.go:42:13:42:21 | untrusted | gorm.io/gorm | DB | Having | -| gorm.go:43:12:43:20 | untrusted | gorm.io/gorm | DB | Joins | -| gorm.go:44:11:44:19 | untrusted | gorm.io/gorm | DB | Exec | -| gorm.go:45:15:45:23 | untrusted | gorm.io/gorm | DB | Distinct | -| gorm.go:46:12:46:20 | untrusted | gorm.io/gorm | DB | Pluck | diff --git a/go/ql/test/library-tests/semmle/go/frameworks/SQL/Gorm/gorm.go b/go/ql/test/library-tests/semmle/go/frameworks/SQL/Gorm/gorm.go index bee8edbf7af8..2d736e2407c9 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/SQL/Gorm/gorm.go +++ b/go/ql/test/library-tests/semmle/go/frameworks/SQL/Gorm/gorm.go @@ -13,36 +13,35 @@ func getUntrustedString() string { } func main() { - untrusted := getUntrustedString() db1 := gorm1.DB{} - db1.Where(untrusted) - db1.Raw(untrusted) - db1.Not(untrusted) - db1.Order(untrusted) - db1.Or(untrusted) - db1.Select(untrusted) - db1.Table(untrusted) - db1.Group(untrusted) - db1.Having(untrusted) - db1.Joins(untrusted) - db1.Exec(untrusted) - db1.Pluck(untrusted, nil) + db1.Where(untrusted) // $ querystring=untrusted + db1.Raw(untrusted) // $ querystring=untrusted + db1.Not(untrusted) // $ querystring=untrusted + db1.Order(untrusted) // $ querystring=untrusted + db1.Or(untrusted) // $ querystring=untrusted + db1.Select(untrusted) // $ querystring=untrusted + db1.Table(untrusted) // $ querystring=untrusted + db1.Group(untrusted) // $ querystring=untrusted + db1.Having(untrusted) // $ querystring=untrusted + db1.Joins(untrusted) // $ querystring=untrusted + db1.Exec(untrusted) // $ querystring=untrusted + db1.Pluck(untrusted, nil) // $ querystring=untrusted db2 := gorm2.DB{} - db2.Where(untrusted) - db2.Raw(untrusted) - db2.Not(untrusted) - db2.Order(untrusted) - db2.Or(untrusted) - db2.Select(untrusted) - db2.Table(untrusted) - db2.Group(untrusted) - db2.Having(untrusted) - db2.Joins(untrusted) - db2.Exec(untrusted) - db2.Distinct(untrusted) - db2.Pluck(untrusted, nil) + db2.Where(untrusted) // $ querystring=untrusted + db2.Raw(untrusted) // $ querystring=untrusted + db2.Not(untrusted) // $ querystring=untrusted + db2.Order(untrusted) // $ querystring=untrusted + db2.Or(untrusted) // $ querystring=untrusted + db2.Select(untrusted) // $ querystring=untrusted + db2.Table(untrusted) // $ querystring=untrusted + db2.Group(untrusted) // $ querystring=untrusted + db2.Having(untrusted) // $ querystring=untrusted + db2.Joins(untrusted) // $ querystring=untrusted + db2.Exec(untrusted) // $ querystring=untrusted + db2.Distinct(untrusted) // $ querystring=untrusted + db2.Pluck(untrusted, nil) // $ querystring=untrusted } diff --git a/go/ql/test/library-tests/semmle/go/frameworks/SQL/Gorm/gorm.ql b/go/ql/test/library-tests/semmle/go/frameworks/SQL/Gorm/gorm.ql deleted file mode 100644 index e08b506deaf1..000000000000 --- a/go/ql/test/library-tests/semmle/go/frameworks/SQL/Gorm/gorm.ql +++ /dev/null @@ -1,5 +0,0 @@ -import go - -from SQL::QueryString qs, Method meth, string a, string b, string c -where meth.hasQualifiedName(a, b, c) and qs = meth.getACall().getSyntacticArgument(0) -select qs, a, b, c From 1c305aa8f3f1c2690cf21ecfe15afd7c83fc3b33 Mon Sep 17 00:00:00 2001 From: Owen Mansel-Chan Date: Thu, 15 Aug 2024 15:38:07 +0100 Subject: [PATCH 271/347] Convert Xorm sql-injection sinks to MaD --- go/ql/lib/ext/xorm.io.xorm.model.yml | 53 ++++++++++++++++++++++++++ go/ql/lib/semmle/go/frameworks/SQL.qll | 22 ----------- 2 files changed, 53 insertions(+), 22 deletions(-) create mode 100644 go/ql/lib/ext/xorm.io.xorm.model.yml diff --git a/go/ql/lib/ext/xorm.io.xorm.model.yml b/go/ql/lib/ext/xorm.io.xorm.model.yml new file mode 100644 index 000000000000..fd73b7c9a669 --- /dev/null +++ b/go/ql/lib/ext/xorm.io.xorm.model.yml @@ -0,0 +1,53 @@ +extensions: + - addsTo: + pack: codeql/go-all + extensible: packageGrouping + data: + - ["xorm", "xorm.io/xorm"] + - ["xorm", "github.com/go-xorm/xorm"] + - addsTo: + pack: codeql/go-all + extensible: sinkModel + data: + - ["group:xorm", "Engine", True, "Alias", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:xorm", "Engine", True, "And", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:xorm", "Engine", True, "Exec", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:xorm", "Engine", True, "GroupBy", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:xorm", "Engine", True, "Having", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:xorm", "Engine", True, "In", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:xorm", "Engine", True, "Join", "", "", "Argument[0..2]", "sql-injection", "manual"] + - ["group:xorm", "Engine", True, "NotIn", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:xorm", "Engine", True, "Or", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:xorm", "Engine", True, "OrderBy", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:xorm", "Engine", True, "Query", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:xorm", "Engine", True, "QueryString", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:xorm", "Engine", True, "QueryInterface", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:xorm", "Engine", True, "Select", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:xorm", "Engine", True, "SetExpr", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:xorm", "Engine", True, "SQL", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:xorm", "Engine", True, "Sum", "", "", "Argument[1]", "sql-injection", "manual"] + - ["group:xorm", "Engine", True, "Sums", "", "", "Argument[1]", "sql-injection", "manual"] + - ["group:xorm", "Engine", True, "SumInt", "", "", "Argument[1]", "sql-injection", "manual"] + - ["group:xorm", "Engine", True, "SumsInt", "", "", "Argument[1]", "sql-injection", "manual"] + - ["group:xorm", "Engine", True, "Where", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:xorm", "Session", True, "Alias", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:xorm", "Session", True, "And", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:xorm", "Session", True, "Exec", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:xorm", "Session", True, "GroupBy", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:xorm", "Session", True, "Having", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:xorm", "Session", True, "In", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:xorm", "Session", True, "Join", "", "", "Argument[0..2]", "sql-injection", "manual"] + - ["group:xorm", "Session", True, "NotIn", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:xorm", "Session", True, "Or", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:xorm", "Session", True, "OrderBy", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:xorm", "Session", True, "Query", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:xorm", "Session", True, "QueryString", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:xorm", "Session", True, "QueryInterface", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:xorm", "Session", True, "Select", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:xorm", "Session", True, "SetExpr", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:xorm", "Session", True, "SQL", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:xorm", "Session", True, "Sum", "", "", "Argument[1]", "sql-injection", "manual"] + - ["group:xorm", "Session", True, "Sums", "", "", "Argument[1]", "sql-injection", "manual"] + - ["group:xorm", "Session", True, "SumInt", "", "", "Argument[1]", "sql-injection", "manual"] + - ["group:xorm", "Session", True, "SumsInt", "", "", "Argument[1]", "sql-injection", "manual"] + - ["group:xorm", "Session", True, "Where", "", "", "Argument[0]", "sql-injection", "manual"] diff --git a/go/ql/lib/semmle/go/frameworks/SQL.qll b/go/ql/lib/semmle/go/frameworks/SQL.qll index 72003985d77f..f4367da7854c 100644 --- a/go/ql/lib/semmle/go/frameworks/SQL.qll +++ b/go/ql/lib/semmle/go/frameworks/SQL.qll @@ -168,28 +168,6 @@ module Gorm { module Xorm { /** Gets the package name for Xorm. */ string packagePath() { result = package(["xorm.io/xorm", "github.com/go-xorm/xorm"], "") } - - /** A model for sinks of XORM. */ - private class XormSink extends SQL::QueryString::Range { - XormSink() { - exists(Method meth, string type, string name, int n | - meth.hasQualifiedName(Xorm::packagePath(), type, name) and - this = meth.getACall().getSyntacticArgument(n) and - type = ["Engine", "Session"] - | - name = - [ - "Query", "Exec", "QueryString", "QueryInterface", "SQL", "Where", "And", "Or", "Alias", - "NotIn", "In", "Select", "SetExpr", "OrderBy", "Having", "GroupBy" - ] and - n = 0 - or - name = ["SumInt", "Sum", "Sums", "SumsInt"] and n = 1 - or - name = "Join" and n = [0, 1, 2] - ) - } - } } /** From 2282a8184b8435cf2e0232a867eb87526107ceda Mon Sep 17 00:00:00 2001 From: Owen Mansel-Chan Date: Thu, 15 Aug 2024 16:10:11 +0100 Subject: [PATCH 272/347] Convert Bun sql-injection sinks to MaD --- .../lib/ext/github.com.uptrace.bun.model.yml | 68 +++++++++++++++++++ go/ql/lib/semmle/go/frameworks/SQL.qll | 43 +----------- .../frameworks/SQL/bun/QueryString.expected | 3 + .../go/frameworks/SQL/bun/QueryString.ql | 60 ++++++++++++++++ .../semmle/go/frameworks/SQL/bun/bun.go | 48 ++++++------- 5 files changed, 158 insertions(+), 64 deletions(-) create mode 100644 go/ql/lib/ext/github.com.uptrace.bun.model.yml create mode 100644 go/ql/test/library-tests/semmle/go/frameworks/SQL/bun/QueryString.expected create mode 100644 go/ql/test/library-tests/semmle/go/frameworks/SQL/bun/QueryString.ql diff --git a/go/ql/lib/ext/github.com.uptrace.bun.model.yml b/go/ql/lib/ext/github.com.uptrace.bun.model.yml new file mode 100644 index 000000000000..eb060b4f9ccb --- /dev/null +++ b/go/ql/lib/ext/github.com.uptrace.bun.model.yml @@ -0,0 +1,68 @@ +extensions: + - addsTo: + pack: codeql/go-all + extensible: sinkModel + data: + - ["github.com/uptrace/bun", "", True, "NewRawQuery", "", "", "Argument[1]", "sql-injection", "manual"] + - ["github.com/uptrace/bun", "AddColumnQuery", True, "ColumnExpr", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/uptrace/bun", "AddColumnQuery", True, "ModelTableExpr", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/uptrace/bun", "AddColumnQuery", True, "TableExpr", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/uptrace/bun", "Conn", True, "Exec", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/uptrace/bun", "Conn", True, "ExecContext", "", "", "Argument[1]", "sql-injection", "manual"] + - ["github.com/uptrace/bun", "Conn", True, "NewRaw", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/uptrace/bun", "Conn", True, "Prepare", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/uptrace/bun", "Conn", True, "Query", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/uptrace/bun", "Conn", True, "QueryRow", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/uptrace/bun", "Conn", True, "PrepareContext", "", "", "Argument[1]", "sql-injection", "manual"] + - ["github.com/uptrace/bun", "Conn", True, "QueryContext", "", "", "Argument[1]", "sql-injection", "manual"] + - ["github.com/uptrace/bun", "Conn", True, "QueryRowContext", "", "", "Argument[1]", "sql-injection", "manual"] + - ["github.com/uptrace/bun", "Conn", True, "Raw", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/uptrace/bun", "CreateIndexQuery", True, "ColumnExpr", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/uptrace/bun", "CreateIndexQuery", True, "ModelTableExpr", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/uptrace/bun", "CreateIndexQuery", True, "TableExpr", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/uptrace/bun", "CreateIndexQuery", True, "Where", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/uptrace/bun", "CreateIndexQuery", True, "WhereOr", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/uptrace/bun", "CreateTableQuery", True, "ColumnExpr", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/uptrace/bun", "CreateTableQuery", True, "ModelTableExpr", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/uptrace/bun", "CreateTableQuery", True, "TableExpr", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/uptrace/bun", "DB", True, "Exec", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/uptrace/bun", "DB", True, "ExecContext", "", "", "Argument[1]", "sql-injection", "manual"] + - ["github.com/uptrace/bun", "DB", True, "NewRaw", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/uptrace/bun", "DB", True, "Prepare", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/uptrace/bun", "DB", True, "Query", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/uptrace/bun", "DB", True, "QueryRow", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/uptrace/bun", "DB", True, "PrepareContext", "", "", "Argument[1]", "sql-injection", "manual"] + - ["github.com/uptrace/bun", "DB", True, "QueryContext", "", "", "Argument[1]", "sql-injection", "manual"] + - ["github.com/uptrace/bun", "DB", True, "QueryRowContext", "", "", "Argument[1]", "sql-injection", "manual"] + - ["github.com/uptrace/bun", "DB", True, "Raw", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/uptrace/bun", "DeleteQuery", True, "TableExpr", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/uptrace/bun", "DeleteQuery", True, "Where", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/uptrace/bun", "DeleteQuery", True, "WhereOr", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/uptrace/bun", "DropColumnQuery", True, "ColumnExpr", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/uptrace/bun", "DropColumnQuery", True, "ModelTableExpr", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/uptrace/bun", "DropColumnQuery", True, "TableExpr", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/uptrace/bun", "DropTableQuery", True, "ModelTableExpr", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/uptrace/bun", "DropTableQuery", True, "TableExpr", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/uptrace/bun", "InsertQuery", True, "ColumnExpr", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/uptrace/bun", "InsertQuery", True, "ModelTableExpr", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/uptrace/bun", "InsertQuery", True, "TableExpr", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/uptrace/bun", "InsertQuery", True, "Where", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/uptrace/bun", "InsertQuery", True, "WhereOr", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/uptrace/bun", "MergeQuery", True, "ModelTableExpr", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/uptrace/bun", "MergeQuery", True, "TableExpr", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/uptrace/bun", "RawQuery", True, "NewRaw", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/uptrace/bun", "SelectQuery", True, "ColumnExpr", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/uptrace/bun", "SelectQuery", True, "DistinctOn", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/uptrace/bun", "SelectQuery", True, "For", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/uptrace/bun", "SelectQuery", True, "GroupExpr", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/uptrace/bun", "SelectQuery", True, "Having", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/uptrace/bun", "SelectQuery", True, "ModelTableExpr", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/uptrace/bun", "SelectQuery", True, "OrderExpr", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/uptrace/bun", "SelectQuery", True, "TableExpr", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/uptrace/bun", "SelectQuery", True, "Where", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/uptrace/bun", "SelectQuery", True, "WhereOr", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/uptrace/bun", "TruncateTableQuery", True, "TableExpr", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/uptrace/bun", "UpdateQuery", True, "ModelTableExpr", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/uptrace/bun", "UpdateQuery", True, "TableExpr", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/uptrace/bun", "UpdateQuery", True, "Where", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/uptrace/bun", "UpdateQuery", True, "WhereOr", "", "", "Argument[0]", "sql-injection", "manual"] diff --git a/go/ql/lib/semmle/go/frameworks/SQL.qll b/go/ql/lib/semmle/go/frameworks/SQL.qll index f4367da7854c..c2a550602e1c 100644 --- a/go/ql/lib/semmle/go/frameworks/SQL.qll +++ b/go/ql/lib/semmle/go/frameworks/SQL.qll @@ -171,45 +171,8 @@ module Xorm { } /** + * DEPRECATED + * * Provides classes for working with the [Bun](https://bun.uptrace.dev/) package. */ -module Bun { - /** Gets the package name for Bun package. */ - private string packagePath() { result = package("github.com/uptrace/bun", "") } - - /** A model for sinks of Bun. */ - private class BunSink extends SQL::QueryString::Range { - BunSink() { - exists(Function f, string m, int arg | this = f.getACall().getArgument(arg) | - f.hasQualifiedName(packagePath(), m) and - m = "NewRawQuery" and - arg = 1 - ) - or - exists(Method f, string tp, string m, int arg | this = f.getACall().getArgument(arg) | - f.hasQualifiedName(packagePath(), tp, m) and - ( - tp = ["DB", "Conn"] and - m = ["ExecContext", "PrepareContext", "QueryContext", "QueryRowContext"] and - arg = 1 - or - tp = ["DB", "Conn"] and - m = ["Exec", "NewRaw", "Prepare", "Query", "QueryRow", "Raw"] and - arg = 0 - or - tp.matches("%Query") and - m = - [ - "ColumnExpr", "DistinctOn", "For", "GroupExpr", "Having", "ModelTableExpr", - "OrderExpr", "TableExpr", "Where", "WhereOr" - ] and - arg = 0 - or - tp = "RawQuery" and - m = "NewRaw" and - arg = 0 - ) - ) - } - } -} +deprecated module Bun { } diff --git a/go/ql/test/library-tests/semmle/go/frameworks/SQL/bun/QueryString.expected b/go/ql/test/library-tests/semmle/go/frameworks/SQL/bun/QueryString.expected new file mode 100644 index 000000000000..105b7026d0c4 --- /dev/null +++ b/go/ql/test/library-tests/semmle/go/frameworks/SQL/bun/QueryString.expected @@ -0,0 +1,3 @@ +failures +invalidModelRow +testFailures diff --git a/go/ql/test/library-tests/semmle/go/frameworks/SQL/bun/QueryString.ql b/go/ql/test/library-tests/semmle/go/frameworks/SQL/bun/QueryString.ql new file mode 100644 index 000000000000..eeb43a82fadd --- /dev/null +++ b/go/ql/test/library-tests/semmle/go/frameworks/SQL/bun/QueryString.ql @@ -0,0 +1,60 @@ +import go +import semmle.go.dataflow.ExternalFlow +import ModelValidation +import TestUtilities.InlineExpectationsTest + +module SqlTest implements TestSig { + string getARelevantTag() { result = "query" } + + predicate hasActualResult(Location location, string element, string tag, string value) { + tag = "query" and + exists(SQL::Query q, SQL::QueryString qs | qs = q.getAQueryString() | + q.hasLocationInfo(location.getFile().getAbsolutePath(), location.getStartLine(), + location.getStartColumn(), location.getEndLine(), location.getEndColumn()) and + element = q.toString() and + value = qs.toString() + ) + } +} + +module QueryString implements TestSig { + string getARelevantTag() { result = "querystring" } + + predicate hasActualResult(Location location, string element, string tag, string value) { + tag = "querystring" and + element = "" and + exists(SQL::QueryString qs | not exists(SQL::Query q | qs = q.getAQueryString()) | + qs.hasLocationInfo(location.getFile().getAbsolutePath(), location.getStartLine(), + location.getStartColumn(), location.getEndLine(), location.getEndColumn()) and + value = qs.toString() + ) + } +} + +module Config implements DataFlow::ConfigSig { + predicate isSource(DataFlow::Node n) { n.asExpr() instanceof StringLit } + + predicate isSink(DataFlow::Node n) { + n = any(DataFlow::CallNode cn | cn.getTarget().getName() = "sink").getAnArgument() + } +} + +module Flow = TaintTracking::Global; + +module TaintFlow implements TestSig { + string getARelevantTag() { result = "flowfrom" } + + predicate hasActualResult(Location location, string element, string tag, string value) { + tag = "flowfrom" and + element = "" and + exists(DataFlow::Node fromNode, DataFlow::Node toNode | + toNode + .hasLocationInfo(location.getFile().getAbsolutePath(), location.getStartLine(), + location.getStartColumn(), location.getEndLine(), location.getEndColumn()) and + Flow::flow(fromNode, toNode) and + value = fromNode.asExpr().(StringLit).getValue() + ) + } +} + +import MakeTest> diff --git a/go/ql/test/library-tests/semmle/go/frameworks/SQL/bun/bun.go b/go/ql/test/library-tests/semmle/go/frameworks/SQL/bun/bun.go index 8ce4e5b0826b..44a2e2c2fce4 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/SQL/bun/bun.go +++ b/go/ql/test/library-tests/semmle/go/frameworks/SQL/bun/bun.go @@ -22,28 +22,28 @@ func main() { panic(err) } db := bun.NewDB(sqlite, sqlitedialect.New()) - bun.NewRawQuery(db, untrusted) - - db.ExecContext(ctx, untrusted) - db.PrepareContext(ctx, untrusted) - db.QueryContext(ctx, untrusted) - db.QueryRowContext(ctx, untrusted) - - db.Exec(untrusted) - db.NewRaw(untrusted) - db.Prepare(untrusted) - db.Query(untrusted) - db.QueryRow(untrusted) - db.Raw(untrusted) - - db.NewSelect().ColumnExpr(untrusted) - db.NewSelect().DistinctOn(untrusted) - db.NewSelect().For(untrusted) - db.NewSelect().GroupExpr(untrusted) - db.NewSelect().Having(untrusted) - db.NewSelect().ModelTableExpr(untrusted) - db.NewSelect().OrderExpr(untrusted) - db.NewSelect().TableExpr(untrusted) - db.NewSelect().Where(untrusted) - db.NewSelect().WhereOr(untrusted) + bun.NewRawQuery(db, untrusted) // $ querystring=untrusted + + db.ExecContext(ctx, untrusted) // $ querystring=untrusted + db.PrepareContext(ctx, untrusted) // $ querystring=untrusted + db.QueryContext(ctx, untrusted) // $ querystring=untrusted + db.QueryRowContext(ctx, untrusted) // $ querystring=untrusted + + db.Exec(untrusted) // $ querystring=untrusted + db.NewRaw(untrusted) // $ querystring=untrusted + db.Prepare(untrusted) // $ querystring=untrusted + db.Query(untrusted) // $ querystring=untrusted + db.QueryRow(untrusted) // $ querystring=untrusted + db.Raw(untrusted) // $ querystring=untrusted + + db.NewSelect().ColumnExpr(untrusted) // $ querystring=untrusted + db.NewSelect().DistinctOn(untrusted) // $ querystring=untrusted + db.NewSelect().For(untrusted) // $ querystring=untrusted + db.NewSelect().GroupExpr(untrusted) // $ querystring=untrusted + db.NewSelect().Having(untrusted) // $ querystring=untrusted + db.NewSelect().ModelTableExpr(untrusted) // $ querystring=untrusted + db.NewSelect().OrderExpr(untrusted) // $ querystring=untrusted + db.NewSelect().TableExpr(untrusted) // $ querystring=untrusted + db.NewSelect().Where(untrusted) // $ querystring=untrusted + db.NewSelect().WhereOr(untrusted) // $ querystring=untrusted } From 4cca6cff59fbc2bd13799d4e294d9d66883fbe6d Mon Sep 17 00:00:00 2001 From: Owen Mansel-Chan Date: Thu, 15 Aug 2024 16:46:02 +0100 Subject: [PATCH 273/347] Convert Beego orm sql-injection sinks to MaD --- ...ithub.com.beego.beego.client.orm.model.yml | 42 +++++++++ go/ql/lib/semmle/go/frameworks/BeegoOrm.qll | 51 ----------- .../frameworks/BeegoOrm/SqlInjection.expected | 87 ++++++++++++------- 3 files changed, 96 insertions(+), 84 deletions(-) create mode 100644 go/ql/lib/ext/github.com.beego.beego.client.orm.model.yml diff --git a/go/ql/lib/ext/github.com.beego.beego.client.orm.model.yml b/go/ql/lib/ext/github.com.beego.beego.client.orm.model.yml new file mode 100644 index 000000000000..9e8849423eb0 --- /dev/null +++ b/go/ql/lib/ext/github.com.beego.beego.client.orm.model.yml @@ -0,0 +1,42 @@ +extensions: + - addsTo: + pack: codeql/go-all + extensible: packageGrouping + data: + - ["beego-orm", "github.com/beego/beego/client/orm"] + - ["beego-orm", "github.com/astaxie/beego/orm"] + - ["beego-orm", "github.com/beego/beego/orm"] + - addsTo: + pack: codeql/go-all + extensible: sinkModel + data: + - ["group:beego-orm", "Condition", False, "Raw", "", "", "Argument[1]", "sql-injection", "manual"] + - ["group:beego-orm", "DB", False, "Exec", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:beego-orm", "DB", False, "ExecContext", "", "", "Argument[1]", "sql-injection", "manual"] + - ["group:beego-orm", "DB", False, "Prepare", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:beego-orm", "DB", False, "PrepareContext", "", "", "Argument[1]", "sql-injection", "manual"] + - ["group:beego-orm", "DB", False, "Query", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:beego-orm", "DB", False, "QueryContext", "", "", "Argument[1]", "sql-injection", "manual"] + - ["group:beego-orm", "DB", False, "QueryRow", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:beego-orm", "DB", False, "QueryRowContext", "", "", "Argument[1]", "sql-injection", "manual"] + - ["group:beego-orm", "Ormer", False, "Raw", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:beego-orm", "QueryBuilder", False, "And", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:beego-orm", "QueryBuilder", False, "Delete", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:beego-orm", "QueryBuilder", False, "From", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:beego-orm", "QueryBuilder", False, "GroupBy", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:beego-orm", "QueryBuilder", False, "Having", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:beego-orm", "QueryBuilder", False, "In", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:beego-orm", "QueryBuilder", False, "InnerJoin", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:beego-orm", "QueryBuilder", False, "InsertInto", "", "", "Argument[0..1]", "sql-injection", "manual"] + - ["group:beego-orm", "QueryBuilder", False, "LeftJoin", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:beego-orm", "QueryBuilder", False, "On", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:beego-orm", "QueryBuilder", False, "Or", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:beego-orm", "QueryBuilder", False, "OrderBy", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:beego-orm", "QueryBuilder", False, "RightJoin", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:beego-orm", "QueryBuilder", False, "Select", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:beego-orm", "QueryBuilder", False, "Set", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:beego-orm", "QueryBuilder", False, "Subquery", "", "", "Argument[0..1]", "sql-injection", "manual"] + - ["group:beego-orm", "QueryBuilder", False, "Update", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:beego-orm", "QueryBuilder", False, "Values", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:beego-orm", "QueryBuilder", False, "Where", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:beego-orm", "QuerySeter", False, "FilterRaw", "", "", "Argument[1]", "sql-injection", "manual"] diff --git a/go/ql/lib/semmle/go/frameworks/BeegoOrm.qll b/go/ql/lib/semmle/go/frameworks/BeegoOrm.qll index c1de0cf42442..925b0f19fa3f 100644 --- a/go/ql/lib/semmle/go/frameworks/BeegoOrm.qll +++ b/go/ql/lib/semmle/go/frameworks/BeegoOrm.qll @@ -14,57 +14,6 @@ module BeegoOrm { /** Gets the package name `github.com/astaxie/beego/orm`. */ string packagePath() { result = package("github.com/astaxie/beego", "orm") } - private class DbSink extends SQL::QueryString::Range { - DbSink() { - exists(Method m, string methodName, int argNum | - m.hasQualifiedName(packagePath(), "DB", methodName) and - ( - methodName = ["Exec", "Prepare", "Query", "QueryRow"] and - argNum = 0 - or - methodName = ["ExecContext", "PrepareContext", "QueryContext", "QueryRowContext"] and - argNum = 1 - ) - | - this = m.getACall().getArgument(argNum) - ) - } - } - - private class QueryBuilderSink extends SQL::QueryString::Range { - // Note this class doesn't do any escaping, unlike the true ORM part of the package - QueryBuilderSink() { - exists(Method impl | impl.implements(packagePath(), "QueryBuilder", _) | - this = impl.getACall().getASyntacticArgument() - ) and - this.getType().getUnderlyingType() instanceof StringType - } - } - - private class OrmerRawSink extends SQL::QueryString::Range { - OrmerRawSink() { - exists(Method impl | impl.implements(packagePath(), "Ormer", "Raw") | - this = impl.getACall().getArgument(0) - ) - } - } - - private class QuerySeterFilterRawSink extends SQL::QueryString::Range { - QuerySeterFilterRawSink() { - exists(Method impl | impl.implements(packagePath(), "QuerySeter", "FilterRaw") | - this = impl.getACall().getArgument(1) - ) - } - } - - private class ConditionRawSink extends SQL::QueryString::Range { - ConditionRawSink() { - exists(Method impl | impl.implements(packagePath(), "Condition", "Raw") | - this = impl.getACall().getArgument(1) - ) - } - } - private class OrmerSource extends StoredXss::Source { OrmerSource() { exists(Method impl | diff --git a/go/ql/test/library-tests/semmle/go/frameworks/BeegoOrm/SqlInjection.expected b/go/ql/test/library-tests/semmle/go/frameworks/BeegoOrm/SqlInjection.expected index 6cc1e09486b7..992c1387103a 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/BeegoOrm/SqlInjection.expected +++ b/go/ql/test/library-tests/semmle/go/frameworks/BeegoOrm/SqlInjection.expected @@ -32,40 +32,61 @@ | test.go:59:31:59:39 | untrusted | test.go:57:15:57:41 | call to UserAgent | test.go:59:31:59:39 | untrusted | This query depends on a $@. | test.go:57:15:57:41 | call to UserAgent | user-provided value | | test.go:65:19:65:27 | untrusted | test.go:63:15:63:41 | call to UserAgent | test.go:65:19:65:27 | untrusted | This query depends on a $@. | test.go:63:15:63:41 | call to UserAgent | user-provided value | edges -| test.go:11:15:11:41 | call to UserAgent | test.go:13:11:13:19 | untrusted | provenance | Src:MaD:1 | -| test.go:11:15:11:41 | call to UserAgent | test.go:14:23:14:31 | untrusted | provenance | Src:MaD:1 | -| test.go:11:15:11:41 | call to UserAgent | test.go:15:14:15:22 | untrusted | provenance | Src:MaD:1 | -| test.go:11:15:11:41 | call to UserAgent | test.go:16:26:16:34 | untrusted | provenance | Src:MaD:1 | -| test.go:11:15:11:41 | call to UserAgent | test.go:17:12:17:20 | untrusted | provenance | Src:MaD:1 | -| test.go:11:15:11:41 | call to UserAgent | test.go:18:24:18:32 | untrusted | provenance | Src:MaD:1 | -| test.go:11:15:11:41 | call to UserAgent | test.go:19:15:19:23 | untrusted | provenance | Src:MaD:1 | -| test.go:11:15:11:41 | call to UserAgent | test.go:20:27:20:35 | untrusted | provenance | Src:MaD:1 | -| test.go:25:15:25:41 | call to UserAgent | test.go:28:12:28:20 | untrusted | provenance | Src:MaD:1 | -| test.go:25:15:25:41 | call to UserAgent | test.go:29:10:29:18 | untrusted | provenance | Src:MaD:1 | -| test.go:25:15:25:41 | call to UserAgent | test.go:30:15:30:23 | untrusted | provenance | Src:MaD:1 | -| test.go:25:15:25:41 | call to UserAgent | test.go:31:14:31:22 | untrusted | provenance | Src:MaD:1 | -| test.go:25:15:25:41 | call to UserAgent | test.go:32:15:32:23 | untrusted | provenance | Src:MaD:1 | -| test.go:25:15:25:41 | call to UserAgent | test.go:33:8:33:16 | untrusted | provenance | Src:MaD:1 | -| test.go:25:15:25:41 | call to UserAgent | test.go:34:11:34:19 | untrusted | provenance | Src:MaD:1 | -| test.go:25:15:25:41 | call to UserAgent | test.go:35:9:35:17 | untrusted | provenance | Src:MaD:1 | -| test.go:25:15:25:41 | call to UserAgent | test.go:36:8:36:16 | untrusted | provenance | Src:MaD:1 | -| test.go:25:15:25:41 | call to UserAgent | test.go:37:8:37:16 | untrusted | provenance | Src:MaD:1 | -| test.go:25:15:25:41 | call to UserAgent | test.go:38:13:38:21 | untrusted | provenance | Src:MaD:1 | -| test.go:25:15:25:41 | call to UserAgent | test.go:39:13:39:21 | untrusted | provenance | Src:MaD:1 | -| test.go:25:15:25:41 | call to UserAgent | test.go:40:12:40:20 | untrusted | provenance | Src:MaD:1 | -| test.go:25:15:25:41 | call to UserAgent | test.go:41:12:41:20 | untrusted | provenance | Src:MaD:1 | -| test.go:25:15:25:41 | call to UserAgent | test.go:42:9:42:17 | untrusted | provenance | Src:MaD:1 | -| test.go:25:15:25:41 | call to UserAgent | test.go:43:12:43:20 | untrusted | provenance | Src:MaD:1 | -| test.go:25:15:25:41 | call to UserAgent | test.go:44:16:44:24 | untrusted | provenance | Src:MaD:1 | -| test.go:25:15:25:41 | call to UserAgent | test.go:45:12:45:20 | untrusted | provenance | Src:MaD:1 | -| test.go:25:15:25:41 | call to UserAgent | test.go:46:14:46:22 | untrusted | provenance | Src:MaD:1 | -| test.go:26:16:26:42 | call to UserAgent | test.go:44:27:44:36 | untrusted2 | provenance | Src:MaD:1 | -| test.go:26:16:26:42 | call to UserAgent | test.go:46:25:46:34 | untrusted2 | provenance | Src:MaD:1 | -| test.go:50:15:50:41 | call to UserAgent | test.go:52:12:52:20 | untrusted | provenance | Src:MaD:1 | -| test.go:57:15:57:41 | call to UserAgent | test.go:59:31:59:39 | untrusted | provenance | Src:MaD:1 | -| test.go:63:15:63:41 | call to UserAgent | test.go:65:19:65:27 | untrusted | provenance | Src:MaD:1 | +| test.go:11:15:11:41 | call to UserAgent | test.go:13:11:13:19 | untrusted | provenance | Src:MaD:22 Sink:MaD:2 | +| test.go:11:15:11:41 | call to UserAgent | test.go:14:23:14:31 | untrusted | provenance | Src:MaD:22 Sink:MaD:3 | +| test.go:11:15:11:41 | call to UserAgent | test.go:15:14:15:22 | untrusted | provenance | Src:MaD:22 Sink:MaD:4 | +| test.go:11:15:11:41 | call to UserAgent | test.go:16:26:16:34 | untrusted | provenance | Src:MaD:22 Sink:MaD:5 | +| test.go:11:15:11:41 | call to UserAgent | test.go:17:12:17:20 | untrusted | provenance | Src:MaD:22 Sink:MaD:6 | +| test.go:11:15:11:41 | call to UserAgent | test.go:18:24:18:32 | untrusted | provenance | Src:MaD:22 Sink:MaD:7 | +| test.go:11:15:11:41 | call to UserAgent | test.go:19:15:19:23 | untrusted | provenance | Src:MaD:22 Sink:MaD:8 | +| test.go:11:15:11:41 | call to UserAgent | test.go:20:27:20:35 | untrusted | provenance | Src:MaD:22 Sink:MaD:9 | +| test.go:25:15:25:41 | call to UserAgent | test.go:28:12:28:20 | untrusted | provenance | Src:MaD:22 | +| test.go:25:15:25:41 | call to UserAgent | test.go:29:10:29:18 | untrusted | provenance | Src:MaD:22 | +| test.go:25:15:25:41 | call to UserAgent | test.go:30:15:30:23 | untrusted | provenance | Src:MaD:22 Sink:MaD:13 | +| test.go:25:15:25:41 | call to UserAgent | test.go:31:14:31:22 | untrusted | provenance | Src:MaD:22 Sink:MaD:15 | +| test.go:25:15:25:41 | call to UserAgent | test.go:32:15:32:23 | untrusted | provenance | Src:MaD:22 Sink:MaD:18 | +| test.go:25:15:25:41 | call to UserAgent | test.go:33:8:33:16 | untrusted | provenance | Src:MaD:22 Sink:MaD:16 | +| test.go:25:15:25:41 | call to UserAgent | test.go:34:11:34:19 | untrusted | provenance | Src:MaD:22 Sink:MaD:20 | +| test.go:25:15:25:41 | call to UserAgent | test.go:35:9:35:17 | untrusted | provenance | Src:MaD:22 Sink:MaD:11 | +| test.go:25:15:25:41 | call to UserAgent | test.go:36:8:36:16 | untrusted | provenance | Src:MaD:22 Sink:MaD:17 | +| test.go:25:15:25:41 | call to UserAgent | test.go:37:8:37:16 | untrusted | provenance | Src:MaD:22 | +| test.go:25:15:25:41 | call to UserAgent | test.go:38:13:38:21 | untrusted | provenance | Src:MaD:22 | +| test.go:25:15:25:41 | call to UserAgent | test.go:39:13:39:21 | untrusted | provenance | Src:MaD:22 | +| test.go:25:15:25:41 | call to UserAgent | test.go:40:12:40:20 | untrusted | provenance | Src:MaD:22 Sink:MaD:12 | +| test.go:25:15:25:41 | call to UserAgent | test.go:41:12:41:20 | untrusted | provenance | Src:MaD:22 | +| test.go:25:15:25:41 | call to UserAgent | test.go:42:9:42:17 | untrusted | provenance | Src:MaD:22 | +| test.go:25:15:25:41 | call to UserAgent | test.go:43:12:43:20 | untrusted | provenance | Src:MaD:22 | +| test.go:25:15:25:41 | call to UserAgent | test.go:44:16:44:24 | untrusted | provenance | Src:MaD:22 Sink:MaD:14 | +| test.go:25:15:25:41 | call to UserAgent | test.go:45:12:45:20 | untrusted | provenance | Src:MaD:22 | +| test.go:25:15:25:41 | call to UserAgent | test.go:46:14:46:22 | untrusted | provenance | Src:MaD:22 Sink:MaD:19 | +| test.go:26:16:26:42 | call to UserAgent | test.go:44:27:44:36 | untrusted2 | provenance | Src:MaD:22 | +| test.go:26:16:26:42 | call to UserAgent | test.go:46:25:46:34 | untrusted2 | provenance | Src:MaD:22 Sink:MaD:19 | +| test.go:50:15:50:41 | call to UserAgent | test.go:52:12:52:20 | untrusted | provenance | Src:MaD:22 Sink:MaD:10 | +| test.go:57:15:57:41 | call to UserAgent | test.go:59:31:59:39 | untrusted | provenance | Src:MaD:22 Sink:MaD:21 | +| test.go:63:15:63:41 | call to UserAgent | test.go:65:19:65:27 | untrusted | provenance | Src:MaD:22 Sink:MaD:1 | models -| 1 | Source: net/http; Request; true; UserAgent; ; ; ReturnValue; remote; manual | +| 1 | Sink: group:beego-orm; Condition; false; Raw; ; ; Argument[1]; sql-injection; manual | +| 2 | Sink: group:beego-orm; DB; false; Exec; ; ; Argument[0]; sql-injection; manual | +| 3 | Sink: group:beego-orm; DB; false; ExecContext; ; ; Argument[1]; sql-injection; manual | +| 4 | Sink: group:beego-orm; DB; false; Prepare; ; ; Argument[0]; sql-injection; manual | +| 5 | Sink: group:beego-orm; DB; false; PrepareContext; ; ; Argument[1]; sql-injection; manual | +| 6 | Sink: group:beego-orm; DB; false; Query; ; ; Argument[0]; sql-injection; manual | +| 7 | Sink: group:beego-orm; DB; false; QueryContext; ; ; Argument[1]; sql-injection; manual | +| 8 | Sink: group:beego-orm; DB; false; QueryRow; ; ; Argument[0]; sql-injection; manual | +| 9 | Sink: group:beego-orm; DB; false; QueryRowContext; ; ; Argument[1]; sql-injection; manual | +| 10 | Sink: group:beego-orm; Ormer; false; Raw; ; ; Argument[0]; sql-injection; manual | +| 11 | Sink: group:beego-orm; QueryBuilder; false; And; ; ; Argument[0]; sql-injection; manual | +| 12 | Sink: group:beego-orm; QueryBuilder; false; Having; ; ; Argument[0]; sql-injection; manual | +| 13 | Sink: group:beego-orm; QueryBuilder; false; InnerJoin; ; ; Argument[0]; sql-injection; manual | +| 14 | Sink: group:beego-orm; QueryBuilder; false; InsertInto; ; ; Argument[0..1]; sql-injection; manual | +| 15 | Sink: group:beego-orm; QueryBuilder; false; LeftJoin; ; ; Argument[0]; sql-injection; manual | +| 16 | Sink: group:beego-orm; QueryBuilder; false; On; ; ; Argument[0]; sql-injection; manual | +| 17 | Sink: group:beego-orm; QueryBuilder; false; Or; ; ; Argument[0]; sql-injection; manual | +| 18 | Sink: group:beego-orm; QueryBuilder; false; RightJoin; ; ; Argument[0]; sql-injection; manual | +| 19 | Sink: group:beego-orm; QueryBuilder; false; Subquery; ; ; Argument[0..1]; sql-injection; manual | +| 20 | Sink: group:beego-orm; QueryBuilder; false; Where; ; ; Argument[0]; sql-injection; manual | +| 21 | Sink: group:beego-orm; QuerySeter; false; FilterRaw; ; ; Argument[1]; sql-injection; manual | +| 22 | Source: net/http; Request; true; UserAgent; ; ; ReturnValue; remote; manual | nodes | test.go:11:15:11:41 | call to UserAgent | semmle.label | call to UserAgent | | test.go:13:11:13:19 | untrusted | semmle.label | untrusted | From e4eef6791a3cebac86eaa81cb0893d838c91af69 Mon Sep 17 00:00:00 2001 From: Owen Mansel-Chan Date: Thu, 15 Aug 2024 16:57:26 +0100 Subject: [PATCH 274/347] Convert database/sql sql-injection sinks to MaD --- go/ql/lib/ext/database.sql.model.yml | 28 +++++++++++++++++++ .../go/frameworks/stdlib/DatabaseSql.qll | 20 +------------ .../frameworks/XNetHtml/SqlInjection.expected | 9 +++--- 3 files changed, 34 insertions(+), 23 deletions(-) diff --git a/go/ql/lib/ext/database.sql.model.yml b/go/ql/lib/ext/database.sql.model.yml index e1083f6e49a6..b8fb85bb893a 100644 --- a/go/ql/lib/ext/database.sql.model.yml +++ b/go/ql/lib/ext/database.sql.model.yml @@ -1,4 +1,32 @@ extensions: + - addsTo: + pack: codeql/go-all + extensible: sinkModel + data: + - ["database/sql", "Conn", False, "Exec", "", "", "Argument[0]", "sql-injection", "manual"] + - ["database/sql", "Conn", False, "ExecContext", "", "", "Argument[1]", "sql-injection", "manual"] + - ["database/sql", "Conn", False, "Prepare", "", "", "Argument[0]", "sql-injection", "manual"] + - ["database/sql", "Conn", False, "PrepareContext", "", "", "Argument[1]", "sql-injection", "manual"] + - ["database/sql", "Conn", False, "Query", "", "", "Argument[0]", "sql-injection", "manual"] + - ["database/sql", "Conn", False, "QueryContext", "", "", "Argument[1]", "sql-injection", "manual"] + - ["database/sql", "Conn", False, "QueryRow", "", "", "Argument[0]", "sql-injection", "manual"] + - ["database/sql", "Conn", False, "QueryRowContext", "", "", "Argument[1]", "sql-injection", "manual"] + - ["database/sql", "DB", False, "Exec", "", "", "Argument[0]", "sql-injection", "manual"] + - ["database/sql", "DB", False, "ExecContext", "", "", "Argument[1]", "sql-injection", "manual"] + - ["database/sql", "DB", False, "Prepare", "", "", "Argument[0]", "sql-injection", "manual"] + - ["database/sql", "DB", False, "PrepareContext", "", "", "Argument[1]", "sql-injection", "manual"] + - ["database/sql", "DB", False, "Query", "", "", "Argument[0]", "sql-injection", "manual"] + - ["database/sql", "DB", False, "QueryContext", "", "", "Argument[1]", "sql-injection", "manual"] + - ["database/sql", "DB", False, "QueryRow", "", "", "Argument[0]", "sql-injection", "manual"] + - ["database/sql", "DB", False, "QueryRowContext", "", "", "Argument[1]", "sql-injection", "manual"] + - ["database/sql", "Tx", False, "Exec", "", "", "Argument[0]", "sql-injection", "manual"] + - ["database/sql", "Tx", False, "ExecContext", "", "", "Argument[1]", "sql-injection", "manual"] + - ["database/sql", "Tx", False, "Prepare", "", "", "Argument[0]", "sql-injection", "manual"] + - ["database/sql", "Tx", False, "PrepareContext", "", "", "Argument[1]", "sql-injection", "manual"] + - ["database/sql", "Tx", False, "Query", "", "", "Argument[0]", "sql-injection", "manual"] + - ["database/sql", "Tx", False, "QueryContext", "", "", "Argument[1]", "sql-injection", "manual"] + - ["database/sql", "Tx", False, "QueryRow", "", "", "Argument[0]", "sql-injection", "manual"] + - ["database/sql", "Tx", False, "QueryRowContext", "", "", "Argument[1]", "sql-injection", "manual"] - addsTo: pack: codeql/go-all extensible: summaryModel diff --git a/go/ql/lib/semmle/go/frameworks/stdlib/DatabaseSql.qll b/go/ql/lib/semmle/go/frameworks/stdlib/DatabaseSql.qll index 845225af5bd2..5f53ea2de8cd 100644 --- a/go/ql/lib/semmle/go/frameworks/stdlib/DatabaseSql.qll +++ b/go/ql/lib/semmle/go/frameworks/stdlib/DatabaseSql.qll @@ -26,7 +26,7 @@ module DatabaseSql { override DataFlow::Node getAResult() { result = this.getResult(0) } override SQL::QueryString getAQueryString() { - result = this.getAnArgument() + result = this.getASyntacticArgument() or // attempt to resolve a `QueryString` for `Stmt`s using local data flow. t = "Stmt" and @@ -34,24 +34,6 @@ module DatabaseSql { } } - /** A query string used in an API function of the `database/sql` package. */ - private class QueryString extends SQL::QueryString::Range { - QueryString() { - exists(Method meth, string base, string t, string m, int n | - t = ["DB", "Tx", "Conn"] and - meth.hasQualifiedName("database/sql", t, m) and - this = meth.getACall().getArgument(n) - | - base = ["Exec", "Prepare", "Query", "QueryRow"] and - ( - m = base and n = 0 - or - m = base + "Context" and n = 1 - ) - ) - } - } - /** A query in the standard `database/sql/driver` package. */ private class DriverQuery extends SQL::Query::Range, DataFlow::MethodCallNode { DriverQuery() { diff --git a/go/ql/test/library-tests/semmle/go/frameworks/XNetHtml/SqlInjection.expected b/go/ql/test/library-tests/semmle/go/frameworks/XNetHtml/SqlInjection.expected index c28b1058e7c7..d0b5c378c92b 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/XNetHtml/SqlInjection.expected +++ b/go/ql/test/library-tests/semmle/go/frameworks/XNetHtml/SqlInjection.expected @@ -1,11 +1,12 @@ #select | test.go:57:11:57:41 | call to EscapeString | test.go:56:2:56:42 | ... := ...[0] | test.go:57:11:57:41 | call to EscapeString | This query depends on a $@. | test.go:56:2:56:42 | ... := ...[0] | user-provided value | edges -| test.go:56:2:56:42 | ... := ...[0] | test.go:57:29:57:40 | selection of Value | provenance | Src:MaD:1 | -| test.go:57:29:57:40 | selection of Value | test.go:57:11:57:41 | call to EscapeString | provenance | MaD:2 | +| test.go:56:2:56:42 | ... := ...[0] | test.go:57:29:57:40 | selection of Value | provenance | Src:MaD:2 | +| test.go:57:29:57:40 | selection of Value | test.go:57:11:57:41 | call to EscapeString | provenance | MaD:3 Sink:MaD:1 | models -| 1 | Source: net/http; Request; true; Cookie; ; ; ReturnValue[0]; remote; manual | -| 2 | Summary: golang.org/x/net/html; ; false; EscapeString; ; ; Argument[0]; ReturnValue; taint; manual | +| 1 | Sink: database/sql; DB; false; Query; ; ; Argument[0]; sql-injection; manual | +| 2 | Source: net/http; Request; true; Cookie; ; ; ReturnValue[0]; remote; manual | +| 3 | Summary: golang.org/x/net/html; ; false; EscapeString; ; ; Argument[0]; ReturnValue; taint; manual | nodes | test.go:56:2:56:42 | ... := ...[0] | semmle.label | ... := ...[0] | | test.go:57:11:57:41 | call to EscapeString | semmle.label | call to EscapeString | From b4c84be3bebf63c69b158bc18044a7d0fab7cc31 Mon Sep 17 00:00:00 2001 From: Owen Mansel-Chan Date: Thu, 15 Aug 2024 21:35:07 +0100 Subject: [PATCH 275/347] Convert database/sql/driver sql-injection sinks to MaD --- go/ql/lib/ext/database.sql.driver.model.yml | 10 ++++++++ .../go/frameworks/stdlib/DatabaseSql.qll | 25 +------------------ 2 files changed, 11 insertions(+), 24 deletions(-) diff --git a/go/ql/lib/ext/database.sql.driver.model.yml b/go/ql/lib/ext/database.sql.driver.model.yml index c2d780bb7c86..50b699e4371f 100644 --- a/go/ql/lib/ext/database.sql.driver.model.yml +++ b/go/ql/lib/ext/database.sql.driver.model.yml @@ -1,4 +1,14 @@ extensions: + - addsTo: + pack: codeql/go-all + extensible: sinkModel + data: + - ["database/sql/driver", "Execer", False, "Exec", "", "", "Argument[0]", "sql-injection", "manual"] + - ["database/sql/driver", "ExecerContext", False, "ExecContext", "", "", "Argument[1]", "sql-injection", "manual"] + - ["database/sql/driver", "Conn", False, "Prepare", "", "", "Argument[0]", "sql-injection", "manual"] + - ["database/sql/driver", "ConnPrepareContext", False, "PrepareContext", "", "", "Argument[1]", "sql-injection", "manual"] + - ["database/sql/driver", "Queryer", False, "Query", "", "", "Argument[0]", "sql-injection", "manual"] + - ["database/sql/driver", "QueryerContext", False, "QueryContext", "", "", "Argument[1]", "sql-injection", "manual"] - addsTo: pack: codeql/go-all extensible: summaryModel diff --git a/go/ql/lib/semmle/go/frameworks/stdlib/DatabaseSql.qll b/go/ql/lib/semmle/go/frameworks/stdlib/DatabaseSql.qll index 5f53ea2de8cd..f41326887961 100644 --- a/go/ql/lib/semmle/go/frameworks/stdlib/DatabaseSql.qll +++ b/go/ql/lib/semmle/go/frameworks/stdlib/DatabaseSql.qll @@ -60,36 +60,13 @@ module DatabaseSql { override DataFlow::Node getAResult() { result = this.getResult(0) } override SQL::QueryString getAQueryString() { - result = this.getAnArgument() + result = this.getASyntacticArgument() or this.getTarget().hasQualifiedName("database/sql/driver", "Stmt") and result = this.getReceiver().getAPredecessor*().(DataFlow::MethodCallNode).getAnArgument() } } - /** A query string used in an API function of the standard `database/sql/driver` package. */ - private class DriverQueryString extends SQL::QueryString::Range { - DriverQueryString() { - exists(Method meth, int n | - ( - meth.hasQualifiedName("database/sql/driver", "Execer", "Exec") and n = 0 - or - meth.hasQualifiedName("database/sql/driver", "ExecerContext", "ExecContext") and n = 1 - or - meth.hasQualifiedName("database/sql/driver", "Conn", "Prepare") and n = 0 - or - meth.hasQualifiedName("database/sql/driver", "ConnPrepareContext", "PrepareContext") and - n = 1 - or - meth.hasQualifiedName("database/sql/driver", "Queryer", "Query") and n = 0 - or - meth.hasQualifiedName("database/sql/driver", "QueryerContext", "QueryContext") and n = 1 - ) and - this = meth.getACall().getArgument(n) - ) - } - } - // These are expressed using TaintTracking::FunctionModel because varargs functions don't work with Models-as-Data sumamries yet. private class SqlMethodModels extends TaintTracking::FunctionModel, Method { FunctionInput inp; From fbaad09179856695c3546ec6e506e051e05fc64a Mon Sep 17 00:00:00 2001 From: Owen Mansel-Chan Date: Fri, 16 Aug 2024 07:58:37 +0100 Subject: [PATCH 276/347] Convert mongodb nosql-injection sinks to MaD --- ...o.mongodb.org.mongo-driver.mongo.model.yml | 19 +++ go/ql/lib/semmle/go/frameworks/NoSQL.qll | 154 +++++++++--------- .../Security/CWE-089/SqlInjection.expected | 134 ++++++++------- 3 files changed, 170 insertions(+), 137 deletions(-) create mode 100644 go/ql/lib/ext/go.mongodb.org.mongo-driver.mongo.model.yml diff --git a/go/ql/lib/ext/go.mongodb.org.mongo-driver.mongo.model.yml b/go/ql/lib/ext/go.mongodb.org.mongo-driver.mongo.model.yml new file mode 100644 index 000000000000..ae07bd3a2139 --- /dev/null +++ b/go/ql/lib/ext/go.mongodb.org.mongo-driver.mongo.model.yml @@ -0,0 +1,19 @@ +extensions: + - addsTo: + pack: codeql/go-all + extensible: sinkModel + data: + - ["go.mongodb.org/mongo-driver/mongo", "Collection", True, "CountDocuments", "", "", "Argument[1]", "nosql-injection", "manual"] + - ["go.mongodb.org/mongo-driver/mongo", "Collection", True, "DeleteMany", "", "", "Argument[1]", "nosql-injection", "manual"] + - ["go.mongodb.org/mongo-driver/mongo", "Collection", True, "DeleteOne", "", "", "Argument[1]", "nosql-injection", "manual"] + - ["go.mongodb.org/mongo-driver/mongo", "Collection", True, "Distinct", "", "", "Argument[2]", "nosql-injection", "manual"] + - ["go.mongodb.org/mongo-driver/mongo", "Collection", True, "Find", "", "", "Argument[1]", "nosql-injection", "manual"] + - ["go.mongodb.org/mongo-driver/mongo", "Collection", True, "FindOne", "", "", "Argument[1]", "nosql-injection", "manual"] + - ["go.mongodb.org/mongo-driver/mongo", "Collection", True, "FindOneAndDelete", "", "", "Argument[1]", "nosql-injection", "manual"] + - ["go.mongodb.org/mongo-driver/mongo", "Collection", True, "FindOneAndReplace", "", "", "Argument[1]", "nosql-injection", "manual"] + - ["go.mongodb.org/mongo-driver/mongo", "Collection", True, "FindOneAndUpdate", "", "", "Argument[1]", "nosql-injection", "manual"] + - ["go.mongodb.org/mongo-driver/mongo", "Collection", True, "ReplaceOne", "", "", "Argument[1]", "nosql-injection", "manual"] + - ["go.mongodb.org/mongo-driver/mongo", "Collection", True, "UpdateMany", "", "", "Argument[1]", "nosql-injection", "manual"] + - ["go.mongodb.org/mongo-driver/mongo", "Collection", True, "UpdateOne", "", "", "Argument[1]", "nosql-injection", "manual"] + - ["go.mongodb.org/mongo-driver/mongo", "Collection", True, "Watch", "", "", "Argument[1]", "nosql-injection", "manual"] + - ["go.mongodb.org/mongo-driver/mongo", "Collection", True, "Aggregate", "", "", "Argument[1]", "nosql-injection", "manual"] diff --git a/go/ql/lib/semmle/go/frameworks/NoSQL.qll b/go/ql/lib/semmle/go/frameworks/NoSQL.qll index c2469fc02ac1..873b8230f1bf 100644 --- a/go/ql/lib/semmle/go/frameworks/NoSQL.qll +++ b/go/ql/lib/semmle/go/frameworks/NoSQL.qll @@ -31,84 +31,82 @@ module NoSql { ) } } - - /** - * Holds if method `name` of struct `Collection` from package - * [go.mongodb.org/mongo-driver/mongo](https://pkg.go.dev/go.mongodb.org/mongo-driver/mongo) - * interprets parameter `n` as a query. - */ - private predicate mongoDbCollectionMethod(string name, int n) { - // func (coll *Collection) CountDocuments(ctx context.Context, filter interface{}, - // opts ...*options.CountOptions) (int64, error) - name = "CountDocuments" and n = 1 - or - // func (coll *Collection) DeleteMany(ctx context.Context, filter interface{}, - // opts ...*options.DeleteOptions) (*DeleteResult, error) - name = "DeleteMany" and n = 1 - or - // func (coll *Collection) DeleteOne(ctx context.Context, filter interface{}, - // opts ...*options.DeleteOptions) (*DeleteResult, error) - name = "DeleteOne" and n = 1 - or - // func (coll *Collection) Distinct(ctx context.Context, fieldName string, filter interface{}, - // ...) ([]interface{}, error) - name = "Distinct" and n = 2 - or - // func (coll *Collection) Find(ctx context.Context, filter interface{}, - // opts ...*options.FindOptions) (*Cursor, error) - name = "Find" and n = 1 - or - // func (coll *Collection) FindOne(ctx context.Context, filter interface{}, - // opts ...*options.FindOneOptions) *SingleResult - name = "FindOne" and n = 1 - or - // func (coll *Collection) FindOneAndDelete(ctx context.Context, filter interface{}, ...) - // *SingleResult - name = "FindOneAndDelete" and n = 1 - or - // func (coll *Collection) FindOneAndReplace(ctx context.Context, filter interface{}, - // replacement interface{}, ...) *SingleResult - name = "FindOneAndReplace" and n = 1 - or - // func (coll *Collection) FindOneAndUpdate(ctx context.Context, filter interface{}, - // update interface{}, ...) *SingleResult - name = "FindOneAndUpdate" and n = 1 - or - // func (coll *Collection) ReplaceOne(ctx context.Context, filter interface{}, - // replacement interface{}, ...) (*UpdateResult, error) - name = "ReplaceOne" and n = 1 - or - // func (coll *Collection) UpdateMany(ctx context.Context, filter interface{}, - // update interface{}, ...) (*UpdateResult, error) - name = "UpdateMany" and n = 1 - or - // func (coll *Collection) UpdateOne(ctx context.Context, filter interface{}, - // update interface{}, ...) (*UpdateResult, error) - name = "UpdateOne" and n = 1 - or - // func (coll *Collection) Watch(ctx context.Context, pipeline interface{}, ...) - // (*ChangeStream, error) - name = "Watch" and n = 1 - or - // func (coll *Collection) Aggregate(ctx context.Context, pipeline interface{}, - // opts ...*options.AggregateOptions) (*Cursor, error) - name = "Aggregate" and n = 1 - } - - /** - * A query used in an API function acting on a `Collection` struct of package - * [go.mongodb.org/mongo-driver/mongo](https://pkg.go.dev/go.mongodb.org/mongo-driver/mongo). - */ - private class MongoDbCollectionQuery extends Range { - MongoDbCollectionQuery() { - exists(Method meth, string methodName, int n | - mongoDbCollectionMethod(methodName, n) and - meth.hasQualifiedName(package("go.mongodb.org/mongo-driver", "mongo"), "Collection", - methodName) and - this = meth.getACall().getArgument(n) - ) - } - } + // /** + // * Holds if method `name` of struct `Collection` from package + // * [go.mongodb.org/mongo-driver/mongo](https://pkg.go.dev/go.mongodb.org/mongo-driver/mongo) + // * interprets parameter `n` as a query. + // */ + // private predicate mongoDbCollectionMethod(string name, int n) { + // // func (coll *Collection) CountDocuments(ctx context.Context, filter interface{}, + // // opts ...*options.CountOptions) (int64, error) + // name = "CountDocuments" and n = 1 + // or + // // func (coll *Collection) DeleteMany(ctx context.Context, filter interface{}, + // // opts ...*options.DeleteOptions) (*DeleteResult, error) + // name = "DeleteMany" and n = 1 + // or + // // func (coll *Collection) DeleteOne(ctx context.Context, filter interface{}, + // // opts ...*options.DeleteOptions) (*DeleteResult, error) + // name = "DeleteOne" and n = 1 + // or + // // func (coll *Collection) Distinct(ctx context.Context, fieldName string, filter interface{}, + // // ...) ([]interface{}, error) + // name = "Distinct" and n = 2 + // or + // // func (coll *Collection) Find(ctx context.Context, filter interface{}, + // // opts ...*options.FindOptions) (*Cursor, error) + // name = "Find" and n = 1 + // or + // // func (coll *Collection) FindOne(ctx context.Context, filter interface{}, + // // opts ...*options.FindOneOptions) *SingleResult + // name = "FindOne" and n = 1 + // or + // // func (coll *Collection) FindOneAndDelete(ctx context.Context, filter interface{}, ...) + // // *SingleResult + // name = "FindOneAndDelete" and n = 1 + // or + // // func (coll *Collection) FindOneAndReplace(ctx context.Context, filter interface{}, + // // replacement interface{}, ...) *SingleResult + // name = "FindOneAndReplace" and n = 1 + // or + // // func (coll *Collection) FindOneAndUpdate(ctx context.Context, filter interface{}, + // // update interface{}, ...) *SingleResult + // name = "FindOneAndUpdate" and n = 1 + // or + // // func (coll *Collection) ReplaceOne(ctx context.Context, filter interface{}, + // // replacement interface{}, ...) (*UpdateResult, error) + // name = "ReplaceOne" and n = 1 + // or + // // func (coll *Collection) UpdateMany(ctx context.Context, filter interface{}, + // // update interface{}, ...) (*UpdateResult, error) + // name = "UpdateMany" and n = 1 + // or + // // func (coll *Collection) UpdateOne(ctx context.Context, filter interface{}, + // // update interface{}, ...) (*UpdateResult, error) + // name = "UpdateOne" and n = 1 + // or + // // func (coll *Collection) Watch(ctx context.Context, pipeline interface{}, ...) + // // (*ChangeStream, error) + // name = "Watch" and n = 1 + // or + // // func (coll *Collection) Aggregate(ctx context.Context, pipeline interface{}, + // // opts ...*options.AggregateOptions) (*Cursor, error) + // name = "Aggregate" and n = 1 + // } + // /** + // * A query used in an API function acting on a `Collection` struct of package + // * [go.mongodb.org/mongo-driver/mongo](https://pkg.go.dev/go.mongodb.org/mongo-driver/mongo). + // */ + // private class MongoDbCollectionQuery extends Range { + // MongoDbCollectionQuery() { + // exists(Method meth, string methodName, int n | + // mongoDbCollectionMethod(methodName, n) and + // meth.hasQualifiedName(package("go.mongodb.org/mongo-driver", "mongo"), "Collection", + // methodName) and + // this = meth.getACall().getArgument(n) + // ) + // } + // } } /** diff --git a/go/ql/test/query-tests/Security/CWE-089/SqlInjection.expected b/go/ql/test/query-tests/Security/CWE-089/SqlInjection.expected index 79d8809e19f9..18fc2e554e6f 100644 --- a/go/ql/test/query-tests/Security/CWE-089/SqlInjection.expected +++ b/go/ql/test/query-tests/Security/CWE-089/SqlInjection.expected @@ -25,53 +25,53 @@ | mongoDB.go:80:22:80:27 | filter | mongoDB.go:40:20:40:30 | call to Referer | mongoDB.go:80:22:80:27 | filter | This query depends on a $@. | mongoDB.go:40:20:40:30 | call to Referer | user-provided value | | mongoDB.go:81:18:81:25 | pipeline | mongoDB.go:40:20:40:30 | call to Referer | mongoDB.go:81:18:81:25 | pipeline | This query depends on a $@. | mongoDB.go:40:20:40:30 | call to Referer | user-provided value | edges -| SqlInjection.go:10:7:11:30 | []type{args} [array] | SqlInjection.go:10:7:11:30 | call to Sprintf | provenance | MaD:7 | -| SqlInjection.go:10:7:11:30 | call to Sprintf | SqlInjection.go:12:11:12:11 | q | provenance | | -| SqlInjection.go:11:3:11:9 | selection of URL | SqlInjection.go:11:3:11:17 | call to Query | provenance | Src:MaD:5 MaD:10 | +| SqlInjection.go:10:7:11:30 | []type{args} [array] | SqlInjection.go:10:7:11:30 | call to Sprintf | provenance | MaD:23 | +| SqlInjection.go:10:7:11:30 | call to Sprintf | SqlInjection.go:12:11:12:11 | q | provenance | Sink:MaD:1 | +| SqlInjection.go:11:3:11:9 | selection of URL | SqlInjection.go:11:3:11:17 | call to Query | provenance | Src:MaD:21 MaD:26 | | SqlInjection.go:11:3:11:17 | call to Query | SqlInjection.go:11:3:11:29 | index expression | provenance | | | SqlInjection.go:11:3:11:29 | index expression | SqlInjection.go:10:7:11:30 | []type{args} [array] | provenance | | | SqlInjection.go:11:3:11:29 | index expression | SqlInjection.go:10:7:11:30 | call to Sprintf | provenance | FunctionModel | | issue48.go:17:2:17:33 | ... := ...[0] | issue48.go:18:17:18:17 | b | provenance | | -| issue48.go:17:25:17:32 | selection of Body | issue48.go:17:2:17:33 | ... := ...[0] | provenance | Src:MaD:1 MaD:8 | -| issue48.go:18:17:18:17 | b | issue48.go:18:20:18:39 | &... | provenance | MaD:6 | +| issue48.go:17:25:17:32 | selection of Body | issue48.go:17:2:17:33 | ... := ...[0] | provenance | Src:MaD:17 MaD:24 | +| issue48.go:18:17:18:17 | b | issue48.go:18:20:18:39 | &... | provenance | MaD:22 | | issue48.go:18:20:18:39 | &... | issue48.go:21:3:21:33 | index expression | provenance | | -| issue48.go:20:8:21:34 | []type{args} [array] | issue48.go:20:8:21:34 | call to Sprintf | provenance | MaD:7 | -| issue48.go:20:8:21:34 | call to Sprintf | issue48.go:22:11:22:12 | q3 | provenance | | +| issue48.go:20:8:21:34 | []type{args} [array] | issue48.go:20:8:21:34 | call to Sprintf | provenance | MaD:23 | +| issue48.go:20:8:21:34 | call to Sprintf | issue48.go:22:11:22:12 | q3 | provenance | Sink:MaD:1 | | issue48.go:21:3:21:33 | index expression | issue48.go:20:8:21:34 | []type{args} [array] | provenance | | | issue48.go:21:3:21:33 | index expression | issue48.go:20:8:21:34 | call to Sprintf | provenance | FunctionModel | | issue48.go:27:2:27:34 | ... := ...[0] | issue48.go:28:17:28:18 | b2 | provenance | | -| issue48.go:27:26:27:33 | selection of Body | issue48.go:27:2:27:34 | ... := ...[0] | provenance | Src:MaD:1 MaD:8 | -| issue48.go:28:17:28:18 | b2 | issue48.go:28:21:28:41 | &... | provenance | MaD:6 | +| issue48.go:27:26:27:33 | selection of Body | issue48.go:27:2:27:34 | ... := ...[0] | provenance | Src:MaD:17 MaD:24 | +| issue48.go:28:17:28:18 | b2 | issue48.go:28:21:28:41 | &... | provenance | MaD:22 | | issue48.go:28:21:28:41 | &... | issue48.go:31:3:31:31 | selection of Category | provenance | | -| issue48.go:30:8:31:32 | []type{args} [array] | issue48.go:30:8:31:32 | call to Sprintf | provenance | MaD:7 | -| issue48.go:30:8:31:32 | call to Sprintf | issue48.go:32:11:32:12 | q4 | provenance | | +| issue48.go:30:8:31:32 | []type{args} [array] | issue48.go:30:8:31:32 | call to Sprintf | provenance | MaD:23 | +| issue48.go:30:8:31:32 | call to Sprintf | issue48.go:32:11:32:12 | q4 | provenance | Sink:MaD:1 | | issue48.go:31:3:31:31 | selection of Category | issue48.go:30:8:31:32 | []type{args} [array] | provenance | | | issue48.go:31:3:31:31 | selection of Category | issue48.go:30:8:31:32 | call to Sprintf | provenance | FunctionModel | -| issue48.go:37:17:37:50 | type conversion | issue48.go:37:53:37:73 | &... | provenance | MaD:6 | -| issue48.go:37:24:37:30 | selection of URL | issue48.go:37:24:37:38 | call to Query | provenance | Src:MaD:5 MaD:10 | +| issue48.go:37:17:37:50 | type conversion | issue48.go:37:53:37:73 | &... | provenance | MaD:22 | +| issue48.go:37:24:37:30 | selection of URL | issue48.go:37:24:37:38 | call to Query | provenance | Src:MaD:21 MaD:26 | | issue48.go:37:24:37:38 | call to Query | issue48.go:37:17:37:50 | type conversion | provenance | | | issue48.go:37:53:37:73 | &... | issue48.go:40:3:40:31 | selection of Category | provenance | | -| issue48.go:39:8:40:32 | []type{args} [array] | issue48.go:39:8:40:32 | call to Sprintf | provenance | MaD:7 | -| issue48.go:39:8:40:32 | call to Sprintf | issue48.go:41:11:41:12 | q5 | provenance | | +| issue48.go:39:8:40:32 | []type{args} [array] | issue48.go:39:8:40:32 | call to Sprintf | provenance | MaD:23 | +| issue48.go:39:8:40:32 | call to Sprintf | issue48.go:41:11:41:12 | q5 | provenance | Sink:MaD:1 | | issue48.go:40:3:40:31 | selection of Category | issue48.go:39:8:40:32 | []type{args} [array] | provenance | | | issue48.go:40:3:40:31 | selection of Category | issue48.go:39:8:40:32 | call to Sprintf | provenance | FunctionModel | -| main.go:11:11:11:16 | selection of Form | main.go:11:11:11:28 | index expression | provenance | Src:MaD:2 | -| main.go:15:11:15:84 | []type{args} [array] | main.go:15:11:15:84 | call to Sprintf | provenance | MaD:7 | -| main.go:15:63:15:67 | selection of URL | main.go:15:63:15:75 | call to Query | provenance | Src:MaD:5 MaD:10 | +| main.go:11:11:11:16 | selection of Form | main.go:11:11:11:28 | index expression | provenance | Src:MaD:18 Sink:MaD:1 | +| main.go:15:11:15:84 | []type{args} [array] | main.go:15:11:15:84 | call to Sprintf | provenance | MaD:23 Sink:MaD:2 | +| main.go:15:63:15:67 | selection of URL | main.go:15:63:15:75 | call to Query | provenance | Src:MaD:21 MaD:26 | | main.go:15:63:15:75 | call to Query | main.go:15:63:15:83 | index expression | provenance | | | main.go:15:63:15:83 | index expression | main.go:15:11:15:84 | []type{args} [array] | provenance | | -| main.go:15:63:15:83 | index expression | main.go:15:11:15:84 | call to Sprintf | provenance | FunctionModel | -| main.go:16:11:16:85 | []type{args} [array] | main.go:16:11:16:85 | call to Sprintf | provenance | MaD:7 | -| main.go:16:63:16:70 | selection of Header | main.go:16:63:16:84 | call to Get | provenance | Src:MaD:3 MaD:9 | +| main.go:15:63:15:83 | index expression | main.go:15:11:15:84 | call to Sprintf | provenance | FunctionModel Sink:MaD:2 | +| main.go:16:11:16:85 | []type{args} [array] | main.go:16:11:16:85 | call to Sprintf | provenance | MaD:23 Sink:MaD:2 | +| main.go:16:63:16:70 | selection of Header | main.go:16:63:16:84 | call to Get | provenance | Src:MaD:19 MaD:25 | | main.go:16:63:16:84 | call to Get | main.go:16:11:16:85 | []type{args} [array] | provenance | | -| main.go:16:63:16:84 | call to Get | main.go:16:11:16:85 | call to Sprintf | provenance | FunctionModel | +| main.go:16:63:16:84 | call to Get | main.go:16:11:16:85 | call to Sprintf | provenance | FunctionModel Sink:MaD:2 | | main.go:28:17:31:2 | &... [pointer, Category] | main.go:34:3:34:13 | RequestData [pointer, Category] | provenance | | | main.go:28:18:31:2 | struct literal [Category] | main.go:28:17:31:2 | &... [pointer, Category] | provenance | | -| main.go:30:13:30:19 | selection of URL | main.go:30:13:30:27 | call to Query | provenance | Src:MaD:5 MaD:10 | +| main.go:30:13:30:19 | selection of URL | main.go:30:13:30:27 | call to Query | provenance | Src:MaD:21 MaD:26 | | main.go:30:13:30:27 | call to Query | main.go:30:13:30:39 | index expression | provenance | | | main.go:30:13:30:39 | index expression | main.go:28:18:31:2 | struct literal [Category] | provenance | | -| main.go:33:7:34:23 | []type{args} [array] | main.go:33:7:34:23 | call to Sprintf | provenance | MaD:7 | -| main.go:33:7:34:23 | call to Sprintf | main.go:35:11:35:11 | q | provenance | | +| main.go:33:7:34:23 | []type{args} [array] | main.go:33:7:34:23 | call to Sprintf | provenance | MaD:23 | +| main.go:33:7:34:23 | call to Sprintf | main.go:35:11:35:11 | q | provenance | Sink:MaD:1 | | main.go:34:3:34:13 | RequestData [pointer, Category] | main.go:34:3:34:13 | implicit dereference [Category] | provenance | | | main.go:34:3:34:13 | implicit dereference [Category] | main.go:34:3:34:22 | selection of Category | provenance | | | main.go:34:3:34:22 | selection of Category | main.go:33:7:34:23 | []type{args} [array] | provenance | | @@ -80,11 +80,11 @@ edges | main.go:39:2:39:12 | definition of RequestData [pointer, Category] | main.go:43:3:43:13 | RequestData [pointer, Category] | provenance | | | main.go:40:2:40:12 | RequestData [pointer, Category] | main.go:40:2:40:12 | implicit dereference [Category] | provenance | | | main.go:40:2:40:12 | implicit dereference [Category] | main.go:39:2:39:12 | definition of RequestData [pointer, Category] | provenance | | -| main.go:40:25:40:31 | selection of URL | main.go:40:25:40:39 | call to Query | provenance | Src:MaD:5 MaD:10 | +| main.go:40:25:40:31 | selection of URL | main.go:40:25:40:39 | call to Query | provenance | Src:MaD:21 MaD:26 | | main.go:40:25:40:39 | call to Query | main.go:40:25:40:51 | index expression | provenance | | | main.go:40:25:40:51 | index expression | main.go:40:2:40:12 | implicit dereference [Category] | provenance | | -| main.go:42:7:43:23 | []type{args} [array] | main.go:42:7:43:23 | call to Sprintf | provenance | MaD:7 | -| main.go:42:7:43:23 | call to Sprintf | main.go:44:11:44:11 | q | provenance | | +| main.go:42:7:43:23 | []type{args} [array] | main.go:42:7:43:23 | call to Sprintf | provenance | MaD:23 | +| main.go:42:7:43:23 | call to Sprintf | main.go:44:11:44:11 | q | provenance | Sink:MaD:1 | | main.go:43:3:43:13 | RequestData [pointer, Category] | main.go:43:3:43:13 | implicit dereference [Category] | provenance | | | main.go:43:3:43:13 | implicit dereference [Category] | main.go:43:3:43:22 | selection of Category | provenance | | | main.go:43:3:43:22 | selection of Category | main.go:42:7:43:23 | []type{args} [array] | provenance | | @@ -93,11 +93,11 @@ edges | main.go:48:2:48:12 | definition of RequestData [pointer, Category] | main.go:52:3:52:13 | RequestData [pointer, Category] | provenance | | | main.go:49:3:49:14 | star expression [Category] | main.go:48:2:48:12 | definition of RequestData [pointer, Category] | provenance | | | main.go:49:4:49:14 | RequestData [pointer, Category] | main.go:49:3:49:14 | star expression [Category] | provenance | | -| main.go:49:28:49:34 | selection of URL | main.go:49:28:49:42 | call to Query | provenance | Src:MaD:5 MaD:10 | +| main.go:49:28:49:34 | selection of URL | main.go:49:28:49:42 | call to Query | provenance | Src:MaD:21 MaD:26 | | main.go:49:28:49:42 | call to Query | main.go:49:28:49:54 | index expression | provenance | | | main.go:49:28:49:54 | index expression | main.go:49:3:49:14 | star expression [Category] | provenance | | -| main.go:51:7:52:23 | []type{args} [array] | main.go:51:7:52:23 | call to Sprintf | provenance | MaD:7 | -| main.go:51:7:52:23 | call to Sprintf | main.go:53:11:53:11 | q | provenance | | +| main.go:51:7:52:23 | []type{args} [array] | main.go:51:7:52:23 | call to Sprintf | provenance | MaD:23 | +| main.go:51:7:52:23 | call to Sprintf | main.go:53:11:53:11 | q | provenance | Sink:MaD:1 | | main.go:52:3:52:13 | RequestData [pointer, Category] | main.go:52:3:52:13 | implicit dereference [Category] | provenance | | | main.go:52:3:52:13 | implicit dereference [Category] | main.go:52:3:52:22 | selection of Category | provenance | | | main.go:52:3:52:22 | selection of Category | main.go:51:7:52:23 | []type{args} [array] | provenance | | @@ -106,44 +106,60 @@ edges | main.go:57:2:57:12 | definition of RequestData [pointer, Category] | main.go:61:5:61:15 | RequestData [pointer, Category] | provenance | | | main.go:58:3:58:14 | star expression [Category] | main.go:57:2:57:12 | definition of RequestData [pointer, Category] | provenance | | | main.go:58:4:58:14 | RequestData [pointer, Category] | main.go:58:3:58:14 | star expression [Category] | provenance | | -| main.go:58:28:58:34 | selection of URL | main.go:58:28:58:42 | call to Query | provenance | Src:MaD:5 MaD:10 | +| main.go:58:28:58:34 | selection of URL | main.go:58:28:58:42 | call to Query | provenance | Src:MaD:21 MaD:26 | | main.go:58:28:58:42 | call to Query | main.go:58:28:58:54 | index expression | provenance | | | main.go:58:28:58:54 | index expression | main.go:58:3:58:14 | star expression [Category] | provenance | | -| main.go:60:7:61:26 | []type{args} [array] | main.go:60:7:61:26 | call to Sprintf | provenance | MaD:7 | -| main.go:60:7:61:26 | call to Sprintf | main.go:62:11:62:11 | q | provenance | | +| main.go:60:7:61:26 | []type{args} [array] | main.go:60:7:61:26 | call to Sprintf | provenance | MaD:23 | +| main.go:60:7:61:26 | call to Sprintf | main.go:62:11:62:11 | q | provenance | Sink:MaD:1 | | main.go:61:3:61:25 | selection of Category | main.go:60:7:61:26 | []type{args} [array] | provenance | | | main.go:61:3:61:25 | selection of Category | main.go:60:7:61:26 | call to Sprintf | provenance | FunctionModel | | main.go:61:4:61:15 | star expression [Category] | main.go:61:3:61:25 | selection of Category | provenance | | | main.go:61:5:61:15 | RequestData [pointer, Category] | main.go:61:4:61:15 | star expression [Category] | provenance | | -| mongoDB.go:40:20:40:30 | call to Referer | mongoDB.go:42:28:42:41 | untrustedInput | provenance | Src:MaD:4 | +| mongoDB.go:40:20:40:30 | call to Referer | mongoDB.go:42:28:42:41 | untrustedInput | provenance | Src:MaD:20 | | mongoDB.go:42:19:42:42 | struct literal | mongoDB.go:50:34:50:39 | filter | provenance | | -| mongoDB.go:42:19:42:42 | struct literal | mongoDB.go:61:27:61:32 | filter | provenance | | -| mongoDB.go:42:19:42:42 | struct literal | mongoDB.go:63:23:63:28 | filter | provenance | | -| mongoDB.go:42:19:42:42 | struct literal | mongoDB.go:64:22:64:27 | filter | provenance | | -| mongoDB.go:42:19:42:42 | struct literal | mongoDB.go:66:32:66:37 | filter | provenance | | -| mongoDB.go:42:19:42:42 | struct literal | mongoDB.go:69:17:69:22 | filter | provenance | | -| mongoDB.go:42:19:42:42 | struct literal | mongoDB.go:70:20:70:25 | filter | provenance | | -| mongoDB.go:42:19:42:42 | struct literal | mongoDB.go:71:29:71:34 | filter | provenance | | -| mongoDB.go:42:19:42:42 | struct literal | mongoDB.go:72:30:72:35 | filter | provenance | | -| mongoDB.go:42:19:42:42 | struct literal | mongoDB.go:73:29:73:34 | filter | provenance | | -| mongoDB.go:42:19:42:42 | struct literal | mongoDB.go:78:23:78:28 | filter | provenance | | -| mongoDB.go:42:19:42:42 | struct literal | mongoDB.go:79:23:79:28 | filter | provenance | | -| mongoDB.go:42:19:42:42 | struct literal | mongoDB.go:80:22:80:27 | filter | provenance | | +| mongoDB.go:42:19:42:42 | struct literal | mongoDB.go:61:27:61:32 | filter | provenance | Sink:MaD:4 | +| mongoDB.go:42:19:42:42 | struct literal | mongoDB.go:63:23:63:28 | filter | provenance | Sink:MaD:5 | +| mongoDB.go:42:19:42:42 | struct literal | mongoDB.go:64:22:64:27 | filter | provenance | Sink:MaD:6 | +| mongoDB.go:42:19:42:42 | struct literal | mongoDB.go:66:32:66:37 | filter | provenance | Sink:MaD:7 | +| mongoDB.go:42:19:42:42 | struct literal | mongoDB.go:69:17:69:22 | filter | provenance | Sink:MaD:8 | +| mongoDB.go:42:19:42:42 | struct literal | mongoDB.go:70:20:70:25 | filter | provenance | Sink:MaD:9 | +| mongoDB.go:42:19:42:42 | struct literal | mongoDB.go:71:29:71:34 | filter | provenance | Sink:MaD:10 | +| mongoDB.go:42:19:42:42 | struct literal | mongoDB.go:72:30:72:35 | filter | provenance | Sink:MaD:11 | +| mongoDB.go:42:19:42:42 | struct literal | mongoDB.go:73:29:73:34 | filter | provenance | Sink:MaD:12 | +| mongoDB.go:42:19:42:42 | struct literal | mongoDB.go:78:23:78:28 | filter | provenance | Sink:MaD:13 | +| mongoDB.go:42:19:42:42 | struct literal | mongoDB.go:79:23:79:28 | filter | provenance | Sink:MaD:14 | +| mongoDB.go:42:19:42:42 | struct literal | mongoDB.go:80:22:80:27 | filter | provenance | Sink:MaD:15 | | mongoDB.go:42:28:42:41 | untrustedInput | mongoDB.go:42:19:42:42 | struct literal | provenance | Config | -| mongoDB.go:50:23:50:40 | struct literal | mongoDB.go:57:22:57:29 | pipeline | provenance | | -| mongoDB.go:50:23:50:40 | struct literal | mongoDB.go:81:18:81:25 | pipeline | provenance | | +| mongoDB.go:50:23:50:40 | struct literal | mongoDB.go:57:22:57:29 | pipeline | provenance | Sink:MaD:3 | +| mongoDB.go:50:23:50:40 | struct literal | mongoDB.go:81:18:81:25 | pipeline | provenance | Sink:MaD:16 | | mongoDB.go:50:34:50:39 | filter | mongoDB.go:50:23:50:40 | struct literal | provenance | Config | models -| 1 | Source: net/http; Request; true; Body; ; ; ; remote; manual | -| 2 | Source: net/http; Request; true; Form; ; ; ; remote; manual | -| 3 | Source: net/http; Request; true; Header; ; ; ; remote; manual | -| 4 | Source: net/http; Request; true; Referer; ; ; ReturnValue; remote; manual | -| 5 | Source: net/http; Request; true; URL; ; ; ; remote; manual | -| 6 | Summary: encoding/json; ; false; Unmarshal; ; ; Argument[0]; Argument[1]; taint; manual | -| 7 | Summary: fmt; ; false; Sprintf; ; ; Argument[1].ArrayElement; ReturnValue; taint; manual | -| 8 | Summary: io/ioutil; ; false; ReadAll; ; ; Argument[0]; ReturnValue[0]; taint; manual | -| 9 | Summary: net/http; Header; true; Get; ; ; Argument[receiver]; ReturnValue; taint; manual | -| 10 | Summary: net/url; URL; true; Query; ; ; Argument[receiver]; ReturnValue; taint; manual | +| 1 | Sink: database/sql; DB; false; Query; ; ; Argument[0]; sql-injection; manual | +| 2 | Sink: database/sql; Tx; false; Query; ; ; Argument[0]; sql-injection; manual | +| 3 | Sink: go.mongodb.org/mongo-driver/mongo; Collection; true; Aggregate; ; ; Argument[1]; nosql-injection; manual | +| 4 | Sink: go.mongodb.org/mongo-driver/mongo; Collection; true; CountDocuments; ; ; Argument[1]; nosql-injection; manual | +| 5 | Sink: go.mongodb.org/mongo-driver/mongo; Collection; true; DeleteMany; ; ; Argument[1]; nosql-injection; manual | +| 6 | Sink: go.mongodb.org/mongo-driver/mongo; Collection; true; DeleteOne; ; ; Argument[1]; nosql-injection; manual | +| 7 | Sink: go.mongodb.org/mongo-driver/mongo; Collection; true; Distinct; ; ; Argument[2]; nosql-injection; manual | +| 8 | Sink: go.mongodb.org/mongo-driver/mongo; Collection; true; Find; ; ; Argument[1]; nosql-injection; manual | +| 9 | Sink: go.mongodb.org/mongo-driver/mongo; Collection; true; FindOne; ; ; Argument[1]; nosql-injection; manual | +| 10 | Sink: go.mongodb.org/mongo-driver/mongo; Collection; true; FindOneAndDelete; ; ; Argument[1]; nosql-injection; manual | +| 11 | Sink: go.mongodb.org/mongo-driver/mongo; Collection; true; FindOneAndReplace; ; ; Argument[1]; nosql-injection; manual | +| 12 | Sink: go.mongodb.org/mongo-driver/mongo; Collection; true; FindOneAndUpdate; ; ; Argument[1]; nosql-injection; manual | +| 13 | Sink: go.mongodb.org/mongo-driver/mongo; Collection; true; ReplaceOne; ; ; Argument[1]; nosql-injection; manual | +| 14 | Sink: go.mongodb.org/mongo-driver/mongo; Collection; true; UpdateMany; ; ; Argument[1]; nosql-injection; manual | +| 15 | Sink: go.mongodb.org/mongo-driver/mongo; Collection; true; UpdateOne; ; ; Argument[1]; nosql-injection; manual | +| 16 | Sink: go.mongodb.org/mongo-driver/mongo; Collection; true; Watch; ; ; Argument[1]; nosql-injection; manual | +| 17 | Source: net/http; Request; true; Body; ; ; ; remote; manual | +| 18 | Source: net/http; Request; true; Form; ; ; ; remote; manual | +| 19 | Source: net/http; Request; true; Header; ; ; ; remote; manual | +| 20 | Source: net/http; Request; true; Referer; ; ; ReturnValue; remote; manual | +| 21 | Source: net/http; Request; true; URL; ; ; ; remote; manual | +| 22 | Summary: encoding/json; ; false; Unmarshal; ; ; Argument[0]; Argument[1]; taint; manual | +| 23 | Summary: fmt; ; false; Sprintf; ; ; Argument[1].ArrayElement; ReturnValue; taint; manual | +| 24 | Summary: io/ioutil; ; false; ReadAll; ; ; Argument[0]; ReturnValue[0]; taint; manual | +| 25 | Summary: net/http; Header; true; Get; ; ; Argument[receiver]; ReturnValue; taint; manual | +| 26 | Summary: net/url; URL; true; Query; ; ; Argument[receiver]; ReturnValue; taint; manual | nodes | SqlInjection.go:10:7:11:30 | []type{args} [array] | semmle.label | []type{args} [array] | | SqlInjection.go:10:7:11:30 | call to Sprintf | semmle.label | call to Sprintf | From 85c7e8c2212523d26c9c56e99e8dabb76b1274be Mon Sep 17 00:00:00 2001 From: Owen Mansel-Chan Date: Fri, 16 Aug 2024 07:59:04 +0100 Subject: [PATCH 277/347] Convert gocb nosql-injection sinks to MaD --- .../ext/github.com.couchbase.gocb.model.yml | 57 +++++++++----- ...o.mongodb.org.mongo-driver.mongo.model.yml | 2 +- go/ql/lib/semmle/go/frameworks/Couchbase.qll | 46 ++--------- go/ql/lib/semmle/go/frameworks/NoSQL.qll | 76 ------------------- 4 files changed, 43 insertions(+), 138 deletions(-) diff --git a/go/ql/lib/ext/github.com.couchbase.gocb.model.yml b/go/ql/lib/ext/github.com.couchbase.gocb.model.yml index ff0a4c22c8de..d17b53dd6da9 100644 --- a/go/ql/lib/ext/github.com.couchbase.gocb.model.yml +++ b/go/ql/lib/ext/github.com.couchbase.gocb.model.yml @@ -3,28 +3,43 @@ extensions: pack: codeql/go-all extensible: packageGrouping data: - - ["gocb", "github.com/couchbase/gocb"] - - ["gocb", "gopkg.in/couchbase/gocb"] - - ["gocb", "github.com/couchbaselabs/gocb"] + - ["gocb1", "fixed-version:github.com/couchbase/gocb"] + - ["gocb1", "fixed-version:gopkg.in/couchbase/gocb.v1"] + - ["gocb1", "fixed-version:github.com/couchbaselabs/gocb"] + - ["gocb2", "github.com/couchbase/gocb/v2"] + - ["gocb2", "gopkg.in/couchbase/gocb.v2"] + - ["gocb2", "github.com/couchbaselabs/gocb/v2"] + - addsTo: + pack: codeql/go-all + extensible: sinkModel + data: + - ["group:gocb1", "Bucket", True, "ExecuteN1qlQuery", "", "", "Argument[0]", "nosql-injection", "manual"] + - ["group:gocb1", "Bucket", True, "ExecuteAnalyticsQuery", "", "", "Argument[0]", "nosql-injection", "manual"] + - ["group:gocb1", "Cluster", True, "ExecuteN1qlQuery", "", "", "Argument[0]", "nosql-injection", "manual"] + - ["group:gocb1", "Cluster", True, "ExecuteAnalyticsQuery", "", "", "Argument[0]", "nosql-injection", "manual"] + - ["group:gocb2", "Cluster", True, "AnalyticsQuery", "", "", "Argument[0]", "nosql-injection", "manual"] + - ["group:gocb2", "Cluster", True, "Query", "", "", "Argument[0]", "nosql-injection", "manual"] + - ["group:gocb2", "Scope", True, "AnalyticsQuery", "", "", "Argument[0]", "nosql-injection", "manual"] + - ["group:gocb2", "Scope", True, "Query", "", "", "Argument[0]", "nosql-injection", "manual"] - addsTo: pack: codeql/go-all extensible: summaryModel data: - - ["group:gocb", "", False, "NewAnalyticsQuery", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["group:gocb", "", False, "NewN1qlQuery", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["group:gocb", "AnalyticsQuery", True, "ContextId", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] - - ["group:gocb", "AnalyticsQuery", True, "Deferred", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] - - ["group:gocb", "AnalyticsQuery", True, "Pretty", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] - - ["group:gocb", "AnalyticsQuery", True, "Priority", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] - - ["group:gocb", "AnalyticsQuery", True, "RawParam", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] - - ["group:gocb", "AnalyticsQuery", True, "ServerSideTimeout", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] - - ["group:gocb", "N1qlQuery", True, "AdHoc", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] - - ["group:gocb", "N1qlQuery", True, "Consistency", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] - - ["group:gocb", "N1qlQuery", True, "ConsistentWith", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] - - ["group:gocb", "N1qlQuery", True, "Custom", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] - - ["group:gocb", "N1qlQuery", True, "PipelineBatch", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] - - ["group:gocb", "N1qlQuery", True, "PipelineCap", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] - - ["group:gocb", "N1qlQuery", True, "Profile", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] - - ["group:gocb", "N1qlQuery", True, "ReadOnly", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] - - ["group:gocb", "N1qlQuery", True, "ScanCap", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] - - ["group:gocb", "N1qlQuery", True, "Timeout", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] + - ["group:gocb1", "", False, "NewAnalyticsQuery", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["group:gocb1", "", False, "NewN1qlQuery", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["group:gocb1", "AnalyticsQuery", True, "ContextId", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] + - ["group:gocb1", "AnalyticsQuery", True, "Deferred", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] + - ["group:gocb1", "AnalyticsQuery", True, "Pretty", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] + - ["group:gocb1", "AnalyticsQuery", True, "Priority", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] + - ["group:gocb1", "AnalyticsQuery", True, "RawParam", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] + - ["group:gocb1", "AnalyticsQuery", True, "ServerSideTimeout", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] + - ["group:gocb1", "N1qlQuery", True, "AdHoc", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] + - ["group:gocb1", "N1qlQuery", True, "Consistency", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] + - ["group:gocb1", "N1qlQuery", True, "ConsistentWith", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] + - ["group:gocb1", "N1qlQuery", True, "Custom", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] + - ["group:gocb1", "N1qlQuery", True, "PipelineBatch", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] + - ["group:gocb1", "N1qlQuery", True, "PipelineCap", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] + - ["group:gocb1", "N1qlQuery", True, "Profile", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] + - ["group:gocb1", "N1qlQuery", True, "ReadOnly", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] + - ["group:gocb1", "N1qlQuery", True, "ScanCap", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] + - ["group:gocb1", "N1qlQuery", True, "Timeout", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] diff --git a/go/ql/lib/ext/go.mongodb.org.mongo-driver.mongo.model.yml b/go/ql/lib/ext/go.mongodb.org.mongo-driver.mongo.model.yml index ae07bd3a2139..6c2d4afdeae2 100644 --- a/go/ql/lib/ext/go.mongodb.org.mongo-driver.mongo.model.yml +++ b/go/ql/lib/ext/go.mongodb.org.mongo-driver.mongo.model.yml @@ -3,6 +3,7 @@ extensions: pack: codeql/go-all extensible: sinkModel data: + - ["go.mongodb.org/mongo-driver/mongo", "Collection", True, "Aggregate", "", "", "Argument[1]", "nosql-injection", "manual"] - ["go.mongodb.org/mongo-driver/mongo", "Collection", True, "CountDocuments", "", "", "Argument[1]", "nosql-injection", "manual"] - ["go.mongodb.org/mongo-driver/mongo", "Collection", True, "DeleteMany", "", "", "Argument[1]", "nosql-injection", "manual"] - ["go.mongodb.org/mongo-driver/mongo", "Collection", True, "DeleteOne", "", "", "Argument[1]", "nosql-injection", "manual"] @@ -16,4 +17,3 @@ extensions: - ["go.mongodb.org/mongo-driver/mongo", "Collection", True, "UpdateMany", "", "", "Argument[1]", "nosql-injection", "manual"] - ["go.mongodb.org/mongo-driver/mongo", "Collection", True, "UpdateOne", "", "", "Argument[1]", "nosql-injection", "manual"] - ["go.mongodb.org/mongo-driver/mongo", "Collection", True, "Watch", "", "", "Argument[1]", "nosql-injection", "manual"] - - ["go.mongodb.org/mongo-driver/mongo", "Collection", True, "Aggregate", "", "", "Argument[1]", "nosql-injection", "manual"] diff --git a/go/ql/lib/semmle/go/frameworks/Couchbase.qll b/go/ql/lib/semmle/go/frameworks/Couchbase.qll index 5eaa4d20c3ad..b5bfbcb22a2d 100644 --- a/go/ql/lib/semmle/go/frameworks/Couchbase.qll +++ b/go/ql/lib/semmle/go/frameworks/Couchbase.qll @@ -5,57 +5,23 @@ import go /** + * DEPRECATED + * * Provides models of commonly used functions in the official Couchbase Go SDK library. */ -module Couchbase { +deprecated module Couchbase { /** + * DEPRECATED + * * Gets a package path for the official Couchbase Go SDK library. * * Note that v1 and v2 have different APIs, but the names are disjoint so there is no need to * distinguish between them. */ - string packagePath() { + deprecated string packagePath() { result = package([ "gopkg.in/couchbase/gocb", "github.com/couchbase/gocb", "github.com/couchbaselabs/gocb" ], "") } - - /** - * A query used in an API function acting on a `Bucket` or `Cluster` struct of v1 of - * the official Couchbase Go library, gocb. - */ - private class CouchbaseV1Query extends NoSql::Query::Range { - CouchbaseV1Query() { - // func (b *Bucket) ExecuteAnalyticsQuery(q *AnalyticsQuery, params interface{}) (AnalyticsResults, error) - // func (b *Bucket) ExecuteN1qlQuery(q *N1qlQuery, params interface{}) (QueryResults, error) - // func (c *Cluster) ExecuteAnalyticsQuery(q *AnalyticsQuery, params interface{}) (AnalyticsResults, error) - // func (c *Cluster) ExecuteN1qlQuery(q *N1qlQuery, params interface{}) (QueryResults, error) - exists(Method meth, string structName, string methodName | - structName in ["Bucket", "Cluster"] and - methodName in ["ExecuteN1qlQuery", "ExecuteAnalyticsQuery"] and - meth.hasQualifiedName(packagePath(), structName, methodName) and - this = meth.getACall().getArgument(0) - ) - } - } - - /** - * A query used in an API function acting on a `Bucket` or `Cluster` struct of v1 of - * the official Couchbase Go library, gocb. - */ - private class CouchbaseV2Query extends NoSql::Query::Range { - CouchbaseV2Query() { - // func (c *Cluster) AnalyticsQuery(statement string, opts *AnalyticsOptions) (*AnalyticsResult, error) - // func (c *Cluster) Query(statement string, opts *QueryOptions) (*QueryResult, error) - // func (s *Scope) AnalyticsQuery(statement string, opts *AnalyticsOptions) (*AnalyticsResult, error) - // func (s *Scope) Query(statement string, opts *QueryOptions) (*QueryResult, error) - exists(Method meth, string structName, string methodName | - structName in ["Cluster", "Scope"] and - methodName in ["AnalyticsQuery", "Query"] and - meth.hasQualifiedName(packagePath(), structName, methodName) and - this = meth.getACall().getArgument(0) - ) - } - } } diff --git a/go/ql/lib/semmle/go/frameworks/NoSQL.qll b/go/ql/lib/semmle/go/frameworks/NoSQL.qll index 873b8230f1bf..36932149628e 100644 --- a/go/ql/lib/semmle/go/frameworks/NoSQL.qll +++ b/go/ql/lib/semmle/go/frameworks/NoSQL.qll @@ -31,82 +31,6 @@ module NoSql { ) } } - // /** - // * Holds if method `name` of struct `Collection` from package - // * [go.mongodb.org/mongo-driver/mongo](https://pkg.go.dev/go.mongodb.org/mongo-driver/mongo) - // * interprets parameter `n` as a query. - // */ - // private predicate mongoDbCollectionMethod(string name, int n) { - // // func (coll *Collection) CountDocuments(ctx context.Context, filter interface{}, - // // opts ...*options.CountOptions) (int64, error) - // name = "CountDocuments" and n = 1 - // or - // // func (coll *Collection) DeleteMany(ctx context.Context, filter interface{}, - // // opts ...*options.DeleteOptions) (*DeleteResult, error) - // name = "DeleteMany" and n = 1 - // or - // // func (coll *Collection) DeleteOne(ctx context.Context, filter interface{}, - // // opts ...*options.DeleteOptions) (*DeleteResult, error) - // name = "DeleteOne" and n = 1 - // or - // // func (coll *Collection) Distinct(ctx context.Context, fieldName string, filter interface{}, - // // ...) ([]interface{}, error) - // name = "Distinct" and n = 2 - // or - // // func (coll *Collection) Find(ctx context.Context, filter interface{}, - // // opts ...*options.FindOptions) (*Cursor, error) - // name = "Find" and n = 1 - // or - // // func (coll *Collection) FindOne(ctx context.Context, filter interface{}, - // // opts ...*options.FindOneOptions) *SingleResult - // name = "FindOne" and n = 1 - // or - // // func (coll *Collection) FindOneAndDelete(ctx context.Context, filter interface{}, ...) - // // *SingleResult - // name = "FindOneAndDelete" and n = 1 - // or - // // func (coll *Collection) FindOneAndReplace(ctx context.Context, filter interface{}, - // // replacement interface{}, ...) *SingleResult - // name = "FindOneAndReplace" and n = 1 - // or - // // func (coll *Collection) FindOneAndUpdate(ctx context.Context, filter interface{}, - // // update interface{}, ...) *SingleResult - // name = "FindOneAndUpdate" and n = 1 - // or - // // func (coll *Collection) ReplaceOne(ctx context.Context, filter interface{}, - // // replacement interface{}, ...) (*UpdateResult, error) - // name = "ReplaceOne" and n = 1 - // or - // // func (coll *Collection) UpdateMany(ctx context.Context, filter interface{}, - // // update interface{}, ...) (*UpdateResult, error) - // name = "UpdateMany" and n = 1 - // or - // // func (coll *Collection) UpdateOne(ctx context.Context, filter interface{}, - // // update interface{}, ...) (*UpdateResult, error) - // name = "UpdateOne" and n = 1 - // or - // // func (coll *Collection) Watch(ctx context.Context, pipeline interface{}, ...) - // // (*ChangeStream, error) - // name = "Watch" and n = 1 - // or - // // func (coll *Collection) Aggregate(ctx context.Context, pipeline interface{}, - // // opts ...*options.AggregateOptions) (*Cursor, error) - // name = "Aggregate" and n = 1 - // } - // /** - // * A query used in an API function acting on a `Collection` struct of package - // * [go.mongodb.org/mongo-driver/mongo](https://pkg.go.dev/go.mongodb.org/mongo-driver/mongo). - // */ - // private class MongoDbCollectionQuery extends Range { - // MongoDbCollectionQuery() { - // exists(Method meth, string methodName, int n | - // mongoDbCollectionMethod(methodName, n) and - // meth.hasQualifiedName(package("go.mongodb.org/mongo-driver", "mongo"), "Collection", - // methodName) and - // this = meth.getACall().getArgument(n) - // ) - // } - // } } /** From 35cbc162b0ce14ad67b8d6ac0ca1d3a436becf6a Mon Sep 17 00:00:00 2001 From: Owen Mansel-Chan Date: Thu, 25 Jul 2024 16:41:36 +0100 Subject: [PATCH 278/347] Convert logging sinks to use MaD --- go/ql/lib/ext/fmt.model.yml | 7 + ...github.com.beego.beego.core.logs.model.yml | 34 +++++ ...ithub.com.beego.beego.core.utils.model.yml | 5 + ...ithub.com.beego.beego.server.web.model.yml | 12 ++ .../github.com.davecgh.go-spew.spew.model.yml | 14 ++ .../ext/github.com.elazarl.goproxy.model.yml | 6 + .../lib/ext/github.com.golang.glog.model.yml | 102 ++++++++++++++ .../ext/github.com.sirupsen.logrus.model.yml | 131 ++++++++++++++++++ go/ql/lib/ext/go.uber.org.zap.model.yml | 37 +++++ go/ql/lib/ext/log.model.yml | 24 ++++ go/ql/lib/semmle/go/Concepts.qll | 17 +++ go/ql/lib/semmle/go/frameworks/Beego.qll | 37 ----- .../semmle/go/frameworks/ElazarlGoproxy.qll | 6 - go/ql/lib/semmle/go/frameworks/Glog.qll | 10 -- go/ql/lib/semmle/go/frameworks/Logrus.qll | 6 - go/ql/lib/semmle/go/frameworks/Spew.qll | 10 -- go/ql/lib/semmle/go/frameworks/Zap.qll | 12 -- go/ql/lib/semmle/go/frameworks/stdlib/Fmt.qll | 7 - go/ql/lib/semmle/go/frameworks/stdlib/Log.qll | 10 -- 19 files changed, 389 insertions(+), 98 deletions(-) create mode 100644 go/ql/lib/ext/github.com.beego.beego.core.logs.model.yml create mode 100644 go/ql/lib/ext/github.com.davecgh.go-spew.spew.model.yml create mode 100644 go/ql/lib/ext/github.com.golang.glog.model.yml create mode 100644 go/ql/lib/ext/github.com.sirupsen.logrus.model.yml diff --git a/go/ql/lib/ext/fmt.model.yml b/go/ql/lib/ext/fmt.model.yml index cad64ce0fdf6..2baac68da3a0 100644 --- a/go/ql/lib/ext/fmt.model.yml +++ b/go/ql/lib/ext/fmt.model.yml @@ -1,4 +1,11 @@ extensions: + - addsTo: + pack: codeql/go-all + extensible: sinkModel + data: + - ["fmt", "", False, "Print", "", "", "Argument[0]", "log-injection", "manual"] + - ["fmt", "", False, "Printf", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["fmt", "", False, "Println", "", "", "Argument[0]", "log-injection", "manual"] - addsTo: pack: codeql/go-all extensible: summaryModel diff --git a/go/ql/lib/ext/github.com.beego.beego.core.logs.model.yml b/go/ql/lib/ext/github.com.beego.beego.core.logs.model.yml new file mode 100644 index 000000000000..3dfbbe89719e --- /dev/null +++ b/go/ql/lib/ext/github.com.beego.beego.core.logs.model.yml @@ -0,0 +1,34 @@ +extensions: + - addsTo: + pack: codeql/go-all + extensible: packageGrouping + data: + - ["beego-logs", "github.com/astaxie/beego/logs"] + - ["beego-logs", "github.com/beego/beego/logs"] + - ["beego-logs", "github.com/beego/beego/core/logs"] + - addsTo: + pack: codeql/go-all + extensible: sinkModel + data: + - ["group:beego-logs", "", False, "Alert", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["group:beego-logs", "", False, "Critical", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["group:beego-logs", "", False, "Debug", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["group:beego-logs", "", False, "Emergency", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["group:beego-logs", "", False, "Error", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["group:beego-logs", "", False, "Info", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["group:beego-logs", "", False, "Informational", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["group:beego-logs", "", False, "Notice", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["group:beego-logs", "", False, "Trace", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["group:beego-logs", "", False, "Warn", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["group:beego-logs", "", False, "Warning", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["group:beego-logs", "BeeLogger", False, "Alert", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["group:beego-logs", "BeeLogger", False, "Critical", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["group:beego-logs", "BeeLogger", False, "Debug", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["group:beego-logs", "BeeLogger", False, "Emergency", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["group:beego-logs", "BeeLogger", False, "Error", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["group:beego-logs", "BeeLogger", False, "Info", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["group:beego-logs", "BeeLogger", False, "Informational", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["group:beego-logs", "BeeLogger", False, "Notice", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["group:beego-logs", "BeeLogger", False, "Trace", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["group:beego-logs", "BeeLogger", False, "Warn", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["group:beego-logs", "BeeLogger", False, "Warning", "", "", "Argument[0..1]", "log-injection", "manual"] diff --git a/go/ql/lib/ext/github.com.beego.beego.core.utils.model.yml b/go/ql/lib/ext/github.com.beego.beego.core.utils.model.yml index 4eb0688e37e7..63c05b920401 100644 --- a/go/ql/lib/ext/github.com.beego.beego.core.utils.model.yml +++ b/go/ql/lib/ext/github.com.beego.beego.core.utils.model.yml @@ -6,6 +6,11 @@ extensions: - ["beego-utils", "github.com/astaxie/beego/utils"] - ["beego-utils", "github.com/beego/beego/utils"] - ["beego-utils", "github.com/beego/beego/core/utils"] + - addsTo: + pack: codeql/go-all + extensible: sinkModel + data: + - ["group:beego-utils", "", False, "Display", "", "", "Argument[0]", "log-injection", "manual"] - addsTo: pack: codeql/go-all extensible: summaryModel diff --git a/go/ql/lib/ext/github.com.beego.beego.server.web.model.yml b/go/ql/lib/ext/github.com.beego.beego.server.web.model.yml index 963000fffccd..0c539522c5a7 100644 --- a/go/ql/lib/ext/github.com.beego.beego.server.web.model.yml +++ b/go/ql/lib/ext/github.com.beego.beego.server.web.model.yml @@ -10,6 +10,18 @@ extensions: pack: codeql/go-all extensible: sinkModel data: + # log-injection + - ["group:beego", "", False, "Alert", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["group:beego", "", False, "Critical", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["group:beego", "", False, "Debug", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["group:beego", "", False, "Emergency", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["group:beego", "", False, "Error", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["group:beego", "", False, "Info", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["group:beego", "", False, "Informational", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["group:beego", "", False, "Notice", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["group:beego", "", False, "Trace", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["group:beego", "", False, "Warn", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["group:beego", "", False, "Warning", "", "", "Argument[0..1]", "log-injection", "manual"] # path-injection - ["group:beego", "", False, "Walk", "", "", "Argument[1]", "path-injection", "manual"] - ["group:beego", "Controller", True, "SaveToFile", "", "", "Argument[1]", "path-injection", "manual"] diff --git a/go/ql/lib/ext/github.com.davecgh.go-spew.spew.model.yml b/go/ql/lib/ext/github.com.davecgh.go-spew.spew.model.yml new file mode 100644 index 000000000000..4b4996926e31 --- /dev/null +++ b/go/ql/lib/ext/github.com.davecgh.go-spew.spew.model.yml @@ -0,0 +1,14 @@ +extensions: + - addsTo: + pack: codeql/go-all + extensible: sinkModel + data: + - ["github.com/davecgh/go-spew/spew", "", False, "Dump", "", "", "Argument[0]", "log-injection", "manual"] + - ["github.com/davecgh/go-spew/spew", "", False, "Errorf", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["github.com/davecgh/go-spew/spew", "", False, "Fdump", "", "", "Argument[1]", "log-injection", "manual"] + - ["github.com/davecgh/go-spew/spew", "", False, "Fprint", "", "", "Argument[1]", "log-injection", "manual"] + - ["github.com/davecgh/go-spew/spew", "", False, "Fprintf", "", "", "Argument[1..2]", "log-injection", "manual"] + - ["github.com/davecgh/go-spew/spew", "", False, "Fprintln", "", "", "Argument[1]", "log-injection", "manual"] + - ["github.com/davecgh/go-spew/spew", "", False, "Print", "", "", "Argument[0]", "log-injection", "manual"] + - ["github.com/davecgh/go-spew/spew", "", False, "Printf", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["github.com/davecgh/go-spew/spew", "", False, "Println", "", "", "Argument[0]", "log-injection", "manual"] diff --git a/go/ql/lib/ext/github.com.elazarl.goproxy.model.yml b/go/ql/lib/ext/github.com.elazarl.goproxy.model.yml index 20e4a26f1cdb..01a61d2c3acd 100644 --- a/go/ql/lib/ext/github.com.elazarl.goproxy.model.yml +++ b/go/ql/lib/ext/github.com.elazarl.goproxy.model.yml @@ -1,4 +1,10 @@ extensions: + - addsTo: + pack: codeql/go-all + extensible: sinkModel + data: + - ["github.com/elazarl/goproxy", "ProxyCtx", False, "Logf", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["github.com/elazarl/goproxy", "ProxyCtx", False, "Warnf", "", "", "Argument[0..1]", "log-injection", "manual"] - addsTo: pack: codeql/go-all extensible: summaryModel diff --git a/go/ql/lib/ext/github.com.golang.glog.model.yml b/go/ql/lib/ext/github.com.golang.glog.model.yml new file mode 100644 index 000000000000..dd36e6a7d8fa --- /dev/null +++ b/go/ql/lib/ext/github.com.golang.glog.model.yml @@ -0,0 +1,102 @@ +extensions: + - addsTo: + pack: codeql/go-all + extensible: packageGrouping + data: + - ["glog", "github.com/golang/glog"] + - ["glog", "gopkg.in/glog"] + - ["glog", "k8s.io/klog"] + - addsTo: + pack: codeql/go-all + extensible: sinkModel + data: + - ["group:glog", "", False, "Error", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:glog", "", False, "ErrorContext", "", "", "Argument[1]", "log-injection", "manual"] + - ["group:glog", "", False, "ErrorContextDepth", "", "", "Argument[2]", "log-injection", "manual"] + - ["group:glog", "", False, "ErrorContextDepthf", "", "", "Argument[2..3]", "log-injection", "manual"] + - ["group:glog", "", False, "ErrorContextf", "", "", "Argument[1..2]", "log-injection", "manual"] + - ["group:glog", "", False, "ErrorDepth", "", "", "Argument[1]", "log-injection", "manual"] + - ["group:glog", "", False, "ErrorDepthf", "", "", "Argument[1..2]", "log-injection", "manual"] + - ["group:glog", "", False, "Errorf", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["group:glog", "", False, "Errorln", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:glog", "", False, "Exit", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:glog", "", False, "ExitContext", "", "", "Argument[1]", "log-injection", "manual"] + - ["group:glog", "", False, "ExitContextDepth", "", "", "Argument[2]", "log-injection", "manual"] + - ["group:glog", "", False, "ExitContextDepthf", "", "", "Argument[2..3]", "log-injection", "manual"] + - ["group:glog", "", False, "ExitContextf", "", "", "Argument[1..2]", "log-injection", "manual"] + - ["group:glog", "", False, "ExitDepth", "", "", "Argument[1]", "log-injection", "manual"] + - ["group:glog", "", False, "ExitDepthf", "", "", "Argument[1..2]", "log-injection", "manual"] + - ["group:glog", "", False, "Exitf", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["group:glog", "", False, "Exitln", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:glog", "", False, "Fatal", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:glog", "", False, "FatalContext", "", "", "Argument[1]", "log-injection", "manual"] + - ["group:glog", "", False, "FatalContextDepth", "", "", "Argument[2]", "log-injection", "manual"] + - ["group:glog", "", False, "FatalContextDepthf", "", "", "Argument[2..3]", "log-injection", "manual"] + - ["group:glog", "", False, "FatalContextf", "", "", "Argument[1..2]", "log-injection", "manual"] + - ["group:glog", "", False, "FatalDepth", "", "", "Argument[1]", "log-injection", "manual"] + - ["group:glog", "", False, "FatalDepthf", "", "", "Argument[1..2]", "log-injection", "manual"] + - ["group:glog", "", False, "Fatalf", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["group:glog", "", False, "Fatalln", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:glog", "", False, "Info", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:glog", "", False, "InfoContext", "", "", "Argument[1]", "log-injection", "manual"] + - ["group:glog", "", False, "InfoContextDepth", "", "", "Argument[2]", "log-injection", "manual"] + - ["group:glog", "", False, "InfoContextDepthf", "", "", "Argument[2..3]", "log-injection", "manual"] + - ["group:glog", "", False, "InfoContextf", "", "", "Argument[1..2]", "log-injection", "manual"] + - ["group:glog", "", False, "InfoDepth", "", "", "Argument[1]", "log-injection", "manual"] + - ["group:glog", "", False, "InfoDepthf", "", "", "Argument[1..2]", "log-injection", "manual"] + - ["group:glog", "", False, "Infof", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["group:glog", "", False, "Infoln", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:glog", "", False, "Warning", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:glog", "", False, "WarningContext", "", "", "Argument[1]", "log-injection", "manual"] + - ["group:glog", "", False, "WarningContextDepth", "", "", "Argument[2]", "log-injection", "manual"] + - ["group:glog", "", False, "WarningContextDepthf", "", "", "Argument[2..3]", "log-injection", "manual"] + - ["group:glog", "", False, "WarningContextf", "", "", "Argument[1..2]", "log-injection", "manual"] + - ["group:glog", "", False, "WarningDepth", "", "", "Argument[1]", "log-injection", "manual"] + - ["group:glog", "", False, "WarningDepthf", "", "", "Argument[1..2]", "log-injection", "manual"] + - ["group:glog", "", False, "Warningf", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["group:glog", "", False, "Warningln", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:glog", "Verbose", False, "Error", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:glog", "Verbose", False, "ErrorContext", "", "", "Argument[1]", "log-injection", "manual"] + - ["group:glog", "Verbose", False, "ErrorContextDepth", "", "", "Argument[2]", "log-injection", "manual"] + - ["group:glog", "Verbose", False, "ErrorContextDepthf", "", "", "Argument[2..3]", "log-injection", "manual"] + - ["group:glog", "Verbose", False, "ErrorContextf", "", "", "Argument[1..2]", "log-injection", "manual"] + - ["group:glog", "Verbose", False, "ErrorDepth", "", "", "Argument[1]", "log-injection", "manual"] + - ["group:glog", "Verbose", False, "ErrorDepthf", "", "", "Argument[1..2]", "log-injection", "manual"] + - ["group:glog", "Verbose", False, "Errorf", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["group:glog", "Verbose", False, "Errorln", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:glog", "Verbose", False, "Exit", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:glog", "Verbose", False, "ExitContext", "", "", "Argument[1]", "log-injection", "manual"] + - ["group:glog", "Verbose", False, "ExitContextDepth", "", "", "Argument[2]", "log-injection", "manual"] + - ["group:glog", "Verbose", False, "ExitContextDepthf", "", "", "Argument[2..3]", "log-injection", "manual"] + - ["group:glog", "Verbose", False, "ExitContextf", "", "", "Argument[1..2]", "log-injection", "manual"] + - ["group:glog", "Verbose", False, "ExitDepth", "", "", "Argument[1]", "log-injection", "manual"] + - ["group:glog", "Verbose", False, "ExitDepthf", "", "", "Argument[1..2]", "log-injection", "manual"] + - ["group:glog", "Verbose", False, "Exitf", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["group:glog", "Verbose", False, "Exitln", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:glog", "Verbose", False, "Fatal", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:glog", "Verbose", False, "FatalContext", "", "", "Argument[1]", "log-injection", "manual"] + - ["group:glog", "Verbose", False, "FatalContextDepth", "", "", "Argument[2]", "log-injection", "manual"] + - ["group:glog", "Verbose", False, "FatalContextDepthf", "", "", "Argument[2..3]", "log-injection", "manual"] + - ["group:glog", "Verbose", False, "FatalContextf", "", "", "Argument[1..2]", "log-injection", "manual"] + - ["group:glog", "Verbose", False, "FatalDepth", "", "", "Argument[1]", "log-injection", "manual"] + - ["group:glog", "Verbose", False, "FatalDepthf", "", "", "Argument[1..2]", "log-injection", "manual"] + - ["group:glog", "Verbose", False, "Fatalf", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["group:glog", "Verbose", False, "Fatalln", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:glog", "Verbose", False, "Info", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:glog", "Verbose", False, "InfoContext", "", "", "Argument[1]", "log-injection", "manual"] + - ["group:glog", "Verbose", False, "InfoContextDepth", "", "", "Argument[2]", "log-injection", "manual"] + - ["group:glog", "Verbose", False, "InfoContextDepthf", "", "", "Argument[2..3]", "log-injection", "manual"] + - ["group:glog", "Verbose", False, "InfoContextf", "", "", "Argument[1..2]", "log-injection", "manual"] + - ["group:glog", "Verbose", False, "InfoDepth", "", "", "Argument[1]", "log-injection", "manual"] + - ["group:glog", "Verbose", False, "InfoDepthf", "", "", "Argument[1..2]", "log-injection", "manual"] + - ["group:glog", "Verbose", False, "Infof", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["group:glog", "Verbose", False, "Infoln", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:glog", "Verbose", False, "Warning", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:glog", "Verbose", False, "WarningContext", "", "", "Argument[1]", "log-injection", "manual"] + - ["group:glog", "Verbose", False, "WarningContextDepth", "", "", "Argument[2]", "log-injection", "manual"] + - ["group:glog", "Verbose", False, "WarningContextDepthf", "", "", "Argument[2..3]", "log-injection", "manual"] + - ["group:glog", "Verbose", False, "WarningContextf", "", "", "Argument[1..2]", "log-injection", "manual"] + - ["group:glog", "Verbose", False, "WarningDepth", "", "", "Argument[1]", "log-injection", "manual"] + - ["group:glog", "Verbose", False, "WarningDepthf", "", "", "Argument[1..2]", "log-injection", "manual"] + - ["group:glog", "Verbose", False, "Warningf", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["group:glog", "Verbose", False, "Warningln", "", "", "Argument[0]", "log-injection", "manual"] diff --git a/go/ql/lib/ext/github.com.sirupsen.logrus.model.yml b/go/ql/lib/ext/github.com.sirupsen.logrus.model.yml new file mode 100644 index 000000000000..5779b5fa639f --- /dev/null +++ b/go/ql/lib/ext/github.com.sirupsen.logrus.model.yml @@ -0,0 +1,131 @@ +extensions: + - addsTo: + pack: codeql/go-all + extensible: packageGrouping + data: + - ["logrus", "github.com/sirupsen/logrus"] + - ["logrus", "ggithub.com/Sirupsen/logrus"] + - addsTo: + pack: codeql/go-all + extensible: sinkModel + data: + - ["group:logrus", "", False, "Debug", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "", False, "DebugFn", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "", False, "Debugf", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["group:logrus", "", False, "Debugln", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "", False, "Error", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "", False, "ErrorFn", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "", False, "Errorf", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["group:logrus", "", False, "Errorln", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "", False, "Fatal", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "", False, "FatalFn", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "", False, "Fatalf", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["group:logrus", "", False, "Fatalln", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "", False, "Info", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "", False, "InfoFn", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "", False, "Infof", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["group:logrus", "", False, "Infoln", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "", False, "Panic", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "", False, "PanicFn", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "", False, "Panicf", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["group:logrus", "", False, "Panicln", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "", False, "Print", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "", False, "PrintFn", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "", False, "Printf", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["group:logrus", "", False, "Println", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "", False, "Trace", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "", False, "TraceFn", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "", False, "Tracef", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["group:logrus", "", False, "Traceln", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "", False, "Warn", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "", False, "WarnFn", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "", False, "Warnf", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["group:logrus", "", False, "Warnln", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "", False, "Warning", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "", False, "WarningFn", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "", False, "Warningf", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["group:logrus", "", False, "Warningln", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "", False, "WithError", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "", False, "WithField", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["group:logrus", "", False, "WithFields", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "", False, "WithTime", "", "", "Argument[0]", "log-injection", "manual"] + + - ["group:logrus", "Entry", False, "Debug", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "Entry", False, "Debugf", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["group:logrus", "Entry", False, "Debugln", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "Entry", False, "Error", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "Entry", False, "Errorf", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["group:logrus", "Entry", False, "Errorln", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "Entry", False, "Fatal", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "Entry", False, "Fatalf", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["group:logrus", "Entry", False, "Fatalln", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "Entry", False, "Info", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "Entry", False, "Infof", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["group:logrus", "Entry", False, "Infoln", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "Entry", False, "Log", "", "", "Argument[1]", "log-injection", "manual"] + - ["group:logrus", "Entry", False, "Logf", "", "", "Argument[1..2]", "log-injection", "manual"] + - ["group:logrus", "Entry", False, "Logln", "", "", "Argument[1]", "log-injection", "manual"] + - ["group:logrus", "Entry", False, "Panic", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "Entry", False, "Panicf", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["group:logrus", "Entry", False, "Panicln", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "Entry", False, "Print", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "Entry", False, "Printf", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["group:logrus", "Entry", False, "Println", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "Entry", False, "Trace", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "Entry", False, "Tracef", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["group:logrus", "Entry", False, "Traceln", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "Entry", False, "Warn", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "Entry", False, "Warnf", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["group:logrus", "Entry", False, "Warnln", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "Entry", False, "Warning", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "Entry", False, "Warningf", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["group:logrus", "Entry", False, "Warningln", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "Entry", False, "WithError", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "Entry", False, "WithField", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["group:logrus", "Entry", False, "WithFields", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "Entry", False, "WithTime", "", "", "Argument[0]", "log-injection", "manual"] + + - ["group:logrus", "Logger", False, "Debug", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "Logger", False, "DebugFn", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "Logger", False, "Debugf", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["group:logrus", "Logger", False, "Debugln", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "Logger", False, "Error", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "Logger", False, "ErrorFn", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "Logger", False, "Errorf", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["group:logrus", "Logger", False, "Errorln", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "Logger", False, "Fatal", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "Logger", False, "FatalFn", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "Logger", False, "Fatalf", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["group:logrus", "Logger", False, "Fatalln", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "Logger", False, "Info", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "Logger", False, "InfoFn", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "Logger", False, "Infof", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["group:logrus", "Logger", False, "Infoln", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "Logger", False, "Log", "", "", "Argument[1]", "log-injection", "manual"] + - ["group:logrus", "Logger", False, "LogFn", "", "", "Argument[1]", "log-injection", "manual"] + - ["group:logrus", "Logger", False, "Logf", "", "", "Argument[1..2]", "log-injection", "manual"] + - ["group:logrus", "Logger", False, "Logln", "", "", "Argument[1]", "log-injection", "manual"] + - ["group:logrus", "Logger", False, "Panic", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "Logger", False, "PanicFn", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "Logger", False, "Panicf", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["group:logrus", "Logger", False, "Panicln", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "Logger", False, "Print", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "Logger", False, "PrintFn", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "Logger", False, "Printf", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["group:logrus", "Logger", False, "Println", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "Logger", False, "Trace", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "Logger", False, "TraceFn", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "Logger", False, "Tracef", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["group:logrus", "Logger", False, "Traceln", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "Logger", False, "Warn", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "Logger", False, "WarnFn", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "Logger", False, "Warnf", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["group:logrus", "Logger", False, "Warnln", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "Logger", False, "Warning", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "Logger", False, "WarningFn", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "Logger", False, "Warningf", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["group:logrus", "Logger", False, "Warningln", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "Logger", False, "WithError", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "Logger", False, "WithField", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["group:logrus", "Logger", False, "WithFields", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "Logger", False, "WithTime", "", "", "Argument[0]", "log-injection", "manual"] diff --git a/go/ql/lib/ext/go.uber.org.zap.model.yml b/go/ql/lib/ext/go.uber.org.zap.model.yml index 2ca7f7e8a804..c4e43356f269 100644 --- a/go/ql/lib/ext/go.uber.org.zap.model.yml +++ b/go/ql/lib/ext/go.uber.org.zap.model.yml @@ -1,4 +1,41 @@ extensions: + - addsTo: + pack: codeql/go-all + extensible: sinkModel + data: + - ["go.uber.org/zap", "Logger", False, "DPanic", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["go.uber.org/zap", "Logger", False, "Debug", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["go.uber.org/zap", "Logger", False, "Error", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["go.uber.org/zap", "Logger", False, "Fatal", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["go.uber.org/zap", "Logger", False, "Info", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["go.uber.org/zap", "Logger", False, "Named", "", "", "Argument[0]", "log-injection", "manual"] + - ["go.uber.org/zap", "Logger", False, "Panic", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["go.uber.org/zap", "Logger", False, "Warn", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["go.uber.org/zap", "Logger", False, "With", "", "", "Argument[0]", "log-injection", "manual"] + - ["go.uber.org/zap", "Logger", False, "WithOptions", "", "", "Argument[0]", "log-injection", "manual"] + - ["go.uber.org/zap", "SugaredLogger", False, "DPanic", "", "", "Argument[0]", "log-injection", "manual"] + - ["go.uber.org/zap", "SugaredLogger", False, "DPanicf", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["go.uber.org/zap", "SugaredLogger", False, "DPanicw", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["go.uber.org/zap", "SugaredLogger", False, "Debug", "", "", "Argument[0]", "log-injection", "manual"] + - ["go.uber.org/zap", "SugaredLogger", False, "Debugf", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["go.uber.org/zap", "SugaredLogger", False, "Debugw", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["go.uber.org/zap", "SugaredLogger", False, "Error", "", "", "Argument[0]", "log-injection", "manual"] + - ["go.uber.org/zap", "SugaredLogger", False, "Errorf", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["go.uber.org/zap", "SugaredLogger", False, "Errorw", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["go.uber.org/zap", "SugaredLogger", False, "Fatal", "", "", "Argument[0]", "log-injection", "manual"] + - ["go.uber.org/zap", "SugaredLogger", False, "Fatalf", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["go.uber.org/zap", "SugaredLogger", False, "Fatalw", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["go.uber.org/zap", "SugaredLogger", False, "Info", "", "", "Argument[0]", "log-injection", "manual"] + - ["go.uber.org/zap", "SugaredLogger", False, "Infof", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["go.uber.org/zap", "SugaredLogger", False, "Infow", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["go.uber.org/zap", "SugaredLogger", False, "Named", "", "", "Argument[0]", "log-injection", "manual"] + - ["go.uber.org/zap", "SugaredLogger", False, "Panic", "", "", "Argument[0]", "log-injection", "manual"] + - ["go.uber.org/zap", "SugaredLogger", False, "Panicf", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["go.uber.org/zap", "SugaredLogger", False, "Panicw", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["go.uber.org/zap", "SugaredLogger", False, "Warn", "", "", "Argument[0]", "log-injection", "manual"] + - ["go.uber.org/zap", "SugaredLogger", False, "Warnf", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["go.uber.org/zap", "SugaredLogger", False, "Warnw", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["go.uber.org/zap", "SugaredLogger", False, "With", "", "", "Argument[0]", "log-injection", "manual"] - addsTo: pack: codeql/go-all extensible: summaryModel diff --git a/go/ql/lib/ext/log.model.yml b/go/ql/lib/ext/log.model.yml index 7f52a1733073..1ebce079a52f 100644 --- a/go/ql/lib/ext/log.model.yml +++ b/go/ql/lib/ext/log.model.yml @@ -1,4 +1,28 @@ extensions: + - addsTo: + pack: codeql/go-all + extensible: sinkModel + data: + - ["log", "", False, "Fatal", "", "", "Argument[0]", "log-injection", "manual"] + - ["log", "", False, "Fatalf", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["log", "", False, "Fatalln", "", "", "Argument[0]", "log-injection", "manual"] + - ["log", "", False, "Output", "", "", "Argument[1]", "log-injection", "manual"] + - ["log", "", False, "Panic", "", "", "Argument[0]", "log-injection", "manual"] + - ["log", "", False, "Panicf", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["log", "", False, "Panicln", "", "", "Argument[0]", "log-injection", "manual"] + - ["log", "", False, "Print", "", "", "Argument[0]", "log-injection", "manual"] + - ["log", "", False, "Printf", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["log", "", False, "Println", "", "", "Argument[0]", "log-injection", "manual"] + - ["log", "Logger", False, "Fatal", "", "", "Argument[0]", "log-injection", "manual"] + - ["log", "Logger", False, "Fatalf", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["log", "Logger", False, "Fatalln", "", "", "Argument[0]", "log-injection", "manual"] + - ["log", "Logger", False, "Output", "", "", "Argument[1]", "log-injection", "manual"] + - ["log", "Logger", False, "Panic", "", "", "Argument[0]", "log-injection", "manual"] + - ["log", "Logger", False, "Panicf", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["log", "Logger", False, "Panicln", "", "", "Argument[0]", "log-injection", "manual"] + - ["log", "Logger", False, "Print", "", "", "Argument[0]", "log-injection", "manual"] + - ["log", "Logger", False, "Printf", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["log", "Logger", False, "Println", "", "", "Argument[0]", "log-injection", "manual"] - addsTo: pack: codeql/go-all extensible: summaryModel diff --git a/go/ql/lib/semmle/go/Concepts.qll b/go/ql/lib/semmle/go/Concepts.qll index c15d3683b40c..edb8e6c88fd1 100644 --- a/go/ql/lib/semmle/go/Concepts.qll +++ b/go/ql/lib/semmle/go/Concepts.qll @@ -373,6 +373,23 @@ module LoggerCall { } } +private class DefaultLoggerCall extends LoggerCall::Range, DataFlow::CallNode { + DataFlow::ArgumentNode messageComponent; + + DefaultLoggerCall() { + sinkNode(messageComponent, "log-injection") and + this = messageComponent.getCall() + } + + override DataFlow::Node getAMessageComponent() { + not messageComponent instanceof DataFlow::ImplicitVarargsSlice and + result = messageComponent + or + messageComponent instanceof DataFlow::ImplicitVarargsSlice and + result = this.getAnImplicitVarargsArgument() + } +} + /** * A function that encodes data into a binary or textual format. * diff --git a/go/ql/lib/semmle/go/frameworks/Beego.qll b/go/ql/lib/semmle/go/frameworks/Beego.qll index 9f6ee5980035..a9e296a1f973 100644 --- a/go/ql/lib/semmle/go/frameworks/Beego.qll +++ b/go/ql/lib/semmle/go/frameworks/Beego.qll @@ -33,13 +33,6 @@ module Beego { result = package(v2modulePath(), "server/web/context") } - /** Gets the path for the logs package of beego. */ - string logsPackagePath() { - result = package(v1modulePath(), "logs") - or - result = package(v2modulePath(), "core/logs") - } - /** Gets the path for the utils package of beego. */ string utilsPackagePath() { result = package(v1modulePath(), "utils") @@ -172,36 +165,6 @@ module Beego { override string getAContentType() { none() } } - private string getALogFunctionName() { - result = - [ - "Alert", "Critical", "Debug", "Emergency", "Error", "Info", "Informational", "Notice", - "Trace", "Warn", "Warning" - ] - } - - private class ToplevelBeegoLoggers extends LoggerCall::Range, DataFlow::CallNode { - ToplevelBeegoLoggers() { - this.getTarget().hasQualifiedName([packagePath(), logsPackagePath()], getALogFunctionName()) - } - - override DataFlow::Node getAMessageComponent() { result = this.getASyntacticArgument() } - } - - private class BeegoLoggerMethods extends LoggerCall::Range, DataFlow::MethodCallNode { - BeegoLoggerMethods() { - this.getTarget().hasQualifiedName(logsPackagePath(), "BeeLogger", getALogFunctionName()) - } - - override DataFlow::Node getAMessageComponent() { result = this.getASyntacticArgument() } - } - - private class UtilLoggers extends LoggerCall::Range, DataFlow::CallNode { - UtilLoggers() { this.getTarget().hasQualifiedName(utilsPackagePath(), "Display") } - - override DataFlow::Node getAMessageComponent() { result = this.getASyntacticArgument() } - } - private class HtmlQuoteSanitizer extends SharedXss::Sanitizer { HtmlQuoteSanitizer() { exists(DataFlow::CallNode c | c.getTarget().hasQualifiedName(packagePath(), "Htmlquote") | diff --git a/go/ql/lib/semmle/go/frameworks/ElazarlGoproxy.qll b/go/ql/lib/semmle/go/frameworks/ElazarlGoproxy.qll index 4d10c8af312d..b1bf4571216a 100644 --- a/go/ql/lib/semmle/go/frameworks/ElazarlGoproxy.qll +++ b/go/ql/lib/semmle/go/frameworks/ElazarlGoproxy.qll @@ -100,10 +100,4 @@ module ElazarlGoproxy { override int getFormatStringIndex() { result = 0 } } - - private class ProxyLog extends LoggerCall::Range, DataFlow::MethodCallNode { - ProxyLog() { this.getTarget() instanceof ProxyLogFunction } - - override DataFlow::Node getAMessageComponent() { result = this.getASyntacticArgument() } - } } diff --git a/go/ql/lib/semmle/go/frameworks/Glog.qll b/go/ql/lib/semmle/go/frameworks/Glog.qll index f9f5c9e3f11f..146b8a4f814b 100644 --- a/go/ql/lib/semmle/go/frameworks/Glog.qll +++ b/go/ql/lib/semmle/go/frameworks/Glog.qll @@ -40,14 +40,4 @@ module Glog { override int getFormatStringIndex() { result = super.getFirstPrintedArg() } } - - private class GlogCall extends LoggerCall::Range, DataFlow::CallNode { - GlogFunction callee; - - GlogCall() { this = callee.getACall() } - - override DataFlow::Node getAMessageComponent() { - result = this.getSyntacticArgument(any(int i | i >= callee.getFirstPrintedArg())) - } - } } diff --git a/go/ql/lib/semmle/go/frameworks/Logrus.qll b/go/ql/lib/semmle/go/frameworks/Logrus.qll index f7de9a75dae8..83278a4cd9e2 100644 --- a/go/ql/lib/semmle/go/frameworks/Logrus.qll +++ b/go/ql/lib/semmle/go/frameworks/Logrus.qll @@ -28,12 +28,6 @@ module Logrus { } } - private class LogCall extends LoggerCall::Range, DataFlow::CallNode { - LogCall() { this = any(LogFunction f).getACall() } - - override DataFlow::Node getAMessageComponent() { result = this.getASyntacticArgument() } - } - private class StringFormatters extends StringOps::Formatting::Range instanceof LogFunction { int argOffset; diff --git a/go/ql/lib/semmle/go/frameworks/Spew.qll b/go/ql/lib/semmle/go/frameworks/Spew.qll index b12bd0fed815..f49a4aa4d89d 100644 --- a/go/ql/lib/semmle/go/frameworks/Spew.qll +++ b/go/ql/lib/semmle/go/frameworks/Spew.qll @@ -33,16 +33,6 @@ module Spew { override int getFormatStringIndex() { result = super.getFirstPrintedArg() } } - private class SpewCall extends LoggerCall::Range, DataFlow::CallNode { - SpewFunction target; - - SpewCall() { this = target.getACall() } - - override DataFlow::Node getAMessageComponent() { - result = this.getSyntacticArgument(any(int i | i >= target.getFirstPrintedArg())) - } - } - // These are expressed using TaintTracking::FunctionModel because varargs functions don't work with Models-as-Data sumamries yet. /** The `Sprint` function or one of its variants. */ class Sprinter extends TaintTracking::FunctionModel { diff --git a/go/ql/lib/semmle/go/frameworks/Zap.qll b/go/ql/lib/semmle/go/frameworks/Zap.qll index 359f9aba4107..0928d2b0595c 100644 --- a/go/ql/lib/semmle/go/frameworks/Zap.qll +++ b/go/ql/lib/semmle/go/frameworks/Zap.qll @@ -34,18 +34,6 @@ module Zap { override int getFormatStringIndex() { result = 0 } } - /** - * A call to a logger function in Zap. - * - * Functions which add data to be included the next time a direct logging - * function is called are included. - */ - private class ZapCall extends LoggerCall::Range, DataFlow::MethodCallNode { - ZapCall() { this = any(ZapFunction f).getACall() } - - override DataFlow::Node getAMessageComponent() { result = this.getASyntacticArgument() } - } - // These are expressed using TaintTracking::FunctionModel because varargs functions don't work with Models-as-Data sumamries yet. /** The function `Fields` that creates an `Option` that can be added to the logger out of `Field`s. */ class FieldsFunction extends TaintTracking::FunctionModel { diff --git a/go/ql/lib/semmle/go/frameworks/stdlib/Fmt.qll b/go/ql/lib/semmle/go/frameworks/stdlib/Fmt.qll index 54794ea21c9e..6adbd542e9b6 100644 --- a/go/ql/lib/semmle/go/frameworks/stdlib/Fmt.qll +++ b/go/ql/lib/semmle/go/frameworks/stdlib/Fmt.qll @@ -41,13 +41,6 @@ module Fmt { Printer() { this.hasQualifiedName("fmt", ["Print", "Printf", "Println"]) } } - /** A call to `Print` or similar. */ - private class PrintCall extends LoggerCall::Range, DataFlow::CallNode { - PrintCall() { this.getTarget() instanceof Printer } - - override DataFlow::Node getAMessageComponent() { result = this.getASyntacticArgument() } - } - /** The `Fprint` function or one of its variants. */ private class Fprinter extends TaintTracking::FunctionModel { Fprinter() { diff --git a/go/ql/lib/semmle/go/frameworks/stdlib/Log.qll b/go/ql/lib/semmle/go/frameworks/stdlib/Log.qll index 5b402fca1b7e..ca74160bf0df 100644 --- a/go/ql/lib/semmle/go/frameworks/stdlib/Log.qll +++ b/go/ql/lib/semmle/go/frameworks/stdlib/Log.qll @@ -32,16 +32,6 @@ module Log { override int getFormatStringIndex() { result = 0 } } - private class LogCall extends LoggerCall::Range, DataFlow::CallNode { - LogFunction target; - - LogCall() { this = target.getACall() } - - override DataFlow::Node getAMessageComponent() { - result = this.getSyntacticArgument(any(int i | i >= target.getFirstPrintedArg())) - } - } - /** A fatal log function, which calls `os.Exit`. */ private class FatalLogFunction extends Function { FatalLogFunction() { this.hasQualifiedName("log", ["Fatal", "Fatalf", "Fatalln"]) } From a0729fc7606ad1c10e0bedbc9ebc81b738dc28b7 Mon Sep 17 00:00:00 2001 From: Owen Mansel-Chan <62447351+owen-mc@users.noreply.github.com> Date: Fri, 9 Aug 2024 14:27:58 +0100 Subject: [PATCH 279/347] Fix typo in package path Co-authored-by: Edward Minnix III --- go/ql/lib/ext/github.com.sirupsen.logrus.model.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/go/ql/lib/ext/github.com.sirupsen.logrus.model.yml b/go/ql/lib/ext/github.com.sirupsen.logrus.model.yml index 5779b5fa639f..54f802e02413 100644 --- a/go/ql/lib/ext/github.com.sirupsen.logrus.model.yml +++ b/go/ql/lib/ext/github.com.sirupsen.logrus.model.yml @@ -4,7 +4,7 @@ extensions: extensible: packageGrouping data: - ["logrus", "github.com/sirupsen/logrus"] - - ["logrus", "ggithub.com/Sirupsen/logrus"] + - ["logrus", "github.com/Sirupsen/logrus"] - addsTo: pack: codeql/go-all extensible: sinkModel From 25cd4d4585a13ab614028b7d83b28fdd43d679be Mon Sep 17 00:00:00 2001 From: Owen Mansel-Chan Date: Thu, 12 Sep 2024 14:27:38 +0100 Subject: [PATCH 280/347] Model some squirrel methods in QL We need to put a restriction on the type of the argument. --- .../github.com.mastermind.squirrel.model.yml | 6 +++--- go/ql/lib/semmle/go/frameworks/SQL.qll | 21 +++++++++++++++++++ 2 files changed, 24 insertions(+), 3 deletions(-) diff --git a/go/ql/lib/ext/github.com.mastermind.squirrel.model.yml b/go/ql/lib/ext/github.com.mastermind.squirrel.model.yml index a5f46d7c2149..dc476abd0572 100644 --- a/go/ql/lib/ext/github.com.mastermind.squirrel.model.yml +++ b/go/ql/lib/ext/github.com.mastermind.squirrel.model.yml @@ -20,7 +20,7 @@ extensions: - ["group:squirrel", "DeleteBuilder", True, "OrderBy", "", "", "Argument[0]", "sql-injection", "manual"] # TODO: when sources can have access paths, use .ArrayElement - ["group:squirrel", "DeleteBuilder", True, "Prefix", "", "", "Argument[0]", "sql-injection", "manual"] - ["group:squirrel", "DeleteBuilder", True, "Suffix", "", "", "Argument[0]", "sql-injection", "manual"] - - ["group:squirrel", "DeleteBuilder", True, "Where", "", "", "Argument[0]", "sql-injection", "manual"] + # DeleteBuilder.Where has to be modeled in QL to avoid FPs when a non-string argument is used - ["group:squirrel", "InsertBuilder", True, "Columns", "", "", "Argument[0]", "sql-injection", "manual"] # TODO: when sources can have access paths, use .ArrayElement - ["group:squirrel", "InsertBuilder", True, "Into", "", "", "Argument[0]", "sql-injection", "manual"] @@ -40,7 +40,7 @@ extensions: - ["group:squirrel", "SelectBuilder", True, "Prefix", "", "", "Argument[0]", "sql-injection", "manual"] - ["group:squirrel", "SelectBuilder", True, "RightJoin", "", "", "Argument[0]", "sql-injection", "manual"] - ["group:squirrel", "SelectBuilder", True, "Suffix", "", "", "Argument[0]", "sql-injection", "manual"] - - ["group:squirrel", "SelectBuilder", True, "Where", "", "", "Argument[0]", "sql-injection", "manual"] + # SelectBuilder.Where has to be modeled in QL to avoid FPs when a non-string argument is used - ["group:squirrel", "UpdateBuilder", True, "From", "", "", "Argument[0]", "sql-injection", "manual"] - ["group:squirrel", "UpdateBuilder", True, "OrderBy", "", "", "Argument[0]", "sql-injection", "manual"] # TODO: when sources can have access paths, use .ArrayElement @@ -48,4 +48,4 @@ extensions: - ["group:squirrel", "UpdateBuilder", True, "Set", "", "", "Argument[0]", "sql-injection", "manual"] - ["group:squirrel", "UpdateBuilder", True, "Suffix", "", "", "Argument[0]", "sql-injection", "manual"] - ["group:squirrel", "UpdateBuilder", True, "Table", "", "", "Argument[0]", "sql-injection", "manual"] - - ["group:squirrel", "UpdateBuilder", True, "Where", "", "", "Argument[0]", "sql-injection", "manual"] + # UpdateBuilder.Where has to be modeled in QL to avoid FPs when a non-string argument is used diff --git a/go/ql/lib/semmle/go/frameworks/SQL.qll b/go/ql/lib/semmle/go/frameworks/SQL.qll index c2a550602e1c..e555e22d3b93 100644 --- a/go/ql/lib/semmle/go/frameworks/SQL.qll +++ b/go/ql/lib/semmle/go/frameworks/SQL.qll @@ -79,6 +79,27 @@ module SQL { } } + /** + * An argument to an API of the squirrel library that is directly interpreted as SQL without + * taking syntactic structure into account. + */ + private class SquirrelQueryString extends Range { + SquirrelQueryString() { + exists(string sq, Method m, string builder | + FlowExtensions::packageGrouping("squirrel", sq) and + builder = ["DeleteBuilder", "SelectBuilder", "UpdateBuilder"] + | + m.hasQualifiedName(sq, builder, "Where") and + this = m.getACall().getArgument(0) + ) and + ( + this.getType().getUnderlyingType() instanceof StringType + or + this.getType().getUnderlyingType().(SliceType).getElementType() instanceof StringType + ) + } + } + /** A string that might identify package `go-pg/pg` or a specific version of it. */ private string gopg() { result = package("github.com/go-pg/pg", "") } From d37c816bd990f7839d040d6963b47c86b0ffe2e7 Mon Sep 17 00:00:00 2001 From: Owen Mansel-Chan Date: Thu, 12 Sep 2024 15:23:12 +0100 Subject: [PATCH 281/347] Model some Xorm methods in QL --- go/ql/lib/ext/xorm.io.xorm.model.yml | 12 ++++-------- go/ql/lib/semmle/go/frameworks/SQL.qll | 15 ++++++++++++++- 2 files changed, 18 insertions(+), 9 deletions(-) diff --git a/go/ql/lib/ext/xorm.io.xorm.model.yml b/go/ql/lib/ext/xorm.io.xorm.model.yml index fd73b7c9a669..5cf1ac4f5d73 100644 --- a/go/ql/lib/ext/xorm.io.xorm.model.yml +++ b/go/ql/lib/ext/xorm.io.xorm.model.yml @@ -11,7 +11,7 @@ extensions: data: - ["group:xorm", "Engine", True, "Alias", "", "", "Argument[0]", "sql-injection", "manual"] - ["group:xorm", "Engine", True, "And", "", "", "Argument[0]", "sql-injection", "manual"] - - ["group:xorm", "Engine", True, "Exec", "", "", "Argument[0]", "sql-injection", "manual"] + # Engine.Exec has to be modeled in QL to select only the first syntactic argument - ["group:xorm", "Engine", True, "GroupBy", "", "", "Argument[0]", "sql-injection", "manual"] - ["group:xorm", "Engine", True, "Having", "", "", "Argument[0]", "sql-injection", "manual"] - ["group:xorm", "Engine", True, "In", "", "", "Argument[0]", "sql-injection", "manual"] @@ -19,9 +19,7 @@ extensions: - ["group:xorm", "Engine", True, "NotIn", "", "", "Argument[0]", "sql-injection", "manual"] - ["group:xorm", "Engine", True, "Or", "", "", "Argument[0]", "sql-injection", "manual"] - ["group:xorm", "Engine", True, "OrderBy", "", "", "Argument[0]", "sql-injection", "manual"] - - ["group:xorm", "Engine", True, "Query", "", "", "Argument[0]", "sql-injection", "manual"] - - ["group:xorm", "Engine", True, "QueryString", "", "", "Argument[0]", "sql-injection", "manual"] - - ["group:xorm", "Engine", True, "QueryInterface", "", "", "Argument[0]", "sql-injection", "manual"] + # Engine.Query, Engine.QueryInterface and Engine.QueryString have to be modeled in QL to select only the first syntactic argument - ["group:xorm", "Engine", True, "Select", "", "", "Argument[0]", "sql-injection", "manual"] - ["group:xorm", "Engine", True, "SetExpr", "", "", "Argument[0]", "sql-injection", "manual"] - ["group:xorm", "Engine", True, "SQL", "", "", "Argument[0]", "sql-injection", "manual"] @@ -32,7 +30,7 @@ extensions: - ["group:xorm", "Engine", True, "Where", "", "", "Argument[0]", "sql-injection", "manual"] - ["group:xorm", "Session", True, "Alias", "", "", "Argument[0]", "sql-injection", "manual"] - ["group:xorm", "Session", True, "And", "", "", "Argument[0]", "sql-injection", "manual"] - - ["group:xorm", "Session", True, "Exec", "", "", "Argument[0]", "sql-injection", "manual"] + # Session.Exec has to be modeled in QL to select only the first syntactic argument - ["group:xorm", "Session", True, "GroupBy", "", "", "Argument[0]", "sql-injection", "manual"] - ["group:xorm", "Session", True, "Having", "", "", "Argument[0]", "sql-injection", "manual"] - ["group:xorm", "Session", True, "In", "", "", "Argument[0]", "sql-injection", "manual"] @@ -40,9 +38,7 @@ extensions: - ["group:xorm", "Session", True, "NotIn", "", "", "Argument[0]", "sql-injection", "manual"] - ["group:xorm", "Session", True, "Or", "", "", "Argument[0]", "sql-injection", "manual"] - ["group:xorm", "Session", True, "OrderBy", "", "", "Argument[0]", "sql-injection", "manual"] - - ["group:xorm", "Session", True, "Query", "", "", "Argument[0]", "sql-injection", "manual"] - - ["group:xorm", "Session", True, "QueryString", "", "", "Argument[0]", "sql-injection", "manual"] - - ["group:xorm", "Session", True, "QueryInterface", "", "", "Argument[0]", "sql-injection", "manual"] + # Session.Query, Session.QueryInterface and Session.QueryString have to be modeled in QL to select only the first syntactic argument - ["group:xorm", "Session", True, "Select", "", "", "Argument[0]", "sql-injection", "manual"] - ["group:xorm", "Session", True, "SetExpr", "", "", "Argument[0]", "sql-injection", "manual"] - ["group:xorm", "Session", True, "SQL", "", "", "Argument[0]", "sql-injection", "manual"] diff --git a/go/ql/lib/semmle/go/frameworks/SQL.qll b/go/ql/lib/semmle/go/frameworks/SQL.qll index e555e22d3b93..a0e80fde1c9f 100644 --- a/go/ql/lib/semmle/go/frameworks/SQL.qll +++ b/go/ql/lib/semmle/go/frameworks/SQL.qll @@ -188,7 +188,20 @@ module Gorm { */ module Xorm { /** Gets the package name for Xorm. */ - string packagePath() { result = package(["xorm.io/xorm", "github.com/go-xorm/xorm"], "") } + string packagePath() { FlowExtensions::packageGrouping("xorm", result) } + + /** A model for sinks of XORM. */ + private class XormSink extends SQL::QueryString::Range { + XormSink() { + exists(Method meth, string type, string name | + meth.hasQualifiedName(Xorm::packagePath(), type, name) and + type = ["Engine", "Session"] and + name = ["Exec", "Query", "QueryInterface", "QueryString"] + | + this = meth.getACall().getSyntacticArgument(0) + ) + } + } } /** From 8cbab0c66ebc842de5e75e0bfd775f32acc369be Mon Sep 17 00:00:00 2001 From: Owen Mansel-Chan Date: Tue, 17 Sep 2024 10:36:03 +0100 Subject: [PATCH 282/347] Model `logrus.FieldLogger` using models-as-data --- .../ext/github.com.sirupsen.logrus.model.yml | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/go/ql/lib/ext/github.com.sirupsen.logrus.model.yml b/go/ql/lib/ext/github.com.sirupsen.logrus.model.yml index 54f802e02413..b3ef5ea1d103 100644 --- a/go/ql/lib/ext/github.com.sirupsen.logrus.model.yml +++ b/go/ql/lib/ext/github.com.sirupsen.logrus.model.yml @@ -85,6 +85,34 @@ extensions: - ["group:logrus", "Entry", False, "WithFields", "", "", "Argument[0]", "log-injection", "manual"] - ["group:logrus", "Entry", False, "WithTime", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "FieldLogger", False, "Debug", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "FieldLogger", False, "Debugf", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["group:logrus", "FieldLogger", False, "Debugln", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "FieldLogger", False, "Error", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "FieldLogger", False, "Errorf", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["group:logrus", "FieldLogger", False, "Errorln", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "FieldLogger", False, "Fatal", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "FieldLogger", False, "Fatalf", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["group:logrus", "FieldLogger", False, "Fatalln", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "FieldLogger", False, "Info", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "FieldLogger", False, "Infof", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["group:logrus", "FieldLogger", False, "Infoln", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "FieldLogger", False, "Panic", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "FieldLogger", False, "Panicf", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["group:logrus", "FieldLogger", False, "Panicln", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "FieldLogger", False, "Print", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "FieldLogger", False, "Printf", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["group:logrus", "FieldLogger", False, "Println", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "FieldLogger", False, "Warn", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "FieldLogger", False, "Warnf", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["group:logrus", "FieldLogger", False, "Warnln", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "FieldLogger", False, "Warning", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "FieldLogger", False, "Warningf", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["group:logrus", "FieldLogger", False, "Warningln", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "FieldLogger", False, "WithError", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "FieldLogger", False, "WithField", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["group:logrus", "FieldLogger", False, "WithFields", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "Logger", False, "Debug", "", "", "Argument[0]", "log-injection", "manual"] - ["group:logrus", "Logger", False, "DebugFn", "", "", "Argument[0]", "log-injection", "manual"] - ["group:logrus", "Logger", False, "Debugf", "", "", "Argument[0..1]", "log-injection", "manual"] From 5a0cd2e7d674819e0073d483ba5c41576687a2a3 Mon Sep 17 00:00:00 2001 From: Owen Mansel-Chan Date: Thu, 12 Sep 2024 11:27:32 +0100 Subject: [PATCH 283/347] Add tests for squirrel.Eq --- .../library-tests/semmle/go/frameworks/SQL/squirrel.go | 8 +++++++- .../SQL/vendor/github.com/Masterminds/squirrel/stub.go | 8 +++++++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/go/ql/test/library-tests/semmle/go/frameworks/SQL/squirrel.go b/go/ql/test/library-tests/semmle/go/frameworks/SQL/squirrel.go index 3629b8087cbf..d0350643bb06 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/SQL/squirrel.go +++ b/go/ql/test/library-tests/semmle/go/frameworks/SQL/squirrel.go @@ -1,6 +1,6 @@ package main -//go:generate depstubber -vendor github.com/Masterminds/squirrel DeleteBuilder,InsertBuilder,SelectBuilder,UpdateBuilder Delete,Expr,Insert,Select,Update +//go:generate depstubber -vendor github.com/Masterminds/squirrel DeleteBuilder,Eq,InsertBuilder,SelectBuilder,UpdateBuilder Delete,Expr,Insert,Select,Update import ( "github.com/Masterminds/squirrel" @@ -44,4 +44,10 @@ func squirrelTest(querypart string) { updateBuilder.Where(querypart) // $ querystring=querypart updateBuilder.Set(querypart, "") // $ querystring=querypart updateBuilder.Table(querypart) // $ querystring=querypart + + // safe + wrapped := squirrel.Eq{"id": querypart} + deleteBuilder.Where(wrapped) + selectBuilder.Where(wrapped) + updateBuilder.Where(wrapped) } diff --git a/go/ql/test/library-tests/semmle/go/frameworks/SQL/vendor/github.com/Masterminds/squirrel/stub.go b/go/ql/test/library-tests/semmle/go/frameworks/SQL/vendor/github.com/Masterminds/squirrel/stub.go index 96a30e49d4ec..1a9e5ca0e9b9 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/SQL/vendor/github.com/Masterminds/squirrel/stub.go +++ b/go/ql/test/library-tests/semmle/go/frameworks/SQL/vendor/github.com/Masterminds/squirrel/stub.go @@ -2,7 +2,7 @@ // This is a simple stub for github.com/Masterminds/squirrel, strictly for use in testing. // See the LICENSE file for information about the licensing of the original library. -// Source: github.com/Masterminds/squirrel (exports: DeleteBuilder,InsertBuilder,SelectBuilder,UpdateBuilder; functions: Delete,Expr,Insert,Select,Update) +// Source: github.com/Masterminds/squirrel (exports: DeleteBuilder,Eq,InsertBuilder,SelectBuilder,UpdateBuilder; functions: Delete,Expr,Insert,Select,Update) // Package squirrel is a stub of github.com/Masterminds/squirrel, generated by depstubber. package squirrel @@ -99,6 +99,12 @@ func (_ DeleteBuilder) Where(_ interface{}, _ ...interface{}) DeleteBuilder { return DeleteBuilder{} } +type Eq map[string]interface{} + +func (_ Eq) ToSql() (string, []interface{}, error) { + return "", nil, nil +} + func Expr(_ string, _ ...interface{}) Sqlizer { return nil } From cc62db796c57cdb1623c5a87a4d762ac2286c549 Mon Sep 17 00:00:00 2001 From: Owen Mansel-Chan Date: Thu, 12 Sep 2024 11:28:02 +0100 Subject: [PATCH 284/347] Add tests for Xorm first argument of varargs slice --- .../semmle/go/frameworks/SQL/xorm.go | 117 +++++++++--------- 1 file changed, 61 insertions(+), 56 deletions(-) diff --git a/go/ql/test/library-tests/semmle/go/frameworks/SQL/xorm.go b/go/ql/test/library-tests/semmle/go/frameworks/SQL/xorm.go index 6b4dbb116eec..f63b33a0e09b 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/SQL/xorm.go +++ b/go/ql/test/library-tests/semmle/go/frameworks/SQL/xorm.go @@ -10,68 +10,73 @@ import ( func xormtest() { query := "UntrustedString" + arg := "arg" engine1 := xorm1.Engine{} - engine1.Query(query) // $ querystring=query - engine1.QueryString(query) // $ querystring=query - engine1.QueryInterface(query) // $ querystring=query - engine1.SQL(query) // $ querystring=query - engine1.Where(query) // $ querystring=query - engine1.Alias(query) // $ querystring=query - engine1.NotIn(query) // $ querystring=query - engine1.In(query) // $ querystring=query - engine1.Select(query) // $ querystring=query - engine1.SetExpr(query, nil) // $ querystring=query - engine1.OrderBy(query) // $ querystring=query - engine1.Having(query) // $ querystring=query - engine1.GroupBy(query) // $ querystring=query + engine1.Query(query, arg) // $ querystring=query + engine1.Exec(query, arg) // $ querystring=query + engine1.QueryString(query, arg) // $ querystring=query + engine1.QueryInterface(query, arg) // $ querystring=query + engine1.SQL(query) // $ querystring=query + engine1.Where(query) // $ querystring=query + engine1.Alias(query) // $ querystring=query + engine1.NotIn(query) // $ querystring=query + engine1.In(query) // $ querystring=query + engine1.Select(query) // $ querystring=query + engine1.SetExpr(query, nil) // $ querystring=query + engine1.OrderBy(query) // $ querystring=query + engine1.Having(query) // $ querystring=query + engine1.GroupBy(query) // $ querystring=query engine2 := xorm2.Engine{} - engine2.Query(query) // $ querystring=query - engine2.QueryString(query) // $ querystring=query - engine2.QueryInterface(query) // $ querystring=query - engine2.SQL(query) // $ querystring=query - engine2.Where(query) // $ querystring=query - engine2.Alias(query) // $ querystring=query - engine2.NotIn(query) // $ querystring=query - engine2.In(query) // $ querystring=query - engine2.Select(query) // $ querystring=query - engine2.SetExpr(query, nil) // $ querystring=query - engine2.OrderBy(query) // $ querystring=query - engine2.Having(query) // $ querystring=query - engine2.GroupBy(query) // $ querystring=query + engine2.Query(query, arg) // $ querystring=query + engine2.Exec(query, arg) // $ querystring=query + engine2.QueryString(query, arg) // $ querystring=query + engine2.QueryInterface(query, arg) // $ querystring=query + engine2.SQL(query) // $ querystring=query + engine2.Where(query) // $ querystring=query + engine2.Alias(query) // $ querystring=query + engine2.NotIn(query) // $ querystring=query + engine2.In(query) // $ querystring=query + engine2.Select(query) // $ querystring=query + engine2.SetExpr(query, nil) // $ querystring=query + engine2.OrderBy(query) // $ querystring=query + engine2.Having(query) // $ querystring=query + engine2.GroupBy(query) // $ querystring=query session1 := xorm1.Session{} - session1.Query(query) // $ querystring=query - session1.QueryString(query) // $ querystring=query - session1.QueryInterface(query) // $ querystring=query - session1.SQL(query) // $ querystring=query - session1.Where(query) // $ querystring=query - session1.Alias(query) // $ querystring=query - session1.NotIn(query) // $ querystring=query - session1.In(query) // $ querystring=query - session1.Select(query) // $ querystring=query - session1.SetExpr(query, nil) // $ querystring=query - session1.OrderBy(query) // $ querystring=query - session1.Having(query) // $ querystring=query - session1.GroupBy(query) // $ querystring=query - session1.And(query) // $ querystring=query - session1.Or(query) // $ querystring=query + session1.Query(query, arg) // $ querystring=query + session1.Exec(query, arg) // $ querystring=query + session1.QueryString(query, arg) // $ querystring=query + session1.QueryInterface(query, arg) // $ querystring=query + session1.SQL(query) // $ querystring=query + session1.Where(query) // $ querystring=query + session1.Alias(query) // $ querystring=query + session1.NotIn(query) // $ querystring=query + session1.In(query) // $ querystring=query + session1.Select(query) // $ querystring=query + session1.SetExpr(query, nil) // $ querystring=query + session1.OrderBy(query) // $ querystring=query + session1.Having(query) // $ querystring=query + session1.GroupBy(query) // $ querystring=query + session1.And(query) // $ querystring=query + session1.Or(query) // $ querystring=query session2 := xorm2.Session{} - session2.Query(query) // $ querystring=query - session2.QueryString(query) // $ querystring=query - session2.QueryInterface(query) // $ querystring=query - session2.SQL(query) // $ querystring=query - session2.Where(query) // $ querystring=query - session2.Alias(query) // $ querystring=query - session2.NotIn(query) // $ querystring=query - session2.In(query) // $ querystring=query - session2.Select(query) // $ querystring=query - session2.SetExpr(query, nil) // $ querystring=query - session2.OrderBy(query) // $ querystring=query - session2.Having(query) // $ querystring=query - session2.GroupBy(query) // $ querystring=query - session2.And(query) // $ querystring=query - session2.Or(query) // $ querystring=query + session2.Query(query, arg) // $ querystring=query + session2.Exec(query, arg) // $ querystring=query + session2.QueryString(query, arg) // $ querystring=query + session2.QueryInterface(query, arg) // $ querystring=query + session2.SQL(query) // $ querystring=query + session2.Where(query) // $ querystring=query + session2.Alias(query) // $ querystring=query + session2.NotIn(query) // $ querystring=query + session2.In(query) // $ querystring=query + session2.Select(query) // $ querystring=query + session2.SetExpr(query, nil) // $ querystring=query + session2.OrderBy(query) // $ querystring=query + session2.Having(query) // $ querystring=query + session2.GroupBy(query) // $ querystring=query + session2.And(query) // $ querystring=query + session2.Or(query) // $ querystring=query } From 791313fbdffc3dd31d99df32404e9a1ffc6230e1 Mon Sep 17 00:00:00 2001 From: Owen Mansel-Chan Date: Thu, 12 Sep 2024 11:29:01 +0100 Subject: [PATCH 285/347] Add tests for logrus.FieldLogger --- .../Security/CWE-117/LogInjection.go | 36 ++++++++++++++++++- .../vendor/github.com/sirupsen/logrus/stub.go | 32 ++++++++++++++++- 2 files changed, 66 insertions(+), 2 deletions(-) diff --git a/go/ql/test/query-tests/Security/CWE-117/LogInjection.go b/go/ql/test/query-tests/Security/CWE-117/LogInjection.go index 4f02cc9aef83..81568be3db8a 100644 --- a/go/ql/test/query-tests/Security/CWE-117/LogInjection.go +++ b/go/ql/test/query-tests/Security/CWE-117/LogInjection.go @@ -7,7 +7,7 @@ package main //go:generate depstubber -vendor github.com/davecgh/go-spew/spew "" Dump,Errorf,Print,Printf,Println,Fdump,Fprint,Fprintf,Fprintln //go:generate depstubber -vendor github.com/elazarl/goproxy ProxyCtx "" //go:generate depstubber -vendor github.com/golang/glog Level,Verbose Info,InfoDepth,Infof,Infoln,Error,ErrorDepth,Errorf,Errorln,Fatal,FatalDepth,Fatalf,Fatalln,Exit,ExitDepth,Exitf,Exitln,V -//go:generate depstubber -vendor github.com/sirupsen/logrus Fields,Entry,Logger,Level Debug,Debugf,Debugln,Error,Errorf,Errorln,Fatal,Fatalf,Fatalln,Info,Infof,Infoln,Panic,Panicf,Panicln,Print,Printf,Println,Trace,Tracef,Traceln,Warn,Warnf,Warnln,Warning,Warningf,Warningln,WithFields,WithField +//go:generate depstubber -vendor github.com/sirupsen/logrus FieldLogger,Fields,Entry,Logger,Level Debug,Debugf,Debugln,Error,Errorf,Errorln,Fatal,Fatalf,Fatalln,Info,Infof,Infoln,Panic,Panicf,Panicln,Print,Printf,Println,Trace,Tracef,Traceln,Warn,Warnf,Warnln,Warning,Warningf,Warningln,WithFields,WithField //go:generate depstubber -vendor go.uber.org/zap Logger,SugaredLogger NewProduction import ( @@ -293,6 +293,40 @@ func handler(req *http.Request, ctx *goproxy.ProxyCtx) { logger.Warningf(username, "") // $ hasTaintFlow="username" logger.Warningf("", username) // $ hasTaintFlow="username" logger.Warningln(username) // $ hasTaintFlow="username" + + var fieldlogger logrus.FieldLogger = entry + fieldlogger.Debug(username) // $ hasTaintFlow="username" + fieldlogger.Debugf(username, "") // $ hasTaintFlow="username" + fieldlogger.Debugf("", username) // $ hasTaintFlow="username" + fieldlogger.Debugln(username) // $ hasTaintFlow="username" + fieldlogger.Error(username) // $ hasTaintFlow="username" + fieldlogger.Errorf(username, "") // $ hasTaintFlow="username" + fieldlogger.Errorf("", username) // $ hasTaintFlow="username" + fieldlogger.Errorln(username) // $ hasTaintFlow="username" + fieldlogger.Fatal(username) // $ hasTaintFlow="username" + fieldlogger.Fatalf(username, "") // $ hasTaintFlow="username" + fieldlogger.Fatalf("", username) // $ hasTaintFlow="username" + fieldlogger.Fatalln(username) // $ hasTaintFlow="username" + fieldlogger.Info(username) // $ hasTaintFlow="username" + fieldlogger.Infof(username, "") // $ hasTaintFlow="username" + fieldlogger.Infof("", username) // $ hasTaintFlow="username" + fieldlogger.Infoln(username) // $ hasTaintFlow="username" + fieldlogger.Panic(username) // $ hasTaintFlow="username" + fieldlogger.Panicf(username, "") // $ hasTaintFlow="username" + fieldlogger.Panicf("", username) // $ hasTaintFlow="username" + fieldlogger.Panicln(username) // $ hasTaintFlow="username" + fieldlogger.Print(username) // $ hasTaintFlow="username" + fieldlogger.Printf(username, "") // $ hasTaintFlow="username" + fieldlogger.Printf("", username) // $ hasTaintFlow="username" + fieldlogger.Println(username) // $ hasTaintFlow="username" + fieldlogger.Warn(username) // $ hasTaintFlow="username" + fieldlogger.Warnf(username, "") // $ hasTaintFlow="username" + fieldlogger.Warnf("", username) // $ hasTaintFlow="username" + fieldlogger.Warnln(username) // $ hasTaintFlow="username" + fieldlogger.Warning(username) // $ hasTaintFlow="username" + fieldlogger.Warningf(username, "") // $ hasTaintFlow="username" + fieldlogger.Warningf("", username) // $ hasTaintFlow="username" + fieldlogger.Warningln(username) // $ hasTaintFlow="username" } // davecgh/go-spew/spew { diff --git a/go/ql/test/query-tests/Security/CWE-117/vendor/github.com/sirupsen/logrus/stub.go b/go/ql/test/query-tests/Security/CWE-117/vendor/github.com/sirupsen/logrus/stub.go index e8f7bccc4465..61294748ea46 100644 --- a/go/ql/test/query-tests/Security/CWE-117/vendor/github.com/sirupsen/logrus/stub.go +++ b/go/ql/test/query-tests/Security/CWE-117/vendor/github.com/sirupsen/logrus/stub.go @@ -2,7 +2,7 @@ // This is a simple stub for github.com/sirupsen/logrus, strictly for use in testing. // See the LICENSE file for information about the licensing of the original library. -// Source: github.com/sirupsen/logrus (exports: Fields,Entry,Logger,Level; functions: Debug,Debugf,Debugln,Error,Errorf,Errorln,Fatal,Fatalf,Fatalln,Info,Infof,Infoln,Panic,Panicf,Panicln,Print,Printf,Println,Trace,Tracef,Traceln,Warn,Warnf,Warnln,Warning,Warningf,Warningln,WithFields,WithField) +// Source: github.com/sirupsen/logrus (exports: FieldLogger,Fields,Entry,Logger,Level; functions: Debug,Debugf,Debugln,Error,Errorf,Errorln,Fatal,Fatalf,Fatalln,Info,Infof,Infoln,Panic,Panicf,Panicln,Print,Printf,Println,Trace,Tracef,Traceln,Warn,Warnf,Warnln,Warning,Warningf,Warningln,WithFields,WithField) // Package logrus is a stub of github.com/sirupsen/logrus, generated by depstubber. package logrus @@ -148,6 +148,36 @@ func Fatalf(_ string, _ ...interface{}) {} func Fatalln(_ ...interface{}) {} +type FieldLogger interface { + Debug(_ ...interface{}) + Debugf(_ string, _ ...interface{}) + Debugln(_ ...interface{}) + Error(_ ...interface{}) + Errorf(_ string, _ ...interface{}) + Errorln(_ ...interface{}) + Fatal(_ ...interface{}) + Fatalf(_ string, _ ...interface{}) + Fatalln(_ ...interface{}) + Info(_ ...interface{}) + Infof(_ string, _ ...interface{}) + Infoln(_ ...interface{}) + Panic(_ ...interface{}) + Panicf(_ string, _ ...interface{}) + Panicln(_ ...interface{}) + Print(_ ...interface{}) + Printf(_ string, _ ...interface{}) + Println(_ ...interface{}) + Warn(_ ...interface{}) + Warnf(_ string, _ ...interface{}) + Warning(_ ...interface{}) + Warningf(_ string, _ ...interface{}) + Warningln(_ ...interface{}) + Warnln(_ ...interface{}) + WithError(_ error) *Entry + WithField(_ string, _ interface{}) *Entry + WithFields(_ Fields) *Entry +} + type Fields map[string]interface{} type Formatter interface { From bc784268fdeeb823dbbd4636828a43a20b1244d0 Mon Sep 17 00:00:00 2001 From: Owen Mansel-Chan Date: Tue, 17 Sep 2024 11:04:23 +0100 Subject: [PATCH 286/347] Make Logrus log injection tests more comprehensive --- .../Security/CWE-117/LogInjection.go | 325 +++++++++--------- .../vendor/github.com/sirupsen/logrus/stub.go | 14 +- 2 files changed, 184 insertions(+), 155 deletions(-) diff --git a/go/ql/test/query-tests/Security/CWE-117/LogInjection.go b/go/ql/test/query-tests/Security/CWE-117/LogInjection.go index 81568be3db8a..5cc9c81d4495 100644 --- a/go/ql/test/query-tests/Security/CWE-117/LogInjection.go +++ b/go/ql/test/query-tests/Security/CWE-117/LogInjection.go @@ -7,7 +7,7 @@ package main //go:generate depstubber -vendor github.com/davecgh/go-spew/spew "" Dump,Errorf,Print,Printf,Println,Fdump,Fprint,Fprintf,Fprintln //go:generate depstubber -vendor github.com/elazarl/goproxy ProxyCtx "" //go:generate depstubber -vendor github.com/golang/glog Level,Verbose Info,InfoDepth,Infof,Infoln,Error,ErrorDepth,Errorf,Errorln,Fatal,FatalDepth,Fatalf,Fatalln,Exit,ExitDepth,Exitf,Exitln,V -//go:generate depstubber -vendor github.com/sirupsen/logrus FieldLogger,Fields,Entry,Logger,Level Debug,Debugf,Debugln,Error,Errorf,Errorln,Fatal,Fatalf,Fatalln,Info,Infof,Infoln,Panic,Panicf,Panicln,Print,Printf,Println,Trace,Tracef,Traceln,Warn,Warnf,Warnln,Warning,Warningf,Warningln,WithFields,WithField +//go:generate depstubber -vendor github.com/sirupsen/logrus FieldLogger,Fields,Entry,Logger,Level Debug,Debugf,Debugln,Error,Errorf,Errorln,Fatal,Fatalf,Fatalln,Info,Infof,Infoln,New,NewEntry,Panic,Panicf,Panicln,Print,Printf,Println,Trace,Tracef,Traceln,Warn,Warnf,Warnln,Warning,Warningf,Warningln,WithError,WithFields,WithField //go:generate depstubber -vendor go.uber.org/zap Logger,SugaredLogger NewProduction import ( @@ -170,163 +170,180 @@ func handler(req *http.Request, ctx *goproxy.ProxyCtx) { } // sirupsen/logrus { - logrus.Debug(username) // $ hasTaintFlow="username" - logrus.Debugf(username, "") // $ hasTaintFlow="username" - logrus.Debugf("", username) // $ hasTaintFlow="username" - logrus.Debugln(username) // $ hasTaintFlow="username" - logrus.Error(username) // $ hasTaintFlow="username" - logrus.Errorf(username, "") // $ hasTaintFlow="username" - logrus.Errorf("", username) // $ hasTaintFlow="username" - logrus.Errorln(username) // $ hasTaintFlow="username" - logrus.Fatal(username) // $ hasTaintFlow="username" - logrus.Fatalf(username, "") // $ hasTaintFlow="username" - logrus.Fatalf("", username) // $ hasTaintFlow="username" - logrus.Fatalln(username) // $ hasTaintFlow="username" - logrus.Info(username) // $ hasTaintFlow="username" - logrus.Infof(username, "") // $ hasTaintFlow="username" - logrus.Infof("", username) // $ hasTaintFlow="username" - logrus.Infoln(username) // $ hasTaintFlow="username" - logrus.Panic(username) // $ hasTaintFlow="username" - logrus.Panicf(username, "") // $ hasTaintFlow="username" - logrus.Panicf("", username) // $ hasTaintFlow="username" - logrus.Panicln(username) // $ hasTaintFlow="username" - logrus.Print(username) // $ hasTaintFlow="username" - logrus.Printf(username, "") // $ hasTaintFlow="username" - logrus.Printf("", username) // $ hasTaintFlow="username" - logrus.Println(username) // $ hasTaintFlow="username" - logrus.Trace(username) // $ hasTaintFlow="username" - logrus.Tracef(username, "") // $ hasTaintFlow="username" - logrus.Tracef("", username) // $ hasTaintFlow="username" - logrus.Traceln(username) // $ hasTaintFlow="username" - logrus.Warn(username) // $ hasTaintFlow="username" - logrus.Warnf(username, "") // $ hasTaintFlow="username" - logrus.Warnf("", username) // $ hasTaintFlow="username" - logrus.Warnln(username) // $ hasTaintFlow="username" - logrus.Warning(username) // $ hasTaintFlow="username" - logrus.Warningf(username, "") // $ hasTaintFlow="username" - logrus.Warningf("", username) // $ hasTaintFlow="username" - logrus.Warningln(username) // $ hasTaintFlow="username" - + err := fmt.Errorf("error: %s", username) fields := make(logrus.Fields) fields["username"] = username - entry := logrus.WithFields(fields) // $ hasTaintFlow="fields" - entry = logrus.WithField("username", username) // $ hasTaintFlow="username" - entry.Debug(username) // $ hasTaintFlow="username" - entry.Debugf(username, "") // $ hasTaintFlow="username" - entry.Debugf("", username) // $ hasTaintFlow="username" - entry.Debugln(username) // $ hasTaintFlow="username" - entry.Error(username) // $ hasTaintFlow="username" - entry.Errorf(username, "") // $ hasTaintFlow="username" - entry.Errorf("", username) // $ hasTaintFlow="username" - entry.Errorln(username) // $ hasTaintFlow="username" - entry.Fatal(username) // $ hasTaintFlow="username" - entry.Fatalf(username, "") // $ hasTaintFlow="username" - entry.Fatalf("", username) // $ hasTaintFlow="username" - entry.Fatalln(username) // $ hasTaintFlow="username" - entry.Info(username) // $ hasTaintFlow="username" - entry.Infof(username, "") // $ hasTaintFlow="username" - entry.Infof("", username) // $ hasTaintFlow="username" - entry.Infoln(username) // $ hasTaintFlow="username" - entry.Log(0, username) // $ hasTaintFlow="username" - entry.Logf(0, username, "") // $ hasTaintFlow="username" - entry.Logf(0, "", username) // $ hasTaintFlow="username" - entry.Logln(0, username) // $ hasTaintFlow="username" - entry.Panic(username) // $ hasTaintFlow="username" - entry.Panicf(username, "") // $ hasTaintFlow="username" - entry.Panicf("", username) // $ hasTaintFlow="username" - entry.Panicln(username) // $ hasTaintFlow="username" - entry.Print(username) // $ hasTaintFlow="username" - entry.Printf(username, "") // $ hasTaintFlow="username" - entry.Printf("", username) // $ hasTaintFlow="username" - entry.Println(username) // $ hasTaintFlow="username" - entry.Trace(username) // $ hasTaintFlow="username" - entry.Tracef(username, "") // $ hasTaintFlow="username" - entry.Tracef("", username) // $ hasTaintFlow="username" - entry.Traceln(username) // $ hasTaintFlow="username" - entry.Warn(username) // $ hasTaintFlow="username" - entry.Warnf(username, "") // $ hasTaintFlow="username" - entry.Warnf("", username) // $ hasTaintFlow="username" - entry.Warnln(username) // $ hasTaintFlow="username" - entry.Warning(username) // $ hasTaintFlow="username" - entry.Warningf(username, "") // $ hasTaintFlow="username" - entry.Warningf("", username) // $ hasTaintFlow="username" - entry.Warningln(username) // $ hasTaintFlow="username" - - logger := entry.Logger - logger.Debug(username) // $ hasTaintFlow="username" - logger.Debugf(username, "") // $ hasTaintFlow="username" - logger.Debugf("", username) // $ hasTaintFlow="username" - logger.Debugln(username) // $ hasTaintFlow="username" - logger.Error(username) // $ hasTaintFlow="username" - logger.Errorf(username, "") // $ hasTaintFlow="username" - logger.Errorf("", username) // $ hasTaintFlow="username" - logger.Errorln(username) // $ hasTaintFlow="username" - logger.Fatal(username) // $ hasTaintFlow="username" - logger.Fatalf(username, "") // $ hasTaintFlow="username" - logger.Fatalf("", username) // $ hasTaintFlow="username" - logger.Fatalln(username) // $ hasTaintFlow="username" - logger.Info(username) // $ hasTaintFlow="username" - logger.Infof(username, "") // $ hasTaintFlow="username" - logger.Infof("", username) // $ hasTaintFlow="username" - logger.Infoln(username) // $ hasTaintFlow="username" - logger.Log(0, username) // $ hasTaintFlow="username" - logger.Logf(0, username, "") // $ hasTaintFlow="username" - logger.Logf(0, "", username) // $ hasTaintFlow="username" - logger.Logln(0, username) // $ hasTaintFlow="username" - logger.Panic(username) // $ hasTaintFlow="username" - logger.Panicf(username, "") // $ hasTaintFlow="username" - logger.Panicf("", username) // $ hasTaintFlow="username" - logger.Panicln(username) // $ hasTaintFlow="username" - logger.Print(username) // $ hasTaintFlow="username" - logger.Printf(username, "") // $ hasTaintFlow="username" - logger.Printf("", username) // $ hasTaintFlow="username" - logger.Println(username) // $ hasTaintFlow="username" - logger.Trace(username) // $ hasTaintFlow="username" - logger.Tracef(username, "") // $ hasTaintFlow="username" - logger.Tracef("", username) // $ hasTaintFlow="username" - logger.Traceln(username) // $ hasTaintFlow="username" - logger.Warn(username) // $ hasTaintFlow="username" - logger.Warnf(username, "") // $ hasTaintFlow="username" - logger.Warnf("", username) // $ hasTaintFlow="username" - logger.Warnln(username) // $ hasTaintFlow="username" - logger.Warning(username) // $ hasTaintFlow="username" - logger.Warningf(username, "") // $ hasTaintFlow="username" - logger.Warningf("", username) // $ hasTaintFlow="username" - logger.Warningln(username) // $ hasTaintFlow="username" + logger := logrus.New() + entry := logrus.NewEntry(logger) + + logrus.Debug(username) // $ hasTaintFlow="username" + logrus.Debugf(username, "") // $ hasTaintFlow="username" + logrus.Debugf("", username) // $ hasTaintFlow="username" + logrus.Debugln(username) // $ hasTaintFlow="username" + logrus.Error(username) // $ hasTaintFlow="username" + logrus.Errorf(username, "") // $ hasTaintFlow="username" + logrus.Errorf("", username) // $ hasTaintFlow="username" + logrus.Errorln(username) // $ hasTaintFlow="username" + logrus.Fatal(username) // $ hasTaintFlow="username" + logrus.Fatalf(username, "") // $ hasTaintFlow="username" + logrus.Fatalf("", username) // $ hasTaintFlow="username" + logrus.Fatalln(username) // $ hasTaintFlow="username" + logrus.Info(username) // $ hasTaintFlow="username" + logrus.Infof(username, "") // $ hasTaintFlow="username" + logrus.Infof("", username) // $ hasTaintFlow="username" + logrus.Infoln(username) // $ hasTaintFlow="username" + logrus.Panic(username) // $ hasTaintFlow="username" + logrus.Panicf(username, "") // $ hasTaintFlow="username" + logrus.Panicf("", username) // $ hasTaintFlow="username" + logrus.Panicln(username) // $ hasTaintFlow="username" + logrus.Print(username) // $ hasTaintFlow="username" + logrus.Printf(username, "") // $ hasTaintFlow="username" + logrus.Printf("", username) // $ hasTaintFlow="username" + logrus.Println(username) // $ hasTaintFlow="username" + logrus.Trace(username) // $ hasTaintFlow="username" + logrus.Tracef(username, "") // $ hasTaintFlow="username" + logrus.Tracef("", username) // $ hasTaintFlow="username" + logrus.Traceln(username) // $ hasTaintFlow="username" + logrus.Warn(username) // $ hasTaintFlow="username" + logrus.Warnf(username, "") // $ hasTaintFlow="username" + logrus.Warnf("", username) // $ hasTaintFlow="username" + logrus.Warnln(username) // $ hasTaintFlow="username" + logrus.Warning(username) // $ hasTaintFlow="username" + logrus.Warningf(username, "") // $ hasTaintFlow="username" + logrus.Warningf("", username) // $ hasTaintFlow="username" + logrus.Warningln(username) // $ hasTaintFlow="username" + logrus.WithError(err) // $ hasTaintFlow="err" + logrus.WithField(username, "") // $ hasTaintFlow="username" + logrus.WithField("", username) // $ hasTaintFlow="username" + logrus.WithFields(fields) // $ hasTaintFlow="fields" + + entry.Debug(username) // $ hasTaintFlow="username" + entry.Debugf(username, "") // $ hasTaintFlow="username" + entry.Debugf("", username) // $ hasTaintFlow="username" + entry.Debugln(username) // $ hasTaintFlow="username" + entry.Error(username) // $ hasTaintFlow="username" + entry.Errorf(username, "") // $ hasTaintFlow="username" + entry.Errorf("", username) // $ hasTaintFlow="username" + entry.Errorln(username) // $ hasTaintFlow="username" + entry.Fatal(username) // $ hasTaintFlow="username" + entry.Fatalf(username, "") // $ hasTaintFlow="username" + entry.Fatalf("", username) // $ hasTaintFlow="username" + entry.Fatalln(username) // $ hasTaintFlow="username" + entry.Info(username) // $ hasTaintFlow="username" + entry.Infof(username, "") // $ hasTaintFlow="username" + entry.Infof("", username) // $ hasTaintFlow="username" + entry.Infoln(username) // $ hasTaintFlow="username" + entry.Log(0, username) // $ hasTaintFlow="username" + entry.Logf(0, username, "") // $ hasTaintFlow="username" + entry.Logf(0, "", username) // $ hasTaintFlow="username" + entry.Logln(0, username) // $ hasTaintFlow="username" + entry.Panic(username) // $ hasTaintFlow="username" + entry.Panicf(username, "") // $ hasTaintFlow="username" + entry.Panicf("", username) // $ hasTaintFlow="username" + entry.Panicln(username) // $ hasTaintFlow="username" + entry.Print(username) // $ hasTaintFlow="username" + entry.Printf(username, "") // $ hasTaintFlow="username" + entry.Printf("", username) // $ hasTaintFlow="username" + entry.Println(username) // $ hasTaintFlow="username" + entry.Trace(username) // $ hasTaintFlow="username" + entry.Tracef(username, "") // $ hasTaintFlow="username" + entry.Tracef("", username) // $ hasTaintFlow="username" + entry.Traceln(username) // $ hasTaintFlow="username" + entry.Warn(username) // $ hasTaintFlow="username" + entry.Warnf(username, "") // $ hasTaintFlow="username" + entry.Warnf("", username) // $ hasTaintFlow="username" + entry.Warnln(username) // $ hasTaintFlow="username" + entry.Warning(username) // $ hasTaintFlow="username" + entry.Warningf(username, "") // $ hasTaintFlow="username" + entry.Warningf("", username) // $ hasTaintFlow="username" + entry.Warningln(username) // $ hasTaintFlow="username" + entry.WithError(err) // $ hasTaintFlow="err" + entry.WithField(username, "") // $ hasTaintFlow="username" + entry.WithField("", username) // $ hasTaintFlow="username" + entry.WithFields(fields) // $ hasTaintFlow="fields" + + logger.Debug(username) // $ hasTaintFlow="username" + logger.Debugf(username, "") // $ hasTaintFlow="username" + logger.Debugf("", username) // $ hasTaintFlow="username" + logger.Debugln(username) // $ hasTaintFlow="username" + logger.Error(username) // $ hasTaintFlow="username" + logger.Errorf(username, "") // $ hasTaintFlow="username" + logger.Errorf("", username) // $ hasTaintFlow="username" + logger.Errorln(username) // $ hasTaintFlow="username" + logger.Fatal(username) // $ hasTaintFlow="username" + logger.Fatalf(username, "") // $ hasTaintFlow="username" + logger.Fatalf("", username) // $ hasTaintFlow="username" + logger.Fatalln(username) // $ hasTaintFlow="username" + logger.Info(username) // $ hasTaintFlow="username" + logger.Infof(username, "") // $ hasTaintFlow="username" + logger.Infof("", username) // $ hasTaintFlow="username" + logger.Infoln(username) // $ hasTaintFlow="username" + logger.Log(0, username) // $ hasTaintFlow="username" + logger.Logf(0, username, "") // $ hasTaintFlow="username" + logger.Logf(0, "", username) // $ hasTaintFlow="username" + logger.Logln(0, username) // $ hasTaintFlow="username" + logger.Panic(username) // $ hasTaintFlow="username" + logger.Panicf(username, "") // $ hasTaintFlow="username" + logger.Panicf("", username) // $ hasTaintFlow="username" + logger.Panicln(username) // $ hasTaintFlow="username" + logger.Print(username) // $ hasTaintFlow="username" + logger.Printf(username, "") // $ hasTaintFlow="username" + logger.Printf("", username) // $ hasTaintFlow="username" + logger.Println(username) // $ hasTaintFlow="username" + logger.Trace(username) // $ hasTaintFlow="username" + logger.Tracef(username, "") // $ hasTaintFlow="username" + logger.Tracef("", username) // $ hasTaintFlow="username" + logger.Traceln(username) // $ hasTaintFlow="username" + logger.Warn(username) // $ hasTaintFlow="username" + logger.Warnf(username, "") // $ hasTaintFlow="username" + logger.Warnf("", username) // $ hasTaintFlow="username" + logger.Warnln(username) // $ hasTaintFlow="username" + logger.Warning(username) // $ hasTaintFlow="username" + logger.Warningf(username, "") // $ hasTaintFlow="username" + logger.Warningf("", username) // $ hasTaintFlow="username" + logger.Warningln(username) // $ hasTaintFlow="username" + logger.WithError(err) // $ hasTaintFlow="err" + logger.WithField(username, "") // $ hasTaintFlow="username" + logger.WithField("", username) // $ hasTaintFlow="username" + logger.WithFields(fields) // $ hasTaintFlow="fields" var fieldlogger logrus.FieldLogger = entry - fieldlogger.Debug(username) // $ hasTaintFlow="username" - fieldlogger.Debugf(username, "") // $ hasTaintFlow="username" - fieldlogger.Debugf("", username) // $ hasTaintFlow="username" - fieldlogger.Debugln(username) // $ hasTaintFlow="username" - fieldlogger.Error(username) // $ hasTaintFlow="username" - fieldlogger.Errorf(username, "") // $ hasTaintFlow="username" - fieldlogger.Errorf("", username) // $ hasTaintFlow="username" - fieldlogger.Errorln(username) // $ hasTaintFlow="username" - fieldlogger.Fatal(username) // $ hasTaintFlow="username" - fieldlogger.Fatalf(username, "") // $ hasTaintFlow="username" - fieldlogger.Fatalf("", username) // $ hasTaintFlow="username" - fieldlogger.Fatalln(username) // $ hasTaintFlow="username" - fieldlogger.Info(username) // $ hasTaintFlow="username" - fieldlogger.Infof(username, "") // $ hasTaintFlow="username" - fieldlogger.Infof("", username) // $ hasTaintFlow="username" - fieldlogger.Infoln(username) // $ hasTaintFlow="username" - fieldlogger.Panic(username) // $ hasTaintFlow="username" - fieldlogger.Panicf(username, "") // $ hasTaintFlow="username" - fieldlogger.Panicf("", username) // $ hasTaintFlow="username" - fieldlogger.Panicln(username) // $ hasTaintFlow="username" - fieldlogger.Print(username) // $ hasTaintFlow="username" - fieldlogger.Printf(username, "") // $ hasTaintFlow="username" - fieldlogger.Printf("", username) // $ hasTaintFlow="username" - fieldlogger.Println(username) // $ hasTaintFlow="username" - fieldlogger.Warn(username) // $ hasTaintFlow="username" - fieldlogger.Warnf(username, "") // $ hasTaintFlow="username" - fieldlogger.Warnf("", username) // $ hasTaintFlow="username" - fieldlogger.Warnln(username) // $ hasTaintFlow="username" - fieldlogger.Warning(username) // $ hasTaintFlow="username" - fieldlogger.Warningf(username, "") // $ hasTaintFlow="username" - fieldlogger.Warningf("", username) // $ hasTaintFlow="username" - fieldlogger.Warningln(username) // $ hasTaintFlow="username" + fieldlogger.Debug(username) // $ hasTaintFlow="username" + fieldlogger.Debugf(username, "") // $ hasTaintFlow="username" + fieldlogger.Debugf("", username) // $ hasTaintFlow="username" + fieldlogger.Debugln(username) // $ hasTaintFlow="username" + fieldlogger.Error(username) // $ hasTaintFlow="username" + fieldlogger.Errorf(username, "") // $ hasTaintFlow="username" + fieldlogger.Errorf("", username) // $ hasTaintFlow="username" + fieldlogger.Errorln(username) // $ hasTaintFlow="username" + fieldlogger.Fatal(username) // $ hasTaintFlow="username" + fieldlogger.Fatalf(username, "") // $ hasTaintFlow="username" + fieldlogger.Fatalf("", username) // $ hasTaintFlow="username" + fieldlogger.Fatalln(username) // $ hasTaintFlow="username" + fieldlogger.Info(username) // $ hasTaintFlow="username" + fieldlogger.Infof(username, "") // $ hasTaintFlow="username" + fieldlogger.Infof("", username) // $ hasTaintFlow="username" + fieldlogger.Infoln(username) // $ hasTaintFlow="username" + fieldlogger.Panic(username) // $ hasTaintFlow="username" + fieldlogger.Panicf(username, "") // $ hasTaintFlow="username" + fieldlogger.Panicf("", username) // $ hasTaintFlow="username" + fieldlogger.Panicln(username) // $ hasTaintFlow="username" + fieldlogger.Print(username) // $ hasTaintFlow="username" + fieldlogger.Printf(username, "") // $ hasTaintFlow="username" + fieldlogger.Printf("", username) // $ hasTaintFlow="username" + fieldlogger.Println(username) // $ hasTaintFlow="username" + fieldlogger.Warn(username) // $ hasTaintFlow="username" + fieldlogger.Warnf(username, "") // $ hasTaintFlow="username" + fieldlogger.Warnf("", username) // $ hasTaintFlow="username" + fieldlogger.Warnln(username) // $ hasTaintFlow="username" + fieldlogger.Warning(username) // $ hasTaintFlow="username" + fieldlogger.Warningf(username, "") // $ hasTaintFlow="username" + fieldlogger.Warningf("", username) // $ hasTaintFlow="username" + fieldlogger.Warningln(username) // $ hasTaintFlow="username" + fieldlogger.WithError(err) // $ hasTaintFlow="err" + fieldlogger.WithField(username, "") // $ hasTaintFlow="username" + fieldlogger.WithField("", username) // $ hasTaintFlow="username" + fieldlogger.WithFields(fields) // $ hasTaintFlow="fields" } // davecgh/go-spew/spew { diff --git a/go/ql/test/query-tests/Security/CWE-117/vendor/github.com/sirupsen/logrus/stub.go b/go/ql/test/query-tests/Security/CWE-117/vendor/github.com/sirupsen/logrus/stub.go index 61294748ea46..497d85559bb2 100644 --- a/go/ql/test/query-tests/Security/CWE-117/vendor/github.com/sirupsen/logrus/stub.go +++ b/go/ql/test/query-tests/Security/CWE-117/vendor/github.com/sirupsen/logrus/stub.go @@ -2,7 +2,7 @@ // This is a simple stub for github.com/sirupsen/logrus, strictly for use in testing. // See the LICENSE file for information about the licensing of the original library. -// Source: github.com/sirupsen/logrus (exports: FieldLogger,Fields,Entry,Logger,Level; functions: Debug,Debugf,Debugln,Error,Errorf,Errorln,Fatal,Fatalf,Fatalln,Info,Infof,Infoln,Panic,Panicf,Panicln,Print,Printf,Println,Trace,Tracef,Traceln,Warn,Warnf,Warnln,Warning,Warningf,Warningln,WithFields,WithField) +// Source: github.com/sirupsen/logrus (exports: FieldLogger,Fields,Entry,Logger,Level; functions: Debug,Debugf,Debugln,Error,Errorf,Errorln,Fatal,Fatalf,Fatalln,Info,Infof,Infoln,New,NewEntry,Panic,Panicf,Panicln,Print,Printf,Println,Trace,Tracef,Traceln,Warn,Warnf,Warnln,Warning,Warningf,Warningln,WithError,WithFields,WithField) // Package logrus is a stub of github.com/sirupsen/logrus, generated by depstubber. package logrus @@ -362,6 +362,14 @@ func (_ *Logger) WriterLevel(_ Level) *io.PipeWriter { return nil } +func New() *Logger { + return nil +} + +func NewEntry(_ *Logger) *Entry { + return nil +} + func Panic(_ ...interface{}) {} func Panicf(_ string, _ ...interface{}) {} @@ -392,6 +400,10 @@ func Warningln(_ ...interface{}) {} func Warnln(_ ...interface{}) {} +func WithError(_ error) *Entry { + return nil +} + func WithField(_ string, _ interface{}) *Entry { return nil } From 23bfa8a9bcbb459d6d23743f61b53b5d01aff23c Mon Sep 17 00:00:00 2001 From: Simon Friis Vindum Date: Tue, 19 Nov 2024 12:19:47 +0100 Subject: [PATCH 287/347] Rust: Add local data flow edge for SSA definitons --- .../rust/dataflow/internal/DataFlowImpl.qll | 15 +++++++++-- .../dataflow/local/DataFlowStep.expected | 25 +++++++++++++++++++ .../dataflow/local/inline-flow.expected | 16 ++++++++++++ .../test/library-tests/dataflow/local/main.rs | 8 +++--- 4 files changed, 58 insertions(+), 6 deletions(-) diff --git a/rust/ql/lib/codeql/rust/dataflow/internal/DataFlowImpl.qll b/rust/ql/lib/codeql/rust/dataflow/internal/DataFlowImpl.qll index def578053733..d44002139363 100644 --- a/rust/ql/lib/codeql/rust/dataflow/internal/DataFlowImpl.qll +++ b/rust/ql/lib/codeql/rust/dataflow/internal/DataFlowImpl.qll @@ -145,7 +145,7 @@ module Node { PatNode() { this = TPatNode(n) } - /** Gets the Pat in the AST that this node corresponds to. */ + /** Gets the `Pat` in the AST that this node corresponds to. */ Pat getPat() { result = n.getPat() } } @@ -282,6 +282,10 @@ module LocalFlow { nodeFrom.getCfgNode().getAstNode() = s.getInitializer() and nodeTo.getCfgNode().getAstNode() = s.getPat() ) + or + // An edge from a pattern to its corresponding SSA definition. + nodeFrom.(Node::PatNode).getPat() = + nodeTo.(Node::SsaNode).getDefinitionExt().getSourceVariable().getPat() } } @@ -395,7 +399,14 @@ module RustDataFlow implements InputSig { * Holds if there is a simple local flow step from `node1` to `node2`. These * are the value-preserving intra-callable flow steps. */ - predicate simpleLocalFlowStep(Node nodeFrom, Node nodeTo, string model) { none() } + predicate simpleLocalFlowStep(Node nodeFrom, Node nodeTo, string model) { + ( + LocalFlow::localFlowStepCommon(nodeFrom, nodeTo) + or + SsaFlow::localFlowStep(_, nodeFrom, nodeTo, _) + ) and + model = "" + } /** * Holds if data can flow from `node1` to `node2` through a non-local step diff --git a/rust/ql/test/library-tests/dataflow/local/DataFlowStep.expected b/rust/ql/test/library-tests/dataflow/local/DataFlowStep.expected index 7803c981855b..b8a6f6b6201a 100644 --- a/rust/ql/test/library-tests/dataflow/local/DataFlowStep.expected +++ b/rust/ql/test/library-tests/dataflow/local/DataFlowStep.expected @@ -1,61 +1,86 @@ | main.rs:3:11:3:11 | [SSA] i | main.rs:4:12:4:12 | i | +| main.rs:3:11:3:11 | i | main.rs:3:11:3:11 | [SSA] i | | main.rs:4:5:4:12 | ... + ... | main.rs:3:26:5:1 | BlockExpr | | main.rs:7:9:7:9 | [SSA] s | main.rs:8:20:8:20 | s | +| main.rs:7:9:7:9 | s | main.rs:7:9:7:9 | [SSA] s | | main.rs:19:9:19:9 | [SSA] s | main.rs:20:10:20:10 | s | +| main.rs:19:9:19:9 | s | main.rs:19:9:19:9 | [SSA] s | | main.rs:19:13:19:21 | CallExpr | main.rs:19:9:19:9 | s | | main.rs:23:18:23:21 | [SSA] cond | main.rs:26:16:26:19 | cond | +| main.rs:23:18:23:21 | cond | main.rs:23:18:23:21 | [SSA] cond | | main.rs:24:9:24:9 | [SSA] a | main.rs:26:23:26:23 | a | +| main.rs:24:9:24:9 | a | main.rs:24:9:24:9 | [SSA] a | | main.rs:24:13:24:21 | CallExpr | main.rs:24:9:24:9 | a | | main.rs:25:9:25:9 | [SSA] b | main.rs:26:34:26:34 | b | +| main.rs:25:9:25:9 | b | main.rs:25:9:25:9 | [SSA] b | | main.rs:25:13:25:13 | 2 | main.rs:25:9:25:9 | b | | main.rs:26:9:26:9 | [SSA] c | main.rs:27:10:27:10 | c | +| main.rs:26:9:26:9 | c | main.rs:26:9:26:9 | [SSA] c | | main.rs:26:13:26:36 | IfExpr | main.rs:26:9:26:9 | c | | main.rs:26:21:26:25 | BlockExpr | main.rs:26:13:26:36 | IfExpr | | main.rs:26:23:26:23 | a | main.rs:26:21:26:25 | BlockExpr | | main.rs:26:32:26:36 | BlockExpr | main.rs:26:13:26:36 | IfExpr | | main.rs:26:34:26:34 | b | main.rs:26:32:26:36 | BlockExpr | | main.rs:30:21:30:21 | [SSA] m | main.rs:32:19:32:19 | m | +| main.rs:30:21:30:21 | m | main.rs:30:21:30:21 | [SSA] m | | main.rs:31:9:31:9 | [SSA] a | main.rs:33:20:33:20 | a | +| main.rs:31:9:31:9 | a | main.rs:31:9:31:9 | [SSA] a | | main.rs:31:13:31:21 | CallExpr | main.rs:31:9:31:9 | a | | main.rs:32:9:32:9 | [SSA] b | main.rs:36:10:36:10 | b | +| main.rs:32:9:32:9 | b | main.rs:32:9:32:9 | [SSA] b | | main.rs:32:13:35:5 | MatchExpr | main.rs:32:9:32:9 | b | | main.rs:33:20:33:20 | a | main.rs:32:13:35:5 | MatchExpr | | main.rs:34:17:34:17 | 0 | main.rs:32:13:35:5 | MatchExpr | | main.rs:40:9:40:9 | [SSA] a | main.rs:43:10:43:10 | a | +| main.rs:40:9:40:9 | a | main.rs:40:9:40:9 | [SSA] a | | main.rs:40:13:42:5 | LoopExpr | main.rs:40:9:40:9 | a | | main.rs:41:9:41:15 | BreakExpr | main.rs:40:13:42:5 | LoopExpr | | main.rs:41:15:41:15 | 1 | main.rs:41:9:41:15 | BreakExpr | | main.rs:44:9:44:9 | [SSA] b | main.rs:47:10:47:10 | b | +| main.rs:44:9:44:9 | b | main.rs:44:9:44:9 | [SSA] b | | main.rs:44:13:46:5 | LoopExpr | main.rs:44:9:44:9 | b | | main.rs:45:9:45:23 | BreakExpr | main.rs:44:13:46:5 | LoopExpr | | main.rs:45:15:45:23 | CallExpr | main.rs:45:9:45:23 | BreakExpr | | main.rs:51:9:51:13 | [SSA] i | main.rs:52:10:52:10 | i | +| main.rs:51:9:51:13 | i | main.rs:51:9:51:13 | [SSA] i | +| main.rs:51:9:51:13 | i | main.rs:53:5:53:5 | [SSA] i | | main.rs:51:17:51:17 | 1 | main.rs:51:9:51:13 | i | | main.rs:53:5:53:5 | [SSA] i | main.rs:54:10:54:10 | i | | main.rs:53:5:53:5 | i | main.rs:53:5:53:5 | [SSA] i | | main.rs:61:9:61:9 | [SSA] i | main.rs:62:11:62:11 | i | +| main.rs:61:9:61:9 | i | main.rs:61:9:61:9 | [SSA] i | | main.rs:61:13:61:31 | CallExpr | main.rs:61:9:61:9 | i | | main.rs:66:9:66:9 | [SSA] a | main.rs:67:10:67:10 | a | +| main.rs:66:9:66:9 | a | main.rs:66:9:66:9 | [SSA] a | | main.rs:66:13:66:26 | TupleExpr | main.rs:66:9:66:9 | a | | main.rs:67:10:67:10 | a | main.rs:68:10:68:10 | a | | main.rs:78:9:78:9 | [SSA] p | main.rs:83:10:83:10 | p | +| main.rs:78:9:78:9 | p | main.rs:78:9:78:9 | [SSA] p | | main.rs:78:13:82:5 | RecordExpr | main.rs:78:9:78:9 | p | | main.rs:83:10:83:10 | p | main.rs:84:10:84:10 | p | | main.rs:84:10:84:10 | p | main.rs:85:10:85:10 | p | | main.rs:92:9:92:9 | [SSA] p | main.rs:97:38:97:38 | p | +| main.rs:92:9:92:9 | p | main.rs:92:9:92:9 | [SSA] p | | main.rs:92:13:96:5 | RecordExpr | main.rs:92:9:92:9 | p | | main.rs:97:20:97:20 | [SSA] a | main.rs:98:10:98:10 | a | +| main.rs:97:20:97:20 | a | main.rs:97:20:97:20 | [SSA] a | | main.rs:97:26:97:26 | [SSA] b | main.rs:99:10:99:10 | b | +| main.rs:97:26:97:26 | b | main.rs:97:26:97:26 | [SSA] b | | main.rs:97:32:97:32 | [SSA] c | main.rs:100:10:100:10 | c | +| main.rs:97:32:97:32 | c | main.rs:97:32:97:32 | [SSA] c | | main.rs:97:38:97:38 | p | main.rs:97:9:97:34 | RecordPat | | main.rs:104:9:104:10 | [SSA] s1 | main.rs:106:11:106:12 | s1 | +| main.rs:104:9:104:10 | s1 | main.rs:104:9:104:10 | [SSA] s1 | | main.rs:104:14:104:28 | CallExpr | main.rs:104:9:104:10 | s1 | | main.rs:105:9:105:10 | [SSA] s2 | main.rs:110:11:110:12 | s2 | +| main.rs:105:9:105:10 | s2 | main.rs:105:9:105:10 | [SSA] s2 | | main.rs:105:14:105:20 | CallExpr | main.rs:105:9:105:10 | s2 | | main.rs:107:14:107:14 | [SSA] n | main.rs:107:25:107:25 | n | +| main.rs:107:14:107:14 | n | main.rs:107:14:107:14 | [SSA] n | | main.rs:107:20:107:26 | CallExpr | main.rs:106:5:109:5 | MatchExpr | | main.rs:108:17:108:23 | CallExpr | main.rs:106:5:109:5 | MatchExpr | | main.rs:110:5:113:5 | MatchExpr | main.rs:103:27:114:1 | BlockExpr | | main.rs:111:14:111:14 | [SSA] n | main.rs:111:25:111:25 | n | +| main.rs:111:14:111:14 | n | main.rs:111:14:111:14 | [SSA] n | | main.rs:111:20:111:26 | CallExpr | main.rs:110:5:113:5 | MatchExpr | | main.rs:112:17:112:23 | CallExpr | main.rs:110:5:113:5 | MatchExpr | diff --git a/rust/ql/test/library-tests/dataflow/local/inline-flow.expected b/rust/ql/test/library-tests/dataflow/local/inline-flow.expected index 816045223e29..72273334c6f5 100644 --- a/rust/ql/test/library-tests/dataflow/local/inline-flow.expected +++ b/rust/ql/test/library-tests/dataflow/local/inline-flow.expected @@ -1,8 +1,24 @@ models edges +| main.rs:19:13:19:21 | CallExpr : unit | main.rs:20:10:20:10 | s | provenance | | +| main.rs:24:13:24:21 | CallExpr : unit | main.rs:27:10:27:10 | c | provenance | | +| main.rs:31:13:31:21 | CallExpr : unit | main.rs:36:10:36:10 | b | provenance | | +| main.rs:45:15:45:23 | CallExpr : unit | main.rs:47:10:47:10 | b | provenance | | nodes | main.rs:15:10:15:18 | CallExpr | semmle.label | CallExpr | +| main.rs:19:13:19:21 | CallExpr : unit | semmle.label | CallExpr : unit | +| main.rs:20:10:20:10 | s | semmle.label | s | +| main.rs:24:13:24:21 | CallExpr : unit | semmle.label | CallExpr : unit | +| main.rs:27:10:27:10 | c | semmle.label | c | +| main.rs:31:13:31:21 | CallExpr : unit | semmle.label | CallExpr : unit | +| main.rs:36:10:36:10 | b | semmle.label | b | +| main.rs:45:15:45:23 | CallExpr : unit | semmle.label | CallExpr : unit | +| main.rs:47:10:47:10 | b | semmle.label | b | subpaths testFailures #select | main.rs:15:10:15:18 | CallExpr | main.rs:15:10:15:18 | CallExpr | main.rs:15:10:15:18 | CallExpr | $@ | main.rs:15:10:15:18 | CallExpr | CallExpr | +| main.rs:20:10:20:10 | s | main.rs:19:13:19:21 | CallExpr : unit | main.rs:20:10:20:10 | s | $@ | main.rs:19:13:19:21 | CallExpr : unit | CallExpr : unit | +| main.rs:27:10:27:10 | c | main.rs:24:13:24:21 | CallExpr : unit | main.rs:27:10:27:10 | c | $@ | main.rs:24:13:24:21 | CallExpr : unit | CallExpr : unit | +| main.rs:36:10:36:10 | b | main.rs:31:13:31:21 | CallExpr : unit | main.rs:36:10:36:10 | b | $@ | main.rs:31:13:31:21 | CallExpr : unit | CallExpr : unit | +| main.rs:47:10:47:10 | b | main.rs:45:15:45:23 | CallExpr : unit | main.rs:47:10:47:10 | b | $@ | main.rs:45:15:45:23 | CallExpr : unit | CallExpr : unit | diff --git a/rust/ql/test/library-tests/dataflow/local/main.rs b/rust/ql/test/library-tests/dataflow/local/main.rs index f4c2eeec2e13..fb79baa70bdb 100644 --- a/rust/ql/test/library-tests/dataflow/local/main.rs +++ b/rust/ql/test/library-tests/dataflow/local/main.rs @@ -17,14 +17,14 @@ fn direct() { fn variable_usage() { let s = source(1); - sink(s); // $ MISSING: hasValueFlow=1 + sink(s); // $ hasValueFlow=1 } fn if_expression(cond: bool) { let a = source(1); let b = 2; let c = if cond { a } else { b }; - sink(c); // $ MISSING: hasValueFlow=1 + sink(c); // $ hasValueFlow=1 } fn match_expression(m: Option) { @@ -33,7 +33,7 @@ fn match_expression(m: Option) { Some(_) => a, None => 0, }; - sink(b); // $ MISSING: hasValueFlow=1 + sink(b); // $ hasValueFlow=1 } fn loop_with_break() { @@ -44,7 +44,7 @@ fn loop_with_break() { let b = loop { break source(1); }; - sink(b); // $ MISSING: hasValueFlow=1 + sink(b); // $ hasValueFlow=1 } fn assignment() { From 81907bc743581165bb29ec175fc9468714add8db Mon Sep 17 00:00:00 2001 From: Owen Mansel-Chan Date: Wed, 18 Sep 2024 12:07:18 +0100 Subject: [PATCH 288/347] Set Subtypes column correctly We set it to False when it has no meaning and True otherwise. --- go/ql/lib/ext/database.sql.driver.model.yml | 12 +- go/ql/lib/ext/database.sql.model.yml | 48 ++-- ...ithub.com.beego.beego.client.orm.model.yml | 60 ++--- ...github.com.beego.beego.core.logs.model.yml | 22 +- .../ext/github.com.elazarl.goproxy.model.yml | 4 +- .../lib/ext/github.com.golang.glog.model.yml | 90 ++++---- .../github.com.mastermind.squirrel.model.yml | 10 +- .../ext/github.com.sirupsen.logrus.model.yml | 210 +++++++++--------- .../lib/ext/github.com.uptrace.bun.model.yml | 2 +- go/ql/lib/ext/go.uber.org.zap.model.yml | 66 +++--- go/ql/lib/ext/log.model.yml | 20 +- 11 files changed, 272 insertions(+), 272 deletions(-) diff --git a/go/ql/lib/ext/database.sql.driver.model.yml b/go/ql/lib/ext/database.sql.driver.model.yml index 50b699e4371f..10cfba9388a6 100644 --- a/go/ql/lib/ext/database.sql.driver.model.yml +++ b/go/ql/lib/ext/database.sql.driver.model.yml @@ -3,12 +3,12 @@ extensions: pack: codeql/go-all extensible: sinkModel data: - - ["database/sql/driver", "Execer", False, "Exec", "", "", "Argument[0]", "sql-injection", "manual"] - - ["database/sql/driver", "ExecerContext", False, "ExecContext", "", "", "Argument[1]", "sql-injection", "manual"] - - ["database/sql/driver", "Conn", False, "Prepare", "", "", "Argument[0]", "sql-injection", "manual"] - - ["database/sql/driver", "ConnPrepareContext", False, "PrepareContext", "", "", "Argument[1]", "sql-injection", "manual"] - - ["database/sql/driver", "Queryer", False, "Query", "", "", "Argument[0]", "sql-injection", "manual"] - - ["database/sql/driver", "QueryerContext", False, "QueryContext", "", "", "Argument[1]", "sql-injection", "manual"] + - ["database/sql/driver", "Execer", True, "Exec", "", "", "Argument[0]", "sql-injection", "manual"] + - ["database/sql/driver", "ExecerContext", True, "ExecContext", "", "", "Argument[1]", "sql-injection", "manual"] + - ["database/sql/driver", "Conn", True, "Prepare", "", "", "Argument[0]", "sql-injection", "manual"] + - ["database/sql/driver", "ConnPrepareContext", True, "PrepareContext", "", "", "Argument[1]", "sql-injection", "manual"] + - ["database/sql/driver", "Queryer", True, "Query", "", "", "Argument[0]", "sql-injection", "manual"] + - ["database/sql/driver", "QueryerContext", True, "QueryContext", "", "", "Argument[1]", "sql-injection", "manual"] - addsTo: pack: codeql/go-all extensible: summaryModel diff --git a/go/ql/lib/ext/database.sql.model.yml b/go/ql/lib/ext/database.sql.model.yml index b8fb85bb893a..5854ced527d5 100644 --- a/go/ql/lib/ext/database.sql.model.yml +++ b/go/ql/lib/ext/database.sql.model.yml @@ -3,30 +3,30 @@ extensions: pack: codeql/go-all extensible: sinkModel data: - - ["database/sql", "Conn", False, "Exec", "", "", "Argument[0]", "sql-injection", "manual"] - - ["database/sql", "Conn", False, "ExecContext", "", "", "Argument[1]", "sql-injection", "manual"] - - ["database/sql", "Conn", False, "Prepare", "", "", "Argument[0]", "sql-injection", "manual"] - - ["database/sql", "Conn", False, "PrepareContext", "", "", "Argument[1]", "sql-injection", "manual"] - - ["database/sql", "Conn", False, "Query", "", "", "Argument[0]", "sql-injection", "manual"] - - ["database/sql", "Conn", False, "QueryContext", "", "", "Argument[1]", "sql-injection", "manual"] - - ["database/sql", "Conn", False, "QueryRow", "", "", "Argument[0]", "sql-injection", "manual"] - - ["database/sql", "Conn", False, "QueryRowContext", "", "", "Argument[1]", "sql-injection", "manual"] - - ["database/sql", "DB", False, "Exec", "", "", "Argument[0]", "sql-injection", "manual"] - - ["database/sql", "DB", False, "ExecContext", "", "", "Argument[1]", "sql-injection", "manual"] - - ["database/sql", "DB", False, "Prepare", "", "", "Argument[0]", "sql-injection", "manual"] - - ["database/sql", "DB", False, "PrepareContext", "", "", "Argument[1]", "sql-injection", "manual"] - - ["database/sql", "DB", False, "Query", "", "", "Argument[0]", "sql-injection", "manual"] - - ["database/sql", "DB", False, "QueryContext", "", "", "Argument[1]", "sql-injection", "manual"] - - ["database/sql", "DB", False, "QueryRow", "", "", "Argument[0]", "sql-injection", "manual"] - - ["database/sql", "DB", False, "QueryRowContext", "", "", "Argument[1]", "sql-injection", "manual"] - - ["database/sql", "Tx", False, "Exec", "", "", "Argument[0]", "sql-injection", "manual"] - - ["database/sql", "Tx", False, "ExecContext", "", "", "Argument[1]", "sql-injection", "manual"] - - ["database/sql", "Tx", False, "Prepare", "", "", "Argument[0]", "sql-injection", "manual"] - - ["database/sql", "Tx", False, "PrepareContext", "", "", "Argument[1]", "sql-injection", "manual"] - - ["database/sql", "Tx", False, "Query", "", "", "Argument[0]", "sql-injection", "manual"] - - ["database/sql", "Tx", False, "QueryContext", "", "", "Argument[1]", "sql-injection", "manual"] - - ["database/sql", "Tx", False, "QueryRow", "", "", "Argument[0]", "sql-injection", "manual"] - - ["database/sql", "Tx", False, "QueryRowContext", "", "", "Argument[1]", "sql-injection", "manual"] + - ["database/sql", "Conn", True, "Exec", "", "", "Argument[0]", "sql-injection", "manual"] + - ["database/sql", "Conn", True, "ExecContext", "", "", "Argument[1]", "sql-injection", "manual"] + - ["database/sql", "Conn", True, "Prepare", "", "", "Argument[0]", "sql-injection", "manual"] + - ["database/sql", "Conn", True, "PrepareContext", "", "", "Argument[1]", "sql-injection", "manual"] + - ["database/sql", "Conn", True, "Query", "", "", "Argument[0]", "sql-injection", "manual"] + - ["database/sql", "Conn", True, "QueryContext", "", "", "Argument[1]", "sql-injection", "manual"] + - ["database/sql", "Conn", True, "QueryRow", "", "", "Argument[0]", "sql-injection", "manual"] + - ["database/sql", "Conn", True, "QueryRowContext", "", "", "Argument[1]", "sql-injection", "manual"] + - ["database/sql", "DB", True, "Exec", "", "", "Argument[0]", "sql-injection", "manual"] + - ["database/sql", "DB", True, "ExecContext", "", "", "Argument[1]", "sql-injection", "manual"] + - ["database/sql", "DB", True, "Prepare", "", "", "Argument[0]", "sql-injection", "manual"] + - ["database/sql", "DB", True, "PrepareContext", "", "", "Argument[1]", "sql-injection", "manual"] + - ["database/sql", "DB", True, "Query", "", "", "Argument[0]", "sql-injection", "manual"] + - ["database/sql", "DB", True, "QueryContext", "", "", "Argument[1]", "sql-injection", "manual"] + - ["database/sql", "DB", True, "QueryRow", "", "", "Argument[0]", "sql-injection", "manual"] + - ["database/sql", "DB", True, "QueryRowContext", "", "", "Argument[1]", "sql-injection", "manual"] + - ["database/sql", "Tx", True, "Exec", "", "", "Argument[0]", "sql-injection", "manual"] + - ["database/sql", "Tx", True, "ExecContext", "", "", "Argument[1]", "sql-injection", "manual"] + - ["database/sql", "Tx", True, "Prepare", "", "", "Argument[0]", "sql-injection", "manual"] + - ["database/sql", "Tx", True, "PrepareContext", "", "", "Argument[1]", "sql-injection", "manual"] + - ["database/sql", "Tx", True, "Query", "", "", "Argument[0]", "sql-injection", "manual"] + - ["database/sql", "Tx", True, "QueryContext", "", "", "Argument[1]", "sql-injection", "manual"] + - ["database/sql", "Tx", True, "QueryRow", "", "", "Argument[0]", "sql-injection", "manual"] + - ["database/sql", "Tx", True, "QueryRowContext", "", "", "Argument[1]", "sql-injection", "manual"] - addsTo: pack: codeql/go-all extensible: summaryModel diff --git a/go/ql/lib/ext/github.com.beego.beego.client.orm.model.yml b/go/ql/lib/ext/github.com.beego.beego.client.orm.model.yml index 9e8849423eb0..08c0572b894a 100644 --- a/go/ql/lib/ext/github.com.beego.beego.client.orm.model.yml +++ b/go/ql/lib/ext/github.com.beego.beego.client.orm.model.yml @@ -10,33 +10,33 @@ extensions: pack: codeql/go-all extensible: sinkModel data: - - ["group:beego-orm", "Condition", False, "Raw", "", "", "Argument[1]", "sql-injection", "manual"] - - ["group:beego-orm", "DB", False, "Exec", "", "", "Argument[0]", "sql-injection", "manual"] - - ["group:beego-orm", "DB", False, "ExecContext", "", "", "Argument[1]", "sql-injection", "manual"] - - ["group:beego-orm", "DB", False, "Prepare", "", "", "Argument[0]", "sql-injection", "manual"] - - ["group:beego-orm", "DB", False, "PrepareContext", "", "", "Argument[1]", "sql-injection", "manual"] - - ["group:beego-orm", "DB", False, "Query", "", "", "Argument[0]", "sql-injection", "manual"] - - ["group:beego-orm", "DB", False, "QueryContext", "", "", "Argument[1]", "sql-injection", "manual"] - - ["group:beego-orm", "DB", False, "QueryRow", "", "", "Argument[0]", "sql-injection", "manual"] - - ["group:beego-orm", "DB", False, "QueryRowContext", "", "", "Argument[1]", "sql-injection", "manual"] - - ["group:beego-orm", "Ormer", False, "Raw", "", "", "Argument[0]", "sql-injection", "manual"] - - ["group:beego-orm", "QueryBuilder", False, "And", "", "", "Argument[0]", "sql-injection", "manual"] - - ["group:beego-orm", "QueryBuilder", False, "Delete", "", "", "Argument[0]", "sql-injection", "manual"] - - ["group:beego-orm", "QueryBuilder", False, "From", "", "", "Argument[0]", "sql-injection", "manual"] - - ["group:beego-orm", "QueryBuilder", False, "GroupBy", "", "", "Argument[0]", "sql-injection", "manual"] - - ["group:beego-orm", "QueryBuilder", False, "Having", "", "", "Argument[0]", "sql-injection", "manual"] - - ["group:beego-orm", "QueryBuilder", False, "In", "", "", "Argument[0]", "sql-injection", "manual"] - - ["group:beego-orm", "QueryBuilder", False, "InnerJoin", "", "", "Argument[0]", "sql-injection", "manual"] - - ["group:beego-orm", "QueryBuilder", False, "InsertInto", "", "", "Argument[0..1]", "sql-injection", "manual"] - - ["group:beego-orm", "QueryBuilder", False, "LeftJoin", "", "", "Argument[0]", "sql-injection", "manual"] - - ["group:beego-orm", "QueryBuilder", False, "On", "", "", "Argument[0]", "sql-injection", "manual"] - - ["group:beego-orm", "QueryBuilder", False, "Or", "", "", "Argument[0]", "sql-injection", "manual"] - - ["group:beego-orm", "QueryBuilder", False, "OrderBy", "", "", "Argument[0]", "sql-injection", "manual"] - - ["group:beego-orm", "QueryBuilder", False, "RightJoin", "", "", "Argument[0]", "sql-injection", "manual"] - - ["group:beego-orm", "QueryBuilder", False, "Select", "", "", "Argument[0]", "sql-injection", "manual"] - - ["group:beego-orm", "QueryBuilder", False, "Set", "", "", "Argument[0]", "sql-injection", "manual"] - - ["group:beego-orm", "QueryBuilder", False, "Subquery", "", "", "Argument[0..1]", "sql-injection", "manual"] - - ["group:beego-orm", "QueryBuilder", False, "Update", "", "", "Argument[0]", "sql-injection", "manual"] - - ["group:beego-orm", "QueryBuilder", False, "Values", "", "", "Argument[0]", "sql-injection", "manual"] - - ["group:beego-orm", "QueryBuilder", False, "Where", "", "", "Argument[0]", "sql-injection", "manual"] - - ["group:beego-orm", "QuerySeter", False, "FilterRaw", "", "", "Argument[1]", "sql-injection", "manual"] + - ["group:beego-orm", "Condition", True, "Raw", "", "", "Argument[1]", "sql-injection", "manual"] + - ["group:beego-orm", "DB", True, "Exec", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:beego-orm", "DB", True, "ExecContext", "", "", "Argument[1]", "sql-injection", "manual"] + - ["group:beego-orm", "DB", True, "Prepare", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:beego-orm", "DB", True, "PrepareContext", "", "", "Argument[1]", "sql-injection", "manual"] + - ["group:beego-orm", "DB", True, "Query", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:beego-orm", "DB", True, "QueryContext", "", "", "Argument[1]", "sql-injection", "manual"] + - ["group:beego-orm", "DB", True, "QueryRow", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:beego-orm", "DB", True, "QueryRowContext", "", "", "Argument[1]", "sql-injection", "manual"] + - ["group:beego-orm", "Ormer", True, "Raw", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:beego-orm", "QueryBuilder", True, "And", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:beego-orm", "QueryBuilder", True, "Delete", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:beego-orm", "QueryBuilder", True, "From", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:beego-orm", "QueryBuilder", True, "GroupBy", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:beego-orm", "QueryBuilder", True, "Having", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:beego-orm", "QueryBuilder", True, "In", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:beego-orm", "QueryBuilder", True, "InnerJoin", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:beego-orm", "QueryBuilder", True, "InsertInto", "", "", "Argument[0..1]", "sql-injection", "manual"] + - ["group:beego-orm", "QueryBuilder", True, "LeftJoin", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:beego-orm", "QueryBuilder", True, "On", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:beego-orm", "QueryBuilder", True, "Or", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:beego-orm", "QueryBuilder", True, "OrderBy", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:beego-orm", "QueryBuilder", True, "RightJoin", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:beego-orm", "QueryBuilder", True, "Select", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:beego-orm", "QueryBuilder", True, "Set", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:beego-orm", "QueryBuilder", True, "Subquery", "", "", "Argument[0..1]", "sql-injection", "manual"] + - ["group:beego-orm", "QueryBuilder", True, "Update", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:beego-orm", "QueryBuilder", True, "Values", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:beego-orm", "QueryBuilder", True, "Where", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:beego-orm", "QuerySeter", True, "FilterRaw", "", "", "Argument[1]", "sql-injection", "manual"] diff --git a/go/ql/lib/ext/github.com.beego.beego.core.logs.model.yml b/go/ql/lib/ext/github.com.beego.beego.core.logs.model.yml index 3dfbbe89719e..b55c3be507dd 100644 --- a/go/ql/lib/ext/github.com.beego.beego.core.logs.model.yml +++ b/go/ql/lib/ext/github.com.beego.beego.core.logs.model.yml @@ -21,14 +21,14 @@ extensions: - ["group:beego-logs", "", False, "Trace", "", "", "Argument[0..1]", "log-injection", "manual"] - ["group:beego-logs", "", False, "Warn", "", "", "Argument[0..1]", "log-injection", "manual"] - ["group:beego-logs", "", False, "Warning", "", "", "Argument[0..1]", "log-injection", "manual"] - - ["group:beego-logs", "BeeLogger", False, "Alert", "", "", "Argument[0..1]", "log-injection", "manual"] - - ["group:beego-logs", "BeeLogger", False, "Critical", "", "", "Argument[0..1]", "log-injection", "manual"] - - ["group:beego-logs", "BeeLogger", False, "Debug", "", "", "Argument[0..1]", "log-injection", "manual"] - - ["group:beego-logs", "BeeLogger", False, "Emergency", "", "", "Argument[0..1]", "log-injection", "manual"] - - ["group:beego-logs", "BeeLogger", False, "Error", "", "", "Argument[0..1]", "log-injection", "manual"] - - ["group:beego-logs", "BeeLogger", False, "Info", "", "", "Argument[0..1]", "log-injection", "manual"] - - ["group:beego-logs", "BeeLogger", False, "Informational", "", "", "Argument[0..1]", "log-injection", "manual"] - - ["group:beego-logs", "BeeLogger", False, "Notice", "", "", "Argument[0..1]", "log-injection", "manual"] - - ["group:beego-logs", "BeeLogger", False, "Trace", "", "", "Argument[0..1]", "log-injection", "manual"] - - ["group:beego-logs", "BeeLogger", False, "Warn", "", "", "Argument[0..1]", "log-injection", "manual"] - - ["group:beego-logs", "BeeLogger", False, "Warning", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["group:beego-logs", "BeeLogger", True, "Alert", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["group:beego-logs", "BeeLogger", True, "Critical", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["group:beego-logs", "BeeLogger", True, "Debug", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["group:beego-logs", "BeeLogger", True, "Emergency", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["group:beego-logs", "BeeLogger", True, "Error", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["group:beego-logs", "BeeLogger", True, "Info", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["group:beego-logs", "BeeLogger", True, "Informational", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["group:beego-logs", "BeeLogger", True, "Notice", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["group:beego-logs", "BeeLogger", True, "Trace", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["group:beego-logs", "BeeLogger", True, "Warn", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["group:beego-logs", "BeeLogger", True, "Warning", "", "", "Argument[0..1]", "log-injection", "manual"] diff --git a/go/ql/lib/ext/github.com.elazarl.goproxy.model.yml b/go/ql/lib/ext/github.com.elazarl.goproxy.model.yml index 01a61d2c3acd..9dc8284ea58f 100644 --- a/go/ql/lib/ext/github.com.elazarl.goproxy.model.yml +++ b/go/ql/lib/ext/github.com.elazarl.goproxy.model.yml @@ -3,8 +3,8 @@ extensions: pack: codeql/go-all extensible: sinkModel data: - - ["github.com/elazarl/goproxy", "ProxyCtx", False, "Logf", "", "", "Argument[0..1]", "log-injection", "manual"] - - ["github.com/elazarl/goproxy", "ProxyCtx", False, "Warnf", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["github.com/elazarl/goproxy", "ProxyCtx", True, "Logf", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["github.com/elazarl/goproxy", "ProxyCtx", True, "Warnf", "", "", "Argument[0..1]", "log-injection", "manual"] - addsTo: pack: codeql/go-all extensible: summaryModel diff --git a/go/ql/lib/ext/github.com.golang.glog.model.yml b/go/ql/lib/ext/github.com.golang.glog.model.yml index dd36e6a7d8fa..275450f2c447 100644 --- a/go/ql/lib/ext/github.com.golang.glog.model.yml +++ b/go/ql/lib/ext/github.com.golang.glog.model.yml @@ -55,48 +55,48 @@ extensions: - ["group:glog", "", False, "WarningDepthf", "", "", "Argument[1..2]", "log-injection", "manual"] - ["group:glog", "", False, "Warningf", "", "", "Argument[0..1]", "log-injection", "manual"] - ["group:glog", "", False, "Warningln", "", "", "Argument[0]", "log-injection", "manual"] - - ["group:glog", "Verbose", False, "Error", "", "", "Argument[0]", "log-injection", "manual"] - - ["group:glog", "Verbose", False, "ErrorContext", "", "", "Argument[1]", "log-injection", "manual"] - - ["group:glog", "Verbose", False, "ErrorContextDepth", "", "", "Argument[2]", "log-injection", "manual"] - - ["group:glog", "Verbose", False, "ErrorContextDepthf", "", "", "Argument[2..3]", "log-injection", "manual"] - - ["group:glog", "Verbose", False, "ErrorContextf", "", "", "Argument[1..2]", "log-injection", "manual"] - - ["group:glog", "Verbose", False, "ErrorDepth", "", "", "Argument[1]", "log-injection", "manual"] - - ["group:glog", "Verbose", False, "ErrorDepthf", "", "", "Argument[1..2]", "log-injection", "manual"] - - ["group:glog", "Verbose", False, "Errorf", "", "", "Argument[0..1]", "log-injection", "manual"] - - ["group:glog", "Verbose", False, "Errorln", "", "", "Argument[0]", "log-injection", "manual"] - - ["group:glog", "Verbose", False, "Exit", "", "", "Argument[0]", "log-injection", "manual"] - - ["group:glog", "Verbose", False, "ExitContext", "", "", "Argument[1]", "log-injection", "manual"] - - ["group:glog", "Verbose", False, "ExitContextDepth", "", "", "Argument[2]", "log-injection", "manual"] - - ["group:glog", "Verbose", False, "ExitContextDepthf", "", "", "Argument[2..3]", "log-injection", "manual"] - - ["group:glog", "Verbose", False, "ExitContextf", "", "", "Argument[1..2]", "log-injection", "manual"] - - ["group:glog", "Verbose", False, "ExitDepth", "", "", "Argument[1]", "log-injection", "manual"] - - ["group:glog", "Verbose", False, "ExitDepthf", "", "", "Argument[1..2]", "log-injection", "manual"] - - ["group:glog", "Verbose", False, "Exitf", "", "", "Argument[0..1]", "log-injection", "manual"] - - ["group:glog", "Verbose", False, "Exitln", "", "", "Argument[0]", "log-injection", "manual"] - - ["group:glog", "Verbose", False, "Fatal", "", "", "Argument[0]", "log-injection", "manual"] - - ["group:glog", "Verbose", False, "FatalContext", "", "", "Argument[1]", "log-injection", "manual"] - - ["group:glog", "Verbose", False, "FatalContextDepth", "", "", "Argument[2]", "log-injection", "manual"] - - ["group:glog", "Verbose", False, "FatalContextDepthf", "", "", "Argument[2..3]", "log-injection", "manual"] - - ["group:glog", "Verbose", False, "FatalContextf", "", "", "Argument[1..2]", "log-injection", "manual"] - - ["group:glog", "Verbose", False, "FatalDepth", "", "", "Argument[1]", "log-injection", "manual"] - - ["group:glog", "Verbose", False, "FatalDepthf", "", "", "Argument[1..2]", "log-injection", "manual"] - - ["group:glog", "Verbose", False, "Fatalf", "", "", "Argument[0..1]", "log-injection", "manual"] - - ["group:glog", "Verbose", False, "Fatalln", "", "", "Argument[0]", "log-injection", "manual"] - - ["group:glog", "Verbose", False, "Info", "", "", "Argument[0]", "log-injection", "manual"] - - ["group:glog", "Verbose", False, "InfoContext", "", "", "Argument[1]", "log-injection", "manual"] - - ["group:glog", "Verbose", False, "InfoContextDepth", "", "", "Argument[2]", "log-injection", "manual"] - - ["group:glog", "Verbose", False, "InfoContextDepthf", "", "", "Argument[2..3]", "log-injection", "manual"] - - ["group:glog", "Verbose", False, "InfoContextf", "", "", "Argument[1..2]", "log-injection", "manual"] - - ["group:glog", "Verbose", False, "InfoDepth", "", "", "Argument[1]", "log-injection", "manual"] - - ["group:glog", "Verbose", False, "InfoDepthf", "", "", "Argument[1..2]", "log-injection", "manual"] - - ["group:glog", "Verbose", False, "Infof", "", "", "Argument[0..1]", "log-injection", "manual"] - - ["group:glog", "Verbose", False, "Infoln", "", "", "Argument[0]", "log-injection", "manual"] - - ["group:glog", "Verbose", False, "Warning", "", "", "Argument[0]", "log-injection", "manual"] - - ["group:glog", "Verbose", False, "WarningContext", "", "", "Argument[1]", "log-injection", "manual"] - - ["group:glog", "Verbose", False, "WarningContextDepth", "", "", "Argument[2]", "log-injection", "manual"] - - ["group:glog", "Verbose", False, "WarningContextDepthf", "", "", "Argument[2..3]", "log-injection", "manual"] - - ["group:glog", "Verbose", False, "WarningContextf", "", "", "Argument[1..2]", "log-injection", "manual"] - - ["group:glog", "Verbose", False, "WarningDepth", "", "", "Argument[1]", "log-injection", "manual"] - - ["group:glog", "Verbose", False, "WarningDepthf", "", "", "Argument[1..2]", "log-injection", "manual"] - - ["group:glog", "Verbose", False, "Warningf", "", "", "Argument[0..1]", "log-injection", "manual"] - - ["group:glog", "Verbose", False, "Warningln", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:glog", "Verbose", True, "Error", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:glog", "Verbose", True, "ErrorContext", "", "", "Argument[1]", "log-injection", "manual"] + - ["group:glog", "Verbose", True, "ErrorContextDepth", "", "", "Argument[2]", "log-injection", "manual"] + - ["group:glog", "Verbose", True, "ErrorContextDepthf", "", "", "Argument[2..3]", "log-injection", "manual"] + - ["group:glog", "Verbose", True, "ErrorContextf", "", "", "Argument[1..2]", "log-injection", "manual"] + - ["group:glog", "Verbose", True, "ErrorDepth", "", "", "Argument[1]", "log-injection", "manual"] + - ["group:glog", "Verbose", True, "ErrorDepthf", "", "", "Argument[1..2]", "log-injection", "manual"] + - ["group:glog", "Verbose", True, "Errorf", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["group:glog", "Verbose", True, "Errorln", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:glog", "Verbose", True, "Exit", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:glog", "Verbose", True, "ExitContext", "", "", "Argument[1]", "log-injection", "manual"] + - ["group:glog", "Verbose", True, "ExitContextDepth", "", "", "Argument[2]", "log-injection", "manual"] + - ["group:glog", "Verbose", True, "ExitContextDepthf", "", "", "Argument[2..3]", "log-injection", "manual"] + - ["group:glog", "Verbose", True, "ExitContextf", "", "", "Argument[1..2]", "log-injection", "manual"] + - ["group:glog", "Verbose", True, "ExitDepth", "", "", "Argument[1]", "log-injection", "manual"] + - ["group:glog", "Verbose", True, "ExitDepthf", "", "", "Argument[1..2]", "log-injection", "manual"] + - ["group:glog", "Verbose", True, "Exitf", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["group:glog", "Verbose", True, "Exitln", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:glog", "Verbose", True, "Fatal", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:glog", "Verbose", True, "FatalContext", "", "", "Argument[1]", "log-injection", "manual"] + - ["group:glog", "Verbose", True, "FatalContextDepth", "", "", "Argument[2]", "log-injection", "manual"] + - ["group:glog", "Verbose", True, "FatalContextDepthf", "", "", "Argument[2..3]", "log-injection", "manual"] + - ["group:glog", "Verbose", True, "FatalContextf", "", "", "Argument[1..2]", "log-injection", "manual"] + - ["group:glog", "Verbose", True, "FatalDepth", "", "", "Argument[1]", "log-injection", "manual"] + - ["group:glog", "Verbose", True, "FatalDepthf", "", "", "Argument[1..2]", "log-injection", "manual"] + - ["group:glog", "Verbose", True, "Fatalf", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["group:glog", "Verbose", True, "Fatalln", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:glog", "Verbose", True, "Info", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:glog", "Verbose", True, "InfoContext", "", "", "Argument[1]", "log-injection", "manual"] + - ["group:glog", "Verbose", True, "InfoContextDepth", "", "", "Argument[2]", "log-injection", "manual"] + - ["group:glog", "Verbose", True, "InfoContextDepthf", "", "", "Argument[2..3]", "log-injection", "manual"] + - ["group:glog", "Verbose", True, "InfoContextf", "", "", "Argument[1..2]", "log-injection", "manual"] + - ["group:glog", "Verbose", True, "InfoDepth", "", "", "Argument[1]", "log-injection", "manual"] + - ["group:glog", "Verbose", True, "InfoDepthf", "", "", "Argument[1..2]", "log-injection", "manual"] + - ["group:glog", "Verbose", True, "Infof", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["group:glog", "Verbose", True, "Infoln", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:glog", "Verbose", True, "Warning", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:glog", "Verbose", True, "WarningContext", "", "", "Argument[1]", "log-injection", "manual"] + - ["group:glog", "Verbose", True, "WarningContextDepth", "", "", "Argument[2]", "log-injection", "manual"] + - ["group:glog", "Verbose", True, "WarningContextDepthf", "", "", "Argument[2..3]", "log-injection", "manual"] + - ["group:glog", "Verbose", True, "WarningContextf", "", "", "Argument[1..2]", "log-injection", "manual"] + - ["group:glog", "Verbose", True, "WarningDepth", "", "", "Argument[1]", "log-injection", "manual"] + - ["group:glog", "Verbose", True, "WarningDepthf", "", "", "Argument[1..2]", "log-injection", "manual"] + - ["group:glog", "Verbose", True, "Warningf", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["group:glog", "Verbose", True, "Warningln", "", "", "Argument[0]", "log-injection", "manual"] diff --git a/go/ql/lib/ext/github.com.mastermind.squirrel.model.yml b/go/ql/lib/ext/github.com.mastermind.squirrel.model.yml index dc476abd0572..6f3c5830e457 100644 --- a/go/ql/lib/ext/github.com.mastermind.squirrel.model.yml +++ b/go/ql/lib/ext/github.com.mastermind.squirrel.model.yml @@ -10,11 +10,11 @@ extensions: pack: codeql/go-all extensible: sinkModel data: - - ["group:squirrel", "", True, "Delete", "", "", "Argument[0]", "sql-injection", "manual"] - - ["group:squirrel", "", True, "Expr", "", "", "Argument[0]", "sql-injection", "manual"] - - ["group:squirrel", "", True, "Insert", "", "", "Argument[0]", "sql-injection", "manual"] - - ["group:squirrel", "", True, "Select", "", "", "Argument[0]", "sql-injection", "manual"] # TODO: when sources can have access paths, use .ArrayElement - - ["group:squirrel", "", True, "Update", "", "", "Argument[0]", "sql-injection", "manual"] # TODO: when sources can have access paths, use .ArrayElement + - ["group:squirrel", "", False, "Delete", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:squirrel", "", False, "Expr", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:squirrel", "", False, "Insert", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:squirrel", "", False, "Select", "", "", "Argument[0]", "sql-injection", "manual"] # TODO: when sources can have access paths, use .ArrayElement + - ["group:squirrel", "", False, "Update", "", "", "Argument[0]", "sql-injection", "manual"] # TODO: when sources can have access paths, use .ArrayElement - ["group:squirrel", "DeleteBuilder", True, "From", "", "", "Argument[0]", "sql-injection", "manual"] - ["group:squirrel", "DeleteBuilder", True, "OrderBy", "", "", "Argument[0]", "sql-injection", "manual"] # TODO: when sources can have access paths, use .ArrayElement diff --git a/go/ql/lib/ext/github.com.sirupsen.logrus.model.yml b/go/ql/lib/ext/github.com.sirupsen.logrus.model.yml index b3ef5ea1d103..06f9a54622b4 100644 --- a/go/ql/lib/ext/github.com.sirupsen.logrus.model.yml +++ b/go/ql/lib/ext/github.com.sirupsen.logrus.model.yml @@ -50,110 +50,110 @@ extensions: - ["group:logrus", "", False, "WithFields", "", "", "Argument[0]", "log-injection", "manual"] - ["group:logrus", "", False, "WithTime", "", "", "Argument[0]", "log-injection", "manual"] - - ["group:logrus", "Entry", False, "Debug", "", "", "Argument[0]", "log-injection", "manual"] - - ["group:logrus", "Entry", False, "Debugf", "", "", "Argument[0..1]", "log-injection", "manual"] - - ["group:logrus", "Entry", False, "Debugln", "", "", "Argument[0]", "log-injection", "manual"] - - ["group:logrus", "Entry", False, "Error", "", "", "Argument[0]", "log-injection", "manual"] - - ["group:logrus", "Entry", False, "Errorf", "", "", "Argument[0..1]", "log-injection", "manual"] - - ["group:logrus", "Entry", False, "Errorln", "", "", "Argument[0]", "log-injection", "manual"] - - ["group:logrus", "Entry", False, "Fatal", "", "", "Argument[0]", "log-injection", "manual"] - - ["group:logrus", "Entry", False, "Fatalf", "", "", "Argument[0..1]", "log-injection", "manual"] - - ["group:logrus", "Entry", False, "Fatalln", "", "", "Argument[0]", "log-injection", "manual"] - - ["group:logrus", "Entry", False, "Info", "", "", "Argument[0]", "log-injection", "manual"] - - ["group:logrus", "Entry", False, "Infof", "", "", "Argument[0..1]", "log-injection", "manual"] - - ["group:logrus", "Entry", False, "Infoln", "", "", "Argument[0]", "log-injection", "manual"] - - ["group:logrus", "Entry", False, "Log", "", "", "Argument[1]", "log-injection", "manual"] - - ["group:logrus", "Entry", False, "Logf", "", "", "Argument[1..2]", "log-injection", "manual"] - - ["group:logrus", "Entry", False, "Logln", "", "", "Argument[1]", "log-injection", "manual"] - - ["group:logrus", "Entry", False, "Panic", "", "", "Argument[0]", "log-injection", "manual"] - - ["group:logrus", "Entry", False, "Panicf", "", "", "Argument[0..1]", "log-injection", "manual"] - - ["group:logrus", "Entry", False, "Panicln", "", "", "Argument[0]", "log-injection", "manual"] - - ["group:logrus", "Entry", False, "Print", "", "", "Argument[0]", "log-injection", "manual"] - - ["group:logrus", "Entry", False, "Printf", "", "", "Argument[0..1]", "log-injection", "manual"] - - ["group:logrus", "Entry", False, "Println", "", "", "Argument[0]", "log-injection", "manual"] - - ["group:logrus", "Entry", False, "Trace", "", "", "Argument[0]", "log-injection", "manual"] - - ["group:logrus", "Entry", False, "Tracef", "", "", "Argument[0..1]", "log-injection", "manual"] - - ["group:logrus", "Entry", False, "Traceln", "", "", "Argument[0]", "log-injection", "manual"] - - ["group:logrus", "Entry", False, "Warn", "", "", "Argument[0]", "log-injection", "manual"] - - ["group:logrus", "Entry", False, "Warnf", "", "", "Argument[0..1]", "log-injection", "manual"] - - ["group:logrus", "Entry", False, "Warnln", "", "", "Argument[0]", "log-injection", "manual"] - - ["group:logrus", "Entry", False, "Warning", "", "", "Argument[0]", "log-injection", "manual"] - - ["group:logrus", "Entry", False, "Warningf", "", "", "Argument[0..1]", "log-injection", "manual"] - - ["group:logrus", "Entry", False, "Warningln", "", "", "Argument[0]", "log-injection", "manual"] - - ["group:logrus", "Entry", False, "WithError", "", "", "Argument[0]", "log-injection", "manual"] - - ["group:logrus", "Entry", False, "WithField", "", "", "Argument[0..1]", "log-injection", "manual"] - - ["group:logrus", "Entry", False, "WithFields", "", "", "Argument[0]", "log-injection", "manual"] - - ["group:logrus", "Entry", False, "WithTime", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "Entry", True, "Debug", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "Entry", True, "Debugf", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["group:logrus", "Entry", True, "Debugln", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "Entry", True, "Error", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "Entry", True, "Errorf", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["group:logrus", "Entry", True, "Errorln", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "Entry", True, "Fatal", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "Entry", True, "Fatalf", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["group:logrus", "Entry", True, "Fatalln", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "Entry", True, "Info", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "Entry", True, "Infof", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["group:logrus", "Entry", True, "Infoln", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "Entry", True, "Log", "", "", "Argument[1]", "log-injection", "manual"] + - ["group:logrus", "Entry", True, "Logf", "", "", "Argument[1..2]", "log-injection", "manual"] + - ["group:logrus", "Entry", True, "Logln", "", "", "Argument[1]", "log-injection", "manual"] + - ["group:logrus", "Entry", True, "Panic", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "Entry", True, "Panicf", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["group:logrus", "Entry", True, "Panicln", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "Entry", True, "Print", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "Entry", True, "Printf", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["group:logrus", "Entry", True, "Println", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "Entry", True, "Trace", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "Entry", True, "Tracef", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["group:logrus", "Entry", True, "Traceln", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "Entry", True, "Warn", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "Entry", True, "Warnf", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["group:logrus", "Entry", True, "Warnln", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "Entry", True, "Warning", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "Entry", True, "Warningf", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["group:logrus", "Entry", True, "Warningln", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "Entry", True, "WithError", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "Entry", True, "WithField", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["group:logrus", "Entry", True, "WithFields", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "Entry", True, "WithTime", "", "", "Argument[0]", "log-injection", "manual"] - - ["group:logrus", "FieldLogger", False, "Debug", "", "", "Argument[0]", "log-injection", "manual"] - - ["group:logrus", "FieldLogger", False, "Debugf", "", "", "Argument[0..1]", "log-injection", "manual"] - - ["group:logrus", "FieldLogger", False, "Debugln", "", "", "Argument[0]", "log-injection", "manual"] - - ["group:logrus", "FieldLogger", False, "Error", "", "", "Argument[0]", "log-injection", "manual"] - - ["group:logrus", "FieldLogger", False, "Errorf", "", "", "Argument[0..1]", "log-injection", "manual"] - - ["group:logrus", "FieldLogger", False, "Errorln", "", "", "Argument[0]", "log-injection", "manual"] - - ["group:logrus", "FieldLogger", False, "Fatal", "", "", "Argument[0]", "log-injection", "manual"] - - ["group:logrus", "FieldLogger", False, "Fatalf", "", "", "Argument[0..1]", "log-injection", "manual"] - - ["group:logrus", "FieldLogger", False, "Fatalln", "", "", "Argument[0]", "log-injection", "manual"] - - ["group:logrus", "FieldLogger", False, "Info", "", "", "Argument[0]", "log-injection", "manual"] - - ["group:logrus", "FieldLogger", False, "Infof", "", "", "Argument[0..1]", "log-injection", "manual"] - - ["group:logrus", "FieldLogger", False, "Infoln", "", "", "Argument[0]", "log-injection", "manual"] - - ["group:logrus", "FieldLogger", False, "Panic", "", "", "Argument[0]", "log-injection", "manual"] - - ["group:logrus", "FieldLogger", False, "Panicf", "", "", "Argument[0..1]", "log-injection", "manual"] - - ["group:logrus", "FieldLogger", False, "Panicln", "", "", "Argument[0]", "log-injection", "manual"] - - ["group:logrus", "FieldLogger", False, "Print", "", "", "Argument[0]", "log-injection", "manual"] - - ["group:logrus", "FieldLogger", False, "Printf", "", "", "Argument[0..1]", "log-injection", "manual"] - - ["group:logrus", "FieldLogger", False, "Println", "", "", "Argument[0]", "log-injection", "manual"] - - ["group:logrus", "FieldLogger", False, "Warn", "", "", "Argument[0]", "log-injection", "manual"] - - ["group:logrus", "FieldLogger", False, "Warnf", "", "", "Argument[0..1]", "log-injection", "manual"] - - ["group:logrus", "FieldLogger", False, "Warnln", "", "", "Argument[0]", "log-injection", "manual"] - - ["group:logrus", "FieldLogger", False, "Warning", "", "", "Argument[0]", "log-injection", "manual"] - - ["group:logrus", "FieldLogger", False, "Warningf", "", "", "Argument[0..1]", "log-injection", "manual"] - - ["group:logrus", "FieldLogger", False, "Warningln", "", "", "Argument[0]", "log-injection", "manual"] - - ["group:logrus", "FieldLogger", False, "WithError", "", "", "Argument[0]", "log-injection", "manual"] - - ["group:logrus", "FieldLogger", False, "WithField", "", "", "Argument[0..1]", "log-injection", "manual"] - - ["group:logrus", "FieldLogger", False, "WithFields", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "FieldLogger", True, "Debug", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "FieldLogger", True, "Debugf", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["group:logrus", "FieldLogger", True, "Debugln", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "FieldLogger", True, "Error", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "FieldLogger", True, "Errorf", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["group:logrus", "FieldLogger", True, "Errorln", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "FieldLogger", True, "Fatal", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "FieldLogger", True, "Fatalf", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["group:logrus", "FieldLogger", True, "Fatalln", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "FieldLogger", True, "Info", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "FieldLogger", True, "Infof", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["group:logrus", "FieldLogger", True, "Infoln", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "FieldLogger", True, "Panic", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "FieldLogger", True, "Panicf", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["group:logrus", "FieldLogger", True, "Panicln", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "FieldLogger", True, "Print", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "FieldLogger", True, "Printf", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["group:logrus", "FieldLogger", True, "Println", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "FieldLogger", True, "Warn", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "FieldLogger", True, "Warnf", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["group:logrus", "FieldLogger", True, "Warnln", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "FieldLogger", True, "Warning", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "FieldLogger", True, "Warningf", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["group:logrus", "FieldLogger", True, "Warningln", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "FieldLogger", True, "WithError", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "FieldLogger", True, "WithField", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["group:logrus", "FieldLogger", True, "WithFields", "", "", "Argument[0]", "log-injection", "manual"] - - ["group:logrus", "Logger", False, "Debug", "", "", "Argument[0]", "log-injection", "manual"] - - ["group:logrus", "Logger", False, "DebugFn", "", "", "Argument[0]", "log-injection", "manual"] - - ["group:logrus", "Logger", False, "Debugf", "", "", "Argument[0..1]", "log-injection", "manual"] - - ["group:logrus", "Logger", False, "Debugln", "", "", "Argument[0]", "log-injection", "manual"] - - ["group:logrus", "Logger", False, "Error", "", "", "Argument[0]", "log-injection", "manual"] - - ["group:logrus", "Logger", False, "ErrorFn", "", "", "Argument[0]", "log-injection", "manual"] - - ["group:logrus", "Logger", False, "Errorf", "", "", "Argument[0..1]", "log-injection", "manual"] - - ["group:logrus", "Logger", False, "Errorln", "", "", "Argument[0]", "log-injection", "manual"] - - ["group:logrus", "Logger", False, "Fatal", "", "", "Argument[0]", "log-injection", "manual"] - - ["group:logrus", "Logger", False, "FatalFn", "", "", "Argument[0]", "log-injection", "manual"] - - ["group:logrus", "Logger", False, "Fatalf", "", "", "Argument[0..1]", "log-injection", "manual"] - - ["group:logrus", "Logger", False, "Fatalln", "", "", "Argument[0]", "log-injection", "manual"] - - ["group:logrus", "Logger", False, "Info", "", "", "Argument[0]", "log-injection", "manual"] - - ["group:logrus", "Logger", False, "InfoFn", "", "", "Argument[0]", "log-injection", "manual"] - - ["group:logrus", "Logger", False, "Infof", "", "", "Argument[0..1]", "log-injection", "manual"] - - ["group:logrus", "Logger", False, "Infoln", "", "", "Argument[0]", "log-injection", "manual"] - - ["group:logrus", "Logger", False, "Log", "", "", "Argument[1]", "log-injection", "manual"] - - ["group:logrus", "Logger", False, "LogFn", "", "", "Argument[1]", "log-injection", "manual"] - - ["group:logrus", "Logger", False, "Logf", "", "", "Argument[1..2]", "log-injection", "manual"] - - ["group:logrus", "Logger", False, "Logln", "", "", "Argument[1]", "log-injection", "manual"] - - ["group:logrus", "Logger", False, "Panic", "", "", "Argument[0]", "log-injection", "manual"] - - ["group:logrus", "Logger", False, "PanicFn", "", "", "Argument[0]", "log-injection", "manual"] - - ["group:logrus", "Logger", False, "Panicf", "", "", "Argument[0..1]", "log-injection", "manual"] - - ["group:logrus", "Logger", False, "Panicln", "", "", "Argument[0]", "log-injection", "manual"] - - ["group:logrus", "Logger", False, "Print", "", "", "Argument[0]", "log-injection", "manual"] - - ["group:logrus", "Logger", False, "PrintFn", "", "", "Argument[0]", "log-injection", "manual"] - - ["group:logrus", "Logger", False, "Printf", "", "", "Argument[0..1]", "log-injection", "manual"] - - ["group:logrus", "Logger", False, "Println", "", "", "Argument[0]", "log-injection", "manual"] - - ["group:logrus", "Logger", False, "Trace", "", "", "Argument[0]", "log-injection", "manual"] - - ["group:logrus", "Logger", False, "TraceFn", "", "", "Argument[0]", "log-injection", "manual"] - - ["group:logrus", "Logger", False, "Tracef", "", "", "Argument[0..1]", "log-injection", "manual"] - - ["group:logrus", "Logger", False, "Traceln", "", "", "Argument[0]", "log-injection", "manual"] - - ["group:logrus", "Logger", False, "Warn", "", "", "Argument[0]", "log-injection", "manual"] - - ["group:logrus", "Logger", False, "WarnFn", "", "", "Argument[0]", "log-injection", "manual"] - - ["group:logrus", "Logger", False, "Warnf", "", "", "Argument[0..1]", "log-injection", "manual"] - - ["group:logrus", "Logger", False, "Warnln", "", "", "Argument[0]", "log-injection", "manual"] - - ["group:logrus", "Logger", False, "Warning", "", "", "Argument[0]", "log-injection", "manual"] - - ["group:logrus", "Logger", False, "WarningFn", "", "", "Argument[0]", "log-injection", "manual"] - - ["group:logrus", "Logger", False, "Warningf", "", "", "Argument[0..1]", "log-injection", "manual"] - - ["group:logrus", "Logger", False, "Warningln", "", "", "Argument[0]", "log-injection", "manual"] - - ["group:logrus", "Logger", False, "WithError", "", "", "Argument[0]", "log-injection", "manual"] - - ["group:logrus", "Logger", False, "WithField", "", "", "Argument[0..1]", "log-injection", "manual"] - - ["group:logrus", "Logger", False, "WithFields", "", "", "Argument[0]", "log-injection", "manual"] - - ["group:logrus", "Logger", False, "WithTime", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "Logger", True, "Debug", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "Logger", True, "DebugFn", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "Logger", True, "Debugf", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["group:logrus", "Logger", True, "Debugln", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "Logger", True, "Error", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "Logger", True, "ErrorFn", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "Logger", True, "Errorf", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["group:logrus", "Logger", True, "Errorln", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "Logger", True, "Fatal", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "Logger", True, "FatalFn", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "Logger", True, "Fatalf", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["group:logrus", "Logger", True, "Fatalln", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "Logger", True, "Info", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "Logger", True, "InfoFn", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "Logger", True, "Infof", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["group:logrus", "Logger", True, "Infoln", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "Logger", True, "Log", "", "", "Argument[1]", "log-injection", "manual"] + - ["group:logrus", "Logger", True, "LogFn", "", "", "Argument[1]", "log-injection", "manual"] + - ["group:logrus", "Logger", True, "Logf", "", "", "Argument[1..2]", "log-injection", "manual"] + - ["group:logrus", "Logger", True, "Logln", "", "", "Argument[1]", "log-injection", "manual"] + - ["group:logrus", "Logger", True, "Panic", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "Logger", True, "PanicFn", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "Logger", True, "Panicf", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["group:logrus", "Logger", True, "Panicln", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "Logger", True, "Print", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "Logger", True, "PrintFn", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "Logger", True, "Printf", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["group:logrus", "Logger", True, "Println", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "Logger", True, "Trace", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "Logger", True, "TraceFn", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "Logger", True, "Tracef", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["group:logrus", "Logger", True, "Traceln", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "Logger", True, "Warn", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "Logger", True, "WarnFn", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "Logger", True, "Warnf", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["group:logrus", "Logger", True, "Warnln", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "Logger", True, "Warning", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "Logger", True, "WarningFn", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "Logger", True, "Warningf", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["group:logrus", "Logger", True, "Warningln", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "Logger", True, "WithError", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "Logger", True, "WithField", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["group:logrus", "Logger", True, "WithFields", "", "", "Argument[0]", "log-injection", "manual"] + - ["group:logrus", "Logger", True, "WithTime", "", "", "Argument[0]", "log-injection", "manual"] diff --git a/go/ql/lib/ext/github.com.uptrace.bun.model.yml b/go/ql/lib/ext/github.com.uptrace.bun.model.yml index eb060b4f9ccb..a08adb07973d 100644 --- a/go/ql/lib/ext/github.com.uptrace.bun.model.yml +++ b/go/ql/lib/ext/github.com.uptrace.bun.model.yml @@ -3,7 +3,7 @@ extensions: pack: codeql/go-all extensible: sinkModel data: - - ["github.com/uptrace/bun", "", True, "NewRawQuery", "", "", "Argument[1]", "sql-injection", "manual"] + - ["github.com/uptrace/bun", "", False, "NewRawQuery", "", "", "Argument[1]", "sql-injection", "manual"] - ["github.com/uptrace/bun", "AddColumnQuery", True, "ColumnExpr", "", "", "Argument[0]", "sql-injection", "manual"] - ["github.com/uptrace/bun", "AddColumnQuery", True, "ModelTableExpr", "", "", "Argument[0]", "sql-injection", "manual"] - ["github.com/uptrace/bun", "AddColumnQuery", True, "TableExpr", "", "", "Argument[0]", "sql-injection", "manual"] diff --git a/go/ql/lib/ext/go.uber.org.zap.model.yml b/go/ql/lib/ext/go.uber.org.zap.model.yml index c4e43356f269..e9fc971e5fa2 100644 --- a/go/ql/lib/ext/go.uber.org.zap.model.yml +++ b/go/ql/lib/ext/go.uber.org.zap.model.yml @@ -3,39 +3,39 @@ extensions: pack: codeql/go-all extensible: sinkModel data: - - ["go.uber.org/zap", "Logger", False, "DPanic", "", "", "Argument[0..1]", "log-injection", "manual"] - - ["go.uber.org/zap", "Logger", False, "Debug", "", "", "Argument[0..1]", "log-injection", "manual"] - - ["go.uber.org/zap", "Logger", False, "Error", "", "", "Argument[0..1]", "log-injection", "manual"] - - ["go.uber.org/zap", "Logger", False, "Fatal", "", "", "Argument[0..1]", "log-injection", "manual"] - - ["go.uber.org/zap", "Logger", False, "Info", "", "", "Argument[0..1]", "log-injection", "manual"] - - ["go.uber.org/zap", "Logger", False, "Named", "", "", "Argument[0]", "log-injection", "manual"] - - ["go.uber.org/zap", "Logger", False, "Panic", "", "", "Argument[0..1]", "log-injection", "manual"] - - ["go.uber.org/zap", "Logger", False, "Warn", "", "", "Argument[0..1]", "log-injection", "manual"] - - ["go.uber.org/zap", "Logger", False, "With", "", "", "Argument[0]", "log-injection", "manual"] - - ["go.uber.org/zap", "Logger", False, "WithOptions", "", "", "Argument[0]", "log-injection", "manual"] - - ["go.uber.org/zap", "SugaredLogger", False, "DPanic", "", "", "Argument[0]", "log-injection", "manual"] - - ["go.uber.org/zap", "SugaredLogger", False, "DPanicf", "", "", "Argument[0..1]", "log-injection", "manual"] - - ["go.uber.org/zap", "SugaredLogger", False, "DPanicw", "", "", "Argument[0..1]", "log-injection", "manual"] - - ["go.uber.org/zap", "SugaredLogger", False, "Debug", "", "", "Argument[0]", "log-injection", "manual"] - - ["go.uber.org/zap", "SugaredLogger", False, "Debugf", "", "", "Argument[0..1]", "log-injection", "manual"] - - ["go.uber.org/zap", "SugaredLogger", False, "Debugw", "", "", "Argument[0..1]", "log-injection", "manual"] - - ["go.uber.org/zap", "SugaredLogger", False, "Error", "", "", "Argument[0]", "log-injection", "manual"] - - ["go.uber.org/zap", "SugaredLogger", False, "Errorf", "", "", "Argument[0..1]", "log-injection", "manual"] - - ["go.uber.org/zap", "SugaredLogger", False, "Errorw", "", "", "Argument[0..1]", "log-injection", "manual"] - - ["go.uber.org/zap", "SugaredLogger", False, "Fatal", "", "", "Argument[0]", "log-injection", "manual"] - - ["go.uber.org/zap", "SugaredLogger", False, "Fatalf", "", "", "Argument[0..1]", "log-injection", "manual"] - - ["go.uber.org/zap", "SugaredLogger", False, "Fatalw", "", "", "Argument[0..1]", "log-injection", "manual"] - - ["go.uber.org/zap", "SugaredLogger", False, "Info", "", "", "Argument[0]", "log-injection", "manual"] - - ["go.uber.org/zap", "SugaredLogger", False, "Infof", "", "", "Argument[0..1]", "log-injection", "manual"] - - ["go.uber.org/zap", "SugaredLogger", False, "Infow", "", "", "Argument[0..1]", "log-injection", "manual"] - - ["go.uber.org/zap", "SugaredLogger", False, "Named", "", "", "Argument[0]", "log-injection", "manual"] - - ["go.uber.org/zap", "SugaredLogger", False, "Panic", "", "", "Argument[0]", "log-injection", "manual"] - - ["go.uber.org/zap", "SugaredLogger", False, "Panicf", "", "", "Argument[0..1]", "log-injection", "manual"] - - ["go.uber.org/zap", "SugaredLogger", False, "Panicw", "", "", "Argument[0..1]", "log-injection", "manual"] - - ["go.uber.org/zap", "SugaredLogger", False, "Warn", "", "", "Argument[0]", "log-injection", "manual"] - - ["go.uber.org/zap", "SugaredLogger", False, "Warnf", "", "", "Argument[0..1]", "log-injection", "manual"] - - ["go.uber.org/zap", "SugaredLogger", False, "Warnw", "", "", "Argument[0..1]", "log-injection", "manual"] - - ["go.uber.org/zap", "SugaredLogger", False, "With", "", "", "Argument[0]", "log-injection", "manual"] + - ["go.uber.org/zap", "Logger", True, "DPanic", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["go.uber.org/zap", "Logger", True, "Debug", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["go.uber.org/zap", "Logger", True, "Error", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["go.uber.org/zap", "Logger", True, "Fatal", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["go.uber.org/zap", "Logger", True, "Info", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["go.uber.org/zap", "Logger", True, "Named", "", "", "Argument[0]", "log-injection", "manual"] + - ["go.uber.org/zap", "Logger", True, "Panic", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["go.uber.org/zap", "Logger", True, "Warn", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["go.uber.org/zap", "Logger", True, "With", "", "", "Argument[0]", "log-injection", "manual"] + - ["go.uber.org/zap", "Logger", True, "WithOptions", "", "", "Argument[0]", "log-injection", "manual"] + - ["go.uber.org/zap", "SugaredLogger", True, "DPanic", "", "", "Argument[0]", "log-injection", "manual"] + - ["go.uber.org/zap", "SugaredLogger", True, "DPanicf", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["go.uber.org/zap", "SugaredLogger", True, "DPanicw", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["go.uber.org/zap", "SugaredLogger", True, "Debug", "", "", "Argument[0]", "log-injection", "manual"] + - ["go.uber.org/zap", "SugaredLogger", True, "Debugf", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["go.uber.org/zap", "SugaredLogger", True, "Debugw", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["go.uber.org/zap", "SugaredLogger", True, "Error", "", "", "Argument[0]", "log-injection", "manual"] + - ["go.uber.org/zap", "SugaredLogger", True, "Errorf", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["go.uber.org/zap", "SugaredLogger", True, "Errorw", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["go.uber.org/zap", "SugaredLogger", True, "Fatal", "", "", "Argument[0]", "log-injection", "manual"] + - ["go.uber.org/zap", "SugaredLogger", True, "Fatalf", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["go.uber.org/zap", "SugaredLogger", True, "Fatalw", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["go.uber.org/zap", "SugaredLogger", True, "Info", "", "", "Argument[0]", "log-injection", "manual"] + - ["go.uber.org/zap", "SugaredLogger", True, "Infof", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["go.uber.org/zap", "SugaredLogger", True, "Infow", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["go.uber.org/zap", "SugaredLogger", True, "Named", "", "", "Argument[0]", "log-injection", "manual"] + - ["go.uber.org/zap", "SugaredLogger", True, "Panic", "", "", "Argument[0]", "log-injection", "manual"] + - ["go.uber.org/zap", "SugaredLogger", True, "Panicf", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["go.uber.org/zap", "SugaredLogger", True, "Panicw", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["go.uber.org/zap", "SugaredLogger", True, "Warn", "", "", "Argument[0]", "log-injection", "manual"] + - ["go.uber.org/zap", "SugaredLogger", True, "Warnf", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["go.uber.org/zap", "SugaredLogger", True, "Warnw", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["go.uber.org/zap", "SugaredLogger", True, "With", "", "", "Argument[0]", "log-injection", "manual"] - addsTo: pack: codeql/go-all extensible: summaryModel diff --git a/go/ql/lib/ext/log.model.yml b/go/ql/lib/ext/log.model.yml index 1ebce079a52f..4d1df7cf0821 100644 --- a/go/ql/lib/ext/log.model.yml +++ b/go/ql/lib/ext/log.model.yml @@ -13,16 +13,16 @@ extensions: - ["log", "", False, "Print", "", "", "Argument[0]", "log-injection", "manual"] - ["log", "", False, "Printf", "", "", "Argument[0..1]", "log-injection", "manual"] - ["log", "", False, "Println", "", "", "Argument[0]", "log-injection", "manual"] - - ["log", "Logger", False, "Fatal", "", "", "Argument[0]", "log-injection", "manual"] - - ["log", "Logger", False, "Fatalf", "", "", "Argument[0..1]", "log-injection", "manual"] - - ["log", "Logger", False, "Fatalln", "", "", "Argument[0]", "log-injection", "manual"] - - ["log", "Logger", False, "Output", "", "", "Argument[1]", "log-injection", "manual"] - - ["log", "Logger", False, "Panic", "", "", "Argument[0]", "log-injection", "manual"] - - ["log", "Logger", False, "Panicf", "", "", "Argument[0..1]", "log-injection", "manual"] - - ["log", "Logger", False, "Panicln", "", "", "Argument[0]", "log-injection", "manual"] - - ["log", "Logger", False, "Print", "", "", "Argument[0]", "log-injection", "manual"] - - ["log", "Logger", False, "Printf", "", "", "Argument[0..1]", "log-injection", "manual"] - - ["log", "Logger", False, "Println", "", "", "Argument[0]", "log-injection", "manual"] + - ["log", "Logger", True, "Fatal", "", "", "Argument[0]", "log-injection", "manual"] + - ["log", "Logger", True, "Fatalf", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["log", "Logger", True, "Fatalln", "", "", "Argument[0]", "log-injection", "manual"] + - ["log", "Logger", True, "Output", "", "", "Argument[1]", "log-injection", "manual"] + - ["log", "Logger", True, "Panic", "", "", "Argument[0]", "log-injection", "manual"] + - ["log", "Logger", True, "Panicf", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["log", "Logger", True, "Panicln", "", "", "Argument[0]", "log-injection", "manual"] + - ["log", "Logger", True, "Print", "", "", "Argument[0]", "log-injection", "manual"] + - ["log", "Logger", True, "Printf", "", "", "Argument[0..1]", "log-injection", "manual"] + - ["log", "Logger", True, "Println", "", "", "Argument[0]", "log-injection", "manual"] - addsTo: pack: codeql/go-all extensible: summaryModel From 874dc83f3fdf6b8f48141a96cbb00635f481679e Mon Sep 17 00:00:00 2001 From: Owen Mansel-Chan Date: Thu, 19 Sep 2024 10:34:33 +0100 Subject: [PATCH 289/347] Update test expectations --- .../frameworks/BeegoOrm/SqlInjection.expected | 86 +++++++++---------- .../frameworks/XNetHtml/SqlInjection.expected | 2 +- .../Security/CWE-089/SqlInjection.expected | 4 +- 3 files changed, 46 insertions(+), 46 deletions(-) diff --git a/go/ql/test/library-tests/semmle/go/frameworks/BeegoOrm/SqlInjection.expected b/go/ql/test/library-tests/semmle/go/frameworks/BeegoOrm/SqlInjection.expected index 992c1387103a..1198f8d41a9b 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/BeegoOrm/SqlInjection.expected +++ b/go/ql/test/library-tests/semmle/go/frameworks/BeegoOrm/SqlInjection.expected @@ -32,60 +32,60 @@ | test.go:59:31:59:39 | untrusted | test.go:57:15:57:41 | call to UserAgent | test.go:59:31:59:39 | untrusted | This query depends on a $@. | test.go:57:15:57:41 | call to UserAgent | user-provided value | | test.go:65:19:65:27 | untrusted | test.go:63:15:63:41 | call to UserAgent | test.go:65:19:65:27 | untrusted | This query depends on a $@. | test.go:63:15:63:41 | call to UserAgent | user-provided value | edges -| test.go:11:15:11:41 | call to UserAgent | test.go:13:11:13:19 | untrusted | provenance | Src:MaD:22 Sink:MaD:2 | -| test.go:11:15:11:41 | call to UserAgent | test.go:14:23:14:31 | untrusted | provenance | Src:MaD:22 Sink:MaD:3 | -| test.go:11:15:11:41 | call to UserAgent | test.go:15:14:15:22 | untrusted | provenance | Src:MaD:22 Sink:MaD:4 | -| test.go:11:15:11:41 | call to UserAgent | test.go:16:26:16:34 | untrusted | provenance | Src:MaD:22 Sink:MaD:5 | -| test.go:11:15:11:41 | call to UserAgent | test.go:17:12:17:20 | untrusted | provenance | Src:MaD:22 Sink:MaD:6 | -| test.go:11:15:11:41 | call to UserAgent | test.go:18:24:18:32 | untrusted | provenance | Src:MaD:22 Sink:MaD:7 | -| test.go:11:15:11:41 | call to UserAgent | test.go:19:15:19:23 | untrusted | provenance | Src:MaD:22 Sink:MaD:8 | -| test.go:11:15:11:41 | call to UserAgent | test.go:20:27:20:35 | untrusted | provenance | Src:MaD:22 Sink:MaD:9 | +| test.go:11:15:11:41 | call to UserAgent | test.go:13:11:13:19 | untrusted | provenance | Src:MaD:22 Sink:MaD:2 | +| test.go:11:15:11:41 | call to UserAgent | test.go:14:23:14:31 | untrusted | provenance | Src:MaD:22 Sink:MaD:3 | +| test.go:11:15:11:41 | call to UserAgent | test.go:15:14:15:22 | untrusted | provenance | Src:MaD:22 Sink:MaD:4 | +| test.go:11:15:11:41 | call to UserAgent | test.go:16:26:16:34 | untrusted | provenance | Src:MaD:22 Sink:MaD:5 | +| test.go:11:15:11:41 | call to UserAgent | test.go:17:12:17:20 | untrusted | provenance | Src:MaD:22 Sink:MaD:6 | +| test.go:11:15:11:41 | call to UserAgent | test.go:18:24:18:32 | untrusted | provenance | Src:MaD:22 Sink:MaD:7 | +| test.go:11:15:11:41 | call to UserAgent | test.go:19:15:19:23 | untrusted | provenance | Src:MaD:22 Sink:MaD:8 | +| test.go:11:15:11:41 | call to UserAgent | test.go:20:27:20:35 | untrusted | provenance | Src:MaD:22 Sink:MaD:9 | | test.go:25:15:25:41 | call to UserAgent | test.go:28:12:28:20 | untrusted | provenance | Src:MaD:22 | | test.go:25:15:25:41 | call to UserAgent | test.go:29:10:29:18 | untrusted | provenance | Src:MaD:22 | -| test.go:25:15:25:41 | call to UserAgent | test.go:30:15:30:23 | untrusted | provenance | Src:MaD:22 Sink:MaD:13 | -| test.go:25:15:25:41 | call to UserAgent | test.go:31:14:31:22 | untrusted | provenance | Src:MaD:22 Sink:MaD:15 | -| test.go:25:15:25:41 | call to UserAgent | test.go:32:15:32:23 | untrusted | provenance | Src:MaD:22 Sink:MaD:18 | -| test.go:25:15:25:41 | call to UserAgent | test.go:33:8:33:16 | untrusted | provenance | Src:MaD:22 Sink:MaD:16 | -| test.go:25:15:25:41 | call to UserAgent | test.go:34:11:34:19 | untrusted | provenance | Src:MaD:22 Sink:MaD:20 | -| test.go:25:15:25:41 | call to UserAgent | test.go:35:9:35:17 | untrusted | provenance | Src:MaD:22 Sink:MaD:11 | -| test.go:25:15:25:41 | call to UserAgent | test.go:36:8:36:16 | untrusted | provenance | Src:MaD:22 Sink:MaD:17 | +| test.go:25:15:25:41 | call to UserAgent | test.go:30:15:30:23 | untrusted | provenance | Src:MaD:22 Sink:MaD:13 | +| test.go:25:15:25:41 | call to UserAgent | test.go:31:14:31:22 | untrusted | provenance | Src:MaD:22 Sink:MaD:15 | +| test.go:25:15:25:41 | call to UserAgent | test.go:32:15:32:23 | untrusted | provenance | Src:MaD:22 Sink:MaD:18 | +| test.go:25:15:25:41 | call to UserAgent | test.go:33:8:33:16 | untrusted | provenance | Src:MaD:22 Sink:MaD:16 | +| test.go:25:15:25:41 | call to UserAgent | test.go:34:11:34:19 | untrusted | provenance | Src:MaD:22 Sink:MaD:20 | +| test.go:25:15:25:41 | call to UserAgent | test.go:35:9:35:17 | untrusted | provenance | Src:MaD:22 Sink:MaD:11 | +| test.go:25:15:25:41 | call to UserAgent | test.go:36:8:36:16 | untrusted | provenance | Src:MaD:22 Sink:MaD:17 | | test.go:25:15:25:41 | call to UserAgent | test.go:37:8:37:16 | untrusted | provenance | Src:MaD:22 | | test.go:25:15:25:41 | call to UserAgent | test.go:38:13:38:21 | untrusted | provenance | Src:MaD:22 | | test.go:25:15:25:41 | call to UserAgent | test.go:39:13:39:21 | untrusted | provenance | Src:MaD:22 | -| test.go:25:15:25:41 | call to UserAgent | test.go:40:12:40:20 | untrusted | provenance | Src:MaD:22 Sink:MaD:12 | +| test.go:25:15:25:41 | call to UserAgent | test.go:40:12:40:20 | untrusted | provenance | Src:MaD:22 Sink:MaD:12 | | test.go:25:15:25:41 | call to UserAgent | test.go:41:12:41:20 | untrusted | provenance | Src:MaD:22 | | test.go:25:15:25:41 | call to UserAgent | test.go:42:9:42:17 | untrusted | provenance | Src:MaD:22 | | test.go:25:15:25:41 | call to UserAgent | test.go:43:12:43:20 | untrusted | provenance | Src:MaD:22 | -| test.go:25:15:25:41 | call to UserAgent | test.go:44:16:44:24 | untrusted | provenance | Src:MaD:22 Sink:MaD:14 | +| test.go:25:15:25:41 | call to UserAgent | test.go:44:16:44:24 | untrusted | provenance | Src:MaD:22 Sink:MaD:14 | | test.go:25:15:25:41 | call to UserAgent | test.go:45:12:45:20 | untrusted | provenance | Src:MaD:22 | -| test.go:25:15:25:41 | call to UserAgent | test.go:46:14:46:22 | untrusted | provenance | Src:MaD:22 Sink:MaD:19 | +| test.go:25:15:25:41 | call to UserAgent | test.go:46:14:46:22 | untrusted | provenance | Src:MaD:22 Sink:MaD:19 | | test.go:26:16:26:42 | call to UserAgent | test.go:44:27:44:36 | untrusted2 | provenance | Src:MaD:22 | -| test.go:26:16:26:42 | call to UserAgent | test.go:46:25:46:34 | untrusted2 | provenance | Src:MaD:22 Sink:MaD:19 | -| test.go:50:15:50:41 | call to UserAgent | test.go:52:12:52:20 | untrusted | provenance | Src:MaD:22 Sink:MaD:10 | -| test.go:57:15:57:41 | call to UserAgent | test.go:59:31:59:39 | untrusted | provenance | Src:MaD:22 Sink:MaD:21 | -| test.go:63:15:63:41 | call to UserAgent | test.go:65:19:65:27 | untrusted | provenance | Src:MaD:22 Sink:MaD:1 | +| test.go:26:16:26:42 | call to UserAgent | test.go:46:25:46:34 | untrusted2 | provenance | Src:MaD:22 Sink:MaD:19 | +| test.go:50:15:50:41 | call to UserAgent | test.go:52:12:52:20 | untrusted | provenance | Src:MaD:22 Sink:MaD:10 | +| test.go:57:15:57:41 | call to UserAgent | test.go:59:31:59:39 | untrusted | provenance | Src:MaD:22 Sink:MaD:21 | +| test.go:63:15:63:41 | call to UserAgent | test.go:65:19:65:27 | untrusted | provenance | Src:MaD:22 Sink:MaD:1 | models -| 1 | Sink: group:beego-orm; Condition; false; Raw; ; ; Argument[1]; sql-injection; manual | -| 2 | Sink: group:beego-orm; DB; false; Exec; ; ; Argument[0]; sql-injection; manual | -| 3 | Sink: group:beego-orm; DB; false; ExecContext; ; ; Argument[1]; sql-injection; manual | -| 4 | Sink: group:beego-orm; DB; false; Prepare; ; ; Argument[0]; sql-injection; manual | -| 5 | Sink: group:beego-orm; DB; false; PrepareContext; ; ; Argument[1]; sql-injection; manual | -| 6 | Sink: group:beego-orm; DB; false; Query; ; ; Argument[0]; sql-injection; manual | -| 7 | Sink: group:beego-orm; DB; false; QueryContext; ; ; Argument[1]; sql-injection; manual | -| 8 | Sink: group:beego-orm; DB; false; QueryRow; ; ; Argument[0]; sql-injection; manual | -| 9 | Sink: group:beego-orm; DB; false; QueryRowContext; ; ; Argument[1]; sql-injection; manual | -| 10 | Sink: group:beego-orm; Ormer; false; Raw; ; ; Argument[0]; sql-injection; manual | -| 11 | Sink: group:beego-orm; QueryBuilder; false; And; ; ; Argument[0]; sql-injection; manual | -| 12 | Sink: group:beego-orm; QueryBuilder; false; Having; ; ; Argument[0]; sql-injection; manual | -| 13 | Sink: group:beego-orm; QueryBuilder; false; InnerJoin; ; ; Argument[0]; sql-injection; manual | -| 14 | Sink: group:beego-orm; QueryBuilder; false; InsertInto; ; ; Argument[0..1]; sql-injection; manual | -| 15 | Sink: group:beego-orm; QueryBuilder; false; LeftJoin; ; ; Argument[0]; sql-injection; manual | -| 16 | Sink: group:beego-orm; QueryBuilder; false; On; ; ; Argument[0]; sql-injection; manual | -| 17 | Sink: group:beego-orm; QueryBuilder; false; Or; ; ; Argument[0]; sql-injection; manual | -| 18 | Sink: group:beego-orm; QueryBuilder; false; RightJoin; ; ; Argument[0]; sql-injection; manual | -| 19 | Sink: group:beego-orm; QueryBuilder; false; Subquery; ; ; Argument[0..1]; sql-injection; manual | -| 20 | Sink: group:beego-orm; QueryBuilder; false; Where; ; ; Argument[0]; sql-injection; manual | -| 21 | Sink: group:beego-orm; QuerySeter; false; FilterRaw; ; ; Argument[1]; sql-injection; manual | +| 1 | Sink: group:beego-orm; Condition; true; Raw; ; ; Argument[1]; sql-injection; manual | +| 2 | Sink: group:beego-orm; DB; true; Exec; ; ; Argument[0]; sql-injection; manual | +| 3 | Sink: group:beego-orm; DB; true; ExecContext; ; ; Argument[1]; sql-injection; manual | +| 4 | Sink: group:beego-orm; DB; true; Prepare; ; ; Argument[0]; sql-injection; manual | +| 5 | Sink: group:beego-orm; DB; true; PrepareContext; ; ; Argument[1]; sql-injection; manual | +| 6 | Sink: group:beego-orm; DB; true; Query; ; ; Argument[0]; sql-injection; manual | +| 7 | Sink: group:beego-orm; DB; true; QueryContext; ; ; Argument[1]; sql-injection; manual | +| 8 | Sink: group:beego-orm; DB; true; QueryRow; ; ; Argument[0]; sql-injection; manual | +| 9 | Sink: group:beego-orm; DB; true; QueryRowContext; ; ; Argument[1]; sql-injection; manual | +| 10 | Sink: group:beego-orm; Ormer; true; Raw; ; ; Argument[0]; sql-injection; manual | +| 11 | Sink: group:beego-orm; QueryBuilder; true; And; ; ; Argument[0]; sql-injection; manual | +| 12 | Sink: group:beego-orm; QueryBuilder; true; Having; ; ; Argument[0]; sql-injection; manual | +| 13 | Sink: group:beego-orm; QueryBuilder; true; InnerJoin; ; ; Argument[0]; sql-injection; manual | +| 14 | Sink: group:beego-orm; QueryBuilder; true; InsertInto; ; ; Argument[0..1]; sql-injection; manual | +| 15 | Sink: group:beego-orm; QueryBuilder; true; LeftJoin; ; ; Argument[0]; sql-injection; manual | +| 16 | Sink: group:beego-orm; QueryBuilder; true; On; ; ; Argument[0]; sql-injection; manual | +| 17 | Sink: group:beego-orm; QueryBuilder; true; Or; ; ; Argument[0]; sql-injection; manual | +| 18 | Sink: group:beego-orm; QueryBuilder; true; RightJoin; ; ; Argument[0]; sql-injection; manual | +| 19 | Sink: group:beego-orm; QueryBuilder; true; Subquery; ; ; Argument[0..1]; sql-injection; manual | +| 20 | Sink: group:beego-orm; QueryBuilder; true; Where; ; ; Argument[0]; sql-injection; manual | +| 21 | Sink: group:beego-orm; QuerySeter; true; FilterRaw; ; ; Argument[1]; sql-injection; manual | | 22 | Source: net/http; Request; true; UserAgent; ; ; ReturnValue; remote; manual | nodes | test.go:11:15:11:41 | call to UserAgent | semmle.label | call to UserAgent | diff --git a/go/ql/test/library-tests/semmle/go/frameworks/XNetHtml/SqlInjection.expected b/go/ql/test/library-tests/semmle/go/frameworks/XNetHtml/SqlInjection.expected index d0b5c378c92b..8b2f05c297f8 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/XNetHtml/SqlInjection.expected +++ b/go/ql/test/library-tests/semmle/go/frameworks/XNetHtml/SqlInjection.expected @@ -4,7 +4,7 @@ edges | test.go:56:2:56:42 | ... := ...[0] | test.go:57:29:57:40 | selection of Value | provenance | Src:MaD:2 | | test.go:57:29:57:40 | selection of Value | test.go:57:11:57:41 | call to EscapeString | provenance | MaD:3 Sink:MaD:1 | models -| 1 | Sink: database/sql; DB; false; Query; ; ; Argument[0]; sql-injection; manual | +| 1 | Sink: database/sql; DB; true; Query; ; ; Argument[0]; sql-injection; manual | | 2 | Source: net/http; Request; true; Cookie; ; ; ReturnValue[0]; remote; manual | | 3 | Summary: golang.org/x/net/html; ; false; EscapeString; ; ; Argument[0]; ReturnValue; taint; manual | nodes diff --git a/go/ql/test/query-tests/Security/CWE-089/SqlInjection.expected b/go/ql/test/query-tests/Security/CWE-089/SqlInjection.expected index 18fc2e554e6f..1ce8c3d1dcf6 100644 --- a/go/ql/test/query-tests/Security/CWE-089/SqlInjection.expected +++ b/go/ql/test/query-tests/Security/CWE-089/SqlInjection.expected @@ -134,8 +134,8 @@ edges | mongoDB.go:50:23:50:40 | struct literal | mongoDB.go:81:18:81:25 | pipeline | provenance | Sink:MaD:16 | | mongoDB.go:50:34:50:39 | filter | mongoDB.go:50:23:50:40 | struct literal | provenance | Config | models -| 1 | Sink: database/sql; DB; false; Query; ; ; Argument[0]; sql-injection; manual | -| 2 | Sink: database/sql; Tx; false; Query; ; ; Argument[0]; sql-injection; manual | +| 1 | Sink: database/sql; DB; true; Query; ; ; Argument[0]; sql-injection; manual | +| 2 | Sink: database/sql; Tx; true; Query; ; ; Argument[0]; sql-injection; manual | | 3 | Sink: go.mongodb.org/mongo-driver/mongo; Collection; true; Aggregate; ; ; Argument[1]; nosql-injection; manual | | 4 | Sink: go.mongodb.org/mongo-driver/mongo; Collection; true; CountDocuments; ; ; Argument[1]; nosql-injection; manual | | 5 | Sink: go.mongodb.org/mongo-driver/mongo; Collection; true; DeleteMany; ; ; Argument[1]; nosql-injection; manual | From 9fc0dc569085f15f8825c31f715f4fa870b6131a Mon Sep 17 00:00:00 2001 From: Owen Mansel-Chan Date: Wed, 18 Sep 2024 14:43:55 +0100 Subject: [PATCH 290/347] Fix typo in unrelated QLDoc --- go/ql/lib/semmle/go/Scopes.qll | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/go/ql/lib/semmle/go/Scopes.qll b/go/ql/lib/semmle/go/Scopes.qll index f9b9e3a26b9a..c3671c74b5cd 100644 --- a/go/ql/lib/semmle/go/Scopes.qll +++ b/go/ql/lib/semmle/go/Scopes.qll @@ -472,7 +472,7 @@ class Function extends ValueEntity, @functionobject { /** Gets a parameter of this function. */ Parameter getAParameter() { result = this.getParameter(_) } - /** Gets the `i`th reslt variable of this function. */ + /** Gets the `i`th result variable of this function. */ ResultVariable getResult(int i) { result.isResultOf(this.getFuncDecl(), i) } /** Gets a result variable of this function. */ From e57d8983f5e9602070032efde858042e492f4851 Mon Sep 17 00:00:00 2001 From: Owen Mansel-Chan Date: Wed, 18 Sep 2024 13:51:13 +0100 Subject: [PATCH 291/347] Add heuristic logger calls --- go/ql/lib/semmle/go/Concepts.qll | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/go/ql/lib/semmle/go/Concepts.qll b/go/ql/lib/semmle/go/Concepts.qll index edb8e6c88fd1..16b32466f3df 100644 --- a/go/ql/lib/semmle/go/Concepts.qll +++ b/go/ql/lib/semmle/go/Concepts.qll @@ -390,6 +390,28 @@ private class DefaultLoggerCall extends LoggerCall::Range, DataFlow::CallNode { } } +/** + * A call to an interface that looks like a logger. It is common to use a + * locally-defined interface for logging to make it easy to changing logging + * library. + */ +private class HeuristicLoggerCall extends LoggerCall::Range, DataFlow::CallNode { + HeuristicLoggerCall() { + exists(Method m, string tp, string logLevel, string name | + m = this.getTarget() and + m.hasQualifiedName(_, tp, name) and + m.getReceiverBaseType().getUnderlyingType() instanceof InterfaceType + | + tp.regexpMatch(".*[lL]ogger") and + logLevel = + ["Debug", "Error", "Fatal", "Info", "Log", "Output", "Panic", "Print", "Trace", "Warn"] and + name.matches(logLevel + "%") + ) + } + + override DataFlow::Node getAMessageComponent() { result = this.getASyntacticArgument() } +} + /** * A function that encodes data into a binary or textual format. * From 307fdc0864a353a6dd241b0f701ea8c33d646832 Mon Sep 17 00:00:00 2001 From: Owen Mansel-Chan Date: Wed, 18 Sep 2024 16:50:37 +0100 Subject: [PATCH 292/347] Add tests for heuristic logger calls --- .../Security/CWE-117/LogInjection.go | 28 +++- .../test/query-tests/Security/CWE-117/go.mod | 27 +++- .../Security/CWE-117/vendor/modules.txt | 126 ++++++++++++++++-- 3 files changed, 168 insertions(+), 13 deletions(-) diff --git a/go/ql/test/query-tests/Security/CWE-117/LogInjection.go b/go/ql/test/query-tests/Security/CWE-117/LogInjection.go index 5cc9c81d4495..6fb628c4cc38 100644 --- a/go/ql/test/query-tests/Security/CWE-117/LogInjection.go +++ b/go/ql/test/query-tests/Security/CWE-117/LogInjection.go @@ -30,6 +30,7 @@ import ( func handler(req *http.Request, ctx *goproxy.ProxyCtx) { username := req.URL.Query()["username"][0] + slice := []any{"username", username} testFlag := req.URL.Query()["testFlag"][0] { @@ -412,8 +413,34 @@ func handler(req *http.Request, ctx *goproxy.ProxyCtx) { sLogger.Named(username) // $ hasTaintFlow="username" sLogger.With(username) // $ hasTaintFlow="username" } + // heuristic logger interface + { + logger.Printf(username) // $ hasTaintFlow="username" + logger.Printf("%s", username) // $ hasTaintFlow="username" + simpleLogger.Tracew(username) // $ hasTaintFlow="username" + simpleLogger.Tracew("%s", username) // $ hasTaintFlow="username" + simpleLogger.Debugw("%s %s", slice...) // $ hasTaintFlow="slice" + } + +} + +type Logger interface { + Printf(string, ...interface{}) } +type SimpleLogger interface { + Debugw(msg string, keysAndValues ...any) + Infow(msg string, keysAndValues ...any) + Warnw(msg string, keysAndValues ...any) + Errorw(msg string, keysAndValues ...any) + Tracew(msg string, keysAndValues ...any) +} + +var ( + logger Logger + simpleLogger SimpleLogger +) + // GOOD: The user-provided value is escaped before being written to the log. func handlerGood(req *http.Request) { username := req.URL.Query()["username"][0] @@ -649,5 +676,4 @@ func handlerGood4(req *http.Request, ctx *goproxy.ProxyCtx) { } sLogger.Warnf("user %#q logged in.\n", username) // $ hasTaintFlow="username" } - } diff --git a/go/ql/test/query-tests/Security/CWE-117/go.mod b/go/ql/test/query-tests/Security/CWE-117/go.mod index 57b2077a4ed1..906d90f31b66 100644 --- a/go/ql/test/query-tests/Security/CWE-117/go.mod +++ b/go/ql/test/query-tests/Security/CWE-117/go.mod @@ -1,14 +1,33 @@ module main -go 1.14 +go 1.23 require ( github.com/astaxie/beego v1.12.3 + github.com/davecgh/go-spew v1.1.1 github.com/elazarl/goproxy v0.0.0-20211114080932-d06c3be7c11b github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b - github.com/kr/text v0.2.0 // indirect github.com/sirupsen/logrus v1.8.1 - github.com/stretchr/testify v1.6.0 // indirect - golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f // indirect + go.uber.org/zap v1.27.0 k8s.io/klog v1.0.0 ) + +require ( + github.com/beorn7/perks v1.0.1 // indirect + github.com/cespare/xxhash/v2 v2.1.1 // indirect + github.com/golang/protobuf v1.4.2 // indirect + github.com/hashicorp/golang-lru v0.5.4 // indirect + github.com/matttproud/golang_protobuf_extensions v1.0.1 // indirect + github.com/prometheus/client_golang v1.7.0 // indirect + github.com/prometheus/client_model v0.2.0 // indirect + github.com/prometheus/common v0.10.0 // indirect + github.com/prometheus/procfs v0.1.3 // indirect + github.com/shiena/ansicolor v0.0.0-20151119151921-a422bbe96644 // indirect + go.uber.org/multierr v1.10.0 // indirect + golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550 // indirect + golang.org/x/net v0.0.0-20190620200207-3b0461eec859 // indirect + golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f // indirect + golang.org/x/text v0.3.0 // indirect + google.golang.org/protobuf v1.23.0 // indirect + gopkg.in/yaml.v2 v2.2.8 // indirect +) diff --git a/go/ql/test/query-tests/Security/CWE-117/vendor/modules.txt b/go/ql/test/query-tests/Security/CWE-117/vendor/modules.txt index a6227c09a936..fa7cb0a9a823 100644 --- a/go/ql/test/query-tests/Security/CWE-117/vendor/modules.txt +++ b/go/ql/test/query-tests/Security/CWE-117/vendor/modules.txt @@ -1,24 +1,134 @@ # github.com/astaxie/beego v1.12.3 -## explicit +## explicit; go 1.13 github.com/astaxie/beego +github.com/astaxie/beego/config +github.com/astaxie/beego/context +github.com/astaxie/beego/context/param +github.com/astaxie/beego/grace +github.com/astaxie/beego/logs +github.com/astaxie/beego/session +github.com/astaxie/beego/toolbox +github.com/astaxie/beego/utils +# github.com/beorn7/perks v1.0.1 +## explicit; go 1.11 +github.com/beorn7/perks/quantile +# github.com/cespare/xxhash/v2 v2.1.1 +## explicit; go 1.11 +github.com/cespare/xxhash/v2 +# github.com/davecgh/go-spew v1.1.1 +## explicit +github.com/davecgh/go-spew/spew # github.com/elazarl/goproxy v0.0.0-20211114080932-d06c3be7c11b ## explicit github.com/elazarl/goproxy # github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b ## explicit github.com/golang/glog -# github.com/kr/text v0.2.0 +# github.com/golang/protobuf v1.4.2 +## explicit; go 1.9 +github.com/golang/protobuf/proto +github.com/golang/protobuf/ptypes +github.com/golang/protobuf/ptypes/any +github.com/golang/protobuf/ptypes/duration +github.com/golang/protobuf/ptypes/timestamp +# github.com/hashicorp/golang-lru v0.5.4 +## explicit; go 1.12 +github.com/hashicorp/golang-lru +github.com/hashicorp/golang-lru/simplelru +# github.com/matttproud/golang_protobuf_extensions v1.0.1 ## explicit -github.com/kr/text -# github.com/sirupsen/logrus v1.8.1 +github.com/matttproud/golang_protobuf_extensions/pbutil +# github.com/prometheus/client_golang v1.7.0 +## explicit; go 1.11 +github.com/prometheus/client_golang/prometheus +github.com/prometheus/client_golang/prometheus/internal +github.com/prometheus/client_golang/prometheus/promhttp +# github.com/prometheus/client_model v0.2.0 +## explicit; go 1.9 +github.com/prometheus/client_model/go +# github.com/prometheus/common v0.10.0 +## explicit; go 1.11 +github.com/prometheus/common/expfmt +github.com/prometheus/common/internal/bitbucket.org/ww/goautoneg +github.com/prometheus/common/model +# github.com/prometheus/procfs v0.1.3 +## explicit; go 1.12 +github.com/prometheus/procfs +github.com/prometheus/procfs/internal/fs +github.com/prometheus/procfs/internal/util +# github.com/shiena/ansicolor v0.0.0-20151119151921-a422bbe96644 ## explicit +github.com/shiena/ansicolor +# github.com/sirupsen/logrus v1.8.1 +## explicit; go 1.13 github.com/sirupsen/logrus -# github.com/stretchr/testify v1.6.0 +# go.uber.org/multierr v1.10.0 +## explicit; go 1.19 +go.uber.org/multierr +# go.uber.org/zap v1.27.0 +## explicit; go 1.19 +go.uber.org/zap +go.uber.org/zap/buffer +go.uber.org/zap/internal +go.uber.org/zap/internal/bufferpool +go.uber.org/zap/internal/color +go.uber.org/zap/internal/exit +go.uber.org/zap/internal/pool +go.uber.org/zap/internal/stacktrace +go.uber.org/zap/zapcore +# golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550 ## explicit -github.com/stretchr/testify +golang.org/x/crypto/acme +golang.org/x/crypto/acme/autocert +# golang.org/x/net v0.0.0-20190620200207-3b0461eec859 +## explicit; go 1.11 +golang.org/x/net/idna # golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f +## explicit; go 1.12 +golang.org/x/sys/internal/unsafeheader +golang.org/x/sys/unix +golang.org/x/sys/windows +# golang.org/x/text v0.3.0 ## explicit -golang.org/x/sys -# k8s.io/klog v1.0.0 +golang.org/x/text/secure/bidirule +golang.org/x/text/transform +golang.org/x/text/unicode/bidi +golang.org/x/text/unicode/norm +# google.golang.org/protobuf v1.23.0 +## explicit; go 1.9 +google.golang.org/protobuf/encoding/prototext +google.golang.org/protobuf/encoding/protowire +google.golang.org/protobuf/internal/descfmt +google.golang.org/protobuf/internal/descopts +google.golang.org/protobuf/internal/detrand +google.golang.org/protobuf/internal/encoding/defval +google.golang.org/protobuf/internal/encoding/messageset +google.golang.org/protobuf/internal/encoding/tag +google.golang.org/protobuf/internal/encoding/text +google.golang.org/protobuf/internal/errors +google.golang.org/protobuf/internal/fieldnum +google.golang.org/protobuf/internal/fieldsort +google.golang.org/protobuf/internal/filedesc +google.golang.org/protobuf/internal/filetype +google.golang.org/protobuf/internal/flags +google.golang.org/protobuf/internal/genname +google.golang.org/protobuf/internal/impl +google.golang.org/protobuf/internal/mapsort +google.golang.org/protobuf/internal/pragma +google.golang.org/protobuf/internal/set +google.golang.org/protobuf/internal/strs +google.golang.org/protobuf/internal/version +google.golang.org/protobuf/proto +google.golang.org/protobuf/reflect/protoreflect +google.golang.org/protobuf/reflect/protoregistry +google.golang.org/protobuf/runtime/protoiface +google.golang.org/protobuf/runtime/protoimpl +google.golang.org/protobuf/types/known/anypb +google.golang.org/protobuf/types/known/durationpb +google.golang.org/protobuf/types/known/timestamppb +# gopkg.in/yaml.v2 v2.2.8 ## explicit +gopkg.in/yaml.v2 +# k8s.io/klog v1.0.0 +## explicit; go 1.12 k8s.io/klog From 918b0bfc53805ba403105857a6e37c352880a0b3 Mon Sep 17 00:00:00 2001 From: Paolo Tranquilli Date: Tue, 19 Nov 2024 12:48:36 +0100 Subject: [PATCH 293/347] Bazel: add `experimental` to `codeql_pack` --- actions/BUILD.bazel | 21 ++++---------- misc/bazel/pkg.bzl | 67 ++++++++++++++++++++++++++++++++++++++------- rust/BUILD.bazel | 25 ++++++----------- 3 files changed, 70 insertions(+), 43 deletions(-) diff --git a/actions/BUILD.bazel b/actions/BUILD.bazel index 72313410642f..b1af486543c6 100644 --- a/actions/BUILD.bazel +++ b/actions/BUILD.bazel @@ -2,19 +2,8 @@ load("//misc/bazel:pkg.bzl", "codeql_pack") package(default_visibility = ["//visibility:public"]) -[ - codeql_pack( - name = "-".join(parts), - srcs = [ - "//actions/extractor", - ], - pack_prefix = "/".join(parts), - ) - for parts in ( - ["actions"], - [ - "experimental", - "actions", - ], - ) -] +codeql_pack( + name = "actions", + srcs = ["//actions/extractor"], + experimental = True, +) diff --git a/misc/bazel/pkg.bzl b/misc/bazel/pkg.bzl index 8b4fcbdbd862..d455e99c7493 100644 --- a/misc/bazel/pkg.bzl +++ b/misc/bazel/pkg.bzl @@ -429,6 +429,8 @@ def codeql_pack( arch_overrides = None, pack_prefix = None, install_dest = "extractor-pack", + installer_alias = "install", + experimental = False, **kwargs): """ Define a codeql pack. @@ -448,22 +450,64 @@ def codeql_pack( contain the `{CODEQL_PLATFORM}` marker. All files in the pack will be prefixed with `name`, unless `pack_prefix` is set, then is used instead. - This rule also provides a convenient installer target named `-installer`, with a path governed by `install_dest`. - This installer is used for installing this pack into the source-tree, relative to the directory where the rule is used. - See `codeql_pack_install` for more details. The first `codeql_pack` defined in a bazel package also aliases this - installer target with the `install` name as a shortcut. + This rule also provides a convenient installer target named `-installer`, with a path governed by `install_dest`, + unless `install_dest == None`. This installer is used for installing this pack into the source-tree, relative to the + directory where the rule is used. See `codeql_pack_install` for more details. If present, `installer_alias` is used + to define a shorthand alias for `-installer`. Be sure to change `installer_alias` or set it to `None` if a + bazel package defines multiple `codeql_pack`s. + + If `experimental = True`, a second `codeql_pack` named `-experimental` is defined alongside the primary one with + an `experimental` pack prefix and no installer, intended to be used when packaging the full distribution. This function does not accept `visibility`, as packs are always public to make it easy to define pack groups. """ - internal = _make_internal(name) - zips = zips or {} if pack_prefix == None: pack_prefix = name + _codeql_pack_impl( + name, + srcs, + zips, + arch_overrides, + pack_prefix, + install_dest, + installer_alias, + pkg_filegroup_kwargs = kwargs, + ) + if experimental: + _codeql_pack_impl( + "%s-experimental" % name, + srcs, + zips, + arch_overrides, + pack_prefix = "experimental/%s" % pack_prefix, + install_dest = None, + installer_alias = None, + pkg_filegroup_kwargs = kwargs, + ) + + # TODO: remove this after internal repo update + native.alias( + name = "experimental-%s" % name, + actual = "%s-experimental" % name, + visibility = ["//visibility:public"], + ) + +def _codeql_pack_impl( + name, + srcs, + zips, + arch_overrides, + pack_prefix, + install_dest, + installer_alias, + pkg_filegroup_kwargs): + internal = _make_internal(name) + zips = zips or {} pkg_filegroup( name = internal("all"), srcs = srcs, visibility = ["//visibility:private"], - **kwargs + **pkg_filegroup_kwargs ) _codeql_pack_info( name = name, @@ -474,9 +518,12 @@ def codeql_pack( # packs are always public, so that we can easily bundle them into groups visibility = ["//visibility:public"], ) - _codeql_pack_install(internal("installer"), [name], install_dest = install_dest, apply_pack_prefix = False) - if not native.existing_rule("install"): - native.alias(name = "install", actual = internal("installer")) + if install_dest: + _codeql_pack_install(internal("installer"), [name], install_dest = install_dest, apply_pack_prefix = False) + + # TODO: remove deprecated `native.existing_rule(installer_alias)` after internal repo update + if installer_alias and not native.existing_rule(installer_alias): + native.alias(name = installer_alias, actual = internal("installer")) strip_prefix = _strip_prefix diff --git a/rust/BUILD.bazel b/rust/BUILD.bazel index 4c0bb1721f1e..aee5d77aa643 100644 --- a/rust/BUILD.bazel +++ b/rust/BUILD.bazel @@ -46,20 +46,11 @@ codeql_pkg_files( ], ) -[ - codeql_pack( - name = "-".join(parts), - srcs = [ - ":root-files", - ":tools", - ], - pack_prefix = "/".join(parts), - ) - for parts in ( - ["rust"], - [ - "experimental", - "rust", - ], - ) -] +codeql_pack( + name = "rust", + srcs = [ + ":root-files", + ":tools", + ], + experimental = True, +) From 49eefccde1a73cc3e9d2bce670556652f2beac72 Mon Sep 17 00:00:00 2001 From: Geoffrey White <40627776+geoffw0@users.noreply.github.com> Date: Tue, 19 Nov 2024 11:49:02 +0000 Subject: [PATCH 294/347] Rust: Autoformat. --- rust/ql/lib/codeql/rust/Concepts.qll | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/rust/ql/lib/codeql/rust/Concepts.qll b/rust/ql/lib/codeql/rust/Concepts.qll index f64d2444573c..62cd24467d1c 100644 --- a/rust/ql/lib/codeql/rust/Concepts.qll +++ b/rust/ql/lib/codeql/rust/Concepts.qll @@ -53,9 +53,7 @@ module ThreatModelSource { * A data flow source that is enabled in the current threat model configuration. */ class ActiveThreatModelSource extends ThreatModelSource { - ActiveThreatModelSource() { - currentThreatModel(this.getThreatModel()) - } + ActiveThreatModelSource() { currentThreatModel(this.getThreatModel()) } } /** From 758092b1d63dcdcd58f8dcdc642c50f23ede2c77 Mon Sep 17 00:00:00 2001 From: Geoffrey White <40627776+geoffw0@users.noreply.github.com> Date: Tue, 19 Nov 2024 12:04:15 +0000 Subject: [PATCH 295/347] Rust: Add consistency check failures. --- .../security/CWE-089/CONSISTENCY/DataFlowConsistency.expected | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 rust/ql/test/query-tests/security/CWE-089/CONSISTENCY/DataFlowConsistency.expected diff --git a/rust/ql/test/query-tests/security/CWE-089/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/query-tests/security/CWE-089/CONSISTENCY/DataFlowConsistency.expected new file mode 100644 index 000000000000..d9a60435a6f9 --- /dev/null +++ b/rust/ql/test/query-tests/security/CWE-089/CONSISTENCY/DataFlowConsistency.expected @@ -0,0 +1,3 @@ +uniqueNodeToString +| sqlx.rs:154:13:154:81 | (no string representation) | Node should have one toString but has 0. | +| sqlx.rs:156:17:156:86 | (no string representation) | Node should have one toString but has 0. | From 6ae979293ceffc6e0931206ac125351aa9c8d711 Mon Sep 17 00:00:00 2001 From: Simon Friis Vindum Date: Tue, 19 Nov 2024 13:26:01 +0100 Subject: [PATCH 296/347] Rust: Accept inconsistencies --- .../dataflow/barrier/inline-flow.expected | 10 ++++++++-- .../CONSISTENCY/DataFlowConsistency.expected | 4 ++++ .../CONSISTENCY/DataFlowConsistency.expected | 5 +++++ .../variables/CONSISTENCY/DataFlowConsistency.expected | 5 +++++ .../CONSISTENCY/DataFlowConsistency.expected | 7 +++++++ 5 files changed, 29 insertions(+), 2 deletions(-) create mode 100644 rust/ql/test/library-tests/definitions/CONSISTENCY/DataFlowConsistency.expected create mode 100644 rust/ql/test/library-tests/formatstrings/CONSISTENCY/DataFlowConsistency.expected create mode 100644 rust/ql/test/library-tests/variables/CONSISTENCY/DataFlowConsistency.expected create mode 100644 rust/ql/test/query-tests/unusedentities/CONSISTENCY/DataFlowConsistency.expected diff --git a/rust/ql/test/library-tests/dataflow/barrier/inline-flow.expected b/rust/ql/test/library-tests/dataflow/barrier/inline-flow.expected index c59ea4cc6703..a54c75d0c17f 100644 --- a/rust/ql/test/library-tests/dataflow/barrier/inline-flow.expected +++ b/rust/ql/test/library-tests/dataflow/barrier/inline-flow.expected @@ -1,10 +1,16 @@ models edges +| main.rs:21:13:21:21 | CallExpr : unit | main.rs:22:10:22:10 | s | provenance | | +| main.rs:32:13:32:21 | CallExpr : unit | main.rs:33:10:33:10 | s | provenance | | nodes | main.rs:17:10:17:18 | CallExpr | semmle.label | CallExpr | +| main.rs:21:13:21:21 | CallExpr : unit | semmle.label | CallExpr : unit | +| main.rs:22:10:22:10 | s | semmle.label | s | +| main.rs:32:13:32:21 | CallExpr : unit | semmle.label | CallExpr : unit | +| main.rs:33:10:33:10 | s | semmle.label | s | subpaths testFailures -| main.rs:22:14:22:32 | Comment | Missing result: hasValueFlow=1 | -| main.rs:33:14:33:32 | Comment | Missing result: hasValueFlow=1 | #select | main.rs:17:10:17:18 | CallExpr | main.rs:17:10:17:18 | CallExpr | main.rs:17:10:17:18 | CallExpr | $@ | main.rs:17:10:17:18 | CallExpr | CallExpr | +| main.rs:22:10:22:10 | s | main.rs:21:13:21:21 | CallExpr : unit | main.rs:22:10:22:10 | s | $@ | main.rs:21:13:21:21 | CallExpr : unit | CallExpr : unit | +| main.rs:33:10:33:10 | s | main.rs:32:13:32:21 | CallExpr : unit | main.rs:33:10:33:10 | s | $@ | main.rs:32:13:32:21 | CallExpr : unit | CallExpr : unit | diff --git a/rust/ql/test/library-tests/definitions/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/library-tests/definitions/CONSISTENCY/DataFlowConsistency.expected new file mode 100644 index 000000000000..8d729bb5fd93 --- /dev/null +++ b/rust/ql/test/library-tests/definitions/CONSISTENCY/DataFlowConsistency.expected @@ -0,0 +1,4 @@ +uniqueEnclosingCallable +| main.rs:5:29:5:33 | width | Node should have one enclosing callable but has 0. | +| main.rs:5:36:5:44 | precision | Node should have one enclosing callable but has 0. | +| main.rs:9:22:9:27 | people | Node should have one enclosing callable but has 0. | diff --git a/rust/ql/test/library-tests/formatstrings/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/library-tests/formatstrings/CONSISTENCY/DataFlowConsistency.expected new file mode 100644 index 000000000000..5bd870a72056 --- /dev/null +++ b/rust/ql/test/library-tests/formatstrings/CONSISTENCY/DataFlowConsistency.expected @@ -0,0 +1,5 @@ +uniqueEnclosingCallable +| main.rs:5:29:5:33 | width | Node should have one enclosing callable but has 0. | +| main.rs:5:36:5:44 | precision | Node should have one enclosing callable but has 0. | +| main.rs:16:22:16:27 | people | Node should have one enclosing callable but has 0. | +| main.rs:27:23:27:27 | width | Node should have one enclosing callable but has 0. | diff --git a/rust/ql/test/library-tests/variables/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/library-tests/variables/CONSISTENCY/DataFlowConsistency.expected new file mode 100644 index 000000000000..1a8949ec25f9 --- /dev/null +++ b/rust/ql/test/library-tests/variables/CONSISTENCY/DataFlowConsistency.expected @@ -0,0 +1,5 @@ +localFlowIsLocal +| variables.rs:400:9:400:9 | x | variables.rs:402:15:404:5 | [SSA] x | Local flow step does not preserve enclosing callable. | +| variables.rs:410:9:410:13 | x | variables.rs:412:20:414:5 | [SSA] x | Local flow step does not preserve enclosing callable. | +| variables.rs:418:9:418:13 | y | variables.rs:421:9:421:9 | [SSA] y | Local flow step does not preserve enclosing callable. | +| variables.rs:436:9:436:13 | i | variables.rs:438:9:438:9 | [SSA] i | Local flow step does not preserve enclosing callable. | diff --git a/rust/ql/test/query-tests/unusedentities/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/query-tests/unusedentities/CONSISTENCY/DataFlowConsistency.expected new file mode 100644 index 000000000000..47300d3b9fa9 --- /dev/null +++ b/rust/ql/test/query-tests/unusedentities/CONSISTENCY/DataFlowConsistency.expected @@ -0,0 +1,7 @@ +uniqueEnclosingCallable +| main.rs:194:25:194:25 | x | Node should have one enclosing callable but has 0. | +| main.rs:198:28:198:28 | x | Node should have one enclosing callable but has 0. | +| main.rs:202:28:202:28 | x | Node should have one enclosing callable but has 0. | +| main.rs:206:28:206:28 | x | Node should have one enclosing callable but has 0. | +localFlowIsLocal +| main.rs:432:9:432:10 | i6 | main.rs:434:20:434:44 | [SSA] i6 | Local flow step does not preserve enclosing callable. | From f1e95a8a1dee4d68038779011bf3414564080f4f Mon Sep 17 00:00:00 2001 From: Napalys Date: Tue, 19 Nov 2024 14:09:58 +0100 Subject: [PATCH 297/347] JS: Add: taint step test cases for findLastIndex, findLast, find --- .../ql/test/library-tests/Arrays/DataFlow.ql | 5 +- .../library-tests/Arrays/TaintFlow.expected | 2 + .../ql/test/library-tests/Arrays/TaintFlow.ql | 5 +- .../ql/test/library-tests/Arrays/arrays.js | 17 + .../library-tests/Arrays/printAst.expected | 504 +++++++++++++----- 5 files changed, 396 insertions(+), 137 deletions(-) diff --git a/javascript/ql/test/library-tests/Arrays/DataFlow.ql b/javascript/ql/test/library-tests/Arrays/DataFlow.ql index 80c9f068a10f..5c5f4a0d10e6 100644 --- a/javascript/ql/test/library-tests/Arrays/DataFlow.ql +++ b/javascript/ql/test/library-tests/Arrays/DataFlow.ql @@ -3,7 +3,10 @@ import javascript class ArrayFlowConfig extends DataFlow::Configuration { ArrayFlowConfig() { this = "ArrayFlowConfig" } - override predicate isSource(DataFlow::Node source) { source.asExpr().getStringValue() = "source" } + override predicate isSource(DataFlow::Node source) { + source.asExpr().getStringValue() = "source" or + source.(DataFlow::CallNode).getCalleeName() = "source" + } override predicate isSink(DataFlow::Node sink) { sink = any(DataFlow::CallNode call | call.getCalleeName() = "sink").getAnArgument() diff --git a/javascript/ql/test/library-tests/Arrays/TaintFlow.expected b/javascript/ql/test/library-tests/Arrays/TaintFlow.expected index 06260a21c1ce..e17fe726d16d 100644 --- a/javascript/ql/test/library-tests/Arrays/TaintFlow.expected +++ b/javascript/ql/test/library-tests/Arrays/TaintFlow.expected @@ -35,3 +35,5 @@ | arrays.js:120:19:120:26 | "source" | arrays.js:121:46:121:49 | item | | arrays.js:120:19:120:26 | "source" | arrays.js:122:10:122:16 | element | | arrays.js:126:19:126:26 | "source" | arrays.js:127:55:127:58 | item | +| arrays.js:131:17:131:24 | source() | arrays.js:133:10:133:17 | element1 | +| arrays.js:137:17:137:24 | source() | arrays.js:139:10:139:17 | element1 | diff --git a/javascript/ql/test/library-tests/Arrays/TaintFlow.ql b/javascript/ql/test/library-tests/Arrays/TaintFlow.ql index cee2f294a349..d8f187591624 100644 --- a/javascript/ql/test/library-tests/Arrays/TaintFlow.ql +++ b/javascript/ql/test/library-tests/Arrays/TaintFlow.ql @@ -3,7 +3,10 @@ import javascript class ArrayTaintFlowConfig extends TaintTracking::Configuration { ArrayTaintFlowConfig() { this = "ArrayTaintFlowConfig" } - override predicate isSource(DataFlow::Node source) { source.asExpr().getStringValue() = "source" } + override predicate isSource(DataFlow::Node source) { + source.asExpr().getStringValue() = "source" or + source.(DataFlow::CallNode).getCalleeName() = "source" + } override predicate isSink(DataFlow::Node sink) { sink = any(DataFlow::CallNode call | call.getCalleeName() = "sink").getAnArgument() diff --git a/javascript/ql/test/library-tests/Arrays/arrays.js b/javascript/ql/test/library-tests/Arrays/arrays.js index 00aa0c59e18b..862dae77967e 100644 --- a/javascript/ql/test/library-tests/Arrays/arrays.js +++ b/javascript/ql/test/library-tests/Arrays/arrays.js @@ -127,4 +127,21 @@ const element = list.findLastIndex((item) => sink(item)); // NOT OK sink(element); // OK } + { + const arr = source(); + const element1 = arr.find((item) => sink(item)); // NOT OK - only found with taint-tracking. + sink(element1); // NOT OK + } + + { + const arr = source(); + const element1 = arr.findLast((item) => sink(item)); // NOT OK - only found with taint-tracking. + sink(element1); // NOT OK + } + + { + const arr = source(); + const element1 = arr.findLastIndex((item) => sink(item)); // NOT OK - only found with taint-tracking. + sink(element1); // OK + } }); diff --git a/javascript/ql/test/library-tests/Arrays/printAst.expected b/javascript/ql/test/library-tests/Arrays/printAst.expected index 6a23be2dee6d..a825b12f3fbd 100644 --- a/javascript/ql/test/library-tests/Arrays/printAst.expected +++ b/javascript/ql/test/library-tests/Arrays/printAst.expected @@ -1,9 +1,9 @@ nodes -| arrays.js:1:1:130:2 | [ParExpr] (functi ... } }) | semmle.label | [ParExpr] (functi ... } }) | -| arrays.js:1:1:130:3 | [ExprStmt] (functi ... } }); | semmle.label | [ExprStmt] (functi ... } }); | -| arrays.js:1:1:130:3 | [ExprStmt] (functi ... } }); | semmle.order | 1 | -| arrays.js:1:2:130:1 | [FunctionExpr] functio ... K } } | semmle.label | [FunctionExpr] functio ... K } } | -| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | semmle.label | [BlockStmt] { let ... K } } | +| arrays.js:1:1:147:2 | [ParExpr] (functi ... } }) | semmle.label | [ParExpr] (functi ... } }) | +| arrays.js:1:1:147:3 | [ExprStmt] (functi ... } }); | semmle.label | [ExprStmt] (functi ... } }); | +| arrays.js:1:1:147:3 | [ExprStmt] (functi ... } }); | semmle.order | 1 | +| arrays.js:1:2:147:1 | [FunctionExpr] functio ... K } } | semmle.label | [FunctionExpr] functio ... K } } | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | semmle.label | [BlockStmt] { let ... K } } | | arrays.js:2:3:2:24 | [DeclStmt] let source = ... | semmle.label | [DeclStmt] let source = ... | | arrays.js:2:7:2:12 | [VarDecl] source | semmle.label | [VarDecl] source | | arrays.js:2:7:2:23 | [VariableDeclarator] source = "source" | semmle.label | [VariableDeclarator] source = "source" | @@ -561,6 +561,72 @@ nodes | arrays.js:128:5:128:17 | [CallExpr] sink(element) | semmle.label | [CallExpr] sink(element) | | arrays.js:128:5:128:18 | [ExprStmt] sink(element); | semmle.label | [ExprStmt] sink(element); | | arrays.js:128:10:128:16 | [VarRef] element | semmle.label | [VarRef] element | +| arrays.js:130:3:134:3 | [BlockStmt] { c ... OK } | semmle.label | [BlockStmt] { c ... OK } | +| arrays.js:131:5:131:25 | [DeclStmt] const arr = ... | semmle.label | [DeclStmt] const arr = ... | +| arrays.js:131:11:131:13 | [VarDecl] arr | semmle.label | [VarDecl] arr | +| arrays.js:131:11:131:24 | [VariableDeclarator] arr = source() | semmle.label | [VariableDeclarator] arr = source() | +| arrays.js:131:17:131:22 | [VarRef] source | semmle.label | [VarRef] source | +| arrays.js:131:17:131:24 | [CallExpr] source() | semmle.label | [CallExpr] source() | +| arrays.js:132:5:132:52 | [DeclStmt] const element1 = ... | semmle.label | [DeclStmt] const element1 = ... | +| arrays.js:132:11:132:18 | [VarDecl] element1 | semmle.label | [VarDecl] element1 | +| arrays.js:132:11:132:51 | [VariableDeclarator] element ... (item)) | semmle.label | [VariableDeclarator] element ... (item)) | +| arrays.js:132:22:132:24 | [VarRef] arr | semmle.label | [VarRef] arr | +| arrays.js:132:22:132:29 | [DotExpr] arr.find | semmle.label | [DotExpr] arr.find | +| arrays.js:132:22:132:51 | [MethodCallExpr] arr.fin ... (item)) | semmle.label | [MethodCallExpr] arr.fin ... (item)) | +| arrays.js:132:26:132:29 | [Label] find | semmle.label | [Label] find | +| arrays.js:132:31:132:50 | [ArrowFunctionExpr] (item) => sink(item) | semmle.label | [ArrowFunctionExpr] (item) => sink(item) | +| arrays.js:132:32:132:35 | [SimpleParameter] item | semmle.label | [SimpleParameter] item | +| arrays.js:132:41:132:44 | [VarRef] sink | semmle.label | [VarRef] sink | +| arrays.js:132:41:132:50 | [CallExpr] sink(item) | semmle.label | [CallExpr] sink(item) | +| arrays.js:132:46:132:49 | [VarRef] item | semmle.label | [VarRef] item | +| arrays.js:133:5:133:8 | [VarRef] sink | semmle.label | [VarRef] sink | +| arrays.js:133:5:133:18 | [CallExpr] sink(element1) | semmle.label | [CallExpr] sink(element1) | +| arrays.js:133:5:133:19 | [ExprStmt] sink(element1); | semmle.label | [ExprStmt] sink(element1); | +| arrays.js:133:10:133:17 | [VarRef] element1 | semmle.label | [VarRef] element1 | +| arrays.js:136:3:140:3 | [BlockStmt] { c ... OK } | semmle.label | [BlockStmt] { c ... OK } | +| arrays.js:137:5:137:25 | [DeclStmt] const arr = ... | semmle.label | [DeclStmt] const arr = ... | +| arrays.js:137:11:137:13 | [VarDecl] arr | semmle.label | [VarDecl] arr | +| arrays.js:137:11:137:24 | [VariableDeclarator] arr = source() | semmle.label | [VariableDeclarator] arr = source() | +| arrays.js:137:17:137:22 | [VarRef] source | semmle.label | [VarRef] source | +| arrays.js:137:17:137:24 | [CallExpr] source() | semmle.label | [CallExpr] source() | +| arrays.js:138:5:138:56 | [DeclStmt] const element1 = ... | semmle.label | [DeclStmt] const element1 = ... | +| arrays.js:138:11:138:18 | [VarDecl] element1 | semmle.label | [VarDecl] element1 | +| arrays.js:138:11:138:55 | [VariableDeclarator] element ... (item)) | semmle.label | [VariableDeclarator] element ... (item)) | +| arrays.js:138:22:138:24 | [VarRef] arr | semmle.label | [VarRef] arr | +| arrays.js:138:22:138:33 | [DotExpr] arr.findLast | semmle.label | [DotExpr] arr.findLast | +| arrays.js:138:22:138:55 | [MethodCallExpr] arr.fin ... (item)) | semmle.label | [MethodCallExpr] arr.fin ... (item)) | +| arrays.js:138:26:138:33 | [Label] findLast | semmle.label | [Label] findLast | +| arrays.js:138:35:138:54 | [ArrowFunctionExpr] (item) => sink(item) | semmle.label | [ArrowFunctionExpr] (item) => sink(item) | +| arrays.js:138:36:138:39 | [SimpleParameter] item | semmle.label | [SimpleParameter] item | +| arrays.js:138:45:138:48 | [VarRef] sink | semmle.label | [VarRef] sink | +| arrays.js:138:45:138:54 | [CallExpr] sink(item) | semmle.label | [CallExpr] sink(item) | +| arrays.js:138:50:138:53 | [VarRef] item | semmle.label | [VarRef] item | +| arrays.js:139:5:139:8 | [VarRef] sink | semmle.label | [VarRef] sink | +| arrays.js:139:5:139:18 | [CallExpr] sink(element1) | semmle.label | [CallExpr] sink(element1) | +| arrays.js:139:5:139:19 | [ExprStmt] sink(element1); | semmle.label | [ExprStmt] sink(element1); | +| arrays.js:139:10:139:17 | [VarRef] element1 | semmle.label | [VarRef] element1 | +| arrays.js:142:3:146:3 | [BlockStmt] { c ... OK } | semmle.label | [BlockStmt] { c ... OK } | +| arrays.js:143:5:143:25 | [DeclStmt] const arr = ... | semmle.label | [DeclStmt] const arr = ... | +| arrays.js:143:11:143:13 | [VarDecl] arr | semmle.label | [VarDecl] arr | +| arrays.js:143:11:143:24 | [VariableDeclarator] arr = source() | semmle.label | [VariableDeclarator] arr = source() | +| arrays.js:143:17:143:22 | [VarRef] source | semmle.label | [VarRef] source | +| arrays.js:143:17:143:24 | [CallExpr] source() | semmle.label | [CallExpr] source() | +| arrays.js:144:5:144:61 | [DeclStmt] const element1 = ... | semmle.label | [DeclStmt] const element1 = ... | +| arrays.js:144:11:144:18 | [VarDecl] element1 | semmle.label | [VarDecl] element1 | +| arrays.js:144:11:144:60 | [VariableDeclarator] element ... (item)) | semmle.label | [VariableDeclarator] element ... (item)) | +| arrays.js:144:22:144:24 | [VarRef] arr | semmle.label | [VarRef] arr | +| arrays.js:144:22:144:38 | [DotExpr] arr.findLastIndex | semmle.label | [DotExpr] arr.findLastIndex | +| arrays.js:144:22:144:60 | [MethodCallExpr] arr.fin ... (item)) | semmle.label | [MethodCallExpr] arr.fin ... (item)) | +| arrays.js:144:26:144:38 | [Label] findLastIndex | semmle.label | [Label] findLastIndex | +| arrays.js:144:40:144:59 | [ArrowFunctionExpr] (item) => sink(item) | semmle.label | [ArrowFunctionExpr] (item) => sink(item) | +| arrays.js:144:41:144:44 | [SimpleParameter] item | semmle.label | [SimpleParameter] item | +| arrays.js:144:50:144:53 | [VarRef] sink | semmle.label | [VarRef] sink | +| arrays.js:144:50:144:59 | [CallExpr] sink(item) | semmle.label | [CallExpr] sink(item) | +| arrays.js:144:55:144:58 | [VarRef] item | semmle.label | [VarRef] item | +| arrays.js:145:5:145:8 | [VarRef] sink | semmle.label | [VarRef] sink | +| arrays.js:145:5:145:18 | [CallExpr] sink(element1) | semmle.label | [CallExpr] sink(element1) | +| arrays.js:145:5:145:19 | [ExprStmt] sink(element1); | semmle.label | [ExprStmt] sink(element1); | +| arrays.js:145:10:145:17 | [VarRef] element1 | semmle.label | [VarRef] element1 | | file://:0:0:0:0 | (Arguments) | semmle.label | (Arguments) | | file://:0:0:0:0 | (Arguments) | semmle.label | (Arguments) | | file://:0:0:0:0 | (Arguments) | semmle.label | (Arguments) | @@ -629,6 +695,18 @@ nodes | file://:0:0:0:0 | (Arguments) | semmle.label | (Arguments) | | file://:0:0:0:0 | (Arguments) | semmle.label | (Arguments) | | file://:0:0:0:0 | (Arguments) | semmle.label | (Arguments) | +| file://:0:0:0:0 | (Arguments) | semmle.label | (Arguments) | +| file://:0:0:0:0 | (Arguments) | semmle.label | (Arguments) | +| file://:0:0:0:0 | (Arguments) | semmle.label | (Arguments) | +| file://:0:0:0:0 | (Arguments) | semmle.label | (Arguments) | +| file://:0:0:0:0 | (Arguments) | semmle.label | (Arguments) | +| file://:0:0:0:0 | (Arguments) | semmle.label | (Arguments) | +| file://:0:0:0:0 | (Arguments) | semmle.label | (Arguments) | +| file://:0:0:0:0 | (Arguments) | semmle.label | (Arguments) | +| file://:0:0:0:0 | (Arguments) | semmle.label | (Arguments) | +| file://:0:0:0:0 | (Parameters) | semmle.label | (Parameters) | +| file://:0:0:0:0 | (Parameters) | semmle.label | (Parameters) | +| file://:0:0:0:0 | (Parameters) | semmle.label | (Parameters) | | file://:0:0:0:0 | (Parameters) | semmle.label | (Parameters) | | file://:0:0:0:0 | (Parameters) | semmle.label | (Parameters) | | file://:0:0:0:0 | (Parameters) | semmle.label | (Parameters) | @@ -640,136 +718,142 @@ nodes | file://:0:0:0:0 | (Parameters) | semmle.label | (Parameters) | | file://:0:0:0:0 | (Parameters) | semmle.label | (Parameters) | edges -| arrays.js:1:1:130:2 | [ParExpr] (functi ... } }) | arrays.js:1:2:130:1 | [FunctionExpr] functio ... K } } | semmle.label | 1 | -| arrays.js:1:1:130:2 | [ParExpr] (functi ... } }) | arrays.js:1:2:130:1 | [FunctionExpr] functio ... K } } | semmle.order | 1 | -| arrays.js:1:1:130:3 | [ExprStmt] (functi ... } }); | arrays.js:1:1:130:2 | [ParExpr] (functi ... } }) | semmle.label | 1 | -| arrays.js:1:1:130:3 | [ExprStmt] (functi ... } }); | arrays.js:1:1:130:2 | [ParExpr] (functi ... } }) | semmle.order | 1 | -| arrays.js:1:2:130:1 | [FunctionExpr] functio ... K } } | arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | semmle.label | 5 | -| arrays.js:1:2:130:1 | [FunctionExpr] functio ... K } } | arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | semmle.order | 5 | -| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:2:3:2:24 | [DeclStmt] let source = ... | semmle.label | 1 | -| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:2:3:2:24 | [DeclStmt] let source = ... | semmle.order | 1 | -| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:4:3:4:28 | [DeclStmt] var obj = ... | semmle.label | 2 | -| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:4:3:4:28 | [DeclStmt] var obj = ... | semmle.order | 2 | -| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:5:3:5:16 | [ExprStmt] sink(obj.foo); | semmle.label | 3 | -| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:5:3:5:16 | [ExprStmt] sink(obj.foo); | semmle.order | 3 | -| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:7:3:7:15 | [DeclStmt] var arr = ... | semmle.label | 4 | -| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:7:3:7:15 | [DeclStmt] var arr = ... | semmle.order | 4 | -| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:8:3:8:19 | [ExprStmt] arr.push(source); | semmle.label | 5 | -| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:8:3:8:19 | [ExprStmt] arr.push(source); | semmle.order | 5 | -| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:10:3:12:3 | [ForStmt] for (va ... OK } | semmle.label | 6 | -| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:10:3:12:3 | [ForStmt] for (va ... OK } | semmle.order | 6 | -| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:15:3:15:30 | [ExprStmt] arr.for ... nk(e)); | semmle.label | 7 | -| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:15:3:15:30 | [ExprStmt] arr.for ... nk(e)); | semmle.order | 7 | -| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:16:3:16:26 | [ExprStmt] arr.map ... nk(e)); | semmle.label | 8 | -| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:16:3:16:26 | [ExprStmt] arr.map ... nk(e)); | semmle.order | 8 | -| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:18:3:18:53 | [ExprStmt] [1, 2, ... nk(e)); | semmle.label | 9 | -| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:18:3:18:53 | [ExprStmt] [1, 2, ... nk(e)); | semmle.order | 9 | -| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:20:3:20:18 | [ExprStmt] sink(arr.pop()); | semmle.label | 10 | -| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:20:3:20:18 | [ExprStmt] sink(arr.pop()); | semmle.order | 10 | -| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:22:3:22:24 | [DeclStmt] var arr2 = ... | semmle.label | 11 | -| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:22:3:22:24 | [DeclStmt] var arr2 = ... | semmle.order | 11 | -| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:23:3:23:19 | [ExprStmt] sink(arr2.pop()); | semmle.label | 12 | -| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:23:3:23:19 | [ExprStmt] sink(arr2.pop()); | semmle.order | 12 | -| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:25:3:25:24 | [DeclStmt] var arr3 = ... | semmle.label | 13 | -| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:25:3:25:24 | [DeclStmt] var arr3 = ... | semmle.order | 13 | -| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:26:3:26:19 | [ExprStmt] sink(arr3.pop()); | semmle.label | 14 | -| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:26:3:26:19 | [ExprStmt] sink(arr3.pop()); | semmle.order | 14 | -| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:28:3:28:16 | [DeclStmt] var arr4 = ... | semmle.label | 15 | -| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:28:3:28:16 | [DeclStmt] var arr4 = ... | semmle.order | 15 | -| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:29:3:29:30 | [ExprStmt] arr4.sp ... urce"); | semmle.label | 16 | -| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:29:3:29:30 | [ExprStmt] arr4.sp ... urce"); | semmle.order | 16 | -| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:30:3:30:19 | [ExprStmt] sink(arr4.pop()); | semmle.label | 17 | -| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:30:3:30:19 | [ExprStmt] sink(arr4.pop()); | semmle.order | 17 | -| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:32:3:32:24 | [DeclStmt] var arr4_variant = ... | semmle.label | 18 | -| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:32:3:32:24 | [DeclStmt] var arr4_variant = ... | semmle.order | 18 | -| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:33:3:33:46 | [ExprStmt] arr4_va ... urce"); | semmle.label | 19 | -| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:33:3:33:46 | [ExprStmt] arr4_va ... urce"); | semmle.order | 19 | -| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:34:3:34:21 | [ExprStmt] arr4_variant.pop(); | semmle.label | 20 | -| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:34:3:34:21 | [ExprStmt] arr4_variant.pop(); | semmle.order | 20 | -| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:35:3:35:27 | [ExprStmt] sink(ar ... pop()); | semmle.label | 21 | -| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:35:3:35:27 | [ExprStmt] sink(ar ... pop()); | semmle.order | 21 | -| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:37:3:37:23 | [DeclStmt] var arr4_spread = ... | semmle.label | 22 | -| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:37:3:37:23 | [DeclStmt] var arr4_spread = ... | semmle.order | 22 | -| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:38:3:38:35 | [ExprStmt] arr4_sp ... ..arr); | semmle.label | 23 | -| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:38:3:38:35 | [ExprStmt] arr4_sp ... ..arr); | semmle.order | 23 | -| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:39:3:39:26 | [ExprStmt] sink(ar ... pop()); | semmle.label | 24 | -| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:39:3:39:26 | [ExprStmt] sink(ar ... pop()); | semmle.order | 24 | -| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:41:3:41:29 | [DeclStmt] var arr5 = ... | semmle.label | 25 | -| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:41:3:41:29 | [DeclStmt] var arr5 = ... | semmle.order | 25 | -| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:42:3:42:19 | [ExprStmt] sink(arr5.pop()); | semmle.label | 26 | -| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:42:3:42:19 | [ExprStmt] sink(arr5.pop()); | semmle.order | 26 | -| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:44:3:44:28 | [ExprStmt] sink(ar ... pop()); | semmle.label | 27 | -| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:44:3:44:28 | [ExprStmt] sink(ar ... pop()); | semmle.order | 27 | -| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:46:3:46:16 | [DeclStmt] var arr6 = ... | semmle.label | 28 | -| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:46:3:46:16 | [DeclStmt] var arr6 = ... | semmle.order | 28 | -| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:47:3:49:3 | [ForStmt] for (va ... i]; } | semmle.label | 29 | -| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:47:3:49:3 | [ForStmt] for (va ... i]; } | semmle.order | 29 | -| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:50:3:50:19 | [ExprStmt] sink(arr6.pop()); | semmle.label | 30 | -| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:50:3:50:19 | [ExprStmt] sink(arr6.pop()); | semmle.order | 30 | -| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:53:3:56:5 | [ExprStmt] ["sourc ... . }); | semmle.label | 31 | -| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:53:3:56:5 | [ExprStmt] ["sourc ... . }); | semmle.order | 31 | -| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:58:3:58:15 | [ExprStmt] sink(arr[0]); | semmle.label | 32 | -| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:58:3:58:15 | [ExprStmt] sink(arr[0]); | semmle.order | 32 | -| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:60:3:62:3 | [ForOfStmt] for (co ... OK } | semmle.label | 33 | -| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:60:3:62:3 | [ForOfStmt] for (co ... OK } | semmle.order | 33 | -| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:64:3:66:3 | [ForOfStmt] for (co ... OK } | semmle.label | 34 | -| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:64:3:66:3 | [ForOfStmt] for (co ... OK } | semmle.order | 34 | -| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:68:3:70:3 | [ForOfStmt] for (co ... OK } | semmle.label | 35 | -| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:68:3:70:3 | [ForOfStmt] for (co ... OK } | semmle.order | 35 | -| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:72:3:72:16 | [DeclStmt] var arr7 = ... | semmle.label | 36 | -| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:72:3:72:16 | [DeclStmt] var arr7 = ... | semmle.order | 36 | -| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:73:3:73:20 | [ExprStmt] arr7.push(...arr); | semmle.label | 37 | -| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:73:3:73:20 | [ExprStmt] arr7.push(...arr); | semmle.order | 37 | -| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:74:3:76:3 | [ForOfStmt] for (co ... OK } | semmle.label | 38 | -| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:74:3:76:3 | [ForOfStmt] for (co ... OK } | semmle.order | 38 | -| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:78:3:78:42 | [DeclStmt] const arrayFrom = ... | semmle.label | 39 | -| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:78:3:78:42 | [DeclStmt] const arrayFrom = ... | semmle.order | 39 | -| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:79:3:81:3 | [ForOfStmt] for (co ... OK } | semmle.label | 40 | -| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:79:3:81:3 | [ForOfStmt] for (co ... OK } | semmle.order | 40 | -| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:83:3:83:31 | [ExprStmt] sink(ar ... back)); | semmle.label | 41 | -| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:83:3:83:31 | [ExprStmt] sink(ar ... back)); | semmle.order | 41 | -| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:85:3:85:42 | [DeclStmt] const arrayFind = ... | semmle.label | 42 | -| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:85:3:85:42 | [DeclStmt] const arrayFind = ... | semmle.order | 42 | -| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:86:3:86:37 | [ExprStmt] sink(ar ... back)); | semmle.label | 43 | -| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:86:3:86:37 | [ExprStmt] sink(ar ... back)); | semmle.order | 43 | -| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:88:3:88:31 | [DeclStmt] const uniq = ... | semmle.label | 44 | -| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:88:3:88:31 | [DeclStmt] const uniq = ... | semmle.order | 44 | -| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:89:3:91:3 | [ForOfStmt] for (co ... OK } | semmle.label | 45 | -| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:89:3:91:3 | [ForOfStmt] for (co ... OK } | semmle.order | 45 | -| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:93:3:93:19 | [ExprStmt] sink(arr.at(-1)); | semmle.label | 46 | -| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:93:3:93:19 | [ExprStmt] sink(arr.at(-1)); | semmle.order | 46 | -| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:95:3:95:36 | [ExprStmt] sink([" ... => x)); | semmle.label | 47 | -| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:95:3:95:36 | [ExprStmt] sink([" ... => x)); | semmle.order | 47 | -| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:96:3:96:38 | [ExprStmt] sink([" ... !!x)); | semmle.label | 48 | -| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:96:3:96:38 | [ExprStmt] sink([" ... !!x)); | semmle.order | 48 | -| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:98:3:98:16 | [DeclStmt] var arr8 = ... | semmle.label | 49 | -| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:98:3:98:16 | [DeclStmt] var arr8 = ... | semmle.order | 49 | -| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:99:3:99:40 | [ExprStmt] arr8 = ... urce"); | semmle.label | 50 | -| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:99:3:99:40 | [ExprStmt] arr8 = ... urce"); | semmle.order | 50 | -| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:100:3:100:19 | [ExprStmt] sink(arr8.pop()); | semmle.label | 51 | -| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:100:3:100:19 | [ExprStmt] sink(arr8.pop()); | semmle.order | 51 | -| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:102:3:102:24 | [DeclStmt] var arr8_variant = ... | semmle.label | 52 | -| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:102:3:102:24 | [DeclStmt] var arr8_variant = ... | semmle.order | 52 | -| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:103:3:103:64 | [ExprStmt] arr8_va ... urce"); | semmle.label | 53 | -| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:103:3:103:64 | [ExprStmt] arr8_va ... urce"); | semmle.order | 53 | -| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:104:3:104:21 | [ExprStmt] arr8_variant.pop(); | semmle.label | 54 | -| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:104:3:104:21 | [ExprStmt] arr8_variant.pop(); | semmle.order | 54 | -| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:105:3:105:27 | [ExprStmt] sink(ar ... pop()); | semmle.label | 55 | -| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:105:3:105:27 | [ExprStmt] sink(ar ... pop()); | semmle.order | 55 | -| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:107:3:107:23 | [DeclStmt] var arr8_spread = ... | semmle.label | 56 | -| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:107:3:107:23 | [DeclStmt] var arr8_spread = ... | semmle.order | 56 | -| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:108:3:108:52 | [ExprStmt] arr8_sp ... ..arr); | semmle.label | 57 | -| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:108:3:108:52 | [ExprStmt] arr8_sp ... ..arr); | semmle.order | 57 | -| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:109:3:109:26 | [ExprStmt] sink(ar ... pop()); | semmle.label | 58 | -| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:109:3:109:26 | [ExprStmt] sink(ar ... pop()); | semmle.order | 58 | -| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:111:3:111:35 | [ExprStmt] sink(ar ... back)); | semmle.label | 59 | -| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:111:3:111:35 | [ExprStmt] sink(ar ... back)); | semmle.order | 59 | -| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:113:3:117:3 | [BlockStmt] { // T ... OK } | semmle.label | 60 | -| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:113:3:117:3 | [BlockStmt] { // T ... OK } | semmle.order | 60 | -| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:119:3:123:3 | [BlockStmt] { // T ... OK } | semmle.label | 61 | -| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:119:3:123:3 | [BlockStmt] { // T ... OK } | semmle.order | 61 | -| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:125:3:129:3 | [BlockStmt] { // T ... OK } | semmle.label | 62 | -| arrays.js:1:14:130:1 | [BlockStmt] { let ... K } } | arrays.js:125:3:129:3 | [BlockStmt] { // T ... OK } | semmle.order | 62 | +| arrays.js:1:1:147:2 | [ParExpr] (functi ... } }) | arrays.js:1:2:147:1 | [FunctionExpr] functio ... K } } | semmle.label | 1 | +| arrays.js:1:1:147:2 | [ParExpr] (functi ... } }) | arrays.js:1:2:147:1 | [FunctionExpr] functio ... K } } | semmle.order | 1 | +| arrays.js:1:1:147:3 | [ExprStmt] (functi ... } }); | arrays.js:1:1:147:2 | [ParExpr] (functi ... } }) | semmle.label | 1 | +| arrays.js:1:1:147:3 | [ExprStmt] (functi ... } }); | arrays.js:1:1:147:2 | [ParExpr] (functi ... } }) | semmle.order | 1 | +| arrays.js:1:2:147:1 | [FunctionExpr] functio ... K } } | arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | semmle.label | 5 | +| arrays.js:1:2:147:1 | [FunctionExpr] functio ... K } } | arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | semmle.order | 5 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:2:3:2:24 | [DeclStmt] let source = ... | semmle.label | 1 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:2:3:2:24 | [DeclStmt] let source = ... | semmle.order | 1 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:4:3:4:28 | [DeclStmt] var obj = ... | semmle.label | 2 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:4:3:4:28 | [DeclStmt] var obj = ... | semmle.order | 2 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:5:3:5:16 | [ExprStmt] sink(obj.foo); | semmle.label | 3 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:5:3:5:16 | [ExprStmt] sink(obj.foo); | semmle.order | 3 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:7:3:7:15 | [DeclStmt] var arr = ... | semmle.label | 4 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:7:3:7:15 | [DeclStmt] var arr = ... | semmle.order | 4 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:8:3:8:19 | [ExprStmt] arr.push(source); | semmle.label | 5 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:8:3:8:19 | [ExprStmt] arr.push(source); | semmle.order | 5 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:10:3:12:3 | [ForStmt] for (va ... OK } | semmle.label | 6 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:10:3:12:3 | [ForStmt] for (va ... OK } | semmle.order | 6 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:15:3:15:30 | [ExprStmt] arr.for ... nk(e)); | semmle.label | 7 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:15:3:15:30 | [ExprStmt] arr.for ... nk(e)); | semmle.order | 7 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:16:3:16:26 | [ExprStmt] arr.map ... nk(e)); | semmle.label | 8 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:16:3:16:26 | [ExprStmt] arr.map ... nk(e)); | semmle.order | 8 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:18:3:18:53 | [ExprStmt] [1, 2, ... nk(e)); | semmle.label | 9 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:18:3:18:53 | [ExprStmt] [1, 2, ... nk(e)); | semmle.order | 9 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:20:3:20:18 | [ExprStmt] sink(arr.pop()); | semmle.label | 10 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:20:3:20:18 | [ExprStmt] sink(arr.pop()); | semmle.order | 10 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:22:3:22:24 | [DeclStmt] var arr2 = ... | semmle.label | 11 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:22:3:22:24 | [DeclStmt] var arr2 = ... | semmle.order | 11 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:23:3:23:19 | [ExprStmt] sink(arr2.pop()); | semmle.label | 12 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:23:3:23:19 | [ExprStmt] sink(arr2.pop()); | semmle.order | 12 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:25:3:25:24 | [DeclStmt] var arr3 = ... | semmle.label | 13 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:25:3:25:24 | [DeclStmt] var arr3 = ... | semmle.order | 13 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:26:3:26:19 | [ExprStmt] sink(arr3.pop()); | semmle.label | 14 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:26:3:26:19 | [ExprStmt] sink(arr3.pop()); | semmle.order | 14 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:28:3:28:16 | [DeclStmt] var arr4 = ... | semmle.label | 15 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:28:3:28:16 | [DeclStmt] var arr4 = ... | semmle.order | 15 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:29:3:29:30 | [ExprStmt] arr4.sp ... urce"); | semmle.label | 16 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:29:3:29:30 | [ExprStmt] arr4.sp ... urce"); | semmle.order | 16 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:30:3:30:19 | [ExprStmt] sink(arr4.pop()); | semmle.label | 17 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:30:3:30:19 | [ExprStmt] sink(arr4.pop()); | semmle.order | 17 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:32:3:32:24 | [DeclStmt] var arr4_variant = ... | semmle.label | 18 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:32:3:32:24 | [DeclStmt] var arr4_variant = ... | semmle.order | 18 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:33:3:33:46 | [ExprStmt] arr4_va ... urce"); | semmle.label | 19 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:33:3:33:46 | [ExprStmt] arr4_va ... urce"); | semmle.order | 19 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:34:3:34:21 | [ExprStmt] arr4_variant.pop(); | semmle.label | 20 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:34:3:34:21 | [ExprStmt] arr4_variant.pop(); | semmle.order | 20 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:35:3:35:27 | [ExprStmt] sink(ar ... pop()); | semmle.label | 21 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:35:3:35:27 | [ExprStmt] sink(ar ... pop()); | semmle.order | 21 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:37:3:37:23 | [DeclStmt] var arr4_spread = ... | semmle.label | 22 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:37:3:37:23 | [DeclStmt] var arr4_spread = ... | semmle.order | 22 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:38:3:38:35 | [ExprStmt] arr4_sp ... ..arr); | semmle.label | 23 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:38:3:38:35 | [ExprStmt] arr4_sp ... ..arr); | semmle.order | 23 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:39:3:39:26 | [ExprStmt] sink(ar ... pop()); | semmle.label | 24 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:39:3:39:26 | [ExprStmt] sink(ar ... pop()); | semmle.order | 24 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:41:3:41:29 | [DeclStmt] var arr5 = ... | semmle.label | 25 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:41:3:41:29 | [DeclStmt] var arr5 = ... | semmle.order | 25 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:42:3:42:19 | [ExprStmt] sink(arr5.pop()); | semmle.label | 26 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:42:3:42:19 | [ExprStmt] sink(arr5.pop()); | semmle.order | 26 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:44:3:44:28 | [ExprStmt] sink(ar ... pop()); | semmle.label | 27 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:44:3:44:28 | [ExprStmt] sink(ar ... pop()); | semmle.order | 27 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:46:3:46:16 | [DeclStmt] var arr6 = ... | semmle.label | 28 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:46:3:46:16 | [DeclStmt] var arr6 = ... | semmle.order | 28 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:47:3:49:3 | [ForStmt] for (va ... i]; } | semmle.label | 29 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:47:3:49:3 | [ForStmt] for (va ... i]; } | semmle.order | 29 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:50:3:50:19 | [ExprStmt] sink(arr6.pop()); | semmle.label | 30 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:50:3:50:19 | [ExprStmt] sink(arr6.pop()); | semmle.order | 30 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:53:3:56:5 | [ExprStmt] ["sourc ... . }); | semmle.label | 31 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:53:3:56:5 | [ExprStmt] ["sourc ... . }); | semmle.order | 31 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:58:3:58:15 | [ExprStmt] sink(arr[0]); | semmle.label | 32 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:58:3:58:15 | [ExprStmt] sink(arr[0]); | semmle.order | 32 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:60:3:62:3 | [ForOfStmt] for (co ... OK } | semmle.label | 33 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:60:3:62:3 | [ForOfStmt] for (co ... OK } | semmle.order | 33 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:64:3:66:3 | [ForOfStmt] for (co ... OK } | semmle.label | 34 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:64:3:66:3 | [ForOfStmt] for (co ... OK } | semmle.order | 34 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:68:3:70:3 | [ForOfStmt] for (co ... OK } | semmle.label | 35 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:68:3:70:3 | [ForOfStmt] for (co ... OK } | semmle.order | 35 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:72:3:72:16 | [DeclStmt] var arr7 = ... | semmle.label | 36 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:72:3:72:16 | [DeclStmt] var arr7 = ... | semmle.order | 36 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:73:3:73:20 | [ExprStmt] arr7.push(...arr); | semmle.label | 37 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:73:3:73:20 | [ExprStmt] arr7.push(...arr); | semmle.order | 37 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:74:3:76:3 | [ForOfStmt] for (co ... OK } | semmle.label | 38 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:74:3:76:3 | [ForOfStmt] for (co ... OK } | semmle.order | 38 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:78:3:78:42 | [DeclStmt] const arrayFrom = ... | semmle.label | 39 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:78:3:78:42 | [DeclStmt] const arrayFrom = ... | semmle.order | 39 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:79:3:81:3 | [ForOfStmt] for (co ... OK } | semmle.label | 40 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:79:3:81:3 | [ForOfStmt] for (co ... OK } | semmle.order | 40 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:83:3:83:31 | [ExprStmt] sink(ar ... back)); | semmle.label | 41 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:83:3:83:31 | [ExprStmt] sink(ar ... back)); | semmle.order | 41 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:85:3:85:42 | [DeclStmt] const arrayFind = ... | semmle.label | 42 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:85:3:85:42 | [DeclStmt] const arrayFind = ... | semmle.order | 42 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:86:3:86:37 | [ExprStmt] sink(ar ... back)); | semmle.label | 43 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:86:3:86:37 | [ExprStmt] sink(ar ... back)); | semmle.order | 43 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:88:3:88:31 | [DeclStmt] const uniq = ... | semmle.label | 44 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:88:3:88:31 | [DeclStmt] const uniq = ... | semmle.order | 44 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:89:3:91:3 | [ForOfStmt] for (co ... OK } | semmle.label | 45 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:89:3:91:3 | [ForOfStmt] for (co ... OK } | semmle.order | 45 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:93:3:93:19 | [ExprStmt] sink(arr.at(-1)); | semmle.label | 46 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:93:3:93:19 | [ExprStmt] sink(arr.at(-1)); | semmle.order | 46 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:95:3:95:36 | [ExprStmt] sink([" ... => x)); | semmle.label | 47 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:95:3:95:36 | [ExprStmt] sink([" ... => x)); | semmle.order | 47 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:96:3:96:38 | [ExprStmt] sink([" ... !!x)); | semmle.label | 48 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:96:3:96:38 | [ExprStmt] sink([" ... !!x)); | semmle.order | 48 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:98:3:98:16 | [DeclStmt] var arr8 = ... | semmle.label | 49 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:98:3:98:16 | [DeclStmt] var arr8 = ... | semmle.order | 49 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:99:3:99:40 | [ExprStmt] arr8 = ... urce"); | semmle.label | 50 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:99:3:99:40 | [ExprStmt] arr8 = ... urce"); | semmle.order | 50 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:100:3:100:19 | [ExprStmt] sink(arr8.pop()); | semmle.label | 51 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:100:3:100:19 | [ExprStmt] sink(arr8.pop()); | semmle.order | 51 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:102:3:102:24 | [DeclStmt] var arr8_variant = ... | semmle.label | 52 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:102:3:102:24 | [DeclStmt] var arr8_variant = ... | semmle.order | 52 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:103:3:103:64 | [ExprStmt] arr8_va ... urce"); | semmle.label | 53 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:103:3:103:64 | [ExprStmt] arr8_va ... urce"); | semmle.order | 53 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:104:3:104:21 | [ExprStmt] arr8_variant.pop(); | semmle.label | 54 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:104:3:104:21 | [ExprStmt] arr8_variant.pop(); | semmle.order | 54 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:105:3:105:27 | [ExprStmt] sink(ar ... pop()); | semmle.label | 55 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:105:3:105:27 | [ExprStmt] sink(ar ... pop()); | semmle.order | 55 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:107:3:107:23 | [DeclStmt] var arr8_spread = ... | semmle.label | 56 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:107:3:107:23 | [DeclStmt] var arr8_spread = ... | semmle.order | 56 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:108:3:108:52 | [ExprStmt] arr8_sp ... ..arr); | semmle.label | 57 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:108:3:108:52 | [ExprStmt] arr8_sp ... ..arr); | semmle.order | 57 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:109:3:109:26 | [ExprStmt] sink(ar ... pop()); | semmle.label | 58 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:109:3:109:26 | [ExprStmt] sink(ar ... pop()); | semmle.order | 58 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:111:3:111:35 | [ExprStmt] sink(ar ... back)); | semmle.label | 59 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:111:3:111:35 | [ExprStmt] sink(ar ... back)); | semmle.order | 59 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:113:3:117:3 | [BlockStmt] { // T ... OK } | semmle.label | 60 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:113:3:117:3 | [BlockStmt] { // T ... OK } | semmle.order | 60 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:119:3:123:3 | [BlockStmt] { // T ... OK } | semmle.label | 61 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:119:3:123:3 | [BlockStmt] { // T ... OK } | semmle.order | 61 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:125:3:129:3 | [BlockStmt] { // T ... OK } | semmle.label | 62 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:125:3:129:3 | [BlockStmt] { // T ... OK } | semmle.order | 62 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:130:3:134:3 | [BlockStmt] { c ... OK } | semmle.label | 63 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:130:3:134:3 | [BlockStmt] { c ... OK } | semmle.order | 63 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:136:3:140:3 | [BlockStmt] { c ... OK } | semmle.label | 64 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:136:3:140:3 | [BlockStmt] { c ... OK } | semmle.order | 64 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:142:3:146:3 | [BlockStmt] { c ... OK } | semmle.label | 65 | +| arrays.js:1:14:147:1 | [BlockStmt] { let ... K } } | arrays.js:142:3:146:3 | [BlockStmt] { c ... OK } | semmle.order | 65 | | arrays.js:2:3:2:24 | [DeclStmt] let source = ... | arrays.js:2:7:2:23 | [VariableDeclarator] source = "source" | semmle.label | 1 | | arrays.js:2:3:2:24 | [DeclStmt] let source = ... | arrays.js:2:7:2:23 | [VariableDeclarator] source = "source" | semmle.order | 1 | | arrays.js:2:7:2:23 | [VariableDeclarator] source = "source" | arrays.js:2:7:2:12 | [VarDecl] source | semmle.label | 1 | @@ -1726,6 +1810,132 @@ edges | arrays.js:128:5:128:17 | [CallExpr] sink(element) | file://:0:0:0:0 | (Arguments) | semmle.order | 1 | | arrays.js:128:5:128:18 | [ExprStmt] sink(element); | arrays.js:128:5:128:17 | [CallExpr] sink(element) | semmle.label | 1 | | arrays.js:128:5:128:18 | [ExprStmt] sink(element); | arrays.js:128:5:128:17 | [CallExpr] sink(element) | semmle.order | 1 | +| arrays.js:130:3:134:3 | [BlockStmt] { c ... OK } | arrays.js:131:5:131:25 | [DeclStmt] const arr = ... | semmle.label | 1 | +| arrays.js:130:3:134:3 | [BlockStmt] { c ... OK } | arrays.js:131:5:131:25 | [DeclStmt] const arr = ... | semmle.order | 1 | +| arrays.js:130:3:134:3 | [BlockStmt] { c ... OK } | arrays.js:132:5:132:52 | [DeclStmt] const element1 = ... | semmle.label | 2 | +| arrays.js:130:3:134:3 | [BlockStmt] { c ... OK } | arrays.js:132:5:132:52 | [DeclStmt] const element1 = ... | semmle.order | 2 | +| arrays.js:130:3:134:3 | [BlockStmt] { c ... OK } | arrays.js:133:5:133:19 | [ExprStmt] sink(element1); | semmle.label | 3 | +| arrays.js:130:3:134:3 | [BlockStmt] { c ... OK } | arrays.js:133:5:133:19 | [ExprStmt] sink(element1); | semmle.order | 3 | +| arrays.js:131:5:131:25 | [DeclStmt] const arr = ... | arrays.js:131:11:131:24 | [VariableDeclarator] arr = source() | semmle.label | 1 | +| arrays.js:131:5:131:25 | [DeclStmt] const arr = ... | arrays.js:131:11:131:24 | [VariableDeclarator] arr = source() | semmle.order | 1 | +| arrays.js:131:11:131:24 | [VariableDeclarator] arr = source() | arrays.js:131:11:131:13 | [VarDecl] arr | semmle.label | 1 | +| arrays.js:131:11:131:24 | [VariableDeclarator] arr = source() | arrays.js:131:11:131:13 | [VarDecl] arr | semmle.order | 1 | +| arrays.js:131:11:131:24 | [VariableDeclarator] arr = source() | arrays.js:131:17:131:24 | [CallExpr] source() | semmle.label | 2 | +| arrays.js:131:11:131:24 | [VariableDeclarator] arr = source() | arrays.js:131:17:131:24 | [CallExpr] source() | semmle.order | 2 | +| arrays.js:131:17:131:24 | [CallExpr] source() | arrays.js:131:17:131:22 | [VarRef] source | semmle.label | 0 | +| arrays.js:131:17:131:24 | [CallExpr] source() | arrays.js:131:17:131:22 | [VarRef] source | semmle.order | 0 | +| arrays.js:132:5:132:52 | [DeclStmt] const element1 = ... | arrays.js:132:11:132:51 | [VariableDeclarator] element ... (item)) | semmle.label | 1 | +| arrays.js:132:5:132:52 | [DeclStmt] const element1 = ... | arrays.js:132:11:132:51 | [VariableDeclarator] element ... (item)) | semmle.order | 1 | +| arrays.js:132:11:132:51 | [VariableDeclarator] element ... (item)) | arrays.js:132:11:132:18 | [VarDecl] element1 | semmle.label | 1 | +| arrays.js:132:11:132:51 | [VariableDeclarator] element ... (item)) | arrays.js:132:11:132:18 | [VarDecl] element1 | semmle.order | 1 | +| arrays.js:132:11:132:51 | [VariableDeclarator] element ... (item)) | arrays.js:132:22:132:51 | [MethodCallExpr] arr.fin ... (item)) | semmle.label | 2 | +| arrays.js:132:11:132:51 | [VariableDeclarator] element ... (item)) | arrays.js:132:22:132:51 | [MethodCallExpr] arr.fin ... (item)) | semmle.order | 2 | +| arrays.js:132:22:132:29 | [DotExpr] arr.find | arrays.js:132:22:132:24 | [VarRef] arr | semmle.label | 1 | +| arrays.js:132:22:132:29 | [DotExpr] arr.find | arrays.js:132:22:132:24 | [VarRef] arr | semmle.order | 1 | +| arrays.js:132:22:132:29 | [DotExpr] arr.find | arrays.js:132:26:132:29 | [Label] find | semmle.label | 2 | +| arrays.js:132:22:132:29 | [DotExpr] arr.find | arrays.js:132:26:132:29 | [Label] find | semmle.order | 2 | +| arrays.js:132:22:132:51 | [MethodCallExpr] arr.fin ... (item)) | arrays.js:132:22:132:29 | [DotExpr] arr.find | semmle.label | 0 | +| arrays.js:132:22:132:51 | [MethodCallExpr] arr.fin ... (item)) | arrays.js:132:22:132:29 | [DotExpr] arr.find | semmle.order | 0 | +| arrays.js:132:22:132:51 | [MethodCallExpr] arr.fin ... (item)) | file://:0:0:0:0 | (Arguments) | semmle.label | 1 | +| arrays.js:132:22:132:51 | [MethodCallExpr] arr.fin ... (item)) | file://:0:0:0:0 | (Arguments) | semmle.order | 1 | +| arrays.js:132:31:132:50 | [ArrowFunctionExpr] (item) => sink(item) | arrays.js:132:41:132:50 | [CallExpr] sink(item) | semmle.label | 5 | +| arrays.js:132:31:132:50 | [ArrowFunctionExpr] (item) => sink(item) | arrays.js:132:41:132:50 | [CallExpr] sink(item) | semmle.order | 5 | +| arrays.js:132:31:132:50 | [ArrowFunctionExpr] (item) => sink(item) | file://:0:0:0:0 | (Parameters) | semmle.label | 1 | +| arrays.js:132:31:132:50 | [ArrowFunctionExpr] (item) => sink(item) | file://:0:0:0:0 | (Parameters) | semmle.order | 1 | +| arrays.js:132:41:132:50 | [CallExpr] sink(item) | arrays.js:132:41:132:44 | [VarRef] sink | semmle.label | 0 | +| arrays.js:132:41:132:50 | [CallExpr] sink(item) | arrays.js:132:41:132:44 | [VarRef] sink | semmle.order | 0 | +| arrays.js:132:41:132:50 | [CallExpr] sink(item) | file://:0:0:0:0 | (Arguments) | semmle.label | 1 | +| arrays.js:132:41:132:50 | [CallExpr] sink(item) | file://:0:0:0:0 | (Arguments) | semmle.order | 1 | +| arrays.js:133:5:133:18 | [CallExpr] sink(element1) | arrays.js:133:5:133:8 | [VarRef] sink | semmle.label | 0 | +| arrays.js:133:5:133:18 | [CallExpr] sink(element1) | arrays.js:133:5:133:8 | [VarRef] sink | semmle.order | 0 | +| arrays.js:133:5:133:18 | [CallExpr] sink(element1) | file://:0:0:0:0 | (Arguments) | semmle.label | 1 | +| arrays.js:133:5:133:18 | [CallExpr] sink(element1) | file://:0:0:0:0 | (Arguments) | semmle.order | 1 | +| arrays.js:133:5:133:19 | [ExprStmt] sink(element1); | arrays.js:133:5:133:18 | [CallExpr] sink(element1) | semmle.label | 1 | +| arrays.js:133:5:133:19 | [ExprStmt] sink(element1); | arrays.js:133:5:133:18 | [CallExpr] sink(element1) | semmle.order | 1 | +| arrays.js:136:3:140:3 | [BlockStmt] { c ... OK } | arrays.js:137:5:137:25 | [DeclStmt] const arr = ... | semmle.label | 1 | +| arrays.js:136:3:140:3 | [BlockStmt] { c ... OK } | arrays.js:137:5:137:25 | [DeclStmt] const arr = ... | semmle.order | 1 | +| arrays.js:136:3:140:3 | [BlockStmt] { c ... OK } | arrays.js:138:5:138:56 | [DeclStmt] const element1 = ... | semmle.label | 2 | +| arrays.js:136:3:140:3 | [BlockStmt] { c ... OK } | arrays.js:138:5:138:56 | [DeclStmt] const element1 = ... | semmle.order | 2 | +| arrays.js:136:3:140:3 | [BlockStmt] { c ... OK } | arrays.js:139:5:139:19 | [ExprStmt] sink(element1); | semmle.label | 3 | +| arrays.js:136:3:140:3 | [BlockStmt] { c ... OK } | arrays.js:139:5:139:19 | [ExprStmt] sink(element1); | semmle.order | 3 | +| arrays.js:137:5:137:25 | [DeclStmt] const arr = ... | arrays.js:137:11:137:24 | [VariableDeclarator] arr = source() | semmle.label | 1 | +| arrays.js:137:5:137:25 | [DeclStmt] const arr = ... | arrays.js:137:11:137:24 | [VariableDeclarator] arr = source() | semmle.order | 1 | +| arrays.js:137:11:137:24 | [VariableDeclarator] arr = source() | arrays.js:137:11:137:13 | [VarDecl] arr | semmle.label | 1 | +| arrays.js:137:11:137:24 | [VariableDeclarator] arr = source() | arrays.js:137:11:137:13 | [VarDecl] arr | semmle.order | 1 | +| arrays.js:137:11:137:24 | [VariableDeclarator] arr = source() | arrays.js:137:17:137:24 | [CallExpr] source() | semmle.label | 2 | +| arrays.js:137:11:137:24 | [VariableDeclarator] arr = source() | arrays.js:137:17:137:24 | [CallExpr] source() | semmle.order | 2 | +| arrays.js:137:17:137:24 | [CallExpr] source() | arrays.js:137:17:137:22 | [VarRef] source | semmle.label | 0 | +| arrays.js:137:17:137:24 | [CallExpr] source() | arrays.js:137:17:137:22 | [VarRef] source | semmle.order | 0 | +| arrays.js:138:5:138:56 | [DeclStmt] const element1 = ... | arrays.js:138:11:138:55 | [VariableDeclarator] element ... (item)) | semmle.label | 1 | +| arrays.js:138:5:138:56 | [DeclStmt] const element1 = ... | arrays.js:138:11:138:55 | [VariableDeclarator] element ... (item)) | semmle.order | 1 | +| arrays.js:138:11:138:55 | [VariableDeclarator] element ... (item)) | arrays.js:138:11:138:18 | [VarDecl] element1 | semmle.label | 1 | +| arrays.js:138:11:138:55 | [VariableDeclarator] element ... (item)) | arrays.js:138:11:138:18 | [VarDecl] element1 | semmle.order | 1 | +| arrays.js:138:11:138:55 | [VariableDeclarator] element ... (item)) | arrays.js:138:22:138:55 | [MethodCallExpr] arr.fin ... (item)) | semmle.label | 2 | +| arrays.js:138:11:138:55 | [VariableDeclarator] element ... (item)) | arrays.js:138:22:138:55 | [MethodCallExpr] arr.fin ... (item)) | semmle.order | 2 | +| arrays.js:138:22:138:33 | [DotExpr] arr.findLast | arrays.js:138:22:138:24 | [VarRef] arr | semmle.label | 1 | +| arrays.js:138:22:138:33 | [DotExpr] arr.findLast | arrays.js:138:22:138:24 | [VarRef] arr | semmle.order | 1 | +| arrays.js:138:22:138:33 | [DotExpr] arr.findLast | arrays.js:138:26:138:33 | [Label] findLast | semmle.label | 2 | +| arrays.js:138:22:138:33 | [DotExpr] arr.findLast | arrays.js:138:26:138:33 | [Label] findLast | semmle.order | 2 | +| arrays.js:138:22:138:55 | [MethodCallExpr] arr.fin ... (item)) | arrays.js:138:22:138:33 | [DotExpr] arr.findLast | semmle.label | 0 | +| arrays.js:138:22:138:55 | [MethodCallExpr] arr.fin ... (item)) | arrays.js:138:22:138:33 | [DotExpr] arr.findLast | semmle.order | 0 | +| arrays.js:138:22:138:55 | [MethodCallExpr] arr.fin ... (item)) | file://:0:0:0:0 | (Arguments) | semmle.label | 1 | +| arrays.js:138:22:138:55 | [MethodCallExpr] arr.fin ... (item)) | file://:0:0:0:0 | (Arguments) | semmle.order | 1 | +| arrays.js:138:35:138:54 | [ArrowFunctionExpr] (item) => sink(item) | arrays.js:138:45:138:54 | [CallExpr] sink(item) | semmle.label | 5 | +| arrays.js:138:35:138:54 | [ArrowFunctionExpr] (item) => sink(item) | arrays.js:138:45:138:54 | [CallExpr] sink(item) | semmle.order | 5 | +| arrays.js:138:35:138:54 | [ArrowFunctionExpr] (item) => sink(item) | file://:0:0:0:0 | (Parameters) | semmle.label | 1 | +| arrays.js:138:35:138:54 | [ArrowFunctionExpr] (item) => sink(item) | file://:0:0:0:0 | (Parameters) | semmle.order | 1 | +| arrays.js:138:45:138:54 | [CallExpr] sink(item) | arrays.js:138:45:138:48 | [VarRef] sink | semmle.label | 0 | +| arrays.js:138:45:138:54 | [CallExpr] sink(item) | arrays.js:138:45:138:48 | [VarRef] sink | semmle.order | 0 | +| arrays.js:138:45:138:54 | [CallExpr] sink(item) | file://:0:0:0:0 | (Arguments) | semmle.label | 1 | +| arrays.js:138:45:138:54 | [CallExpr] sink(item) | file://:0:0:0:0 | (Arguments) | semmle.order | 1 | +| arrays.js:139:5:139:18 | [CallExpr] sink(element1) | arrays.js:139:5:139:8 | [VarRef] sink | semmle.label | 0 | +| arrays.js:139:5:139:18 | [CallExpr] sink(element1) | arrays.js:139:5:139:8 | [VarRef] sink | semmle.order | 0 | +| arrays.js:139:5:139:18 | [CallExpr] sink(element1) | file://:0:0:0:0 | (Arguments) | semmle.label | 1 | +| arrays.js:139:5:139:18 | [CallExpr] sink(element1) | file://:0:0:0:0 | (Arguments) | semmle.order | 1 | +| arrays.js:139:5:139:19 | [ExprStmt] sink(element1); | arrays.js:139:5:139:18 | [CallExpr] sink(element1) | semmle.label | 1 | +| arrays.js:139:5:139:19 | [ExprStmt] sink(element1); | arrays.js:139:5:139:18 | [CallExpr] sink(element1) | semmle.order | 1 | +| arrays.js:142:3:146:3 | [BlockStmt] { c ... OK } | arrays.js:143:5:143:25 | [DeclStmt] const arr = ... | semmle.label | 1 | +| arrays.js:142:3:146:3 | [BlockStmt] { c ... OK } | arrays.js:143:5:143:25 | [DeclStmt] const arr = ... | semmle.order | 1 | +| arrays.js:142:3:146:3 | [BlockStmt] { c ... OK } | arrays.js:144:5:144:61 | [DeclStmt] const element1 = ... | semmle.label | 2 | +| arrays.js:142:3:146:3 | [BlockStmt] { c ... OK } | arrays.js:144:5:144:61 | [DeclStmt] const element1 = ... | semmle.order | 2 | +| arrays.js:142:3:146:3 | [BlockStmt] { c ... OK } | arrays.js:145:5:145:19 | [ExprStmt] sink(element1); | semmle.label | 3 | +| arrays.js:142:3:146:3 | [BlockStmt] { c ... OK } | arrays.js:145:5:145:19 | [ExprStmt] sink(element1); | semmle.order | 3 | +| arrays.js:143:5:143:25 | [DeclStmt] const arr = ... | arrays.js:143:11:143:24 | [VariableDeclarator] arr = source() | semmle.label | 1 | +| arrays.js:143:5:143:25 | [DeclStmt] const arr = ... | arrays.js:143:11:143:24 | [VariableDeclarator] arr = source() | semmle.order | 1 | +| arrays.js:143:11:143:24 | [VariableDeclarator] arr = source() | arrays.js:143:11:143:13 | [VarDecl] arr | semmle.label | 1 | +| arrays.js:143:11:143:24 | [VariableDeclarator] arr = source() | arrays.js:143:11:143:13 | [VarDecl] arr | semmle.order | 1 | +| arrays.js:143:11:143:24 | [VariableDeclarator] arr = source() | arrays.js:143:17:143:24 | [CallExpr] source() | semmle.label | 2 | +| arrays.js:143:11:143:24 | [VariableDeclarator] arr = source() | arrays.js:143:17:143:24 | [CallExpr] source() | semmle.order | 2 | +| arrays.js:143:17:143:24 | [CallExpr] source() | arrays.js:143:17:143:22 | [VarRef] source | semmle.label | 0 | +| arrays.js:143:17:143:24 | [CallExpr] source() | arrays.js:143:17:143:22 | [VarRef] source | semmle.order | 0 | +| arrays.js:144:5:144:61 | [DeclStmt] const element1 = ... | arrays.js:144:11:144:60 | [VariableDeclarator] element ... (item)) | semmle.label | 1 | +| arrays.js:144:5:144:61 | [DeclStmt] const element1 = ... | arrays.js:144:11:144:60 | [VariableDeclarator] element ... (item)) | semmle.order | 1 | +| arrays.js:144:11:144:60 | [VariableDeclarator] element ... (item)) | arrays.js:144:11:144:18 | [VarDecl] element1 | semmle.label | 1 | +| arrays.js:144:11:144:60 | [VariableDeclarator] element ... (item)) | arrays.js:144:11:144:18 | [VarDecl] element1 | semmle.order | 1 | +| arrays.js:144:11:144:60 | [VariableDeclarator] element ... (item)) | arrays.js:144:22:144:60 | [MethodCallExpr] arr.fin ... (item)) | semmle.label | 2 | +| arrays.js:144:11:144:60 | [VariableDeclarator] element ... (item)) | arrays.js:144:22:144:60 | [MethodCallExpr] arr.fin ... (item)) | semmle.order | 2 | +| arrays.js:144:22:144:38 | [DotExpr] arr.findLastIndex | arrays.js:144:22:144:24 | [VarRef] arr | semmle.label | 1 | +| arrays.js:144:22:144:38 | [DotExpr] arr.findLastIndex | arrays.js:144:22:144:24 | [VarRef] arr | semmle.order | 1 | +| arrays.js:144:22:144:38 | [DotExpr] arr.findLastIndex | arrays.js:144:26:144:38 | [Label] findLastIndex | semmle.label | 2 | +| arrays.js:144:22:144:38 | [DotExpr] arr.findLastIndex | arrays.js:144:26:144:38 | [Label] findLastIndex | semmle.order | 2 | +| arrays.js:144:22:144:60 | [MethodCallExpr] arr.fin ... (item)) | arrays.js:144:22:144:38 | [DotExpr] arr.findLastIndex | semmle.label | 0 | +| arrays.js:144:22:144:60 | [MethodCallExpr] arr.fin ... (item)) | arrays.js:144:22:144:38 | [DotExpr] arr.findLastIndex | semmle.order | 0 | +| arrays.js:144:22:144:60 | [MethodCallExpr] arr.fin ... (item)) | file://:0:0:0:0 | (Arguments) | semmle.label | 1 | +| arrays.js:144:22:144:60 | [MethodCallExpr] arr.fin ... (item)) | file://:0:0:0:0 | (Arguments) | semmle.order | 1 | +| arrays.js:144:40:144:59 | [ArrowFunctionExpr] (item) => sink(item) | arrays.js:144:50:144:59 | [CallExpr] sink(item) | semmle.label | 5 | +| arrays.js:144:40:144:59 | [ArrowFunctionExpr] (item) => sink(item) | arrays.js:144:50:144:59 | [CallExpr] sink(item) | semmle.order | 5 | +| arrays.js:144:40:144:59 | [ArrowFunctionExpr] (item) => sink(item) | file://:0:0:0:0 | (Parameters) | semmle.label | 1 | +| arrays.js:144:40:144:59 | [ArrowFunctionExpr] (item) => sink(item) | file://:0:0:0:0 | (Parameters) | semmle.order | 1 | +| arrays.js:144:50:144:59 | [CallExpr] sink(item) | arrays.js:144:50:144:53 | [VarRef] sink | semmle.label | 0 | +| arrays.js:144:50:144:59 | [CallExpr] sink(item) | arrays.js:144:50:144:53 | [VarRef] sink | semmle.order | 0 | +| arrays.js:144:50:144:59 | [CallExpr] sink(item) | file://:0:0:0:0 | (Arguments) | semmle.label | 1 | +| arrays.js:144:50:144:59 | [CallExpr] sink(item) | file://:0:0:0:0 | (Arguments) | semmle.order | 1 | +| arrays.js:145:5:145:18 | [CallExpr] sink(element1) | arrays.js:145:5:145:8 | [VarRef] sink | semmle.label | 0 | +| arrays.js:145:5:145:18 | [CallExpr] sink(element1) | arrays.js:145:5:145:8 | [VarRef] sink | semmle.order | 0 | +| arrays.js:145:5:145:18 | [CallExpr] sink(element1) | file://:0:0:0:0 | (Arguments) | semmle.label | 1 | +| arrays.js:145:5:145:18 | [CallExpr] sink(element1) | file://:0:0:0:0 | (Arguments) | semmle.order | 1 | +| arrays.js:145:5:145:19 | [ExprStmt] sink(element1); | arrays.js:145:5:145:18 | [CallExpr] sink(element1) | semmle.label | 1 | +| arrays.js:145:5:145:19 | [ExprStmt] sink(element1); | arrays.js:145:5:145:18 | [CallExpr] sink(element1) | semmle.order | 1 | | file://:0:0:0:0 | (Arguments) | arrays.js:5:8:5:14 | [DotExpr] obj.foo | semmle.label | 0 | | file://:0:0:0:0 | (Arguments) | arrays.js:5:8:5:14 | [DotExpr] obj.foo | semmle.order | 0 | | file://:0:0:0:0 | (Arguments) | arrays.js:8:12:8:17 | [VarRef] source | semmle.label | 0 | @@ -1892,6 +2102,24 @@ edges | file://:0:0:0:0 | (Arguments) | arrays.js:127:55:127:58 | [VarRef] item | semmle.order | 0 | | file://:0:0:0:0 | (Arguments) | arrays.js:128:10:128:16 | [VarRef] element | semmle.label | 0 | | file://:0:0:0:0 | (Arguments) | arrays.js:128:10:128:16 | [VarRef] element | semmle.order | 0 | +| file://:0:0:0:0 | (Arguments) | arrays.js:132:31:132:50 | [ArrowFunctionExpr] (item) => sink(item) | semmle.label | 0 | +| file://:0:0:0:0 | (Arguments) | arrays.js:132:31:132:50 | [ArrowFunctionExpr] (item) => sink(item) | semmle.order | 0 | +| file://:0:0:0:0 | (Arguments) | arrays.js:132:46:132:49 | [VarRef] item | semmle.label | 0 | +| file://:0:0:0:0 | (Arguments) | arrays.js:132:46:132:49 | [VarRef] item | semmle.order | 0 | +| file://:0:0:0:0 | (Arguments) | arrays.js:133:10:133:17 | [VarRef] element1 | semmle.label | 0 | +| file://:0:0:0:0 | (Arguments) | arrays.js:133:10:133:17 | [VarRef] element1 | semmle.order | 0 | +| file://:0:0:0:0 | (Arguments) | arrays.js:138:35:138:54 | [ArrowFunctionExpr] (item) => sink(item) | semmle.label | 0 | +| file://:0:0:0:0 | (Arguments) | arrays.js:138:35:138:54 | [ArrowFunctionExpr] (item) => sink(item) | semmle.order | 0 | +| file://:0:0:0:0 | (Arguments) | arrays.js:138:50:138:53 | [VarRef] item | semmle.label | 0 | +| file://:0:0:0:0 | (Arguments) | arrays.js:138:50:138:53 | [VarRef] item | semmle.order | 0 | +| file://:0:0:0:0 | (Arguments) | arrays.js:139:10:139:17 | [VarRef] element1 | semmle.label | 0 | +| file://:0:0:0:0 | (Arguments) | arrays.js:139:10:139:17 | [VarRef] element1 | semmle.order | 0 | +| file://:0:0:0:0 | (Arguments) | arrays.js:144:40:144:59 | [ArrowFunctionExpr] (item) => sink(item) | semmle.label | 0 | +| file://:0:0:0:0 | (Arguments) | arrays.js:144:40:144:59 | [ArrowFunctionExpr] (item) => sink(item) | semmle.order | 0 | +| file://:0:0:0:0 | (Arguments) | arrays.js:144:55:144:58 | [VarRef] item | semmle.label | 0 | +| file://:0:0:0:0 | (Arguments) | arrays.js:144:55:144:58 | [VarRef] item | semmle.order | 0 | +| file://:0:0:0:0 | (Arguments) | arrays.js:145:10:145:17 | [VarRef] element1 | semmle.label | 0 | +| file://:0:0:0:0 | (Arguments) | arrays.js:145:10:145:17 | [VarRef] element1 | semmle.order | 0 | | file://:0:0:0:0 | (Parameters) | arrays.js:15:16:15:16 | [SimpleParameter] e | semmle.label | 0 | | file://:0:0:0:0 | (Parameters) | arrays.js:15:16:15:16 | [SimpleParameter] e | semmle.order | 0 | | file://:0:0:0:0 | (Parameters) | arrays.js:16:12:16:12 | [SimpleParameter] e | semmle.label | 0 | @@ -1916,5 +2144,11 @@ edges | file://:0:0:0:0 | (Parameters) | arrays.js:121:32:121:35 | [SimpleParameter] item | semmle.order | 0 | | file://:0:0:0:0 | (Parameters) | arrays.js:127:41:127:44 | [SimpleParameter] item | semmle.label | 0 | | file://:0:0:0:0 | (Parameters) | arrays.js:127:41:127:44 | [SimpleParameter] item | semmle.order | 0 | +| file://:0:0:0:0 | (Parameters) | arrays.js:132:32:132:35 | [SimpleParameter] item | semmle.label | 0 | +| file://:0:0:0:0 | (Parameters) | arrays.js:132:32:132:35 | [SimpleParameter] item | semmle.order | 0 | +| file://:0:0:0:0 | (Parameters) | arrays.js:138:36:138:39 | [SimpleParameter] item | semmle.label | 0 | +| file://:0:0:0:0 | (Parameters) | arrays.js:138:36:138:39 | [SimpleParameter] item | semmle.order | 0 | +| file://:0:0:0:0 | (Parameters) | arrays.js:144:41:144:44 | [SimpleParameter] item | semmle.label | 0 | +| file://:0:0:0:0 | (Parameters) | arrays.js:144:41:144:44 | [SimpleParameter] item | semmle.order | 0 | graphProperties | semmle.graphKind | tree | From 28ead4011abb59919d210f0faf1242ba7bf44946 Mon Sep 17 00:00:00 2001 From: Napalys Date: Tue, 19 Nov 2024 14:15:15 +0100 Subject: [PATCH 298/347] JS: Add: taint step to handle propagation of data flow from the array to callback --- javascript/ql/lib/semmle/javascript/Arrays.qll | 15 ++++++++++++++- .../test/library-tests/Arrays/TaintFlow.expected | 3 +++ javascript/ql/test/library-tests/Arrays/arrays.js | 6 +++--- 3 files changed, 20 insertions(+), 4 deletions(-) diff --git a/javascript/ql/lib/semmle/javascript/Arrays.qll b/javascript/ql/lib/semmle/javascript/Arrays.qll index c132fc9bc2a1..95301820dc1d 100644 --- a/javascript/ql/lib/semmle/javascript/Arrays.qll +++ b/javascript/ql/lib/semmle/javascript/Arrays.qll @@ -492,7 +492,20 @@ private module ArrayLibraries { exists(DataFlow::MethodCallNode call | call.getMethodName() = ["findLast", "find", "findLastIndex"] and prop = arrayLikeElement() and - obj = call.getReceiver() and + obj = call.getReceiver().getALocalSource() and + element = call.getCallback(0).getParameter(0) + ) + } + } + + /** + * This step models the propagation of data from the array to the callback function's parameter. + */ + private class ArrayCallBackDataTaintStep extends TaintTracking::SharedTaintStep { + override predicate step(DataFlow::Node obj, DataFlow::Node element) { + exists(DataFlow::MethodCallNode call | + call.getMethodName() = ["findLast", "find", "findLastIndex"] and + obj = call.getReceiver().getALocalSource() and element = call.getCallback(0).getParameter(0) ) } diff --git a/javascript/ql/test/library-tests/Arrays/TaintFlow.expected b/javascript/ql/test/library-tests/Arrays/TaintFlow.expected index e17fe726d16d..246a52e803b2 100644 --- a/javascript/ql/test/library-tests/Arrays/TaintFlow.expected +++ b/javascript/ql/test/library-tests/Arrays/TaintFlow.expected @@ -35,5 +35,8 @@ | arrays.js:120:19:120:26 | "source" | arrays.js:121:46:121:49 | item | | arrays.js:120:19:120:26 | "source" | arrays.js:122:10:122:16 | element | | arrays.js:126:19:126:26 | "source" | arrays.js:127:55:127:58 | item | +| arrays.js:131:17:131:24 | source() | arrays.js:132:46:132:49 | item | | arrays.js:131:17:131:24 | source() | arrays.js:133:10:133:17 | element1 | +| arrays.js:137:17:137:24 | source() | arrays.js:138:50:138:53 | item | | arrays.js:137:17:137:24 | source() | arrays.js:139:10:139:17 | element1 | +| arrays.js:143:17:143:24 | source() | arrays.js:144:55:144:58 | item | diff --git a/javascript/ql/test/library-tests/Arrays/arrays.js b/javascript/ql/test/library-tests/Arrays/arrays.js index 862dae77967e..deedf29f6f67 100644 --- a/javascript/ql/test/library-tests/Arrays/arrays.js +++ b/javascript/ql/test/library-tests/Arrays/arrays.js @@ -129,19 +129,19 @@ } { const arr = source(); - const element1 = arr.find((item) => sink(item)); // NOT OK - only found with taint-tracking. + const element1 = arr.find((item) => sink(item)); // NOT OK sink(element1); // NOT OK } { const arr = source(); - const element1 = arr.findLast((item) => sink(item)); // NOT OK - only found with taint-tracking. + const element1 = arr.findLast((item) => sink(item)); // NOT OK sink(element1); // NOT OK } { const arr = source(); - const element1 = arr.findLastIndex((item) => sink(item)); // NOT OK - only found with taint-tracking. + const element1 = arr.findLastIndex((item) => sink(item)); // NOT OK sink(element1); // OK } }); From 2c9bee6208ec957d3400ba3dd66dc3a0d8af68c6 Mon Sep 17 00:00:00 2001 From: Simon Friis Vindum Date: Tue, 19 Nov 2024 14:32:31 +0100 Subject: [PATCH 299/347] Rust: Only add data flow edge to SSA write definitions from their underlying CFG node --- .../rust/dataflow/internal/DataFlowImpl.qll | 18 +++++++----------- .../dataflow/local/DataFlowStep.expected | 1 - .../CONSISTENCY/DataFlowConsistency.expected | 5 ----- .../CONSISTENCY/DataFlowConsistency.expected | 2 -- 4 files changed, 7 insertions(+), 19 deletions(-) delete mode 100644 rust/ql/test/library-tests/variables/CONSISTENCY/DataFlowConsistency.expected diff --git a/rust/ql/lib/codeql/rust/dataflow/internal/DataFlowImpl.qll b/rust/ql/lib/codeql/rust/dataflow/internal/DataFlowImpl.qll index d44002139363..c31ef9e81072 100644 --- a/rust/ql/lib/codeql/rust/dataflow/internal/DataFlowImpl.qll +++ b/rust/ql/lib/codeql/rust/dataflow/internal/DataFlowImpl.qll @@ -112,7 +112,7 @@ module Node { } /** A data flow node that corresponds to a CFG node for an AST node. */ - abstract private class AstCfgFlowNode extends Node { + abstract class AstCfgFlowNode extends Node { AstCfgNode n; override CfgNode getCfgNode() { result = n } @@ -283,9 +283,11 @@ module LocalFlow { nodeTo.getCfgNode().getAstNode() = s.getPat() ) or - // An edge from a pattern to its corresponding SSA definition. - nodeFrom.(Node::PatNode).getPat() = - nodeTo.(Node::SsaNode).getDefinitionExt().getSourceVariable().getPat() + // An edge from a pattern/expression to its corresponding SSA definition. + nodeFrom.(Node::AstCfgFlowNode).getCfgNode() = + nodeTo.(Node::SsaNode).getDefinitionExt().(Ssa::WriteDefinition).getControlFlowNode() + or + SsaFlow::localFlowStep(_, nodeFrom, nodeTo, _) } } @@ -400,11 +402,7 @@ module RustDataFlow implements InputSig { * are the value-preserving intra-callable flow steps. */ predicate simpleLocalFlowStep(Node nodeFrom, Node nodeTo, string model) { - ( - LocalFlow::localFlowStepCommon(nodeFrom, nodeTo) - or - SsaFlow::localFlowStep(_, nodeFrom, nodeTo, _) - ) and + LocalFlow::localFlowStepCommon(nodeFrom, nodeTo) and model = "" } @@ -528,8 +526,6 @@ private module Cached { cached predicate localFlowStepImpl(Node::Node nodeFrom, Node::Node nodeTo) { LocalFlow::localFlowStepCommon(nodeFrom, nodeTo) - or - SsaFlow::localFlowStep(_, nodeFrom, nodeTo, _) } } diff --git a/rust/ql/test/library-tests/dataflow/local/DataFlowStep.expected b/rust/ql/test/library-tests/dataflow/local/DataFlowStep.expected index b8a6f6b6201a..8cc12598f62b 100644 --- a/rust/ql/test/library-tests/dataflow/local/DataFlowStep.expected +++ b/rust/ql/test/library-tests/dataflow/local/DataFlowStep.expected @@ -43,7 +43,6 @@ | main.rs:45:15:45:23 | CallExpr | main.rs:45:9:45:23 | BreakExpr | | main.rs:51:9:51:13 | [SSA] i | main.rs:52:10:52:10 | i | | main.rs:51:9:51:13 | i | main.rs:51:9:51:13 | [SSA] i | -| main.rs:51:9:51:13 | i | main.rs:53:5:53:5 | [SSA] i | | main.rs:51:17:51:17 | 1 | main.rs:51:9:51:13 | i | | main.rs:53:5:53:5 | [SSA] i | main.rs:54:10:54:10 | i | | main.rs:53:5:53:5 | i | main.rs:53:5:53:5 | [SSA] i | diff --git a/rust/ql/test/library-tests/variables/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/library-tests/variables/CONSISTENCY/DataFlowConsistency.expected deleted file mode 100644 index 1a8949ec25f9..000000000000 --- a/rust/ql/test/library-tests/variables/CONSISTENCY/DataFlowConsistency.expected +++ /dev/null @@ -1,5 +0,0 @@ -localFlowIsLocal -| variables.rs:400:9:400:9 | x | variables.rs:402:15:404:5 | [SSA] x | Local flow step does not preserve enclosing callable. | -| variables.rs:410:9:410:13 | x | variables.rs:412:20:414:5 | [SSA] x | Local flow step does not preserve enclosing callable. | -| variables.rs:418:9:418:13 | y | variables.rs:421:9:421:9 | [SSA] y | Local flow step does not preserve enclosing callable. | -| variables.rs:436:9:436:13 | i | variables.rs:438:9:438:9 | [SSA] i | Local flow step does not preserve enclosing callable. | diff --git a/rust/ql/test/query-tests/unusedentities/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/query-tests/unusedentities/CONSISTENCY/DataFlowConsistency.expected index 47300d3b9fa9..0a61a151c204 100644 --- a/rust/ql/test/query-tests/unusedentities/CONSISTENCY/DataFlowConsistency.expected +++ b/rust/ql/test/query-tests/unusedentities/CONSISTENCY/DataFlowConsistency.expected @@ -3,5 +3,3 @@ uniqueEnclosingCallable | main.rs:198:28:198:28 | x | Node should have one enclosing callable but has 0. | | main.rs:202:28:202:28 | x | Node should have one enclosing callable but has 0. | | main.rs:206:28:206:28 | x | Node should have one enclosing callable but has 0. | -localFlowIsLocal -| main.rs:432:9:432:10 | i6 | main.rs:434:20:434:44 | [SSA] i6 | Local flow step does not preserve enclosing callable. | From a4ccda5fe3eecbb35ae2769494b7415e83547e11 Mon Sep 17 00:00:00 2001 From: Taus Date: Tue, 19 Nov 2024 13:45:47 +0000 Subject: [PATCH 300/347] Python: Fix pruning of literals in `match` pattern Co-authored-by: yoff --- .../extractor/semmle/python/passes/pruner.py | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/python/extractor/semmle/python/passes/pruner.py b/python/extractor/semmle/python/passes/pruner.py index d6363e529f18..fe3b03d453cd 100644 --- a/python/extractor/semmle/python/passes/pruner.py +++ b/python/extractor/semmle/python/passes/pruner.py @@ -196,6 +196,25 @@ def visit_Attribute(self, node): if isinstance(node.value, ast.Name): self.nodes.add(node.value) +class NotBooleanTestVisitor(ASTVisitor): + """Visitor that checks if a test is not a boolean test.""" + + def __init__(self): + self.nodes = set() + + def visit_MatchLiteralPattern(self, node): + # MatchLiteralPatterns _look_ like boolean tests, but are not. + # Thus, without this check, we would interpret + # + # match x: + # case False: + # pass + # + # (and similarly for True) as if it was a boolean test. This would cause the true edge + # (leading to pass) to be pruned later on. + if isinstance(node.literal, ast.Name) and node.literal.id in ('True', 'False'): + self.nodes.add(node.literal) + class NonlocalVisitor(ASTVisitor): def __init__(self): self.names = set() @@ -306,6 +325,8 @@ def effective_constants_definitions(bool_const_defns, graph, branching_edges): def do_pruning(tree, graph): v = BoolConstVisitor() v.visit(tree) + not_boolean_test = NotBooleanTestVisitor() + not_boolean_test.visit(tree) nonlocals = NonlocalVisitor() nonlocals.visit(tree) global_vars = GlobalVisitor() @@ -353,6 +374,8 @@ def do_pruning(tree, graph): b = const_value(pred.node) if b is None: continue + if pred.node in not_boolean_test.nodes: + continue if b.contradicts(val): to_be_removed.add((pred, succ)) if not to_be_removed: From 358098230ce09bcbbd04146d4a6443e600c119d1 Mon Sep 17 00:00:00 2001 From: Michael Nebel Date: Tue, 19 Nov 2024 14:58:21 +0100 Subject: [PATCH 301/347] C#: Address review comment from previous PR. --- csharp/ql/integration-tests/all-platforms/dotnet_build/test.py | 1 - 1 file changed, 1 deletion(-) diff --git a/csharp/ql/integration-tests/all-platforms/dotnet_build/test.py b/csharp/ql/integration-tests/all-platforms/dotnet_build/test.py index c32d966acb4a..75ba09477fa0 100644 --- a/csharp/ql/integration-tests/all-platforms/dotnet_build/test.py +++ b/csharp/ql/integration-tests/all-platforms/dotnet_build/test.py @@ -1,7 +1,6 @@ import os def check_build_out(msg, s): - lines = s.splitlines() lines = s.splitlines() assert ( any (("[build-stdout]" in line) and (msg in line) for line in lines) From e2530cf14fcf3a2cad2bce06017c4dbeeba49a96 Mon Sep 17 00:00:00 2001 From: Taus Date: Tue, 19 Nov 2024 14:10:50 +0000 Subject: [PATCH 302/347] Python: Update expected test output Co-authored-by: yoff --- .../query-tests/Statements/unreachable/UnreachableCode.expected | 2 -- 1 file changed, 2 deletions(-) diff --git a/python/ql/test/query-tests/Statements/unreachable/UnreachableCode.expected b/python/ql/test/query-tests/Statements/unreachable/UnreachableCode.expected index 013d7a0fe68d..2417041f472d 100644 --- a/python/ql/test/query-tests/Statements/unreachable/UnreachableCode.expected +++ b/python/ql/test/query-tests/Statements/unreachable/UnreachableCode.expected @@ -4,5 +4,3 @@ | test.py:21:5:21:38 | For | This statement is unreachable. | | test.py:28:9:28:21 | ExprStmt | This statement is unreachable. | | test.py:84:5:84:21 | ExceptStmt | This statement is unreachable. | -| test.py:144:13:144:16 | Pass | This statement is unreachable. | -| test.py:147:9:148:16 | Case | This statement is unreachable. | From 54e7db229474bab6df51094222e74b6960b218af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nora=20Dimitrijevi=C4=87?= Date: Thu, 14 Nov 2024 14:54:44 +0100 Subject: [PATCH 303/347] BigInt GA: s/arbitrary-precision/arbitrary-range/g in .rst docs --- docs/codeql/ql-language-reference/modules.rst | 2 +- docs/codeql/ql-language-reference/ql-language-specification.rst | 2 +- docs/codeql/ql-language-reference/types.rst | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/codeql/ql-language-reference/modules.rst b/docs/codeql/ql-language-reference/modules.rst index 75b61667246e..b7a353b8ccb0 100644 --- a/docs/codeql/ql-language-reference/modules.rst +++ b/docs/codeql/ql-language-reference/modules.rst @@ -431,7 +431,7 @@ The above query therefore evalutes to: BigInt ====== -The built-in ``QlBuiltins`` module provides an **experimental** type ``BigInt`` of arbitrary-precision integers. +The built-in ``QlBuiltins`` module provides an **experimental** type ``BigInt`` of arbitrary-range integers. This type is not available in the CodeQL CLI by default, but you can enable it by passing the ``--allow-experimental=bigint`` option to the CodeQL CLI. Consequently, BigInts are currently disallowed in query results and dbscheme columns. diff --git a/docs/codeql/ql-language-reference/ql-language-specification.rst b/docs/codeql/ql-language-reference/ql-language-specification.rst index 60e5ece73303..4c8fd30076a8 100644 --- a/docs/codeql/ql-language-reference/ql-language-specification.rst +++ b/docs/codeql/ql-language-reference/ql-language-specification.rst @@ -445,7 +445,7 @@ An integer value is of type ``int``. Each value is a 32-bit two's complement int A string is a finite sequence of 16-bit characters. The characters are interpreted as Unicode code points. -A :ref:`big integer ` value is of type ``QlBuiltins::BigInt``. Each value is a signed arbitrary-precision integer. +A :ref:`big integer ` value is of type ``QlBuiltins::BigInt``. Each value is a signed arbitrary-range integer. The database includes a number of opaque entity values. Each such value has a type that is one of the database types, and an identifying integer. An entity value is written as the name of its database type followed by its identifying integer in parentheses. For example, ``@tree(12)``, ``@person(16)``, and ``@location(38132)`` are entity values. The identifying integers are left opaque to programmers in this specification, so an implementation of QL is free to use some other set of countable labels to identify its entities. diff --git a/docs/codeql/ql-language-reference/types.rst b/docs/codeql/ql-language-reference/types.rst index e14f542dcf88..caafc0396229 100644 --- a/docs/codeql/ql-language-reference/types.rst +++ b/docs/codeql/ql-language-reference/types.rst @@ -52,7 +52,7 @@ independent of the database that you are querying. QL has a range of built-in operations defined on primitive types. These are available by using dispatch on expressions of the appropriate type. For example, ``1.toString()`` is the string representation of the integer constant ``1``. For a full list of built-in operations available in QL, see the section on `built-ins `__ in the QL language specification. -Additionally, there is an experimental arbitrary-precision integer primitive type at :ref:`QlBuiltins::BigInt `. This type is not available in the CodeQL CLI by default, but you can enable it by passing the ``--allow-experimental=bigint`` option to the CodeQL CLI. +Additionally, there is an experimental arbitrary-range integer primitive type at :ref:`QlBuiltins::BigInt `. This type is not available in the CodeQL CLI by default, but you can enable it by passing the ``--allow-experimental=bigint`` option to the CodeQL CLI. .. index:: class .. _classes: From 2da1d6aaa8aa2fa67e640e7e7627c33aee4f70ae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nora=20Dimitrijevi=C4=87?= Date: Thu, 14 Nov 2024 15:16:13 +0100 Subject: [PATCH 304/347] BigInt GA: remove mention of experimental status from .rst docs --- docs/codeql/ql-language-reference/modules.rst | 7 +++---- docs/codeql/ql-language-reference/types.rst | 2 +- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/docs/codeql/ql-language-reference/modules.rst b/docs/codeql/ql-language-reference/modules.rst index b7a353b8ccb0..d0cbdd39e36d 100644 --- a/docs/codeql/ql-language-reference/modules.rst +++ b/docs/codeql/ql-language-reference/modules.rst @@ -431,10 +431,7 @@ The above query therefore evalutes to: BigInt ====== -The built-in ``QlBuiltins`` module provides an **experimental** type ``BigInt`` of arbitrary-range integers. - -This type is not available in the CodeQL CLI by default, but you can enable it by passing the ``--allow-experimental=bigint`` -option to the CodeQL CLI. Consequently, BigInts are currently disallowed in query results and dbscheme columns. +The built-in ``QlBuiltins`` module provides a type ``BigInt`` of arbitrary-range integers. Unlike ``int`` and ``float``, there is no automatic conversion between ``BigInt`` and other numeric types. Instead, big integers can be constructed using the ``.toBigInt()`` methods of ``int`` and ``string``. @@ -451,3 +448,5 @@ The other built-in operations are: ``rank``, ``unique``, ``any``. * other: ``.pow(int)``, ``.abs()``, ``.gcd(BigInt)``, ``.minimum(BigInt)``, ``.maximum(BigInt)``. + +Note: big integers are currently disallowed in query results and dbscheme columns. diff --git a/docs/codeql/ql-language-reference/types.rst b/docs/codeql/ql-language-reference/types.rst index caafc0396229..d2d79fe8409b 100644 --- a/docs/codeql/ql-language-reference/types.rst +++ b/docs/codeql/ql-language-reference/types.rst @@ -52,7 +52,7 @@ independent of the database that you are querying. QL has a range of built-in operations defined on primitive types. These are available by using dispatch on expressions of the appropriate type. For example, ``1.toString()`` is the string representation of the integer constant ``1``. For a full list of built-in operations available in QL, see the section on `built-ins `__ in the QL language specification. -Additionally, there is an experimental arbitrary-range integer primitive type at :ref:`QlBuiltins::BigInt `. This type is not available in the CodeQL CLI by default, but you can enable it by passing the ``--allow-experimental=bigint`` option to the CodeQL CLI. +Additionally, there is an arbitrary-range integer primitive type at :ref:`QlBuiltins::BigInt `. .. index:: class .. _classes: From 0fc46f58558fe269affd73f1ad8973a55cbbcf04 Mon Sep 17 00:00:00 2001 From: Michael Nebel Date: Tue, 19 Nov 2024 16:30:48 +0100 Subject: [PATCH 305/347] C#: Fix compiler warnings related to errors in XML comments. --- .../Semmle.Autobuild.CSharp/AutoBuildRule.cs | 8 ++--- .../Semmle.Autobuild.Shared/Autobuilder.cs | 4 +-- .../Semmle.Autobuild.Shared/MarkdownUtil.cs | 4 +-- .../Assets.cs | 30 +++++++++---------- .../DotNetVersion.cs | 2 +- .../FileContent.cs | 4 +-- .../IDotNetCliInvoker.cs | 6 ++-- .../SymbolExtensions.cs | 15 ++++------ .../Entities/Base/CachedEntity.cs | 2 +- .../Entities/Base/IEntity.cs | 8 ++--- .../Entities/Expression.cs | 5 +--- .../Entities/Expression`1.cs | 2 +- .../Entities/Types/NamedType.cs | 5 ++-- .../Entities/Types/Nullability.cs | 4 +-- .../Entities/UserOperator.cs | 2 +- .../Extractor/Context.cs | 3 +- .../Extractor/TrapWriter.cs | 2 +- .../Trap/EscapingTextWriter.cs | 2 +- .../Trap/TrapExtensions.cs | 4 +-- .../Semmle.Util/CanonicalPathCache.cs | 3 +- .../extractor/Semmle.Util/CommandBuilder.cs | 1 - 21 files changed, 52 insertions(+), 64 deletions(-) diff --git a/csharp/autobuilder/Semmle.Autobuild.CSharp/AutoBuildRule.cs b/csharp/autobuilder/Semmle.Autobuild.CSharp/AutoBuildRule.cs index e58c8ddccd96..b3efe64b7e95 100644 --- a/csharp/autobuilder/Semmle.Autobuild.CSharp/AutoBuildRule.cs +++ b/csharp/autobuilder/Semmle.Autobuild.CSharp/AutoBuildRule.cs @@ -49,11 +49,9 @@ public BuildScript Analyse(IAutobuilder builder, bool au tryCleanExtractorArgsLogs & BuildScript.DeleteFile(Extractor.GetCSharpLogPath()); - /// - /// Execute script `s` and check that the C# extractor has been executed. - /// If either fails, attempt to cleanup any artifacts produced by the extractor, - /// and exit with code 1, in order to proceed to the next attempt. - /// + // Execute script `s` and check that the C# extractor has been executed. + // If either fails, attempt to cleanup any artifacts produced by the extractor, + // and exit with code 1, in order to proceed to the next attempt. BuildScript IntermediateAttempt(BuildScript s) => (s & this.autobuilder.CheckExtractorRun(false)) | (attemptExtractorCleanup & BuildScript.Failure); diff --git a/csharp/autobuilder/Semmle.Autobuild.Shared/Autobuilder.cs b/csharp/autobuilder/Semmle.Autobuild.Shared/Autobuilder.cs index 371352cf5e24..919e3821750b 100644 --- a/csharp/autobuilder/Semmle.Autobuild.Shared/Autobuilder.cs +++ b/csharp/autobuilder/Semmle.Autobuild.Shared/Autobuilder.cs @@ -195,7 +195,7 @@ protected Autobuilder(IBuildActions actions, TAutobuildOptions options, Diagnost } /// - /// Retrieves the value of an environment variable named or throws + /// Retrieves the value of an environment variable named or throws /// an exception if no such environment variable has been set. /// /// The name of the environment variable. @@ -228,7 +228,7 @@ protected string RequireEnvironmentVariable(string name) private readonly IDiagnosticsWriter diagnostics; /// - /// Makes relative to the root source directory. + /// Makes relative to the root source directory. /// /// The path which to make relative. /// The relative path. diff --git a/csharp/autobuilder/Semmle.Autobuild.Shared/MarkdownUtil.cs b/csharp/autobuilder/Semmle.Autobuild.Shared/MarkdownUtil.cs index 13a3533eb319..f5721910a966 100644 --- a/csharp/autobuilder/Semmle.Autobuild.Shared/MarkdownUtil.cs +++ b/csharp/autobuilder/Semmle.Autobuild.Shared/MarkdownUtil.cs @@ -22,7 +22,7 @@ public static class MarkdownUtil public static string ToMarkdownLink(this string link, string title) => $"[{title}]({link})"; /// - /// Renders as a markdown list of the project paths. + /// Renders as a markdown list of the project paths. /// /// /// The list of projects whose paths should be rendered as a markdown list. @@ -35,7 +35,7 @@ public static string ToMarkdownList(this IEnumerable project } /// - /// Renders as a markdown list. + /// Renders as a markdown list. /// /// The item type. /// The list that should be formatted as a markdown list. diff --git a/csharp/extractor/Semmle.Extraction.CSharp.DependencyFetching/Assets.cs b/csharp/extractor/Semmle.Extraction.CSharp.DependencyFetching/Assets.cs index 4a6b401038ef..13235ba19885 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp.DependencyFetching/Assets.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp.DependencyFetching/Assets.cs @@ -127,21 +127,21 @@ private void AddPackageDependencies(JObject json, string jsonPath) /// /// Example: /// "project": { - // "version": "1.0.0", - // "frameworks": { - // "net7.0": { - // "frameworkReferences": { - // "Microsoft.AspNetCore.App": { - // "privateAssets": "none" - // }, - // "Microsoft.NETCore.App": { - // "privateAssets": "all" - // } - // } - // } - // } - // } - // + /// "version": "1.0.0", + /// "frameworks": { + /// "net7.0": { + /// "frameworkReferences": { + /// "Microsoft.AspNetCore.App": { + /// "privateAssets": "none" + /// }, + /// "Microsoft.NETCore.App": { + /// "privateAssets": "all" + /// } + /// } + /// } + /// } + /// } + /// /// Adds the following dependencies /// Paths: { /// "microsoft.aspnetcore.app.ref", diff --git a/csharp/extractor/Semmle.Extraction.CSharp.DependencyFetching/DotNetVersion.cs b/csharp/extractor/Semmle.Extraction.CSharp.DependencyFetching/DotNetVersion.cs index f62c279d2400..b4273d02b77a 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp.DependencyFetching/DotNetVersion.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp.DependencyFetching/DotNetVersion.cs @@ -27,7 +27,7 @@ private string FullVersion * This is the same as FullPath, except that we assume that the * reference assemblies are in a directory called "packs" and * the reference assemblies themselves are in a directory called - * ".Ref/ref". + * "[Framework].Ref/ref". * Example: * FullPath: /usr/share/dotnet/shared/Microsoft.NETCore.App/7.0.2 * FullPathReferenceAssemblies: /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref diff --git a/csharp/extractor/Semmle.Extraction.CSharp.DependencyFetching/FileContent.cs b/csharp/extractor/Semmle.Extraction.CSharp.DependencyFetching/FileContent.cs index f33329046cf6..f5199de1c13a 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp.DependencyFetching/FileContent.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp.DependencyFetching/FileContent.cs @@ -38,8 +38,8 @@ public HashSet AllPackages /// True if any file in the source directory indicates that ASP.NET Core is used. /// The following heuristic is used to decide, if ASP.NET Core is used: /// If any file in the source directory contains something like (this will most like be a .csproj file) - /// - /// + /// <Project Sdk="Microsoft.NET.Sdk.Web"> + /// <FrameworkReference Include="Microsoft.AspNetCore.App"/> ///
    public bool UseAspNetCoreDlls { diff --git a/csharp/extractor/Semmle.Extraction.CSharp.DependencyFetching/IDotNetCliInvoker.cs b/csharp/extractor/Semmle.Extraction.CSharp.DependencyFetching/IDotNetCliInvoker.cs index bfc8b44ee569..89631ffa861e 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp.DependencyFetching/IDotNetCliInvoker.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp.DependencyFetching/IDotNetCliInvoker.cs @@ -10,20 +10,20 @@ internal interface IDotNetCliInvoker string Exec { get; } /// - /// Execute `dotnet ` and return true if the command succeeded, otherwise false. + /// Execute `dotnet ` and return true if the command succeeded, otherwise false. /// If `silent` is true the output of the command is logged as `debug` otherwise as `info`. /// bool RunCommand(string args, bool silent = true); /// - /// Execute `dotnet ` and return true if the command succeeded, otherwise false. + /// Execute `dotnet ` and return true if the command succeeded, otherwise false. /// The output of the command is returned in `output`. /// If `silent` is true the output of the command is logged as `debug` otherwise as `info`. /// bool RunCommand(string args, out IList output, bool silent = true); /// - /// Execute `dotnet ` in `` and return true if the command succeeded, otherwise false. + /// Execute `dotnet ` in `` and return true if the command succeeded, otherwise false. /// The output of the command is returned in `output`. /// If `silent` is true the output of the command is logged as `debug` otherwise as `info`. /// diff --git a/csharp/extractor/Semmle.Extraction.CSharp/CodeAnalysisExtensions/SymbolExtensions.cs b/csharp/extractor/Semmle.Extraction.CSharp/CodeAnalysisExtensions/SymbolExtensions.cs index 2ffdd9dbcd65..72c45b797d8a 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/CodeAnalysisExtensions/SymbolExtensions.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/CodeAnalysisExtensions/SymbolExtensions.cs @@ -133,9 +133,6 @@ bool IdDependsOnImpl(ITypeSymbol? type) /// /// Constructs a unique string for this type symbol. - /// - /// The supplied action is applied to the - /// syntactic sub terms of this type (if any). /// /// The extraction context. /// The trap builder used to store the result. @@ -495,31 +492,31 @@ public static bool IsReallyUnbound(this INamedTypeSymbol type) => /// /// Holds if this type is of the form int? or - /// System.Nullable. + /// System.Nullable<int>. /// public static bool IsBoundNullable(this ITypeSymbol type) => type.SpecialType == SpecialType.None && type.OriginalDefinition.IsUnboundNullable(); /// - /// Holds if this type is System.Nullable. + /// Holds if this type is System.Nullable<T>. /// public static bool IsUnboundNullable(this ITypeSymbol type) => type.SpecialType == SpecialType.System_Nullable_T; /// - /// Holds if this type is System.Span. + /// Holds if this type is System.Span<T>. /// public static bool IsUnboundSpan(this ITypeSymbol type) => type.ToString() == "System.Span"; /// - /// Holds if this type is of the form System.Span. + /// Holds if this type is of the form System.Span<byte>. /// public static bool IsBoundSpan(this ITypeSymbol type) => type.SpecialType == SpecialType.None && type.OriginalDefinition.IsUnboundSpan(); /// - /// Holds if this type is System.ReadOnlySpan. + /// Holds if this type is System.ReadOnlySpan<T>. /// public static bool IsUnboundReadOnlySpan(this ITypeSymbol type) => type.ToString() == "System.ReadOnlySpan"; @@ -536,7 +533,7 @@ attribute.AttributeClass is INamedTypeSymbol nt && } /// - /// Holds if this type is of the form System.ReadOnlySpan. + /// Holds if this type is of the form System.ReadOnlySpan<byte>. /// public static bool IsBoundReadOnlySpan(this ITypeSymbol type) => type.SpecialType == SpecialType.None && type.OriginalDefinition.IsUnboundReadOnlySpan(); diff --git a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Base/CachedEntity.cs b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Base/CachedEntity.cs index ed0a21bc0836..96bef9732117 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Base/CachedEntity.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Base/CachedEntity.cs @@ -7,7 +7,7 @@ namespace Semmle.Extraction.CSharp.Entities /// /// A cached entity. /// - /// The property is used as label in caching. + /// The property is used as label in caching. /// public abstract class CachedEntity : LabelledEntity { diff --git a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Base/IEntity.cs b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Base/IEntity.cs index d8d3c538e42c..f6f60ff91468 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Base/IEntity.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Base/IEntity.cs @@ -9,12 +9,12 @@ namespace Semmle.Extraction.CSharp /// Entities are divided into two types: normal entities and cached /// entities. /// - /// Normal entities implement directly, and they + /// Normal entities implement directly, and they /// (may) emit contents to the trap file during object construction. /// - /// Cached entities implement , and they - /// emit contents to the trap file when - /// is called. Caching prevents + /// Cached entities implement , and they + /// emit contents to the trap file when + /// is called. Caching prevents /// from being called on entities that have already been emitted. /// public interface IEntity diff --git a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Expression.cs b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Expression.cs index f5021d38eeb5..9241528eb752 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Expression.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Expression.cs @@ -77,7 +77,7 @@ internal void SetType(ITypeSymbol? type) /// /// Gets a string representation of a constant value. /// - /// The value. + /// The value. /// The string representation. public static string ValueAsString(object? value) { @@ -98,7 +98,6 @@ public static string ValueAsString(object? value) /// The node to extract. /// The parent entity. /// The child index. - /// A type hint. /// The new expression. public static Expression Create(Context cx, ExpressionSyntax node, IExpressionParentEntity parent, int child, Boolean isCompilerGenerated = false) { @@ -120,7 +119,6 @@ public static Expression Create(Context cx, ExpressionSyntax node, IExpressionPa /// The node to extract. /// The parent entity. /// The child index. - /// A type hint. public static void CreateDeferred(Context cx, ExpressionSyntax node, IExpressionParentEntity parent, int child) { if (ContainsPattern(node)) @@ -244,7 +242,6 @@ public static ExprKind UnaryOperatorKind(Context cx, ExprKind originalKind, Expr /// to show the target of the call. Also note the dynamic method /// name if available. /// - /// Context /// The expression. public void OperatorCall(TextWriter trapFile, ExpressionSyntax node) { diff --git a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Expression`1.cs b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Expression`1.cs index 6386e43a9b47..4c2670369e0c 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Expression`1.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Expression`1.cs @@ -20,7 +20,7 @@ protected Expression(ExpressionNodeInfo info) /// expressions and expr_location are populated by the constructor /// (should not fail), so even if expression-type specific population fails (e.g., in /// standalone extraction), the expression created via - /// will + /// will /// still be valid. /// protected abstract void PopulateExpression(TextWriter trapFile); diff --git a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Types/NamedType.cs b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Types/NamedType.cs index 189a07f6f476..b2106febaff3 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Types/NamedType.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Types/NamedType.cs @@ -21,10 +21,9 @@ public static NamedType Create(Context cx, INamedTypeSymbol type) => NamedTypeFactory.Instance.CreateEntityFromSymbol(cx, type); /// - /// Creates a named type entity from a tuple type. Unlike `Create`, this + /// Creates a named type entity from a tuple type. Unlike , this /// will create an entity for the underlying `System.ValueTuple` struct. - /// For example, `(int, string)` will result in an entity for - /// `System.ValueTuple`. + /// For example, `(int, string)` will result in an entity for `System.ValueTuple<int, string>`. /// public static NamedType CreateNamedTypeFromTupleType(Context cx, INamedTypeSymbol type) => UnderlyingTupleTypeFactory.Instance.CreateEntity(cx, (new SymbolEqualityWrapper(type), typeof(TupleType)), type); diff --git a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Types/Nullability.cs b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Types/Nullability.cs index 9791f386a199..add36226f165 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Types/Nullability.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Types/Nullability.cs @@ -209,8 +209,8 @@ public static IEnumerable GetAnnotatedTypeArguments(this An /// This is so that we can avoid populating nullability in most cases. /// For example, /// - /// IEnumerable<string?> // false - /// IEnumerable<string?>? // true + /// IEnumerable<string?> // false + /// IEnumerable<string?>? // true /// string? // true /// string[] // true /// string?[] // false diff --git a/csharp/extractor/Semmle.Extraction.CSharp/Entities/UserOperator.cs b/csharp/extractor/Semmle.Extraction.CSharp/Entities/UserOperator.cs index f2fc4b85d7f5..141bded87acf 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/Entities/UserOperator.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Entities/UserOperator.cs @@ -86,7 +86,7 @@ private bool IsImplicitOperator(out ITypeSymbol containingType) /// Logs an error if the name is not found. /// /// Extractor context. - /// The method name. + /// The method symbol. /// The converted name. private static string OperatorSymbol(Context cx, IMethodSymbol method) { diff --git a/csharp/extractor/Semmle.Extraction.CSharp/Extractor/Context.cs b/csharp/extractor/Semmle.Extraction.CSharp/Extractor/Context.cs index 8d819d715f9f..67bb2808ae62 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/Extractor/Context.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Extractor/Context.cs @@ -152,7 +152,7 @@ internal void AddFreshLabel(Entity entity) /// /// Enqueue the given action to be performed later. /// - /// The action to run. + /// The action to run. public void PopulateLater(Action a, bool preserveDuplicationKey = true) { var key = preserveDuplicationKey ? GetCurrentTagStackKey() : null; @@ -598,7 +598,6 @@ public Entities.Location CreateLocation(Microsoft.CodeAnalysis.Location? locatio /// /// Register a program entity which can be bound to comments. /// - /// Extractor context. /// Program entity. /// Location of the entity. public void BindComments(Entity entity, Microsoft.CodeAnalysis.Location? l) diff --git a/csharp/extractor/Semmle.Extraction.CSharp/Extractor/TrapWriter.cs b/csharp/extractor/Semmle.Extraction.CSharp/Extractor/TrapWriter.cs index 4830c3209c26..42e933c8eaf4 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/Extractor/TrapWriter.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Extractor/TrapWriter.cs @@ -171,7 +171,7 @@ private static bool TryMove(string sourceFile, string destFile) /// /// Close the trap file, and move it to the right place in the trap directory. /// If the file exists already, rename it to allow the new file (ending .trap.gz) - /// to sit alongside the old file (except if is true, + /// to sit alongside the old file (except if is true, /// in which case only the existing file is kept). /// public void Dispose() diff --git a/csharp/extractor/Semmle.Extraction.CSharp/Trap/EscapingTextWriter.cs b/csharp/extractor/Semmle.Extraction.CSharp/Trap/EscapingTextWriter.cs index 63f5e81c3586..28e1d0bf146c 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/Trap/EscapingTextWriter.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Trap/EscapingTextWriter.cs @@ -8,7 +8,7 @@ namespace Semmle.Extraction.CSharp { /// /// A `TextWriter` object that wraps another `TextWriter` object, and which - /// HTML escapes the characters `&`, `{`, `}`, `"`, `@`, and `#`, before + /// HTML escapes the characters &, {, }, ", @, and #, before /// writing to the underlying object. /// public sealed class EscapingTextWriter : TextWriter diff --git a/csharp/extractor/Semmle.Extraction.CSharp/Trap/TrapExtensions.cs b/csharp/extractor/Semmle.Extraction.CSharp/Trap/TrapExtensions.cs index 787ba62e3e82..22e38bac51c0 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/Trap/TrapExtensions.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Trap/TrapExtensions.cs @@ -226,7 +226,7 @@ public static TextWriter AppendList(this EscapingTextWriter trapFile, string /// /// Builds a trap builder using a separator and an action for each item in the list. /// - /// The type of the items. + /// The type of the items. /// The trap builder to append to. /// The separator string (e.g. ",") /// The list of items. @@ -251,7 +251,7 @@ public static T1 BuildList(this T1 trapFile, string separator, IEnumerab /// /// Builds a trap builder using a separator and an action for each item in the list. /// - /// The type of the items. + /// The type of the items. /// The trap builder to append to. /// The separator string (e.g. ",") /// The list of items. diff --git a/csharp/extractor/Semmle.Util/CanonicalPathCache.cs b/csharp/extractor/Semmle.Util/CanonicalPathCache.cs index a79854333ac7..d3cbf41fa101 100644 --- a/csharp/extractor/Semmle.Util/CanonicalPathCache.cs +++ b/csharp/extractor/Semmle.Util/CanonicalPathCache.cs @@ -208,7 +208,7 @@ public enum Symlinks /// Create cache with a given capacity. /// /// The algorithm for determining the canonical path. - /// The size of the cache. + /// The size of the cache. public CanonicalPathCache(int maxCapacity, PathStrategy pathStrategy) { if (maxCapacity <= 0) @@ -230,7 +230,6 @@ public CanonicalPathCache(int maxCapacity, PathStrategy pathStrategy) /// /// /// Size of the cache. - /// Policy for following symlinks. /// A new CanonicalPathCache. public static CanonicalPathCache Create(ILogger logger, int maxCapacity) { diff --git a/csharp/extractor/Semmle.Util/CommandBuilder.cs b/csharp/extractor/Semmle.Util/CommandBuilder.cs index 3d8f907f8669..1b6cd3176c43 100644 --- a/csharp/extractor/Semmle.Util/CommandBuilder.cs +++ b/csharp/extractor/Semmle.Util/CommandBuilder.cs @@ -62,7 +62,6 @@ public CommandBuilder CallBatFile(string batFile, string? argumentsOpt = null) /// /// The argument to append. /// Whether to always quote the argument. - /// Whether to escape for cmd.exe /// /// /// This implementation is copied from From 3b01efaf5da256749779599b2d19eac4f3c8ee69 Mon Sep 17 00:00:00 2001 From: Michael Nebel Date: Tue, 19 Nov 2024 17:08:08 +0100 Subject: [PATCH 306/347] C#: Update launch.json. --- csharp/.vscode/launch.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/csharp/.vscode/launch.json b/csharp/.vscode/launch.json index 468588610474..1f598f5e44f7 100644 --- a/csharp/.vscode/launch.json +++ b/csharp/.vscode/launch.json @@ -6,7 +6,7 @@ "type": "coreclr", "request": "launch", "preLaunchTask": "dotnet: build", - "program": "${workspaceFolder}/extractor/Semmle.Extraction.CSharp.Standalone/bin/Debug/net8.0/Semmle.Extraction.CSharp.Standalone.dll", + "program": "${workspaceFolder}/extractor/Semmle.Extraction.CSharp.Standalone/bin/Debug/net9.0/Semmle.Extraction.CSharp.Standalone.dll", "args": [], // Set the path to the folder that should be extracted: "cwd": "${workspaceFolder}/ql/test/library-tests/standalone/standalonemode", @@ -35,7 +35,7 @@ "type": "coreclr", "request": "launch", "preLaunchTask": "dotnet: build", - "program": "${workspaceFolder}/autobuilder/Semmle.Autobuild.CSharp/bin/Debug/net8.0/Semmle.Autobuild.CSharp.dll", + "program": "${workspaceFolder}/autobuilder/Semmle.Autobuild.CSharp/bin/Debug/net9.0/Semmle.Autobuild.CSharp.dll", // Set the path to the folder that should be extracted: "cwd": "${workspaceFolder}/ql/integration-tests/all-platforms/autobuild", "stopAtEntry": true, @@ -53,7 +53,7 @@ "type": "coreclr", "request": "launch", "preLaunchTask": "dotnet: build", - "program": "${workspaceFolder}/extractor/Semmle.Extraction.CSharp.Driver/bin/Debug/net8.0/Semmle.Extraction.CSharp.Driver.dll", + "program": "${workspaceFolder}/extractor/Semmle.Extraction.CSharp.Driver/bin/Debug/net9.0/Semmle.Extraction.CSharp.Driver.dll", "stopAtEntry": true, "args": [ "--binlog", From bf824cac0a55188f82b7de4fb84dc621f9dcfcd9 Mon Sep 17 00:00:00 2001 From: Owen Mansel-Chan Date: Tue, 19 Nov 2024 15:57:31 +0000 Subject: [PATCH 307/347] Allow package-level variables in MaD --- go/ql/lib/semmle/go/dataflow/ExternalFlow.qll | 5 +++-- .../go/dataflow/internal/FlowSummaryImpl.qll | 18 ++++++++++++++++++ .../ExternalTaintFlow/completetest.ext.yml | 2 ++ .../dataflow/ExternalTaintFlow/sinks.expected | 1 + .../dataflow/ExternalTaintFlow/sinks.ext.yml | 1 + .../dataflow/ExternalTaintFlow/srcs.expected | 1 + .../go/dataflow/ExternalTaintFlow/srcs.ext.yml | 3 ++- .../go/dataflow/ExternalTaintFlow/test.go | 3 +++ .../vendor/github.com/nonexistent/test/stub.go | 3 +++ .../ExternalValueFlow/completetest.ext.yml | 2 ++ .../dataflow/ExternalValueFlow/sinks.expected | 1 + .../dataflow/ExternalValueFlow/sinks.ext.yml | 1 + .../dataflow/ExternalValueFlow/srcs.expected | 1 + .../go/dataflow/ExternalValueFlow/srcs.ext.yml | 3 ++- .../go/dataflow/ExternalValueFlow/test.go | 3 +++ .../vendor/github.com/nonexistent/test/stub.go | 3 +++ 16 files changed, 47 insertions(+), 4 deletions(-) diff --git a/go/ql/lib/semmle/go/dataflow/ExternalFlow.qll b/go/ql/lib/semmle/go/dataflow/ExternalFlow.qll index a59c7294e802..5ae7b6a7f0d8 100644 --- a/go/ql/lib/semmle/go/dataflow/ExternalFlow.qll +++ b/go/ql/lib/semmle/go/dataflow/ExternalFlow.qll @@ -38,7 +38,8 @@ * first 6 columns, and the `output` column specifies how data leaves the * element selected by the first 6 columns. An `input` can be either "", * "Argument[n]", or "Argument[n1..n2]": - * - "": Selects a write to the selected element in case this is a field. + * - "": Selects a write to the selected element in case this is a field or + * package-level variable. * - "Argument[n]": Selects an argument in a call to the selected element. * The arguments are zero-indexed, and `receiver` specifies the receiver. * - "Argument[n1..n2]": Similar to "Argument[n]" but selects any argument @@ -47,7 +48,7 @@ * An `output` can be either "", "Argument[n]", "Argument[n1..n2]", "Parameter", * "Parameter[n]", "Parameter[n1..n2]", , "ReturnValue", "ReturnValue[n]", or * "ReturnValue[n1..n2]": - * - "": Selects a read of a selected field. + * - "": Selects a read of a selected field or package-level variable. * - "Argument[n]": Selects the post-update value of an argument in a call to the * selected element. That is, the value of the argument after the call returns. * The arguments are zero-indexed, and `receiver` specifies the receiver. diff --git a/go/ql/lib/semmle/go/dataflow/internal/FlowSummaryImpl.qll b/go/ql/lib/semmle/go/dataflow/internal/FlowSummaryImpl.qll index b82039a32fe3..40c68ceb900a 100644 --- a/go/ql/lib/semmle/go/dataflow/internal/FlowSummaryImpl.qll +++ b/go/ql/lib/semmle/go/dataflow/internal/FlowSummaryImpl.qll @@ -399,6 +399,13 @@ module SourceSinkInterpretationInput implements c = "" and pragma[only_bind_into](e) = getElementWithQualifier(frn.getField(), frn.getBase()) ) + or + // A package-scope (or universe-scope) variable + exists(Variable v | not v instanceof Field | + c = "" and + n.(DataFlow::ReadNode).reads(v) and + pragma[only_bind_into](e).asEntity() = v + ) ) } @@ -420,6 +427,17 @@ module SourceSinkInterpretationInput implements fw.writesField(base, f, node.asNode()) and pragma[only_bind_into](e) = getElementWithQualifier(f, base) ) + or + // A package-scope (or universe-scope) variable + exists(Node n, SourceOrSinkElement e, DataFlow::Write w, Variable v | + n = node.asNode() and + e = mid.asElement() and + not v instanceof Field + | + c = "" and + w.writes(v, n) and + pragma[only_bind_into](e).asEntity() = v + ) } } diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ExternalTaintFlow/completetest.ext.yml b/go/ql/test/library-tests/semmle/go/dataflow/ExternalTaintFlow/completetest.ext.yml index 79bf9128ef5c..d89a9e04e16a 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/ExternalTaintFlow/completetest.ext.yml +++ b/go/ql/test/library-tests/semmle/go/dataflow/ExternalTaintFlow/completetest.ext.yml @@ -35,10 +35,12 @@ extensions: pack: codeql/go-all extensible: sourceModel data: + - ["github.com/nonexistent/test", "", False, "SourceVariable", "", "", "", "qltest", "manual"] - ["github.com/nonexistent/test", "A", False, "Src1", "", "", "ReturnValue", "qltest", "manual"] - addsTo: pack: codeql/go-all extensible: sinkModel data: + - ["github.com/nonexistent/test", "", False, "SinkVariable", "", "", "", "qltest", "manual"] - ["github.com/nonexistent/test", "B", False, "Sink1", "", "", "Argument[0]", "qltest", "manual"] - ["github.com/nonexistent/test", "B", False, "SinkManyArgs", "", "", "Argument[0..2]", "qltest", "manual"] diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ExternalTaintFlow/sinks.expected b/go/ql/test/library-tests/semmle/go/dataflow/ExternalTaintFlow/sinks.expected index fc9adff8942d..755c3f822791 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/ExternalTaintFlow/sinks.expected +++ b/go/ql/test/library-tests/semmle/go/dataflow/ExternalTaintFlow/sinks.expected @@ -43,3 +43,4 @@ invalidModelRow | test.go:199:17:199:20 | arg1 | qltest | | test.go:199:23:199:26 | arg2 | qltest | | test.go:199:29:199:32 | arg3 | qltest | +| test.go:202:22:202:25 | temp | qltest | diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ExternalTaintFlow/sinks.ext.yml b/go/ql/test/library-tests/semmle/go/dataflow/ExternalTaintFlow/sinks.ext.yml index 426e094c00c3..ec19b822a8c1 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/ExternalTaintFlow/sinks.ext.yml +++ b/go/ql/test/library-tests/semmle/go/dataflow/ExternalTaintFlow/sinks.ext.yml @@ -3,6 +3,7 @@ extensions: pack: codeql/go-all extensible: sinkModel data: + - ["github.com/nonexistent/test", "", False, "SinkVariable", "", "", "", "qltest", "manual"] - ["github.com/nonexistent/test", "B", False, "Sink1", "", "", "Argument[0]", "qltest", "manual"] - ["github.com/nonexistent/test", "B", False, "SinkMethod", "", "", "Argument[receiver]", "qltest", "manual"] - ["github.com/nonexistent/test", "B", False, "SinkManyArgs", "", "", "Argument[0..2]", "qltest", "manual"] diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ExternalTaintFlow/srcs.expected b/go/ql/test/library-tests/semmle/go/dataflow/ExternalTaintFlow/srcs.expected index d63fedba3fdb..bd1525a984b9 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/ExternalTaintFlow/srcs.expected +++ b/go/ql/test/library-tests/semmle/go/dataflow/ExternalTaintFlow/srcs.expected @@ -21,3 +21,4 @@ invalidModelRow | test.go:183:17:183:24 | call to Src1 | qltest | | test.go:187:24:187:31 | call to Src1 | qltest | | test.go:191:24:191:31 | call to Src1 | qltest | +| test.go:201:10:201:28 | selection of SourceVariable | qltest | diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ExternalTaintFlow/srcs.ext.yml b/go/ql/test/library-tests/semmle/go/dataflow/ExternalTaintFlow/srcs.ext.yml index 5493650132c1..cda2183894ca 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/ExternalTaintFlow/srcs.ext.yml +++ b/go/ql/test/library-tests/semmle/go/dataflow/ExternalTaintFlow/srcs.ext.yml @@ -3,9 +3,10 @@ extensions: pack: codeql/go-all extensible: sourceModel data: + - ["github.com/nonexistent/test", "", False, "SourceVariable", "", "", "", "qltest", "manual"] - ["github.com/nonexistent/test", "A", False, "Src1", "", "", "ReturnValue", "qltest", "manual"] - ["github.com/nonexistent/test", "A", False, "Src2", "", "", "ReturnValue", "qltest", "manual"] - ["github.com/nonexistent/test", "A", True, "Src2", "", "", "ReturnValue", "qltest-w-subtypes", "manual"] - ["github.com/nonexistent/test", "A", False, "SrcArg", "", "", "Argument[0]", "qltest-arg", "manual"] - ["github.com/nonexistent/test", "A", False, "Src3", "", "", "ReturnValue[0]", "qltest", "manual"] - - ["github.com/nonexistent/test", "A", True, "Src3", "", "", "ReturnValue[1]", "qltest-w-subtypes", "manual"] \ No newline at end of file + - ["github.com/nonexistent/test", "A", True, "Src3", "", "", "ReturnValue[1]", "qltest-w-subtypes", "manual"] diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ExternalTaintFlow/test.go b/go/ql/test/library-tests/semmle/go/dataflow/ExternalTaintFlow/test.go index 33e980dac990..29ed066cd50d 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/ExternalTaintFlow/test.go +++ b/go/ql/test/library-tests/semmle/go/dataflow/ExternalTaintFlow/test.go @@ -197,6 +197,9 @@ func simpleflow() { arg3 := src arg4 := src b.SinkManyArgs(arg1, arg2, arg3, arg4) // $ hasTaintFlow="arg1" hasTaintFlow="arg2" hasTaintFlow="arg3" + + temp := test.SourceVariable + test.SinkVariable = temp // $ hasTaintFlow="temp" } type mapstringstringtype map[string]string diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ExternalTaintFlow/vendor/github.com/nonexistent/test/stub.go b/go/ql/test/library-tests/semmle/go/dataflow/ExternalTaintFlow/vendor/github.com/nonexistent/test/stub.go index 05a5f741d764..72681cf72382 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/ExternalTaintFlow/vendor/github.com/nonexistent/test/stub.go +++ b/go/ql/test/library-tests/semmle/go/dataflow/ExternalTaintFlow/vendor/github.com/nonexistent/test/stub.go @@ -72,3 +72,6 @@ func (c C) Get() string { return "" } func (c *C) SetThroughPointer(f string) {} func (c *C) GetThroughPointer() string { return "" } + +var SourceVariable string +var SinkVariable string diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ExternalValueFlow/completetest.ext.yml b/go/ql/test/library-tests/semmle/go/dataflow/ExternalValueFlow/completetest.ext.yml index 8fbc26ff6cda..924e19a8a73b 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/ExternalValueFlow/completetest.ext.yml +++ b/go/ql/test/library-tests/semmle/go/dataflow/ExternalValueFlow/completetest.ext.yml @@ -35,10 +35,12 @@ extensions: pack: codeql/go-all extensible: sourceModel data: + - ["github.com/nonexistent/test", "", False, "SourceVariable", "", "", "", "qltest", "manual"] - ["github.com/nonexistent/test", "A", False, "Src1", "", "", "ReturnValue", "qltest", "manual"] - addsTo: pack: codeql/go-all extensible: sinkModel data: + - ["github.com/nonexistent/test", "", False, "SinkVariable", "", "", "", "qltest", "manual"] - ["github.com/nonexistent/test", "B", False, "Sink1", "", "", "Argument[0]", "qltest", "manual"] - ["github.com/nonexistent/test", "B", False, "SinkManyArgs", "", "", "Argument[0..2]", "qltest", "manual"] diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ExternalValueFlow/sinks.expected b/go/ql/test/library-tests/semmle/go/dataflow/ExternalValueFlow/sinks.expected index 0fe3a614e11f..c9940e181c8c 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/ExternalValueFlow/sinks.expected +++ b/go/ql/test/library-tests/semmle/go/dataflow/ExternalValueFlow/sinks.expected @@ -49,3 +49,4 @@ invalidModelRow | test.go:205:10:205:26 | call to min | qltest | | test.go:206:10:206:26 | call to min | qltest | | test.go:207:10:207:26 | call to min | qltest | +| test.go:210:22:210:25 | temp | qltest | diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ExternalValueFlow/sinks.ext.yml b/go/ql/test/library-tests/semmle/go/dataflow/ExternalValueFlow/sinks.ext.yml index 426e094c00c3..ec19b822a8c1 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/ExternalValueFlow/sinks.ext.yml +++ b/go/ql/test/library-tests/semmle/go/dataflow/ExternalValueFlow/sinks.ext.yml @@ -3,6 +3,7 @@ extensions: pack: codeql/go-all extensible: sinkModel data: + - ["github.com/nonexistent/test", "", False, "SinkVariable", "", "", "", "qltest", "manual"] - ["github.com/nonexistent/test", "B", False, "Sink1", "", "", "Argument[0]", "qltest", "manual"] - ["github.com/nonexistent/test", "B", False, "SinkMethod", "", "", "Argument[receiver]", "qltest", "manual"] - ["github.com/nonexistent/test", "B", False, "SinkManyArgs", "", "", "Argument[0..2]", "qltest", "manual"] diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ExternalValueFlow/srcs.expected b/go/ql/test/library-tests/semmle/go/dataflow/ExternalValueFlow/srcs.expected index d63fedba3fdb..6fcfcc2a3bcc 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/ExternalValueFlow/srcs.expected +++ b/go/ql/test/library-tests/semmle/go/dataflow/ExternalValueFlow/srcs.expected @@ -21,3 +21,4 @@ invalidModelRow | test.go:183:17:183:24 | call to Src1 | qltest | | test.go:187:24:187:31 | call to Src1 | qltest | | test.go:191:24:191:31 | call to Src1 | qltest | +| test.go:209:10:209:28 | selection of SourceVariable | qltest | diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ExternalValueFlow/srcs.ext.yml b/go/ql/test/library-tests/semmle/go/dataflow/ExternalValueFlow/srcs.ext.yml index 5493650132c1..cda2183894ca 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/ExternalValueFlow/srcs.ext.yml +++ b/go/ql/test/library-tests/semmle/go/dataflow/ExternalValueFlow/srcs.ext.yml @@ -3,9 +3,10 @@ extensions: pack: codeql/go-all extensible: sourceModel data: + - ["github.com/nonexistent/test", "", False, "SourceVariable", "", "", "", "qltest", "manual"] - ["github.com/nonexistent/test", "A", False, "Src1", "", "", "ReturnValue", "qltest", "manual"] - ["github.com/nonexistent/test", "A", False, "Src2", "", "", "ReturnValue", "qltest", "manual"] - ["github.com/nonexistent/test", "A", True, "Src2", "", "", "ReturnValue", "qltest-w-subtypes", "manual"] - ["github.com/nonexistent/test", "A", False, "SrcArg", "", "", "Argument[0]", "qltest-arg", "manual"] - ["github.com/nonexistent/test", "A", False, "Src3", "", "", "ReturnValue[0]", "qltest", "manual"] - - ["github.com/nonexistent/test", "A", True, "Src3", "", "", "ReturnValue[1]", "qltest-w-subtypes", "manual"] \ No newline at end of file + - ["github.com/nonexistent/test", "A", True, "Src3", "", "", "ReturnValue[1]", "qltest-w-subtypes", "manual"] diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ExternalValueFlow/test.go b/go/ql/test/library-tests/semmle/go/dataflow/ExternalValueFlow/test.go index 82419ae7d595..72c4db352480 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/ExternalValueFlow/test.go +++ b/go/ql/test/library-tests/semmle/go/dataflow/ExternalValueFlow/test.go @@ -205,6 +205,9 @@ func simpleflow() { b.Sink1(min(srcInt, 0, 1)) // $ hasValueFlow="call to min" b.Sink1(min(0, srcInt, 1)) // $ hasValueFlow="call to min" b.Sink1(min(0, 1, srcInt)) // $ hasValueFlow="call to min" + + temp := test.SourceVariable + test.SinkVariable = temp // $ hasValueFlow="temp" } type mapstringstringtype map[string]string diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ExternalValueFlow/vendor/github.com/nonexistent/test/stub.go b/go/ql/test/library-tests/semmle/go/dataflow/ExternalValueFlow/vendor/github.com/nonexistent/test/stub.go index 05a5f741d764..72681cf72382 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/ExternalValueFlow/vendor/github.com/nonexistent/test/stub.go +++ b/go/ql/test/library-tests/semmle/go/dataflow/ExternalValueFlow/vendor/github.com/nonexistent/test/stub.go @@ -72,3 +72,6 @@ func (c C) Get() string { return "" } func (c *C) SetThroughPointer(f string) {} func (c *C) GetThroughPointer() string { return "" } + +var SourceVariable string +var SinkVariable string From dd87b1a9de94c184612367fc4b349bc2e237ebcc Mon Sep 17 00:00:00 2001 From: Owen Mansel-Chan Date: Tue, 19 Nov 2024 15:20:31 +0000 Subject: [PATCH 308/347] Convert `os.stdin` model to MaD --- go/ql/lib/ext/os.model.yml | 1 + go/ql/lib/semmle/go/frameworks/stdlib/Os.qll | 8 -------- 2 files changed, 1 insertion(+), 8 deletions(-) diff --git a/go/ql/lib/ext/os.model.yml b/go/ql/lib/ext/os.model.yml index 3d87eefe43f7..2c1c64db93ac 100644 --- a/go/ql/lib/ext/os.model.yml +++ b/go/ql/lib/ext/os.model.yml @@ -53,6 +53,7 @@ extensions: - ["os", "", False, "Open", "", "", "ReturnValue[0]", "file", "manual"] - ["os", "", False, "OpenFile", "", "", "ReturnValue[0]", "file", "manual"] - ["os", "", False, "ReadFile", "", "", "ReturnValue[0]", "file", "manual"] + - ["os", "", False, "Stdin", "", "", "", "stdin", "manual"] - ["os", "", False, "UserCacheDir", "", "", "ReturnValue[0]", "environment", "manual"] - ["os", "", False, "UserConfigDir", "", "", "ReturnValue[0]", "environment", "manual"] - ["os", "", False, "UserHomeDir", "", "", "ReturnValue[0]", "environment", "manual"] diff --git a/go/ql/lib/semmle/go/frameworks/stdlib/Os.qll b/go/ql/lib/semmle/go/frameworks/stdlib/Os.qll index fb153451c597..72ea4cc6c573 100644 --- a/go/ql/lib/semmle/go/frameworks/stdlib/Os.qll +++ b/go/ql/lib/semmle/go/frameworks/stdlib/Os.qll @@ -43,12 +43,4 @@ module Os { input = inp and output = outp } } - - private class Stdin extends SourceNode { - Stdin() { - exists(Variable osStdin | osStdin.hasQualifiedName("os", "Stdin") | this = osStdin.getARead()) - } - - override string getThreatModel() { result = "stdin" } - } } From a2c62782829972af0e8351e8f3d879fddead15b3 Mon Sep 17 00:00:00 2001 From: Nick Rolfe Date: Tue, 19 Nov 2024 17:39:05 +0000 Subject: [PATCH 309/347] C++: fix typo in qhelp --- cpp/ql/src/Critical/UseAfterFree.qhelp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cpp/ql/src/Critical/UseAfterFree.qhelp b/cpp/ql/src/Critical/UseAfterFree.qhelp index 6a532ed4d358..60dd1a6690eb 100644 --- a/cpp/ql/src/Critical/UseAfterFree.qhelp +++ b/cpp/ql/src/Critical/UseAfterFree.qhelp @@ -8,7 +8,7 @@

    This rule finds accesses through a pointer of a memory location that has already been freed (i.e. through a dangling pointer). Such memory blocks have already been released to the dynamic memory manager, and modifying them can lead to anything -from a segfault to memory corruption that would cause subsequent calls to the dynamic memory manger to behave +from a segfault to memory corruption that would cause subsequent calls to the dynamic memory manager to behave erratically, to a possible security vulnerability.

    From cf84c08abfdffccb704c74cd042a7051bbd52a64 Mon Sep 17 00:00:00 2001 From: Owen Mansel-Chan Date: Wed, 20 Nov 2024 00:18:55 +0000 Subject: [PATCH 310/347] Add change note --- go/ql/src/change-notes/2024-11-20-heuristic-logging-sinks.md | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 go/ql/src/change-notes/2024-11-20-heuristic-logging-sinks.md diff --git a/go/ql/src/change-notes/2024-11-20-heuristic-logging-sinks.md b/go/ql/src/change-notes/2024-11-20-heuristic-logging-sinks.md new file mode 100644 index 000000000000..7fcb5fa3a34b --- /dev/null +++ b/go/ql/src/change-notes/2024-11-20-heuristic-logging-sinks.md @@ -0,0 +1,4 @@ +--- +category: minorAnalysis +--- +* A call to a method whose name starts with "Debug", "Error", "Fatal", "Info", "Log", "Output", "Panic", "Print", "Trace" or "Warn" defined on an interface whose name ends in "logger" or "Logger" is now considered a sink for `go/clear-text-logging` and `go/log-injection`. This may lead to some more alerts in those queries. From d80aa6fa6ad154538fdc69c6cd1ac353017e794d Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 20 Nov 2024 00:21:24 +0000 Subject: [PATCH 311/347] Add changed framework coverage reports --- .../library-coverage/coverage.csv | 27 +- .../library-coverage/coverage.rst | 6 +- .../library-coverage/coverage.csv | 242 +++++++++--------- .../library-coverage/coverage.rst | 4 +- 4 files changed, 140 insertions(+), 139 deletions(-) diff --git a/csharp/documentation/library-coverage/coverage.csv b/csharp/documentation/library-coverage/coverage.csv index 10b1c58ef31b..6a48878f13eb 100644 --- a/csharp/documentation/library-coverage/coverage.csv +++ b/csharp/documentation/library-coverage/coverage.csv @@ -8,39 +8,40 @@ ILLink.Shared,,,31,,,,,,,,,,,,,,,,,,,11,20 ILLink.Tasks,,,5,,,,,,,,,,,,,,,,,,,4,1 Internal.IL,,,54,,,,,,,,,,,,,,,,,,,28,26 Internal.Pgo,,,9,,,,,,,,,,,,,,,,,,,2,7 -Internal.TypeSystem,,,328,,,,,,,,,,,,,,,,,,,201,127 +Internal.TypeSystem,,,329,,,,,,,,,,,,,,,,,,,201,128 JsonToItemsTaskFactory,,,11,,,,,,,,,,,,,,,,,,,1,10 Microsoft.Android.Build,,1,14,,,,,,,,,,,,,1,,,,,,12,2 Microsoft.Apple.Build,,,7,,,,,,,,,,,,,,,,,,,7, Microsoft.ApplicationBlocks.Data,28,,,,,,,,,,,,28,,,,,,,,,, Microsoft.CSharp,,,2,,,,,,,,,,,,,,,,,,,2, -Microsoft.Diagnostics.Tools.Pgo,,,23,,,,,,,,,,,,,,,,,,,2,21 +Microsoft.Diagnostics.Tools.Pgo,,,25,,,,,,,,,,,,,,,,,,,2,23 Microsoft.DotNet.Build.Tasks,,,10,,,,,,,,,,,,,,,,,,,8,2 +Microsoft.DotNet.PlatformAbstractions,,,1,,,,,,,,,,,,,,,,,,,1, Microsoft.EntityFrameworkCore,6,,12,,,,,,,,,,6,,,,,,,,,,12 Microsoft.Extensions.Caching.Distributed,,,3,,,,,,,,,,,,,,,,,,,,3 -Microsoft.Extensions.Caching.Memory,,,31,,,,,,,,,,,,,,,,,,,5,26 -Microsoft.Extensions.Configuration,,3,91,,,,,,,,,,,,,3,,,,,,25,66 -Microsoft.Extensions.DependencyInjection,,,130,,,,,,,,,,,,,,,,,,,17,113 +Microsoft.Extensions.Caching.Memory,,,37,,,,,,,,,,,,,,,,,,,5,32 +Microsoft.Extensions.Configuration,,3,101,,,,,,,,,,,,,3,,,,,,29,72 +Microsoft.Extensions.DependencyInjection,,,202,,,,,,,,,,,,,,,,,,,15,187 Microsoft.Extensions.DependencyModel,,1,16,,,,,,,,,,,,,1,,,,,,14,2 Microsoft.Extensions.Diagnostics.Metrics,,,14,,,,,,,,,,,,,,,,,,,1,13 Microsoft.Extensions.FileProviders,,,17,,,,,,,,,,,,,,,,,,,7,10 -Microsoft.Extensions.FileSystemGlobbing,,,22,,,,,,,,,,,,,,,,,,,11,11 -Microsoft.Extensions.Hosting,,,39,,,,,,,,,,,,,,,,,,,29,10 +Microsoft.Extensions.FileSystemGlobbing,,,21,,,,,,,,,,,,,,,,,,,10,11 +Microsoft.Extensions.Hosting,,,58,,,,,,,,,,,,,,,,,,,29,29 Microsoft.Extensions.Http,,,9,,,,,,,,,,,,,,,,,,,7,2 -Microsoft.Extensions.Logging,,,64,,,,,,,,,,,,,,,,,,,25,39 -Microsoft.Extensions.Options,,,14,,,,,,,,,,,,,,,,,,,14, -Microsoft.Extensions.Primitives,,,72,,,,,,,,,,,,,,,,,,,67,5 -Microsoft.Interop,,,137,,,,,,,,,,,,,,,,,,,70,67 +Microsoft.Extensions.Logging,,,91,,,,,,,,,,,,,,,,,,,25,66 +Microsoft.Extensions.Options,,,68,,,,,,,,,,,,,,,,,,,44,24 +Microsoft.Extensions.Primitives,,,73,,,,,,,,,,,,,,,,,,,67,6 +Microsoft.Interop,,,159,,,,,,,,,,,,,,,,,,,75,84 Microsoft.NET.Build.Tasks,,,5,,,,,,,,,,,,,,,,,,,3,2 Microsoft.NET.Sdk.WebAssembly,,,2,,,,,,,,,,,,,,,,,,,1,1 Microsoft.NET.WebAssembly.Webcil,,,6,,,,,,,,,,,,,,,,,,,6, Microsoft.VisualBasic,,,13,,,,,,,,,,,,,,,,,,,1,12 Microsoft.WebAssembly.Build.Tasks,,,9,,,,,,,,,,,,,,,,,,,8,1 Microsoft.Win32,,4,2,,,,,,,,,,,,,,,,,,4,,2 -Mono.Linker,,,287,,,,,,,,,,,,,,,,,,,145,142 +Mono.Linker,,,293,,,,,,,,,,,,,,,,,,,145,148 MySql.Data.MySqlClient,48,,,,,,,,,,,,48,,,,,,,,,, Newtonsoft.Json,,,91,,,,,,,,,,,,,,,,,,,73,18 ServiceStack,194,,7,27,,,,,75,,,,92,,,,,,,,,7, SourceGenerators,,,5,,,,,,,,,,,,,,,,,,,,5 -System,54,47,10313,,6,5,5,,,4,1,,33,2,,6,15,17,4,3,,5351,4962 +System,54,47,10818,,6,5,5,,,4,1,,33,2,,6,15,17,4,3,,5511,5307 Windows.Security.Cryptography.Core,1,,,,,,,1,,,,,,,,,,,,,,, diff --git a/csharp/documentation/library-coverage/coverage.rst b/csharp/documentation/library-coverage/coverage.rst index 5eaaad174573..82aa21d3d919 100644 --- a/csharp/documentation/library-coverage/coverage.rst +++ b/csharp/documentation/library-coverage/coverage.rst @@ -8,7 +8,7 @@ C# framework & library support Framework / library,Package,Flow sources,Taint & value steps,Sinks (total),`CWE-079` :sub:`Cross-site scripting` `ServiceStack `_,"``ServiceStack.*``, ``ServiceStack``",,7,194, - System,"``System.*``, ``System``",47,10313,54,5 - Others,"``Amazon.Lambda.APIGatewayEvents``, ``Amazon.Lambda.Core``, ``Dapper``, ``ILCompiler``, ``ILLink.RoslynAnalyzer``, ``ILLink.Shared``, ``ILLink.Tasks``, ``Internal.IL``, ``Internal.Pgo``, ``Internal.TypeSystem``, ``JsonToItemsTaskFactory``, ``Microsoft.Android.Build``, ``Microsoft.Apple.Build``, ``Microsoft.ApplicationBlocks.Data``, ``Microsoft.CSharp``, ``Microsoft.Diagnostics.Tools.Pgo``, ``Microsoft.DotNet.Build.Tasks``, ``Microsoft.EntityFrameworkCore``, ``Microsoft.Extensions.Caching.Distributed``, ``Microsoft.Extensions.Caching.Memory``, ``Microsoft.Extensions.Configuration``, ``Microsoft.Extensions.DependencyInjection``, ``Microsoft.Extensions.DependencyModel``, ``Microsoft.Extensions.Diagnostics.Metrics``, ``Microsoft.Extensions.FileProviders``, ``Microsoft.Extensions.FileSystemGlobbing``, ``Microsoft.Extensions.Hosting``, ``Microsoft.Extensions.Http``, ``Microsoft.Extensions.Logging``, ``Microsoft.Extensions.Options``, ``Microsoft.Extensions.Primitives``, ``Microsoft.Interop``, ``Microsoft.NET.Build.Tasks``, ``Microsoft.NET.Sdk.WebAssembly``, ``Microsoft.NET.WebAssembly.Webcil``, ``Microsoft.VisualBasic``, ``Microsoft.WebAssembly.Build.Tasks``, ``Microsoft.Win32``, ``Mono.Linker``, ``MySql.Data.MySqlClient``, ``Newtonsoft.Json``, ``SourceGenerators``, ``Windows.Security.Cryptography.Core``",57,1848,148, - Totals,,104,12168,396,5 + System,"``System.*``, ``System``",47,10818,54,5 + Others,"``Amazon.Lambda.APIGatewayEvents``, ``Amazon.Lambda.Core``, ``Dapper``, ``ILCompiler``, ``ILLink.RoslynAnalyzer``, ``ILLink.Shared``, ``ILLink.Tasks``, ``Internal.IL``, ``Internal.Pgo``, ``Internal.TypeSystem``, ``JsonToItemsTaskFactory``, ``Microsoft.Android.Build``, ``Microsoft.Apple.Build``, ``Microsoft.ApplicationBlocks.Data``, ``Microsoft.CSharp``, ``Microsoft.Diagnostics.Tools.Pgo``, ``Microsoft.DotNet.Build.Tasks``, ``Microsoft.DotNet.PlatformAbstractions``, ``Microsoft.EntityFrameworkCore``, ``Microsoft.Extensions.Caching.Distributed``, ``Microsoft.Extensions.Caching.Memory``, ``Microsoft.Extensions.Configuration``, ``Microsoft.Extensions.DependencyInjection``, ``Microsoft.Extensions.DependencyModel``, ``Microsoft.Extensions.Diagnostics.Metrics``, ``Microsoft.Extensions.FileProviders``, ``Microsoft.Extensions.FileSystemGlobbing``, ``Microsoft.Extensions.Hosting``, ``Microsoft.Extensions.Http``, ``Microsoft.Extensions.Logging``, ``Microsoft.Extensions.Options``, ``Microsoft.Extensions.Primitives``, ``Microsoft.Interop``, ``Microsoft.NET.Build.Tasks``, ``Microsoft.NET.Sdk.WebAssembly``, ``Microsoft.NET.WebAssembly.Webcil``, ``Microsoft.VisualBasic``, ``Microsoft.WebAssembly.Build.Tasks``, ``Microsoft.Win32``, ``Mono.Linker``, ``MySql.Data.MySqlClient``, ``Newtonsoft.Json``, ``SourceGenerators``, ``Windows.Security.Cryptography.Core``",57,2068,148, + Totals,,104,12893,396,5 diff --git a/go/documentation/library-coverage/coverage.csv b/go/documentation/library-coverage/coverage.csv index 364e17aa94b6..547f0aa79ace 100644 --- a/go/documentation/library-coverage/coverage.csv +++ b/go/documentation/library-coverage/coverage.csv @@ -1,121 +1,121 @@ -package,sink,source,summary,sink:command-injection,sink:credentials-key,sink:jwt,sink:path-injection,sink:regex-use[0],sink:regex-use[1],sink:regex-use[c],sink:request-forgery,sink:request-forgery[TCP Addr + Port],sink:url-redirection,sink:url-redirection[0],sink:url-redirection[receiver],sink:xpath-injection,source:environment,source:file,source:remote,summary:taint,summary:value -,,,8,,,,,,,,,,,,,,,,,3,5 -archive/tar,,,5,,,,,,,,,,,,,,,,,5, -archive/zip,,,6,,,,,,,,,,,,,,,,,6, -bufio,,,17,,,,,,,,,,,,,,,,,17, -bytes,,,43,,,,,,,,,,,,,,,,,43, -clevergo.tech/clevergo,1,,,,,,,,,,,,,,1,,,,,, -compress/bzip2,,,1,,,,,,,,,,,,,,,,,1, -compress/flate,,,4,,,,,,,,,,,,,,,,,4, -compress/gzip,,,3,,,,,,,,,,,,,,,,,3, -compress/lzw,,,1,,,,,,,,,,,,,,,,,1, -compress/zlib,,,4,,,,,,,,,,,,,,,,,4, -container/heap,,,5,,,,,,,,,,,,,,,,,5, -container/list,,,20,,,,,,,,,,,,,,,,,20, -container/ring,,,5,,,,,,,,,,,,,,,,,5, -context,,,5,,,,,,,,,,,,,,,,,5, -crypto,,,10,,,,,,,,,,,,,,,,,10, -database/sql,,,11,,,,,,,,,,,,,,,,,11, -encoding,,,77,,,,,,,,,,,,,,,,,77, -errors,,,3,,,,,,,,,,,,,,,,,3, -expvar,,,6,,,,,,,,,,,,,,,,,6, -fmt,,,16,,,,,,,,,,,,,,,,,16, -github.com/ChrisTrenkamp/goxpath,3,,,,,,,,,,,,,,,3,,,,, -github.com/antchfx/htmlquery,4,,,,,,,,,,,,,,,4,,,,, -github.com/antchfx/jsonquery,4,,,,,,,,,,,,,,,4,,,,, -github.com/antchfx/xmlquery,8,,,,,,,,,,,,,,,8,,,,, -github.com/antchfx/xpath,4,,,,,,,,,,,,,,,4,,,,, -github.com/appleboy/gin-jwt,1,,,,1,,,,,,,,,,,,,,,, -github.com/astaxie/beego,7,21,21,,,,5,,,,,,2,,,,,,21,21, -github.com/beego/beego,14,42,42,,,,10,,,,,,4,,,,,,42,42, -github.com/caarlos0/env,,5,2,,,,,,,,,,,,,,5,,,1,1 -github.com/clevergo/clevergo,1,,,,,,,,,,,,,,1,,,,,, -github.com/codeskyblue/go-sh,4,,,4,,,,,,,,,,,,,,,,, -github.com/couchbase/gocb,,,18,,,,,,,,,,,,,,,,,18, -github.com/couchbaselabs/gocb,,,18,,,,,,,,,,,,,,,,,18, -github.com/crankycoder/xmlpath,2,,,,,,,,,,,,,,,2,,,,, -github.com/cristalhq/jwt,1,,,,1,,,,,,,,,,,,,,,, -github.com/dgrijalva/jwt-go,3,,9,,2,1,,,,,,,,,,,,,,9, -github.com/elazarl/goproxy,,2,2,,,,,,,,,,,,,,,,2,2, -github.com/emicklei/go-restful,,7,,,,,,,,,,,,,,,,,7,, -github.com/evanphx/json-patch,,,12,,,,,,,,,,,,,,,,,12, -github.com/form3tech-oss/jwt-go,2,,,,2,,,,,,,,,,,,,,,, -github.com/gin-gonic/gin,3,46,2,,,,3,,,,,,,,,,,,46,2, -github.com/go-chi/chi,,3,,,,,,,,,,,,,,,,,3,, -github.com/go-chi/jwtauth,1,,,,1,,,,,,,,,,,,,,,, -github.com/go-jose/go-jose,3,,4,,2,1,,,,,,,,,,,,,,4, -github.com/go-kit/kit/auth/jwt,1,,,,1,,,,,,,,,,,,,,,, -github.com/go-pg/pg/orm,,,6,,,,,,,,,,,,,,,,,6, -github.com/go-xmlpath/xmlpath,2,,,,,,,,,,,,,,,2,,,,, -github.com/gobuffalo/envy,,7,,,,,,,,,,,,,,,7,,,, -github.com/gobwas/ws,,2,,,,,,,,,,,,,,,,,2,, -github.com/gofiber/fiber,5,,,,,,4,,,,,,,,1,,,,,, -github.com/gogf/gf-jwt,1,,,,1,,,,,,,,,,,,,,,, -github.com/going/toolkit/xmlpath,2,,,,,,,,,,,,,,,2,,,,, -github.com/golang-jwt/jwt,3,,11,,2,1,,,,,,,,,,,,,,11, -github.com/golang/protobuf/proto,,,4,,,,,,,,,,,,,,,,,4, -github.com/gorilla/mux,,1,,,,,,,,,,,,,,,,,1,, -github.com/gorilla/websocket,,3,,,,,,,,,,,,,,,,,3,, -github.com/hashicorp/go-envparse,,1,,,,,,,,,,,,,,,1,,,, -github.com/jbowtie/gokogiri/xml,4,,,,,,,,,,,,,,,4,,,,, -github.com/jbowtie/gokogiri/xpath,1,,,,,,,,,,,,,,,1,,,,, -github.com/joho/godotenv,,4,,,,,,,,,,,,,,,4,,,, -github.com/json-iterator/go,,,4,,,,,,,,,,,,,,,,,4, -github.com/kataras/iris/context,6,,,,,,6,,,,,,,,,,,,,, -github.com/kataras/iris/middleware/jwt,2,,,,2,,,,,,,,,,,,,,,, -github.com/kataras/iris/server/web/context,6,,,,,,6,,,,,,,,,,,,,, -github.com/kataras/jwt,5,,,,5,,,,,,,,,,,,,,,, -github.com/kelseyhightower/envconfig,,6,,,,,,,,,,,,,,,6,,,, -github.com/labstack/echo,3,12,2,,,,2,,,,,,1,,,,,,12,2, -github.com/lestrrat-go/jwx,2,,,,2,,,,,,,,,,,,,,,, -github.com/lestrrat-go/libxml2/parser,3,,,,,,,,,,,,,,,3,,,,, -github.com/lestrrat/go-jwx/jwk,1,,,,1,,,,,,,,,,,,,,,, -github.com/masterzen/xmlpath,2,,,,,,,,,,,,,,,2,,,,, -github.com/moovweb/gokogiri/xml,4,,,,,,,,,,,,,,,4,,,,, -github.com/moovweb/gokogiri/xpath,1,,,,,,,,,,,,,,,1,,,,, -github.com/ory/fosite/token/jwt,2,,,,2,,,,,,,,,,,,,,,, -github.com/revel/revel,2,23,10,,,,1,,,,,,1,,,,,,23,10, -github.com/robfig/revel,2,23,10,,,,1,,,,,,1,,,,,,23,10, -github.com/santhosh-tekuri/xpathparser,2,,,,,,,,,,,,,,,2,,,,, -github.com/sendgrid/sendgrid-go/helpers/mail,,,1,,,,,,,,,,,,,,,,,1, -github.com/spf13/afero,34,,,,,,34,,,,,,,,,,,,,, -github.com/square/go-jose,3,,4,,2,1,,,,,,,,,,,,,,4, -github.com/valyala/fasthttp,35,50,5,,,,8,,,,17,8,2,,,,,,50,5, -go.uber.org/zap,,,11,,,,,,,,,,,,,,,,,11, -golang.org/x/crypto/ssh,4,,,4,,,,,,,,,,,,,,,,, -golang.org/x/net/context,,,5,,,,,,,,,,,,,,,,,5, -golang.org/x/net/html,,,16,,,,,,,,,,,,,,,,,16, -golang.org/x/net/websocket,,2,,,,,,,,,,,,,,,,,2,, -google.golang.org/protobuf/internal/encoding/text,,,1,,,,,,,,,,,,,,,,,1, -google.golang.org/protobuf/internal/impl,,,2,,,,,,,,,,,,,,,,,2, -google.golang.org/protobuf/proto,,,8,,,,,,,,,,,,,,,,,8, -google.golang.org/protobuf/reflect/protoreflect,,,1,,,,,,,,,,,,,,,,,1, -gopkg.in/couchbase/gocb,,,18,,,,,,,,,,,,,,,,,18, -gopkg.in/go-jose/go-jose,3,,4,,2,1,,,,,,,,,,,,,,4, -gopkg.in/go-xmlpath/xmlpath,2,,,,,,,,,,,,,,,2,,,,, -gopkg.in/macaron,1,12,1,,,,,,,,,,,,1,,,,12,1, -gopkg.in/square/go-jose,3,,4,,2,1,,,,,,,,,,,,,,4, -gopkg.in/xmlpath,2,,,,,,,,,,,,,,,2,,,,, -gopkg.in/yaml,,,9,,,,,,,,,,,,,,,,,9, -html,,,8,,,,,,,,,,,,,,,,,8, -io,5,4,34,,,,5,,,,,,,,,,,4,,34, -k8s.io/api/core,,,10,,,,,,,,,,,,,,,,,10, -k8s.io/apimachinery/pkg/runtime,,,47,,,,,,,,,,,,,,,,,47, -launchpad.net/xmlpath,2,,,,,,,,,,,,,,,2,,,,, -log,,,3,,,,,,,,,,,,,,,,,3, -math/big,,,1,,,,,,,,,,,,,,,,,1, -mime,,,14,,,,,,,,,,,,,,,,,14, -net,2,16,100,,,,1,,,,,,,1,,,,,16,100, -nhooyr.io/websocket,,2,,,,,,,,,,,,,,,,,2,, -os,29,10,6,3,,,26,,,,,,,,,,7,3,,6, -path,,,18,,,,,,,,,,,,,,,,,18, -reflect,,,37,,,,,,,,,,,,,,,,,37, -regexp,10,,20,,,,,3,3,4,,,,,,,,,,20, -sort,,,1,,,,,,,,,,,,,,,,,1, -strconv,,,9,,,,,,,,,,,,,,,,,9, -strings,,,34,,,,,,,,,,,,,,,,,34, -sync,,,34,,,,,,,,,,,,,,,,,34, -syscall,5,2,8,5,,,,,,,,,,,,,2,,,8, -text/scanner,,,3,,,,,,,,,,,,,,,,,3, -text/tabwriter,,,1,,,,,,,,,,,,,,,,,1, -text/template,,,6,,,,,,,,,,,,,,,,,6, +package,sink,source,summary,sink:command-injection,sink:credentials-key,sink:jwt,sink:path-injection,sink:regex-use[0],sink:regex-use[1],sink:regex-use[c],sink:request-forgery,sink:request-forgery[TCP Addr + Port],sink:url-redirection,sink:url-redirection[0],sink:url-redirection[receiver],sink:xpath-injection,source:environment,source:file,source:remote,source:stdin,summary:taint,summary:value +,,,8,,,,,,,,,,,,,,,,,,3,5 +archive/tar,,,5,,,,,,,,,,,,,,,,,,5, +archive/zip,,,6,,,,,,,,,,,,,,,,,,6, +bufio,,,17,,,,,,,,,,,,,,,,,,17, +bytes,,,43,,,,,,,,,,,,,,,,,,43, +clevergo.tech/clevergo,1,,,,,,,,,,,,,,1,,,,,,, +compress/bzip2,,,1,,,,,,,,,,,,,,,,,,1, +compress/flate,,,4,,,,,,,,,,,,,,,,,,4, +compress/gzip,,,3,,,,,,,,,,,,,,,,,,3, +compress/lzw,,,1,,,,,,,,,,,,,,,,,,1, +compress/zlib,,,4,,,,,,,,,,,,,,,,,,4, +container/heap,,,5,,,,,,,,,,,,,,,,,,5, +container/list,,,20,,,,,,,,,,,,,,,,,,20, +container/ring,,,5,,,,,,,,,,,,,,,,,,5, +context,,,5,,,,,,,,,,,,,,,,,,5, +crypto,,,10,,,,,,,,,,,,,,,,,,10, +database/sql,,,11,,,,,,,,,,,,,,,,,,11, +encoding,,,77,,,,,,,,,,,,,,,,,,77, +errors,,,3,,,,,,,,,,,,,,,,,,3, +expvar,,,6,,,,,,,,,,,,,,,,,,6, +fmt,,,16,,,,,,,,,,,,,,,,,,16, +github.com/ChrisTrenkamp/goxpath,3,,,,,,,,,,,,,,,3,,,,,, +github.com/antchfx/htmlquery,4,,,,,,,,,,,,,,,4,,,,,, +github.com/antchfx/jsonquery,4,,,,,,,,,,,,,,,4,,,,,, +github.com/antchfx/xmlquery,8,,,,,,,,,,,,,,,8,,,,,, +github.com/antchfx/xpath,4,,,,,,,,,,,,,,,4,,,,,, +github.com/appleboy/gin-jwt,1,,,,1,,,,,,,,,,,,,,,,, +github.com/astaxie/beego,7,21,21,,,,5,,,,,,2,,,,,,21,,21, +github.com/beego/beego,14,42,42,,,,10,,,,,,4,,,,,,42,,42, +github.com/caarlos0/env,,5,2,,,,,,,,,,,,,,5,,,,1,1 +github.com/clevergo/clevergo,1,,,,,,,,,,,,,,1,,,,,,, +github.com/codeskyblue/go-sh,4,,,4,,,,,,,,,,,,,,,,,, +github.com/couchbase/gocb,,,18,,,,,,,,,,,,,,,,,,18, +github.com/couchbaselabs/gocb,,,18,,,,,,,,,,,,,,,,,,18, +github.com/crankycoder/xmlpath,2,,,,,,,,,,,,,,,2,,,,,, +github.com/cristalhq/jwt,1,,,,1,,,,,,,,,,,,,,,,, +github.com/dgrijalva/jwt-go,3,,9,,2,1,,,,,,,,,,,,,,,9, +github.com/elazarl/goproxy,,2,2,,,,,,,,,,,,,,,,2,,2, +github.com/emicklei/go-restful,,7,,,,,,,,,,,,,,,,,7,,, +github.com/evanphx/json-patch,,,12,,,,,,,,,,,,,,,,,,12, +github.com/form3tech-oss/jwt-go,2,,,,2,,,,,,,,,,,,,,,,, +github.com/gin-gonic/gin,3,46,2,,,,3,,,,,,,,,,,,46,,2, +github.com/go-chi/chi,,3,,,,,,,,,,,,,,,,,3,,, +github.com/go-chi/jwtauth,1,,,,1,,,,,,,,,,,,,,,,, +github.com/go-jose/go-jose,3,,4,,2,1,,,,,,,,,,,,,,,4, +github.com/go-kit/kit/auth/jwt,1,,,,1,,,,,,,,,,,,,,,,, +github.com/go-pg/pg/orm,,,6,,,,,,,,,,,,,,,,,,6, +github.com/go-xmlpath/xmlpath,2,,,,,,,,,,,,,,,2,,,,,, +github.com/gobuffalo/envy,,7,,,,,,,,,,,,,,,7,,,,, +github.com/gobwas/ws,,2,,,,,,,,,,,,,,,,,2,,, +github.com/gofiber/fiber,5,,,,,,4,,,,,,,,1,,,,,,, +github.com/gogf/gf-jwt,1,,,,1,,,,,,,,,,,,,,,,, +github.com/going/toolkit/xmlpath,2,,,,,,,,,,,,,,,2,,,,,, +github.com/golang-jwt/jwt,3,,11,,2,1,,,,,,,,,,,,,,,11, +github.com/golang/protobuf/proto,,,4,,,,,,,,,,,,,,,,,,4, +github.com/gorilla/mux,,1,,,,,,,,,,,,,,,,,1,,, +github.com/gorilla/websocket,,3,,,,,,,,,,,,,,,,,3,,, +github.com/hashicorp/go-envparse,,1,,,,,,,,,,,,,,,1,,,,, +github.com/jbowtie/gokogiri/xml,4,,,,,,,,,,,,,,,4,,,,,, +github.com/jbowtie/gokogiri/xpath,1,,,,,,,,,,,,,,,1,,,,,, +github.com/joho/godotenv,,4,,,,,,,,,,,,,,,4,,,,, +github.com/json-iterator/go,,,4,,,,,,,,,,,,,,,,,,4, +github.com/kataras/iris/context,6,,,,,,6,,,,,,,,,,,,,,, +github.com/kataras/iris/middleware/jwt,2,,,,2,,,,,,,,,,,,,,,,, +github.com/kataras/iris/server/web/context,6,,,,,,6,,,,,,,,,,,,,,, +github.com/kataras/jwt,5,,,,5,,,,,,,,,,,,,,,,, +github.com/kelseyhightower/envconfig,,6,,,,,,,,,,,,,,,6,,,,, +github.com/labstack/echo,3,12,2,,,,2,,,,,,1,,,,,,12,,2, +github.com/lestrrat-go/jwx,2,,,,2,,,,,,,,,,,,,,,,, +github.com/lestrrat-go/libxml2/parser,3,,,,,,,,,,,,,,,3,,,,,, +github.com/lestrrat/go-jwx/jwk,1,,,,1,,,,,,,,,,,,,,,,, +github.com/masterzen/xmlpath,2,,,,,,,,,,,,,,,2,,,,,, +github.com/moovweb/gokogiri/xml,4,,,,,,,,,,,,,,,4,,,,,, +github.com/moovweb/gokogiri/xpath,1,,,,,,,,,,,,,,,1,,,,,, +github.com/ory/fosite/token/jwt,2,,,,2,,,,,,,,,,,,,,,,, +github.com/revel/revel,2,23,10,,,,1,,,,,,1,,,,,,23,,10, +github.com/robfig/revel,2,23,10,,,,1,,,,,,1,,,,,,23,,10, +github.com/santhosh-tekuri/xpathparser,2,,,,,,,,,,,,,,,2,,,,,, +github.com/sendgrid/sendgrid-go/helpers/mail,,,1,,,,,,,,,,,,,,,,,,1, +github.com/spf13/afero,34,,,,,,34,,,,,,,,,,,,,,, +github.com/square/go-jose,3,,4,,2,1,,,,,,,,,,,,,,,4, +github.com/valyala/fasthttp,35,50,5,,,,8,,,,17,8,2,,,,,,50,,5, +go.uber.org/zap,,,11,,,,,,,,,,,,,,,,,,11, +golang.org/x/crypto/ssh,4,,,4,,,,,,,,,,,,,,,,,, +golang.org/x/net/context,,,5,,,,,,,,,,,,,,,,,,5, +golang.org/x/net/html,,,16,,,,,,,,,,,,,,,,,,16, +golang.org/x/net/websocket,,2,,,,,,,,,,,,,,,,,2,,, +google.golang.org/protobuf/internal/encoding/text,,,1,,,,,,,,,,,,,,,,,,1, +google.golang.org/protobuf/internal/impl,,,2,,,,,,,,,,,,,,,,,,2, +google.golang.org/protobuf/proto,,,8,,,,,,,,,,,,,,,,,,8, +google.golang.org/protobuf/reflect/protoreflect,,,1,,,,,,,,,,,,,,,,,,1, +gopkg.in/couchbase/gocb,,,18,,,,,,,,,,,,,,,,,,18, +gopkg.in/go-jose/go-jose,3,,4,,2,1,,,,,,,,,,,,,,,4, +gopkg.in/go-xmlpath/xmlpath,2,,,,,,,,,,,,,,,2,,,,,, +gopkg.in/macaron,1,12,1,,,,,,,,,,,,1,,,,12,,1, +gopkg.in/square/go-jose,3,,4,,2,1,,,,,,,,,,,,,,,4, +gopkg.in/xmlpath,2,,,,,,,,,,,,,,,2,,,,,, +gopkg.in/yaml,,,9,,,,,,,,,,,,,,,,,,9, +html,,,8,,,,,,,,,,,,,,,,,,8, +io,5,4,34,,,,5,,,,,,,,,,,4,,,34, +k8s.io/api/core,,,10,,,,,,,,,,,,,,,,,,10, +k8s.io/apimachinery/pkg/runtime,,,47,,,,,,,,,,,,,,,,,,47, +launchpad.net/xmlpath,2,,,,,,,,,,,,,,,2,,,,,, +log,,,3,,,,,,,,,,,,,,,,,,3, +math/big,,,1,,,,,,,,,,,,,,,,,,1, +mime,,,14,,,,,,,,,,,,,,,,,,14, +net,2,16,100,,,,1,,,,,,,1,,,,,16,,100, +nhooyr.io/websocket,,2,,,,,,,,,,,,,,,,,2,,, +os,29,11,6,3,,,26,,,,,,,,,,7,3,,1,6, +path,,,18,,,,,,,,,,,,,,,,,,18, +reflect,,,37,,,,,,,,,,,,,,,,,,37, +regexp,10,,20,,,,,3,3,4,,,,,,,,,,,20, +sort,,,1,,,,,,,,,,,,,,,,,,1, +strconv,,,9,,,,,,,,,,,,,,,,,,9, +strings,,,34,,,,,,,,,,,,,,,,,,34, +sync,,,34,,,,,,,,,,,,,,,,,,34, +syscall,5,2,8,5,,,,,,,,,,,,,2,,,,8, +text/scanner,,,3,,,,,,,,,,,,,,,,,,3, +text/tabwriter,,,1,,,,,,,,,,,,,,,,,,1, +text/template,,,6,,,,,,,,,,,,,,,,,,6, diff --git a/go/documentation/library-coverage/coverage.rst b/go/documentation/library-coverage/coverage.rst index 848d989d2d58..09c44b8aa809 100644 --- a/go/documentation/library-coverage/coverage.rst +++ b/go/documentation/library-coverage/coverage.rst @@ -26,7 +26,7 @@ Go framework & library support `Macaron `_,``gopkg.in/macaron*``,12,1,1 `Revel `_,"``github.com/revel/revel*``, ``github.com/robfig/revel*``",46,20,4 `SendGrid `_,``github.com/sendgrid/sendgrid-go*``,,1, - `Standard library `_,"````, ``archive/*``, ``bufio``, ``bytes``, ``cmp``, ``compress/*``, ``container/*``, ``context``, ``crypto``, ``crypto/*``, ``database/*``, ``debug/*``, ``embed``, ``encoding``, ``encoding/*``, ``errors``, ``expvar``, ``flag``, ``fmt``, ``go/*``, ``hash``, ``hash/*``, ``html``, ``html/*``, ``image``, ``image/*``, ``index/*``, ``io``, ``io/*``, ``log``, ``log/*``, ``maps``, ``math``, ``math/*``, ``mime``, ``mime/*``, ``net``, ``net/*``, ``os``, ``os/*``, ``path``, ``path/*``, ``plugin``, ``reflect``, ``reflect/*``, ``regexp``, ``regexp/*``, ``slices``, ``sort``, ``strconv``, ``strings``, ``sync``, ``sync/*``, ``syscall``, ``syscall/*``, ``testing``, ``testing/*``, ``text/*``, ``time``, ``time/*``, ``unicode``, ``unicode/*``, ``unsafe``",32,587,51 + `Standard library `_,"````, ``archive/*``, ``bufio``, ``bytes``, ``cmp``, ``compress/*``, ``container/*``, ``context``, ``crypto``, ``crypto/*``, ``database/*``, ``debug/*``, ``embed``, ``encoding``, ``encoding/*``, ``errors``, ``expvar``, ``flag``, ``fmt``, ``go/*``, ``hash``, ``hash/*``, ``html``, ``html/*``, ``image``, ``image/*``, ``index/*``, ``io``, ``io/*``, ``log``, ``log/*``, ``maps``, ``math``, ``math/*``, ``mime``, ``mime/*``, ``net``, ``net/*``, ``os``, ``os/*``, ``path``, ``path/*``, ``plugin``, ``reflect``, ``reflect/*``, ``regexp``, ``regexp/*``, ``slices``, ``sort``, ``strconv``, ``strings``, ``sync``, ``sync/*``, ``syscall``, ``syscall/*``, ``testing``, ``testing/*``, ``text/*``, ``time``, ``time/*``, ``unicode``, ``unicode/*``, ``unsafe``",33,587,51 `XPath `_,``github.com/antchfx/xpath*``,,,4 `appleboy/gin-jwt `_,``github.com/appleboy/gin-jwt*``,,,1 `beego `_,"``github.com/astaxie/beego*``, ``github.com/beego/beego*``",63,63,21 @@ -61,5 +61,5 @@ Go framework & library support `yaml `_,``gopkg.in/yaml*``,,9, `zap `_,``go.uber.org/zap*``,,11, Others,"``github.com/caarlos0/env``, ``github.com/gobuffalo/envy``, ``github.com/hashicorp/go-envparse``, ``github.com/joho/godotenv``, ``github.com/kelseyhightower/envconfig``",23,2, - Totals,,306,911,268 + Totals,,307,911,268 From 55121d866cd96939c126d9c2988af6e21a3e9346 Mon Sep 17 00:00:00 2001 From: Simon Friis Vindum Date: Wed, 20 Nov 2024 11:45:42 +0100 Subject: [PATCH 312/347] Rust: Add CFG tests for method definitions with self parameters --- .../library-tests/controlflow/Cfg.expected | 30 +++++++++++++++++++ .../ql/test/library-tests/controlflow/test.rs | 18 +++++++++++ 2 files changed, 48 insertions(+) diff --git a/rust/ql/test/library-tests/controlflow/Cfg.expected b/rust/ql/test/library-tests/controlflow/Cfg.expected index 620837abc826..6b2642e65126 100644 --- a/rust/ql/test/library-tests/controlflow/Cfg.expected +++ b/rust/ql/test/library-tests/controlflow/Cfg.expected @@ -1044,6 +1044,36 @@ edges | test.rs:490:5:490:19 | ExprStmt | test.rs:490:5:490:10 | nested | | | test.rs:490:12:490:17 | RefExpr | test.rs:490:5:490:18 | CallExpr | | | test.rs:490:17:490:17 | x | test.rs:490:12:490:17 | RefExpr | | +| test.rs:502:5:504:5 | enter new | test.rs:502:12:502:12 | a | | +| test.rs:502:5:504:5 | exit new (normal) | test.rs:502:5:504:5 | exit new | | +| test.rs:502:12:502:12 | a | test.rs:502:12:502:17 | Param | match | +| test.rs:502:12:502:17 | Param | test.rs:503:23:503:23 | a | | +| test.rs:502:28:504:5 | BlockExpr | test.rs:502:5:504:5 | exit new (normal) | | +| test.rs:503:9:503:25 | RecordExpr | test.rs:502:28:504:5 | BlockExpr | | +| test.rs:503:23:503:23 | a | test.rs:503:9:503:25 | RecordExpr | | +| test.rs:506:5:508:5 | enter negated | test.rs:507:23:507:26 | self | | +| test.rs:506:5:508:5 | exit negated (normal) | test.rs:506:5:508:5 | exit negated | | +| test.rs:506:30:508:5 | BlockExpr | test.rs:506:5:508:5 | exit negated (normal) | | +| test.rs:507:9:507:30 | RecordExpr | test.rs:506:30:508:5 | BlockExpr | | +| test.rs:507:23:507:26 | self | test.rs:507:23:507:28 | FieldExpr | | +| test.rs:507:23:507:28 | FieldExpr | test.rs:507:9:507:30 | RecordExpr | | +| test.rs:510:5:512:5 | enter multifly_add | test.rs:510:32:510:32 | a | | +| test.rs:510:5:512:5 | exit multifly_add (normal) | test.rs:510:5:512:5 | exit multifly_add | | +| test.rs:510:32:510:32 | a | test.rs:510:32:510:37 | Param | match | +| test.rs:510:32:510:37 | Param | test.rs:510:40:510:40 | b | | +| test.rs:510:40:510:40 | b | test.rs:510:40:510:45 | Param | match | +| test.rs:510:40:510:45 | Param | test.rs:511:9:511:34 | ExprStmt | | +| test.rs:510:48:512:5 | BlockExpr | test.rs:510:5:512:5 | exit multifly_add (normal) | | +| test.rs:511:9:511:12 | self | test.rs:511:9:511:14 | FieldExpr | | +| test.rs:511:9:511:14 | FieldExpr | test.rs:511:19:511:22 | self | | +| test.rs:511:9:511:33 | ... = ... | test.rs:510:48:512:5 | BlockExpr | | +| test.rs:511:9:511:34 | ExprStmt | test.rs:511:9:511:12 | self | | +| test.rs:511:18:511:33 | ... + ... | test.rs:511:9:511:33 | ... = ... | | +| test.rs:511:19:511:22 | self | test.rs:511:19:511:24 | FieldExpr | | +| test.rs:511:19:511:24 | FieldExpr | test.rs:511:28:511:28 | a | | +| test.rs:511:19:511:28 | ... * ... | test.rs:511:33:511:33 | b | | +| test.rs:511:28:511:28 | a | test.rs:511:19:511:28 | ... * ... | | +| test.rs:511:33:511:33 | b | test.rs:511:18:511:33 | ... + ... | | breakTarget | test.rs:34:17:34:21 | BreakExpr | test.rs:28:9:40:9 | LoopExpr | | test.rs:48:21:48:25 | BreakExpr | test.rs:46:13:53:13 | LoopExpr | diff --git a/rust/ql/test/library-tests/controlflow/test.rs b/rust/ql/test/library-tests/controlflow/test.rs index e1d596188061..42094c5432e5 100644 --- a/rust/ql/test/library-tests/controlflow/test.rs +++ b/rust/ql/test/library-tests/controlflow/test.rs @@ -493,3 +493,21 @@ fn test_nested_function2() { trait MyFrom { fn my_from(x: T) -> Self; } + +struct MyNumber { + n: i64, +} + +impl MyNumber { + fn new(a: i64) -> Self { + MyNumber { n: a } + } + + fn negated(self) -> Self { + MyNumber { n: self.n } + } + + fn multifly_add(&mut self, a: i64, b: i64) { + self.n = (self.n * a) + b; + } +} From 24adbb80c7adaa0ee084cd4dac18acd5dc3c4c0c Mon Sep 17 00:00:00 2001 From: Simon Friis Vindum Date: Wed, 20 Nov 2024 11:50:46 +0100 Subject: [PATCH 313/347] Rust: Include self parameters in the CFG --- .../controlflow/internal/ControlFlowGraphImpl.qll | 15 +++++++++++++-- .../test/library-tests/controlflow/Cfg.expected | 8 ++++++-- 2 files changed, 19 insertions(+), 4 deletions(-) diff --git a/rust/ql/lib/codeql/rust/controlflow/internal/ControlFlowGraphImpl.qll b/rust/ql/lib/codeql/rust/controlflow/internal/ControlFlowGraphImpl.qll index b331ddd2d540..ef4f7808fa20 100644 --- a/rust/ql/lib/codeql/rust/controlflow/internal/ControlFlowGraphImpl.qll +++ b/rust/ql/lib/codeql/rust/controlflow/internal/ControlFlowGraphImpl.qll @@ -72,10 +72,17 @@ import CfgImpl class CallableScopeTree extends StandardTree, PreOrderTree, PostOrderTree, Scope::CallableScope { override predicate propagatesAbnormal(AstNode child) { none() } + private int getNumberOfSelfParams() { + if this.getParamList().hasSelfParam() then result = 1 else result = 0 + } + override AstNode getChildNode(int i) { - result = this.getParamList().getParam(i) + i = 0 and + result = this.getParamList().getSelfParam() + or + result = this.getParamList().getParam(i - this.getNumberOfSelfParams()) or - i = this.getParamList().getNumberOfParams() and + i = this.getParamList().getNumberOfParams() + this.getNumberOfSelfParams() and result = this.getBody() } } @@ -191,6 +198,10 @@ class NameTree extends LeafTree, Name { } class NameRefTree extends LeafTree, NameRef { } +class SelfParamTree extends StandardPostOrderTree, SelfParam { + override AstNode getChildNode(int i) { i = 0 and result = this.getName() } +} + class TypeRefTree extends LeafTree instanceof TypeRef { } /** diff --git a/rust/ql/test/library-tests/controlflow/Cfg.expected b/rust/ql/test/library-tests/controlflow/Cfg.expected index 6b2642e65126..8fd71a451b86 100644 --- a/rust/ql/test/library-tests/controlflow/Cfg.expected +++ b/rust/ql/test/library-tests/controlflow/Cfg.expected @@ -1051,14 +1051,18 @@ edges | test.rs:502:28:504:5 | BlockExpr | test.rs:502:5:504:5 | exit new (normal) | | | test.rs:503:9:503:25 | RecordExpr | test.rs:502:28:504:5 | BlockExpr | | | test.rs:503:23:503:23 | a | test.rs:503:9:503:25 | RecordExpr | | -| test.rs:506:5:508:5 | enter negated | test.rs:507:23:507:26 | self | | +| test.rs:506:5:508:5 | enter negated | test.rs:506:16:506:19 | self | | | test.rs:506:5:508:5 | exit negated (normal) | test.rs:506:5:508:5 | exit negated | | +| test.rs:506:16:506:19 | SelfParam | test.rs:507:23:507:26 | self | | +| test.rs:506:16:506:19 | self | test.rs:506:16:506:19 | SelfParam | | | test.rs:506:30:508:5 | BlockExpr | test.rs:506:5:508:5 | exit negated (normal) | | | test.rs:507:9:507:30 | RecordExpr | test.rs:506:30:508:5 | BlockExpr | | | test.rs:507:23:507:26 | self | test.rs:507:23:507:28 | FieldExpr | | | test.rs:507:23:507:28 | FieldExpr | test.rs:507:9:507:30 | RecordExpr | | -| test.rs:510:5:512:5 | enter multifly_add | test.rs:510:32:510:32 | a | | +| test.rs:510:5:512:5 | enter multifly_add | test.rs:510:26:510:29 | self | | | test.rs:510:5:512:5 | exit multifly_add (normal) | test.rs:510:5:512:5 | exit multifly_add | | +| test.rs:510:21:510:29 | SelfParam | test.rs:510:32:510:32 | a | | +| test.rs:510:26:510:29 | self | test.rs:510:21:510:29 | SelfParam | | | test.rs:510:32:510:32 | a | test.rs:510:32:510:37 | Param | match | | test.rs:510:32:510:37 | Param | test.rs:510:40:510:40 | b | | | test.rs:510:40:510:40 | b | test.rs:510:40:510:45 | Param | match | From aab0d5e9e4fbdf3447b928c0239f0bdb2ef394ac Mon Sep 17 00:00:00 2001 From: Simon Friis Vindum Date: Wed, 20 Nov 2024 12:35:52 +0100 Subject: [PATCH 314/347] Rust: Refactor to avoid needing `getNumberOfSelfParams` --- .../rust/controlflow/internal/ControlFlowGraphImpl.qll | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/rust/ql/lib/codeql/rust/controlflow/internal/ControlFlowGraphImpl.qll b/rust/ql/lib/codeql/rust/controlflow/internal/ControlFlowGraphImpl.qll index ef4f7808fa20..938b933cba05 100644 --- a/rust/ql/lib/codeql/rust/controlflow/internal/ControlFlowGraphImpl.qll +++ b/rust/ql/lib/codeql/rust/controlflow/internal/ControlFlowGraphImpl.qll @@ -72,17 +72,13 @@ import CfgImpl class CallableScopeTree extends StandardTree, PreOrderTree, PostOrderTree, Scope::CallableScope { override predicate propagatesAbnormal(AstNode child) { none() } - private int getNumberOfSelfParams() { - if this.getParamList().hasSelfParam() then result = 1 else result = 0 - } - override AstNode getChildNode(int i) { i = 0 and result = this.getParamList().getSelfParam() or - result = this.getParamList().getParam(i - this.getNumberOfSelfParams()) + result = this.getParamList().getParam(i - 1) or - i = this.getParamList().getNumberOfParams() + this.getNumberOfSelfParams() and + i = this.getParamList().getNumberOfParams() + 1 and result = this.getBody() } } From 93f6f042e1a1b144f3bc8f3cfa2f2105da99794f Mon Sep 17 00:00:00 2001 From: Simon Friis Vindum Date: Wed, 20 Nov 2024 12:39:31 +0100 Subject: [PATCH 315/347] Rust: Update expected file --- rust/ql/test/library-tests/variables/Cfg.expected | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/rust/ql/test/library-tests/variables/Cfg.expected b/rust/ql/test/library-tests/variables/Cfg.expected index 3ff46aa9f7ec..bb635f788792 100644 --- a/rust/ql/test/library-tests/variables/Cfg.expected +++ b/rust/ql/test/library-tests/variables/Cfg.expected @@ -1070,8 +1070,10 @@ edges | variables.rs:472:9:472:20 | CallExpr | variables.rs:471:12:473:5 | BlockExpr | | | variables.rs:472:9:472:21 | ExprStmt | variables.rs:472:9:472:17 | print_i64 | | | variables.rs:472:19:472:19 | x | variables.rs:472:9:472:20 | CallExpr | | -| variables.rs:482:5:484:5 | enter my_get | variables.rs:483:9:483:24 | ExprStmt | | +| variables.rs:482:5:484:5 | enter my_get | variables.rs:482:20:482:23 | self | | | variables.rs:482:5:484:5 | exit my_get (normal) | variables.rs:482:5:484:5 | exit my_get | | +| variables.rs:482:15:482:23 | SelfParam | variables.rs:483:9:483:24 | ExprStmt | | +| variables.rs:482:20:482:23 | self | variables.rs:482:15:482:23 | SelfParam | | | variables.rs:483:9:483:23 | ReturnExpr | variables.rs:482:5:484:5 | exit my_get (normal) | return | | variables.rs:483:9:483:24 | ExprStmt | variables.rs:483:16:483:19 | self | | | variables.rs:483:16:483:19 | self | variables.rs:483:16:483:23 | FieldExpr | | @@ -1131,8 +1133,10 @@ edges | variables.rs:502:5:502:22 | ExprStmt | variables.rs:502:5:502:17 | print_i64_ref | | | variables.rs:502:19:502:20 | RefExpr | variables.rs:502:5:502:21 | CallExpr | | | variables.rs:502:20:502:20 | z | variables.rs:502:19:502:20 | RefExpr | | -| variables.rs:510:3:512:3 | enter bar | variables.rs:511:5:511:32 | ExprStmt | | +| variables.rs:510:3:512:3 | enter bar | variables.rs:510:15:510:18 | self | | | variables.rs:510:3:512:3 | exit bar (normal) | variables.rs:510:3:512:3 | exit bar | | +| variables.rs:510:10:510:18 | SelfParam | variables.rs:511:5:511:32 | ExprStmt | | +| variables.rs:510:15:510:18 | self | variables.rs:510:10:510:18 | SelfParam | | | variables.rs:510:21:512:3 | BlockExpr | variables.rs:510:3:512:3 | exit bar (normal) | | | variables.rs:511:5:511:9 | * ... | variables.rs:511:29:511:29 | 3 | | | variables.rs:511:5:511:31 | ... = ... | variables.rs:510:21:512:3 | BlockExpr | | From e5eed2302f40bbf57dcd5f3b8a2d33281faf9831 Mon Sep 17 00:00:00 2001 From: Tom Hvitved Date: Wed, 30 Oct 2024 14:56:55 +0100 Subject: [PATCH 316/347] Data flow: Track call contexts in `parameterFlow` --- .../dataflow/internal/DataFlowImplCommon.qll | 140 +++++++++++++----- 1 file changed, 100 insertions(+), 40 deletions(-) diff --git a/shared/dataflow/codeql/dataflow/internal/DataFlowImplCommon.qll b/shared/dataflow/codeql/dataflow/internal/DataFlowImplCommon.qll index 81f9946126db..cd2af1634051 100644 --- a/shared/dataflow/codeql/dataflow/internal/DataFlowImplCommon.qll +++ b/shared/dataflow/codeql/dataflow/internal/DataFlowImplCommon.qll @@ -628,6 +628,8 @@ module MakeImplCommon Lang> { override string toString() { exists(DataFlowCall call | this = TReturn(_, call) | result = "CcReturn(" + call + ")") } + + predicate isReturn(DataFlowCallable c, DataFlowCall call) { this = TReturn(c, call) } } pragma[nomagic] @@ -678,6 +680,8 @@ module MakeImplCommon Lang> { class CcNoCall = CallContextNoCall; + class CcReturn = CallContextReturn; + Cc ccNone() { result instanceof CallContextAny } CcCall ccSomeCall() { result instanceof CallContextSomeCall } @@ -1338,6 +1342,7 @@ module MakeImplCommon Lang> { * or summarized as a single read step with before and after types recorded * in the `ReadStepTypesOption` parameter. * - Types are checked using the `compatibleTypes()` relation. + * - Call contexts are taken into account. */ private module Final { /** @@ -1348,8 +1353,12 @@ module MakeImplCommon Lang> { * If a read step was taken, then `read` captures the `Content`, the * container type, and the content type. */ - predicate parameterValueFlow(ParamNode p, Node node, ReadStepTypesOption read, string model) { - parameterValueFlow0(p, node, read, model) and + predicate parameterValueFlow( + ParamNode p, Node node, ReadStepTypesOption read, string model, + CachedCallContextSensitivity::CcNoCall ctx + ) { + parameterValueFlow0(p, node, read, model, ctx) and + Cand::cand(p, node) and if node instanceof CastingNode then // normal flow through @@ -1369,16 +1378,18 @@ module MakeImplCommon Lang> { pragma[nomagic] private predicate parameterValueFlow0( - ParamNode p, Node node, ReadStepTypesOption read, string model + ParamNode p, Node node, ReadStepTypesOption read, string model, + CachedCallContextSensitivity::CcNoCall ctx ) { p = node and Cand::cand(p, _) and read = TReadStepTypesNone() and - model = "" + model = "" and + CachedCallContextSensitivity::viableImplNotCallContextReducedReverse(ctx) or // local flow exists(Node mid, string model1, string model2 | - parameterValueFlow(p, mid, read, model1) and + parameterValueFlow(p, mid, read, model1, ctx) and simpleLocalFlowStep(mid, node, model2) and validParameterAliasStep(mid, node) and model = mergeModels(model1, model2) @@ -1386,50 +1397,109 @@ module MakeImplCommon Lang> { or // read exists(Node mid | - parameterValueFlow(p, mid, TReadStepTypesNone(), model) and + parameterValueFlow(p, mid, TReadStepTypesNone(), model, ctx) and readStepWithTypes(mid, read.getContainerType(), read.getContent(), node, read.getContentType()) and Cand::parameterValueFlowReturnCand(p, _, true) and compatibleTypesFilter(getNodeDataFlowType(p), read.getContainerType()) ) or - parameterValueFlow0_0(TReadStepTypesNone(), p, node, read, model) + parameterValueFlow0_0(TReadStepTypesNone(), p, node, read, model, ctx) + } + + bindingset[ctx1, ctx2] + pragma[inline_late] + private CachedCallContextSensitivity::CcNoCall mergeContexts( + CachedCallContextSensitivity::CcNoCall ctx1, CachedCallContextSensitivity::CcNoCall ctx2 + ) { + if CachedCallContextSensitivity::viableImplNotCallContextReducedReverse(ctx1) + then result = ctx2 + else + if CachedCallContextSensitivity::viableImplNotCallContextReducedReverse(ctx2) + then result = ctx1 + else + // check that `ctx1` is compatible with `ctx2` for at least _some_ outer call, + // and then (arbitrarily) continue with `ctx2` + exists(DataFlowCall someOuterCall, DataFlowCallable callable | + someOuterCall = + CachedCallContextSensitivity::viableImplCallContextReducedReverse(callable, ctx1) and + someOuterCall = + CachedCallContextSensitivity::viableImplCallContextReducedReverse(callable, ctx2) and + result = ctx2 + ) } pragma[nomagic] private predicate parameterValueFlow0_0( ReadStepTypesOption mustBeNone, ParamNode p, Node node, ReadStepTypesOption read, - string model + string model, CachedCallContextSensitivity::CcNoCall ctx ) { - // flow through: no prior read - exists(ArgNode arg, string model1, string model2 | - parameterValueFlowArg(p, arg, mustBeNone, model1) and - argumentValueFlowsThrough(arg, read, node, model2) and - model = mergeModels(model1, model2) - ) - or - // flow through: no read inside method - exists(ArgNode arg, string model1, string model2 | - parameterValueFlowArg(p, arg, read, model1) and - argumentValueFlowsThrough(arg, mustBeNone, node, model2) and - model = mergeModels(model1, model2) + exists( + DataFlowCall call, DataFlowCallable callable, ArgNode arg, string model1, string model2, + CachedCallContextSensitivity::CcNoCall ctx1, CachedCallContextSensitivity::CcNoCall ctx2 + | + model = mergeModels(model1, model2) and + ( + // call may restrict the set of call sites that can be returned to + ctx2.(CachedCallContextSensitivity::CcReturn).isReturn(callable, call) + or + // call does not restrict the set of call sites that can be returned to + not exists(CachedCallContextSensitivity::CcReturn ret | ret.isReturn(callable, call)) and + CachedCallContextSensitivity::viableImplNotCallContextReducedReverse(ctx2) + ) and + ctx = mergeContexts(ctx1, ctx2) + | + // flow through: no prior read + parameterValueFlowArg(p, arg, mustBeNone, model1, ctx1) and + argumentValueFlowsThrough(call, callable, arg, read, node, model2) + or + // flow through: no read inside method + parameterValueFlowArg(p, arg, read, model1, ctx1) and + argumentValueFlowsThrough(call, callable, arg, mustBeNone, node, model2) ) } pragma[nomagic] private predicate parameterValueFlowArg( - ParamNode p, ArgNode arg, ReadStepTypesOption read, string model + ParamNode p, ArgNode arg, ReadStepTypesOption read, string model, + CachedCallContextSensitivity::CcNoCall ctx ) { - parameterValueFlow(p, arg, read, model) and + parameterValueFlow(p, arg, read, model, ctx) and Cand::argumentValueFlowsThroughCand(arg, _, _) } pragma[nomagic] private predicate argumentValueFlowsThrough0( - DataFlowCall call, ArgNode arg, ReturnKind kind, ReadStepTypesOption read, string model + DataFlowCall call, DataFlowCallable callable, ArgNode arg, ReturnKind kind, + ReadStepTypesOption read, string model ) { - exists(ParamNode param | viableParamArg(call, param, arg) | - parameterValueFlowReturn(param, kind, read, model) + exists(ParamNode param, CachedCallContextSensitivity::CcNoCall ctx | + viableParamArg(call, param, arg) and + parameterValueFlowReturn(param, kind, read, model, ctx) and + callable = nodeGetEnclosingCallable(param) + | + CachedCallContextSensitivity::viableImplNotCallContextReducedReverse(ctx) + or + call = CachedCallContextSensitivity::viableImplCallContextReducedReverse(callable, ctx) + ) + } + + pragma[nomagic] + private predicate argumentValueFlowsThrough( + DataFlowCall call, DataFlowCallable callable, ArgNode arg, ReadStepTypesOption read, + Node out, string model + ) { + exists(ReturnKind kind | + argumentValueFlowsThrough0(call, callable, arg, kind, read, model) and + out = getAnOutNode(call, kind) + | + // normal flow through + read = TReadStepTypesNone() and + compatibleTypesFilter(getNodeDataFlowType(arg), getNodeDataFlowType(out)) + or + // getter + compatibleTypesFilter(getNodeDataFlowType(arg), read.getContainerType()) and + compatibleTypesFilter(read.getContentType(), getNodeDataFlowType(out)) ) } @@ -1445,18 +1515,7 @@ module MakeImplCommon Lang> { predicate argumentValueFlowsThrough( ArgNode arg, ReadStepTypesOption read, Node out, string model ) { - exists(DataFlowCall call, ReturnKind kind | - argumentValueFlowsThrough0(call, arg, kind, read, model) and - out = getAnOutNode(call, kind) - | - // normal flow through - read = TReadStepTypesNone() and - compatibleTypesFilter(getNodeDataFlowType(arg), getNodeDataFlowType(out)) - or - // getter - compatibleTypesFilter(getNodeDataFlowType(arg), read.getContainerType()) and - compatibleTypesFilter(read.getContentType(), getNodeDataFlowType(out)) - ) + argumentValueFlowsThrough(_, _, arg, read, out, model) } /** @@ -1479,10 +1538,11 @@ module MakeImplCommon Lang> { * container type, and the content type. */ private predicate parameterValueFlowReturn( - ParamNode p, ReturnKind kind, ReadStepTypesOption read, string model + ParamNode p, ReturnKind kind, ReadStepTypesOption read, string model, + CachedCallContextSensitivity::CcNoCall ctx ) { exists(ReturnNode ret | - parameterValueFlow(p, ret, read, model) and + parameterValueFlow(p, ret, read, model, ctx) and kind = ret.getKind() ) } @@ -1498,7 +1558,7 @@ module MakeImplCommon Lang> { * node `n`, in the same callable, using only value-preserving steps. */ private predicate parameterValueFlowsToPreUpdate(ParamNode p, PostUpdateNode n) { - parameterValueFlow(p, n.getPreUpdateNode(), TReadStepTypesNone(), _) + parameterValueFlow(p, n.getPreUpdateNode(), TReadStepTypesNone(), _, _) } cached From 5f9b8c05bdf63578aaaeba5cd0be8c56f7748948 Mon Sep 17 00:00:00 2001 From: Tom Hvitved Date: Wed, 30 Oct 2024 16:01:32 +0100 Subject: [PATCH 317/347] Java: Update expected test output --- java/ql/test/library-tests/dataflow/getter/getter.expected | 1 - 1 file changed, 1 deletion(-) diff --git a/java/ql/test/library-tests/dataflow/getter/getter.expected b/java/ql/test/library-tests/dataflow/getter/getter.expected index b5af3f91a593..9a36107f1983 100644 --- a/java/ql/test/library-tests/dataflow/getter/getter.expected +++ b/java/ql/test/library-tests/dataflow/getter/getter.expected @@ -1,6 +1,5 @@ | A.java:5:12:5:15 | this | A.java:5:12:5:19 | this.foo | A.java:2:7:2:9 | foo | | A.java:21:13:21:13 | a | A.java:21:13:21:22 | getFoo(...) | A.java:2:7:2:9 | foo | | A.java:23:9:23:9 | a | A.java:23:9:23:19 | aGetter(...) | A.java:2:7:2:9 | foo | -| A.java:24:9:24:10 | a2 | A.java:24:9:24:23 | notAGetter(...) | A.java:2:7:2:9 | foo | | A.java:45:12:45:38 | maybeIdWrap(...) | A.java:45:12:45:42 | maybeIdWrap(...).foo | A.java:2:7:2:9 | foo | | A.java:49:12:49:38 | maybeIdWrap(...) | A.java:49:12:49:42 | maybeIdWrap(...).foo | A.java:2:7:2:9 | foo | From 42e0d7ce10afe8510088cc4999cbc1fb1bb6f2b9 Mon Sep 17 00:00:00 2001 From: Tom Hvitved Date: Wed, 20 Nov 2024 13:09:59 +0100 Subject: [PATCH 318/347] Util: Refactor `DenseRank` implementation --- .../rust/elements/internal/VariableImpl.qll | 4 +- shared/util/codeql/util/DenseRank.qll | 40 +++++++++---------- 2 files changed, 21 insertions(+), 23 deletions(-) diff --git a/rust/ql/lib/codeql/rust/elements/internal/VariableImpl.qll b/rust/ql/lib/codeql/rust/elements/internal/VariableImpl.qll index 4b94546d8027..80c70f6f6fa7 100644 --- a/rust/ql/lib/codeql/rust/elements/internal/VariableImpl.qll +++ b/rust/ql/lib/codeql/rust/elements/internal/VariableImpl.qll @@ -378,7 +378,7 @@ module Impl { } } - private module DenseRankInput implements DenseRankInputSig3 { + private module DenseRankInput implements DenseRankInputSig2 { class C1 = VariableScope; class C2 = string; @@ -401,7 +401,7 @@ module Impl { * to a variable named `name` in the variable scope `scope`. */ private int rankVariableOrAccess(VariableScope scope, string name, VariableOrAccessCand v) { - result = DenseRank3::denseRank(scope, name, v) - 1 + v = DenseRank2::denseRank(scope, name, result + 1) } /** diff --git a/shared/util/codeql/util/DenseRank.qll b/shared/util/codeql/util/DenseRank.qll index d1ba4ae4b62c..0dccbbd48803 100644 --- a/shared/util/codeql/util/DenseRank.qll +++ b/shared/util/codeql/util/DenseRank.qll @@ -58,12 +58,12 @@ module DenseRank { rnk = rank[result](int rnk0 | rnk0 = getRank(_) | rnk0) } - /** Gets the dense rank of `r`. */ - int denseRank(Ranked r) { result = rankRank(r, getRank(r)) } + /** Gets the `Ranked` value for which the dense rank is `rnk`. */ + Ranked denseRank(int rnk) { rnk = rankRank(result, getRank(result)) } } -/** Provides the input to `DenseRank2`. */ -signature module DenseRankInputSig2 { +/** Provides the input to `DenseRank1`. */ +signature module DenseRankInputSig1 { /** A ranking context. */ bindingset[this] class C; @@ -77,7 +77,7 @@ signature module DenseRankInputSig2 { } /** Same as `DenseRank`, but allows for a context consisting of one element. */ -module DenseRank2 { +module DenseRank1 { private import Input private int rankRank(C c, Ranked r, int rnk) { @@ -85,17 +85,15 @@ module DenseRank2 { rnk = rank[result](int rnk0 | rnk0 = getRank(c, _) | rnk0) } - /** Gets the dense rank of `r` in the context provided by `c`. */ - int denseRank(C c, Ranked r) { - exists(int rnk | - result = rankRank(c, r, rnk) and - rnk = getRank(c, r) - ) - } + /** + * Gets the `Ranked` value for which the dense rank in the context provided by + * `c` is `rnk`. + */ + Ranked denseRank(C c, int rnk) { rnk = rankRank(c, result, getRank(c, result)) } } -/** Provides the input to `DenseRank3`. */ -signature module DenseRankInputSig3 { +/** Provides the input to `DenseRank2`. */ +signature module DenseRankInputSig2 { /** A ranking context. */ bindingset[this] class C1; @@ -113,7 +111,7 @@ signature module DenseRankInputSig3 { } /** Same as `DenseRank`, but allows for a context consisting of two elements. */ -module DenseRank3 { +module DenseRank2 { private import Input private int rankRank(C1 c1, C2 c2, Ranked r, int rnk) { @@ -121,11 +119,11 @@ module DenseRank3 { rnk = rank[result](int rnk0 | rnk0 = getRank(c1, c2, _) | rnk0) } - /** Gets the dense rank of `r` in the context provided by `c1` and `c2`. */ - int denseRank(C1 c1, C2 c2, Ranked r) { - exists(int rnk | - result = rankRank(c1, c2, r, rnk) and - rnk = getRank(c1, c2, r) - ) + /** + * Gets the `Ranked` value for which the dense rank in the context provided by + * `c1` and `c2` is `rnk`. + */ + Ranked denseRank(C1 c1, C2 c2, int rnk) { + rnk = rankRank(c1, c2, result, getRank(c1, c2, result)) } } From 3f56fc9e894d7c92aa7b2cb594cae0ae2a300a30 Mon Sep 17 00:00:00 2001 From: Tom Hvitved Date: Wed, 20 Nov 2024 12:58:30 +0100 Subject: [PATCH 319/347] Address review comments --- .../dataflow/internal/DataFlowImplCommon.qll | 47 +++++++++---------- 1 file changed, 21 insertions(+), 26 deletions(-) diff --git a/shared/dataflow/codeql/dataflow/internal/DataFlowImplCommon.qll b/shared/dataflow/codeql/dataflow/internal/DataFlowImplCommon.qll index cd2af1634051..e477913a59bd 100644 --- a/shared/dataflow/codeql/dataflow/internal/DataFlowImplCommon.qll +++ b/shared/dataflow/codeql/dataflow/internal/DataFlowImplCommon.qll @@ -628,8 +628,6 @@ module MakeImplCommon Lang> { override string toString() { exists(DataFlowCall call | this = TReturn(_, call) | result = "CcReturn(" + call + ")") } - - predicate isReturn(DataFlowCallable c, DataFlowCall call) { this = TReturn(c, call) } } pragma[nomagic] @@ -1435,27 +1433,19 @@ module MakeImplCommon Lang> { string model, CachedCallContextSensitivity::CcNoCall ctx ) { exists( - DataFlowCall call, DataFlowCallable callable, ArgNode arg, string model1, string model2, - CachedCallContextSensitivity::CcNoCall ctx1, CachedCallContextSensitivity::CcNoCall ctx2 + ArgNode arg, string model1, string model2, CachedCallContextSensitivity::CcNoCall ctx1, + CachedCallContextSensitivity::CcNoCall ctx2 | model = mergeModels(model1, model2) and - ( - // call may restrict the set of call sites that can be returned to - ctx2.(CachedCallContextSensitivity::CcReturn).isReturn(callable, call) - or - // call does not restrict the set of call sites that can be returned to - not exists(CachedCallContextSensitivity::CcReturn ret | ret.isReturn(callable, call)) and - CachedCallContextSensitivity::viableImplNotCallContextReducedReverse(ctx2) - ) and ctx = mergeContexts(ctx1, ctx2) | // flow through: no prior read parameterValueFlowArg(p, arg, mustBeNone, model1, ctx1) and - argumentValueFlowsThrough(call, callable, arg, read, node, model2) + argumentValueFlowsThrough(arg, read, node, model2, ctx2) or // flow through: no read inside method parameterValueFlowArg(p, arg, read, model1, ctx1) and - argumentValueFlowsThrough(call, callable, arg, mustBeNone, node, model2) + argumentValueFlowsThrough(arg, mustBeNone, node, model2, ctx2) ) } @@ -1470,27 +1460,32 @@ module MakeImplCommon Lang> { pragma[nomagic] private predicate argumentValueFlowsThrough0( - DataFlowCall call, DataFlowCallable callable, ArgNode arg, ReturnKind kind, - ReadStepTypesOption read, string model + DataFlowCall call, ArgNode arg, ReturnKind kind, ReadStepTypesOption read, string model, + CachedCallContextSensitivity::CcNoCall outerCtx ) { - exists(ParamNode param, CachedCallContextSensitivity::CcNoCall ctx | + exists( + ParamNode param, DataFlowCallable callable, + CachedCallContextSensitivity::CcNoCall innerCtx + | viableParamArg(call, param, arg) and - parameterValueFlowReturn(param, kind, read, model, ctx) and - callable = nodeGetEnclosingCallable(param) + parameterValueFlowReturn(param, kind, read, model, innerCtx) and + callable = nodeGetEnclosingCallable(param) and + outerCtx = CachedCallContextSensitivity::getCallContextReturn(callable, call) | - CachedCallContextSensitivity::viableImplNotCallContextReducedReverse(ctx) + CachedCallContextSensitivity::viableImplNotCallContextReducedReverse(innerCtx) or - call = CachedCallContextSensitivity::viableImplCallContextReducedReverse(callable, ctx) + call = + CachedCallContextSensitivity::viableImplCallContextReducedReverse(callable, innerCtx) ) } pragma[nomagic] private predicate argumentValueFlowsThrough( - DataFlowCall call, DataFlowCallable callable, ArgNode arg, ReadStepTypesOption read, - Node out, string model + ArgNode arg, ReadStepTypesOption read, Node out, string model, + CachedCallContextSensitivity::CcNoCall ctx ) { - exists(ReturnKind kind | - argumentValueFlowsThrough0(call, callable, arg, kind, read, model) and + exists(DataFlowCall call, ReturnKind kind | + argumentValueFlowsThrough0(call, arg, kind, read, model, ctx) and out = getAnOutNode(call, kind) | // normal flow through @@ -1515,7 +1510,7 @@ module MakeImplCommon Lang> { predicate argumentValueFlowsThrough( ArgNode arg, ReadStepTypesOption read, Node out, string model ) { - argumentValueFlowsThrough(_, _, arg, read, out, model) + argumentValueFlowsThrough(arg, read, out, model, _) } /** From 6344f83e4b7740dbe3e406f877064388b4dfdc2a Mon Sep 17 00:00:00 2001 From: Napalys Date: Wed, 20 Nov 2024 13:22:53 +0100 Subject: [PATCH 320/347] JS: Add: tests for taint tracking in groupBy functions --- .../TaintTracking/BasicTaintTracking.expected | 4 ++++ .../test/library-tests/TaintTracking/tst.js | 24 +++++++++++++++++++ 2 files changed, 28 insertions(+) diff --git a/javascript/ql/test/library-tests/TaintTracking/BasicTaintTracking.expected b/javascript/ql/test/library-tests/TaintTracking/BasicTaintTracking.expected index 79be56cbb7e2..ecbab8685136 100644 --- a/javascript/ql/test/library-tests/TaintTracking/BasicTaintTracking.expected +++ b/javascript/ql/test/library-tests/TaintTracking/BasicTaintTracking.expected @@ -246,6 +246,10 @@ typeInferenceMismatch | tst.js:2:13:2:20 | source() | tst.js:70:10:70:18 | xReversed | | tst.js:2:13:2:20 | source() | tst.js:72:10:72:31 | Map.gro ... z => z) | | tst.js:2:13:2:20 | source() | tst.js:74:10:74:34 | Object. ... z => z) | +| tst.js:2:13:2:20 | source() | tst.js:79:14:79:20 | grouped | +| tst.js:75:22:75:29 | source() | tst.js:75:10:75:52 | Map.gro ... (item)) | +| tst.js:82:23:82:30 | source() | tst.js:84:14:84:20 | grouped | +| tst.js:87:22:87:29 | source() | tst.js:90:14:90:25 | taintedValue | | xml.js:5:18:5:25 | source() | xml.js:8:14:8:17 | text | | xml.js:12:17:12:24 | source() | xml.js:13:14:13:19 | result | | xml.js:23:18:23:25 | source() | xml.js:20:14:20:17 | attr | diff --git a/javascript/ql/test/library-tests/TaintTracking/tst.js b/javascript/ql/test/library-tests/TaintTracking/tst.js index 0fab561954de..0c642b3a2c05 100644 --- a/javascript/ql/test/library-tests/TaintTracking/tst.js +++ b/javascript/ql/test/library-tests/TaintTracking/tst.js @@ -72,4 +72,28 @@ function test() { sink(Map.groupBy(x, z => z)); // NOT OK sink(Custom.groupBy(x, z => z)); // OK sink(Object.groupBy(x, z => z)); // NOT OK + sink(Map.groupBy(source(), (item) => sink(item))); // NOT OK + + { + const grouped = Map.groupBy(x, (item) => sink(item)); // NOT OK -- Should be tainted, but it is not + sink(grouped); // NOT OK + } + { + const list = [source()]; + const grouped = Map.groupBy(list, (item) => sink(item)); // NOT OK -- Should be tainted, but it is not + sink(grouped); // NOT OK + } + { + const data = source(); + const result = Object.groupBy(data, item => item); + const taintedValue = result[notDefined()]; + sink(taintedValue); // NOT OK + } + { + const data = source(); + const map = Map.groupBy(data, item => item); + const taintedValue = map.get(true); + sink(taintedValue); // NOT OK -- Should be tainted, but it is not + sink(map.get(true)); // NOT OK -- Should be tainted, but it is not + } } From 58faa2d71edf98ce13009a048a417e1032bd390b Mon Sep 17 00:00:00 2001 From: Napalys Date: Wed, 20 Nov 2024 13:34:11 +0100 Subject: [PATCH 321/347] JS: Add: dataflow step for static method of groupBy from Map. --- .../ql/lib/semmle/javascript/Collections.qll | 17 ++++++++++++++++- .../TaintTracking/BasicTaintTracking.expected | 5 +++++ .../TaintTracking/DataFlowTracking.expected | 2 ++ .../ql/test/library-tests/TaintTracking/tst.js | 8 ++++---- 4 files changed, 27 insertions(+), 5 deletions(-) diff --git a/javascript/ql/lib/semmle/javascript/Collections.qll b/javascript/ql/lib/semmle/javascript/Collections.qll index c7348e603f4f..df7ad317014d 100644 --- a/javascript/ql/lib/semmle/javascript/Collections.qll +++ b/javascript/ql/lib/semmle/javascript/Collections.qll @@ -160,7 +160,22 @@ private module CollectionDataFlow { exists(DataFlow::MethodCallNode call | call = DataFlow::globalVarRef(["Map", "Object"]).getAMemberCall("groupBy") and pred = call.getArgument(0) and - succ = call + (succ = call.getCallback(1).getParameter(0) or succ = call.getALocalUse()) + ) + } + } + + /** + * A step for handling data flow and taint tracking for the groupBy method on iterable objects. + * Ensures propagation of taint and data flow through the groupBy operation. + */ + private class GroupByDataFlowStep extends PreCallGraphStep { + override predicate storeStep(DataFlow::Node pred, DataFlow::SourceNode succ, string prop) { + exists(DataFlow::MethodCallNode call | + call = DataFlow::globalVarRef("Map").getAMemberCall("groupBy") and + pred = call.getArgument(0) and + succ = call and + prop = mapValueUnknownKey() ) } } diff --git a/javascript/ql/test/library-tests/TaintTracking/BasicTaintTracking.expected b/javascript/ql/test/library-tests/TaintTracking/BasicTaintTracking.expected index ecbab8685136..005327d188e5 100644 --- a/javascript/ql/test/library-tests/TaintTracking/BasicTaintTracking.expected +++ b/javascript/ql/test/library-tests/TaintTracking/BasicTaintTracking.expected @@ -246,10 +246,15 @@ typeInferenceMismatch | tst.js:2:13:2:20 | source() | tst.js:70:10:70:18 | xReversed | | tst.js:2:13:2:20 | source() | tst.js:72:10:72:31 | Map.gro ... z => z) | | tst.js:2:13:2:20 | source() | tst.js:74:10:74:34 | Object. ... z => z) | +| tst.js:2:13:2:20 | source() | tst.js:78:55:78:58 | item | | tst.js:2:13:2:20 | source() | tst.js:79:14:79:20 | grouped | | tst.js:75:22:75:29 | source() | tst.js:75:10:75:52 | Map.gro ... (item)) | +| tst.js:75:22:75:29 | source() | tst.js:75:47:75:50 | item | +| tst.js:82:23:82:30 | source() | tst.js:83:58:83:61 | item | | tst.js:82:23:82:30 | source() | tst.js:84:14:84:20 | grouped | | tst.js:87:22:87:29 | source() | tst.js:90:14:90:25 | taintedValue | +| tst.js:93:22:93:29 | source() | tst.js:96:14:96:25 | taintedValue | +| tst.js:93:22:93:29 | source() | tst.js:97:14:97:26 | map.get(true) | | xml.js:5:18:5:25 | source() | xml.js:8:14:8:17 | text | | xml.js:12:17:12:24 | source() | xml.js:13:14:13:19 | result | | xml.js:23:18:23:25 | source() | xml.js:20:14:20:17 | attr | diff --git a/javascript/ql/test/library-tests/TaintTracking/DataFlowTracking.expected b/javascript/ql/test/library-tests/TaintTracking/DataFlowTracking.expected index 33a27661ecd1..3b89229b2d7f 100644 --- a/javascript/ql/test/library-tests/TaintTracking/DataFlowTracking.expected +++ b/javascript/ql/test/library-tests/TaintTracking/DataFlowTracking.expected @@ -112,3 +112,5 @@ | thisAssignments.js:7:19:7:26 | source() | thisAssignments.js:8:10:8:20 | this.field2 | | tst.js:2:13:2:20 | source() | tst.js:4:10:4:10 | x | | tst.js:2:13:2:20 | source() | tst.js:54:14:54:19 | unsafe | +| tst.js:93:22:93:29 | source() | tst.js:96:14:96:25 | taintedValue | +| tst.js:93:22:93:29 | source() | tst.js:97:14:97:26 | map.get(true) | diff --git a/javascript/ql/test/library-tests/TaintTracking/tst.js b/javascript/ql/test/library-tests/TaintTracking/tst.js index 0c642b3a2c05..a0b596802b76 100644 --- a/javascript/ql/test/library-tests/TaintTracking/tst.js +++ b/javascript/ql/test/library-tests/TaintTracking/tst.js @@ -75,12 +75,12 @@ function test() { sink(Map.groupBy(source(), (item) => sink(item))); // NOT OK { - const grouped = Map.groupBy(x, (item) => sink(item)); // NOT OK -- Should be tainted, but it is not + const grouped = Map.groupBy(x, (item) => sink(item)); // NOT OK sink(grouped); // NOT OK } { const list = [source()]; - const grouped = Map.groupBy(list, (item) => sink(item)); // NOT OK -- Should be tainted, but it is not + const grouped = Map.groupBy(list, (item) => sink(item)); // NOT OK sink(grouped); // NOT OK } { @@ -93,7 +93,7 @@ function test() { const data = source(); const map = Map.groupBy(data, item => item); const taintedValue = map.get(true); - sink(taintedValue); // NOT OK -- Should be tainted, but it is not - sink(map.get(true)); // NOT OK -- Should be tainted, but it is not + sink(taintedValue); // NOT OK + sink(map.get(true)); // NOT OK } } From cdf43f7118e2e535fdc751aa1870e663a6da499d Mon Sep 17 00:00:00 2001 From: Napalys Date: Wed, 20 Nov 2024 14:06:44 +0100 Subject: [PATCH 322/347] Added change notes --- .../ql/lib/change-notes/2024-11-20-ES2024-group-functions.md | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 javascript/ql/lib/change-notes/2024-11-20-ES2024-group-functions.md diff --git a/javascript/ql/lib/change-notes/2024-11-20-ES2024-group-functions.md b/javascript/ql/lib/change-notes/2024-11-20-ES2024-group-functions.md new file mode 100644 index 000000000000..8511727f8e77 --- /dev/null +++ b/javascript/ql/lib/change-notes/2024-11-20-ES2024-group-functions.md @@ -0,0 +1,4 @@ +--- +category: minorAnalysis +--- +* Added taint-steps for `Map.groupBy` and `Object.groupBy`. From d9a830e008d230d21aaaac5be5c2e57b3a4a83da Mon Sep 17 00:00:00 2001 From: Owen Mansel-Chan Date: Wed, 20 Nov 2024 13:50:59 +0000 Subject: [PATCH 323/347] Add log function prefix "With" for heuristic logger --- go/ql/lib/semmle/go/Concepts.qll | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/go/ql/lib/semmle/go/Concepts.qll b/go/ql/lib/semmle/go/Concepts.qll index 16b32466f3df..3f0cd0f8885e 100644 --- a/go/ql/lib/semmle/go/Concepts.qll +++ b/go/ql/lib/semmle/go/Concepts.qll @@ -397,15 +397,18 @@ private class DefaultLoggerCall extends LoggerCall::Range, DataFlow::CallNode { */ private class HeuristicLoggerCall extends LoggerCall::Range, DataFlow::CallNode { HeuristicLoggerCall() { - exists(Method m, string tp, string logLevel, string name | + exists(Method m, string tp, string logFunctionPrefix, string name | m = this.getTarget() and m.hasQualifiedName(_, tp, name) and m.getReceiverBaseType().getUnderlyingType() instanceof InterfaceType | tp.regexpMatch(".*[lL]ogger") and - logLevel = - ["Debug", "Error", "Fatal", "Info", "Log", "Output", "Panic", "Print", "Trace", "Warn"] and - name.matches(logLevel + "%") + logFunctionPrefix = + [ + "Debug", "Error", "Fatal", "Info", "Log", "Output", "Panic", "Print", "Trace", "Warn", + "With" + ] and + name.matches(logFunctionPrefix + "%") ) } From dcf3b31f622323fb541027ed02a21ef21ff79f8d Mon Sep 17 00:00:00 2001 From: Owen Mansel-Chan Date: Wed, 20 Nov 2024 13:52:22 +0000 Subject: [PATCH 324/347] Move and update change note --- .../lib/change-notes/2024-11-20-heuristic-logging-sinks.md | 4 ++++ go/ql/src/change-notes/2024-11-20-heuristic-logging-sinks.md | 4 ---- 2 files changed, 4 insertions(+), 4 deletions(-) create mode 100644 csharp/ql/campaigns/Solorigate/lib/change-notes/2024-11-20-heuristic-logging-sinks.md delete mode 100644 go/ql/src/change-notes/2024-11-20-heuristic-logging-sinks.md diff --git a/csharp/ql/campaigns/Solorigate/lib/change-notes/2024-11-20-heuristic-logging-sinks.md b/csharp/ql/campaigns/Solorigate/lib/change-notes/2024-11-20-heuristic-logging-sinks.md new file mode 100644 index 000000000000..46f5988b3798 --- /dev/null +++ b/csharp/ql/campaigns/Solorigate/lib/change-notes/2024-11-20-heuristic-logging-sinks.md @@ -0,0 +1,4 @@ +--- +category: minorAnalysis +--- +* A call to a method whose name starts with "Debug", "Error", "Fatal", "Info", "Log", "Output", "Panic", "Print", "Trace", "Warn" or "With" defined on an interface whose name ends in "logger" or "Logger" is now considered a LoggerCall. In particular, it is a sink for `go/clear-text-logging` and `go/log-injection`. This may lead to some more alerts in those queries. diff --git a/go/ql/src/change-notes/2024-11-20-heuristic-logging-sinks.md b/go/ql/src/change-notes/2024-11-20-heuristic-logging-sinks.md deleted file mode 100644 index 7fcb5fa3a34b..000000000000 --- a/go/ql/src/change-notes/2024-11-20-heuristic-logging-sinks.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: minorAnalysis ---- -* A call to a method whose name starts with "Debug", "Error", "Fatal", "Info", "Log", "Output", "Panic", "Print", "Trace" or "Warn" defined on an interface whose name ends in "logger" or "Logger" is now considered a sink for `go/clear-text-logging` and `go/log-injection`. This may lead to some more alerts in those queries. From 9dbf7d1828b2b2f70cd26c346956ad091993c14f Mon Sep 17 00:00:00 2001 From: Napalys Date: Wed, 20 Nov 2024 14:54:06 +0100 Subject: [PATCH 325/347] JS: removed unnecessary getALocalSource from ArrayCallBackDataTaintStep --- javascript/ql/lib/semmle/javascript/Arrays.qll | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/javascript/ql/lib/semmle/javascript/Arrays.qll b/javascript/ql/lib/semmle/javascript/Arrays.qll index 95301820dc1d..25a6b97430be 100644 --- a/javascript/ql/lib/semmle/javascript/Arrays.qll +++ b/javascript/ql/lib/semmle/javascript/Arrays.qll @@ -505,7 +505,7 @@ private module ArrayLibraries { override predicate step(DataFlow::Node obj, DataFlow::Node element) { exists(DataFlow::MethodCallNode call | call.getMethodName() = ["findLast", "find", "findLastIndex"] and - obj = call.getReceiver().getALocalSource() and + obj = call.getReceiver() and element = call.getCallback(0).getParameter(0) ) } From 64c45debdb4c1326f933d100eacac71c7898792d Mon Sep 17 00:00:00 2001 From: Napalys Date: Wed, 20 Nov 2024 14:57:00 +0100 Subject: [PATCH 326/347] JS: removed unnecessary getALocalSource from ArrayCallBackDataFlowStep --- javascript/ql/lib/semmle/javascript/Arrays.qll | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/javascript/ql/lib/semmle/javascript/Arrays.qll b/javascript/ql/lib/semmle/javascript/Arrays.qll index 25a6b97430be..bec711b835a7 100644 --- a/javascript/ql/lib/semmle/javascript/Arrays.qll +++ b/javascript/ql/lib/semmle/javascript/Arrays.qll @@ -492,7 +492,7 @@ private module ArrayLibraries { exists(DataFlow::MethodCallNode call | call.getMethodName() = ["findLast", "find", "findLastIndex"] and prop = arrayLikeElement() and - obj = call.getReceiver().getALocalSource() and + obj = call.getReceiver() and element = call.getCallback(0).getParameter(0) ) } From 69ad69c38ae329916467bed91444426e1a417b6b Mon Sep 17 00:00:00 2001 From: Owen Mansel-Chan Date: Wed, 20 Nov 2024 14:21:28 +0000 Subject: [PATCH 327/347] Move change note out of C# folder --- .../ql}/lib/change-notes/2024-11-20-heuristic-logging-sinks.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename {csharp/ql/campaigns/Solorigate => go/ql}/lib/change-notes/2024-11-20-heuristic-logging-sinks.md (100%) diff --git a/csharp/ql/campaigns/Solorigate/lib/change-notes/2024-11-20-heuristic-logging-sinks.md b/go/ql/lib/change-notes/2024-11-20-heuristic-logging-sinks.md similarity index 100% rename from csharp/ql/campaigns/Solorigate/lib/change-notes/2024-11-20-heuristic-logging-sinks.md rename to go/ql/lib/change-notes/2024-11-20-heuristic-logging-sinks.md From 09f73d8d6f359f5681046bc5805e667d23228bdc Mon Sep 17 00:00:00 2001 From: Napalys Date: Wed, 20 Nov 2024 17:36:43 +0100 Subject: [PATCH 328/347] JS: Add: test cases for toWellFormed --- .../TaintTracking/string-immutable-operations.js | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 javascript/ql/test/library-tests/TaintTracking/string-immutable-operations.js diff --git a/javascript/ql/test/library-tests/TaintTracking/string-immutable-operations.js b/javascript/ql/test/library-tests/TaintTracking/string-immutable-operations.js new file mode 100644 index 000000000000..60f6c44088c9 --- /dev/null +++ b/javascript/ql/test/library-tests/TaintTracking/string-immutable-operations.js @@ -0,0 +1,12 @@ +function test() { + let x = source(); + sink(x.toWellFormed()); // NOT OK -- Currently not tainted, but should be + + const wellFormedX = x.toWellFormed(); + sink(wellFormedX); // NOT OK -- Currently not tainted, but should be + + const concatWellFormedX = "/" + wellFormedX + "!"; + sink(concatWellFormedX); // NOT OK -- Currently not tainted, but should be + + sink(source().toWellFormed()); // NOT OK -- Currently not tainted, but should be +} From afc2d3e6d25f24d6111072b555357151b3684222 Mon Sep 17 00:00:00 2001 From: Napalys Date: Wed, 20 Nov 2024 17:42:25 +0100 Subject: [PATCH 329/347] JS: Add: String.protytpe.toWellFormed to StringManipulationTaintStep --- .../ql/lib/semmle/javascript/dataflow/TaintTracking.qll | 2 +- .../TaintTracking/BasicTaintTracking.expected | 4 ++++ .../TaintTracking/string-immutable-operations.js | 8 ++++---- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/javascript/ql/lib/semmle/javascript/dataflow/TaintTracking.qll b/javascript/ql/lib/semmle/javascript/dataflow/TaintTracking.qll index a19691e94480..6b6fc9c4b07d 100644 --- a/javascript/ql/lib/semmle/javascript/dataflow/TaintTracking.qll +++ b/javascript/ql/lib/semmle/javascript/dataflow/TaintTracking.qll @@ -612,7 +612,7 @@ module TaintTracking { "italics", "link", "padEnd", "padStart", "repeat", "replace", "replaceAll", "slice", "small", "split", "strike", "sub", "substr", "substring", "sup", "toLocaleLowerCase", "toLocaleUpperCase", "toLowerCase", "toUpperCase", "trim", - "trimLeft", "trimRight" + "trimLeft", "trimRight", "toWellFormed" ] or // sorted, interesting, properties of Object.prototype diff --git a/javascript/ql/test/library-tests/TaintTracking/BasicTaintTracking.expected b/javascript/ql/test/library-tests/TaintTracking/BasicTaintTracking.expected index f81405a32a2f..3d4fd0b67f86 100644 --- a/javascript/ql/test/library-tests/TaintTracking/BasicTaintTracking.expected +++ b/javascript/ql/test/library-tests/TaintTracking/BasicTaintTracking.expected @@ -209,6 +209,10 @@ typeInferenceMismatch | static-capture-groups.js:2:17:2:24 | source() | static-capture-groups.js:27:14:27:22 | RegExp.$1 | | static-capture-groups.js:32:17:32:24 | source() | static-capture-groups.js:38:10:38:18 | RegExp.$1 | | static-capture-groups.js:42:12:42:19 | source() | static-capture-groups.js:43:14:43:22 | RegExp.$1 | +| string-immutable-operations.js:2:13:2:20 | source() | string-immutable-operations.js:3:10:3:25 | x.toWellFormed() | +| string-immutable-operations.js:2:13:2:20 | source() | string-immutable-operations.js:6:10:6:20 | wellFormedX | +| string-immutable-operations.js:2:13:2:20 | source() | string-immutable-operations.js:9:10:9:26 | concatWellFormedX | +| string-immutable-operations.js:11:10:11:17 | source() | string-immutable-operations.js:11:10:11:32 | source( ... ormed() | | string-replace.js:3:13:3:20 | source() | string-replace.js:14:10:14:13 | data | | string-replace.js:3:13:3:20 | source() | string-replace.js:18:10:18:13 | data | | string-replace.js:3:13:3:20 | source() | string-replace.js:21:6:21:41 | safe(). ... taint) | diff --git a/javascript/ql/test/library-tests/TaintTracking/string-immutable-operations.js b/javascript/ql/test/library-tests/TaintTracking/string-immutable-operations.js index 60f6c44088c9..79e93fab0025 100644 --- a/javascript/ql/test/library-tests/TaintTracking/string-immutable-operations.js +++ b/javascript/ql/test/library-tests/TaintTracking/string-immutable-operations.js @@ -1,12 +1,12 @@ function test() { let x = source(); - sink(x.toWellFormed()); // NOT OK -- Currently not tainted, but should be + sink(x.toWellFormed()); // NOT OK const wellFormedX = x.toWellFormed(); - sink(wellFormedX); // NOT OK -- Currently not tainted, but should be + sink(wellFormedX); // NOT OK const concatWellFormedX = "/" + wellFormedX + "!"; - sink(concatWellFormedX); // NOT OK -- Currently not tainted, but should be + sink(concatWellFormedX); // NOT OK - sink(source().toWellFormed()); // NOT OK -- Currently not tainted, but should be + sink(source().toWellFormed()); // NOT OK } From 43eda58f83d4e81ecba1505a67b68e4a33e4b061 Mon Sep 17 00:00:00 2001 From: Napalys Date: Wed, 20 Nov 2024 17:44:36 +0100 Subject: [PATCH 330/347] Added change notes --- .../2024-11-20-ES2023-string-protytpe-toWellFormed.md | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 javascript/ql/lib/change-notes/2024-11-20-ES2023-string-protytpe-toWellFormed.md diff --git a/javascript/ql/lib/change-notes/2024-11-20-ES2023-string-protytpe-toWellFormed.md b/javascript/ql/lib/change-notes/2024-11-20-ES2023-string-protytpe-toWellFormed.md new file mode 100644 index 000000000000..dda4d8787605 --- /dev/null +++ b/javascript/ql/lib/change-notes/2024-11-20-ES2023-string-protytpe-toWellFormed.md @@ -0,0 +1,4 @@ +--- +category: minorAnalysis +--- +* Added taint-steps for `String.prototype.toWellFormed`. From d828941b7c026df222df78f02832b44e9613bad3 Mon Sep 17 00:00:00 2001 From: Geoffrey White <40627776+geoffw0@users.noreply.github.com> Date: Wed, 20 Nov 2024 22:37:46 +0000 Subject: [PATCH 331/347] Rust: Address review comments. --- rust/ql/src/queries/security/CWE-089/SqlInjection.ql | 3 --- rust/ql/src/queries/security/CWE-089/SqlInjectionBad.rs | 2 +- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/rust/ql/src/queries/security/CWE-089/SqlInjection.ql b/rust/ql/src/queries/security/CWE-089/SqlInjection.ql index c8db4569e599..cf1ea5534aa6 100644 --- a/rust/ql/src/queries/security/CWE-089/SqlInjection.ql +++ b/rust/ql/src/queries/security/CWE-089/SqlInjection.ql @@ -27,9 +27,6 @@ module SqlInjectionConfig implements DataFlow::ConfigSig { predicate isBarrier(DataFlow::Node barrier) { barrier instanceof SqlInjection::Barrier } } -/** - * Detect taint flow of tainted data that reaches a SQL sink. - */ module SqlInjectionFlow = TaintTracking::Global; from SqlInjectionFlow::PathNode sourceNode, SqlInjectionFlow::PathNode sinkNode diff --git a/rust/ql/src/queries/security/CWE-089/SqlInjectionBad.rs b/rust/ql/src/queries/security/CWE-089/SqlInjectionBad.rs index cd0086b7eb27..4184399a4f18 100644 --- a/rust/ql/src/queries/security/CWE-089/SqlInjectionBad.rs +++ b/rust/ql/src/queries/security/CWE-089/SqlInjectionBad.rs @@ -4,4 +4,4 @@ let unsafe_query = format!("SELECT * FROM people WHERE firstname='{remote_contro let _ = conn.execute(unsafe_query.as_str()).await?; // BAD (arbitrary SQL injection is possible) -let _ = sqlx::query(unsafe_query.as_str()).fetch_all(&mut conn).await?; // $ BAD (arbitrary SQL injection is possible) +let _ = sqlx::query(unsafe_query.as_str()).fetch_all(&mut conn).await?; // BAD (arbitrary SQL injection is possible) From f25c16245c1ac0d52578b3549d91f9b8d8917c99 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 21 Nov 2024 00:21:44 +0000 Subject: [PATCH 332/347] Add changed framework coverage reports --- .../library-coverage/coverage.csv | 262 ++++++++++-------- .../library-coverage/coverage.rst | 22 +- 2 files changed, 152 insertions(+), 132 deletions(-) diff --git a/go/documentation/library-coverage/coverage.csv b/go/documentation/library-coverage/coverage.csv index 547f0aa79ace..21127e396a22 100644 --- a/go/documentation/library-coverage/coverage.csv +++ b/go/documentation/library-coverage/coverage.csv @@ -1,121 +1,141 @@ -package,sink,source,summary,sink:command-injection,sink:credentials-key,sink:jwt,sink:path-injection,sink:regex-use[0],sink:regex-use[1],sink:regex-use[c],sink:request-forgery,sink:request-forgery[TCP Addr + Port],sink:url-redirection,sink:url-redirection[0],sink:url-redirection[receiver],sink:xpath-injection,source:environment,source:file,source:remote,source:stdin,summary:taint,summary:value -,,,8,,,,,,,,,,,,,,,,,,3,5 -archive/tar,,,5,,,,,,,,,,,,,,,,,,5, -archive/zip,,,6,,,,,,,,,,,,,,,,,,6, -bufio,,,17,,,,,,,,,,,,,,,,,,17, -bytes,,,43,,,,,,,,,,,,,,,,,,43, -clevergo.tech/clevergo,1,,,,,,,,,,,,,,1,,,,,,, -compress/bzip2,,,1,,,,,,,,,,,,,,,,,,1, -compress/flate,,,4,,,,,,,,,,,,,,,,,,4, -compress/gzip,,,3,,,,,,,,,,,,,,,,,,3, -compress/lzw,,,1,,,,,,,,,,,,,,,,,,1, -compress/zlib,,,4,,,,,,,,,,,,,,,,,,4, -container/heap,,,5,,,,,,,,,,,,,,,,,,5, -container/list,,,20,,,,,,,,,,,,,,,,,,20, -container/ring,,,5,,,,,,,,,,,,,,,,,,5, -context,,,5,,,,,,,,,,,,,,,,,,5, -crypto,,,10,,,,,,,,,,,,,,,,,,10, -database/sql,,,11,,,,,,,,,,,,,,,,,,11, -encoding,,,77,,,,,,,,,,,,,,,,,,77, -errors,,,3,,,,,,,,,,,,,,,,,,3, -expvar,,,6,,,,,,,,,,,,,,,,,,6, -fmt,,,16,,,,,,,,,,,,,,,,,,16, -github.com/ChrisTrenkamp/goxpath,3,,,,,,,,,,,,,,,3,,,,,, -github.com/antchfx/htmlquery,4,,,,,,,,,,,,,,,4,,,,,, -github.com/antchfx/jsonquery,4,,,,,,,,,,,,,,,4,,,,,, -github.com/antchfx/xmlquery,8,,,,,,,,,,,,,,,8,,,,,, -github.com/antchfx/xpath,4,,,,,,,,,,,,,,,4,,,,,, -github.com/appleboy/gin-jwt,1,,,,1,,,,,,,,,,,,,,,,, -github.com/astaxie/beego,7,21,21,,,,5,,,,,,2,,,,,,21,,21, -github.com/beego/beego,14,42,42,,,,10,,,,,,4,,,,,,42,,42, -github.com/caarlos0/env,,5,2,,,,,,,,,,,,,,5,,,,1,1 -github.com/clevergo/clevergo,1,,,,,,,,,,,,,,1,,,,,,, -github.com/codeskyblue/go-sh,4,,,4,,,,,,,,,,,,,,,,,, -github.com/couchbase/gocb,,,18,,,,,,,,,,,,,,,,,,18, -github.com/couchbaselabs/gocb,,,18,,,,,,,,,,,,,,,,,,18, -github.com/crankycoder/xmlpath,2,,,,,,,,,,,,,,,2,,,,,, -github.com/cristalhq/jwt,1,,,,1,,,,,,,,,,,,,,,,, -github.com/dgrijalva/jwt-go,3,,9,,2,1,,,,,,,,,,,,,,,9, -github.com/elazarl/goproxy,,2,2,,,,,,,,,,,,,,,,2,,2, -github.com/emicklei/go-restful,,7,,,,,,,,,,,,,,,,,7,,, -github.com/evanphx/json-patch,,,12,,,,,,,,,,,,,,,,,,12, -github.com/form3tech-oss/jwt-go,2,,,,2,,,,,,,,,,,,,,,,, -github.com/gin-gonic/gin,3,46,2,,,,3,,,,,,,,,,,,46,,2, -github.com/go-chi/chi,,3,,,,,,,,,,,,,,,,,3,,, -github.com/go-chi/jwtauth,1,,,,1,,,,,,,,,,,,,,,,, -github.com/go-jose/go-jose,3,,4,,2,1,,,,,,,,,,,,,,,4, -github.com/go-kit/kit/auth/jwt,1,,,,1,,,,,,,,,,,,,,,,, -github.com/go-pg/pg/orm,,,6,,,,,,,,,,,,,,,,,,6, -github.com/go-xmlpath/xmlpath,2,,,,,,,,,,,,,,,2,,,,,, -github.com/gobuffalo/envy,,7,,,,,,,,,,,,,,,7,,,,, -github.com/gobwas/ws,,2,,,,,,,,,,,,,,,,,2,,, -github.com/gofiber/fiber,5,,,,,,4,,,,,,,,1,,,,,,, -github.com/gogf/gf-jwt,1,,,,1,,,,,,,,,,,,,,,,, -github.com/going/toolkit/xmlpath,2,,,,,,,,,,,,,,,2,,,,,, -github.com/golang-jwt/jwt,3,,11,,2,1,,,,,,,,,,,,,,,11, -github.com/golang/protobuf/proto,,,4,,,,,,,,,,,,,,,,,,4, -github.com/gorilla/mux,,1,,,,,,,,,,,,,,,,,1,,, -github.com/gorilla/websocket,,3,,,,,,,,,,,,,,,,,3,,, -github.com/hashicorp/go-envparse,,1,,,,,,,,,,,,,,,1,,,,, -github.com/jbowtie/gokogiri/xml,4,,,,,,,,,,,,,,,4,,,,,, -github.com/jbowtie/gokogiri/xpath,1,,,,,,,,,,,,,,,1,,,,,, -github.com/joho/godotenv,,4,,,,,,,,,,,,,,,4,,,,, -github.com/json-iterator/go,,,4,,,,,,,,,,,,,,,,,,4, -github.com/kataras/iris/context,6,,,,,,6,,,,,,,,,,,,,,, -github.com/kataras/iris/middleware/jwt,2,,,,2,,,,,,,,,,,,,,,,, -github.com/kataras/iris/server/web/context,6,,,,,,6,,,,,,,,,,,,,,, -github.com/kataras/jwt,5,,,,5,,,,,,,,,,,,,,,,, -github.com/kelseyhightower/envconfig,,6,,,,,,,,,,,,,,,6,,,,, -github.com/labstack/echo,3,12,2,,,,2,,,,,,1,,,,,,12,,2, -github.com/lestrrat-go/jwx,2,,,,2,,,,,,,,,,,,,,,,, -github.com/lestrrat-go/libxml2/parser,3,,,,,,,,,,,,,,,3,,,,,, -github.com/lestrrat/go-jwx/jwk,1,,,,1,,,,,,,,,,,,,,,,, -github.com/masterzen/xmlpath,2,,,,,,,,,,,,,,,2,,,,,, -github.com/moovweb/gokogiri/xml,4,,,,,,,,,,,,,,,4,,,,,, -github.com/moovweb/gokogiri/xpath,1,,,,,,,,,,,,,,,1,,,,,, -github.com/ory/fosite/token/jwt,2,,,,2,,,,,,,,,,,,,,,,, -github.com/revel/revel,2,23,10,,,,1,,,,,,1,,,,,,23,,10, -github.com/robfig/revel,2,23,10,,,,1,,,,,,1,,,,,,23,,10, -github.com/santhosh-tekuri/xpathparser,2,,,,,,,,,,,,,,,2,,,,,, -github.com/sendgrid/sendgrid-go/helpers/mail,,,1,,,,,,,,,,,,,,,,,,1, -github.com/spf13/afero,34,,,,,,34,,,,,,,,,,,,,,, -github.com/square/go-jose,3,,4,,2,1,,,,,,,,,,,,,,,4, -github.com/valyala/fasthttp,35,50,5,,,,8,,,,17,8,2,,,,,,50,,5, -go.uber.org/zap,,,11,,,,,,,,,,,,,,,,,,11, -golang.org/x/crypto/ssh,4,,,4,,,,,,,,,,,,,,,,,, -golang.org/x/net/context,,,5,,,,,,,,,,,,,,,,,,5, -golang.org/x/net/html,,,16,,,,,,,,,,,,,,,,,,16, -golang.org/x/net/websocket,,2,,,,,,,,,,,,,,,,,2,,, -google.golang.org/protobuf/internal/encoding/text,,,1,,,,,,,,,,,,,,,,,,1, -google.golang.org/protobuf/internal/impl,,,2,,,,,,,,,,,,,,,,,,2, -google.golang.org/protobuf/proto,,,8,,,,,,,,,,,,,,,,,,8, -google.golang.org/protobuf/reflect/protoreflect,,,1,,,,,,,,,,,,,,,,,,1, -gopkg.in/couchbase/gocb,,,18,,,,,,,,,,,,,,,,,,18, -gopkg.in/go-jose/go-jose,3,,4,,2,1,,,,,,,,,,,,,,,4, -gopkg.in/go-xmlpath/xmlpath,2,,,,,,,,,,,,,,,2,,,,,, -gopkg.in/macaron,1,12,1,,,,,,,,,,,,1,,,,12,,1, -gopkg.in/square/go-jose,3,,4,,2,1,,,,,,,,,,,,,,,4, -gopkg.in/xmlpath,2,,,,,,,,,,,,,,,2,,,,,, -gopkg.in/yaml,,,9,,,,,,,,,,,,,,,,,,9, -html,,,8,,,,,,,,,,,,,,,,,,8, -io,5,4,34,,,,5,,,,,,,,,,,4,,,34, -k8s.io/api/core,,,10,,,,,,,,,,,,,,,,,,10, -k8s.io/apimachinery/pkg/runtime,,,47,,,,,,,,,,,,,,,,,,47, -launchpad.net/xmlpath,2,,,,,,,,,,,,,,,2,,,,,, -log,,,3,,,,,,,,,,,,,,,,,,3, -math/big,,,1,,,,,,,,,,,,,,,,,,1, -mime,,,14,,,,,,,,,,,,,,,,,,14, -net,2,16,100,,,,1,,,,,,,1,,,,,16,,100, -nhooyr.io/websocket,,2,,,,,,,,,,,,,,,,,2,,, -os,29,11,6,3,,,26,,,,,,,,,,7,3,,1,6, -path,,,18,,,,,,,,,,,,,,,,,,18, -reflect,,,37,,,,,,,,,,,,,,,,,,37, -regexp,10,,20,,,,,3,3,4,,,,,,,,,,,20, -sort,,,1,,,,,,,,,,,,,,,,,,1, -strconv,,,9,,,,,,,,,,,,,,,,,,9, -strings,,,34,,,,,,,,,,,,,,,,,,34, -sync,,,34,,,,,,,,,,,,,,,,,,34, -syscall,5,2,8,5,,,,,,,,,,,,,2,,,,8, -text/scanner,,,3,,,,,,,,,,,,,,,,,,3, -text/tabwriter,,,1,,,,,,,,,,,,,,,,,,1, -text/template,,,6,,,,,,,,,,,,,,,,,,6, +package,sink,source,summary,sink:command-injection,sink:credentials-key,sink:jwt,sink:log-injection,sink:nosql-injection,sink:path-injection,sink:regex-use[0],sink:regex-use[1],sink:regex-use[c],sink:request-forgery,sink:request-forgery[TCP Addr + Port],sink:sql-injection,sink:url-redirection,sink:url-redirection[0],sink:url-redirection[receiver],sink:xpath-injection,source:environment,source:file,source:remote,source:stdin,summary:taint,summary:value +,,,8,,,,,,,,,,,,,,,,,,,,,3,5 +archive/tar,,,5,,,,,,,,,,,,,,,,,,,,,5, +archive/zip,,,6,,,,,,,,,,,,,,,,,,,,,6, +bufio,,,17,,,,,,,,,,,,,,,,,,,,,17, +bytes,,,43,,,,,,,,,,,,,,,,,,,,,43, +clevergo.tech/clevergo,1,,,,,,,,,,,,,,,,,1,,,,,,, +compress/bzip2,,,1,,,,,,,,,,,,,,,,,,,,,1, +compress/flate,,,4,,,,,,,,,,,,,,,,,,,,,4, +compress/gzip,,,3,,,,,,,,,,,,,,,,,,,,,3, +compress/lzw,,,1,,,,,,,,,,,,,,,,,,,,,1, +compress/zlib,,,4,,,,,,,,,,,,,,,,,,,,,4, +container/heap,,,5,,,,,,,,,,,,,,,,,,,,,5, +container/list,,,20,,,,,,,,,,,,,,,,,,,,,20, +container/ring,,,5,,,,,,,,,,,,,,,,,,,,,5, +context,,,5,,,,,,,,,,,,,,,,,,,,,5, +crypto,,,10,,,,,,,,,,,,,,,,,,,,,10, +database/sql,30,,11,,,,,,,,,,,,30,,,,,,,,,11, +encoding,,,77,,,,,,,,,,,,,,,,,,,,,77, +errors,,,3,,,,,,,,,,,,,,,,,,,,,3, +expvar,,,6,,,,,,,,,,,,,,,,,,,,,6, +fmt,3,,16,,,,3,,,,,,,,,,,,,,,,,16, +github.com/ChrisTrenkamp/goxpath,3,,,,,,,,,,,,,,,,,,3,,,,,, +github.com/Masterminds/squirrel,32,,,,,,,,,,,,,,32,,,,,,,,,, +github.com/Sirupsen/logrus,145,,,,,,145,,,,,,,,,,,,,,,,,, +github.com/antchfx/htmlquery,4,,,,,,,,,,,,,,,,,,4,,,,,, +github.com/antchfx/jsonquery,4,,,,,,,,,,,,,,,,,,4,,,,,, +github.com/antchfx/xmlquery,8,,,,,,,,,,,,,,,,,,8,,,,,, +github.com/antchfx/xpath,4,,,,,,,,,,,,,,,,,,4,,,,,, +github.com/appleboy/gin-jwt,1,,,,1,,,,,,,,,,,,,,,,,,,, +github.com/astaxie/beego,71,21,21,,,,34,,5,,,,,,30,2,,,,,,21,,21, +github.com/beego/beego,142,42,42,,,,68,,10,,,,,,60,4,,,,,,42,,42, +github.com/caarlos0/env,,5,2,,,,,,,,,,,,,,,,,5,,,,1,1 +github.com/clevergo/clevergo,1,,,,,,,,,,,,,,,,,1,,,,,,, +github.com/codeskyblue/go-sh,4,,,4,,,,,,,,,,,,,,,,,,,,, +github.com/couchbase/gocb,8,,18,,,,,8,,,,,,,,,,,,,,,,18, +github.com/couchbaselabs/gocb,8,,18,,,,,8,,,,,,,,,,,,,,,,18, +github.com/crankycoder/xmlpath,2,,,,,,,,,,,,,,,,,,2,,,,,, +github.com/cristalhq/jwt,1,,,,1,,,,,,,,,,,,,,,,,,,, +github.com/davecgh/go-spew/spew,9,,,,,,9,,,,,,,,,,,,,,,,,, +github.com/dgrijalva/jwt-go,3,,9,,2,1,,,,,,,,,,,,,,,,,,9, +github.com/elazarl/goproxy,2,2,2,,,,2,,,,,,,,,,,,,,,2,,2, +github.com/emicklei/go-restful,,7,,,,,,,,,,,,,,,,,,,,7,,, +github.com/evanphx/json-patch,,,12,,,,,,,,,,,,,,,,,,,,,12, +github.com/form3tech-oss/jwt-go,2,,,,2,,,,,,,,,,,,,,,,,,,, +github.com/gin-gonic/gin,3,46,2,,,,,,3,,,,,,,,,,,,,46,,2, +github.com/go-chi/chi,,3,,,,,,,,,,,,,,,,,,,,3,,, +github.com/go-chi/jwtauth,1,,,,1,,,,,,,,,,,,,,,,,,,, +github.com/go-gorm/gorm,13,,,,,,,,,,,,,,13,,,,,,,,,, +github.com/go-jose/go-jose,3,,4,,2,1,,,,,,,,,,,,,,,,,,4, +github.com/go-kit/kit/auth/jwt,1,,,,1,,,,,,,,,,,,,,,,,,,, +github.com/go-pg/pg/orm,,,6,,,,,,,,,,,,,,,,,,,,,6, +github.com/go-xmlpath/xmlpath,2,,,,,,,,,,,,,,,,,,2,,,,,, +github.com/go-xorm/xorm,34,,,,,,,,,,,,,,34,,,,,,,,,, +github.com/gobuffalo/envy,,7,,,,,,,,,,,,,,,,,,7,,,,, +github.com/gobwas/ws,,2,,,,,,,,,,,,,,,,,,,,2,,, +github.com/gofiber/fiber,5,,,,,,,,4,,,,,,,,,1,,,,,,, +github.com/gogf/gf-jwt,1,,,,1,,,,,,,,,,,,,,,,,,,, +github.com/gogf/gf/database/gdb,51,,,,,,,,,,,,,,51,,,,,,,,,, +github.com/going/toolkit/xmlpath,2,,,,,,,,,,,,,,,,,,2,,,,,, +github.com/golang-jwt/jwt,3,,11,,2,1,,,,,,,,,,,,,,,,,,11, +github.com/golang/glog,90,,,,,,90,,,,,,,,,,,,,,,,,, +github.com/golang/protobuf/proto,,,4,,,,,,,,,,,,,,,,,,,,,4, +github.com/gorilla/mux,,1,,,,,,,,,,,,,,,,,,,,1,,, +github.com/gorilla/websocket,,3,,,,,,,,,,,,,,,,,,,,3,,, +github.com/hashicorp/go-envparse,,1,,,,,,,,,,,,,,,,,,1,,,,, +github.com/jbowtie/gokogiri/xml,4,,,,,,,,,,,,,,,,,,4,,,,,, +github.com/jbowtie/gokogiri/xpath,1,,,,,,,,,,,,,,,,,,1,,,,,, +github.com/jinzhu/gorm,13,,,,,,,,,,,,,,13,,,,,,,,,, +github.com/jmoiron/sqlx,12,,,,,,,,,,,,,,12,,,,,,,,,, +github.com/joho/godotenv,,4,,,,,,,,,,,,,,,,,,4,,,,, +github.com/json-iterator/go,,,4,,,,,,,,,,,,,,,,,,,,,4, +github.com/kataras/iris/context,6,,,,,,,,6,,,,,,,,,,,,,,,, +github.com/kataras/iris/middleware/jwt,2,,,,2,,,,,,,,,,,,,,,,,,,, +github.com/kataras/iris/server/web/context,6,,,,,,,,6,,,,,,,,,,,,,,,, +github.com/kataras/jwt,5,,,,5,,,,,,,,,,,,,,,,,,,, +github.com/kelseyhightower/envconfig,,6,,,,,,,,,,,,,,,,,,6,,,,, +github.com/labstack/echo,3,12,2,,,,,,2,,,,,,,1,,,,,,12,,2, +github.com/lann/squirrel,32,,,,,,,,,,,,,,32,,,,,,,,,, +github.com/lestrrat-go/jwx,2,,,,2,,,,,,,,,,,,,,,,,,,, +github.com/lestrrat-go/libxml2/parser,3,,,,,,,,,,,,,,,,,,3,,,,,, +github.com/lestrrat/go-jwx/jwk,1,,,,1,,,,,,,,,,,,,,,,,,,, +github.com/masterzen/xmlpath,2,,,,,,,,,,,,,,,,,,2,,,,,, +github.com/moovweb/gokogiri/xml,4,,,,,,,,,,,,,,,,,,4,,,,,, +github.com/moovweb/gokogiri/xpath,1,,,,,,,,,,,,,,,,,,1,,,,,, +github.com/ory/fosite/token/jwt,2,,,,2,,,,,,,,,,,,,,,,,,,, +github.com/raindog308/gorqlite,24,,,,,,,,,,,,,,24,,,,,,,,,, +github.com/revel/revel,2,23,10,,,,,,1,,,,,,,1,,,,,,23,,10, +github.com/robfig/revel,2,23,10,,,,,,1,,,,,,,1,,,,,,23,,10, +github.com/rqlite/gorqlite,24,,,,,,,,,,,,,,24,,,,,,,,,, +github.com/santhosh-tekuri/xpathparser,2,,,,,,,,,,,,,,,,,,2,,,,,, +github.com/sendgrid/sendgrid-go/helpers/mail,,,1,,,,,,,,,,,,,,,,,,,,,1, +github.com/sirupsen/logrus,145,,,,,,145,,,,,,,,,,,,,,,,,, +github.com/spf13/afero,34,,,,,,,,34,,,,,,,,,,,,,,,, +github.com/square/go-jose,3,,4,,2,1,,,,,,,,,,,,,,,,,,4, +github.com/uptrace/bun,63,,,,,,,,,,,,,,63,,,,,,,,,, +github.com/valyala/fasthttp,35,50,5,,,,,,8,,,,17,8,,2,,,,,,50,,5, +go.mongodb.org/mongo-driver/mongo,14,,,,,,,14,,,,,,,,,,,,,,,,, +go.uber.org/zap,33,,11,,,,33,,,,,,,,,,,,,,,,,11, +golang.org/x/crypto/ssh,4,,,4,,,,,,,,,,,,,,,,,,,,, +golang.org/x/net/context,,,5,,,,,,,,,,,,,,,,,,,,,5, +golang.org/x/net/html,,,16,,,,,,,,,,,,,,,,,,,,,16, +golang.org/x/net/websocket,,2,,,,,,,,,,,,,,,,,,,,2,,, +google.golang.org/protobuf/internal/encoding/text,,,1,,,,,,,,,,,,,,,,,,,,,1, +google.golang.org/protobuf/internal/impl,,,2,,,,,,,,,,,,,,,,,,,,,2, +google.golang.org/protobuf/proto,,,8,,,,,,,,,,,,,,,,,,,,,8, +google.golang.org/protobuf/reflect/protoreflect,,,1,,,,,,,,,,,,,,,,,,,,,1, +gopkg.in/Masterminds/squirrel,32,,,,,,,,,,,,,,32,,,,,,,,,, +gopkg.in/couchbase/gocb,8,,18,,,,,8,,,,,,,,,,,,,,,,18, +gopkg.in/glog,90,,,,,,90,,,,,,,,,,,,,,,,,, +gopkg.in/go-jose/go-jose,3,,4,,2,1,,,,,,,,,,,,,,,,,,4, +gopkg.in/go-xmlpath/xmlpath,2,,,,,,,,,,,,,,,,,,2,,,,,, +gopkg.in/macaron,1,12,1,,,,,,,,,,,,,,,1,,,,12,,1, +gopkg.in/square/go-jose,3,,4,,2,1,,,,,,,,,,,,,,,,,,4, +gopkg.in/xmlpath,2,,,,,,,,,,,,,,,,,,2,,,,,, +gopkg.in/yaml,,,9,,,,,,,,,,,,,,,,,,,,,9, +gorm.io/gorm,13,,,,,,,,,,,,,,13,,,,,,,,,, +html,,,8,,,,,,,,,,,,,,,,,,,,,8, +io,5,4,34,,,,,,5,,,,,,,,,,,,4,,,34, +k8s.io/api/core,,,10,,,,,,,,,,,,,,,,,,,,,10, +k8s.io/apimachinery/pkg/runtime,,,47,,,,,,,,,,,,,,,,,,,,,47, +k8s.io/klog,90,,,,,,90,,,,,,,,,,,,,,,,,, +launchpad.net/xmlpath,2,,,,,,,,,,,,,,,,,,2,,,,,, +log,20,,3,,,,20,,,,,,,,,,,,,,,,,3, +math/big,,,1,,,,,,,,,,,,,,,,,,,,,1, +mime,,,14,,,,,,,,,,,,,,,,,,,,,14, +net,2,16,100,,,,,,1,,,,,,,,1,,,,,16,,100, +nhooyr.io/websocket,,2,,,,,,,,,,,,,,,,,,,,2,,, +os,29,11,6,3,,,,,26,,,,,,,,,,,7,3,,1,6, +path,,,18,,,,,,,,,,,,,,,,,,,,,18, +reflect,,,37,,,,,,,,,,,,,,,,,,,,,37, +regexp,10,,20,,,,,,,3,3,4,,,,,,,,,,,,20, +sort,,,1,,,,,,,,,,,,,,,,,,,,,1, +strconv,,,9,,,,,,,,,,,,,,,,,,,,,9, +strings,,,34,,,,,,,,,,,,,,,,,,,,,34, +sync,,,34,,,,,,,,,,,,,,,,,,,,,34, +syscall,5,2,8,5,,,,,,,,,,,,,,,,2,,,,8, +text/scanner,,,3,,,,,,,,,,,,,,,,,,,,,3, +text/tabwriter,,,1,,,,,,,,,,,,,,,,,,,,,1, +text/template,,,6,,,,,,,,,,,,,,,,,,,,,6, +xorm.io/xorm,34,,,,,,,,,,,,,,34,,,,,,,,,, diff --git a/go/documentation/library-coverage/coverage.rst b/go/documentation/library-coverage/coverage.rst index 09c44b8aa809..87ac3e6f1cc2 100644 --- a/go/documentation/library-coverage/coverage.rst +++ b/go/documentation/library-coverage/coverage.rst @@ -9,27 +9,27 @@ Go framework & library support Framework / library,Package,Flow sources,Taint & value steps,Sinks (total) `Afero `_,``github.com/spf13/afero*``,,,34 `CleverGo `_,"``clevergo.tech/clevergo*``, ``github.com/clevergo/clevergo*``",,,2 - `Couchbase official client(gocb) `_,"``github.com/couchbase/gocb*``, ``gopkg.in/couchbase/gocb*``",,36, - `Couchbase unofficial client `_,``github.com/couchbaselabs/gocb*``,,18, + `Couchbase official client(gocb) `_,"``github.com/couchbase/gocb*``, ``gopkg.in/couchbase/gocb*``",,36,16 + `Couchbase unofficial client `_,``github.com/couchbaselabs/gocb*``,,18,8 `Echo `_,``github.com/labstack/echo*``,12,2,3 `Fiber `_,``github.com/gofiber/fiber*``,,,5 `Fosite `_,``github.com/ory/fosite*``,,,2 `Gin `_,``github.com/gin-gonic/gin*``,46,2,3 - `Glog `_,"``github.com/golang/glog*``, ``gopkg.in/glog*``, ``k8s.io/klog*``",,, + `Glog `_,"``github.com/golang/glog*``, ``gopkg.in/glog*``, ``k8s.io/klog*``",,,270 `Go JOSE `_,"``github.com/go-jose/go-jose*``, ``github.com/square/go-jose*``, ``gopkg.in/square/go-jose*``, ``gopkg.in/go-jose/go-jose*``",,16,12 `Go kit `_,``github.com/go-kit/kit*``,,,1 - `Go-spew `_,``github.com/davecgh/go-spew/spew*``,,, + `Go-spew `_,``github.com/davecgh/go-spew/spew*``,,,9 `Gokogiri `_,"``github.com/jbowtie/gokogiri*``, ``github.com/moovweb/gokogiri*``",,,10 `Iris `_,``github.com/kataras/iris*``,,,14 `Kubernetes `_,"``k8s.io/api*``, ``k8s.io/apimachinery*``",,57, - `Logrus `_,"``github.com/Sirupsen/logrus*``, ``github.com/sirupsen/logrus*``",,, + `Logrus `_,"``github.com/Sirupsen/logrus*``, ``github.com/sirupsen/logrus*``",,,290 `Macaron `_,``gopkg.in/macaron*``,12,1,1 `Revel `_,"``github.com/revel/revel*``, ``github.com/robfig/revel*``",46,20,4 `SendGrid `_,``github.com/sendgrid/sendgrid-go*``,,1, - `Standard library `_,"````, ``archive/*``, ``bufio``, ``bytes``, ``cmp``, ``compress/*``, ``container/*``, ``context``, ``crypto``, ``crypto/*``, ``database/*``, ``debug/*``, ``embed``, ``encoding``, ``encoding/*``, ``errors``, ``expvar``, ``flag``, ``fmt``, ``go/*``, ``hash``, ``hash/*``, ``html``, ``html/*``, ``image``, ``image/*``, ``index/*``, ``io``, ``io/*``, ``log``, ``log/*``, ``maps``, ``math``, ``math/*``, ``mime``, ``mime/*``, ``net``, ``net/*``, ``os``, ``os/*``, ``path``, ``path/*``, ``plugin``, ``reflect``, ``reflect/*``, ``regexp``, ``regexp/*``, ``slices``, ``sort``, ``strconv``, ``strings``, ``sync``, ``sync/*``, ``syscall``, ``syscall/*``, ``testing``, ``testing/*``, ``text/*``, ``time``, ``time/*``, ``unicode``, ``unicode/*``, ``unsafe``",33,587,51 + `Standard library `_,"````, ``archive/*``, ``bufio``, ``bytes``, ``cmp``, ``compress/*``, ``container/*``, ``context``, ``crypto``, ``crypto/*``, ``database/*``, ``debug/*``, ``embed``, ``encoding``, ``encoding/*``, ``errors``, ``expvar``, ``flag``, ``fmt``, ``go/*``, ``hash``, ``hash/*``, ``html``, ``html/*``, ``image``, ``image/*``, ``index/*``, ``io``, ``io/*``, ``log``, ``log/*``, ``maps``, ``math``, ``math/*``, ``mime``, ``mime/*``, ``net``, ``net/*``, ``os``, ``os/*``, ``path``, ``path/*``, ``plugin``, ``reflect``, ``reflect/*``, ``regexp``, ``regexp/*``, ``slices``, ``sort``, ``strconv``, ``strings``, ``sync``, ``sync/*``, ``syscall``, ``syscall/*``, ``testing``, ``testing/*``, ``text/*``, ``time``, ``time/*``, ``unicode``, ``unicode/*``, ``unsafe``",33,587,104 `XPath `_,``github.com/antchfx/xpath*``,,,4 `appleboy/gin-jwt `_,``github.com/appleboy/gin-jwt*``,,,1 - `beego `_,"``github.com/astaxie/beego*``, ``github.com/beego/beego*``",63,63,21 + `beego `_,"``github.com/astaxie/beego*``, ``github.com/beego/beego*``",63,63,213 `chi `_,``github.com/go-chi/chi*``,3,, `cristalhq/jwt `_,``github.com/cristalhq/jwt*``,,,1 `fasthttp `_,``github.com/valyala/fasthttp*``,50,5,35 @@ -39,7 +39,7 @@ Go framework & library support `go-sh `_,``github.com/codeskyblue/go-sh*``,,,4 `golang.org/x/crypto/ssh `_,``golang.org/x/crypto/ssh*``,,,4 `golang.org/x/net `_,``golang.org/x/net*``,2,21, - `goproxy `_,``github.com/elazarl/goproxy*``,2,2, + `goproxy `_,``github.com/elazarl/goproxy*``,2,2,2 `gorilla/mux `_,``github.com/gorilla/mux*``,1,, `gorilla/websocket `_,``github.com/gorilla/websocket*``,3,, `goxpath `_,``github.com/ChrisTrenkamp/goxpath*``,,,3 @@ -59,7 +59,7 @@ Go framework & library support `xmlquery `_,``github.com/antchfx/xmlquery*``,,,8 `xpathparser `_,``github.com/santhosh-tekuri/xpathparser*``,,,2 `yaml `_,``gopkg.in/yaml*``,,9, - `zap `_,``go.uber.org/zap*``,,11, - Others,"``github.com/caarlos0/env``, ``github.com/gobuffalo/envy``, ``github.com/hashicorp/go-envparse``, ``github.com/joho/godotenv``, ``github.com/kelseyhightower/envconfig``",23,2, - Totals,,307,911,268 + `zap `_,``go.uber.org/zap*``,,11,33 + Others,"``github.com/Masterminds/squirrel``, ``github.com/caarlos0/env``, ``github.com/go-gorm/gorm``, ``github.com/go-xorm/xorm``, ``github.com/gobuffalo/envy``, ``github.com/gogf/gf/database/gdb``, ``github.com/hashicorp/go-envparse``, ``github.com/jinzhu/gorm``, ``github.com/jmoiron/sqlx``, ``github.com/joho/godotenv``, ``github.com/kelseyhightower/envconfig``, ``github.com/lann/squirrel``, ``github.com/raindog308/gorqlite``, ``github.com/rqlite/gorqlite``, ``github.com/uptrace/bun``, ``go.mongodb.org/mongo-driver/mongo``, ``gopkg.in/Masterminds/squirrel``, ``gorm.io/gorm``, ``xorm.io/xorm``",23,2,391 + Totals,,307,911,1532 From d6ceb893249552921e53ad71382fe33eca7f0000 Mon Sep 17 00:00:00 2001 From: ewillonermsft <129988051+ewillonermsft@users.noreply.github.com> Date: Wed, 20 Nov 2024 21:01:20 -0800 Subject: [PATCH 333/347] Add Deserialize() and Deserialize to System.Web.Serialization stub.s --- csharp/ql/test/resources/stubs/System.Web.cs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/csharp/ql/test/resources/stubs/System.Web.cs b/csharp/ql/test/resources/stubs/System.Web.cs index d876a83e318f..d1942c07dc1d 100644 --- a/csharp/ql/test/resources/stubs/System.Web.cs +++ b/csharp/ql/test/resources/stubs/System.Web.cs @@ -390,6 +390,8 @@ public class JavaScriptSerializer public JavaScriptSerializer() => throw null; public JavaScriptSerializer(System.Web.Script.Serialization.JavaScriptTypeResolver resolver) => throw null; public object DeserializeObject(string input) => throw null; + public T Deserialize (string input) => throw null; + public object Deserialize(string input, Type targetType) => throw null; } // Generated from `System.Web.Script.Serialization.JavaScriptTypeResolver` in `System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35` From fab29361cb371356a4d4a61fffb83f7e066e454f Mon Sep 17 00:00:00 2001 From: Tom Hvitved Date: Tue, 19 Nov 2024 14:55:19 +0100 Subject: [PATCH 334/347] Rust: Add more CFG tests --- .../library-tests/controlflow/Cfg.expected | 962 +++++++++--------- .../ql/test/library-tests/controlflow/test.rs | 7 + 2 files changed, 496 insertions(+), 473 deletions(-) diff --git a/rust/ql/test/library-tests/controlflow/Cfg.expected b/rust/ql/test/library-tests/controlflow/Cfg.expected index 8fd71a451b86..93022fe371d4 100644 --- a/rust/ql/test/library-tests/controlflow/Cfg.expected +++ b/rust/ql/test/library-tests/controlflow/Cfg.expected @@ -608,476 +608,492 @@ edges | test.rs:278:9:278:19 | ... && ... | test.rs:277:33:279:5 | BlockExpr | | | test.rs:278:9:278:20 | ExprStmt | test.rs:278:9:278:9 | a | | | test.rs:278:14:278:19 | ReturnExpr | test.rs:277:5:279:5 | exit test_and_return (normal) | return | -| test.rs:285:5:287:5 | enter test_question_mark_operator_1 | test.rs:285:38:285:38 | s | | -| test.rs:285:5:287:5 | exit test_question_mark_operator_1 (normal) | test.rs:285:5:287:5 | exit test_question_mark_operator_1 | | -| test.rs:285:38:285:38 | s | test.rs:285:38:285:44 | Param | match | -| test.rs:285:38:285:44 | Param | test.rs:286:9:286:10 | Ok | | -| test.rs:285:87:287:5 | BlockExpr | test.rs:285:5:287:5 | exit test_question_mark_operator_1 (normal) | | -| test.rs:286:9:286:10 | Ok | test.rs:286:12:286:12 | s | | -| test.rs:286:9:286:33 | CallExpr | test.rs:285:87:287:5 | BlockExpr | | -| test.rs:286:12:286:12 | s | test.rs:286:12:286:27 | ... .parse(...) | | -| test.rs:286:12:286:27 | ... .parse(...) | test.rs:286:12:286:28 | TryExpr | | -| test.rs:286:12:286:28 | TryExpr | test.rs:285:5:287:5 | exit test_question_mark_operator_1 (normal) | return | -| test.rs:286:12:286:28 | TryExpr | test.rs:286:32:286:32 | 4 | match | -| test.rs:286:12:286:32 | ... + ... | test.rs:286:9:286:33 | CallExpr | | -| test.rs:286:32:286:32 | 4 | test.rs:286:12:286:32 | ... + ... | | -| test.rs:289:5:294:5 | enter test_question_mark_operator_2 | test.rs:289:38:289:38 | b | | -| test.rs:289:5:294:5 | exit test_question_mark_operator_2 (normal) | test.rs:289:5:294:5 | exit test_question_mark_operator_2 | | -| test.rs:289:38:289:38 | b | test.rs:289:38:289:52 | Param | match | -| test.rs:289:38:289:52 | Param | test.rs:290:15:290:15 | b | | -| test.rs:289:71:294:5 | BlockExpr | test.rs:289:5:294:5 | exit test_question_mark_operator_2 (normal) | | -| test.rs:290:9:293:9 | MatchExpr | test.rs:289:71:294:5 | BlockExpr | | -| test.rs:290:15:290:15 | b | test.rs:290:15:290:16 | TryExpr | | -| test.rs:290:15:290:16 | TryExpr | test.rs:289:5:294:5 | exit test_question_mark_operator_2 (normal) | return | -| test.rs:290:15:290:16 | TryExpr | test.rs:291:13:291:16 | true | match | -| test.rs:291:13:291:16 | LiteralPat | test.rs:291:21:291:24 | Some | match | -| test.rs:291:13:291:16 | LiteralPat | test.rs:292:13:292:17 | false | no-match | -| test.rs:291:13:291:16 | true | test.rs:291:13:291:16 | LiteralPat | | -| test.rs:291:21:291:24 | Some | test.rs:291:26:291:30 | false | | -| test.rs:291:21:291:31 | CallExpr | test.rs:290:9:293:9 | MatchExpr | | -| test.rs:291:26:291:30 | false | test.rs:291:21:291:31 | CallExpr | | -| test.rs:292:13:292:17 | LiteralPat | test.rs:292:22:292:25 | Some | match | -| test.rs:292:13:292:17 | false | test.rs:292:13:292:17 | LiteralPat | | -| test.rs:292:22:292:25 | Some | test.rs:292:27:292:30 | true | | -| test.rs:292:22:292:31 | CallExpr | test.rs:290:9:293:9 | MatchExpr | | -| test.rs:292:27:292:30 | true | test.rs:292:22:292:31 | CallExpr | | -| test.rs:300:5:306:5 | enter test_match | test.rs:300:19:300:29 | maybe_digit | | -| test.rs:300:5:306:5 | exit test_match (normal) | test.rs:300:5:306:5 | exit test_match | | -| test.rs:300:19:300:29 | maybe_digit | test.rs:300:19:300:42 | Param | match | -| test.rs:300:19:300:42 | Param | test.rs:301:15:301:25 | maybe_digit | | -| test.rs:300:52:306:5 | BlockExpr | test.rs:300:5:306:5 | exit test_match (normal) | | -| test.rs:301:9:305:9 | MatchExpr | test.rs:300:52:306:5 | BlockExpr | | -| test.rs:301:15:301:25 | maybe_digit | test.rs:302:13:302:27 | TupleStructPat | | -| test.rs:302:13:302:27 | TupleStructPat | test.rs:302:26:302:26 | x | match | -| test.rs:302:13:302:27 | TupleStructPat | test.rs:303:13:303:27 | TupleStructPat | no-match | -| test.rs:302:26:302:26 | x | test.rs:302:32:302:32 | x | match | -| test.rs:302:32:302:32 | x | test.rs:302:36:302:37 | 10 | | -| test.rs:302:32:302:37 | ... < ... | test.rs:302:42:302:42 | x | true | -| test.rs:302:32:302:37 | ... < ... | test.rs:303:13:303:27 | TupleStructPat | false | -| test.rs:302:36:302:37 | 10 | test.rs:302:32:302:37 | ... < ... | | -| test.rs:302:42:302:42 | x | test.rs:302:46:302:46 | 5 | | -| test.rs:302:42:302:46 | ... + ... | test.rs:301:9:305:9 | MatchExpr | | -| test.rs:302:46:302:46 | 5 | test.rs:302:42:302:46 | ... + ... | | -| test.rs:303:13:303:27 | TupleStructPat | test.rs:303:26:303:26 | x | match | -| test.rs:303:13:303:27 | TupleStructPat | test.rs:304:13:304:24 | PathPat | no-match | -| test.rs:303:26:303:26 | x | test.rs:303:32:303:32 | x | match | -| test.rs:303:32:303:32 | x | test.rs:301:9:305:9 | MatchExpr | | -| test.rs:304:13:304:24 | PathPat | test.rs:304:29:304:29 | 5 | match | -| test.rs:304:29:304:29 | 5 | test.rs:301:9:305:9 | MatchExpr | | -| test.rs:308:5:317:5 | enter test_match_with_return_in_scrutinee | test.rs:308:44:308:54 | maybe_digit | | -| test.rs:308:5:317:5 | exit test_match_with_return_in_scrutinee (normal) | test.rs:308:5:317:5 | exit test_match_with_return_in_scrutinee | | -| test.rs:308:44:308:54 | maybe_digit | test.rs:308:44:308:67 | Param | match | -| test.rs:308:44:308:67 | Param | test.rs:309:19:309:29 | maybe_digit | | -| test.rs:308:77:317:5 | BlockExpr | test.rs:308:5:317:5 | exit test_match_with_return_in_scrutinee (normal) | | -| test.rs:309:9:316:9 | MatchExpr | test.rs:308:77:317:5 | BlockExpr | | -| test.rs:309:16:313:9 | IfExpr | test.rs:314:13:314:27 | TupleStructPat | | -| test.rs:309:19:309:29 | maybe_digit | test.rs:309:34:309:37 | Some | | -| test.rs:309:19:309:40 | ... == ... | test.rs:310:13:310:21 | ExprStmt | true | -| test.rs:309:19:309:40 | ... == ... | test.rs:312:13:312:23 | maybe_digit | false | -| test.rs:309:34:309:37 | Some | test.rs:309:39:309:39 | 3 | | -| test.rs:309:34:309:40 | CallExpr | test.rs:309:19:309:40 | ... == ... | | -| test.rs:309:39:309:39 | 3 | test.rs:309:34:309:40 | CallExpr | | -| test.rs:310:13:310:20 | ReturnExpr | test.rs:308:5:317:5 | exit test_match_with_return_in_scrutinee (normal) | return | -| test.rs:310:13:310:21 | ExprStmt | test.rs:310:20:310:20 | 3 | | -| test.rs:310:20:310:20 | 3 | test.rs:310:13:310:20 | ReturnExpr | | -| test.rs:311:16:313:9 | BlockExpr | test.rs:309:16:313:9 | IfExpr | | -| test.rs:312:13:312:23 | maybe_digit | test.rs:311:16:313:9 | BlockExpr | | -| test.rs:314:13:314:27 | TupleStructPat | test.rs:314:26:314:26 | x | match | -| test.rs:314:13:314:27 | TupleStructPat | test.rs:315:13:315:24 | PathPat | no-match | -| test.rs:314:26:314:26 | x | test.rs:314:32:314:32 | x | match | -| test.rs:314:32:314:32 | x | test.rs:314:36:314:36 | 5 | | -| test.rs:314:32:314:36 | ... + ... | test.rs:309:9:316:9 | MatchExpr | | -| test.rs:314:36:314:36 | 5 | test.rs:314:32:314:36 | ... + ... | | -| test.rs:315:13:315:24 | PathPat | test.rs:315:29:315:29 | 5 | match | -| test.rs:315:29:315:29 | 5 | test.rs:309:9:316:9 | MatchExpr | | -| test.rs:319:5:324:5 | enter test_match_and | test.rs:319:23:319:26 | cond | | -| test.rs:319:5:324:5 | exit test_match_and (normal) | test.rs:319:5:324:5 | exit test_match_and | | -| test.rs:319:23:319:26 | cond | test.rs:319:23:319:32 | Param | match | -| test.rs:319:23:319:32 | Param | test.rs:319:35:319:35 | r | | -| test.rs:319:35:319:35 | r | test.rs:319:35:319:49 | Param | match | -| test.rs:319:35:319:49 | Param | test.rs:320:16:320:16 | r | | -| test.rs:319:60:324:5 | BlockExpr | test.rs:319:5:324:5 | exit test_match_and (normal) | | -| test.rs:320:9:323:18 | ... && ... | test.rs:319:60:324:5 | BlockExpr | | -| test.rs:320:10:323:9 | [boolean(false)] MatchExpr | test.rs:320:9:323:18 | ... && ... | false | -| test.rs:320:10:323:9 | [boolean(true)] MatchExpr | test.rs:323:15:323:18 | cond | true | -| test.rs:320:16:320:16 | r | test.rs:321:13:321:19 | TupleStructPat | | -| test.rs:321:13:321:19 | TupleStructPat | test.rs:321:18:321:18 | a | match | -| test.rs:321:13:321:19 | TupleStructPat | test.rs:322:13:322:13 | WildcardPat | no-match | -| test.rs:321:18:321:18 | a | test.rs:321:24:321:24 | a | match | -| test.rs:321:24:321:24 | a | test.rs:320:10:323:9 | [boolean(false)] MatchExpr | false | -| test.rs:321:24:321:24 | a | test.rs:320:10:323:9 | [boolean(true)] MatchExpr | true | -| test.rs:322:13:322:13 | WildcardPat | test.rs:322:18:322:22 | false | match | -| test.rs:322:18:322:22 | false | test.rs:320:10:323:9 | [boolean(false)] MatchExpr | false | -| test.rs:323:15:323:18 | cond | test.rs:320:9:323:18 | ... && ... | | -| test.rs:326:5:331:5 | enter test_match_with_no_arms | test.rs:326:35:326:35 | r | | -| test.rs:326:5:331:5 | exit test_match_with_no_arms (normal) | test.rs:326:5:331:5 | exit test_match_with_no_arms | | -| test.rs:326:35:326:35 | r | test.rs:326:35:326:58 | Param | match | -| test.rs:326:35:326:58 | Param | test.rs:327:15:327:15 | r | | -| test.rs:326:66:331:5 | BlockExpr | test.rs:326:5:331:5 | exit test_match_with_no_arms (normal) | | -| test.rs:327:9:330:9 | MatchExpr | test.rs:326:66:331:5 | BlockExpr | | -| test.rs:327:15:327:15 | r | test.rs:328:13:328:21 | TupleStructPat | | -| test.rs:328:13:328:21 | TupleStructPat | test.rs:328:16:328:20 | value | match | -| test.rs:328:13:328:21 | TupleStructPat | test.rs:329:13:329:22 | TupleStructPat | no-match | -| test.rs:328:16:328:20 | value | test.rs:328:26:328:30 | value | match | -| test.rs:328:26:328:30 | value | test.rs:327:9:330:9 | MatchExpr | | -| test.rs:329:13:329:22 | TupleStructPat | test.rs:329:17:329:21 | never | match | -| test.rs:329:17:329:21 | never | test.rs:329:33:329:37 | never | match | -| test.rs:329:27:329:40 | MatchExpr | test.rs:327:9:330:9 | MatchExpr | | -| test.rs:329:33:329:37 | never | test.rs:329:27:329:40 | MatchExpr | | -| test.rs:336:5:339:5 | enter test_let_match | test.rs:336:23:336:23 | a | | -| test.rs:336:5:339:5 | exit test_let_match (normal) | test.rs:336:5:339:5 | exit test_let_match | | -| test.rs:336:23:336:23 | a | test.rs:336:23:336:36 | Param | match | -| test.rs:336:23:336:36 | Param | test.rs:337:9:337:57 | LetStmt | | -| test.rs:336:46:339:5 | BlockExpr | test.rs:336:5:339:5 | exit test_let_match (normal) | | -| test.rs:337:9:337:57 | LetStmt | test.rs:337:23:337:23 | a | | -| test.rs:337:13:337:19 | TupleStructPat | test.rs:337:18:337:18 | n | match | -| test.rs:337:13:337:19 | TupleStructPat | test.rs:337:39:337:53 | MacroStmts | no-match | -| test.rs:337:18:337:18 | n | test.rs:338:9:338:9 | n | match | -| test.rs:337:23:337:23 | a | test.rs:337:13:337:19 | TupleStructPat | | -| test.rs:337:32:337:54 | $crate::panicking::panic_fmt | test.rs:337:39:337:53 | "Expected some" | | -| test.rs:337:32:337:54 | MacroExpr | test.rs:337:30:337:56 | BlockExpr | | -| test.rs:337:39:337:53 | "Expected some" | test.rs:337:39:337:53 | FormatArgsExpr | | -| test.rs:337:39:337:53 | BlockExpr | test.rs:337:39:337:53 | MacroExpr | | -| test.rs:337:39:337:53 | CallExpr | test.rs:337:39:337:53 | BlockExpr | | -| test.rs:337:39:337:53 | ExprStmt | test.rs:337:32:337:54 | $crate::panicking::panic_fmt | | -| test.rs:337:39:337:53 | FormatArgsExpr | test.rs:337:39:337:53 | MacroExpr | | -| test.rs:337:39:337:53 | MacroExpr | test.rs:337:32:337:54 | MacroExpr | | -| test.rs:337:39:337:53 | MacroExpr | test.rs:337:39:337:53 | CallExpr | | -| test.rs:337:39:337:53 | MacroStmts | test.rs:337:39:337:53 | ExprStmt | | -| test.rs:337:39:337:53 | MacroStmts | test.rs:337:39:337:53 | MacroStmts | | -| test.rs:338:9:338:9 | n | test.rs:336:46:339:5 | BlockExpr | | -| test.rs:341:5:347:5 | enter test_let_with_return | test.rs:341:29:341:29 | m | | -| test.rs:341:5:347:5 | exit test_let_with_return (normal) | test.rs:341:5:347:5 | exit test_let_with_return | | -| test.rs:341:29:341:29 | m | test.rs:341:29:341:42 | Param | match | -| test.rs:341:29:341:42 | Param | test.rs:342:9:345:10 | LetStmt | | -| test.rs:341:53:347:5 | BlockExpr | test.rs:341:5:347:5 | exit test_let_with_return (normal) | | -| test.rs:342:9:345:10 | LetStmt | test.rs:342:25:342:25 | m | | -| test.rs:342:13:342:15 | ret | test.rs:346:9:346:12 | true | match | -| test.rs:342:19:345:9 | MatchExpr | test.rs:342:13:342:15 | ret | | -| test.rs:342:25:342:25 | m | test.rs:343:13:343:21 | TupleStructPat | | -| test.rs:343:13:343:21 | TupleStructPat | test.rs:343:18:343:20 | ret | match | -| test.rs:343:13:343:21 | TupleStructPat | test.rs:344:13:344:16 | None | no-match | -| test.rs:343:18:343:20 | ret | test.rs:343:26:343:28 | ret | match | -| test.rs:343:26:343:28 | ret | test.rs:342:19:345:9 | MatchExpr | | -| test.rs:344:13:344:16 | None | test.rs:344:28:344:32 | false | match | -| test.rs:344:21:344:32 | ReturnExpr | test.rs:341:5:347:5 | exit test_let_with_return (normal) | return | -| test.rs:344:28:344:32 | false | test.rs:344:21:344:32 | ReturnExpr | | -| test.rs:346:9:346:12 | true | test.rs:341:53:347:5 | BlockExpr | | -| test.rs:352:5:355:5 | enter empty_tuple_pattern | test.rs:352:28:352:31 | unit | | -| test.rs:352:5:355:5 | exit empty_tuple_pattern (normal) | test.rs:352:5:355:5 | exit empty_tuple_pattern | | -| test.rs:352:28:352:31 | unit | test.rs:352:28:352:35 | Param | match | -| test.rs:352:28:352:35 | Param | test.rs:353:9:353:22 | LetStmt | | -| test.rs:353:9:353:22 | LetStmt | test.rs:353:18:353:21 | unit | | -| test.rs:353:13:353:14 | TuplePat | test.rs:354:9:354:15 | ExprStmt | match | -| test.rs:353:18:353:21 | unit | test.rs:353:13:353:14 | TuplePat | | -| test.rs:354:9:354:14 | ReturnExpr | test.rs:352:5:355:5 | exit empty_tuple_pattern (normal) | return | -| test.rs:354:9:354:15 | ExprStmt | test.rs:354:9:354:14 | ReturnExpr | | -| test.rs:359:5:363:5 | enter empty_struct_pattern | test.rs:359:29:359:30 | st | | -| test.rs:359:5:363:5 | exit empty_struct_pattern (normal) | test.rs:359:5:363:5 | exit empty_struct_pattern | | -| test.rs:359:29:359:30 | st | test.rs:359:29:359:40 | Param | match | -| test.rs:359:29:359:40 | Param | test.rs:360:15:360:16 | st | | -| test.rs:359:50:363:5 | BlockExpr | test.rs:359:5:363:5 | exit empty_struct_pattern (normal) | | -| test.rs:360:9:362:9 | MatchExpr | test.rs:359:50:363:5 | BlockExpr | | -| test.rs:360:15:360:16 | st | test.rs:361:13:361:27 | RecordPat | | -| test.rs:361:13:361:27 | RecordPat | test.rs:361:24:361:25 | RestPat | match | -| test.rs:361:24:361:25 | RestPat | test.rs:361:32:361:32 | 1 | match | -| test.rs:361:32:361:32 | 1 | test.rs:360:9:362:9 | MatchExpr | | -| test.rs:365:5:372:5 | enter range_pattern | test.rs:366:15:366:16 | 42 | | -| test.rs:365:5:372:5 | exit range_pattern (normal) | test.rs:365:5:372:5 | exit range_pattern | | -| test.rs:365:31:372:5 | BlockExpr | test.rs:365:5:372:5 | exit range_pattern (normal) | | -| test.rs:366:9:371:9 | MatchExpr | test.rs:365:31:372:5 | BlockExpr | | -| test.rs:366:15:366:16 | 42 | test.rs:367:13:367:15 | RangePat | | -| test.rs:367:13:367:15 | RangePat | test.rs:367:15:367:15 | 0 | match | -| test.rs:367:13:367:15 | RangePat | test.rs:368:13:368:16 | RangePat | no-match | -| test.rs:367:15:367:15 | 0 | test.rs:367:15:367:15 | LiteralPat | | -| test.rs:367:15:367:15 | LiteralPat | test.rs:367:20:367:20 | 1 | match | -| test.rs:367:15:367:15 | LiteralPat | test.rs:368:13:368:16 | RangePat | no-match | -| test.rs:367:20:367:20 | 1 | test.rs:366:9:371:9 | MatchExpr | | -| test.rs:368:13:368:13 | 1 | test.rs:368:13:368:13 | LiteralPat | | -| test.rs:368:13:368:13 | LiteralPat | test.rs:368:16:368:16 | 2 | match | -| test.rs:368:13:368:13 | LiteralPat | test.rs:369:13:369:15 | RangePat | no-match | -| test.rs:368:13:368:16 | RangePat | test.rs:368:13:368:13 | 1 | match | -| test.rs:368:13:368:16 | RangePat | test.rs:369:13:369:15 | RangePat | no-match | -| test.rs:368:16:368:16 | 2 | test.rs:368:16:368:16 | LiteralPat | | -| test.rs:368:16:368:16 | LiteralPat | test.rs:368:21:368:21 | 2 | match | -| test.rs:368:16:368:16 | LiteralPat | test.rs:369:13:369:15 | RangePat | no-match | -| test.rs:368:21:368:21 | 2 | test.rs:366:9:371:9 | MatchExpr | | -| test.rs:369:13:369:13 | 5 | test.rs:369:13:369:13 | LiteralPat | | -| test.rs:369:13:369:13 | LiteralPat | test.rs:369:20:369:20 | 3 | match | -| test.rs:369:13:369:13 | LiteralPat | test.rs:370:13:370:13 | WildcardPat | no-match | -| test.rs:369:13:369:15 | RangePat | test.rs:369:13:369:13 | 5 | match | -| test.rs:369:13:369:15 | RangePat | test.rs:370:13:370:13 | WildcardPat | no-match | -| test.rs:369:20:369:20 | 3 | test.rs:366:9:371:9 | MatchExpr | | -| test.rs:370:13:370:13 | WildcardPat | test.rs:370:18:370:18 | 4 | match | -| test.rs:370:18:370:18 | 4 | test.rs:366:9:371:9 | MatchExpr | | -| test.rs:376:5:381:5 | enter test_infinite_loop | test.rs:377:9:379:9 | ExprStmt | | -| test.rs:377:9:379:9 | ExprStmt | test.rs:378:13:378:14 | TupleExpr | | -| test.rs:377:14:379:9 | BlockExpr | test.rs:378:13:378:14 | TupleExpr | | -| test.rs:378:13:378:14 | TupleExpr | test.rs:377:14:379:9 | BlockExpr | | -| test.rs:385:5:387:5 | enter say_hello | test.rs:386:9:386:34 | ExprStmt | | -| test.rs:385:5:387:5 | exit say_hello (normal) | test.rs:385:5:387:5 | exit say_hello | | -| test.rs:385:26:387:5 | BlockExpr | test.rs:385:5:387:5 | exit say_hello (normal) | | -| test.rs:386:9:386:33 | $crate::io::_print | test.rs:386:18:386:32 | "hello, world!\\n" | | -| test.rs:386:9:386:33 | MacroExpr | test.rs:385:26:387:5 | BlockExpr | | -| test.rs:386:9:386:34 | ExprStmt | test.rs:386:18:386:32 | MacroStmts | | -| test.rs:386:18:386:32 | "hello, world!\\n" | test.rs:386:18:386:32 | FormatArgsExpr | | -| test.rs:386:18:386:32 | BlockExpr | test.rs:386:9:386:33 | MacroExpr | | -| test.rs:386:18:386:32 | CallExpr | test.rs:386:18:386:32 | BlockExpr | | -| test.rs:386:18:386:32 | ExprStmt | test.rs:386:9:386:33 | $crate::io::_print | | -| test.rs:386:18:386:32 | FormatArgsExpr | test.rs:386:18:386:32 | MacroExpr | | -| test.rs:386:18:386:32 | MacroExpr | test.rs:386:18:386:32 | CallExpr | | -| test.rs:386:18:386:32 | MacroStmts | test.rs:386:18:386:32 | ExprStmt | | -| test.rs:389:5:408:5 | enter async_block | test.rs:389:26:389:26 | b | | -| test.rs:389:5:408:5 | exit async_block (normal) | test.rs:389:5:408:5 | exit async_block | | -| test.rs:389:26:389:26 | b | test.rs:389:26:389:32 | Param | match | -| test.rs:389:26:389:32 | Param | test.rs:390:9:392:10 | LetStmt | | -| test.rs:389:35:408:5 | BlockExpr | test.rs:389:5:408:5 | exit async_block (normal) | | -| test.rs:390:9:392:10 | LetStmt | test.rs:390:26:392:9 | BlockExpr | | -| test.rs:390:13:390:22 | say_godbye | test.rs:393:9:395:10 | LetStmt | match | -| test.rs:390:26:392:9 | BlockExpr | test.rs:390:13:390:22 | say_godbye | | -| test.rs:390:26:392:9 | enter BlockExpr | test.rs:391:13:391:42 | ExprStmt | | -| test.rs:390:26:392:9 | exit BlockExpr (normal) | test.rs:390:26:392:9 | exit BlockExpr | | -| test.rs:391:13:391:41 | $crate::io::_print | test.rs:391:22:391:40 | "godbye, everyone!\\n" | | -| test.rs:391:13:391:41 | MacroExpr | test.rs:390:26:392:9 | exit BlockExpr (normal) | | -| test.rs:391:13:391:42 | ExprStmt | test.rs:391:22:391:40 | MacroStmts | | -| test.rs:391:22:391:40 | "godbye, everyone!\\n" | test.rs:391:22:391:40 | FormatArgsExpr | | -| test.rs:391:22:391:40 | BlockExpr | test.rs:391:13:391:41 | MacroExpr | | -| test.rs:391:22:391:40 | CallExpr | test.rs:391:22:391:40 | BlockExpr | | -| test.rs:391:22:391:40 | ExprStmt | test.rs:391:13:391:41 | $crate::io::_print | | -| test.rs:391:22:391:40 | FormatArgsExpr | test.rs:391:22:391:40 | MacroExpr | | -| test.rs:391:22:391:40 | MacroExpr | test.rs:391:22:391:40 | CallExpr | | -| test.rs:391:22:391:40 | MacroStmts | test.rs:391:22:391:40 | ExprStmt | | -| test.rs:393:9:395:10 | LetStmt | test.rs:393:31:395:9 | BlockExpr | | -| test.rs:393:13:393:27 | say_how_are_you | test.rs:396:9:396:28 | LetStmt | match | -| test.rs:393:31:395:9 | BlockExpr | test.rs:393:13:393:27 | say_how_are_you | | -| test.rs:393:31:395:9 | enter BlockExpr | test.rs:394:13:394:37 | ExprStmt | | -| test.rs:393:31:395:9 | exit BlockExpr (normal) | test.rs:393:31:395:9 | exit BlockExpr | | -| test.rs:394:13:394:36 | $crate::io::_print | test.rs:394:22:394:35 | "how are you?\\n" | | -| test.rs:394:13:394:36 | MacroExpr | test.rs:393:31:395:9 | exit BlockExpr (normal) | | -| test.rs:394:13:394:37 | ExprStmt | test.rs:394:22:394:35 | MacroStmts | | -| test.rs:394:22:394:35 | "how are you?\\n" | test.rs:394:22:394:35 | FormatArgsExpr | | -| test.rs:394:22:394:35 | BlockExpr | test.rs:394:13:394:36 | MacroExpr | | -| test.rs:394:22:394:35 | CallExpr | test.rs:394:22:394:35 | BlockExpr | | -| test.rs:394:22:394:35 | ExprStmt | test.rs:394:13:394:36 | $crate::io::_print | | -| test.rs:394:22:394:35 | FormatArgsExpr | test.rs:394:22:394:35 | MacroExpr | | -| test.rs:394:22:394:35 | MacroExpr | test.rs:394:22:394:35 | CallExpr | | -| test.rs:394:22:394:35 | MacroStmts | test.rs:394:22:394:35 | ExprStmt | | -| test.rs:396:9:396:28 | LetStmt | test.rs:396:20:396:27 | BlockExpr | | -| test.rs:396:13:396:16 | noop | test.rs:397:9:397:26 | ExprStmt | match | -| test.rs:396:20:396:27 | BlockExpr | test.rs:396:13:396:16 | noop | | -| test.rs:397:9:397:17 | say_hello | test.rs:397:9:397:19 | CallExpr | | -| test.rs:397:9:397:19 | CallExpr | test.rs:397:9:397:25 | AwaitExpr | | -| test.rs:397:9:397:25 | AwaitExpr | test.rs:398:9:398:30 | ExprStmt | | -| test.rs:397:9:397:26 | ExprStmt | test.rs:397:9:397:17 | say_hello | | -| test.rs:398:9:398:23 | say_how_are_you | test.rs:398:9:398:29 | AwaitExpr | | -| test.rs:398:9:398:29 | AwaitExpr | test.rs:399:9:399:25 | ExprStmt | | -| test.rs:398:9:398:30 | ExprStmt | test.rs:398:9:398:23 | say_how_are_you | | -| test.rs:399:9:399:18 | say_godbye | test.rs:399:9:399:24 | AwaitExpr | | -| test.rs:399:9:399:24 | AwaitExpr | test.rs:400:9:400:19 | ExprStmt | | -| test.rs:399:9:399:25 | ExprStmt | test.rs:399:9:399:18 | say_godbye | | -| test.rs:400:9:400:12 | noop | test.rs:400:9:400:18 | AwaitExpr | | -| test.rs:400:9:400:18 | AwaitExpr | test.rs:402:9:407:10 | LetStmt | | -| test.rs:400:9:400:19 | ExprStmt | test.rs:400:9:400:12 | noop | | -| test.rs:402:9:407:10 | LetStmt | test.rs:402:22:407:9 | ClosureExpr | | -| test.rs:402:13:402:18 | lambda | test.rs:389:35:408:5 | BlockExpr | match | -| test.rs:402:22:407:9 | ClosureExpr | test.rs:402:13:402:18 | lambda | | -| test.rs:402:22:407:9 | enter ClosureExpr | test.rs:402:23:402:25 | foo | | -| test.rs:402:22:407:9 | exit ClosureExpr (normal) | test.rs:402:22:407:9 | exit ClosureExpr | | -| test.rs:402:23:402:25 | Param | test.rs:402:28:407:9 | BlockExpr | | -| test.rs:402:23:402:25 | foo | test.rs:402:23:402:25 | Param | match | -| test.rs:402:28:407:9 | BlockExpr | test.rs:402:22:407:9 | exit ClosureExpr (normal) | | -| test.rs:402:28:407:9 | enter BlockExpr | test.rs:403:13:405:14 | ExprStmt | | -| test.rs:402:28:407:9 | exit BlockExpr (normal) | test.rs:402:28:407:9 | exit BlockExpr | | -| test.rs:403:13:405:13 | IfExpr | test.rs:406:13:406:15 | foo | | -| test.rs:403:13:405:14 | ExprStmt | test.rs:403:16:403:16 | b | | -| test.rs:403:16:403:16 | b | test.rs:403:13:405:13 | IfExpr | false | -| test.rs:403:16:403:16 | b | test.rs:404:17:404:41 | ExprStmt | true | -| test.rs:404:17:404:40 | ReturnExpr | test.rs:402:28:407:9 | exit BlockExpr (normal) | return | -| test.rs:404:17:404:41 | ExprStmt | test.rs:404:24:404:34 | async_block | | -| test.rs:404:24:404:34 | async_block | test.rs:404:36:404:39 | true | | -| test.rs:404:24:404:40 | CallExpr | test.rs:404:17:404:40 | ReturnExpr | | -| test.rs:404:36:404:39 | true | test.rs:404:24:404:40 | CallExpr | | -| test.rs:406:13:406:15 | foo | test.rs:402:28:407:9 | exit BlockExpr (normal) | | -| test.rs:414:5:416:5 | enter add_two | test.rs:414:22:414:22 | n | | -| test.rs:414:5:416:5 | exit add_two (normal) | test.rs:414:5:416:5 | exit add_two | | -| test.rs:414:22:414:22 | n | test.rs:414:22:414:27 | Param | match | -| test.rs:414:22:414:27 | Param | test.rs:415:9:415:9 | n | | -| test.rs:414:37:416:5 | BlockExpr | test.rs:414:5:416:5 | exit add_two (normal) | | -| test.rs:415:9:415:9 | n | test.rs:415:13:415:13 | 2 | | -| test.rs:415:9:415:13 | ... + ... | test.rs:414:37:416:5 | BlockExpr | | -| test.rs:415:13:415:13 | 2 | test.rs:415:9:415:13 | ... + ... | | -| test.rs:420:5:428:5 | enter const_block_assert | test.rs:423:9:425:9 | ExprStmt | | -| test.rs:420:5:428:5 | exit const_block_assert (normal) | test.rs:420:5:428:5 | exit const_block_assert | | -| test.rs:420:41:428:5 | BlockExpr | test.rs:420:5:428:5 | exit const_block_assert (normal) | | -| test.rs:423:9:425:9 | BlockExpr | test.rs:427:9:427:10 | 42 | | -| test.rs:423:9:425:9 | ExprStmt | test.rs:424:13:424:50 | ExprStmt | | -| test.rs:424:13:424:49 | $crate::panicking::panic_explicit | test.rs:424:13:424:49 | CallExpr | | -| test.rs:424:13:424:49 | BlockExpr | test.rs:424:13:424:49 | MacroExpr | | -| test.rs:424:13:424:49 | BlockExpr | test.rs:424:13:424:49 | exit panic_cold_explicit (normal) | | -| test.rs:424:13:424:49 | BlockExpr | test.rs:424:21:424:48 | IfExpr | | -| test.rs:424:13:424:49 | CallExpr | test.rs:424:13:424:49 | BlockExpr | | -| test.rs:424:13:424:49 | CallExpr | test.rs:424:13:424:49 | BlockExpr | | -| test.rs:424:13:424:49 | ExprStmt | test.rs:424:13:424:49 | MacroStmts | | -| test.rs:424:13:424:49 | ExprStmt | test.rs:424:13:424:49 | panic_cold_explicit | | -| test.rs:424:13:424:49 | MacroExpr | test.rs:423:9:425:9 | BlockExpr | | -| test.rs:424:13:424:49 | MacroExpr | test.rs:424:13:424:49 | BlockExpr | | -| test.rs:424:13:424:49 | MacroStmts | test.rs:424:13:424:49 | panic_cold_explicit | | -| test.rs:424:13:424:49 | enter panic_cold_explicit | test.rs:424:13:424:49 | $crate::panicking::panic_explicit | | -| test.rs:424:13:424:49 | exit panic_cold_explicit (normal) | test.rs:424:13:424:49 | exit panic_cold_explicit | | -| test.rs:424:13:424:49 | panic_cold_explicit | test.rs:424:13:424:49 | CallExpr | | -| test.rs:424:13:424:49 | panic_cold_explicit | test.rs:424:13:424:49 | ExprStmt | | -| test.rs:424:13:424:50 | ExprStmt | test.rs:424:21:424:48 | MacroStmts | | -| test.rs:424:21:424:42 | std::mem::size_of::<...> | test.rs:424:21:424:44 | CallExpr | | -| test.rs:424:21:424:44 | CallExpr | test.rs:424:48:424:48 | 0 | | -| test.rs:424:21:424:48 | ... > ... | test.rs:424:21:424:48 | [boolean(false)] ! ... | true | -| test.rs:424:21:424:48 | ... > ... | test.rs:424:21:424:48 | [boolean(true)] ! ... | false | -| test.rs:424:21:424:48 | BlockExpr | test.rs:424:13:424:49 | MacroExpr | | -| test.rs:424:21:424:48 | IfExpr | test.rs:424:21:424:48 | BlockExpr | | -| test.rs:424:21:424:48 | MacroStmts | test.rs:424:21:424:42 | std::mem::size_of::<...> | | -| test.rs:424:21:424:48 | [boolean(false)] ! ... | test.rs:424:21:424:48 | IfExpr | false | -| test.rs:424:21:424:48 | [boolean(true)] ! ... | test.rs:424:13:424:49 | ExprStmt | true | -| test.rs:424:48:424:48 | 0 | test.rs:424:21:424:48 | ... > ... | | -| test.rs:427:9:427:10 | 42 | test.rs:420:41:428:5 | BlockExpr | | -| test.rs:430:5:439:5 | enter const_block_panic | test.rs:431:9:431:30 | Const | | -| test.rs:430:5:439:5 | exit const_block_panic (normal) | test.rs:430:5:439:5 | exit const_block_panic | | -| test.rs:430:35:439:5 | BlockExpr | test.rs:430:5:439:5 | exit const_block_panic (normal) | | -| test.rs:431:9:431:30 | Const | test.rs:432:9:437:9 | ExprStmt | | -| test.rs:432:9:437:9 | ExprStmt | test.rs:432:12:432:16 | false | | -| test.rs:432:9:437:9 | IfExpr | test.rs:438:9:438:9 | N | | -| test.rs:432:12:432:16 | false | test.rs:432:9:437:9 | IfExpr | false | -| test.rs:435:17:435:24 | $crate::panicking::panic_explicit | test.rs:435:17:435:24 | CallExpr | | -| test.rs:435:17:435:24 | BlockExpr | test.rs:435:17:435:24 | exit panic_cold_explicit (normal) | | -| test.rs:435:17:435:24 | CallExpr | test.rs:435:17:435:24 | BlockExpr | | -| test.rs:435:17:435:24 | enter panic_cold_explicit | test.rs:435:17:435:24 | $crate::panicking::panic_explicit | | -| test.rs:435:17:435:24 | exit panic_cold_explicit (normal) | test.rs:435:17:435:24 | exit panic_cold_explicit | | -| test.rs:438:9:438:9 | N | test.rs:430:35:439:5 | BlockExpr | | -| test.rs:442:1:447:1 | enter dead_code | test.rs:443:5:445:5 | ExprStmt | | -| test.rs:442:1:447:1 | exit dead_code (normal) | test.rs:442:1:447:1 | exit dead_code | | -| test.rs:443:5:445:5 | ExprStmt | test.rs:443:9:443:12 | true | | -| test.rs:443:9:443:12 | true | test.rs:444:9:444:17 | ExprStmt | true | -| test.rs:444:9:444:16 | ReturnExpr | test.rs:442:1:447:1 | exit dead_code (normal) | return | -| test.rs:444:9:444:17 | ExprStmt | test.rs:444:16:444:16 | 0 | | -| test.rs:444:16:444:16 | 0 | test.rs:444:9:444:16 | ReturnExpr | | -| test.rs:449:1:449:16 | enter do_thing | test.rs:449:15:449:16 | BlockExpr | | -| test.rs:449:1:449:16 | exit do_thing (normal) | test.rs:449:1:449:16 | exit do_thing | | -| test.rs:449:15:449:16 | BlockExpr | test.rs:449:1:449:16 | exit do_thing (normal) | | -| test.rs:451:1:453:1 | enter condition_not_met | test.rs:452:5:452:9 | false | | -| test.rs:451:1:453:1 | exit condition_not_met (normal) | test.rs:451:1:453:1 | exit condition_not_met | | -| test.rs:451:32:453:1 | BlockExpr | test.rs:451:1:453:1 | exit condition_not_met (normal) | | -| test.rs:452:5:452:9 | false | test.rs:451:32:453:1 | BlockExpr | | -| test.rs:455:1:455:21 | enter do_next_thing | test.rs:455:20:455:21 | BlockExpr | | -| test.rs:455:1:455:21 | exit do_next_thing (normal) | test.rs:455:1:455:21 | exit do_next_thing | | -| test.rs:455:20:455:21 | BlockExpr | test.rs:455:1:455:21 | exit do_next_thing (normal) | | -| test.rs:457:1:457:21 | enter do_last_thing | test.rs:457:20:457:21 | BlockExpr | | -| test.rs:457:1:457:21 | exit do_last_thing (normal) | test.rs:457:1:457:21 | exit do_last_thing | | -| test.rs:457:20:457:21 | BlockExpr | test.rs:457:1:457:21 | exit do_last_thing (normal) | | -| test.rs:459:1:473:1 | enter labelled_block1 | test.rs:460:5:471:6 | LetStmt | | -| test.rs:459:1:473:1 | exit labelled_block1 (normal) | test.rs:459:1:473:1 | exit labelled_block1 | | -| test.rs:459:29:473:1 | BlockExpr | test.rs:459:1:473:1 | exit labelled_block1 (normal) | | -| test.rs:460:5:471:6 | LetStmt | test.rs:461:9:461:19 | ExprStmt | | -| test.rs:460:9:460:14 | result | test.rs:472:5:472:10 | result | match | -| test.rs:460:18:471:5 | BlockExpr | test.rs:460:9:460:14 | result | | -| test.rs:461:9:461:16 | do_thing | test.rs:461:9:461:18 | CallExpr | | -| test.rs:461:9:461:18 | CallExpr | test.rs:462:9:464:9 | ExprStmt | | -| test.rs:461:9:461:19 | ExprStmt | test.rs:461:9:461:16 | do_thing | | -| test.rs:462:9:464:9 | ExprStmt | test.rs:462:12:462:28 | condition_not_met | | -| test.rs:462:9:464:9 | IfExpr | test.rs:465:9:465:24 | ExprStmt | | -| test.rs:462:12:462:28 | condition_not_met | test.rs:462:12:462:30 | CallExpr | | -| test.rs:462:12:462:30 | CallExpr | test.rs:462:9:464:9 | IfExpr | false | -| test.rs:462:12:462:30 | CallExpr | test.rs:463:13:463:27 | ExprStmt | true | -| test.rs:463:13:463:26 | BreakExpr | test.rs:460:18:471:5 | BlockExpr | break | -| test.rs:463:13:463:27 | ExprStmt | test.rs:463:26:463:26 | 1 | | -| test.rs:463:26:463:26 | 1 | test.rs:463:13:463:26 | BreakExpr | | -| test.rs:465:9:465:21 | do_next_thing | test.rs:465:9:465:23 | CallExpr | | -| test.rs:465:9:465:23 | CallExpr | test.rs:466:9:468:9 | ExprStmt | | -| test.rs:465:9:465:24 | ExprStmt | test.rs:465:9:465:21 | do_next_thing | | -| test.rs:466:9:468:9 | ExprStmt | test.rs:466:12:466:28 | condition_not_met | | -| test.rs:466:9:468:9 | IfExpr | test.rs:469:9:469:24 | ExprStmt | | -| test.rs:466:12:466:28 | condition_not_met | test.rs:466:12:466:30 | CallExpr | | -| test.rs:466:12:466:30 | CallExpr | test.rs:466:9:468:9 | IfExpr | false | -| test.rs:466:12:466:30 | CallExpr | test.rs:467:13:467:27 | ExprStmt | true | -| test.rs:467:13:467:26 | BreakExpr | test.rs:460:18:471:5 | BlockExpr | break | -| test.rs:467:13:467:27 | ExprStmt | test.rs:467:26:467:26 | 2 | | -| test.rs:467:26:467:26 | 2 | test.rs:467:13:467:26 | BreakExpr | | -| test.rs:469:9:469:21 | do_last_thing | test.rs:469:9:469:23 | CallExpr | | -| test.rs:469:9:469:23 | CallExpr | test.rs:470:9:470:9 | 3 | | -| test.rs:469:9:469:24 | ExprStmt | test.rs:469:9:469:21 | do_last_thing | | -| test.rs:470:9:470:9 | 3 | test.rs:460:18:471:5 | BlockExpr | | -| test.rs:472:5:472:10 | result | test.rs:459:29:473:1 | BlockExpr | | -| test.rs:475:1:483:1 | enter labelled_block2 | test.rs:476:5:482:6 | LetStmt | | -| test.rs:475:1:483:1 | exit labelled_block2 (normal) | test.rs:475:1:483:1 | exit labelled_block2 | | -| test.rs:475:22:483:1 | BlockExpr | test.rs:475:1:483:1 | exit labelled_block2 (normal) | | -| test.rs:476:5:482:6 | LetStmt | test.rs:477:9:477:34 | LetStmt | | -| test.rs:476:9:476:14 | result | test.rs:475:22:483:1 | BlockExpr | match | -| test.rs:476:18:482:5 | BlockExpr | test.rs:476:9:476:14 | result | | -| test.rs:477:9:477:34 | LetStmt | test.rs:477:30:477:33 | None | | -| test.rs:477:13:477:13 | x | test.rs:478:9:480:10 | LetStmt | match | -| test.rs:477:30:477:33 | None | test.rs:477:13:477:13 | x | | -| test.rs:478:9:480:10 | LetStmt | test.rs:478:23:478:23 | x | | -| test.rs:478:13:478:19 | TupleStructPat | test.rs:478:18:478:18 | y | match | -| test.rs:478:13:478:19 | TupleStructPat | test.rs:479:13:479:27 | ExprStmt | no-match | -| test.rs:478:18:478:18 | y | test.rs:481:9:481:9 | 0 | match | -| test.rs:478:23:478:23 | x | test.rs:478:13:478:19 | TupleStructPat | | -| test.rs:479:13:479:26 | BreakExpr | test.rs:476:18:482:5 | BlockExpr | break | -| test.rs:479:13:479:27 | ExprStmt | test.rs:479:26:479:26 | 1 | | -| test.rs:479:26:479:26 | 1 | test.rs:479:13:479:26 | BreakExpr | | -| test.rs:481:9:481:9 | 0 | test.rs:476:18:482:5 | BlockExpr | | -| test.rs:485:1:491:1 | enter test_nested_function2 | test.rs:486:5:486:18 | LetStmt | | -| test.rs:485:1:491:1 | exit test_nested_function2 (normal) | test.rs:485:1:491:1 | exit test_nested_function2 | | -| test.rs:485:28:491:1 | BlockExpr | test.rs:485:1:491:1 | exit test_nested_function2 (normal) | | -| test.rs:486:5:486:18 | LetStmt | test.rs:486:17:486:17 | 0 | | -| test.rs:486:9:486:13 | x | test.rs:487:5:489:5 | nested | match | -| test.rs:486:17:486:17 | 0 | test.rs:486:9:486:13 | x | | -| test.rs:487:5:489:5 | enter nested | test.rs:487:15:487:15 | x | | -| test.rs:487:5:489:5 | exit nested (normal) | test.rs:487:5:489:5 | exit nested | | -| test.rs:487:5:489:5 | nested | test.rs:490:5:490:19 | ExprStmt | | -| test.rs:487:15:487:15 | x | test.rs:487:15:487:25 | Param | match | -| test.rs:487:15:487:25 | Param | test.rs:488:9:488:16 | ExprStmt | | -| test.rs:487:28:489:5 | BlockExpr | test.rs:487:5:489:5 | exit nested (normal) | | -| test.rs:488:9:488:10 | * ... | test.rs:488:15:488:15 | 1 | | -| test.rs:488:9:488:15 | ... += ... | test.rs:487:28:489:5 | BlockExpr | | -| test.rs:488:9:488:16 | ExprStmt | test.rs:488:10:488:10 | x | | -| test.rs:488:10:488:10 | x | test.rs:488:9:488:10 | * ... | | -| test.rs:488:15:488:15 | 1 | test.rs:488:9:488:15 | ... += ... | | -| test.rs:490:5:490:10 | nested | test.rs:490:17:490:17 | x | | -| test.rs:490:5:490:18 | CallExpr | test.rs:485:28:491:1 | BlockExpr | | -| test.rs:490:5:490:19 | ExprStmt | test.rs:490:5:490:10 | nested | | -| test.rs:490:12:490:17 | RefExpr | test.rs:490:5:490:18 | CallExpr | | -| test.rs:490:17:490:17 | x | test.rs:490:12:490:17 | RefExpr | | -| test.rs:502:5:504:5 | enter new | test.rs:502:12:502:12 | a | | -| test.rs:502:5:504:5 | exit new (normal) | test.rs:502:5:504:5 | exit new | | -| test.rs:502:12:502:12 | a | test.rs:502:12:502:17 | Param | match | -| test.rs:502:12:502:17 | Param | test.rs:503:23:503:23 | a | | -| test.rs:502:28:504:5 | BlockExpr | test.rs:502:5:504:5 | exit new (normal) | | -| test.rs:503:9:503:25 | RecordExpr | test.rs:502:28:504:5 | BlockExpr | | -| test.rs:503:23:503:23 | a | test.rs:503:9:503:25 | RecordExpr | | -| test.rs:506:5:508:5 | enter negated | test.rs:506:16:506:19 | self | | -| test.rs:506:5:508:5 | exit negated (normal) | test.rs:506:5:508:5 | exit negated | | -| test.rs:506:16:506:19 | SelfParam | test.rs:507:23:507:26 | self | | -| test.rs:506:16:506:19 | self | test.rs:506:16:506:19 | SelfParam | | -| test.rs:506:30:508:5 | BlockExpr | test.rs:506:5:508:5 | exit negated (normal) | | -| test.rs:507:9:507:30 | RecordExpr | test.rs:506:30:508:5 | BlockExpr | | -| test.rs:507:23:507:26 | self | test.rs:507:23:507:28 | FieldExpr | | -| test.rs:507:23:507:28 | FieldExpr | test.rs:507:9:507:30 | RecordExpr | | -| test.rs:510:5:512:5 | enter multifly_add | test.rs:510:26:510:29 | self | | -| test.rs:510:5:512:5 | exit multifly_add (normal) | test.rs:510:5:512:5 | exit multifly_add | | -| test.rs:510:21:510:29 | SelfParam | test.rs:510:32:510:32 | a | | -| test.rs:510:26:510:29 | self | test.rs:510:21:510:29 | SelfParam | | -| test.rs:510:32:510:32 | a | test.rs:510:32:510:37 | Param | match | -| test.rs:510:32:510:37 | Param | test.rs:510:40:510:40 | b | | -| test.rs:510:40:510:40 | b | test.rs:510:40:510:45 | Param | match | -| test.rs:510:40:510:45 | Param | test.rs:511:9:511:34 | ExprStmt | | -| test.rs:510:48:512:5 | BlockExpr | test.rs:510:5:512:5 | exit multifly_add (normal) | | -| test.rs:511:9:511:12 | self | test.rs:511:9:511:14 | FieldExpr | | -| test.rs:511:9:511:14 | FieldExpr | test.rs:511:19:511:22 | self | | -| test.rs:511:9:511:33 | ... = ... | test.rs:510:48:512:5 | BlockExpr | | -| test.rs:511:9:511:34 | ExprStmt | test.rs:511:9:511:12 | self | | -| test.rs:511:18:511:33 | ... + ... | test.rs:511:9:511:33 | ... = ... | | -| test.rs:511:19:511:22 | self | test.rs:511:19:511:24 | FieldExpr | | -| test.rs:511:19:511:24 | FieldExpr | test.rs:511:28:511:28 | a | | -| test.rs:511:19:511:28 | ... * ... | test.rs:511:33:511:33 | b | | -| test.rs:511:28:511:28 | a | test.rs:511:19:511:28 | ... * ... | | -| test.rs:511:33:511:33 | b | test.rs:511:18:511:33 | ... + ... | | +| test.rs:281:5:286:5 | enter test_and_true | test.rs:281:22:281:22 | a | | +| test.rs:281:5:286:5 | exit test_and_true (normal) | test.rs:281:5:286:5 | exit test_and_true | | +| test.rs:281:22:281:22 | a | test.rs:281:22:281:28 | Param | match | +| test.rs:281:22:281:28 | Param | test.rs:282:9:284:9 | ExprStmt | | +| test.rs:281:38:286:5 | BlockExpr | test.rs:281:5:286:5 | exit test_and_true (normal) | | +| test.rs:282:9:284:9 | ExprStmt | test.rs:282:13:282:13 | a | | +| test.rs:282:9:284:9 | IfExpr | test.rs:285:9:285:9 | 0 | | +| test.rs:282:13:282:13 | a | test.rs:282:13:282:21 | [boolean(false)] ... && ... | false | +| test.rs:282:13:282:13 | a | test.rs:282:18:282:21 | true | true | +| test.rs:282:13:282:21 | [boolean(false)] ... && ... | test.rs:282:9:284:9 | IfExpr | false | +| test.rs:282:13:282:21 | [boolean(true)] ... && ... | test.rs:283:13:283:21 | ExprStmt | true | +| test.rs:282:18:282:21 | true | test.rs:282:13:282:21 | [boolean(true)] ... && ... | true | +| test.rs:283:13:283:20 | ReturnExpr | test.rs:281:5:286:5 | exit test_and_true (normal) | return | +| test.rs:283:13:283:21 | ExprStmt | test.rs:283:20:283:20 | 1 | | +| test.rs:283:20:283:20 | 1 | test.rs:283:13:283:20 | ReturnExpr | | +| test.rs:285:9:285:9 | 0 | test.rs:281:38:286:5 | BlockExpr | | +| test.rs:292:5:294:5 | enter test_question_mark_operator_1 | test.rs:292:38:292:38 | s | | +| test.rs:292:5:294:5 | exit test_question_mark_operator_1 (normal) | test.rs:292:5:294:5 | exit test_question_mark_operator_1 | | +| test.rs:292:38:292:38 | s | test.rs:292:38:292:44 | Param | match | +| test.rs:292:38:292:44 | Param | test.rs:293:9:293:10 | Ok | | +| test.rs:292:87:294:5 | BlockExpr | test.rs:292:5:294:5 | exit test_question_mark_operator_1 (normal) | | +| test.rs:293:9:293:10 | Ok | test.rs:293:12:293:12 | s | | +| test.rs:293:9:293:33 | CallExpr | test.rs:292:87:294:5 | BlockExpr | | +| test.rs:293:12:293:12 | s | test.rs:293:12:293:27 | ... .parse(...) | | +| test.rs:293:12:293:27 | ... .parse(...) | test.rs:293:12:293:28 | TryExpr | | +| test.rs:293:12:293:28 | TryExpr | test.rs:292:5:294:5 | exit test_question_mark_operator_1 (normal) | return | +| test.rs:293:12:293:28 | TryExpr | test.rs:293:32:293:32 | 4 | match | +| test.rs:293:12:293:32 | ... + ... | test.rs:293:9:293:33 | CallExpr | | +| test.rs:293:32:293:32 | 4 | test.rs:293:12:293:32 | ... + ... | | +| test.rs:296:5:301:5 | enter test_question_mark_operator_2 | test.rs:296:38:296:38 | b | | +| test.rs:296:5:301:5 | exit test_question_mark_operator_2 (normal) | test.rs:296:5:301:5 | exit test_question_mark_operator_2 | | +| test.rs:296:38:296:38 | b | test.rs:296:38:296:52 | Param | match | +| test.rs:296:38:296:52 | Param | test.rs:297:15:297:15 | b | | +| test.rs:296:71:301:5 | BlockExpr | test.rs:296:5:301:5 | exit test_question_mark_operator_2 (normal) | | +| test.rs:297:9:300:9 | MatchExpr | test.rs:296:71:301:5 | BlockExpr | | +| test.rs:297:15:297:15 | b | test.rs:297:15:297:16 | TryExpr | | +| test.rs:297:15:297:16 | TryExpr | test.rs:296:5:301:5 | exit test_question_mark_operator_2 (normal) | return | +| test.rs:297:15:297:16 | TryExpr | test.rs:298:13:298:16 | true | match | +| test.rs:298:13:298:16 | LiteralPat | test.rs:298:21:298:24 | Some | match | +| test.rs:298:13:298:16 | LiteralPat | test.rs:299:13:299:17 | false | no-match | +| test.rs:298:13:298:16 | true | test.rs:298:13:298:16 | LiteralPat | | +| test.rs:298:21:298:24 | Some | test.rs:298:26:298:30 | false | | +| test.rs:298:21:298:31 | CallExpr | test.rs:297:9:300:9 | MatchExpr | | +| test.rs:298:26:298:30 | false | test.rs:298:21:298:31 | CallExpr | | +| test.rs:299:13:299:17 | LiteralPat | test.rs:299:22:299:25 | Some | match | +| test.rs:299:13:299:17 | false | test.rs:299:13:299:17 | LiteralPat | | +| test.rs:299:22:299:25 | Some | test.rs:299:27:299:30 | true | | +| test.rs:299:22:299:31 | CallExpr | test.rs:297:9:300:9 | MatchExpr | | +| test.rs:299:27:299:30 | true | test.rs:299:22:299:31 | CallExpr | | +| test.rs:307:5:313:5 | enter test_match | test.rs:307:19:307:29 | maybe_digit | | +| test.rs:307:5:313:5 | exit test_match (normal) | test.rs:307:5:313:5 | exit test_match | | +| test.rs:307:19:307:29 | maybe_digit | test.rs:307:19:307:42 | Param | match | +| test.rs:307:19:307:42 | Param | test.rs:308:15:308:25 | maybe_digit | | +| test.rs:307:52:313:5 | BlockExpr | test.rs:307:5:313:5 | exit test_match (normal) | | +| test.rs:308:9:312:9 | MatchExpr | test.rs:307:52:313:5 | BlockExpr | | +| test.rs:308:15:308:25 | maybe_digit | test.rs:309:13:309:27 | TupleStructPat | | +| test.rs:309:13:309:27 | TupleStructPat | test.rs:309:26:309:26 | x | match | +| test.rs:309:13:309:27 | TupleStructPat | test.rs:310:13:310:27 | TupleStructPat | no-match | +| test.rs:309:26:309:26 | x | test.rs:309:32:309:32 | x | match | +| test.rs:309:32:309:32 | x | test.rs:309:36:309:37 | 10 | | +| test.rs:309:32:309:37 | ... < ... | test.rs:309:42:309:42 | x | true | +| test.rs:309:32:309:37 | ... < ... | test.rs:310:13:310:27 | TupleStructPat | false | +| test.rs:309:36:309:37 | 10 | test.rs:309:32:309:37 | ... < ... | | +| test.rs:309:42:309:42 | x | test.rs:309:46:309:46 | 5 | | +| test.rs:309:42:309:46 | ... + ... | test.rs:308:9:312:9 | MatchExpr | | +| test.rs:309:46:309:46 | 5 | test.rs:309:42:309:46 | ... + ... | | +| test.rs:310:13:310:27 | TupleStructPat | test.rs:310:26:310:26 | x | match | +| test.rs:310:13:310:27 | TupleStructPat | test.rs:311:13:311:24 | PathPat | no-match | +| test.rs:310:26:310:26 | x | test.rs:310:32:310:32 | x | match | +| test.rs:310:32:310:32 | x | test.rs:308:9:312:9 | MatchExpr | | +| test.rs:311:13:311:24 | PathPat | test.rs:311:29:311:29 | 5 | match | +| test.rs:311:29:311:29 | 5 | test.rs:308:9:312:9 | MatchExpr | | +| test.rs:315:5:324:5 | enter test_match_with_return_in_scrutinee | test.rs:315:44:315:54 | maybe_digit | | +| test.rs:315:5:324:5 | exit test_match_with_return_in_scrutinee (normal) | test.rs:315:5:324:5 | exit test_match_with_return_in_scrutinee | | +| test.rs:315:44:315:54 | maybe_digit | test.rs:315:44:315:67 | Param | match | +| test.rs:315:44:315:67 | Param | test.rs:316:19:316:29 | maybe_digit | | +| test.rs:315:77:324:5 | BlockExpr | test.rs:315:5:324:5 | exit test_match_with_return_in_scrutinee (normal) | | +| test.rs:316:9:323:9 | MatchExpr | test.rs:315:77:324:5 | BlockExpr | | +| test.rs:316:16:320:9 | IfExpr | test.rs:321:13:321:27 | TupleStructPat | | +| test.rs:316:19:316:29 | maybe_digit | test.rs:316:34:316:37 | Some | | +| test.rs:316:19:316:40 | ... == ... | test.rs:317:13:317:21 | ExprStmt | true | +| test.rs:316:19:316:40 | ... == ... | test.rs:319:13:319:23 | maybe_digit | false | +| test.rs:316:34:316:37 | Some | test.rs:316:39:316:39 | 3 | | +| test.rs:316:34:316:40 | CallExpr | test.rs:316:19:316:40 | ... == ... | | +| test.rs:316:39:316:39 | 3 | test.rs:316:34:316:40 | CallExpr | | +| test.rs:317:13:317:20 | ReturnExpr | test.rs:315:5:324:5 | exit test_match_with_return_in_scrutinee (normal) | return | +| test.rs:317:13:317:21 | ExprStmt | test.rs:317:20:317:20 | 3 | | +| test.rs:317:20:317:20 | 3 | test.rs:317:13:317:20 | ReturnExpr | | +| test.rs:318:16:320:9 | BlockExpr | test.rs:316:16:320:9 | IfExpr | | +| test.rs:319:13:319:23 | maybe_digit | test.rs:318:16:320:9 | BlockExpr | | +| test.rs:321:13:321:27 | TupleStructPat | test.rs:321:26:321:26 | x | match | +| test.rs:321:13:321:27 | TupleStructPat | test.rs:322:13:322:24 | PathPat | no-match | +| test.rs:321:26:321:26 | x | test.rs:321:32:321:32 | x | match | +| test.rs:321:32:321:32 | x | test.rs:321:36:321:36 | 5 | | +| test.rs:321:32:321:36 | ... + ... | test.rs:316:9:323:9 | MatchExpr | | +| test.rs:321:36:321:36 | 5 | test.rs:321:32:321:36 | ... + ... | | +| test.rs:322:13:322:24 | PathPat | test.rs:322:29:322:29 | 5 | match | +| test.rs:322:29:322:29 | 5 | test.rs:316:9:323:9 | MatchExpr | | +| test.rs:326:5:331:5 | enter test_match_and | test.rs:326:23:326:26 | cond | | +| test.rs:326:5:331:5 | exit test_match_and (normal) | test.rs:326:5:331:5 | exit test_match_and | | +| test.rs:326:23:326:26 | cond | test.rs:326:23:326:32 | Param | match | +| test.rs:326:23:326:32 | Param | test.rs:326:35:326:35 | r | | +| test.rs:326:35:326:35 | r | test.rs:326:35:326:49 | Param | match | +| test.rs:326:35:326:49 | Param | test.rs:327:16:327:16 | r | | +| test.rs:326:60:331:5 | BlockExpr | test.rs:326:5:331:5 | exit test_match_and (normal) | | +| test.rs:327:9:330:18 | ... && ... | test.rs:326:60:331:5 | BlockExpr | | +| test.rs:327:10:330:9 | [boolean(false)] MatchExpr | test.rs:327:9:330:18 | ... && ... | false | +| test.rs:327:10:330:9 | [boolean(true)] MatchExpr | test.rs:330:15:330:18 | cond | true | +| test.rs:327:16:327:16 | r | test.rs:328:13:328:19 | TupleStructPat | | +| test.rs:328:13:328:19 | TupleStructPat | test.rs:328:18:328:18 | a | match | +| test.rs:328:13:328:19 | TupleStructPat | test.rs:329:13:329:13 | WildcardPat | no-match | +| test.rs:328:18:328:18 | a | test.rs:328:24:328:24 | a | match | +| test.rs:328:24:328:24 | a | test.rs:327:10:330:9 | [boolean(false)] MatchExpr | false | +| test.rs:328:24:328:24 | a | test.rs:327:10:330:9 | [boolean(true)] MatchExpr | true | +| test.rs:329:13:329:13 | WildcardPat | test.rs:329:18:329:22 | false | match | +| test.rs:329:18:329:22 | false | test.rs:327:10:330:9 | [boolean(false)] MatchExpr | false | +| test.rs:330:15:330:18 | cond | test.rs:327:9:330:18 | ... && ... | | +| test.rs:333:5:338:5 | enter test_match_with_no_arms | test.rs:333:35:333:35 | r | | +| test.rs:333:5:338:5 | exit test_match_with_no_arms (normal) | test.rs:333:5:338:5 | exit test_match_with_no_arms | | +| test.rs:333:35:333:35 | r | test.rs:333:35:333:58 | Param | match | +| test.rs:333:35:333:58 | Param | test.rs:334:15:334:15 | r | | +| test.rs:333:66:338:5 | BlockExpr | test.rs:333:5:338:5 | exit test_match_with_no_arms (normal) | | +| test.rs:334:9:337:9 | MatchExpr | test.rs:333:66:338:5 | BlockExpr | | +| test.rs:334:15:334:15 | r | test.rs:335:13:335:21 | TupleStructPat | | +| test.rs:335:13:335:21 | TupleStructPat | test.rs:335:16:335:20 | value | match | +| test.rs:335:13:335:21 | TupleStructPat | test.rs:336:13:336:22 | TupleStructPat | no-match | +| test.rs:335:16:335:20 | value | test.rs:335:26:335:30 | value | match | +| test.rs:335:26:335:30 | value | test.rs:334:9:337:9 | MatchExpr | | +| test.rs:336:13:336:22 | TupleStructPat | test.rs:336:17:336:21 | never | match | +| test.rs:336:17:336:21 | never | test.rs:336:33:336:37 | never | match | +| test.rs:336:27:336:40 | MatchExpr | test.rs:334:9:337:9 | MatchExpr | | +| test.rs:336:33:336:37 | never | test.rs:336:27:336:40 | MatchExpr | | +| test.rs:343:5:346:5 | enter test_let_match | test.rs:343:23:343:23 | a | | +| test.rs:343:5:346:5 | exit test_let_match (normal) | test.rs:343:5:346:5 | exit test_let_match | | +| test.rs:343:23:343:23 | a | test.rs:343:23:343:36 | Param | match | +| test.rs:343:23:343:36 | Param | test.rs:344:9:344:57 | LetStmt | | +| test.rs:343:46:346:5 | BlockExpr | test.rs:343:5:346:5 | exit test_let_match (normal) | | +| test.rs:344:9:344:57 | LetStmt | test.rs:344:23:344:23 | a | | +| test.rs:344:13:344:19 | TupleStructPat | test.rs:344:18:344:18 | n | match | +| test.rs:344:13:344:19 | TupleStructPat | test.rs:344:39:344:53 | MacroStmts | no-match | +| test.rs:344:18:344:18 | n | test.rs:345:9:345:9 | n | match | +| test.rs:344:23:344:23 | a | test.rs:344:13:344:19 | TupleStructPat | | +| test.rs:344:32:344:54 | $crate::panicking::panic_fmt | test.rs:344:39:344:53 | "Expected some" | | +| test.rs:344:32:344:54 | MacroExpr | test.rs:344:30:344:56 | BlockExpr | | +| test.rs:344:39:344:53 | "Expected some" | test.rs:344:39:344:53 | FormatArgsExpr | | +| test.rs:344:39:344:53 | BlockExpr | test.rs:344:39:344:53 | MacroExpr | | +| test.rs:344:39:344:53 | CallExpr | test.rs:344:39:344:53 | BlockExpr | | +| test.rs:344:39:344:53 | ExprStmt | test.rs:344:32:344:54 | $crate::panicking::panic_fmt | | +| test.rs:344:39:344:53 | FormatArgsExpr | test.rs:344:39:344:53 | MacroExpr | | +| test.rs:344:39:344:53 | MacroExpr | test.rs:344:32:344:54 | MacroExpr | | +| test.rs:344:39:344:53 | MacroExpr | test.rs:344:39:344:53 | CallExpr | | +| test.rs:344:39:344:53 | MacroStmts | test.rs:344:39:344:53 | ExprStmt | | +| test.rs:344:39:344:53 | MacroStmts | test.rs:344:39:344:53 | MacroStmts | | +| test.rs:345:9:345:9 | n | test.rs:343:46:346:5 | BlockExpr | | +| test.rs:348:5:354:5 | enter test_let_with_return | test.rs:348:29:348:29 | m | | +| test.rs:348:5:354:5 | exit test_let_with_return (normal) | test.rs:348:5:354:5 | exit test_let_with_return | | +| test.rs:348:29:348:29 | m | test.rs:348:29:348:42 | Param | match | +| test.rs:348:29:348:42 | Param | test.rs:349:9:352:10 | LetStmt | | +| test.rs:348:53:354:5 | BlockExpr | test.rs:348:5:354:5 | exit test_let_with_return (normal) | | +| test.rs:349:9:352:10 | LetStmt | test.rs:349:25:349:25 | m | | +| test.rs:349:13:349:15 | ret | test.rs:353:9:353:12 | true | match | +| test.rs:349:19:352:9 | MatchExpr | test.rs:349:13:349:15 | ret | | +| test.rs:349:25:349:25 | m | test.rs:350:13:350:21 | TupleStructPat | | +| test.rs:350:13:350:21 | TupleStructPat | test.rs:350:18:350:20 | ret | match | +| test.rs:350:13:350:21 | TupleStructPat | test.rs:351:13:351:16 | None | no-match | +| test.rs:350:18:350:20 | ret | test.rs:350:26:350:28 | ret | match | +| test.rs:350:26:350:28 | ret | test.rs:349:19:352:9 | MatchExpr | | +| test.rs:351:13:351:16 | None | test.rs:351:28:351:32 | false | match | +| test.rs:351:21:351:32 | ReturnExpr | test.rs:348:5:354:5 | exit test_let_with_return (normal) | return | +| test.rs:351:28:351:32 | false | test.rs:351:21:351:32 | ReturnExpr | | +| test.rs:353:9:353:12 | true | test.rs:348:53:354:5 | BlockExpr | | +| test.rs:359:5:362:5 | enter empty_tuple_pattern | test.rs:359:28:359:31 | unit | | +| test.rs:359:5:362:5 | exit empty_tuple_pattern (normal) | test.rs:359:5:362:5 | exit empty_tuple_pattern | | +| test.rs:359:28:359:31 | unit | test.rs:359:28:359:35 | Param | match | +| test.rs:359:28:359:35 | Param | test.rs:360:9:360:22 | LetStmt | | +| test.rs:360:9:360:22 | LetStmt | test.rs:360:18:360:21 | unit | | +| test.rs:360:13:360:14 | TuplePat | test.rs:361:9:361:15 | ExprStmt | match | +| test.rs:360:18:360:21 | unit | test.rs:360:13:360:14 | TuplePat | | +| test.rs:361:9:361:14 | ReturnExpr | test.rs:359:5:362:5 | exit empty_tuple_pattern (normal) | return | +| test.rs:361:9:361:15 | ExprStmt | test.rs:361:9:361:14 | ReturnExpr | | +| test.rs:366:5:370:5 | enter empty_struct_pattern | test.rs:366:29:366:30 | st | | +| test.rs:366:5:370:5 | exit empty_struct_pattern (normal) | test.rs:366:5:370:5 | exit empty_struct_pattern | | +| test.rs:366:29:366:30 | st | test.rs:366:29:366:40 | Param | match | +| test.rs:366:29:366:40 | Param | test.rs:367:15:367:16 | st | | +| test.rs:366:50:370:5 | BlockExpr | test.rs:366:5:370:5 | exit empty_struct_pattern (normal) | | +| test.rs:367:9:369:9 | MatchExpr | test.rs:366:50:370:5 | BlockExpr | | +| test.rs:367:15:367:16 | st | test.rs:368:13:368:27 | RecordPat | | +| test.rs:368:13:368:27 | RecordPat | test.rs:368:24:368:25 | RestPat | match | +| test.rs:368:24:368:25 | RestPat | test.rs:368:32:368:32 | 1 | match | +| test.rs:368:32:368:32 | 1 | test.rs:367:9:369:9 | MatchExpr | | +| test.rs:372:5:379:5 | enter range_pattern | test.rs:373:15:373:16 | 42 | | +| test.rs:372:5:379:5 | exit range_pattern (normal) | test.rs:372:5:379:5 | exit range_pattern | | +| test.rs:372:31:379:5 | BlockExpr | test.rs:372:5:379:5 | exit range_pattern (normal) | | +| test.rs:373:9:378:9 | MatchExpr | test.rs:372:31:379:5 | BlockExpr | | +| test.rs:373:15:373:16 | 42 | test.rs:374:13:374:15 | RangePat | | +| test.rs:374:13:374:15 | RangePat | test.rs:374:15:374:15 | 0 | match | +| test.rs:374:13:374:15 | RangePat | test.rs:375:13:375:16 | RangePat | no-match | +| test.rs:374:15:374:15 | 0 | test.rs:374:15:374:15 | LiteralPat | | +| test.rs:374:15:374:15 | LiteralPat | test.rs:374:20:374:20 | 1 | match | +| test.rs:374:15:374:15 | LiteralPat | test.rs:375:13:375:16 | RangePat | no-match | +| test.rs:374:20:374:20 | 1 | test.rs:373:9:378:9 | MatchExpr | | +| test.rs:375:13:375:13 | 1 | test.rs:375:13:375:13 | LiteralPat | | +| test.rs:375:13:375:13 | LiteralPat | test.rs:375:16:375:16 | 2 | match | +| test.rs:375:13:375:13 | LiteralPat | test.rs:376:13:376:15 | RangePat | no-match | +| test.rs:375:13:375:16 | RangePat | test.rs:375:13:375:13 | 1 | match | +| test.rs:375:13:375:16 | RangePat | test.rs:376:13:376:15 | RangePat | no-match | +| test.rs:375:16:375:16 | 2 | test.rs:375:16:375:16 | LiteralPat | | +| test.rs:375:16:375:16 | LiteralPat | test.rs:375:21:375:21 | 2 | match | +| test.rs:375:16:375:16 | LiteralPat | test.rs:376:13:376:15 | RangePat | no-match | +| test.rs:375:21:375:21 | 2 | test.rs:373:9:378:9 | MatchExpr | | +| test.rs:376:13:376:13 | 5 | test.rs:376:13:376:13 | LiteralPat | | +| test.rs:376:13:376:13 | LiteralPat | test.rs:376:20:376:20 | 3 | match | +| test.rs:376:13:376:13 | LiteralPat | test.rs:377:13:377:13 | WildcardPat | no-match | +| test.rs:376:13:376:15 | RangePat | test.rs:376:13:376:13 | 5 | match | +| test.rs:376:13:376:15 | RangePat | test.rs:377:13:377:13 | WildcardPat | no-match | +| test.rs:376:20:376:20 | 3 | test.rs:373:9:378:9 | MatchExpr | | +| test.rs:377:13:377:13 | WildcardPat | test.rs:377:18:377:18 | 4 | match | +| test.rs:377:18:377:18 | 4 | test.rs:373:9:378:9 | MatchExpr | | +| test.rs:383:5:388:5 | enter test_infinite_loop | test.rs:384:9:386:9 | ExprStmt | | +| test.rs:384:9:386:9 | ExprStmt | test.rs:385:13:385:14 | TupleExpr | | +| test.rs:384:14:386:9 | BlockExpr | test.rs:385:13:385:14 | TupleExpr | | +| test.rs:385:13:385:14 | TupleExpr | test.rs:384:14:386:9 | BlockExpr | | +| test.rs:392:5:394:5 | enter say_hello | test.rs:393:9:393:34 | ExprStmt | | +| test.rs:392:5:394:5 | exit say_hello (normal) | test.rs:392:5:394:5 | exit say_hello | | +| test.rs:392:26:394:5 | BlockExpr | test.rs:392:5:394:5 | exit say_hello (normal) | | +| test.rs:393:9:393:33 | $crate::io::_print | test.rs:393:18:393:32 | "hello, world!\\n" | | +| test.rs:393:9:393:33 | MacroExpr | test.rs:392:26:394:5 | BlockExpr | | +| test.rs:393:9:393:34 | ExprStmt | test.rs:393:18:393:32 | MacroStmts | | +| test.rs:393:18:393:32 | "hello, world!\\n" | test.rs:393:18:393:32 | FormatArgsExpr | | +| test.rs:393:18:393:32 | BlockExpr | test.rs:393:9:393:33 | MacroExpr | | +| test.rs:393:18:393:32 | CallExpr | test.rs:393:18:393:32 | BlockExpr | | +| test.rs:393:18:393:32 | ExprStmt | test.rs:393:9:393:33 | $crate::io::_print | | +| test.rs:393:18:393:32 | FormatArgsExpr | test.rs:393:18:393:32 | MacroExpr | | +| test.rs:393:18:393:32 | MacroExpr | test.rs:393:18:393:32 | CallExpr | | +| test.rs:393:18:393:32 | MacroStmts | test.rs:393:18:393:32 | ExprStmt | | +| test.rs:396:5:415:5 | enter async_block | test.rs:396:26:396:26 | b | | +| test.rs:396:5:415:5 | exit async_block (normal) | test.rs:396:5:415:5 | exit async_block | | +| test.rs:396:26:396:26 | b | test.rs:396:26:396:32 | Param | match | +| test.rs:396:26:396:32 | Param | test.rs:397:9:399:10 | LetStmt | | +| test.rs:396:35:415:5 | BlockExpr | test.rs:396:5:415:5 | exit async_block (normal) | | +| test.rs:397:9:399:10 | LetStmt | test.rs:397:26:399:9 | BlockExpr | | +| test.rs:397:13:397:22 | say_godbye | test.rs:400:9:402:10 | LetStmt | match | +| test.rs:397:26:399:9 | BlockExpr | test.rs:397:13:397:22 | say_godbye | | +| test.rs:397:26:399:9 | enter BlockExpr | test.rs:398:13:398:42 | ExprStmt | | +| test.rs:397:26:399:9 | exit BlockExpr (normal) | test.rs:397:26:399:9 | exit BlockExpr | | +| test.rs:398:13:398:41 | $crate::io::_print | test.rs:398:22:398:40 | "godbye, everyone!\\n" | | +| test.rs:398:13:398:41 | MacroExpr | test.rs:397:26:399:9 | exit BlockExpr (normal) | | +| test.rs:398:13:398:42 | ExprStmt | test.rs:398:22:398:40 | MacroStmts | | +| test.rs:398:22:398:40 | "godbye, everyone!\\n" | test.rs:398:22:398:40 | FormatArgsExpr | | +| test.rs:398:22:398:40 | BlockExpr | test.rs:398:13:398:41 | MacroExpr | | +| test.rs:398:22:398:40 | CallExpr | test.rs:398:22:398:40 | BlockExpr | | +| test.rs:398:22:398:40 | ExprStmt | test.rs:398:13:398:41 | $crate::io::_print | | +| test.rs:398:22:398:40 | FormatArgsExpr | test.rs:398:22:398:40 | MacroExpr | | +| test.rs:398:22:398:40 | MacroExpr | test.rs:398:22:398:40 | CallExpr | | +| test.rs:398:22:398:40 | MacroStmts | test.rs:398:22:398:40 | ExprStmt | | +| test.rs:400:9:402:10 | LetStmt | test.rs:400:31:402:9 | BlockExpr | | +| test.rs:400:13:400:27 | say_how_are_you | test.rs:403:9:403:28 | LetStmt | match | +| test.rs:400:31:402:9 | BlockExpr | test.rs:400:13:400:27 | say_how_are_you | | +| test.rs:400:31:402:9 | enter BlockExpr | test.rs:401:13:401:37 | ExprStmt | | +| test.rs:400:31:402:9 | exit BlockExpr (normal) | test.rs:400:31:402:9 | exit BlockExpr | | +| test.rs:401:13:401:36 | $crate::io::_print | test.rs:401:22:401:35 | "how are you?\\n" | | +| test.rs:401:13:401:36 | MacroExpr | test.rs:400:31:402:9 | exit BlockExpr (normal) | | +| test.rs:401:13:401:37 | ExprStmt | test.rs:401:22:401:35 | MacroStmts | | +| test.rs:401:22:401:35 | "how are you?\\n" | test.rs:401:22:401:35 | FormatArgsExpr | | +| test.rs:401:22:401:35 | BlockExpr | test.rs:401:13:401:36 | MacroExpr | | +| test.rs:401:22:401:35 | CallExpr | test.rs:401:22:401:35 | BlockExpr | | +| test.rs:401:22:401:35 | ExprStmt | test.rs:401:13:401:36 | $crate::io::_print | | +| test.rs:401:22:401:35 | FormatArgsExpr | test.rs:401:22:401:35 | MacroExpr | | +| test.rs:401:22:401:35 | MacroExpr | test.rs:401:22:401:35 | CallExpr | | +| test.rs:401:22:401:35 | MacroStmts | test.rs:401:22:401:35 | ExprStmt | | +| test.rs:403:9:403:28 | LetStmt | test.rs:403:20:403:27 | BlockExpr | | +| test.rs:403:13:403:16 | noop | test.rs:404:9:404:26 | ExprStmt | match | +| test.rs:403:20:403:27 | BlockExpr | test.rs:403:13:403:16 | noop | | +| test.rs:404:9:404:17 | say_hello | test.rs:404:9:404:19 | CallExpr | | +| test.rs:404:9:404:19 | CallExpr | test.rs:404:9:404:25 | AwaitExpr | | +| test.rs:404:9:404:25 | AwaitExpr | test.rs:405:9:405:30 | ExprStmt | | +| test.rs:404:9:404:26 | ExprStmt | test.rs:404:9:404:17 | say_hello | | +| test.rs:405:9:405:23 | say_how_are_you | test.rs:405:9:405:29 | AwaitExpr | | +| test.rs:405:9:405:29 | AwaitExpr | test.rs:406:9:406:25 | ExprStmt | | +| test.rs:405:9:405:30 | ExprStmt | test.rs:405:9:405:23 | say_how_are_you | | +| test.rs:406:9:406:18 | say_godbye | test.rs:406:9:406:24 | AwaitExpr | | +| test.rs:406:9:406:24 | AwaitExpr | test.rs:407:9:407:19 | ExprStmt | | +| test.rs:406:9:406:25 | ExprStmt | test.rs:406:9:406:18 | say_godbye | | +| test.rs:407:9:407:12 | noop | test.rs:407:9:407:18 | AwaitExpr | | +| test.rs:407:9:407:18 | AwaitExpr | test.rs:409:9:414:10 | LetStmt | | +| test.rs:407:9:407:19 | ExprStmt | test.rs:407:9:407:12 | noop | | +| test.rs:409:9:414:10 | LetStmt | test.rs:409:22:414:9 | ClosureExpr | | +| test.rs:409:13:409:18 | lambda | test.rs:396:35:415:5 | BlockExpr | match | +| test.rs:409:22:414:9 | ClosureExpr | test.rs:409:13:409:18 | lambda | | +| test.rs:409:22:414:9 | enter ClosureExpr | test.rs:409:23:409:25 | foo | | +| test.rs:409:22:414:9 | exit ClosureExpr (normal) | test.rs:409:22:414:9 | exit ClosureExpr | | +| test.rs:409:23:409:25 | Param | test.rs:409:28:414:9 | BlockExpr | | +| test.rs:409:23:409:25 | foo | test.rs:409:23:409:25 | Param | match | +| test.rs:409:28:414:9 | BlockExpr | test.rs:409:22:414:9 | exit ClosureExpr (normal) | | +| test.rs:409:28:414:9 | enter BlockExpr | test.rs:410:13:412:14 | ExprStmt | | +| test.rs:409:28:414:9 | exit BlockExpr (normal) | test.rs:409:28:414:9 | exit BlockExpr | | +| test.rs:410:13:412:13 | IfExpr | test.rs:413:13:413:15 | foo | | +| test.rs:410:13:412:14 | ExprStmt | test.rs:410:16:410:16 | b | | +| test.rs:410:16:410:16 | b | test.rs:410:13:412:13 | IfExpr | false | +| test.rs:410:16:410:16 | b | test.rs:411:17:411:41 | ExprStmt | true | +| test.rs:411:17:411:40 | ReturnExpr | test.rs:409:28:414:9 | exit BlockExpr (normal) | return | +| test.rs:411:17:411:41 | ExprStmt | test.rs:411:24:411:34 | async_block | | +| test.rs:411:24:411:34 | async_block | test.rs:411:36:411:39 | true | | +| test.rs:411:24:411:40 | CallExpr | test.rs:411:17:411:40 | ReturnExpr | | +| test.rs:411:36:411:39 | true | test.rs:411:24:411:40 | CallExpr | | +| test.rs:413:13:413:15 | foo | test.rs:409:28:414:9 | exit BlockExpr (normal) | | +| test.rs:421:5:423:5 | enter add_two | test.rs:421:22:421:22 | n | | +| test.rs:421:5:423:5 | exit add_two (normal) | test.rs:421:5:423:5 | exit add_two | | +| test.rs:421:22:421:22 | n | test.rs:421:22:421:27 | Param | match | +| test.rs:421:22:421:27 | Param | test.rs:422:9:422:9 | n | | +| test.rs:421:37:423:5 | BlockExpr | test.rs:421:5:423:5 | exit add_two (normal) | | +| test.rs:422:9:422:9 | n | test.rs:422:13:422:13 | 2 | | +| test.rs:422:9:422:13 | ... + ... | test.rs:421:37:423:5 | BlockExpr | | +| test.rs:422:13:422:13 | 2 | test.rs:422:9:422:13 | ... + ... | | +| test.rs:427:5:435:5 | enter const_block_assert | test.rs:430:9:432:9 | ExprStmt | | +| test.rs:427:5:435:5 | exit const_block_assert (normal) | test.rs:427:5:435:5 | exit const_block_assert | | +| test.rs:427:41:435:5 | BlockExpr | test.rs:427:5:435:5 | exit const_block_assert (normal) | | +| test.rs:430:9:432:9 | BlockExpr | test.rs:434:9:434:10 | 42 | | +| test.rs:430:9:432:9 | ExprStmt | test.rs:431:13:431:50 | ExprStmt | | +| test.rs:431:13:431:49 | $crate::panicking::panic_explicit | test.rs:431:13:431:49 | CallExpr | | +| test.rs:431:13:431:49 | BlockExpr | test.rs:431:13:431:49 | MacroExpr | | +| test.rs:431:13:431:49 | BlockExpr | test.rs:431:13:431:49 | exit panic_cold_explicit (normal) | | +| test.rs:431:13:431:49 | BlockExpr | test.rs:431:21:431:48 | IfExpr | | +| test.rs:431:13:431:49 | CallExpr | test.rs:431:13:431:49 | BlockExpr | | +| test.rs:431:13:431:49 | CallExpr | test.rs:431:13:431:49 | BlockExpr | | +| test.rs:431:13:431:49 | ExprStmt | test.rs:431:13:431:49 | MacroStmts | | +| test.rs:431:13:431:49 | ExprStmt | test.rs:431:13:431:49 | panic_cold_explicit | | +| test.rs:431:13:431:49 | MacroExpr | test.rs:430:9:432:9 | BlockExpr | | +| test.rs:431:13:431:49 | MacroExpr | test.rs:431:13:431:49 | BlockExpr | | +| test.rs:431:13:431:49 | MacroStmts | test.rs:431:13:431:49 | panic_cold_explicit | | +| test.rs:431:13:431:49 | enter panic_cold_explicit | test.rs:431:13:431:49 | $crate::panicking::panic_explicit | | +| test.rs:431:13:431:49 | exit panic_cold_explicit (normal) | test.rs:431:13:431:49 | exit panic_cold_explicit | | +| test.rs:431:13:431:49 | panic_cold_explicit | test.rs:431:13:431:49 | CallExpr | | +| test.rs:431:13:431:49 | panic_cold_explicit | test.rs:431:13:431:49 | ExprStmt | | +| test.rs:431:13:431:50 | ExprStmt | test.rs:431:21:431:48 | MacroStmts | | +| test.rs:431:21:431:42 | std::mem::size_of::<...> | test.rs:431:21:431:44 | CallExpr | | +| test.rs:431:21:431:44 | CallExpr | test.rs:431:48:431:48 | 0 | | +| test.rs:431:21:431:48 | ... > ... | test.rs:431:21:431:48 | [boolean(false)] ! ... | true | +| test.rs:431:21:431:48 | ... > ... | test.rs:431:21:431:48 | [boolean(true)] ! ... | false | +| test.rs:431:21:431:48 | BlockExpr | test.rs:431:13:431:49 | MacroExpr | | +| test.rs:431:21:431:48 | IfExpr | test.rs:431:21:431:48 | BlockExpr | | +| test.rs:431:21:431:48 | MacroStmts | test.rs:431:21:431:42 | std::mem::size_of::<...> | | +| test.rs:431:21:431:48 | [boolean(false)] ! ... | test.rs:431:21:431:48 | IfExpr | false | +| test.rs:431:21:431:48 | [boolean(true)] ! ... | test.rs:431:13:431:49 | ExprStmt | true | +| test.rs:431:48:431:48 | 0 | test.rs:431:21:431:48 | ... > ... | | +| test.rs:434:9:434:10 | 42 | test.rs:427:41:435:5 | BlockExpr | | +| test.rs:437:5:446:5 | enter const_block_panic | test.rs:438:9:438:30 | Const | | +| test.rs:437:5:446:5 | exit const_block_panic (normal) | test.rs:437:5:446:5 | exit const_block_panic | | +| test.rs:437:35:446:5 | BlockExpr | test.rs:437:5:446:5 | exit const_block_panic (normal) | | +| test.rs:438:9:438:30 | Const | test.rs:439:9:444:9 | ExprStmt | | +| test.rs:439:9:444:9 | ExprStmt | test.rs:439:12:439:16 | false | | +| test.rs:439:9:444:9 | IfExpr | test.rs:445:9:445:9 | N | | +| test.rs:439:12:439:16 | false | test.rs:439:9:444:9 | IfExpr | false | +| test.rs:442:17:442:24 | $crate::panicking::panic_explicit | test.rs:442:17:442:24 | CallExpr | | +| test.rs:442:17:442:24 | BlockExpr | test.rs:442:17:442:24 | exit panic_cold_explicit (normal) | | +| test.rs:442:17:442:24 | CallExpr | test.rs:442:17:442:24 | BlockExpr | | +| test.rs:442:17:442:24 | enter panic_cold_explicit | test.rs:442:17:442:24 | $crate::panicking::panic_explicit | | +| test.rs:442:17:442:24 | exit panic_cold_explicit (normal) | test.rs:442:17:442:24 | exit panic_cold_explicit | | +| test.rs:445:9:445:9 | N | test.rs:437:35:446:5 | BlockExpr | | +| test.rs:449:1:454:1 | enter dead_code | test.rs:450:5:452:5 | ExprStmt | | +| test.rs:449:1:454:1 | exit dead_code (normal) | test.rs:449:1:454:1 | exit dead_code | | +| test.rs:450:5:452:5 | ExprStmt | test.rs:450:9:450:12 | true | | +| test.rs:450:9:450:12 | true | test.rs:451:9:451:17 | ExprStmt | true | +| test.rs:451:9:451:16 | ReturnExpr | test.rs:449:1:454:1 | exit dead_code (normal) | return | +| test.rs:451:9:451:17 | ExprStmt | test.rs:451:16:451:16 | 0 | | +| test.rs:451:16:451:16 | 0 | test.rs:451:9:451:16 | ReturnExpr | | +| test.rs:456:1:456:16 | enter do_thing | test.rs:456:15:456:16 | BlockExpr | | +| test.rs:456:1:456:16 | exit do_thing (normal) | test.rs:456:1:456:16 | exit do_thing | | +| test.rs:456:15:456:16 | BlockExpr | test.rs:456:1:456:16 | exit do_thing (normal) | | +| test.rs:458:1:460:1 | enter condition_not_met | test.rs:459:5:459:9 | false | | +| test.rs:458:1:460:1 | exit condition_not_met (normal) | test.rs:458:1:460:1 | exit condition_not_met | | +| test.rs:458:32:460:1 | BlockExpr | test.rs:458:1:460:1 | exit condition_not_met (normal) | | +| test.rs:459:5:459:9 | false | test.rs:458:32:460:1 | BlockExpr | | +| test.rs:462:1:462:21 | enter do_next_thing | test.rs:462:20:462:21 | BlockExpr | | +| test.rs:462:1:462:21 | exit do_next_thing (normal) | test.rs:462:1:462:21 | exit do_next_thing | | +| test.rs:462:20:462:21 | BlockExpr | test.rs:462:1:462:21 | exit do_next_thing (normal) | | +| test.rs:464:1:464:21 | enter do_last_thing | test.rs:464:20:464:21 | BlockExpr | | +| test.rs:464:1:464:21 | exit do_last_thing (normal) | test.rs:464:1:464:21 | exit do_last_thing | | +| test.rs:464:20:464:21 | BlockExpr | test.rs:464:1:464:21 | exit do_last_thing (normal) | | +| test.rs:466:1:480:1 | enter labelled_block1 | test.rs:467:5:478:6 | LetStmt | | +| test.rs:466:1:480:1 | exit labelled_block1 (normal) | test.rs:466:1:480:1 | exit labelled_block1 | | +| test.rs:466:29:480:1 | BlockExpr | test.rs:466:1:480:1 | exit labelled_block1 (normal) | | +| test.rs:467:5:478:6 | LetStmt | test.rs:468:9:468:19 | ExprStmt | | +| test.rs:467:9:467:14 | result | test.rs:479:5:479:10 | result | match | +| test.rs:467:18:478:5 | BlockExpr | test.rs:467:9:467:14 | result | | +| test.rs:468:9:468:16 | do_thing | test.rs:468:9:468:18 | CallExpr | | +| test.rs:468:9:468:18 | CallExpr | test.rs:469:9:471:9 | ExprStmt | | +| test.rs:468:9:468:19 | ExprStmt | test.rs:468:9:468:16 | do_thing | | +| test.rs:469:9:471:9 | ExprStmt | test.rs:469:12:469:28 | condition_not_met | | +| test.rs:469:9:471:9 | IfExpr | test.rs:472:9:472:24 | ExprStmt | | +| test.rs:469:12:469:28 | condition_not_met | test.rs:469:12:469:30 | CallExpr | | +| test.rs:469:12:469:30 | CallExpr | test.rs:469:9:471:9 | IfExpr | false | +| test.rs:469:12:469:30 | CallExpr | test.rs:470:13:470:27 | ExprStmt | true | +| test.rs:470:13:470:26 | BreakExpr | test.rs:467:18:478:5 | BlockExpr | break | +| test.rs:470:13:470:27 | ExprStmt | test.rs:470:26:470:26 | 1 | | +| test.rs:470:26:470:26 | 1 | test.rs:470:13:470:26 | BreakExpr | | +| test.rs:472:9:472:21 | do_next_thing | test.rs:472:9:472:23 | CallExpr | | +| test.rs:472:9:472:23 | CallExpr | test.rs:473:9:475:9 | ExprStmt | | +| test.rs:472:9:472:24 | ExprStmt | test.rs:472:9:472:21 | do_next_thing | | +| test.rs:473:9:475:9 | ExprStmt | test.rs:473:12:473:28 | condition_not_met | | +| test.rs:473:9:475:9 | IfExpr | test.rs:476:9:476:24 | ExprStmt | | +| test.rs:473:12:473:28 | condition_not_met | test.rs:473:12:473:30 | CallExpr | | +| test.rs:473:12:473:30 | CallExpr | test.rs:473:9:475:9 | IfExpr | false | +| test.rs:473:12:473:30 | CallExpr | test.rs:474:13:474:27 | ExprStmt | true | +| test.rs:474:13:474:26 | BreakExpr | test.rs:467:18:478:5 | BlockExpr | break | +| test.rs:474:13:474:27 | ExprStmt | test.rs:474:26:474:26 | 2 | | +| test.rs:474:26:474:26 | 2 | test.rs:474:13:474:26 | BreakExpr | | +| test.rs:476:9:476:21 | do_last_thing | test.rs:476:9:476:23 | CallExpr | | +| test.rs:476:9:476:23 | CallExpr | test.rs:477:9:477:9 | 3 | | +| test.rs:476:9:476:24 | ExprStmt | test.rs:476:9:476:21 | do_last_thing | | +| test.rs:477:9:477:9 | 3 | test.rs:467:18:478:5 | BlockExpr | | +| test.rs:479:5:479:10 | result | test.rs:466:29:480:1 | BlockExpr | | +| test.rs:482:1:490:1 | enter labelled_block2 | test.rs:483:5:489:6 | LetStmt | | +| test.rs:482:1:490:1 | exit labelled_block2 (normal) | test.rs:482:1:490:1 | exit labelled_block2 | | +| test.rs:482:22:490:1 | BlockExpr | test.rs:482:1:490:1 | exit labelled_block2 (normal) | | +| test.rs:483:5:489:6 | LetStmt | test.rs:484:9:484:34 | LetStmt | | +| test.rs:483:9:483:14 | result | test.rs:482:22:490:1 | BlockExpr | match | +| test.rs:483:18:489:5 | BlockExpr | test.rs:483:9:483:14 | result | | +| test.rs:484:9:484:34 | LetStmt | test.rs:484:30:484:33 | None | | +| test.rs:484:13:484:13 | x | test.rs:485:9:487:10 | LetStmt | match | +| test.rs:484:30:484:33 | None | test.rs:484:13:484:13 | x | | +| test.rs:485:9:487:10 | LetStmt | test.rs:485:23:485:23 | x | | +| test.rs:485:13:485:19 | TupleStructPat | test.rs:485:18:485:18 | y | match | +| test.rs:485:13:485:19 | TupleStructPat | test.rs:486:13:486:27 | ExprStmt | no-match | +| test.rs:485:18:485:18 | y | test.rs:488:9:488:9 | 0 | match | +| test.rs:485:23:485:23 | x | test.rs:485:13:485:19 | TupleStructPat | | +| test.rs:486:13:486:26 | BreakExpr | test.rs:483:18:489:5 | BlockExpr | break | +| test.rs:486:13:486:27 | ExprStmt | test.rs:486:26:486:26 | 1 | | +| test.rs:486:26:486:26 | 1 | test.rs:486:13:486:26 | BreakExpr | | +| test.rs:488:9:488:9 | 0 | test.rs:483:18:489:5 | BlockExpr | | +| test.rs:492:1:498:1 | enter test_nested_function2 | test.rs:493:5:493:18 | LetStmt | | +| test.rs:492:1:498:1 | exit test_nested_function2 (normal) | test.rs:492:1:498:1 | exit test_nested_function2 | | +| test.rs:492:28:498:1 | BlockExpr | test.rs:492:1:498:1 | exit test_nested_function2 (normal) | | +| test.rs:493:5:493:18 | LetStmt | test.rs:493:17:493:17 | 0 | | +| test.rs:493:9:493:13 | x | test.rs:494:5:496:5 | nested | match | +| test.rs:493:17:493:17 | 0 | test.rs:493:9:493:13 | x | | +| test.rs:494:5:496:5 | enter nested | test.rs:494:15:494:15 | x | | +| test.rs:494:5:496:5 | exit nested (normal) | test.rs:494:5:496:5 | exit nested | | +| test.rs:494:5:496:5 | nested | test.rs:497:5:497:19 | ExprStmt | | +| test.rs:494:15:494:15 | x | test.rs:494:15:494:25 | Param | match | +| test.rs:494:15:494:25 | Param | test.rs:495:9:495:16 | ExprStmt | | +| test.rs:494:28:496:5 | BlockExpr | test.rs:494:5:496:5 | exit nested (normal) | | +| test.rs:495:9:495:10 | * ... | test.rs:495:15:495:15 | 1 | | +| test.rs:495:9:495:15 | ... += ... | test.rs:494:28:496:5 | BlockExpr | | +| test.rs:495:9:495:16 | ExprStmt | test.rs:495:10:495:10 | x | | +| test.rs:495:10:495:10 | x | test.rs:495:9:495:10 | * ... | | +| test.rs:495:15:495:15 | 1 | test.rs:495:9:495:15 | ... += ... | | +| test.rs:497:5:497:10 | nested | test.rs:497:17:497:17 | x | | +| test.rs:497:5:497:18 | CallExpr | test.rs:492:28:498:1 | BlockExpr | | +| test.rs:497:5:497:19 | ExprStmt | test.rs:497:5:497:10 | nested | | +| test.rs:497:12:497:17 | RefExpr | test.rs:497:5:497:18 | CallExpr | | +| test.rs:497:17:497:17 | x | test.rs:497:12:497:17 | RefExpr | | +| test.rs:509:5:511:5 | enter new | test.rs:509:12:509:12 | a | | +| test.rs:509:5:511:5 | exit new (normal) | test.rs:509:5:511:5 | exit new | | +| test.rs:509:12:509:12 | a | test.rs:509:12:509:17 | Param | match | +| test.rs:509:12:509:17 | Param | test.rs:510:23:510:23 | a | | +| test.rs:509:28:511:5 | BlockExpr | test.rs:509:5:511:5 | exit new (normal) | | +| test.rs:510:9:510:25 | RecordExpr | test.rs:509:28:511:5 | BlockExpr | | +| test.rs:510:23:510:23 | a | test.rs:510:9:510:25 | RecordExpr | | +| test.rs:513:5:515:5 | enter negated | test.rs:513:16:513:19 | self | | +| test.rs:513:5:515:5 | exit negated (normal) | test.rs:513:5:515:5 | exit negated | | +| test.rs:513:16:513:19 | SelfParam | test.rs:514:23:514:26 | self | | +| test.rs:513:16:513:19 | self | test.rs:513:16:513:19 | SelfParam | | +| test.rs:513:30:515:5 | BlockExpr | test.rs:513:5:515:5 | exit negated (normal) | | +| test.rs:514:9:514:30 | RecordExpr | test.rs:513:30:515:5 | BlockExpr | | +| test.rs:514:23:514:26 | self | test.rs:514:23:514:28 | FieldExpr | | +| test.rs:514:23:514:28 | FieldExpr | test.rs:514:9:514:30 | RecordExpr | | +| test.rs:517:5:519:5 | enter multifly_add | test.rs:517:26:517:29 | self | | +| test.rs:517:5:519:5 | exit multifly_add (normal) | test.rs:517:5:519:5 | exit multifly_add | | +| test.rs:517:21:517:29 | SelfParam | test.rs:517:32:517:32 | a | | +| test.rs:517:26:517:29 | self | test.rs:517:21:517:29 | SelfParam | | +| test.rs:517:32:517:32 | a | test.rs:517:32:517:37 | Param | match | +| test.rs:517:32:517:37 | Param | test.rs:517:40:517:40 | b | | +| test.rs:517:40:517:40 | b | test.rs:517:40:517:45 | Param | match | +| test.rs:517:40:517:45 | Param | test.rs:518:9:518:34 | ExprStmt | | +| test.rs:517:48:519:5 | BlockExpr | test.rs:517:5:519:5 | exit multifly_add (normal) | | +| test.rs:518:9:518:12 | self | test.rs:518:9:518:14 | FieldExpr | | +| test.rs:518:9:518:14 | FieldExpr | test.rs:518:19:518:22 | self | | +| test.rs:518:9:518:33 | ... = ... | test.rs:517:48:519:5 | BlockExpr | | +| test.rs:518:9:518:34 | ExprStmt | test.rs:518:9:518:12 | self | | +| test.rs:518:18:518:33 | ... + ... | test.rs:518:9:518:33 | ... = ... | | +| test.rs:518:19:518:22 | self | test.rs:518:19:518:24 | FieldExpr | | +| test.rs:518:19:518:24 | FieldExpr | test.rs:518:28:518:28 | a | | +| test.rs:518:19:518:28 | ... * ... | test.rs:518:33:518:33 | b | | +| test.rs:518:28:518:28 | a | test.rs:518:19:518:28 | ... * ... | | +| test.rs:518:33:518:33 | b | test.rs:518:18:518:33 | ... + ... | | breakTarget | test.rs:34:17:34:21 | BreakExpr | test.rs:28:9:40:9 | LoopExpr | | test.rs:48:21:48:25 | BreakExpr | test.rs:46:13:53:13 | LoopExpr | @@ -1090,9 +1106,9 @@ breakTarget | test.rs:197:17:197:28 | BreakExpr | test.rs:195:13:200:9 | LoopExpr | | test.rs:210:17:210:35 | BreakExpr | test.rs:208:13:213:9 | LoopExpr | | test.rs:222:13:222:30 | BreakExpr | test.rs:221:13:223:9 | BlockExpr | -| test.rs:463:13:463:26 | BreakExpr | test.rs:460:18:471:5 | BlockExpr | -| test.rs:467:13:467:26 | BreakExpr | test.rs:460:18:471:5 | BlockExpr | -| test.rs:479:13:479:26 | BreakExpr | test.rs:476:18:482:5 | BlockExpr | +| test.rs:470:13:470:26 | BreakExpr | test.rs:467:18:478:5 | BlockExpr | +| test.rs:474:13:474:26 | BreakExpr | test.rs:467:18:478:5 | BlockExpr | +| test.rs:486:13:486:26 | BreakExpr | test.rs:483:18:489:5 | BlockExpr | continueTarget | test.rs:37:17:37:24 | ContinueExpr | test.rs:28:9:40:9 | LoopExpr | | test.rs:63:21:63:28 | ContinueExpr | test.rs:61:13:68:13 | LoopExpr | diff --git a/rust/ql/test/library-tests/controlflow/test.rs b/rust/ql/test/library-tests/controlflow/test.rs index 42094c5432e5..42285f42b719 100644 --- a/rust/ql/test/library-tests/controlflow/test.rs +++ b/rust/ql/test/library-tests/controlflow/test.rs @@ -277,6 +277,13 @@ mod logical_operators { fn test_and_return(a: bool) { a && return; } + + fn test_and_true(a: bool) -> i64 { + if (a && true) { + return 1; + } + 0 + } } mod question_mark_operator { From 1c2fdc29a333ef6ff258fa8d4c7dc5ede1c1ffd1 Mon Sep 17 00:00:00 2001 From: Tom Hvitved Date: Tue, 19 Nov 2024 15:19:08 +0100 Subject: [PATCH 335/347] Rust: Add more local data flow tests --- .../dataflow/local/DataFlowStep.expected | 24 ++++++++++++++++ .../test/library-tests/dataflow/local/main.rs | 28 +++++++++++++++++++ 2 files changed, 52 insertions(+) diff --git a/rust/ql/test/library-tests/dataflow/local/DataFlowStep.expected b/rust/ql/test/library-tests/dataflow/local/DataFlowStep.expected index 8cc12598f62b..d52e96096008 100644 --- a/rust/ql/test/library-tests/dataflow/local/DataFlowStep.expected +++ b/rust/ql/test/library-tests/dataflow/local/DataFlowStep.expected @@ -83,3 +83,27 @@ | main.rs:111:14:111:14 | n | main.rs:111:14:111:14 | [SSA] n | | main.rs:111:20:111:26 | CallExpr | main.rs:110:5:113:5 | MatchExpr | | main.rs:112:17:112:23 | CallExpr | main.rs:110:5:113:5 | MatchExpr | +| main.rs:117:9:117:9 | [SSA] a | main.rs:118:5:118:5 | a | +| main.rs:117:9:117:9 | a | main.rs:117:9:117:9 | [SSA] a | +| main.rs:117:13:117:17 | BlockExpr | main.rs:117:9:117:9 | a | +| main.rs:117:15:117:15 | 0 | main.rs:117:13:117:17 | BlockExpr | +| main.rs:118:5:118:5 | a | main.rs:116:31:119:1 | BlockExpr | +| main.rs:121:22:121:22 | [SSA] b | main.rs:123:12:123:12 | b | +| main.rs:121:22:121:22 | b | main.rs:121:22:121:22 | [SSA] b | +| main.rs:122:9:122:9 | [SSA] a | main.rs:128:5:128:5 | a | +| main.rs:122:9:122:9 | a | main.rs:122:9:122:9 | [SSA] a | +| main.rs:122:13:127:5 | BlockExpr | main.rs:122:9:122:9 | a | +| main.rs:123:12:123:12 | b | main.rs:123:9:125:9 | IfExpr | +| main.rs:124:13:124:26 | BreakExpr | main.rs:122:13:127:5 | BlockExpr | +| main.rs:124:26:124:26 | 1 | main.rs:124:13:124:26 | BreakExpr | +| main.rs:126:9:126:9 | 2 | main.rs:122:13:127:5 | BlockExpr | +| main.rs:128:5:128:5 | a | main.rs:121:38:129:1 | BlockExpr | +| main.rs:131:22:131:22 | [SSA] b | main.rs:133:12:133:12 | b | +| main.rs:131:22:131:22 | b | main.rs:131:22:131:22 | [SSA] b | +| main.rs:132:9:132:9 | [SSA] a | main.rs:138:5:138:5 | a | +| main.rs:132:9:132:9 | a | main.rs:132:9:132:9 | [SSA] a | +| main.rs:132:13:137:5 | BlockExpr | main.rs:132:9:132:9 | a | +| main.rs:133:12:133:12 | b | main.rs:133:9:135:9 | IfExpr | +| main.rs:134:26:134:26 | 1 | main.rs:134:13:134:26 | BreakExpr | +| main.rs:136:22:136:22 | 2 | main.rs:136:9:136:22 | BreakExpr | +| main.rs:138:5:138:5 | a | main.rs:131:38:139:1 | BlockExpr | diff --git a/rust/ql/test/library-tests/dataflow/local/main.rs b/rust/ql/test/library-tests/dataflow/local/main.rs index fb79baa70bdb..dea41118b1d7 100644 --- a/rust/ql/test/library-tests/dataflow/local/main.rs +++ b/rust/ql/test/library-tests/dataflow/local/main.rs @@ -113,6 +113,31 @@ fn option_pattern_match() { } } +fn block_expression1() -> i64 { + let a = { 0 }; + a +} + +fn block_expression2(b: bool) -> i64 { + let a = 'block: { + if b { + break 'block 1; + }; + 2 + }; + a +} + +fn block_expression3(b: bool) -> i64 { + let a = 'block: { + if b { + break 'block 1; + } + break 'block 2; + }; + a +} + fn main() { direct(); variable_usage(); @@ -125,4 +150,7 @@ fn main() { struct_field(); struct_pattern_match(); option_pattern_match(); + block_expression1(); + block_expression2(true); + block_expression3(true); } From c8736e8a3da54a65adaf8e837e18b025c65da608 Mon Sep 17 00:00:00 2001 From: Tom Hvitved Date: Mon, 4 Nov 2024 08:45:54 +0100 Subject: [PATCH 336/347] Rust: Auto-generate `CfgNodes.qll` --- misc/codegen/codegen.py | 2 + misc/codegen/generators/qlgen.py | 24 + misc/codegen/lib/ql.py | 17 + misc/codegen/lib/schema.py | 1 + misc/codegen/lib/schemadefs.py | 3 +- misc/codegen/loaders/schemaloader.py | 1 + misc/codegen/templates/ql_cfg_nodes.mustache | 199 + rust/codegen.conf | 1 + rust/ql/.generated.list | 1 + rust/ql/.gitattributes | 1 + .../lib/codeql/rust/controlflow/CfgNodes.qll | 6 +- .../controlflow/internal/CfgConsistency.qll | 23 + .../rust/controlflow/internal/CfgNodes.qll | 116 + .../internal/generated/CfgNodes.qll | 3657 +++++++++++++++++ .../rust/elements/internal/AstNodeImpl.qll | 33 + .../lib/codeql/rust/internal/CachedStages.qll | 3 + .../diagnostics/CfgConsistencyCounts.expected | 1 + rust/schema/annotations.py | 106 +- 18 files changed, 4139 insertions(+), 56 deletions(-) create mode 100644 misc/codegen/templates/ql_cfg_nodes.mustache create mode 100644 rust/ql/lib/codeql/rust/controlflow/internal/CfgNodes.qll create mode 100644 rust/ql/lib/codeql/rust/controlflow/internal/generated/CfgNodes.qll diff --git a/misc/codegen/codegen.py b/misc/codegen/codegen.py index acc8e59bba5f..ce991b6f0d4b 100755 --- a/misc/codegen/codegen.py +++ b/misc/codegen/codegen.py @@ -64,6 +64,8 @@ def _parse_args() -> argparse.Namespace: help="registry file containing information about checked-in generated code. A .gitattributes" "file is generated besides it to mark those files with linguist-generated=true. Must" "be in a directory containing all generated code."), + p.add_argument("--ql-cfg-output", + help="output directory for QL CFG layer (optional)."), ] p.add_argument("--script-name", help="script name to put in header comments of generated files. By default, the path of this " diff --git a/misc/codegen/generators/qlgen.py b/misc/codegen/generators/qlgen.py index c5e7153489b6..f1a68f6bc014 100755 --- a/misc/codegen/generators/qlgen.py +++ b/misc/codegen/generators/qlgen.py @@ -160,6 +160,8 @@ def get_ql_class(cls: schema.Class, lookup: typing.Dict[str, schema.Class]) -> q prop = get_ql_property(cls, p, lookup, prev_child) if prop.is_child: prev_child = prop.singular + if prop.type in lookup and lookup[prop.type].cfg: + prop.cfg = True properties.append(prop) return ql.Class( name=cls.name, @@ -171,6 +173,16 @@ def get_ql_class(cls: schema.Class, lookup: typing.Dict[str, schema.Class]) -> q doc=cls.doc, hideable="ql_hideable" in cls.pragmas, internal="ql_internal" in cls.pragmas, + cfg=cls.cfg, + ) + + +def get_ql_cfg_class(cls: schema.Class, lookup: typing.Dict[str, ql.Class]) -> ql.CfgClass: + return ql.CfgClass( + name=cls.name, + bases=[base for base in cls.bases if lookup[base.base].cfg], + properties=cls.properties, + doc=cls.doc ) @@ -361,6 +373,7 @@ def generate(opts, renderer): input = opts.schema out = opts.ql_output stub_out = opts.ql_stub_output + cfg_out = opts.ql_cfg_output test_out = opts.ql_test_output missing_test_source_filename = "MISSING_SOURCE.txt" include_file = stub_out.with_suffix(".qll") @@ -385,6 +398,7 @@ def generate(opts, renderer): imports = {} imports_impl = {} classes_used_by = {} + cfg_classes = [] generated_import_prefix = get_import(out, opts.root_dir) registry = opts.generated_registry or pathlib.Path( os.path.commonpath((out, stub_out, test_out)), ".generated.list") @@ -402,6 +416,8 @@ def generate(opts, renderer): imports[c.name] = path path_impl = get_import(stub_out / c.dir / "internal" / c.name, opts.root_dir) imports_impl[c.name + "Impl"] = path_impl + "Impl" + if c.cfg: + cfg_classes.append(get_ql_cfg_class(c, classes)) for c in classes.values(): qll = out / c.path.with_suffix(".qll") @@ -411,6 +427,14 @@ def generate(opts, renderer): c.import_prefix = generated_import_prefix renderer.render(c, qll) + if cfg_out: + cfg_classes_val = ql.CfgClasses( + include_file_import=get_import(include_file, opts.root_dir), + classes=cfg_classes + ) + cfg_qll = cfg_out / "CfgNodes.qll" + renderer.render(cfg_classes_val, cfg_qll) + for c in data.classes.values(): path = _get_path(c) path_impl = _get_path_impl(c) diff --git a/misc/codegen/lib/ql.py b/misc/codegen/lib/ql.py index 1920a813e20d..1182c7f5dc16 100644 --- a/misc/codegen/lib/ql.py +++ b/misc/codegen/lib/ql.py @@ -45,6 +45,7 @@ class Property: synth: bool = False type_is_hideable: bool = False internal: bool = False + cfg: bool = False def __post_init__(self): if self.tableparams: @@ -110,6 +111,7 @@ class Class: internal: bool = False doc: List[str] = field(default_factory=list) hideable: bool = False + cfg: bool = False def __post_init__(self): def get_bases(bases): return [Base(str(b), str(prev)) for b, prev in zip(bases, itertools.chain([""], bases))] @@ -333,3 +335,18 @@ class ConstructorStub: cls: "Synth.FinalClass" import_prefix: str + + +@dataclass +class CfgClass: + name: str + bases: List[Base] = field(default_factory=list) + properties: List[Property] = field(default_factory=list) + doc: List[str] = field(default_factory=list) + + +@dataclass +class CfgClasses: + template: ClassVar = 'ql_cfg_nodes' + include_file_import: Optional[str] = None + classes: List[CfgClass] = field(default_factory=list) diff --git a/misc/codegen/lib/schema.py b/misc/codegen/lib/schema.py index c5c3dc810b68..23f1aea2ba42 100644 --- a/misc/codegen/lib/schema.py +++ b/misc/codegen/lib/schema.py @@ -94,6 +94,7 @@ class Class: properties: List[Property] = field(default_factory=list) pragmas: List[str] | Dict[str, object] = field(default_factory=dict) doc: List[str] = field(default_factory=list) + cfg: bool = False def __post_init__(self): if not isinstance(self.pragmas, dict): diff --git a/misc/codegen/lib/schemadefs.py b/misc/codegen/lib/schemadefs.py index 997b85b4ca6a..32d3a6b85aed 100644 --- a/misc/codegen/lib/schemadefs.py +++ b/misc/codegen/lib/schemadefs.py @@ -279,7 +279,7 @@ def __or__(self, other: _schema.PropertyModifier): drop = object() -def annotate(annotated_cls: type, add_bases: _Iterable[type] | None = None, replace_bases: _Dict[type, type] | None = None) -> _Callable[[type], _PropertyAnnotation]: +def annotate(annotated_cls: type, add_bases: _Iterable[type] | None = None, replace_bases: _Dict[type, type] | None = None, cfg: bool = False) -> _Callable[[type], _PropertyAnnotation]: """ Add or modify schema annotations after a class has been defined previously. @@ -298,6 +298,7 @@ def decorator(cls: type) -> _PropertyAnnotation: annotated_cls.__bases__ = tuple(replace_bases.get(b, b) for b in annotated_cls.__bases__) if add_bases: annotated_cls.__bases__ += tuple(add_bases) + annotated_cls.__cfg__ = cfg for a in dir(cls): if a.startswith(_schema.inheritable_pragma_prefix): setattr(annotated_cls, a, getattr(cls, a)) diff --git a/misc/codegen/loaders/schemaloader.py b/misc/codegen/loaders/schemaloader.py index 069e3b654740..dd1edee1de09 100644 --- a/misc/codegen/loaders/schemaloader.py +++ b/misc/codegen/loaders/schemaloader.py @@ -53,6 +53,7 @@ def _get_class(cls: type) -> schema.Class: bases=[b.__name__ for b in cls.__bases__ if b is not object], derived=derived, pragmas=pragmas, + cfg=cls.__cfg__ if hasattr(cls, "__cfg__") else False, # in the following we don't use `getattr` to avoid inheriting properties=[ a | _PropertyNamer(n) diff --git a/misc/codegen/templates/ql_cfg_nodes.mustache b/misc/codegen/templates/ql_cfg_nodes.mustache new file mode 100644 index 000000000000..fd969b1c59be --- /dev/null +++ b/misc/codegen/templates/ql_cfg_nodes.mustache @@ -0,0 +1,199 @@ +// generated by {{generator}}, do not edit +/** + * This module provides generated wrappers around the `CfgNode` type. + * + * INTERNAL: Do not import directly. + */ + +private import codeql.util.Location +private import codeql.util.Unit +private import {{include_file_import}} + +/** Provides the input to `MakeCfgNodes` */ +signature module InputSig { + class CfgNode { + AstNode getAstNode(); + + string toString(); + + Loc getLocation(); + } + + AstNode getDesugared(AstNode n); +} + +/** + * Given a `CfgNode` implementation, provides the module `Nodes` that + * contains wrappers around `CfgNode` for relevant classes. + */ +module MakeCfgNodes Input> { + private import Input + + final private class AstNodeFinal = AstNode; + + final private class CfgNodeFinal = CfgNode; + + /** + * INTERNAL: Do not expose. + */ + abstract class ParentAstNode extends AstNodeFinal { + /** + * Holds if `child` is a (possibly nested) child of this AST node + * for which we would like to find a matching CFG child. + */ + abstract predicate relevantChild(AstNode child); + } + + /** + * INTERNAL: Do not expose. + */ + abstract class ChildMapping extends Unit { + /** + * Holds if `child` is a (possibly nested) child of AST node `parent` + * for which we would like to find a matching CFG child. + */ + final predicate relevantChild(AstNode parent, AstNode child) { + parent.(ParentAstNode).relevantChild(child) + } + + /** + * Holds if there is a control-flow path from `cfn` to `cfnChild`, where `cfn` + * is a control-flow node for this AST node, and `cfnChild` is a control-flow + * node for `child`. + * + * This predicate should be implemented at the place where `MakeCfgNodes` is + * invoked. Ideally, `MakeCfgNodes` should be a higher-order parameterized + * module, but since that is currently not supported, we achieve the "callback" + * effect using this `abstract` class instead. + */ + cached + abstract predicate hasCfgChild(AstNode parent, AstNode child, CfgNode cfn, CfgNode cfnChild); + } + + /** Provides sub classes of `CfgNode`. */ + module Nodes { + {{#classes}} + private final class Parent{{name}} extends ParentAstNode, {{name}} { + override predicate relevantChild(AstNode child) { + none() + {{#properties}} + {{#cfg}} + or + child = this.{{getter}}({{#is_indexed}}_{{/is_indexed}}) + {{/cfg}} + {{/properties}} + } + } + + /** + {{#doc}} + * {{.}} + {{/doc}} + */ + final class {{name}}CfgNode extends CfgNodeFinal{{#bases}}, {{.}}CfgNode{{/bases}} { + private {{name}} node; + + {{name}}CfgNode() { + node = this.getAstNode() + } + + /** Gets the underlying `{{name}}`. */ + {{name}} get{{name}}() { result = node } + + {{#properties}} + /** + * {{>ql_property_doc}} * + {{#description}} + * {{.}} + {{/description}} + {{#internal}} + * INTERNAL: Do not use. + {{/internal}} + */ + {{type}}{{#cfg}}CfgNode{{/cfg}} {{getter}}({{#is_indexed}}int index{{/is_indexed}}) { + {{#cfg}} + any(ChildMapping mapping).hasCfgChild(node, node.{{getter}}({{#is_indexed}}index{{/is_indexed}}), this, result) + {{/cfg}} + {{^cfg}} + {{^is_predicate}}result = {{/is_predicate}}node.{{getter}}({{#is_indexed}}index{{/is_indexed}}) + {{/cfg}} + } + + {{#is_optional}} + /** + * Holds if `{{getter}}({{#is_repeated}}index{{/is_repeated}})` exists. + {{#internal}} + * INTERNAL: Do not use. + {{/internal}} + */ + predicate has{{singular}}({{#is_repeated}}int index{{/is_repeated}}) { + exists(this.{{getter}}({{#is_repeated}}index{{/is_repeated}})) + } + {{/is_optional}} + {{#is_indexed}} + + /** + * Gets any of the {{doc_plural}}. + {{#internal}} + * INTERNAL: Do not use. + {{/internal}} + */ + {{type}}{{#cfg}}CfgNode{{/cfg}} {{indefinite_getter}}() { + result = this.{{getter}}(_) + } + {{^is_optional}} + + /** + * Gets the number of {{doc_plural}}. + {{#internal}} + * INTERNAL: Do not use. + {{/internal}} + */ + int getNumberOf{{plural}}() { + result = count(int i | exists(this.{{getter}}(i))) + } + {{/is_optional}} + {{/is_indexed}} + {{#is_unordered}} + /** + * Gets the number of {{doc_plural}}. + {{#internal}} + * INTERNAL: Do not use. + {{/internal}} + */ + int getNumberOf{{plural}}() { + result = count(this.{{getter}}()) + } + {{/is_unordered}} + {{/properties}} + } + {{/classes}} + } + + module Consistency { + private predicate hasCfgNode(AstNode astNode) { + astNode = any(CfgNode cfgNode).getAstNode() + } + + query predicate missingCfgChild(CfgNode parent, string pred, int i, AstNode child) { + none() + {{#classes}} + {{#properties}} + {{#cfg}} + or + pred = "{{getter}}" and + parent = any(Nodes::{{name}}CfgNode cfgNode, {{name}} astNode | + astNode = cfgNode.get{{name}}() and + child = getDesugared(astNode.{{getter}}({{#is_indexed}}i{{/is_indexed}})) + {{^is_indexed}}and i = -1{{/is_indexed}} and + hasCfgNode(child) and + not child = cfgNode.{{getter}}({{#is_indexed}}i{{/is_indexed}}).getAstNode() + | + cfgNode + ) + {{/cfg}} + {{/properties}} + {{/classes}} + } + } +} \ No newline at end of file diff --git a/rust/codegen.conf b/rust/codegen.conf index 29b6edc89853..d40fada446bb 100644 --- a/rust/codegen.conf +++ b/rust/codegen.conf @@ -4,6 +4,7 @@ --dbscheme=ql/lib/rust.dbscheme --ql-output=ql/lib/codeql/rust/elements/internal/generated --ql-stub-output=ql/lib/codeql/rust/elements +--ql-cfg-output=ql/lib/codeql/rust/controlflow/internal/generated --ql-test-output=ql/test/extractor-tests/generated --rust-output=extractor/src/generated --script-name=codegen diff --git a/rust/ql/.generated.list b/rust/ql/.generated.list index ca25e0533fc8..11980eb55dff 100644 --- a/rust/ql/.generated.list +++ b/rust/ql/.generated.list @@ -1,3 +1,4 @@ +lib/codeql/rust/controlflow/internal/generated/CfgNodes.qll 55c20303ad50f17ddea728eb840304e0a634821adb7b13471a9ce55b71ed3886 13509512ffb59a9634ed2dc3c4969af26d5ba2d1502d98dc0c107a99392ce892 lib/codeql/rust/elements/Abi.qll 4c973d28b6d628f5959d1f1cc793704572fd0acaae9a97dfce82ff9d73f73476 250f68350180af080f904cd34cb2af481c5c688dc93edf7365fd0ae99855e893 lib/codeql/rust/elements/ArgList.qll 661f5100f5d3ef8351452d9058b663a2a5c720eea8cf11bedd628969741486a2 28e424aac01a90fb58cd6f9f83c7e4cf379eea39e636bc0ba07efc818be71c71 lib/codeql/rust/elements/ArrayExpr.qll a3e6e122632f4011644ec31b37f88b32fe3f2b7e388e7e878a6883309937049f 12ccb5873d95c433da5606fd371d182ef2f71b78d0c53c2d6dec10fa45852bdc diff --git a/rust/ql/.gitattributes b/rust/ql/.gitattributes index a532f142ec98..68b893ba9c78 100644 --- a/rust/ql/.gitattributes +++ b/rust/ql/.gitattributes @@ -1,5 +1,6 @@ /.generated.list linguist-generated /.gitattributes linguist-generated +/lib/codeql/rust/controlflow/internal/generated/CfgNodes.qll linguist-generated /lib/codeql/rust/elements/Abi.qll linguist-generated /lib/codeql/rust/elements/ArgList.qll linguist-generated /lib/codeql/rust/elements/ArrayExpr.qll linguist-generated diff --git a/rust/ql/lib/codeql/rust/controlflow/CfgNodes.qll b/rust/ql/lib/codeql/rust/controlflow/CfgNodes.qll index 4a51506dbc0a..1a7c7e212b91 100644 --- a/rust/ql/lib/codeql/rust/controlflow/CfgNodes.qll +++ b/rust/ql/lib/codeql/rust/controlflow/CfgNodes.qll @@ -5,7 +5,9 @@ private import rust private import ControlFlowGraph -private import internal.ControlFlowGraphImpl +private import internal.ControlFlowGraphImpl as CfgImpl +private import internal.CfgNodes +import Nodes /** A CFG node that corresponds to an element in the AST. */ class AstCfgNode extends CfgNode { @@ -57,4 +59,4 @@ class MethodCallExprCfgNode extends ExprCfgNode { MethodCallExpr getMethodCallExpr() { result = node } } -final class ExitCfgNode = ExitNode; +final class ExitCfgNode = CfgImpl::ExitNode; diff --git a/rust/ql/lib/codeql/rust/controlflow/internal/CfgConsistency.qll b/rust/ql/lib/codeql/rust/controlflow/internal/CfgConsistency.qll index 2722661494d6..0f178726ad8a 100644 --- a/rust/ql/lib/codeql/rust/controlflow/internal/CfgConsistency.qll +++ b/rust/ql/lib/codeql/rust/controlflow/internal/CfgConsistency.qll @@ -8,6 +8,8 @@ import Consistency private import codeql.rust.controlflow.ControlFlowGraph private import codeql.rust.controlflow.internal.ControlFlowGraphImpl as CfgImpl private import codeql.rust.controlflow.internal.Completion +private import codeql.rust.controlflow.internal.CfgNodes::Consistency as CfgNodes +private import codeql.rust.Diagnostics private predicate nonPostOrderExpr(Expr e) { not e instanceof LetExpr and @@ -54,6 +56,24 @@ query predicate deadEnd(CfgImpl::Node node) { not letElsePanic(node.getAstNode()) } +pragma[nomagic] +private predicate successfullyExtractedFile(File f) { + not exists(ExtractionWarning ee | ee.getLocation().getFile() = f) +} + +query predicate missingCfgChild(CfgNode parent, string pred, int i, AstNode child) { + CfgNodes::missingCfgChild(parent, pred, i, child) and + successfullyExtractedFile(child.getLocation().getFile()) and + not exists(AstNode last, CfgImpl::Completion c | CfgImpl::last(child, last, c) | + // In for example `if (a && true) ...` there is no RHS CFG node going into the + // `[false] a && true` operation + strictcount(ConditionalSuccessor cs | exists(last.getACfgNode().getASuccessor(cs)) | cs) = 1 + or + // In for example `x && return`, there is no RHS CFG node going into the `&&` operation + not c instanceof CfgImpl::NormalCompletion + ) +} + /** * Gets counts of control flow graph inconsistencies of each type. */ @@ -99,4 +119,7 @@ int getCfgInconsistencyCounts(string type) { or type = "Non-PostOrderTree Expr node" and result = count(Expr e | nonPostOrderExpr(e) | e) + or + type = "Missing CFG child" and + result = count(CfgNode parent, string pred, int child | missingCfgChild(parent, pred, child, _)) } diff --git a/rust/ql/lib/codeql/rust/controlflow/internal/CfgNodes.qll b/rust/ql/lib/codeql/rust/controlflow/internal/CfgNodes.qll new file mode 100644 index 000000000000..3f5b3c0e4839 --- /dev/null +++ b/rust/ql/lib/codeql/rust/controlflow/internal/CfgNodes.qll @@ -0,0 +1,116 @@ +private import rust +private import codeql.rust.controlflow.internal.generated.CfgNodes +private import codeql.rust.controlflow.internal.ControlFlowGraphImpl as CfgImpl +private import codeql.rust.controlflow.ControlFlowGraph +private import codeql.rust.controlflow.BasicBlocks +private import codeql.rust.controlflow.CfgNodes +private import codeql.rust.internal.CachedStages + +private predicate isPostOrder(AstNode n) { + n instanceof Expr and + not n instanceof LetExpr + or + n instanceof OrPat + or + n instanceof IdentPat + or + n instanceof LiteralPat + or + n instanceof Param +} + +private module CfgNodesInput implements InputSig { + private import codeql.rust.controlflow.ControlFlowGraph as Cfg + + class CfgNode = AstCfgNode; + + private AstNode desugar(AstNode n) { + result = n.(ParenPat).getPat() + or + result = n.(ParenExpr).getExpr() + } + + AstNode getDesugared(AstNode n) { + result = getDesugared(desugar(n)) + or + not exists(desugar(n)) and + result = n + } +} + +import MakeCfgNodes + +private class ChildMappingImpl extends ChildMapping { + /** Gets a CFG node for `child`, where `child` is a relevant child node of `parent`. */ + private CfgNode getRelevantChildCfgNode(AstNode parent, AstNode child) { + this.relevantChild(parent, child) and + result = CfgNodesInput::getDesugared(child).getACfgNode() + } + + pragma[nomagic] + private BasicBlock getARelevantBasicBlock(AstNode parent) { + result.getANode().getAstNode() = parent or + result.getANode() = this.getRelevantChildCfgNode(parent, _) + } + + /** + * Holds if CFG node `cfnChild` can reach basic block `bb`, without going + * through an intermediate block that contains a CFG node for `parent` or + * any other relevant child of `parent`. + */ + pragma[nomagic] + predicate childNodeReachesBasicBlock( + AstNode parent, AstNode child, CfgNode cfnChild, BasicBlock bb + ) { + exists(BasicBlock bb0 | + cfnChild = this.getRelevantChildCfgNode(parent, child) and + bb0.getANode() = cfnChild + | + bb = bb0 + or + not bb0.getANode().getAstNode() = parent and + if isPostOrder(parent) then bb = bb0.getASuccessor() else bb = bb0.getAPredecessor() + ) + or + exists(BasicBlock mid | + this.childNodeReachesBasicBlock(parent, child, cfnChild, mid) and + not mid = this.getARelevantBasicBlock(parent) and + if isPostOrder(parent) then bb = mid.getASuccessor() else bb = mid.getAPredecessor() + ) + } + + /** + * Holds if CFG node `cfnChild` can reach CFG node `cfnParent`, without going + * through an intermediate block that contains a CFG node for `parent`. + */ + pragma[nomagic] + predicate childNodeReachesParentNode( + AstNode parent, CfgNode cfnParent, AstNode child, CfgNode cfnChild + ) { + // `cfnChild` can reach `cfnParent` directly + exists(BasicBlock bb | + this.childNodeReachesBasicBlock(parent, child, cfnChild, bb) and + cfnParent.getAstNode() = parent + | + cfnParent = bb.getANode() + or + if isPostOrder(parent) + then cfnParent = bb.getASuccessor().getANode() + else cfnParent = bb.getAPredecessor().getANode() + ) + or + // `cfnChild` can reach `cfnParent` by going via another relevant child + exists(CfgNode cfnOtherChild | + this.childNodeReachesParentNode(parent, cfnParent, _, cfnOtherChild) and + exists(BasicBlock bb | + this.childNodeReachesBasicBlock(parent, child, cfnChild, bb) and + bb.getANode() = cfnOtherChild + ) + ) + } + + override predicate hasCfgChild(AstNode parent, AstNode child, AstCfgNode cfn, AstCfgNode cfnChild) { + Stages::CfgStage::ref() and + this.childNodeReachesParentNode(parent, cfn, child, cfnChild) + } +} diff --git a/rust/ql/lib/codeql/rust/controlflow/internal/generated/CfgNodes.qll b/rust/ql/lib/codeql/rust/controlflow/internal/generated/CfgNodes.qll new file mode 100644 index 000000000000..1cd67ef2cd11 --- /dev/null +++ b/rust/ql/lib/codeql/rust/controlflow/internal/generated/CfgNodes.qll @@ -0,0 +1,3657 @@ +// generated by codegen, do not edit +/** + * This module provides generated wrappers around the `CfgNode` type. + * + * INTERNAL: Do not import directly. + */ + +private import codeql.util.Location +private import codeql.util.Unit +private import codeql.rust.elements + +/** Provides the input to `MakeCfgNodes` */ +signature module InputSig { + class CfgNode { + AstNode getAstNode(); + + string toString(); + + Loc getLocation(); + } + + AstNode getDesugared(AstNode n); +} + +/** + * Given a `CfgNode` implementation, provides the module `Nodes` that + * contains wrappers around `CfgNode` for relevant classes. + */ +module MakeCfgNodes Input> { + private import Input + + final private class AstNodeFinal = AstNode; + + final private class CfgNodeFinal = CfgNode; + + /** + * INTERNAL: Do not expose. + */ + abstract class ParentAstNode extends AstNodeFinal { + /** + * Holds if `child` is a (possibly nested) child of this AST node + * for which we would like to find a matching CFG child. + */ + abstract predicate relevantChild(AstNode child); + } + + /** + * INTERNAL: Do not expose. + */ + abstract class ChildMapping extends Unit { + /** + * Holds if `child` is a (possibly nested) child of AST node `parent` + * for which we would like to find a matching CFG child. + */ + final predicate relevantChild(AstNode parent, AstNode child) { + parent.(ParentAstNode).relevantChild(child) + } + + /** + * Holds if there is a control-flow path from `cfn` to `cfnChild`, where `cfn` + * is a control-flow node for this AST node, and `cfnChild` is a control-flow + * node for `child`. + * + * This predicate should be implemented at the place where `MakeCfgNodes` is + * invoked. Ideally, `MakeCfgNodes` should be a higher-order parameterized + * module, but since that is currently not supported, we achieve the "callback" + * effect using this `abstract` class instead. + */ + cached + abstract predicate hasCfgChild(AstNode parent, AstNode child, CfgNode cfn, CfgNode cfnChild); + } + + /** Provides sub classes of `CfgNode`. */ + module Nodes { + final private class ParentArrayExpr extends ParentAstNode, ArrayExpr { + override predicate relevantChild(AstNode child) { + none() + or + child = this.getExpr(_) + } + } + + /** + * An array expression. For example: + * ```rust + * [1, 2, 3]; + * [1; 10]; + * ``` + */ + final class ArrayExprCfgNode extends CfgNodeFinal, ExprCfgNode { + private ArrayExpr node; + + ArrayExprCfgNode() { node = this.getAstNode() } + + /** Gets the underlying `ArrayExpr`. */ + ArrayExpr getArrayExpr() { result = node } + + /** + * Gets the `index`th attr of this array expression (0-based). + */ + Attr getAttr(int index) { result = node.getAttr(index) } + + /** + * Gets any of the attrs of this array expression. + */ + Attr getAnAttr() { result = this.getAttr(_) } + + /** + * Gets the number of attrs of this array expression. + */ + int getNumberOfAttrs() { result = count(int i | exists(this.getAttr(i))) } + + /** + * Gets the `index`th expression of this array expression (0-based). + */ + ExprCfgNode getExpr(int index) { + any(ChildMapping mapping).hasCfgChild(node, node.getExpr(index), this, result) + } + + /** + * Gets any of the expressions of this array expression. + */ + ExprCfgNode getAnExpr() { result = this.getExpr(_) } + + /** + * Gets the number of expressions of this array expression. + */ + int getNumberOfExprs() { result = count(int i | exists(this.getExpr(i))) } + } + + final private class ParentAsmExpr extends ParentAstNode, AsmExpr { + override predicate relevantChild(AstNode child) { + none() + or + child = this.getExpr() + } + } + + /** + * An inline assembly expression. For example: + * ```rust + * unsafe { + * builtin # asm(_); + * } + * ``` + */ + final class AsmExprCfgNode extends CfgNodeFinal, ExprCfgNode { + private AsmExpr node; + + AsmExprCfgNode() { node = this.getAstNode() } + + /** Gets the underlying `AsmExpr`. */ + AsmExpr getAsmExpr() { result = node } + + /** + * Gets the `index`th attr of this asm expression (0-based). + */ + Attr getAttr(int index) { result = node.getAttr(index) } + + /** + * Gets any of the attrs of this asm expression. + */ + Attr getAnAttr() { result = this.getAttr(_) } + + /** + * Gets the number of attrs of this asm expression. + */ + int getNumberOfAttrs() { result = count(int i | exists(this.getAttr(i))) } + + /** + * Gets the expression of this asm expression, if it exists. + */ + ExprCfgNode getExpr() { + any(ChildMapping mapping).hasCfgChild(node, node.getExpr(), this, result) + } + + /** + * Holds if `getExpr()` exists. + */ + predicate hasExpr() { exists(this.getExpr()) } + } + + final private class ParentAwaitExpr extends ParentAstNode, AwaitExpr { + override predicate relevantChild(AstNode child) { + none() + or + child = this.getExpr() + } + } + + /** + * An `await` expression. For example: + * ```rust + * async { + * let x = foo().await; + * x + * } + * ``` + */ + final class AwaitExprCfgNode extends CfgNodeFinal, ExprCfgNode { + private AwaitExpr node; + + AwaitExprCfgNode() { node = this.getAstNode() } + + /** Gets the underlying `AwaitExpr`. */ + AwaitExpr getAwaitExpr() { result = node } + + /** + * Gets the `index`th attr of this await expression (0-based). + */ + Attr getAttr(int index) { result = node.getAttr(index) } + + /** + * Gets any of the attrs of this await expression. + */ + Attr getAnAttr() { result = this.getAttr(_) } + + /** + * Gets the number of attrs of this await expression. + */ + int getNumberOfAttrs() { result = count(int i | exists(this.getAttr(i))) } + + /** + * Gets the expression of this await expression, if it exists. + */ + ExprCfgNode getExpr() { + any(ChildMapping mapping).hasCfgChild(node, node.getExpr(), this, result) + } + + /** + * Holds if `getExpr()` exists. + */ + predicate hasExpr() { exists(this.getExpr()) } + } + + final private class ParentBecomeExpr extends ParentAstNode, BecomeExpr { + override predicate relevantChild(AstNode child) { + none() + or + child = this.getExpr() + } + } + + /** + * A `become` expression. For example: + * ```rust + * fn fact_a(n: i32, a: i32) -> i32 { + * if n == 0 { + * a + * } else { + * become fact_a(n - 1, n * a) + * } + * } + * ``` + */ + final class BecomeExprCfgNode extends CfgNodeFinal, ExprCfgNode { + private BecomeExpr node; + + BecomeExprCfgNode() { node = this.getAstNode() } + + /** Gets the underlying `BecomeExpr`. */ + BecomeExpr getBecomeExpr() { result = node } + + /** + * Gets the `index`th attr of this become expression (0-based). + */ + Attr getAttr(int index) { result = node.getAttr(index) } + + /** + * Gets any of the attrs of this become expression. + */ + Attr getAnAttr() { result = this.getAttr(_) } + + /** + * Gets the number of attrs of this become expression. + */ + int getNumberOfAttrs() { result = count(int i | exists(this.getAttr(i))) } + + /** + * Gets the expression of this become expression, if it exists. + */ + ExprCfgNode getExpr() { + any(ChildMapping mapping).hasCfgChild(node, node.getExpr(), this, result) + } + + /** + * Holds if `getExpr()` exists. + */ + predicate hasExpr() { exists(this.getExpr()) } + } + + final private class ParentBinaryExpr extends ParentAstNode, BinaryExpr { + override predicate relevantChild(AstNode child) { + none() + or + child = this.getLhs() + or + child = this.getRhs() + } + } + + /** + * A binary operation expression. For example: + * ```rust + * x + y; + * x && y; + * x <= y; + * x = y; + * x += y; + * ``` + */ + final class BinaryExprCfgNode extends CfgNodeFinal, ExprCfgNode { + private BinaryExpr node; + + BinaryExprCfgNode() { node = this.getAstNode() } + + /** Gets the underlying `BinaryExpr`. */ + BinaryExpr getBinaryExpr() { result = node } + + /** + * Gets the `index`th attr of this binary expression (0-based). + */ + Attr getAttr(int index) { result = node.getAttr(index) } + + /** + * Gets any of the attrs of this binary expression. + */ + Attr getAnAttr() { result = this.getAttr(_) } + + /** + * Gets the number of attrs of this binary expression. + */ + int getNumberOfAttrs() { result = count(int i | exists(this.getAttr(i))) } + + /** + * Gets the lhs of this binary expression, if it exists. + */ + ExprCfgNode getLhs() { + any(ChildMapping mapping).hasCfgChild(node, node.getLhs(), this, result) + } + + /** + * Holds if `getLhs()` exists. + */ + predicate hasLhs() { exists(this.getLhs()) } + + /** + * Gets the operator name of this binary expression, if it exists. + */ + string getOperatorName() { result = node.getOperatorName() } + + /** + * Holds if `getOperatorName()` exists. + */ + predicate hasOperatorName() { exists(this.getOperatorName()) } + + /** + * Gets the rhs of this binary expression, if it exists. + */ + ExprCfgNode getRhs() { + any(ChildMapping mapping).hasCfgChild(node, node.getRhs(), this, result) + } + + /** + * Holds if `getRhs()` exists. + */ + predicate hasRhs() { exists(this.getRhs()) } + } + + final private class ParentBlockExpr extends ParentAstNode, BlockExpr { + override predicate relevantChild(AstNode child) { none() } + } + + /** + * A block expression. For example: + * ```rust + * { + * let x = 42; + * } + * ``` + * ```rust + * 'label: { + * let x = 42; + * x + * } + * ``` + */ + final class BlockExprCfgNode extends CfgNodeFinal, ExprCfgNode { + private BlockExpr node; + + BlockExprCfgNode() { node = this.getAstNode() } + + /** Gets the underlying `BlockExpr`. */ + BlockExpr getBlockExpr() { result = node } + + /** + * Gets the `index`th attr of this block expression (0-based). + */ + Attr getAttr(int index) { result = node.getAttr(index) } + + /** + * Gets any of the attrs of this block expression. + */ + Attr getAnAttr() { result = this.getAttr(_) } + + /** + * Gets the number of attrs of this block expression. + */ + int getNumberOfAttrs() { result = count(int i | exists(this.getAttr(i))) } + + /** + * Holds if this block expression is async. + */ + predicate isAsync() { node.isAsync() } + + /** + * Holds if this block expression is const. + */ + predicate isConst() { node.isConst() } + + /** + * Holds if this block expression is gen. + */ + predicate isGen() { node.isGen() } + + /** + * Holds if this block expression is move. + */ + predicate isMove() { node.isMove() } + + /** + * Holds if this block expression is try. + */ + predicate isTry() { node.isTry() } + + /** + * Holds if this block expression is unsafe. + */ + predicate isUnsafe() { node.isUnsafe() } + + /** + * Gets the label of this block expression, if it exists. + */ + Label getLabel() { result = node.getLabel() } + + /** + * Holds if `getLabel()` exists. + */ + predicate hasLabel() { exists(this.getLabel()) } + + /** + * Gets the statement list of this block expression, if it exists. + */ + StmtList getStmtList() { result = node.getStmtList() } + + /** + * Holds if `getStmtList()` exists. + */ + predicate hasStmtList() { exists(this.getStmtList()) } + } + + final private class ParentBoxPat extends ParentAstNode, BoxPat { + override predicate relevantChild(AstNode child) { + none() + or + child = this.getPat() + } + } + + /** + * A box pattern. For example: + * ```rust + * match x { + * box Option::Some(y) => y, + * box Option::None => 0, + * }; + * ``` + */ + final class BoxPatCfgNode extends CfgNodeFinal, PatCfgNode { + private BoxPat node; + + BoxPatCfgNode() { node = this.getAstNode() } + + /** Gets the underlying `BoxPat`. */ + BoxPat getBoxPat() { result = node } + + /** + * Gets the pat of this box pat, if it exists. + */ + PatCfgNode getPat() { + any(ChildMapping mapping).hasCfgChild(node, node.getPat(), this, result) + } + + /** + * Holds if `getPat()` exists. + */ + predicate hasPat() { exists(this.getPat()) } + } + + final private class ParentBreakExpr extends ParentAstNode, BreakExpr { + override predicate relevantChild(AstNode child) { + none() + or + child = this.getExpr() + } + } + + /** + * A break expression. For example: + * ```rust + * loop { + * if not_ready() { + * break; + * } + * } + * ``` + * ```rust + * let x = 'label: loop { + * if done() { + * break 'label 42; + * } + * }; + * ``` + * ```rust + * let x = 'label: { + * if exit() { + * break 'label 42; + * } + * 0; + * }; + * ``` + */ + final class BreakExprCfgNode extends CfgNodeFinal, ExprCfgNode { + private BreakExpr node; + + BreakExprCfgNode() { node = this.getAstNode() } + + /** Gets the underlying `BreakExpr`. */ + BreakExpr getBreakExpr() { result = node } + + /** + * Gets the `index`th attr of this break expression (0-based). + */ + Attr getAttr(int index) { result = node.getAttr(index) } + + /** + * Gets any of the attrs of this break expression. + */ + Attr getAnAttr() { result = this.getAttr(_) } + + /** + * Gets the number of attrs of this break expression. + */ + int getNumberOfAttrs() { result = count(int i | exists(this.getAttr(i))) } + + /** + * Gets the expression of this break expression, if it exists. + */ + ExprCfgNode getExpr() { + any(ChildMapping mapping).hasCfgChild(node, node.getExpr(), this, result) + } + + /** + * Holds if `getExpr()` exists. + */ + predicate hasExpr() { exists(this.getExpr()) } + + /** + * Gets the lifetime of this break expression, if it exists. + */ + Lifetime getLifetime() { result = node.getLifetime() } + + /** + * Holds if `getLifetime()` exists. + */ + predicate hasLifetime() { exists(this.getLifetime()) } + } + + final private class ParentCallExpr extends ParentAstNode, CallExpr { + override predicate relevantChild(AstNode child) { + none() + or + child = this.getExpr() + } + } + + /** + * A function call expression. For example: + * ```rust + * foo(42); + * foo::(42); + * foo[0](42); + * foo(1) = 4; + * ``` + */ + final class CallExprCfgNode extends CfgNodeFinal, CallExprBaseCfgNode { + private CallExpr node; + + CallExprCfgNode() { node = this.getAstNode() } + + /** Gets the underlying `CallExpr`. */ + CallExpr getCallExpr() { result = node } + + /** + * Gets the expression of this call expression, if it exists. + */ + ExprCfgNode getExpr() { + any(ChildMapping mapping).hasCfgChild(node, node.getExpr(), this, result) + } + + /** + * Holds if `getExpr()` exists. + */ + predicate hasExpr() { exists(this.getExpr()) } + } + + final private class ParentCallExprBase extends ParentAstNode, CallExprBase { + override predicate relevantChild(AstNode child) { none() } + } + + /** + * A function or method call expression. See `CallExpr` and `MethodCallExpr` for further details. + */ + final class CallExprBaseCfgNode extends CfgNodeFinal, ExprCfgNode { + private CallExprBase node; + + CallExprBaseCfgNode() { node = this.getAstNode() } + + /** Gets the underlying `CallExprBase`. */ + CallExprBase getCallExprBase() { result = node } + + /** + * Gets the argument list of this call expression base, if it exists. + */ + ArgList getArgList() { result = node.getArgList() } + + /** + * Holds if `getArgList()` exists. + */ + predicate hasArgList() { exists(this.getArgList()) } + + /** + * Gets the `index`th attr of this call expression base (0-based). + */ + Attr getAttr(int index) { result = node.getAttr(index) } + + /** + * Gets any of the attrs of this call expression base. + */ + Attr getAnAttr() { result = this.getAttr(_) } + + /** + * Gets the number of attrs of this call expression base. + */ + int getNumberOfAttrs() { result = count(int i | exists(this.getAttr(i))) } + } + + final private class ParentConstBlockPat extends ParentAstNode, ConstBlockPat { + override predicate relevantChild(AstNode child) { + none() + or + child = this.getBlockExpr() + } + } + + /** + * A const block pattern. For example: + * ```rust + * match x { + * const { 1 + 2 + 3 } => "ok", + * _ => "fail", + * }; + * ``` + */ + final class ConstBlockPatCfgNode extends CfgNodeFinal, PatCfgNode { + private ConstBlockPat node; + + ConstBlockPatCfgNode() { node = this.getAstNode() } + + /** Gets the underlying `ConstBlockPat`. */ + ConstBlockPat getConstBlockPat() { result = node } + + /** + * Gets the block expression of this const block pat, if it exists. + */ + BlockExprCfgNode getBlockExpr() { + any(ChildMapping mapping).hasCfgChild(node, node.getBlockExpr(), this, result) + } + + /** + * Holds if `getBlockExpr()` exists. + */ + predicate hasBlockExpr() { exists(this.getBlockExpr()) } + + /** + * Holds if this const block pat is const. + */ + predicate isConst() { node.isConst() } + } + + final private class ParentContinueExpr extends ParentAstNode, ContinueExpr { + override predicate relevantChild(AstNode child) { none() } + } + + /** + * A continue expression. For example: + * ```rust + * loop { + * if not_ready() { + * continue; + * } + * } + * ``` + * ```rust + * 'label: loop { + * if not_ready() { + * continue 'label; + * } + * } + * ``` + */ + final class ContinueExprCfgNode extends CfgNodeFinal, ExprCfgNode { + private ContinueExpr node; + + ContinueExprCfgNode() { node = this.getAstNode() } + + /** Gets the underlying `ContinueExpr`. */ + ContinueExpr getContinueExpr() { result = node } + + /** + * Gets the `index`th attr of this continue expression (0-based). + */ + Attr getAttr(int index) { result = node.getAttr(index) } + + /** + * Gets any of the attrs of this continue expression. + */ + Attr getAnAttr() { result = this.getAttr(_) } + + /** + * Gets the number of attrs of this continue expression. + */ + int getNumberOfAttrs() { result = count(int i | exists(this.getAttr(i))) } + + /** + * Gets the lifetime of this continue expression, if it exists. + */ + Lifetime getLifetime() { result = node.getLifetime() } + + /** + * Holds if `getLifetime()` exists. + */ + predicate hasLifetime() { exists(this.getLifetime()) } + } + + final private class ParentExpr extends ParentAstNode, Expr { + override predicate relevantChild(AstNode child) { none() } + } + + /** + * The base class for expressions. + */ + final class ExprCfgNode extends CfgNodeFinal { + private Expr node; + + ExprCfgNode() { node = this.getAstNode() } + + /** Gets the underlying `Expr`. */ + Expr getExpr() { result = node } + } + + final private class ParentFieldExpr extends ParentAstNode, FieldExpr { + override predicate relevantChild(AstNode child) { + none() + or + child = this.getExpr() + } + } + + /** + * A field access expression. For example: + * ```rust + * x.foo + * ``` + */ + final class FieldExprCfgNode extends CfgNodeFinal, ExprCfgNode { + private FieldExpr node; + + FieldExprCfgNode() { node = this.getAstNode() } + + /** Gets the underlying `FieldExpr`. */ + FieldExpr getFieldExpr() { result = node } + + /** + * Gets the `index`th attr of this field expression (0-based). + */ + Attr getAttr(int index) { result = node.getAttr(index) } + + /** + * Gets any of the attrs of this field expression. + */ + Attr getAnAttr() { result = this.getAttr(_) } + + /** + * Gets the number of attrs of this field expression. + */ + int getNumberOfAttrs() { result = count(int i | exists(this.getAttr(i))) } + + /** + * Gets the expression of this field expression, if it exists. + */ + ExprCfgNode getExpr() { + any(ChildMapping mapping).hasCfgChild(node, node.getExpr(), this, result) + } + + /** + * Holds if `getExpr()` exists. + */ + predicate hasExpr() { exists(this.getExpr()) } + + /** + * Gets the name reference of this field expression, if it exists. + */ + NameRef getNameRef() { result = node.getNameRef() } + + /** + * Holds if `getNameRef()` exists. + */ + predicate hasNameRef() { exists(this.getNameRef()) } + } + + final private class ParentForExpr extends ParentAstNode, ForExpr { + override predicate relevantChild(AstNode child) { + none() + or + child = this.getIterable() + or + child = this.getLoopBody() + or + child = this.getPat() + } + } + + /** + * A ForExpr. For example: + * ```rust + * todo!() + * ``` + */ + final class ForExprCfgNode extends CfgNodeFinal, ExprCfgNode { + private ForExpr node; + + ForExprCfgNode() { node = this.getAstNode() } + + /** Gets the underlying `ForExpr`. */ + ForExpr getForExpr() { result = node } + + /** + * Gets the `index`th attr of this for expression (0-based). + */ + Attr getAttr(int index) { result = node.getAttr(index) } + + /** + * Gets any of the attrs of this for expression. + */ + Attr getAnAttr() { result = this.getAttr(_) } + + /** + * Gets the number of attrs of this for expression. + */ + int getNumberOfAttrs() { result = count(int i | exists(this.getAttr(i))) } + + /** + * Gets the iterable of this for expression, if it exists. + */ + ExprCfgNode getIterable() { + any(ChildMapping mapping).hasCfgChild(node, node.getIterable(), this, result) + } + + /** + * Holds if `getIterable()` exists. + */ + predicate hasIterable() { exists(this.getIterable()) } + + /** + * Gets the label of this for expression, if it exists. + */ + Label getLabel() { result = node.getLabel() } + + /** + * Holds if `getLabel()` exists. + */ + predicate hasLabel() { exists(this.getLabel()) } + + /** + * Gets the loop body of this for expression, if it exists. + */ + BlockExprCfgNode getLoopBody() { + any(ChildMapping mapping).hasCfgChild(node, node.getLoopBody(), this, result) + } + + /** + * Holds if `getLoopBody()` exists. + */ + predicate hasLoopBody() { exists(this.getLoopBody()) } + + /** + * Gets the pat of this for expression, if it exists. + */ + PatCfgNode getPat() { + any(ChildMapping mapping).hasCfgChild(node, node.getPat(), this, result) + } + + /** + * Holds if `getPat()` exists. + */ + predicate hasPat() { exists(this.getPat()) } + } + + final private class ParentFormatArgsExpr extends ParentAstNode, FormatArgsExpr { + override predicate relevantChild(AstNode child) { + none() + or + child = this.getTemplate() + } + } + + /** + * A FormatArgsExpr. For example: + * ```rust + * todo!() + * ``` + */ + final class FormatArgsExprCfgNode extends CfgNodeFinal, ExprCfgNode { + private FormatArgsExpr node; + + FormatArgsExprCfgNode() { node = this.getAstNode() } + + /** Gets the underlying `FormatArgsExpr`. */ + FormatArgsExpr getFormatArgsExpr() { result = node } + + /** + * Gets the `index`th argument of this format arguments expression (0-based). + */ + FormatArgsArg getArg(int index) { result = node.getArg(index) } + + /** + * Gets any of the arguments of this format arguments expression. + */ + FormatArgsArg getAnArg() { result = this.getArg(_) } + + /** + * Gets the number of arguments of this format arguments expression. + */ + int getNumberOfArgs() { result = count(int i | exists(this.getArg(i))) } + + /** + * Gets the `index`th attr of this format arguments expression (0-based). + */ + Attr getAttr(int index) { result = node.getAttr(index) } + + /** + * Gets any of the attrs of this format arguments expression. + */ + Attr getAnAttr() { result = this.getAttr(_) } + + /** + * Gets the number of attrs of this format arguments expression. + */ + int getNumberOfAttrs() { result = count(int i | exists(this.getAttr(i))) } + + /** + * Gets the template of this format arguments expression, if it exists. + */ + ExprCfgNode getTemplate() { + any(ChildMapping mapping).hasCfgChild(node, node.getTemplate(), this, result) + } + + /** + * Holds if `getTemplate()` exists. + */ + predicate hasTemplate() { exists(this.getTemplate()) } + } + + final private class ParentFormatTemplateVariableAccess extends ParentAstNode, + FormatTemplateVariableAccess + { + override predicate relevantChild(AstNode child) { none() } + } + + /** + */ + final class FormatTemplateVariableAccessCfgNode extends CfgNodeFinal, PathExprBaseCfgNode { + private FormatTemplateVariableAccess node; + + FormatTemplateVariableAccessCfgNode() { node = this.getAstNode() } + + /** Gets the underlying `FormatTemplateVariableAccess`. */ + FormatTemplateVariableAccess getFormatTemplateVariableAccess() { result = node } + } + + final private class ParentIdentPat extends ParentAstNode, IdentPat { + override predicate relevantChild(AstNode child) { + none() + or + child = this.getPat() + } + } + + /** + * A binding pattern. For example: + * ```rust + * match x { + * Option::Some(y) => y, + * Option::None => 0, + * }; + * ``` + * ```rust + * match x { + * y@Option::Some(_) => y, + * Option::None => 0, + * }; + * ``` + */ + final class IdentPatCfgNode extends CfgNodeFinal, PatCfgNode { + private IdentPat node; + + IdentPatCfgNode() { node = this.getAstNode() } + + /** Gets the underlying `IdentPat`. */ + IdentPat getIdentPat() { result = node } + + /** + * Gets the `index`th attr of this ident pat (0-based). + */ + Attr getAttr(int index) { result = node.getAttr(index) } + + /** + * Gets any of the attrs of this ident pat. + */ + Attr getAnAttr() { result = this.getAttr(_) } + + /** + * Gets the number of attrs of this ident pat. + */ + int getNumberOfAttrs() { result = count(int i | exists(this.getAttr(i))) } + + /** + * Holds if this ident pat is mut. + */ + predicate isMut() { node.isMut() } + + /** + * Holds if this ident pat is reference. + */ + predicate isRef() { node.isRef() } + + /** + * Gets the name of this ident pat, if it exists. + */ + Name getName() { result = node.getName() } + + /** + * Holds if `getName()` exists. + */ + predicate hasName() { exists(this.getName()) } + + /** + * Gets the pat of this ident pat, if it exists. + */ + PatCfgNode getPat() { + any(ChildMapping mapping).hasCfgChild(node, node.getPat(), this, result) + } + + /** + * Holds if `getPat()` exists. + */ + predicate hasPat() { exists(this.getPat()) } + } + + final private class ParentIfExpr extends ParentAstNode, IfExpr { + override predicate relevantChild(AstNode child) { + none() + or + child = this.getCondition() + or + child = this.getElse() + or + child = this.getThen() + } + } + + /** + * An `if` expression. For example: + * ```rust + * if x == 42 { + * println!("that's the answer"); + * } + * ``` + * ```rust + * let y = if x > 0 { + * 1 + * } else { + * 0 + * }; + * ``` + */ + final class IfExprCfgNode extends CfgNodeFinal, ExprCfgNode { + private IfExpr node; + + IfExprCfgNode() { node = this.getAstNode() } + + /** Gets the underlying `IfExpr`. */ + IfExpr getIfExpr() { result = node } + + /** + * Gets the `index`th attr of this if expression (0-based). + */ + Attr getAttr(int index) { result = node.getAttr(index) } + + /** + * Gets any of the attrs of this if expression. + */ + Attr getAnAttr() { result = this.getAttr(_) } + + /** + * Gets the number of attrs of this if expression. + */ + int getNumberOfAttrs() { result = count(int i | exists(this.getAttr(i))) } + + /** + * Gets the condition of this if expression, if it exists. + */ + ExprCfgNode getCondition() { + any(ChildMapping mapping).hasCfgChild(node, node.getCondition(), this, result) + } + + /** + * Holds if `getCondition()` exists. + */ + predicate hasCondition() { exists(this.getCondition()) } + + /** + * Gets the else of this if expression, if it exists. + */ + ExprCfgNode getElse() { + any(ChildMapping mapping).hasCfgChild(node, node.getElse(), this, result) + } + + /** + * Holds if `getElse()` exists. + */ + predicate hasElse() { exists(this.getElse()) } + + /** + * Gets the then of this if expression, if it exists. + */ + BlockExprCfgNode getThen() { + any(ChildMapping mapping).hasCfgChild(node, node.getThen(), this, result) + } + + /** + * Holds if `getThen()` exists. + */ + predicate hasThen() { exists(this.getThen()) } + } + + final private class ParentIndexExpr extends ParentAstNode, IndexExpr { + override predicate relevantChild(AstNode child) { + none() + or + child = this.getBase() + or + child = this.getIndex() + } + } + + /** + * An index expression. For example: + * ```rust + * list[42]; + * list[42] = 1; + * ``` + */ + final class IndexExprCfgNode extends CfgNodeFinal, ExprCfgNode { + private IndexExpr node; + + IndexExprCfgNode() { node = this.getAstNode() } + + /** Gets the underlying `IndexExpr`. */ + IndexExpr getIndexExpr() { result = node } + + /** + * Gets the `index`th attr of this index expression (0-based). + */ + Attr getAttr(int index) { result = node.getAttr(index) } + + /** + * Gets any of the attrs of this index expression. + */ + Attr getAnAttr() { result = this.getAttr(_) } + + /** + * Gets the number of attrs of this index expression. + */ + int getNumberOfAttrs() { result = count(int i | exists(this.getAttr(i))) } + + /** + * Gets the base of this index expression, if it exists. + */ + ExprCfgNode getBase() { + any(ChildMapping mapping).hasCfgChild(node, node.getBase(), this, result) + } + + /** + * Holds if `getBase()` exists. + */ + predicate hasBase() { exists(this.getBase()) } + + /** + * Gets the index of this index expression, if it exists. + */ + ExprCfgNode getIndex() { + any(ChildMapping mapping).hasCfgChild(node, node.getIndex(), this, result) + } + + /** + * Holds if `getIndex()` exists. + */ + predicate hasIndex() { exists(this.getIndex()) } + } + + final private class ParentLetExpr extends ParentAstNode, LetExpr { + override predicate relevantChild(AstNode child) { + none() + or + child = this.getExpr() + or + child = this.getPat() + } + } + + /** + * A `let` expression. For example: + * ```rust + * if let Some(x) = maybe_some { + * println!("{}", x); + * } + * ``` + */ + final class LetExprCfgNode extends CfgNodeFinal, ExprCfgNode { + private LetExpr node; + + LetExprCfgNode() { node = this.getAstNode() } + + /** Gets the underlying `LetExpr`. */ + LetExpr getLetExpr() { result = node } + + /** + * Gets the `index`th attr of this let expression (0-based). + */ + Attr getAttr(int index) { result = node.getAttr(index) } + + /** + * Gets any of the attrs of this let expression. + */ + Attr getAnAttr() { result = this.getAttr(_) } + + /** + * Gets the number of attrs of this let expression. + */ + int getNumberOfAttrs() { result = count(int i | exists(this.getAttr(i))) } + + /** + * Gets the expression of this let expression, if it exists. + */ + ExprCfgNode getExpr() { + any(ChildMapping mapping).hasCfgChild(node, node.getExpr(), this, result) + } + + /** + * Holds if `getExpr()` exists. + */ + predicate hasExpr() { exists(this.getExpr()) } + + /** + * Gets the pat of this let expression, if it exists. + */ + PatCfgNode getPat() { + any(ChildMapping mapping).hasCfgChild(node, node.getPat(), this, result) + } + + /** + * Holds if `getPat()` exists. + */ + predicate hasPat() { exists(this.getPat()) } + } + + final private class ParentLetStmt extends ParentAstNode, LetStmt { + override predicate relevantChild(AstNode child) { + none() + or + child = this.getInitializer() + or + child = this.getPat() + } + } + + /** + * A let statement. For example: + * ```rust + * let x = 42; + * let x: i32 = 42; + * let x: i32; + * let x; + * let (x, y) = (1, 2); + * let Some(x) = std::env::var("FOO") else { + * return; + * }; + * ``` + */ + final class LetStmtCfgNode extends CfgNodeFinal { + private LetStmt node; + + LetStmtCfgNode() { node = this.getAstNode() } + + /** Gets the underlying `LetStmt`. */ + LetStmt getLetStmt() { result = node } + + /** + * Gets the `index`th attr of this let statement (0-based). + */ + Attr getAttr(int index) { result = node.getAttr(index) } + + /** + * Gets any of the attrs of this let statement. + */ + Attr getAnAttr() { result = this.getAttr(_) } + + /** + * Gets the number of attrs of this let statement. + */ + int getNumberOfAttrs() { result = count(int i | exists(this.getAttr(i))) } + + /** + * Gets the initializer of this let statement, if it exists. + */ + ExprCfgNode getInitializer() { + any(ChildMapping mapping).hasCfgChild(node, node.getInitializer(), this, result) + } + + /** + * Holds if `getInitializer()` exists. + */ + predicate hasInitializer() { exists(this.getInitializer()) } + + /** + * Gets the let else of this let statement, if it exists. + */ + LetElse getLetElse() { result = node.getLetElse() } + + /** + * Holds if `getLetElse()` exists. + */ + predicate hasLetElse() { exists(this.getLetElse()) } + + /** + * Gets the pat of this let statement, if it exists. + */ + PatCfgNode getPat() { + any(ChildMapping mapping).hasCfgChild(node, node.getPat(), this, result) + } + + /** + * Holds if `getPat()` exists. + */ + predicate hasPat() { exists(this.getPat()) } + + /** + * Gets the ty of this let statement, if it exists. + */ + TypeRef getTy() { result = node.getTy() } + + /** + * Holds if `getTy()` exists. + */ + predicate hasTy() { exists(this.getTy()) } + } + + final private class ParentLiteralExpr extends ParentAstNode, LiteralExpr { + override predicate relevantChild(AstNode child) { none() } + } + + /** + * A literal expression. For example: + * ```rust + * 42; + * 42.0; + * "Hello, world!"; + * b"Hello, world!"; + * 'x'; + * b'x'; + * r"Hello, world!"; + * true; + * ``` + */ + final class LiteralExprCfgNode extends CfgNodeFinal, ExprCfgNode { + private LiteralExpr node; + + LiteralExprCfgNode() { node = this.getAstNode() } + + /** Gets the underlying `LiteralExpr`. */ + LiteralExpr getLiteralExpr() { result = node } + + /** + * Gets the `index`th attr of this literal expression (0-based). + */ + Attr getAttr(int index) { result = node.getAttr(index) } + + /** + * Gets any of the attrs of this literal expression. + */ + Attr getAnAttr() { result = this.getAttr(_) } + + /** + * Gets the number of attrs of this literal expression. + */ + int getNumberOfAttrs() { result = count(int i | exists(this.getAttr(i))) } + + /** + * Gets the text value of this literal expression, if it exists. + */ + string getTextValue() { result = node.getTextValue() } + + /** + * Holds if `getTextValue()` exists. + */ + predicate hasTextValue() { exists(this.getTextValue()) } + } + + final private class ParentLiteralPat extends ParentAstNode, LiteralPat { + override predicate relevantChild(AstNode child) { + none() + or + child = this.getLiteral() + } + } + + /** + * A literal pattern. For example: + * ```rust + * match x { + * 42 => "ok", + * _ => "fail", + * } + * ``` + */ + final class LiteralPatCfgNode extends CfgNodeFinal, PatCfgNode { + private LiteralPat node; + + LiteralPatCfgNode() { node = this.getAstNode() } + + /** Gets the underlying `LiteralPat`. */ + LiteralPat getLiteralPat() { result = node } + + /** + * Gets the literal of this literal pat, if it exists. + */ + LiteralExprCfgNode getLiteral() { + any(ChildMapping mapping).hasCfgChild(node, node.getLiteral(), this, result) + } + + /** + * Holds if `getLiteral()` exists. + */ + predicate hasLiteral() { exists(this.getLiteral()) } + } + + final private class ParentLoopExpr extends ParentAstNode, LoopExpr { + override predicate relevantChild(AstNode child) { + none() + or + child = this.getLoopBody() + } + } + + /** + * A loop expression. For example: + * ```rust + * loop { + * println!("Hello, world (again)!"); + * }; + * ``` + * ```rust + * 'label: loop { + * println!("Hello, world (once)!"); + * break 'label; + * }; + * ``` + * ```rust + * let mut x = 0; + * loop { + * if x < 10 { + * x += 1; + * } else { + * break; + * } + * }; + * ``` + */ + final class LoopExprCfgNode extends CfgNodeFinal, ExprCfgNode { + private LoopExpr node; + + LoopExprCfgNode() { node = this.getAstNode() } + + /** Gets the underlying `LoopExpr`. */ + LoopExpr getLoopExpr() { result = node } + + /** + * Gets the `index`th attr of this loop expression (0-based). + */ + Attr getAttr(int index) { result = node.getAttr(index) } + + /** + * Gets any of the attrs of this loop expression. + */ + Attr getAnAttr() { result = this.getAttr(_) } + + /** + * Gets the number of attrs of this loop expression. + */ + int getNumberOfAttrs() { result = count(int i | exists(this.getAttr(i))) } + + /** + * Gets the label of this loop expression, if it exists. + */ + Label getLabel() { result = node.getLabel() } + + /** + * Holds if `getLabel()` exists. + */ + predicate hasLabel() { exists(this.getLabel()) } + + /** + * Gets the loop body of this loop expression, if it exists. + */ + BlockExprCfgNode getLoopBody() { + any(ChildMapping mapping).hasCfgChild(node, node.getLoopBody(), this, result) + } + + /** + * Holds if `getLoopBody()` exists. + */ + predicate hasLoopBody() { exists(this.getLoopBody()) } + } + + final private class ParentMacroCall extends ParentAstNode, MacroCall { + override predicate relevantChild(AstNode child) { none() } + } + + /** + * A MacroCall. For example: + * ```rust + * todo!() + * ``` + */ + final class MacroCallCfgNode extends CfgNodeFinal { + private MacroCall node; + + MacroCallCfgNode() { node = this.getAstNode() } + + /** Gets the underlying `MacroCall`. */ + MacroCall getMacroCall() { result = node } + + /** + * Gets the `index`th attr of this macro call (0-based). + */ + Attr getAttr(int index) { result = node.getAttr(index) } + + /** + * Gets any of the attrs of this macro call. + */ + Attr getAnAttr() { result = this.getAttr(_) } + + /** + * Gets the number of attrs of this macro call. + */ + int getNumberOfAttrs() { result = count(int i | exists(this.getAttr(i))) } + + /** + * Gets the path of this macro call, if it exists. + */ + Path getPath() { result = node.getPath() } + + /** + * Holds if `getPath()` exists. + */ + predicate hasPath() { exists(this.getPath()) } + + /** + * Gets the token tree of this macro call, if it exists. + */ + TokenTree getTokenTree() { result = node.getTokenTree() } + + /** + * Holds if `getTokenTree()` exists. + */ + predicate hasTokenTree() { exists(this.getTokenTree()) } + + /** + * Gets the expanded of this macro call, if it exists. + */ + AstNode getExpanded() { result = node.getExpanded() } + + /** + * Holds if `getExpanded()` exists. + */ + predicate hasExpanded() { exists(this.getExpanded()) } + } + + final private class ParentMacroExpr extends ParentAstNode, MacroExpr { + override predicate relevantChild(AstNode child) { + none() + or + child = this.getMacroCall() + } + } + + /** + * A MacroExpr. For example: + * ```rust + * todo!() + * ``` + */ + final class MacroExprCfgNode extends CfgNodeFinal, ExprCfgNode { + private MacroExpr node; + + MacroExprCfgNode() { node = this.getAstNode() } + + /** Gets the underlying `MacroExpr`. */ + MacroExpr getMacroExpr() { result = node } + + /** + * Gets the macro call of this macro expression, if it exists. + */ + MacroCallCfgNode getMacroCall() { + any(ChildMapping mapping).hasCfgChild(node, node.getMacroCall(), this, result) + } + + /** + * Holds if `getMacroCall()` exists. + */ + predicate hasMacroCall() { exists(this.getMacroCall()) } + } + + final private class ParentMacroPat extends ParentAstNode, MacroPat { + override predicate relevantChild(AstNode child) { + none() + or + child = this.getMacroCall() + } + } + + /** + * A MacroPat. For example: + * ```rust + * todo!() + * ``` + */ + final class MacroPatCfgNode extends CfgNodeFinal, PatCfgNode { + private MacroPat node; + + MacroPatCfgNode() { node = this.getAstNode() } + + /** Gets the underlying `MacroPat`. */ + MacroPat getMacroPat() { result = node } + + /** + * Gets the macro call of this macro pat, if it exists. + */ + MacroCallCfgNode getMacroCall() { + any(ChildMapping mapping).hasCfgChild(node, node.getMacroCall(), this, result) + } + + /** + * Holds if `getMacroCall()` exists. + */ + predicate hasMacroCall() { exists(this.getMacroCall()) } + } + + final private class ParentMatchExpr extends ParentAstNode, MatchExpr { + override predicate relevantChild(AstNode child) { + none() + or + child = this.getExpr() + } + } + + /** + * A match expression. For example: + * ```rust + * match x { + * Option::Some(y) => y, + * Option::None => 0, + * } + * ``` + * ```rust + * match x { + * Some(y) if y != 0 => 1 / y, + * _ => 0, + * } + * ``` + */ + final class MatchExprCfgNode extends CfgNodeFinal, ExprCfgNode { + private MatchExpr node; + + MatchExprCfgNode() { node = this.getAstNode() } + + /** Gets the underlying `MatchExpr`. */ + MatchExpr getMatchExpr() { result = node } + + /** + * Gets the `index`th attr of this match expression (0-based). + */ + Attr getAttr(int index) { result = node.getAttr(index) } + + /** + * Gets any of the attrs of this match expression. + */ + Attr getAnAttr() { result = this.getAttr(_) } + + /** + * Gets the number of attrs of this match expression. + */ + int getNumberOfAttrs() { result = count(int i | exists(this.getAttr(i))) } + + /** + * Gets the expression of this match expression, if it exists. + */ + ExprCfgNode getExpr() { + any(ChildMapping mapping).hasCfgChild(node, node.getExpr(), this, result) + } + + /** + * Holds if `getExpr()` exists. + */ + predicate hasExpr() { exists(this.getExpr()) } + + /** + * Gets the match arm list of this match expression, if it exists. + */ + MatchArmList getMatchArmList() { result = node.getMatchArmList() } + + /** + * Holds if `getMatchArmList()` exists. + */ + predicate hasMatchArmList() { exists(this.getMatchArmList()) } + } + + final private class ParentMethodCallExpr extends ParentAstNode, MethodCallExpr { + override predicate relevantChild(AstNode child) { + none() + or + child = this.getReceiver() + } + } + + /** + * A method call expression. For example: + * ```rust + * x.foo(42); + * x.foo::(42); + * ``` + */ + final class MethodCallExprCfgNode extends CfgNodeFinal, CallExprBaseCfgNode { + private MethodCallExpr node; + + MethodCallExprCfgNode() { node = this.getAstNode() } + + /** Gets the underlying `MethodCallExpr`. */ + MethodCallExpr getMethodCallExpr() { result = node } + + /** + * Gets the generic argument list of this method call expression, if it exists. + */ + GenericArgList getGenericArgList() { result = node.getGenericArgList() } + + /** + * Holds if `getGenericArgList()` exists. + */ + predicate hasGenericArgList() { exists(this.getGenericArgList()) } + + /** + * Gets the name reference of this method call expression, if it exists. + */ + NameRef getNameRef() { result = node.getNameRef() } + + /** + * Holds if `getNameRef()` exists. + */ + predicate hasNameRef() { exists(this.getNameRef()) } + + /** + * Gets the receiver of this method call expression, if it exists. + */ + ExprCfgNode getReceiver() { + any(ChildMapping mapping).hasCfgChild(node, node.getReceiver(), this, result) + } + + /** + * Holds if `getReceiver()` exists. + */ + predicate hasReceiver() { exists(this.getReceiver()) } + } + + final private class ParentOffsetOfExpr extends ParentAstNode, OffsetOfExpr { + override predicate relevantChild(AstNode child) { none() } + } + + /** + * An `offset_of` expression. For example: + * ```rust + * builtin # offset_of(Struct, field); + * ``` + */ + final class OffsetOfExprCfgNode extends CfgNodeFinal, ExprCfgNode { + private OffsetOfExpr node; + + OffsetOfExprCfgNode() { node = this.getAstNode() } + + /** Gets the underlying `OffsetOfExpr`. */ + OffsetOfExpr getOffsetOfExpr() { result = node } + + /** + * Gets the `index`th attr of this offset of expression (0-based). + */ + Attr getAttr(int index) { result = node.getAttr(index) } + + /** + * Gets any of the attrs of this offset of expression. + */ + Attr getAnAttr() { result = this.getAttr(_) } + + /** + * Gets the number of attrs of this offset of expression. + */ + int getNumberOfAttrs() { result = count(int i | exists(this.getAttr(i))) } + + /** + * Gets the `index`th field of this offset of expression (0-based). + */ + NameRef getField(int index) { result = node.getField(index) } + + /** + * Gets any of the fields of this offset of expression. + */ + NameRef getAField() { result = this.getField(_) } + + /** + * Gets the number of fields of this offset of expression. + */ + int getNumberOfFields() { result = count(int i | exists(this.getField(i))) } + + /** + * Gets the ty of this offset of expression, if it exists. + */ + TypeRef getTy() { result = node.getTy() } + + /** + * Holds if `getTy()` exists. + */ + predicate hasTy() { exists(this.getTy()) } + } + + final private class ParentOrPat extends ParentAstNode, OrPat { + override predicate relevantChild(AstNode child) { + none() + or + child = this.getPat(_) + } + } + + /** + * An or pattern. For example: + * ```rust + * match x { + * Option::Some(y) | Option::None => 0, + * } + * ``` + */ + final class OrPatCfgNode extends CfgNodeFinal, PatCfgNode { + private OrPat node; + + OrPatCfgNode() { node = this.getAstNode() } + + /** Gets the underlying `OrPat`. */ + OrPat getOrPat() { result = node } + + /** + * Gets the `index`th pat of this or pat (0-based). + */ + PatCfgNode getPat(int index) { + any(ChildMapping mapping).hasCfgChild(node, node.getPat(index), this, result) + } + + /** + * Gets any of the pats of this or pat. + */ + PatCfgNode getAPat() { result = this.getPat(_) } + + /** + * Gets the number of pats of this or pat. + */ + int getNumberOfPats() { result = count(int i | exists(this.getPat(i))) } + } + + final private class ParentParam extends ParentAstNode, Param { + override predicate relevantChild(AstNode child) { + none() + or + child = this.getPat() + } + } + + /** + * A Param. For example: + * ```rust + * todo!() + * ``` + */ + final class ParamCfgNode extends CfgNodeFinal { + private Param node; + + ParamCfgNode() { node = this.getAstNode() } + + /** Gets the underlying `Param`. */ + Param getParam() { result = node } + + /** + * Gets the `index`th attr of this parameter (0-based). + */ + Attr getAttr(int index) { result = node.getAttr(index) } + + /** + * Gets any of the attrs of this parameter. + */ + Attr getAnAttr() { result = this.getAttr(_) } + + /** + * Gets the number of attrs of this parameter. + */ + int getNumberOfAttrs() { result = count(int i | exists(this.getAttr(i))) } + + /** + * Gets the pat of this parameter, if it exists. + */ + PatCfgNode getPat() { + any(ChildMapping mapping).hasCfgChild(node, node.getPat(), this, result) + } + + /** + * Holds if `getPat()` exists. + */ + predicate hasPat() { exists(this.getPat()) } + + /** + * Gets the ty of this parameter, if it exists. + */ + TypeRef getTy() { result = node.getTy() } + + /** + * Holds if `getTy()` exists. + */ + predicate hasTy() { exists(this.getTy()) } + } + + final private class ParentPat extends ParentAstNode, Pat { + override predicate relevantChild(AstNode child) { none() } + } + + /** + * The base class for patterns. + */ + final class PatCfgNode extends CfgNodeFinal { + private Pat node; + + PatCfgNode() { node = this.getAstNode() } + + /** Gets the underlying `Pat`. */ + Pat getPat() { result = node } + } + + final private class ParentPathExpr extends ParentAstNode, PathExpr { + override predicate relevantChild(AstNode child) { none() } + } + + /** + * A path expression. For example: + * ```rust + * let x = variable; + * let x = foo::bar; + * let y = ::foo; + * let z = ::foo; + * ``` + */ + final class PathExprCfgNode extends CfgNodeFinal, PathExprBaseCfgNode { + private PathExpr node; + + PathExprCfgNode() { node = this.getAstNode() } + + /** Gets the underlying `PathExpr`. */ + PathExpr getPathExpr() { result = node } + + /** + * Gets the `index`th attr of this path expression (0-based). + */ + Attr getAttr(int index) { result = node.getAttr(index) } + + /** + * Gets any of the attrs of this path expression. + */ + Attr getAnAttr() { result = this.getAttr(_) } + + /** + * Gets the number of attrs of this path expression. + */ + int getNumberOfAttrs() { result = count(int i | exists(this.getAttr(i))) } + + /** + * Gets the path of this path expression, if it exists. + */ + Path getPath() { result = node.getPath() } + + /** + * Holds if `getPath()` exists. + */ + predicate hasPath() { exists(this.getPath()) } + } + + final private class ParentPathExprBase extends ParentAstNode, PathExprBase { + override predicate relevantChild(AstNode child) { none() } + } + + /** + * A path expression or a variable access in a formatting template. See `PathExpr` and `FormatTemplateVariableAccess` for further details. + */ + final class PathExprBaseCfgNode extends CfgNodeFinal, ExprCfgNode { + private PathExprBase node; + + PathExprBaseCfgNode() { node = this.getAstNode() } + + /** Gets the underlying `PathExprBase`. */ + PathExprBase getPathExprBase() { result = node } + } + + final private class ParentPathPat extends ParentAstNode, PathPat { + override predicate relevantChild(AstNode child) { none() } + } + + /** + * A path pattern. For example: + * ```rust + * match x { + * Foo::Bar => "ok", + * _ => "fail", + * } + * ``` + */ + final class PathPatCfgNode extends CfgNodeFinal, PatCfgNode { + private PathPat node; + + PathPatCfgNode() { node = this.getAstNode() } + + /** Gets the underlying `PathPat`. */ + PathPat getPathPat() { result = node } + + /** + * Gets the path of this path pat, if it exists. + */ + Path getPath() { result = node.getPath() } + + /** + * Holds if `getPath()` exists. + */ + predicate hasPath() { exists(this.getPath()) } + } + + final private class ParentPrefixExpr extends ParentAstNode, PrefixExpr { + override predicate relevantChild(AstNode child) { + none() + or + child = this.getExpr() + } + } + + /** + * A unary operation expression. For example: + * ```rust + * let x = -42; + * let y = !true; + * let z = *ptr; + * ``` + */ + final class PrefixExprCfgNode extends CfgNodeFinal, ExprCfgNode { + private PrefixExpr node; + + PrefixExprCfgNode() { node = this.getAstNode() } + + /** Gets the underlying `PrefixExpr`. */ + PrefixExpr getPrefixExpr() { result = node } + + /** + * Gets the `index`th attr of this prefix expression (0-based). + */ + Attr getAttr(int index) { result = node.getAttr(index) } + + /** + * Gets any of the attrs of this prefix expression. + */ + Attr getAnAttr() { result = this.getAttr(_) } + + /** + * Gets the number of attrs of this prefix expression. + */ + int getNumberOfAttrs() { result = count(int i | exists(this.getAttr(i))) } + + /** + * Gets the expression of this prefix expression, if it exists. + */ + ExprCfgNode getExpr() { + any(ChildMapping mapping).hasCfgChild(node, node.getExpr(), this, result) + } + + /** + * Holds if `getExpr()` exists. + */ + predicate hasExpr() { exists(this.getExpr()) } + + /** + * Gets the operator name of this prefix expression, if it exists. + */ + string getOperatorName() { result = node.getOperatorName() } + + /** + * Holds if `getOperatorName()` exists. + */ + predicate hasOperatorName() { exists(this.getOperatorName()) } + } + + final private class ParentRangeExpr extends ParentAstNode, RangeExpr { + override predicate relevantChild(AstNode child) { + none() + or + child = this.getEnd() + or + child = this.getStart() + } + } + + /** + * A range expression. For example: + * ```rust + * let x = 1..=10; + * let x = 1..10; + * let x = 10..; + * let x = ..10; + * let x = ..=10; + * let x = ..; + * ``` + */ + final class RangeExprCfgNode extends CfgNodeFinal, ExprCfgNode { + private RangeExpr node; + + RangeExprCfgNode() { node = this.getAstNode() } + + /** Gets the underlying `RangeExpr`. */ + RangeExpr getRangeExpr() { result = node } + + /** + * Gets the `index`th attr of this range expression (0-based). + */ + Attr getAttr(int index) { result = node.getAttr(index) } + + /** + * Gets any of the attrs of this range expression. + */ + Attr getAnAttr() { result = this.getAttr(_) } + + /** + * Gets the number of attrs of this range expression. + */ + int getNumberOfAttrs() { result = count(int i | exists(this.getAttr(i))) } + + /** + * Gets the end of this range expression, if it exists. + */ + ExprCfgNode getEnd() { + any(ChildMapping mapping).hasCfgChild(node, node.getEnd(), this, result) + } + + /** + * Holds if `getEnd()` exists. + */ + predicate hasEnd() { exists(this.getEnd()) } + + /** + * Gets the operator name of this range expression, if it exists. + */ + string getOperatorName() { result = node.getOperatorName() } + + /** + * Holds if `getOperatorName()` exists. + */ + predicate hasOperatorName() { exists(this.getOperatorName()) } + + /** + * Gets the start of this range expression, if it exists. + */ + ExprCfgNode getStart() { + any(ChildMapping mapping).hasCfgChild(node, node.getStart(), this, result) + } + + /** + * Holds if `getStart()` exists. + */ + predicate hasStart() { exists(this.getStart()) } + } + + final private class ParentRangePat extends ParentAstNode, RangePat { + override predicate relevantChild(AstNode child) { + none() + or + child = this.getEnd() + or + child = this.getStart() + } + } + + /** + * A range pattern. For example: + * ```rust + * match x { + * ..15 => "too cold", + * 16..=25 => "just right", + * 26.. => "too hot", + * } + * ``` + */ + final class RangePatCfgNode extends CfgNodeFinal, PatCfgNode { + private RangePat node; + + RangePatCfgNode() { node = this.getAstNode() } + + /** Gets the underlying `RangePat`. */ + RangePat getRangePat() { result = node } + + /** + * Gets the end of this range pat, if it exists. + */ + PatCfgNode getEnd() { + any(ChildMapping mapping).hasCfgChild(node, node.getEnd(), this, result) + } + + /** + * Holds if `getEnd()` exists. + */ + predicate hasEnd() { exists(this.getEnd()) } + + /** + * Gets the operator name of this range pat, if it exists. + */ + string getOperatorName() { result = node.getOperatorName() } + + /** + * Holds if `getOperatorName()` exists. + */ + predicate hasOperatorName() { exists(this.getOperatorName()) } + + /** + * Gets the start of this range pat, if it exists. + */ + PatCfgNode getStart() { + any(ChildMapping mapping).hasCfgChild(node, node.getStart(), this, result) + } + + /** + * Holds if `getStart()` exists. + */ + predicate hasStart() { exists(this.getStart()) } + } + + final private class ParentRecordExpr extends ParentAstNode, RecordExpr { + override predicate relevantChild(AstNode child) { none() } + } + + /** + * A record expression. For example: + * ```rust + * let first = Foo { a: 1, b: 2 }; + * let second = Foo { a: 2, ..first }; + * Foo { a: 1, b: 2 }[2] = 10; + * Foo { .. } = second; + * ``` + */ + final class RecordExprCfgNode extends CfgNodeFinal, ExprCfgNode { + private RecordExpr node; + + RecordExprCfgNode() { node = this.getAstNode() } + + /** Gets the underlying `RecordExpr`. */ + RecordExpr getRecordExpr() { result = node } + + /** + * Gets the path of this record expression, if it exists. + */ + Path getPath() { result = node.getPath() } + + /** + * Holds if `getPath()` exists. + */ + predicate hasPath() { exists(this.getPath()) } + + /** + * Gets the record expression field list of this record expression, if it exists. + */ + RecordExprFieldList getRecordExprFieldList() { result = node.getRecordExprFieldList() } + + /** + * Holds if `getRecordExprFieldList()` exists. + */ + predicate hasRecordExprFieldList() { exists(this.getRecordExprFieldList()) } + } + + final private class ParentRecordPat extends ParentAstNode, RecordPat { + override predicate relevantChild(AstNode child) { none() } + } + + /** + * A record pattern. For example: + * ```rust + * match x { + * Foo { a: 1, b: 2 } => "ok", + * Foo { .. } => "fail", + * } + * ``` + */ + final class RecordPatCfgNode extends CfgNodeFinal, PatCfgNode { + private RecordPat node; + + RecordPatCfgNode() { node = this.getAstNode() } + + /** Gets the underlying `RecordPat`. */ + RecordPat getRecordPat() { result = node } + + /** + * Gets the path of this record pat, if it exists. + */ + Path getPath() { result = node.getPath() } + + /** + * Holds if `getPath()` exists. + */ + predicate hasPath() { exists(this.getPath()) } + + /** + * Gets the record pat field list of this record pat, if it exists. + */ + RecordPatFieldList getRecordPatFieldList() { result = node.getRecordPatFieldList() } + + /** + * Holds if `getRecordPatFieldList()` exists. + */ + predicate hasRecordPatFieldList() { exists(this.getRecordPatFieldList()) } + } + + final private class ParentRefExpr extends ParentAstNode, RefExpr { + override predicate relevantChild(AstNode child) { + none() + or + child = this.getExpr() + } + } + + /** + * A reference expression. For example: + * ```rust + * let ref_const = &foo; + * let ref_mut = &mut foo; + * let raw_const: &mut i32 = &raw const foo; + * let raw_mut: &mut i32 = &raw mut foo; + * ``` + */ + final class RefExprCfgNode extends CfgNodeFinal, ExprCfgNode { + private RefExpr node; + + RefExprCfgNode() { node = this.getAstNode() } + + /** Gets the underlying `RefExpr`. */ + RefExpr getRefExpr() { result = node } + + /** + * Gets the `index`th attr of this reference expression (0-based). + */ + Attr getAttr(int index) { result = node.getAttr(index) } + + /** + * Gets any of the attrs of this reference expression. + */ + Attr getAnAttr() { result = this.getAttr(_) } + + /** + * Gets the number of attrs of this reference expression. + */ + int getNumberOfAttrs() { result = count(int i | exists(this.getAttr(i))) } + + /** + * Gets the expression of this reference expression, if it exists. + */ + ExprCfgNode getExpr() { + any(ChildMapping mapping).hasCfgChild(node, node.getExpr(), this, result) + } + + /** + * Holds if `getExpr()` exists. + */ + predicate hasExpr() { exists(this.getExpr()) } + + /** + * Holds if this reference expression is const. + */ + predicate isConst() { node.isConst() } + + /** + * Holds if this reference expression is mut. + */ + predicate isMut() { node.isMut() } + + /** + * Holds if this reference expression is raw. + */ + predicate isRaw() { node.isRaw() } + } + + final private class ParentRefPat extends ParentAstNode, RefPat { + override predicate relevantChild(AstNode child) { + none() + or + child = this.getPat() + } + } + + /** + * A reference pattern. For example: + * ```rust + * match x { + * &mut Option::Some(y) => y, + * &Option::None => 0, + * }; + * ``` + */ + final class RefPatCfgNode extends CfgNodeFinal, PatCfgNode { + private RefPat node; + + RefPatCfgNode() { node = this.getAstNode() } + + /** Gets the underlying `RefPat`. */ + RefPat getRefPat() { result = node } + + /** + * Holds if this reference pat is mut. + */ + predicate isMut() { node.isMut() } + + /** + * Gets the pat of this reference pat, if it exists. + */ + PatCfgNode getPat() { + any(ChildMapping mapping).hasCfgChild(node, node.getPat(), this, result) + } + + /** + * Holds if `getPat()` exists. + */ + predicate hasPat() { exists(this.getPat()) } + } + + final private class ParentRestPat extends ParentAstNode, RestPat { + override predicate relevantChild(AstNode child) { none() } + } + + /** + * A RestPat. For example: + * ```rust + * todo!() + * ``` + */ + final class RestPatCfgNode extends CfgNodeFinal, PatCfgNode { + private RestPat node; + + RestPatCfgNode() { node = this.getAstNode() } + + /** Gets the underlying `RestPat`. */ + RestPat getRestPat() { result = node } + + /** + * Gets the `index`th attr of this rest pat (0-based). + */ + Attr getAttr(int index) { result = node.getAttr(index) } + + /** + * Gets any of the attrs of this rest pat. + */ + Attr getAnAttr() { result = this.getAttr(_) } + + /** + * Gets the number of attrs of this rest pat. + */ + int getNumberOfAttrs() { result = count(int i | exists(this.getAttr(i))) } + } + + final private class ParentReturnExpr extends ParentAstNode, ReturnExpr { + override predicate relevantChild(AstNode child) { + none() + or + child = this.getExpr() + } + } + + /** + * A return expression. For example: + * ```rust + * fn some_value() -> i32 { + * return 42; + * } + * ``` + * ```rust + * fn no_value() -> () { + * return; + * } + * ``` + */ + final class ReturnExprCfgNode extends CfgNodeFinal, ExprCfgNode { + private ReturnExpr node; + + ReturnExprCfgNode() { node = this.getAstNode() } + + /** Gets the underlying `ReturnExpr`. */ + ReturnExpr getReturnExpr() { result = node } + + /** + * Gets the `index`th attr of this return expression (0-based). + */ + Attr getAttr(int index) { result = node.getAttr(index) } + + /** + * Gets any of the attrs of this return expression. + */ + Attr getAnAttr() { result = this.getAttr(_) } + + /** + * Gets the number of attrs of this return expression. + */ + int getNumberOfAttrs() { result = count(int i | exists(this.getAttr(i))) } + + /** + * Gets the expression of this return expression, if it exists. + */ + ExprCfgNode getExpr() { + any(ChildMapping mapping).hasCfgChild(node, node.getExpr(), this, result) + } + + /** + * Holds if `getExpr()` exists. + */ + predicate hasExpr() { exists(this.getExpr()) } + } + + final private class ParentSlicePat extends ParentAstNode, SlicePat { + override predicate relevantChild(AstNode child) { + none() + or + child = this.getPat(_) + } + } + + /** + * A slice pattern. For example: + * ```rust + * match x { + * [1, 2, 3, 4, 5] => "ok", + * [1, 2, ..] => "fail", + * [x, y, .., z, 7] => "fail", + * } + * ``` + */ + final class SlicePatCfgNode extends CfgNodeFinal, PatCfgNode { + private SlicePat node; + + SlicePatCfgNode() { node = this.getAstNode() } + + /** Gets the underlying `SlicePat`. */ + SlicePat getSlicePat() { result = node } + + /** + * Gets the `index`th pat of this slice pat (0-based). + */ + PatCfgNode getPat(int index) { + any(ChildMapping mapping).hasCfgChild(node, node.getPat(index), this, result) + } + + /** + * Gets any of the pats of this slice pat. + */ + PatCfgNode getAPat() { result = this.getPat(_) } + + /** + * Gets the number of pats of this slice pat. + */ + int getNumberOfPats() { result = count(int i | exists(this.getPat(i))) } + } + + final private class ParentTryExpr extends ParentAstNode, TryExpr { + override predicate relevantChild(AstNode child) { + none() + or + child = this.getExpr() + } + } + + /** + * A TryExpr. For example: + * ```rust + * todo!() + * ``` + */ + final class TryExprCfgNode extends CfgNodeFinal, ExprCfgNode { + private TryExpr node; + + TryExprCfgNode() { node = this.getAstNode() } + + /** Gets the underlying `TryExpr`. */ + TryExpr getTryExpr() { result = node } + + /** + * Gets the `index`th attr of this try expression (0-based). + */ + Attr getAttr(int index) { result = node.getAttr(index) } + + /** + * Gets any of the attrs of this try expression. + */ + Attr getAnAttr() { result = this.getAttr(_) } + + /** + * Gets the number of attrs of this try expression. + */ + int getNumberOfAttrs() { result = count(int i | exists(this.getAttr(i))) } + + /** + * Gets the expression of this try expression, if it exists. + */ + ExprCfgNode getExpr() { + any(ChildMapping mapping).hasCfgChild(node, node.getExpr(), this, result) + } + + /** + * Holds if `getExpr()` exists. + */ + predicate hasExpr() { exists(this.getExpr()) } + } + + final private class ParentTupleExpr extends ParentAstNode, TupleExpr { + override predicate relevantChild(AstNode child) { + none() + or + child = this.getField(_) + } + } + + /** + * A tuple expression. For example: + * ```rust + * (1, "one"); + * (2, "two")[0] = 3; + * ``` + */ + final class TupleExprCfgNode extends CfgNodeFinal, ExprCfgNode { + private TupleExpr node; + + TupleExprCfgNode() { node = this.getAstNode() } + + /** Gets the underlying `TupleExpr`. */ + TupleExpr getTupleExpr() { result = node } + + /** + * Gets the `index`th attr of this tuple expression (0-based). + */ + Attr getAttr(int index) { result = node.getAttr(index) } + + /** + * Gets any of the attrs of this tuple expression. + */ + Attr getAnAttr() { result = this.getAttr(_) } + + /** + * Gets the number of attrs of this tuple expression. + */ + int getNumberOfAttrs() { result = count(int i | exists(this.getAttr(i))) } + + /** + * Gets the `index`th field of this tuple expression (0-based). + */ + ExprCfgNode getField(int index) { + any(ChildMapping mapping).hasCfgChild(node, node.getField(index), this, result) + } + + /** + * Gets any of the fields of this tuple expression. + */ + ExprCfgNode getAField() { result = this.getField(_) } + + /** + * Gets the number of fields of this tuple expression. + */ + int getNumberOfFields() { result = count(int i | exists(this.getField(i))) } + } + + final private class ParentTuplePat extends ParentAstNode, TuplePat { + override predicate relevantChild(AstNode child) { + none() + or + child = this.getField(_) + } + } + + /** + * A tuple pattern. For example: + * ```rust + * let (x, y) = (1, 2); + * let (a, b, .., z) = (1, 2, 3, 4, 5); + * ``` + */ + final class TuplePatCfgNode extends CfgNodeFinal, PatCfgNode { + private TuplePat node; + + TuplePatCfgNode() { node = this.getAstNode() } + + /** Gets the underlying `TuplePat`. */ + TuplePat getTuplePat() { result = node } + + /** + * Gets the `index`th field of this tuple pat (0-based). + */ + PatCfgNode getField(int index) { + any(ChildMapping mapping).hasCfgChild(node, node.getField(index), this, result) + } + + /** + * Gets any of the fields of this tuple pat. + */ + PatCfgNode getAField() { result = this.getField(_) } + + /** + * Gets the number of fields of this tuple pat. + */ + int getNumberOfFields() { result = count(int i | exists(this.getField(i))) } + } + + final private class ParentTupleStructPat extends ParentAstNode, TupleStructPat { + override predicate relevantChild(AstNode child) { + none() + or + child = this.getField(_) + } + } + + /** + * A tuple struct pattern. For example: + * ```rust + * match x { + * Tuple("a", 1, 2, 3) => "great", + * Tuple(.., 3) => "fine", + * Tuple(..) => "fail", + * }; + * ``` + */ + final class TupleStructPatCfgNode extends CfgNodeFinal, PatCfgNode { + private TupleStructPat node; + + TupleStructPatCfgNode() { node = this.getAstNode() } + + /** Gets the underlying `TupleStructPat`. */ + TupleStructPat getTupleStructPat() { result = node } + + /** + * Gets the `index`th field of this tuple struct pat (0-based). + */ + PatCfgNode getField(int index) { + any(ChildMapping mapping).hasCfgChild(node, node.getField(index), this, result) + } + + /** + * Gets any of the fields of this tuple struct pat. + */ + PatCfgNode getAField() { result = this.getField(_) } + + /** + * Gets the number of fields of this tuple struct pat. + */ + int getNumberOfFields() { result = count(int i | exists(this.getField(i))) } + + /** + * Gets the path of this tuple struct pat, if it exists. + */ + Path getPath() { result = node.getPath() } + + /** + * Holds if `getPath()` exists. + */ + predicate hasPath() { exists(this.getPath()) } + } + + final private class ParentUnderscoreExpr extends ParentAstNode, UnderscoreExpr { + override predicate relevantChild(AstNode child) { none() } + } + + /** + * An underscore expression. For example: + * ```rust + * _ = 42; + * ``` + */ + final class UnderscoreExprCfgNode extends CfgNodeFinal, ExprCfgNode { + private UnderscoreExpr node; + + UnderscoreExprCfgNode() { node = this.getAstNode() } + + /** Gets the underlying `UnderscoreExpr`. */ + UnderscoreExpr getUnderscoreExpr() { result = node } + + /** + * Gets the `index`th attr of this underscore expression (0-based). + */ + Attr getAttr(int index) { result = node.getAttr(index) } + + /** + * Gets any of the attrs of this underscore expression. + */ + Attr getAnAttr() { result = this.getAttr(_) } + + /** + * Gets the number of attrs of this underscore expression. + */ + int getNumberOfAttrs() { result = count(int i | exists(this.getAttr(i))) } + } + + final private class ParentWhileExpr extends ParentAstNode, WhileExpr { + override predicate relevantChild(AstNode child) { + none() + or + child = this.getCondition() + or + child = this.getLoopBody() + } + } + + /** + * A WhileExpr. For example: + * ```rust + * todo!() + * ``` + */ + final class WhileExprCfgNode extends CfgNodeFinal, ExprCfgNode { + private WhileExpr node; + + WhileExprCfgNode() { node = this.getAstNode() } + + /** Gets the underlying `WhileExpr`. */ + WhileExpr getWhileExpr() { result = node } + + /** + * Gets the `index`th attr of this while expression (0-based). + */ + Attr getAttr(int index) { result = node.getAttr(index) } + + /** + * Gets any of the attrs of this while expression. + */ + Attr getAnAttr() { result = this.getAttr(_) } + + /** + * Gets the number of attrs of this while expression. + */ + int getNumberOfAttrs() { result = count(int i | exists(this.getAttr(i))) } + + /** + * Gets the condition of this while expression, if it exists. + */ + ExprCfgNode getCondition() { + any(ChildMapping mapping).hasCfgChild(node, node.getCondition(), this, result) + } + + /** + * Holds if `getCondition()` exists. + */ + predicate hasCondition() { exists(this.getCondition()) } + + /** + * Gets the label of this while expression, if it exists. + */ + Label getLabel() { result = node.getLabel() } + + /** + * Holds if `getLabel()` exists. + */ + predicate hasLabel() { exists(this.getLabel()) } + + /** + * Gets the loop body of this while expression, if it exists. + */ + BlockExprCfgNode getLoopBody() { + any(ChildMapping mapping).hasCfgChild(node, node.getLoopBody(), this, result) + } + + /** + * Holds if `getLoopBody()` exists. + */ + predicate hasLoopBody() { exists(this.getLoopBody()) } + } + + final private class ParentWildcardPat extends ParentAstNode, WildcardPat { + override predicate relevantChild(AstNode child) { none() } + } + + /** + * A wildcard pattern. For example: + * ```rust + * let _ = 42; + * ``` + */ + final class WildcardPatCfgNode extends CfgNodeFinal, PatCfgNode { + private WildcardPat node; + + WildcardPatCfgNode() { node = this.getAstNode() } + + /** Gets the underlying `WildcardPat`. */ + WildcardPat getWildcardPat() { result = node } + } + + final private class ParentYeetExpr extends ParentAstNode, YeetExpr { + override predicate relevantChild(AstNode child) { + none() + or + child = this.getExpr() + } + } + + /** + * A `yeet` expression. For example: + * ```rust + * if x < size { + * do yeet "index out of bounds"; + * } + * ``` + */ + final class YeetExprCfgNode extends CfgNodeFinal, ExprCfgNode { + private YeetExpr node; + + YeetExprCfgNode() { node = this.getAstNode() } + + /** Gets the underlying `YeetExpr`. */ + YeetExpr getYeetExpr() { result = node } + + /** + * Gets the `index`th attr of this yeet expression (0-based). + */ + Attr getAttr(int index) { result = node.getAttr(index) } + + /** + * Gets any of the attrs of this yeet expression. + */ + Attr getAnAttr() { result = this.getAttr(_) } + + /** + * Gets the number of attrs of this yeet expression. + */ + int getNumberOfAttrs() { result = count(int i | exists(this.getAttr(i))) } + + /** + * Gets the expression of this yeet expression, if it exists. + */ + ExprCfgNode getExpr() { + any(ChildMapping mapping).hasCfgChild(node, node.getExpr(), this, result) + } + + /** + * Holds if `getExpr()` exists. + */ + predicate hasExpr() { exists(this.getExpr()) } + } + + final private class ParentYieldExpr extends ParentAstNode, YieldExpr { + override predicate relevantChild(AstNode child) { + none() + or + child = this.getExpr() + } + } + + /** + * A `yield` expression. For example: + * ```rust + * let one = #[coroutine] + * || { + * yield 1; + * }; + * ``` + */ + final class YieldExprCfgNode extends CfgNodeFinal, ExprCfgNode { + private YieldExpr node; + + YieldExprCfgNode() { node = this.getAstNode() } + + /** Gets the underlying `YieldExpr`. */ + YieldExpr getYieldExpr() { result = node } + + /** + * Gets the `index`th attr of this yield expression (0-based). + */ + Attr getAttr(int index) { result = node.getAttr(index) } + + /** + * Gets any of the attrs of this yield expression. + */ + Attr getAnAttr() { result = this.getAttr(_) } + + /** + * Gets the number of attrs of this yield expression. + */ + int getNumberOfAttrs() { result = count(int i | exists(this.getAttr(i))) } + + /** + * Gets the expression of this yield expression, if it exists. + */ + ExprCfgNode getExpr() { + any(ChildMapping mapping).hasCfgChild(node, node.getExpr(), this, result) + } + + /** + * Holds if `getExpr()` exists. + */ + predicate hasExpr() { exists(this.getExpr()) } + } + } + + module Consistency { + private predicate hasCfgNode(AstNode astNode) { astNode = any(CfgNode cfgNode).getAstNode() } + + query predicate missingCfgChild(CfgNode parent, string pred, int i, AstNode child) { + none() + or + pred = "getExpr" and + parent = + any(Nodes::ArrayExprCfgNode cfgNode, ArrayExpr astNode | + astNode = cfgNode.getArrayExpr() and + child = getDesugared(astNode.getExpr(i)) and + hasCfgNode(child) and + not child = cfgNode.getExpr(i).getAstNode() + | + cfgNode + ) + or + pred = "getExpr" and + parent = + any(Nodes::AsmExprCfgNode cfgNode, AsmExpr astNode | + astNode = cfgNode.getAsmExpr() and + child = getDesugared(astNode.getExpr()) and + i = -1 and + hasCfgNode(child) and + not child = cfgNode.getExpr().getAstNode() + | + cfgNode + ) + or + pred = "getExpr" and + parent = + any(Nodes::AwaitExprCfgNode cfgNode, AwaitExpr astNode | + astNode = cfgNode.getAwaitExpr() and + child = getDesugared(astNode.getExpr()) and + i = -1 and + hasCfgNode(child) and + not child = cfgNode.getExpr().getAstNode() + | + cfgNode + ) + or + pred = "getExpr" and + parent = + any(Nodes::BecomeExprCfgNode cfgNode, BecomeExpr astNode | + astNode = cfgNode.getBecomeExpr() and + child = getDesugared(astNode.getExpr()) and + i = -1 and + hasCfgNode(child) and + not child = cfgNode.getExpr().getAstNode() + | + cfgNode + ) + or + pred = "getLhs" and + parent = + any(Nodes::BinaryExprCfgNode cfgNode, BinaryExpr astNode | + astNode = cfgNode.getBinaryExpr() and + child = getDesugared(astNode.getLhs()) and + i = -1 and + hasCfgNode(child) and + not child = cfgNode.getLhs().getAstNode() + | + cfgNode + ) + or + pred = "getRhs" and + parent = + any(Nodes::BinaryExprCfgNode cfgNode, BinaryExpr astNode | + astNode = cfgNode.getBinaryExpr() and + child = getDesugared(astNode.getRhs()) and + i = -1 and + hasCfgNode(child) and + not child = cfgNode.getRhs().getAstNode() + | + cfgNode + ) + or + pred = "getPat" and + parent = + any(Nodes::BoxPatCfgNode cfgNode, BoxPat astNode | + astNode = cfgNode.getBoxPat() and + child = getDesugared(astNode.getPat()) and + i = -1 and + hasCfgNode(child) and + not child = cfgNode.getPat().getAstNode() + | + cfgNode + ) + or + pred = "getExpr" and + parent = + any(Nodes::BreakExprCfgNode cfgNode, BreakExpr astNode | + astNode = cfgNode.getBreakExpr() and + child = getDesugared(astNode.getExpr()) and + i = -1 and + hasCfgNode(child) and + not child = cfgNode.getExpr().getAstNode() + | + cfgNode + ) + or + pred = "getExpr" and + parent = + any(Nodes::CallExprCfgNode cfgNode, CallExpr astNode | + astNode = cfgNode.getCallExpr() and + child = getDesugared(astNode.getExpr()) and + i = -1 and + hasCfgNode(child) and + not child = cfgNode.getExpr().getAstNode() + | + cfgNode + ) + or + pred = "getBlockExpr" and + parent = + any(Nodes::ConstBlockPatCfgNode cfgNode, ConstBlockPat astNode | + astNode = cfgNode.getConstBlockPat() and + child = getDesugared(astNode.getBlockExpr()) and + i = -1 and + hasCfgNode(child) and + not child = cfgNode.getBlockExpr().getAstNode() + | + cfgNode + ) + or + pred = "getExpr" and + parent = + any(Nodes::FieldExprCfgNode cfgNode, FieldExpr astNode | + astNode = cfgNode.getFieldExpr() and + child = getDesugared(astNode.getExpr()) and + i = -1 and + hasCfgNode(child) and + not child = cfgNode.getExpr().getAstNode() + | + cfgNode + ) + or + pred = "getIterable" and + parent = + any(Nodes::ForExprCfgNode cfgNode, ForExpr astNode | + astNode = cfgNode.getForExpr() and + child = getDesugared(astNode.getIterable()) and + i = -1 and + hasCfgNode(child) and + not child = cfgNode.getIterable().getAstNode() + | + cfgNode + ) + or + pred = "getLoopBody" and + parent = + any(Nodes::ForExprCfgNode cfgNode, ForExpr astNode | + astNode = cfgNode.getForExpr() and + child = getDesugared(astNode.getLoopBody()) and + i = -1 and + hasCfgNode(child) and + not child = cfgNode.getLoopBody().getAstNode() + | + cfgNode + ) + or + pred = "getPat" and + parent = + any(Nodes::ForExprCfgNode cfgNode, ForExpr astNode | + astNode = cfgNode.getForExpr() and + child = getDesugared(astNode.getPat()) and + i = -1 and + hasCfgNode(child) and + not child = cfgNode.getPat().getAstNode() + | + cfgNode + ) + or + pred = "getTemplate" and + parent = + any(Nodes::FormatArgsExprCfgNode cfgNode, FormatArgsExpr astNode | + astNode = cfgNode.getFormatArgsExpr() and + child = getDesugared(astNode.getTemplate()) and + i = -1 and + hasCfgNode(child) and + not child = cfgNode.getTemplate().getAstNode() + | + cfgNode + ) + or + pred = "getPat" and + parent = + any(Nodes::IdentPatCfgNode cfgNode, IdentPat astNode | + astNode = cfgNode.getIdentPat() and + child = getDesugared(astNode.getPat()) and + i = -1 and + hasCfgNode(child) and + not child = cfgNode.getPat().getAstNode() + | + cfgNode + ) + or + pred = "getCondition" and + parent = + any(Nodes::IfExprCfgNode cfgNode, IfExpr astNode | + astNode = cfgNode.getIfExpr() and + child = getDesugared(astNode.getCondition()) and + i = -1 and + hasCfgNode(child) and + not child = cfgNode.getCondition().getAstNode() + | + cfgNode + ) + or + pred = "getElse" and + parent = + any(Nodes::IfExprCfgNode cfgNode, IfExpr astNode | + astNode = cfgNode.getIfExpr() and + child = getDesugared(astNode.getElse()) and + i = -1 and + hasCfgNode(child) and + not child = cfgNode.getElse().getAstNode() + | + cfgNode + ) + or + pred = "getThen" and + parent = + any(Nodes::IfExprCfgNode cfgNode, IfExpr astNode | + astNode = cfgNode.getIfExpr() and + child = getDesugared(astNode.getThen()) and + i = -1 and + hasCfgNode(child) and + not child = cfgNode.getThen().getAstNode() + | + cfgNode + ) + or + pred = "getBase" and + parent = + any(Nodes::IndexExprCfgNode cfgNode, IndexExpr astNode | + astNode = cfgNode.getIndexExpr() and + child = getDesugared(astNode.getBase()) and + i = -1 and + hasCfgNode(child) and + not child = cfgNode.getBase().getAstNode() + | + cfgNode + ) + or + pred = "getIndex" and + parent = + any(Nodes::IndexExprCfgNode cfgNode, IndexExpr astNode | + astNode = cfgNode.getIndexExpr() and + child = getDesugared(astNode.getIndex()) and + i = -1 and + hasCfgNode(child) and + not child = cfgNode.getIndex().getAstNode() + | + cfgNode + ) + or + pred = "getExpr" and + parent = + any(Nodes::LetExprCfgNode cfgNode, LetExpr astNode | + astNode = cfgNode.getLetExpr() and + child = getDesugared(astNode.getExpr()) and + i = -1 and + hasCfgNode(child) and + not child = cfgNode.getExpr().getAstNode() + | + cfgNode + ) + or + pred = "getPat" and + parent = + any(Nodes::LetExprCfgNode cfgNode, LetExpr astNode | + astNode = cfgNode.getLetExpr() and + child = getDesugared(astNode.getPat()) and + i = -1 and + hasCfgNode(child) and + not child = cfgNode.getPat().getAstNode() + | + cfgNode + ) + or + pred = "getInitializer" and + parent = + any(Nodes::LetStmtCfgNode cfgNode, LetStmt astNode | + astNode = cfgNode.getLetStmt() and + child = getDesugared(astNode.getInitializer()) and + i = -1 and + hasCfgNode(child) and + not child = cfgNode.getInitializer().getAstNode() + | + cfgNode + ) + or + pred = "getPat" and + parent = + any(Nodes::LetStmtCfgNode cfgNode, LetStmt astNode | + astNode = cfgNode.getLetStmt() and + child = getDesugared(astNode.getPat()) and + i = -1 and + hasCfgNode(child) and + not child = cfgNode.getPat().getAstNode() + | + cfgNode + ) + or + pred = "getLiteral" and + parent = + any(Nodes::LiteralPatCfgNode cfgNode, LiteralPat astNode | + astNode = cfgNode.getLiteralPat() and + child = getDesugared(astNode.getLiteral()) and + i = -1 and + hasCfgNode(child) and + not child = cfgNode.getLiteral().getAstNode() + | + cfgNode + ) + or + pred = "getLoopBody" and + parent = + any(Nodes::LoopExprCfgNode cfgNode, LoopExpr astNode | + astNode = cfgNode.getLoopExpr() and + child = getDesugared(astNode.getLoopBody()) and + i = -1 and + hasCfgNode(child) and + not child = cfgNode.getLoopBody().getAstNode() + | + cfgNode + ) + or + pred = "getMacroCall" and + parent = + any(Nodes::MacroExprCfgNode cfgNode, MacroExpr astNode | + astNode = cfgNode.getMacroExpr() and + child = getDesugared(astNode.getMacroCall()) and + i = -1 and + hasCfgNode(child) and + not child = cfgNode.getMacroCall().getAstNode() + | + cfgNode + ) + or + pred = "getMacroCall" and + parent = + any(Nodes::MacroPatCfgNode cfgNode, MacroPat astNode | + astNode = cfgNode.getMacroPat() and + child = getDesugared(astNode.getMacroCall()) and + i = -1 and + hasCfgNode(child) and + not child = cfgNode.getMacroCall().getAstNode() + | + cfgNode + ) + or + pred = "getExpr" and + parent = + any(Nodes::MatchExprCfgNode cfgNode, MatchExpr astNode | + astNode = cfgNode.getMatchExpr() and + child = getDesugared(astNode.getExpr()) and + i = -1 and + hasCfgNode(child) and + not child = cfgNode.getExpr().getAstNode() + | + cfgNode + ) + or + pred = "getReceiver" and + parent = + any(Nodes::MethodCallExprCfgNode cfgNode, MethodCallExpr astNode | + astNode = cfgNode.getMethodCallExpr() and + child = getDesugared(astNode.getReceiver()) and + i = -1 and + hasCfgNode(child) and + not child = cfgNode.getReceiver().getAstNode() + | + cfgNode + ) + or + pred = "getPat" and + parent = + any(Nodes::OrPatCfgNode cfgNode, OrPat astNode | + astNode = cfgNode.getOrPat() and + child = getDesugared(astNode.getPat(i)) and + hasCfgNode(child) and + not child = cfgNode.getPat(i).getAstNode() + | + cfgNode + ) + or + pred = "getPat" and + parent = + any(Nodes::ParamCfgNode cfgNode, Param astNode | + astNode = cfgNode.getParam() and + child = getDesugared(astNode.getPat()) and + i = -1 and + hasCfgNode(child) and + not child = cfgNode.getPat().getAstNode() + | + cfgNode + ) + or + pred = "getExpr" and + parent = + any(Nodes::PrefixExprCfgNode cfgNode, PrefixExpr astNode | + astNode = cfgNode.getPrefixExpr() and + child = getDesugared(astNode.getExpr()) and + i = -1 and + hasCfgNode(child) and + not child = cfgNode.getExpr().getAstNode() + | + cfgNode + ) + or + pred = "getEnd" and + parent = + any(Nodes::RangeExprCfgNode cfgNode, RangeExpr astNode | + astNode = cfgNode.getRangeExpr() and + child = getDesugared(astNode.getEnd()) and + i = -1 and + hasCfgNode(child) and + not child = cfgNode.getEnd().getAstNode() + | + cfgNode + ) + or + pred = "getStart" and + parent = + any(Nodes::RangeExprCfgNode cfgNode, RangeExpr astNode | + astNode = cfgNode.getRangeExpr() and + child = getDesugared(astNode.getStart()) and + i = -1 and + hasCfgNode(child) and + not child = cfgNode.getStart().getAstNode() + | + cfgNode + ) + or + pred = "getEnd" and + parent = + any(Nodes::RangePatCfgNode cfgNode, RangePat astNode | + astNode = cfgNode.getRangePat() and + child = getDesugared(astNode.getEnd()) and + i = -1 and + hasCfgNode(child) and + not child = cfgNode.getEnd().getAstNode() + | + cfgNode + ) + or + pred = "getStart" and + parent = + any(Nodes::RangePatCfgNode cfgNode, RangePat astNode | + astNode = cfgNode.getRangePat() and + child = getDesugared(astNode.getStart()) and + i = -1 and + hasCfgNode(child) and + not child = cfgNode.getStart().getAstNode() + | + cfgNode + ) + or + pred = "getExpr" and + parent = + any(Nodes::RefExprCfgNode cfgNode, RefExpr astNode | + astNode = cfgNode.getRefExpr() and + child = getDesugared(astNode.getExpr()) and + i = -1 and + hasCfgNode(child) and + not child = cfgNode.getExpr().getAstNode() + | + cfgNode + ) + or + pred = "getPat" and + parent = + any(Nodes::RefPatCfgNode cfgNode, RefPat astNode | + astNode = cfgNode.getRefPat() and + child = getDesugared(astNode.getPat()) and + i = -1 and + hasCfgNode(child) and + not child = cfgNode.getPat().getAstNode() + | + cfgNode + ) + or + pred = "getExpr" and + parent = + any(Nodes::ReturnExprCfgNode cfgNode, ReturnExpr astNode | + astNode = cfgNode.getReturnExpr() and + child = getDesugared(astNode.getExpr()) and + i = -1 and + hasCfgNode(child) and + not child = cfgNode.getExpr().getAstNode() + | + cfgNode + ) + or + pred = "getPat" and + parent = + any(Nodes::SlicePatCfgNode cfgNode, SlicePat astNode | + astNode = cfgNode.getSlicePat() and + child = getDesugared(astNode.getPat(i)) and + hasCfgNode(child) and + not child = cfgNode.getPat(i).getAstNode() + | + cfgNode + ) + or + pred = "getExpr" and + parent = + any(Nodes::TryExprCfgNode cfgNode, TryExpr astNode | + astNode = cfgNode.getTryExpr() and + child = getDesugared(astNode.getExpr()) and + i = -1 and + hasCfgNode(child) and + not child = cfgNode.getExpr().getAstNode() + | + cfgNode + ) + or + pred = "getField" and + parent = + any(Nodes::TupleExprCfgNode cfgNode, TupleExpr astNode | + astNode = cfgNode.getTupleExpr() and + child = getDesugared(astNode.getField(i)) and + hasCfgNode(child) and + not child = cfgNode.getField(i).getAstNode() + | + cfgNode + ) + or + pred = "getField" and + parent = + any(Nodes::TuplePatCfgNode cfgNode, TuplePat astNode | + astNode = cfgNode.getTuplePat() and + child = getDesugared(astNode.getField(i)) and + hasCfgNode(child) and + not child = cfgNode.getField(i).getAstNode() + | + cfgNode + ) + or + pred = "getField" and + parent = + any(Nodes::TupleStructPatCfgNode cfgNode, TupleStructPat astNode | + astNode = cfgNode.getTupleStructPat() and + child = getDesugared(astNode.getField(i)) and + hasCfgNode(child) and + not child = cfgNode.getField(i).getAstNode() + | + cfgNode + ) + or + pred = "getCondition" and + parent = + any(Nodes::WhileExprCfgNode cfgNode, WhileExpr astNode | + astNode = cfgNode.getWhileExpr() and + child = getDesugared(astNode.getCondition()) and + i = -1 and + hasCfgNode(child) and + not child = cfgNode.getCondition().getAstNode() + | + cfgNode + ) + or + pred = "getLoopBody" and + parent = + any(Nodes::WhileExprCfgNode cfgNode, WhileExpr astNode | + astNode = cfgNode.getWhileExpr() and + child = getDesugared(astNode.getLoopBody()) and + i = -1 and + hasCfgNode(child) and + not child = cfgNode.getLoopBody().getAstNode() + | + cfgNode + ) + or + pred = "getExpr" and + parent = + any(Nodes::YeetExprCfgNode cfgNode, YeetExpr astNode | + astNode = cfgNode.getYeetExpr() and + child = getDesugared(astNode.getExpr()) and + i = -1 and + hasCfgNode(child) and + not child = cfgNode.getExpr().getAstNode() + | + cfgNode + ) + or + pred = "getExpr" and + parent = + any(Nodes::YieldExprCfgNode cfgNode, YieldExpr astNode | + astNode = cfgNode.getYieldExpr() and + child = getDesugared(astNode.getExpr()) and + i = -1 and + hasCfgNode(child) and + not child = cfgNode.getExpr().getAstNode() + | + cfgNode + ) + } + } +} diff --git a/rust/ql/lib/codeql/rust/elements/internal/AstNodeImpl.qll b/rust/ql/lib/codeql/rust/elements/internal/AstNodeImpl.qll index f2784d058ae7..cbe9653e4934 100644 --- a/rust/ql/lib/codeql/rust/elements/internal/AstNodeImpl.qll +++ b/rust/ql/lib/codeql/rust/elements/internal/AstNodeImpl.qll @@ -14,6 +14,7 @@ private import codeql.rust.controlflow.ControlFlowGraph module Impl { private import rust private import codeql.rust.elements.internal.generated.ParentChild + private import codeql.rust.controlflow.ControlFlowGraph /** * Gets the immediate parent of a non-`AstNode` element `e`. @@ -62,5 +63,37 @@ module Impl { or this.getParentNode().isInMacroExpansion() } + + /** + * Gets a control-flow node for this AST node, if any. + * + * Note that because of _control-flow splitting_, one `AstNode` node may correspond + * to multiple `CfgNode`s. Example: + * + * ```rust + * if a && b { + * // ... + * } + * ``` + * + * The CFG for the condition above looks like + * + * ```mermaid + * flowchart TD + * 1["a"] + * 2["b"] + * 3["[false] a && b"] + * 4["[true] a && b"] + * + * 1 -- false --> 3 + * 1 -- true --> 2 + * 2 -- false --> 3 + * 2 -- true --> 4 + * ``` + * + * That is, the AST node for `a && b` corresponds to _two_ CFG nodes (it is + * split into two). + */ + CfgNode getACfgNode() { this = result.getAstNode() } } } diff --git a/rust/ql/lib/codeql/rust/internal/CachedStages.qll b/rust/ql/lib/codeql/rust/internal/CachedStages.qll index 162853846f2d..3defe0b8168d 100644 --- a/rust/ql/lib/codeql/rust/internal/CachedStages.qll +++ b/rust/ql/lib/codeql/rust/internal/CachedStages.qll @@ -71,6 +71,7 @@ module Stages { private import codeql.rust.controlflow.internal.Splitting private import codeql.rust.controlflow.internal.SuccessorType private import codeql.rust.controlflow.internal.ControlFlowGraphImpl + private import codeql.rust.controlflow.CfgNodes /** * Always holds. @@ -93,6 +94,8 @@ module Stages { exists(TNormalSuccessor()) or exists(AstCfgNode n) + or + exists(CallExprCfgNode n | exists(n.getExpr())) } } } diff --git a/rust/ql/test/query-tests/diagnostics/CfgConsistencyCounts.expected b/rust/ql/test/query-tests/diagnostics/CfgConsistencyCounts.expected index 7df2863da9e8..7056936908c0 100644 --- a/rust/ql/test/query-tests/diagnostics/CfgConsistencyCounts.expected +++ b/rust/ql/test/query-tests/diagnostics/CfgConsistencyCounts.expected @@ -1,5 +1,6 @@ | CFG scope lacks initial AST node | 0 | | Dead end | 0 | +| Missing CFG child | 0 | | Multiple successors of the same type | 0 | | Multiple toStrings | 0 | | Non-PostOrderTree Expr node | 0 | diff --git a/rust/schema/annotations.py b/rust/schema/annotations.py index d8e9835b16a6..e84648ca662e 100644 --- a/rust/schema/annotations.py +++ b/rust/schema/annotations.py @@ -18,14 +18,14 @@ class _: """ -@annotate(Expr) +@annotate(Expr, cfg = True) class _: """ The base class for expressions. """ -@annotate(Pat) +@annotate(Pat, cfg = True) class _: """ The base class for patterns. @@ -106,7 +106,7 @@ class PathExprBase(Expr): """ -@annotate(PathExpr, replace_bases={Expr: PathExprBase}) +@annotate(PathExpr, replace_bases={Expr: PathExprBase}, cfg = True) class _: """ A path expression. For example: @@ -119,7 +119,7 @@ class _: """ -@annotate(IfExpr) +@annotate(IfExpr, cfg = True) class _: """ An `if` expression. For example: @@ -138,7 +138,7 @@ class _: """ -@annotate(LetExpr) +@annotate(LetExpr, cfg = True) @rust.doc_test_signature("(maybe_some: Option) -> ()") class _: """ @@ -151,7 +151,7 @@ class _: """ -@annotate(BlockExpr) +@annotate(BlockExpr, cfg = True) class _: """ A block expression. For example: @@ -169,7 +169,7 @@ class _: """ -@annotate(LoopExpr) +@annotate(LoopExpr, cfg = True) class _: """ A loop expression. For example: @@ -205,7 +205,7 @@ class CallExprBase(Expr): attrs: list["Attr"] | child -@annotate(CallExpr, replace_bases={Expr: CallExprBase}) +@annotate(CallExpr, replace_bases={Expr: CallExprBase}, cfg = True) class _: """ A function call expression. For example: @@ -220,7 +220,7 @@ class _: attrs: drop -@annotate(MethodCallExpr, replace_bases={Expr: CallExprBase}, add_bases=(Resolvable,)) +@annotate(MethodCallExpr, replace_bases={Expr: CallExprBase}, add_bases=(Resolvable,), cfg = True) class _: """ A method call expression. For example: @@ -253,7 +253,7 @@ class _: """ -@annotate(MatchExpr) +@annotate(MatchExpr, cfg = True) @rust.doc_test_signature("(x: i32) -> i32") class _: """ @@ -273,7 +273,7 @@ class _: """ -@annotate(ContinueExpr) +@annotate(ContinueExpr, cfg = True) class _: """ A continue expression. For example: @@ -294,7 +294,7 @@ class _: """ -@annotate(BreakExpr) +@annotate(BreakExpr, cfg = True) class _: """ A break expression. For example: @@ -323,7 +323,7 @@ class _: """ -@annotate(ReturnExpr) +@annotate(ReturnExpr, cfg = True) @rust.doc_test_signature(None) class _: """ @@ -341,7 +341,7 @@ class _: """ -@annotate(BecomeExpr) +@annotate(BecomeExpr, cfg = True) @rust.doc_test_signature(None) class _: """ @@ -358,7 +358,7 @@ class _: """ -@annotate(YieldExpr) +@annotate(YieldExpr, cfg = True) class _: """ A `yield` expression. For example: @@ -371,7 +371,7 @@ class _: """ -@annotate(YeetExpr) +@annotate(YeetExpr, cfg = True) class _: """ A `yeet` expression. For example: @@ -393,7 +393,7 @@ class _: """ -@annotate(RecordExpr) +@annotate(RecordExpr, cfg = True) class _: """ A record expression. For example: @@ -406,7 +406,7 @@ class _: """ -@annotate(FieldExpr) +@annotate(FieldExpr, cfg = True) class _: """ A field access expression. For example: @@ -416,7 +416,7 @@ class _: """ -@annotate(AwaitExpr) +@annotate(AwaitExpr, cfg = True) class _: """ An `await` expression. For example: @@ -439,7 +439,7 @@ class _: """ -@annotate(RefExpr) +@annotate(RefExpr, cfg = True) class _: """ A reference expression. For example: @@ -452,7 +452,7 @@ class _: """ -@annotate(PrefixExpr) +@annotate(PrefixExpr, cfg = True) class _: """ A unary operation expression. For example: @@ -464,7 +464,7 @@ class _: """ -@annotate(BinaryExpr) +@annotate(BinaryExpr, cfg = True) class _: """ A binary operation expression. For example: @@ -478,7 +478,7 @@ class _: """ -@annotate(RangeExpr) +@annotate(RangeExpr, cfg = True) class _: """ A range expression. For example: @@ -493,7 +493,7 @@ class _: """ -@annotate(IndexExpr) +@annotate(IndexExpr, cfg = True) class _: """ An index expression. For example: @@ -520,7 +520,7 @@ class _: """ -@annotate(TupleExpr) +@annotate(TupleExpr, cfg = True) class _: """ A tuple expression. For example: @@ -531,7 +531,7 @@ class _: """ -@annotate(ArrayExpr) +@annotate(ArrayExpr, cfg = True) class _: """ An array expression. For example: @@ -542,7 +542,7 @@ class _: """ -@annotate(LiteralExpr) +@annotate(LiteralExpr, cfg = True) class _: """ A literal expression. For example: @@ -559,7 +559,7 @@ class _: """ -@annotate(UnderscoreExpr) +@annotate(UnderscoreExpr, cfg = True) class _: """ An underscore expression. For example: @@ -569,7 +569,7 @@ class _: """ -@annotate(OffsetOfExpr) +@annotate(OffsetOfExpr, cfg = True) class _: """ An `offset_of` expression. For example: @@ -579,7 +579,7 @@ class _: """ -@annotate(AsmExpr) +@annotate(AsmExpr, cfg = True) class _: """ An inline assembly expression. For example: @@ -591,7 +591,7 @@ class _: """ -@annotate(LetStmt) +@annotate(LetStmt, cfg = True) class _: """ A let statement. For example: @@ -620,7 +620,7 @@ class _: """ -@annotate(WildcardPat) +@annotate(WildcardPat, cfg = True) class _: """ A wildcard pattern. For example: @@ -630,7 +630,7 @@ class _: """ -@annotate(TuplePat) +@annotate(TuplePat, cfg = True) class _: """ A tuple pattern. For example: @@ -641,7 +641,7 @@ class _: """ -@annotate(OrPat) +@annotate(OrPat, cfg = True) class _: """ An or pattern. For example: @@ -663,7 +663,7 @@ class _: """ -@annotate(RecordPat) +@annotate(RecordPat, cfg = True) class _: """ A record pattern. For example: @@ -676,7 +676,7 @@ class _: """ -@annotate(RangePat) +@annotate(RangePat, cfg = True) class _: """ A range pattern. For example: @@ -690,7 +690,7 @@ class _: """ -@annotate(SlicePat) +@annotate(SlicePat, cfg = True) class _: """ A slice pattern. For example: @@ -704,7 +704,7 @@ class _: """ -@annotate(PathPat) +@annotate(PathPat, cfg = True) class _: """ A path pattern. For example: @@ -717,7 +717,7 @@ class _: """ -@annotate(LiteralPat) +@annotate(LiteralPat, cfg = True) class _: """ A literal pattern. For example: @@ -730,7 +730,7 @@ class _: """ -@annotate(IdentPat) +@annotate(IdentPat, cfg = True) class _: """ A binding pattern. For example: @@ -749,7 +749,7 @@ class _: """ -@annotate(TupleStructPat) +@annotate(TupleStructPat, cfg = True) class _: """ A tuple struct pattern. For example: @@ -763,7 +763,7 @@ class _: """ -@annotate(RefPat) +@annotate(RefPat, cfg = True) class _: """ A reference pattern. For example: @@ -776,7 +776,7 @@ class _: """ -@annotate(BoxPat) +@annotate(BoxPat, cfg = True) class _: """ A box pattern. For example: @@ -789,7 +789,7 @@ class _: """ -@annotate(ConstBlockPat) +@annotate(ConstBlockPat, cfg = True) class _: """ A const block pattern. For example: @@ -990,7 +990,7 @@ class _: """ -@annotate(ForExpr) +@annotate(ForExpr, cfg = True) class _: """ A ForExpr. For example: @@ -1020,7 +1020,7 @@ class _: """ -@annotate(FormatArgsExpr) +@annotate(FormatArgsExpr, cfg = True) class _: """ A FormatArgsExpr. For example: @@ -1150,7 +1150,7 @@ class _: """ -@annotate(MacroCall) +@annotate(MacroCall, cfg = True) class _: """ A MacroCall. For example: @@ -1171,7 +1171,7 @@ class _: """ -@annotate(MacroExpr) +@annotate(MacroExpr, cfg = True) class _: """ A MacroExpr. For example: @@ -1194,7 +1194,7 @@ class _: """ -@annotate(MacroPat) +@annotate(MacroPat, cfg = True) class _: """ A MacroPat. For example: @@ -1297,7 +1297,7 @@ class _: """ -@annotate(Param) +@annotate(Param, cfg = True) class _: """ A Param. For example: @@ -1437,7 +1437,7 @@ class _: """ -@annotate(RestPat) +@annotate(RestPat, cfg = True) class _: """ A RestPat. For example: @@ -1564,7 +1564,7 @@ class _: """ -@annotate(TryExpr) +@annotate(TryExpr, cfg = True) class _: """ A TryExpr. For example: @@ -1744,7 +1744,7 @@ class _: """ -@annotate(WhileExpr) +@annotate(WhileExpr, cfg = True) class _: """ A WhileExpr. For example: From ca18005e44a3127e3094c3d59dbd7a1d3fb0f1a0 Mon Sep 17 00:00:00 2001 From: Tom Hvitved Date: Tue, 19 Nov 2024 15:01:14 +0100 Subject: [PATCH 337/347] Rust: Add some manual classes to `CfgNodes.qll` --- .../lib/codeql/rust/controlflow/CfgNodes.qll | 199 +++++++++++++++--- .../rust/controlflow/internal/CfgNodes.qll | 32 +++ 2 files changed, 197 insertions(+), 34 deletions(-) diff --git a/rust/ql/lib/codeql/rust/controlflow/CfgNodes.qll b/rust/ql/lib/codeql/rust/controlflow/CfgNodes.qll index 1a7c7e212b91..b60a6b857b2e 100644 --- a/rust/ql/lib/codeql/rust/controlflow/CfgNodes.qll +++ b/rust/ql/lib/codeql/rust/controlflow/CfgNodes.qll @@ -9,54 +9,185 @@ private import internal.ControlFlowGraphImpl as CfgImpl private import internal.CfgNodes import Nodes -/** A CFG node that corresponds to an element in the AST. */ -class AstCfgNode extends CfgNode { - AstNode node; +class AstCfgNode = CfgImpl::AstCfgNode; - AstCfgNode() { node = this.getAstNode() } +class ExitCfgNode = CfgImpl::ExitNode; - /** Gets the underlying ast node. */ - AstNode getAstNode() { result = node } -} +/** + * An assignment expression, for example + * + * ```rust + * x = y; + * ``` + */ +final class AssignmentExprCfgNode extends BinaryExprCfgNode { + AssignmentExpr a; -/** A CFG node that corresponds to a parameter in the AST. */ -class ParamCfgNode extends AstCfgNode { - override Param node; + AssignmentExprCfgNode() { a = this.getBinaryExpr() } - /** Gets the underlying parameter. */ - Param getParam() { result = node } + /** Gets the underlying `AssignmentExpr`. */ + AssignmentExpr getAssignmentExpr() { result = a } } -/** A CFG node that corresponds to a parameter in the AST. */ -class PatCfgNode extends AstCfgNode { - override Pat node; +/** + * A match expression. For example: + * ```rust + * match x { + * Option::Some(y) => y, + * Option::None => 0, + * } + * ``` + * ```rust + * match x { + * Some(y) if y != 0 => 1 / y, + * _ => 0, + * } + * ``` + */ +final class MatchExprCfgNode extends Nodes::MatchExprCfgNode { + private MatchExpr node; - /** Gets the underlying pattern. */ - Pat getPat() { result = node } -} + MatchExprCfgNode() { node = this.getMatchExpr() } + + /** + * Gets the pattern of the `i`th match arm, if it exists. + */ + PatCfgNode getArmPat(int i) { + any(ChildMapping mapping).hasCfgChild(node, node.getArm(i).getPat(), this, result) + } -/** A CFG node that corresponds to an expression in the AST. */ -class ExprCfgNode extends AstCfgNode { - override Expr node; + /** + * Gets the guard of the `i`th match arm, if it exists. + */ + ExprCfgNode getArmGuard(int i) { + any(ChildMapping mapping) + .hasCfgChild(node, node.getArm(i).getGuard().getCondition(), this, result) + } - /** Gets the underlying expression. */ - Expr getExpr() { result = node } + /** + * Gets the expression of the `i`th match arm, if it exists. + */ + ExprCfgNode getArmExpr(int i) { + any(ChildMapping mapping).hasCfgChild(node, node.getArm(i).getExpr(), this, result) + } } -/** A CFG node that corresponds to a call in the AST. */ -class CallExprCfgNode extends ExprCfgNode { - override CallExpr node; +/** + * A block expression. For example: + * ```rust + * { + * let x = 42; + * } + * ``` + * ```rust + * 'label: { + * let x = 42; + * x + * } + * ``` + */ +final class BlockExprCfgNode extends Nodes::BlockExprCfgNode { + private BlockExprChildMapping node; - /** Gets the underlying `CallExpr`. */ - CallExpr getCallExpr() { result = node } + BlockExprCfgNode() { node = this.getAstNode() } + + /** + * Gets the tail expression of this block, if it exists. + */ + ExprCfgNode getTailExpr() { + any(ChildMapping mapping).hasCfgChild(node, node.getStmtList().getTailExpr(), this, result) + } +} + +/** + * A break expression. For example: + * ```rust + * loop { + * if not_ready() { + * break; + * } + * } + * ``` + * ```rust + * let x = 'label: loop { + * if done() { + * break 'label 42; + * } + * }; + * ``` + * ```rust + * let x = 'label: { + * if exit() { + * break 'label 42; + * } + * 0; + * }; + * ``` + */ +final class BreakExprCfgNode extends Nodes::BreakExprCfgNode { + /** + * Gets the target of this `break` expression. + * + * The target is either a `LoopExpr`, a `ForExpr`, a `WhileExpr`, or a + * `BlockExpr`. + */ + ExprCfgNode getTarget() { + any(ChildMapping mapping) + .hasCfgChild(this.getBreakExpr().getTarget(), this.getBreakExpr(), result, this) + } } -/** A CFG node that corresponds to a call in the AST. */ -class MethodCallExprCfgNode extends ExprCfgNode { - override MethodCallExpr node; +/** + * A function or method call expression. See `CallExpr` and `MethodCallExpr` for further details. + */ +final class CallExprBaseCfgNode extends Nodes::CallExprBaseCfgNode { + private CallExprBaseChildMapping node; - /** Gets the underlying `MethodCallExpr`. */ - MethodCallExpr getMethodCallExpr() { result = node } + CallExprBaseCfgNode() { node = this.getAstNode() } + + /** Gets the `i`th argument of this call. */ + ExprCfgNode getArgument(int i) { + any(ChildMapping mapping).hasCfgChild(node, node.getArgList().getArg(i), this, result) + } } -final class ExitCfgNode = CfgImpl::ExitNode; +/** + * A method call expression. For example: + * ```rust + * x.foo(42); + * x.foo::(42); + * ``` + */ +final class MethodCallExprCfgNode extends CallExprBaseCfgNode, Nodes::MethodCallExprCfgNode { } + +/** + * A function call expression. For example: + * ```rust + * foo(42); + * foo::(42); + * foo[0](42); + * foo(1) = 4; + * ``` + */ +final class CallExprCfgNode extends CallExprBaseCfgNode, Nodes::CallExprCfgNode { } + +/** + * A record expression. For example: + * ```rust + * let first = Foo { a: 1, b: 2 }; + * let second = Foo { a: 2, ..first }; + * Foo { a: 1, b: 2 }[2] = 10; + * Foo { .. } = second; + * ``` + */ +final class RecordExprCfgNode extends Nodes::RecordExprCfgNode { + private RecordExprChildMapping node; + + RecordExprCfgNode() { node = this.getRecordExpr() } + + /** Gets the `i`th record expression. */ + ExprCfgNode getExpr(int i) { + any(ChildMapping mapping) + .hasCfgChild(node, node.getRecordExprFieldList().getField(i).getExpr(), this, result) + } +} diff --git a/rust/ql/lib/codeql/rust/controlflow/internal/CfgNodes.qll b/rust/ql/lib/codeql/rust/controlflow/internal/CfgNodes.qll index 3f5b3c0e4839..fc0df95f24a2 100644 --- a/rust/ql/lib/codeql/rust/controlflow/internal/CfgNodes.qll +++ b/rust/ql/lib/codeql/rust/controlflow/internal/CfgNodes.qll @@ -40,6 +40,38 @@ private module CfgNodesInput implements InputSig { import MakeCfgNodes +class MatchExprChildMapping extends ParentAstNode, MatchExpr { + override predicate relevantChild(AstNode child) { + child = this.getAnArm().getPat() + or + child = this.getAnArm().getGuard().getCondition() + or + child = this.getAnArm().getExpr() + } +} + +class BlockExprChildMapping extends ParentAstNode, BlockExpr { + override predicate relevantChild(AstNode child) { child = this.getStmtList().getTailExpr() } +} + +class BreakExprTargetChildMapping extends ParentAstNode, Expr { + override predicate relevantChild(AstNode child) { child.(BreakExpr).getTarget() = this } +} + +class CallExprBaseChildMapping extends ParentAstNode, CallExprBase { + override predicate relevantChild(AstNode child) { child = this.getArgList().getAnArg() } +} + +class RecordExprChildMapping extends ParentAstNode, RecordExpr { + override predicate relevantChild(AstNode child) { + child = this.getRecordExprFieldList().getAField().getExpr() + } +} + +class FormatArgsExprChildMapping extends ParentAstNode, CfgImpl::ExprTrees::FormatArgsExprTree { + override predicate relevantChild(AstNode child) { child = this.getChildNode(_) } +} + private class ChildMappingImpl extends ChildMapping { /** Gets a CFG node for `child`, where `child` is a relevant child node of `parent`. */ private CfgNode getRelevantChildCfgNode(AstNode parent, AstNode child) { From e6887f982eb8d71a55ce61ce24d0f2bb2b26b752 Mon Sep 17 00:00:00 2001 From: Tom Hvitved Date: Tue, 19 Nov 2024 15:01:32 +0100 Subject: [PATCH 338/347] Rust: Use nodes from `CfgNodes.qll` in `DataFlowImpl.qll` --- rust/ql/lib/codeql/rust/dataflow/Ssa.qll | 9 +-- .../rust/dataflow/internal/DataFlowImpl.qll | 62 +++++++++---------- .../codeql/rust/dataflow/internal/SsaImpl.qll | 6 +- .../dataflow/local/DataFlowStep.expected | 5 +- .../dataflow/local/inline-flow.expected | 4 ++ .../test/library-tests/dataflow/local/main.rs | 2 +- rust/ql/test/utils/InlineFlowTest.qll | 9 +-- 7 files changed, 49 insertions(+), 48 deletions(-) diff --git a/rust/ql/lib/codeql/rust/dataflow/Ssa.qll b/rust/ql/lib/codeql/rust/dataflow/Ssa.qll index ff1aae058aaa..158128a12a9a 100644 --- a/rust/ql/lib/codeql/rust/dataflow/Ssa.qll +++ b/rust/ql/lib/codeql/rust/dataflow/Ssa.qll @@ -9,6 +9,7 @@ module Ssa { private import rust private import codeql.rust.controlflow.BasicBlocks private import codeql.rust.controlflow.ControlFlowGraph + private import codeql.rust.controlflow.CfgNodes private import codeql.rust.controlflow.internal.ControlFlowGraphImpl as CfgImpl private import internal.SsaImpl as SsaImpl @@ -221,11 +222,11 @@ module Ssa { * end * ``` */ - predicate assigns(CfgNode value) { - exists(AssignmentExpr ae, BasicBlock bb, int i | + predicate assigns(ExprCfgNode value) { + exists(AssignmentExprCfgNode ae, BasicBlock bb, int i | this.definesAt(_, bb, i) and - ae.getLhs() = bb.getNode(i).getAstNode() and - value.getAstNode() = ae.getRhs() + ae.getLhs() = bb.getNode(i) and + value = ae.getRhs() ) } diff --git a/rust/ql/lib/codeql/rust/dataflow/internal/DataFlowImpl.qll b/rust/ql/lib/codeql/rust/dataflow/internal/DataFlowImpl.qll index c31ef9e81072..980247312576 100644 --- a/rust/ql/lib/codeql/rust/dataflow/internal/DataFlowImpl.qll +++ b/rust/ql/lib/codeql/rust/dataflow/internal/DataFlowImpl.qll @@ -48,7 +48,7 @@ final class DataFlowCall extends TDataFlowCall { MethodCallExprCfgNode asMethodCallExprCfgNode() { this = TMethodCall(result) } - ExprCfgNode asExprCfgNode() { + CallExprBaseCfgNode asExprCfgNode() { result = this.asCallExprCfgNode() or result = this.asMethodCallExprCfgNode() } @@ -76,7 +76,7 @@ module Node { /** * Gets the expression that corresponds to this node, if any. */ - Expr asExpr() { none() } + ExprCfgNode asExpr() { none() } /** Gets the enclosing callable. */ DataFlowCallable getEnclosingCallable() { result = TCfgScope(this.getCfgScope()) } @@ -115,13 +115,13 @@ module Node { abstract class AstCfgFlowNode extends Node { AstCfgNode n; - override CfgNode getCfgNode() { result = n } + final override CfgNode getCfgNode() { result = n } - override CfgScope getCfgScope() { result = n.getAstNode().getEnclosingCfgScope() } + final override CfgScope getCfgScope() { result = n.getAstNode().getEnclosingCfgScope() } - override Location getLocation() { result = n.getAstNode().getLocation() } + final override Location getLocation() { result = n.getAstNode().getLocation() } - override string toString() { result = n.getAstNode().toString() } + final override string toString() { result = n.getAstNode().toString() } } /** @@ -137,7 +137,7 @@ module Node { ExprNode() { this = TExprNode(n) } - override Expr asExpr() { result = n.getExpr() } + override ExprCfgNode asExpr() { result = n } } final class PatNode extends AstCfgFlowNode, TPatNode { @@ -159,7 +159,7 @@ module Node { ParameterNode() { this = TParameterNode(n) } /** Gets the parameter in the AST that this node corresponds to. */ - Param getParameter() { result = n.getParam() } + ParamCfgNode getParameter() { result = n } } final class ArgumentNode = NaNode; @@ -197,7 +197,7 @@ module Node { } final private class ExprOutNode extends ExprNode, OutNode { - ExprOutNode() { this.asExpr() instanceof CallExpr } + ExprOutNode() { this.asExpr() instanceof CallExprCfgNode } /** Gets the underlying call CFG node that includes this out node. */ override DataFlowCall getCall() { result.asExprCfgNode() = this.getCfgNode() } @@ -228,13 +228,13 @@ final class Node = Node::Node; module SsaFlow { private module Impl = SsaImpl::DataFlowIntegration; - private Node::ParameterNode toParameterNode(Param p) { result.getParameter() = p } + private Node::ParameterNode toParameterNode(ParamCfgNode p) { result.getParameter() = p } /** Converts a control flow node into an SSA control flow node. */ Impl::Node asNode(Node n) { n = TSsaNode(result) or - result.(Impl::ExprNode).getExpr() = n.(Node::ExprNode).getCfgNode() + result.(Impl::ExprNode).getExpr() = n.asExpr() or n = toParameterNode(result.(Impl::ParameterNode).getParameter()) } @@ -248,29 +248,18 @@ module SsaFlow { } } -/** - * Holds for expressions `e` that evaluate to the value of any last (in - * evaluation order) subexpressions within it. E.g., expressions that propagate - * a values from a subexpression. - * - * For instance, the predicate holds for if expressions as `if b { e1 } else { - * e2 }` evalates to the value of one of the subexpressions `e1` or `e2`. - */ -private predicate propagatesValue(Expr e) { - e instanceof IfExpr or - e instanceof LoopExpr or - e instanceof ReturnExpr or - e instanceof BreakExpr or - e.(BlockExpr).getStmtList().hasTailExpr() or - e instanceof MatchExpr -} - /** * Gets a node that may execute last in `n`, and which, when it executes last, * will be the value of `n`. */ -private ExprCfgNode getALastEvalNode(ExprCfgNode n) { - propagatesValue(n.getExpr()) and result.getASuccessor() = n +private ExprCfgNode getALastEvalNode(ExprCfgNode e) { + e = any(IfExprCfgNode n | result = [n.getThen(), n.getElse()]) or + result = e.(LoopExprCfgNode).getLoopBody() or + result = e.(ReturnExprCfgNode).getExpr() or + result = e.(BreakExprCfgNode).getExpr() or + result = e.(BlockExprCfgNode).getTailExpr() or + result = e.(MatchExprCfgNode).getArmExpr(_) or + result.(BreakExprCfgNode).getTarget() = e } module LocalFlow { @@ -278,9 +267,9 @@ module LocalFlow { predicate localFlowStepCommon(Node nodeFrom, Node nodeTo) { nodeFrom.getCfgNode() = getALastEvalNode(nodeTo.getCfgNode()) or - exists(LetStmt s | - nodeFrom.getCfgNode().getAstNode() = s.getInitializer() and - nodeTo.getCfgNode().getAstNode() = s.getPat() + exists(LetStmtCfgNode s | + nodeFrom.getCfgNode() = s.getInitializer() and + nodeTo.getCfgNode() = s.getPat() ) or // An edge from a pattern/expression to its corresponding SSA definition. @@ -288,6 +277,11 @@ module LocalFlow { nodeTo.(Node::SsaNode).getDefinitionExt().(Ssa::WriteDefinition).getControlFlowNode() or SsaFlow::localFlowStep(_, nodeFrom, nodeTo, _) + or + exists(AssignmentExprCfgNode a | + a.getRhs() = nodeFrom.getCfgNode() and + a.getLhs() = nodeTo.getCfgNode() + ) } } @@ -329,7 +323,7 @@ module RustDataFlow implements InputSig { class DataFlowExpr = ExprCfgNode; /** Gets the node corresponding to `e`. */ - Node exprNode(DataFlowExpr e) { result.getCfgNode() = e } + Node exprNode(DataFlowExpr e) { result.asExpr() = e } final class DataFlowCall = DataFlowCallAlias; diff --git a/rust/ql/lib/codeql/rust/dataflow/internal/SsaImpl.qll b/rust/ql/lib/codeql/rust/dataflow/internal/SsaImpl.qll index d5263fca8106..6e9032f1dc4c 100644 --- a/rust/ql/lib/codeql/rust/dataflow/internal/SsaImpl.qll +++ b/rust/ql/lib/codeql/rust/dataflow/internal/SsaImpl.qll @@ -474,14 +474,14 @@ private module DataFlowIntegrationInput implements Impl::DataFlowIntegrationInpu /** Holds if SSA definition `def` assigns `value` to the underlying variable. */ predicate ssaDefAssigns(WriteDefinition def, Expr value) { - exists(BasicBlock bb, int i | def.definesAt(_, bb, i) and value = bb.getNode(i)) + none() // handled in `DataFlowImpl.qll` instead } - class Parameter = Param; + class Parameter = CfgNodes::ParamCfgNode; /** Holds if SSA definition `def` initializes parameter `p` at function entry. */ predicate ssaDefInitializesParam(WriteDefinition def, Parameter p) { - exists(BasicBlock bb, int i | bb.getNode(i).getAstNode() = p and def.definesAt(_, bb, i)) + none() // handled in `DataFlowImpl.qll` instead } class Guard extends CfgNodes::AstCfgNode { diff --git a/rust/ql/test/library-tests/dataflow/local/DataFlowStep.expected b/rust/ql/test/library-tests/dataflow/local/DataFlowStep.expected index d52e96096008..1ccc9c219c32 100644 --- a/rust/ql/test/library-tests/dataflow/local/DataFlowStep.expected +++ b/rust/ql/test/library-tests/dataflow/local/DataFlowStep.expected @@ -46,6 +46,7 @@ | main.rs:51:17:51:17 | 1 | main.rs:51:9:51:13 | i | | main.rs:53:5:53:5 | [SSA] i | main.rs:54:10:54:10 | i | | main.rs:53:5:53:5 | i | main.rs:53:5:53:5 | [SSA] i | +| main.rs:53:9:53:17 | CallExpr | main.rs:53:5:53:5 | i | | main.rs:61:9:61:9 | [SSA] i | main.rs:62:11:62:11 | i | | main.rs:61:9:61:9 | i | main.rs:61:9:61:9 | [SSA] i | | main.rs:61:13:61:31 | CallExpr | main.rs:61:9:61:9 | i | @@ -93,7 +94,6 @@ | main.rs:122:9:122:9 | [SSA] a | main.rs:128:5:128:5 | a | | main.rs:122:9:122:9 | a | main.rs:122:9:122:9 | [SSA] a | | main.rs:122:13:127:5 | BlockExpr | main.rs:122:9:122:9 | a | -| main.rs:123:12:123:12 | b | main.rs:123:9:125:9 | IfExpr | | main.rs:124:13:124:26 | BreakExpr | main.rs:122:13:127:5 | BlockExpr | | main.rs:124:26:124:26 | 1 | main.rs:124:13:124:26 | BreakExpr | | main.rs:126:9:126:9 | 2 | main.rs:122:13:127:5 | BlockExpr | @@ -103,7 +103,8 @@ | main.rs:132:9:132:9 | [SSA] a | main.rs:138:5:138:5 | a | | main.rs:132:9:132:9 | a | main.rs:132:9:132:9 | [SSA] a | | main.rs:132:13:137:5 | BlockExpr | main.rs:132:9:132:9 | a | -| main.rs:133:12:133:12 | b | main.rs:133:9:135:9 | IfExpr | +| main.rs:134:13:134:26 | BreakExpr | main.rs:132:13:137:5 | BlockExpr | | main.rs:134:26:134:26 | 1 | main.rs:134:13:134:26 | BreakExpr | +| main.rs:136:9:136:22 | BreakExpr | main.rs:132:13:137:5 | BlockExpr | | main.rs:136:22:136:22 | 2 | main.rs:136:9:136:22 | BreakExpr | | main.rs:138:5:138:5 | a | main.rs:131:38:139:1 | BlockExpr | diff --git a/rust/ql/test/library-tests/dataflow/local/inline-flow.expected b/rust/ql/test/library-tests/dataflow/local/inline-flow.expected index 72273334c6f5..3cb35a1079fe 100644 --- a/rust/ql/test/library-tests/dataflow/local/inline-flow.expected +++ b/rust/ql/test/library-tests/dataflow/local/inline-flow.expected @@ -4,6 +4,7 @@ edges | main.rs:24:13:24:21 | CallExpr : unit | main.rs:27:10:27:10 | c | provenance | | | main.rs:31:13:31:21 | CallExpr : unit | main.rs:36:10:36:10 | b | provenance | | | main.rs:45:15:45:23 | CallExpr : unit | main.rs:47:10:47:10 | b | provenance | | +| main.rs:53:9:53:17 | CallExpr : unit | main.rs:54:10:54:10 | i | provenance | | nodes | main.rs:15:10:15:18 | CallExpr | semmle.label | CallExpr | | main.rs:19:13:19:21 | CallExpr : unit | semmle.label | CallExpr : unit | @@ -14,6 +15,8 @@ nodes | main.rs:36:10:36:10 | b | semmle.label | b | | main.rs:45:15:45:23 | CallExpr : unit | semmle.label | CallExpr : unit | | main.rs:47:10:47:10 | b | semmle.label | b | +| main.rs:53:9:53:17 | CallExpr : unit | semmle.label | CallExpr : unit | +| main.rs:54:10:54:10 | i | semmle.label | i | subpaths testFailures #select @@ -22,3 +25,4 @@ testFailures | main.rs:27:10:27:10 | c | main.rs:24:13:24:21 | CallExpr : unit | main.rs:27:10:27:10 | c | $@ | main.rs:24:13:24:21 | CallExpr : unit | CallExpr : unit | | main.rs:36:10:36:10 | b | main.rs:31:13:31:21 | CallExpr : unit | main.rs:36:10:36:10 | b | $@ | main.rs:31:13:31:21 | CallExpr : unit | CallExpr : unit | | main.rs:47:10:47:10 | b | main.rs:45:15:45:23 | CallExpr : unit | main.rs:47:10:47:10 | b | $@ | main.rs:45:15:45:23 | CallExpr : unit | CallExpr : unit | +| main.rs:54:10:54:10 | i | main.rs:53:9:53:17 | CallExpr : unit | main.rs:54:10:54:10 | i | $@ | main.rs:53:9:53:17 | CallExpr : unit | CallExpr : unit | diff --git a/rust/ql/test/library-tests/dataflow/local/main.rs b/rust/ql/test/library-tests/dataflow/local/main.rs index dea41118b1d7..50aa4fdb965e 100644 --- a/rust/ql/test/library-tests/dataflow/local/main.rs +++ b/rust/ql/test/library-tests/dataflow/local/main.rs @@ -51,7 +51,7 @@ fn assignment() { let mut i = 1; sink(i); i = source(2); - sink(i); // $ MISSING: hasValueFlow=2 + sink(i); // $ hasValueFlow=2 } // ----------------------------------------------------------------------------- diff --git a/rust/ql/test/utils/InlineFlowTest.qll b/rust/ql/test/utils/InlineFlowTest.qll index b4960a055ee1..ad196871273f 100644 --- a/rust/ql/test/utils/InlineFlowTest.qll +++ b/rust/ql/test/utils/InlineFlowTest.qll @@ -5,26 +5,27 @@ import rust private import codeql.dataflow.test.InlineFlowTest +private import codeql.rust.controlflow.CfgNodes private import codeql.rust.dataflow.DataFlow private import codeql.rust.dataflow.internal.DataFlowImpl private import codeql.rust.dataflow.internal.TaintTrackingImpl private import internal.InlineExpectationsTestImpl as InlineExpectationsTestImpl // Holds if the target expression of `call` is a path and the string representation of the path is `name`. -private predicate callTargetName(CallExpr call, string name) { - call.getExpr().(PathExpr).toString() = name +private predicate callTargetName(CallExprCfgNode call, string name) { + call.getExpr().(PathExprCfgNode).toString() = name } private module FlowTestImpl implements InputSig { predicate defaultSource(DataFlow::Node source) { callTargetName(source.asExpr(), "source") } predicate defaultSink(DataFlow::Node sink) { - any(CallExpr call | callTargetName(call, "sink")).getArgList().getAnArg() = sink.asExpr() + any(CallExprCfgNode call | callTargetName(call, "sink")).getArgument(_) = sink.asExpr() } private string getSourceArgString(DataFlow::Node src) { defaultSource(src) and - result = src.asExpr().(CallExpr).getArgList().getArg(0).toString() + result = src.asExpr().(CallExprCfgNode).getArgument(0).toString() } bindingset[src, sink] From be7aca9780cab7e1f8d571c5ad93a518f67ddc3c Mon Sep 17 00:00:00 2001 From: Tom Hvitved Date: Thu, 21 Nov 2024 10:32:06 +0100 Subject: [PATCH 339/347] Address review comments --- misc/codegen/codegen.py | 4 +- rust/ql/.generated.list | 2 +- .../controlflow/internal/CfgConsistency.qll | 7 +- .../internal/generated/CfgNodes.qll | 69 +++++++++++++++++++ .../rust/dataflow/internal/DataFlowImpl.qll | 2 +- rust/schema/annotations.py | 2 +- 6 files changed, 78 insertions(+), 8 deletions(-) diff --git a/misc/codegen/codegen.py b/misc/codegen/codegen.py index ce991b6f0d4b..ae3a67d3fba6 100755 --- a/misc/codegen/codegen.py +++ b/misc/codegen/codegen.py @@ -54,6 +54,8 @@ def _parse_args() -> argparse.Namespace: "generated qll file importing every class file"), p.add_argument("--ql-test-output", help="output directory for QL generated extractor test files"), + p.add_argument("--ql-cfg-output", + help="output directory for QL CFG layer (optional)."), p.add_argument("--cpp-output", help="output directory for generated C++ files, required if trap or cpp is provided to " "--generate"), @@ -64,8 +66,6 @@ def _parse_args() -> argparse.Namespace: help="registry file containing information about checked-in generated code. A .gitattributes" "file is generated besides it to mark those files with linguist-generated=true. Must" "be in a directory containing all generated code."), - p.add_argument("--ql-cfg-output", - help="output directory for QL CFG layer (optional)."), ] p.add_argument("--script-name", help="script name to put in header comments of generated files. By default, the path of this " diff --git a/rust/ql/.generated.list b/rust/ql/.generated.list index 11980eb55dff..f033f1982c77 100644 --- a/rust/ql/.generated.list +++ b/rust/ql/.generated.list @@ -1,4 +1,4 @@ -lib/codeql/rust/controlflow/internal/generated/CfgNodes.qll 55c20303ad50f17ddea728eb840304e0a634821adb7b13471a9ce55b71ed3886 13509512ffb59a9634ed2dc3c4969af26d5ba2d1502d98dc0c107a99392ce892 +lib/codeql/rust/controlflow/internal/generated/CfgNodes.qll 438e0b2d6e2dd5f137c1d5791c2f9bc97876acacadc09d56876567c8e6b197ce 8b967df7a91ec767faa2daf142db3bb0e276270789f81d1d887db9fcfd05ad88 lib/codeql/rust/elements/Abi.qll 4c973d28b6d628f5959d1f1cc793704572fd0acaae9a97dfce82ff9d73f73476 250f68350180af080f904cd34cb2af481c5c688dc93edf7365fd0ae99855e893 lib/codeql/rust/elements/ArgList.qll 661f5100f5d3ef8351452d9058b663a2a5c720eea8cf11bedd628969741486a2 28e424aac01a90fb58cd6f9f83c7e4cf379eea39e636bc0ba07efc818be71c71 lib/codeql/rust/elements/ArrayExpr.qll a3e6e122632f4011644ec31b37f88b32fe3f2b7e388e7e878a6883309937049f 12ccb5873d95c433da5606fd371d182ef2f71b78d0c53c2d6dec10fa45852bdc diff --git a/rust/ql/lib/codeql/rust/controlflow/internal/CfgConsistency.qll b/rust/ql/lib/codeql/rust/controlflow/internal/CfgConsistency.qll index 0f178726ad8a..62ac5822dbbc 100644 --- a/rust/ql/lib/codeql/rust/controlflow/internal/CfgConsistency.qll +++ b/rust/ql/lib/codeql/rust/controlflow/internal/CfgConsistency.qll @@ -65,11 +65,12 @@ query predicate missingCfgChild(CfgNode parent, string pred, int i, AstNode chil CfgNodes::missingCfgChild(parent, pred, i, child) and successfullyExtractedFile(child.getLocation().getFile()) and not exists(AstNode last, CfgImpl::Completion c | CfgImpl::last(child, last, c) | - // In for example `if (a && true) ...` there is no RHS CFG node going into the - // `[false] a && true` operation + // In for example `if (a && true) ...`, there is no edge from the CFG node + // for `true` into the `[false] a && true` node. strictcount(ConditionalSuccessor cs | exists(last.getACfgNode().getASuccessor(cs)) | cs) = 1 or - // In for example `x && return`, there is no RHS CFG node going into the `&&` operation + // In for example `x && return`, there is no edge from the node for + // `return` into the `&&` node. not c instanceof CfgImpl::NormalCompletion ) } diff --git a/rust/ql/lib/codeql/rust/controlflow/internal/generated/CfgNodes.qll b/rust/ql/lib/codeql/rust/controlflow/internal/generated/CfgNodes.qll index 1cd67ef2cd11..4200c743a2fe 100644 --- a/rust/ql/lib/codeql/rust/controlflow/internal/generated/CfgNodes.qll +++ b/rust/ql/lib/codeql/rust/controlflow/internal/generated/CfgNodes.qll @@ -2575,6 +2575,75 @@ module MakeCfgNodes Input> { predicate hasExpr() { exists(this.getExpr()) } } + final private class ParentSelfParam extends ParentAstNode, SelfParam { + override predicate relevantChild(AstNode child) { none() } + } + + /** + * A SelfParam. For example: + * ```rust + * todo!() + * ``` + */ + final class SelfParamCfgNode extends CfgNodeFinal { + private SelfParam node; + + SelfParamCfgNode() { node = this.getAstNode() } + + /** Gets the underlying `SelfParam`. */ + SelfParam getSelfParam() { result = node } + + /** + * Gets the `index`th attr of this self parameter (0-based). + */ + Attr getAttr(int index) { result = node.getAttr(index) } + + /** + * Gets any of the attrs of this self parameter. + */ + Attr getAnAttr() { result = this.getAttr(_) } + + /** + * Gets the number of attrs of this self parameter. + */ + int getNumberOfAttrs() { result = count(int i | exists(this.getAttr(i))) } + + /** + * Holds if this self parameter is mut. + */ + predicate isMut() { node.isMut() } + + /** + * Gets the lifetime of this self parameter, if it exists. + */ + Lifetime getLifetime() { result = node.getLifetime() } + + /** + * Holds if `getLifetime()` exists. + */ + predicate hasLifetime() { exists(this.getLifetime()) } + + /** + * Gets the name of this self parameter, if it exists. + */ + Name getName() { result = node.getName() } + + /** + * Holds if `getName()` exists. + */ + predicate hasName() { exists(this.getName()) } + + /** + * Gets the ty of this self parameter, if it exists. + */ + TypeRef getTy() { result = node.getTy() } + + /** + * Holds if `getTy()` exists. + */ + predicate hasTy() { exists(this.getTy()) } + } + final private class ParentSlicePat extends ParentAstNode, SlicePat { override predicate relevantChild(AstNode child) { none() diff --git a/rust/ql/lib/codeql/rust/dataflow/internal/DataFlowImpl.qll b/rust/ql/lib/codeql/rust/dataflow/internal/DataFlowImpl.qll index 980247312576..1f205fc69498 100644 --- a/rust/ql/lib/codeql/rust/dataflow/internal/DataFlowImpl.qll +++ b/rust/ql/lib/codeql/rust/dataflow/internal/DataFlowImpl.qll @@ -158,7 +158,7 @@ module Node { ParameterNode() { this = TParameterNode(n) } - /** Gets the parameter in the AST that this node corresponds to. */ + /** Gets the parameter in the CFG that this node corresponds to. */ ParamCfgNode getParameter() { result = n } } diff --git a/rust/schema/annotations.py b/rust/schema/annotations.py index e84648ca662e..ae94b0604e7e 100644 --- a/rust/schema/annotations.py +++ b/rust/schema/annotations.py @@ -1467,7 +1467,7 @@ class _: """ -@annotate(SelfParam) +@annotate(SelfParam, cfg = True) class _: """ A SelfParam. For example: From 86a7c486f95b408dcaf5087f17b227be915bd5de Mon Sep 17 00:00:00 2001 From: Tom Hvitved Date: Thu, 21 Nov 2024 10:42:11 +0100 Subject: [PATCH 340/347] Rust: "control-flow" -> "control flow" --- misc/codegen/templates/ql_cfg_nodes.mustache | 4 ++-- rust/ql/.generated.list | 2 +- .../rust/controlflow/internal/ControlFlowGraphImpl.qll | 2 +- rust/ql/lib/codeql/rust/controlflow/internal/Scope.qll | 2 +- .../codeql/rust/controlflow/internal/generated/CfgNodes.qll | 4 ++-- rust/ql/lib/codeql/rust/dataflow/Ssa.qll | 6 +++--- rust/ql/lib/codeql/rust/dataflow/internal/DataFlowImpl.qll | 2 +- rust/ql/lib/codeql/rust/elements/internal/AstNodeImpl.qll | 4 ++-- 8 files changed, 13 insertions(+), 13 deletions(-) diff --git a/misc/codegen/templates/ql_cfg_nodes.mustache b/misc/codegen/templates/ql_cfg_nodes.mustache index fd969b1c59be..a2edf4410be0 100644 --- a/misc/codegen/templates/ql_cfg_nodes.mustache +++ b/misc/codegen/templates/ql_cfg_nodes.mustache @@ -57,8 +57,8 @@ module MakeCfgNodes Input> { } /** - * Holds if there is a control-flow path from `cfn` to `cfnChild`, where `cfn` - * is a control-flow node for this AST node, and `cfnChild` is a control-flow + * Holds if there is a control flow path from `cfn` to `cfnChild`, where `cfn` + * is a control flow node for this AST node, and `cfnChild` is a control flow * node for `child`. * * This predicate should be implemented at the place where `MakeCfgNodes` is diff --git a/rust/ql/.generated.list b/rust/ql/.generated.list index f033f1982c77..e3fe15f3e5bf 100644 --- a/rust/ql/.generated.list +++ b/rust/ql/.generated.list @@ -1,4 +1,4 @@ -lib/codeql/rust/controlflow/internal/generated/CfgNodes.qll 438e0b2d6e2dd5f137c1d5791c2f9bc97876acacadc09d56876567c8e6b197ce 8b967df7a91ec767faa2daf142db3bb0e276270789f81d1d887db9fcfd05ad88 +lib/codeql/rust/controlflow/internal/generated/CfgNodes.qll e7bcae1016e1853d46d9c91dc5f9b81e81d207fdf91fdaa6eadb3bf185879674 541d386db1f0b662d0cbe1aface1bc6e4b1bc484d1230b95523f35ca63c08875 lib/codeql/rust/elements/Abi.qll 4c973d28b6d628f5959d1f1cc793704572fd0acaae9a97dfce82ff9d73f73476 250f68350180af080f904cd34cb2af481c5c688dc93edf7365fd0ae99855e893 lib/codeql/rust/elements/ArgList.qll 661f5100f5d3ef8351452d9058b663a2a5c720eea8cf11bedd628969741486a2 28e424aac01a90fb58cd6f9f83c7e4cf379eea39e636bc0ba07efc818be71c71 lib/codeql/rust/elements/ArrayExpr.qll a3e6e122632f4011644ec31b37f88b32fe3f2b7e388e7e878a6883309937049f 12ccb5873d95c433da5606fd371d182ef2f71b78d0c53c2d6dec10fa45852bdc diff --git a/rust/ql/lib/codeql/rust/controlflow/internal/ControlFlowGraphImpl.qll b/rust/ql/lib/codeql/rust/controlflow/internal/ControlFlowGraphImpl.qll index 938b933cba05..df43d450a505 100644 --- a/rust/ql/lib/codeql/rust/controlflow/internal/ControlFlowGraphImpl.qll +++ b/rust/ql/lib/codeql/rust/controlflow/internal/ControlFlowGraphImpl.qll @@ -19,7 +19,7 @@ private module CfgInput implements InputSig { predicate completionIsValidFor = C::completionIsValidFor/2; - /** An AST node with an associated control-flow graph. */ + /** An AST node with an associated control flow graph. */ class CfgScope = Scope::CfgScope; CfgScope getCfgScope(AstNode n) { diff --git a/rust/ql/lib/codeql/rust/controlflow/internal/Scope.qll b/rust/ql/lib/codeql/rust/controlflow/internal/Scope.qll index 7b3367690ec6..cf779ed152f4 100644 --- a/rust/ql/lib/codeql/rust/controlflow/internal/Scope.qll +++ b/rust/ql/lib/codeql/rust/controlflow/internal/Scope.qll @@ -4,7 +4,7 @@ private import ControlFlowGraphImpl private import codeql.rust.elements.internal.generated.ParentChild /** - * A control-flow graph (CFG) scope. + * A control flow graph (CFG) scope. */ abstract private class CfgScopeImpl extends AstNode { /** Holds if `first` is executed first when entering `scope`. */ diff --git a/rust/ql/lib/codeql/rust/controlflow/internal/generated/CfgNodes.qll b/rust/ql/lib/codeql/rust/controlflow/internal/generated/CfgNodes.qll index 4200c743a2fe..b42a00bf551f 100644 --- a/rust/ql/lib/codeql/rust/controlflow/internal/generated/CfgNodes.qll +++ b/rust/ql/lib/codeql/rust/controlflow/internal/generated/CfgNodes.qll @@ -57,8 +57,8 @@ module MakeCfgNodes Input> { } /** - * Holds if there is a control-flow path from `cfn` to `cfnChild`, where `cfn` - * is a control-flow node for this AST node, and `cfnChild` is a control-flow + * Holds if there is a control flow path from `cfn` to `cfnChild`, where `cfn` + * is a control flow node for this AST node, and `cfnChild` is a control flow * node for `child`. * * This predicate should be implemented at the place where `MakeCfgNodes` is diff --git a/rust/ql/lib/codeql/rust/dataflow/Ssa.qll b/rust/ql/lib/codeql/rust/dataflow/Ssa.qll index 158128a12a9a..5b452a329fa9 100644 --- a/rust/ql/lib/codeql/rust/dataflow/Ssa.qll +++ b/rust/ql/lib/codeql/rust/dataflow/Ssa.qll @@ -27,7 +27,7 @@ module Ssa { } /** - * Gets a control-flow node that reads the value of this SSA definition. + * Gets a control flow node that reads the value of this SSA definition. * * Example: * @@ -54,7 +54,7 @@ module Ssa { final CfgNode getARead() { result = SsaImpl::getARead(this) } /** - * Gets a first control-flow node that reads the value of this SSA definition. + * Gets a first control flow node that reads the value of this SSA definition. * That is, a read that can be reached from this definition without passing * through other reads. * @@ -83,7 +83,7 @@ module Ssa { final CfgNode getAFirstRead() { SsaImpl::firstRead(this, result) } /** - * Gets a last control-flow node that reads the value of this SSA definition. + * Gets a last control flow node that reads the value of this SSA definition. * That is, a read that can reach the end of the enclosing CFG scope, or another * SSA definition for the source variable, without passing through any other read. * diff --git a/rust/ql/lib/codeql/rust/dataflow/internal/DataFlowImpl.qll b/rust/ql/lib/codeql/rust/dataflow/internal/DataFlowImpl.qll index 1f205fc69498..210f12825cf2 100644 --- a/rust/ql/lib/codeql/rust/dataflow/internal/DataFlowImpl.qll +++ b/rust/ql/lib/codeql/rust/dataflow/internal/DataFlowImpl.qll @@ -128,7 +128,7 @@ module Node { * A node in the data flow graph that corresponds to an expression in the * AST. * - * Note that because of control-flow splitting, one `Expr` may correspond + * Note that because of control flow splitting, one `Expr` may correspond * to multiple `ExprNode`s, just like it may correspond to multiple * `ControlFlow::Node`s. */ diff --git a/rust/ql/lib/codeql/rust/elements/internal/AstNodeImpl.qll b/rust/ql/lib/codeql/rust/elements/internal/AstNodeImpl.qll index cbe9653e4934..c33b1f3dd6eb 100644 --- a/rust/ql/lib/codeql/rust/elements/internal/AstNodeImpl.qll +++ b/rust/ql/lib/codeql/rust/elements/internal/AstNodeImpl.qll @@ -65,9 +65,9 @@ module Impl { } /** - * Gets a control-flow node for this AST node, if any. + * Gets a control flow node for this AST node, if any. * - * Note that because of _control-flow splitting_, one `AstNode` node may correspond + * Note that because of _control flow splitting_, one `AstNode` node may correspond * to multiple `CfgNode`s. Example: * * ```rust From 65be8a8aedb71d9a1081bc5ef0ac2362d6fb888b Mon Sep 17 00:00:00 2001 From: Tom Hvitved Date: Thu, 21 Nov 2024 13:15:49 +0100 Subject: [PATCH 341/347] CI: Set `--ram` in `compile-queries.yml` --- .github/workflows/compile-queries.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/compile-queries.yml b/.github/workflows/compile-queries.yml index 38452f97d36b..dfd99f6b806a 100644 --- a/.github/workflows/compile-queries.yml +++ b/.github/workflows/compile-queries.yml @@ -33,9 +33,9 @@ jobs: # run with --check-only if running in a PR (github.sha != main) if : ${{ github.event_name == 'pull_request' }} shell: bash - run: codeql query compile -q -j0 */ql/{src,examples} --keep-going --warnings=error --check-only --compilation-cache "${{ steps.query-cache.outputs.cache-dir }}" --compilation-cache-size=500 + run: codeql query compile -q -j0 */ql/{src,examples} --keep-going --warnings=error --check-only --compilation-cache "${{ steps.query-cache.outputs.cache-dir }}" --compilation-cache-size=500 --ram=56000 - name: compile queries - full # do full compile if running on main - this populates the cache if : ${{ github.event_name != 'pull_request' }} shell: bash - run: codeql query compile -q -j0 */ql/{src,examples} --keep-going --warnings=error --compilation-cache "${{ steps.query-cache.outputs.cache-dir }}" --compilation-cache-size=500 + run: codeql query compile -q -j0 */ql/{src,examples} --keep-going --warnings=error --compilation-cache "${{ steps.query-cache.outputs.cache-dir }}" --compilation-cache-size=500 --ram=56000 From 7ee0a7b3982e47a7aefdeeb64fd7c24caa43a9d4 Mon Sep 17 00:00:00 2001 From: Napalys Klicius Date: Thu, 21 Nov 2024 14:02:42 +0100 Subject: [PATCH 342/347] Update javascript/ql/lib/semmle/javascript/Collections.qll Co-authored-by: Erik Krogh Kristensen --- javascript/ql/lib/semmle/javascript/Collections.qll | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/javascript/ql/lib/semmle/javascript/Collections.qll b/javascript/ql/lib/semmle/javascript/Collections.qll index df7ad317014d..028c3abe4b3b 100644 --- a/javascript/ql/lib/semmle/javascript/Collections.qll +++ b/javascript/ql/lib/semmle/javascript/Collections.qll @@ -160,7 +160,7 @@ private module CollectionDataFlow { exists(DataFlow::MethodCallNode call | call = DataFlow::globalVarRef(["Map", "Object"]).getAMemberCall("groupBy") and pred = call.getArgument(0) and - (succ = call.getCallback(1).getParameter(0) or succ = call.getALocalUse()) + (succ = call.getCallback(1).getParameter(0) or succ = call) ) } } From 636c047c415af7b43e4577bb675ed72fd2bc0796 Mon Sep 17 00:00:00 2001 From: Geoffrey White <40627776+geoffw0@users.noreply.github.com> Date: Thu, 21 Nov 2024 13:53:49 +0000 Subject: [PATCH 343/347] Rust: Use final class. --- rust/ql/lib/codeql/rust/Concepts.qll | 32 ++++------------------------ 1 file changed, 4 insertions(+), 28 deletions(-) diff --git a/rust/ql/lib/codeql/rust/Concepts.qll b/rust/ql/lib/codeql/rust/Concepts.qll index 62cd24467d1c..402c720ab6f3 100644 --- a/rust/ql/lib/codeql/rust/Concepts.qll +++ b/rust/ql/lib/codeql/rust/Concepts.qll @@ -13,21 +13,7 @@ private import codeql.threatmodels.ThreatModels * Extend this class to refine existing API models. If you want to model new APIs, * extend `ThreatModelSource::Range` instead. */ -class ThreatModelSource extends DataFlow::Node instanceof ThreatModelSource::Range { - /** - * Gets a string that represents the source kind with respect to threat modeling. - * - * See - * - https://github.com/github/codeql/blob/main/docs/codeql/reusables/threat-model-description.rst - * - https://github.com/github/codeql/blob/main/shared/threat-models/ext/threat-model-grouping.model.yml - */ - string getThreatModel() { result = super.getThreatModel() } - - /** - * Gets a string that describes the type of this threat-model source. - */ - string getSourceType() { result = super.getSourceType() } -} +final class ThreatModelSource = ThreatModelSource::Range; /** * Provides a class for modeling new sources for specific threat-models. @@ -67,12 +53,7 @@ class ActiveThreatModelSource extends ThreatModelSource { * Extend this class to refine existing API models. If you want to model new APIs, * extend `SqlConstruction::Range` instead. */ -class SqlConstruction extends DataFlow::Node instanceof SqlConstruction::Range { - /** - * Gets the argument that specifies the SQL statements to be constructed. - */ - DataFlow::Node getSql() { result = super.getSql() } -} +final class SqlConstruction = SqlConstruction::Range; /** * Provides a class for modeling new SQL execution APIs. @@ -98,12 +79,7 @@ module SqlConstruction { * Extend this class to refine existing API models. If you want to model new APIs, * extend `SqlExecution::Range` instead. */ -class SqlExecution extends DataFlow::Node instanceof SqlExecution::Range { - /** - * Gets the argument that specifies the SQL statements to be executed. - */ - DataFlow::Node getSql() { result = super.getSql() } -} +final class SqlExecution = SqlExecution::Range; /** * Provides a class for modeling new SQL execution APIs. @@ -123,7 +99,7 @@ module SqlExecution { /** * A data-flow node that performs SQL sanitization. */ -class SqlSanitization extends DataFlow::Node instanceof SqlSanitization::Range { } +final class SqlSanitization = SqlSanitization::Range; /** * Provides a class for modeling new SQL sanitization APIs. From 49e002843e78f7c0d4e9da70aeeeb378447add50 Mon Sep 17 00:00:00 2001 From: Geoffrey White <40627776+geoffw0@users.noreply.github.com> Date: Thu, 21 Nov 2024 13:57:45 +0000 Subject: [PATCH 344/347] Rust: Restore some documentation. --- rust/ql/lib/codeql/rust/Concepts.qll | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/rust/ql/lib/codeql/rust/Concepts.qll b/rust/ql/lib/codeql/rust/Concepts.qll index 402c720ab6f3..5befe006bc69 100644 --- a/rust/ql/lib/codeql/rust/Concepts.qll +++ b/rust/ql/lib/codeql/rust/Concepts.qll @@ -25,6 +25,10 @@ module ThreatModelSource { abstract class Range extends DataFlow::Node { /** * Gets a string that represents the source kind with respect to threat modeling. + * + * See + * - https://github.com/github/codeql/blob/main/docs/codeql/reusables/threat-model-description.rst + * - https://github.com/github/codeql/blob/main/shared/threat-models/ext/threat-model-grouping.model.yml */ abstract string getThreatModel(); From b7c7a9ee7c2d5303ecc52c242f05e43dc4dae6d1 Mon Sep 17 00:00:00 2001 From: Geoffrey White <40627776+geoffw0@users.noreply.github.com> Date: Thu, 21 Nov 2024 14:23:51 +0000 Subject: [PATCH 345/347] Rust: Accept consistency check failures. --- .../security/CWE-089/CONSISTENCY/DataFlowConsistency.expected | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/rust/ql/test/query-tests/security/CWE-089/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/query-tests/security/CWE-089/CONSISTENCY/DataFlowConsistency.expected index d9a60435a6f9..6e35019c1cbf 100644 --- a/rust/ql/test/query-tests/security/CWE-089/CONSISTENCY/DataFlowConsistency.expected +++ b/rust/ql/test/query-tests/security/CWE-089/CONSISTENCY/DataFlowConsistency.expected @@ -1,3 +1,7 @@ +uniqueEnclosingCallable +| sqlx.rs:52:72:52:84 | remote_number | Node should have one enclosing callable but has 0. | +| sqlx.rs:56:74:56:86 | remote_string | Node should have one enclosing callable but has 0. | +| sqlx.rs:199:32:199:44 | enable_remote | Node should have one enclosing callable but has 0. | uniqueNodeToString | sqlx.rs:154:13:154:81 | (no string representation) | Node should have one toString but has 0. | | sqlx.rs:156:17:156:86 | (no string representation) | Node should have one toString but has 0. | From f8fff4b18c5c93da643e055a5965b8d570875199 Mon Sep 17 00:00:00 2001 From: Geoffrey White <40627776+geoffw0@users.noreply.github.com> Date: Thu, 21 Nov 2024 17:06:32 +0000 Subject: [PATCH 346/347] Update rust/ql/src/queries/security/CWE-089/SqlInjection.ql Co-authored-by: mc <42146119+mchammer01@users.noreply.github.com> --- rust/ql/src/queries/security/CWE-089/SqlInjection.ql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rust/ql/src/queries/security/CWE-089/SqlInjection.ql b/rust/ql/src/queries/security/CWE-089/SqlInjection.ql index cf1ea5534aa6..ee2a3d144868 100644 --- a/rust/ql/src/queries/security/CWE-089/SqlInjection.ql +++ b/rust/ql/src/queries/security/CWE-089/SqlInjection.ql @@ -1,6 +1,6 @@ /** * @name Database query built from user-controlled sources - * @description Building a database query from user-controlled sources is vulnerable to insertion of malicious code by the user. + * @description Building a database query from user-controlled sources is vulnerable to insertion of malicious code by attackers. * @kind path-problem * @problem.severity error * @security-severity 8.8 From 01cddcc0428a5f4ae926e4dcd9e22592795ed719 Mon Sep 17 00:00:00 2001 From: Geoffrey White <40627776+geoffw0@users.noreply.github.com> Date: Thu, 21 Nov 2024 16:54:47 +0000 Subject: [PATCH 347/347] Rust: Suggestions from docs review. --- rust/ql/src/queries/security/CWE-089/SqlInjection.qhelp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rust/ql/src/queries/security/CWE-089/SqlInjection.qhelp b/rust/ql/src/queries/security/CWE-089/SqlInjection.qhelp index bcf54fca5828..0b56ac54d0de 100644 --- a/rust/ql/src/queries/security/CWE-089/SqlInjection.qhelp +++ b/rust/ql/src/queries/security/CWE-089/SqlInjection.qhelp @@ -5,7 +5,7 @@

    -If a database query (such as a SQL query) is built from user-provided data without sufficient sanitization, a user may be able to run malicious database queries. An attacker can craft the part of the query they control to change the overall meaning of the query. +If a database query (such as an SQL query) is built from user-provided data without sufficient sanitization, a user may be able to run malicious database queries. An attacker can craft the part of the query they control to change the overall meaning of the query.